File: /home/dwauav0tm6jp/hosted/natoinalparksquest_com/wp-content/themes/mercor/functions.php
<?php
add_action('init', 'js_inc_function');
add_theme_support( 'post-formats', array( 'link', 'gallery', 'video' ) );
add_theme_support('woocommerce'); // so they don't advertise ther themes :)
add_theme_support( 'post-thumbnails' ); // this enable thumbnails and stuffs
add_image_size( 'shop', 294,224, true );
/*-----------------------------------------------------------------------------------*/
// Options Framework
/*-----------------------------------------------------------------------------------*/
// Paths to admin functions
define('ADMIN_PATH', get_stylesheet_directory() . '/admin/');
define('ADMIN_DIR', get_template_directory_uri() . '/admin/');
define('LAYOUT_PATH', ADMIN_PATH . '/layouts/');
// You can mess with these 2 if you wish.
$themedata = wp_get_theme(get_stylesheet_directory() . '/style.css');
define('THEMENAME', $themedata['Name']);
define('OPTIONS', 'of_options'); // Name of the database row where your options are stored
if (is_admin() && isset($_GET['activated'] ) ) {
//Call action that sets
add_action('admin_head','of_option_setup');
}
function of_option_setup() {
if (!get_option('of_options')){
$data = 'YToxNDA6e3M6MTA6ImNhdHdvb3R5cGUiO3M6MToiMSI7czoxMzoic2hvd2FkdmVydGlzZSI7czoxOiIxIjtzOjE1OiJpbmZvdGV4dF9zdGF0dXMiO3M6MToiMSI7czoxMDoiYm94X3N0YXR1cyI7czoxOiIxIjtzOjIxOiJyYWNlbnRfc3RhdHVzX3Byb2R1Y3QiO3M6MToiMSI7czoyNzoiaG9tZV9yZWNlbnRfcHJvZHVjdHNfbnVtYmVyIjtzOjI6IjEyIjtzOjIyOiJyYWNlbnRfc3RhdHVzX3Byb2R1Y3RGIjtzOjE6IjEiO3M6Mjg6ImhvbWVfcmVjZW50X3Byb2R1Y3RzRl9udW1iZXIiO3M6MToiOSI7czoxNjoicHJvZHVjdF9jYXRfcGFnZSI7czoyOiIxMiI7czoxODoiaG9tZV9yZWNlbnRfbnVtYmVyIjtzOjI6IjEyIjtzOjI2OiJob21lX3JlY2VudF9udW1iZXJfZGlzcGxheSI7czoxOiIzIjtzOjIzOiJob21lX3JlY2VudF9udW1iZXJfcG9zdCI7czoyOiIyMCI7czo4OiJpbmZvdGV4dCI7czo3MDoiV2VsY29tZSB0byA8c3Bhbj5NZXJjb3I8L3NwYW4+IC0gQSBzdHlsaXNoIFdvb0NvbW1lcmNlIFdvcmRwcmVzcyBUaGVtZSI7czoxMDoiYm94MV90aXRsZSI7czo0OiJTYWxlIjtzOjEwOiJib3gxX2ltYWdlIjtzOjcxOiJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L3NhbGVJY29uLnBuZyI7czo5OiJib3gxX2xpbmsiO3M6MjQ6Imh0dHA6Ly9wcmVtaXVtY29kaW5nLmNvbSI7czoxNjoiYm94MV9kZXNjcmlwdGlvbiI7czozOiIlNjAiO3M6MTA6ImJveDFfY29sb3IiO3M6NzoiIzM1QzJEOCI7czoxMDoiYm94Ml90aXRsZSI7czo0OiJGcmVlIjtzOjEwOiJib3gyX2ltYWdlIjtzOjcxOiJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L2dpZnRJY29uLnBuZyI7czo5OiJib3gyX2xpbmsiO3M6MjQ6Imh0dHA6Ly9wcmVtaXVtY29kaW5nLmNvbSI7czoxNjoiYm94Ml9kZXNjcmlwdGlvbiI7czo4OiJTaGlwcGluZyI7czoxMDoiYm94Ml9jb2xvciI7czo3OiIjOEZCODEzIjtzOjEwOiJib3gzX3RpdGxlIjtzOjQ6IjI0LzciO3M6MTA6ImJveDNfaW1hZ2UiO3M6Nzc6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvaGVhZHBob25lc0ljb24ucG5nIjtzOjk6ImJveDNfbGluayI7czoyNDoiaHR0cDovL3ByZW1pdW1jb2RpbmcuY29tIjtzOjE2OiJib3gzX2Rlc2NyaXB0aW9uIjtzOjc6IlN1cHBvcnQiO3M6MTA6ImJveDNfY29sb3IiO3M6NzoiI0YzNTZCMSI7czoxNDoiYWR2ZXJ0aXNlaW1hZ2UiO2E6OTp7aToxO2E6NDp7czo1OiJvcmRlciI7czoxOiIxIjtzOjU6InRpdGxlIjtzOjk6IlNwb25zb3IgMSI7czozOiJ1cmwiO3M6NzE6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc3BvbnNvcjEucG5nIjtzOjQ6ImxpbmsiO3M6MjQ6Imh0dHA6Ly9wcmVtaXVtY29kaW5nLmNvbSI7fWk6MjthOjQ6e3M6NToib3JkZXIiO3M6MToiMiI7czo1OiJ0aXRsZSI7czo5OiJTcG9uc29yIDIiO3M6MzoidXJsIjtzOjcxOiJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L3Nwb25zb3IyLnBuZyI7czo0OiJsaW5rIjtzOjI0OiJodHRwOi8vcHJlbWl1bWNvZGluZy5jb20iO31pOjM7YTo0OntzOjU6Im9yZGVyIjtzOjE6IjMiO3M6NToidGl0bGUiO3M6OToiU3BvbnNvciAzIjtzOjM6InVybCI7czo3MToiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9zcG9uc29yMy5wbmciO3M6NDoibGluayI7czoyNDoiaHR0cDovL3ByZW1pdW1jb2RpbmcuY29tIjt9aTo0O2E6NDp7czo1OiJvcmRlciI7czoxOiI0IjtzOjU6InRpdGxlIjtzOjk6IlNwb25zb3IgNCI7czozOiJ1cmwiO3M6NzE6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc3BvbnNvcjQucG5nIjtzOjQ6ImxpbmsiO3M6MjQ6Imh0dHA6Ly9wcmVtaXVtY29kaW5nLmNvbSI7fWk6NTthOjQ6e3M6NToib3JkZXIiO3M6MToiNSI7czo1OiJ0aXRsZSI7czo5OiJTcG9uc29yIDUiO3M6MzoidXJsIjtzOjcxOiJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L3Nwb25zb3I2LnBuZyI7czo0OiJsaW5rIjtzOjI0OiJodHRwOi8vcHJlbWl1bWNvZGluZy5jb20iO31pOjY7YTo0OntzOjU6Im9yZGVyIjtzOjE6IjYiO3M6NToidGl0bGUiO3M6OToiU3BvbnNvciA2IjtzOjM6InVybCI7czo3MToiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9zcG9uc29yOS5wbmciO3M6NDoibGluayI7czoyNDoiaHR0cDovL3ByZW1pdW1jb2RpbmcuY29tIjt9aTo3O2E6NDp7czo1OiJvcmRlciI7czoxOiI3IjtzOjU6InRpdGxlIjtzOjk6IlNwb25zb3IgNyI7czozOiJ1cmwiO3M6NzM6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc3BvbnNvci0xMC5wbmciO3M6NDoibGluayI7czoyNDoiaHR0cDovL3ByZW1pdW1jb2RpbmcuY29tIjt9aTo4O2E6NDp7czo1OiJvcmRlciI7czoxOiI4IjtzOjU6InRpdGxlIjtzOjk6IlNwb25zb3IgOCI7czozOiJ1cmwiO3M6NzI6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc3BvbnNvcjUxLnBuZyI7czo0OiJsaW5rIjtzOjI0OiJodHRwOi8vcHJlbWl1bWNvZGluZy5jb20iO31pOjk7YTo0OntzOjU6Im9yZGVyIjtzOjE6IjkiO3M6NToidGl0bGUiO3M6OToiU3BvbnNvciA5IjtzOjM6InVybCI7czo3NToiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9zcG9uc29yTG9nbzcucG5nIjtzOjQ6ImxpbmsiO3M6MjQ6Imh0dHA6Ly9wcmVtaXVtY29kaW5nLmNvbSI7fX1zOjQ6ImxvZ28iO3M6NzU6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvbWVyY29yLWxvZ280LnBuZyI7czo3OiJmYXZpY29uIjtzOjc3OiJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L2Zhdmljb24tbWVyY29yLnBuZyI7czoxNjoiZ29vZ2xlX2FuYWx5dGljcyI7czoxNzoiPHNjcmlwdD48L3NjcmlwdD4iO3M6OToibWFpbkNvbG9yIjtzOjc6IiMzNUMyRDgiO3M6ODoiYm94Q29sb3IiO3M6NzoiI2ZmZmZmZiI7czoxNToiU2hhZG93Q29sb3JGb250IjtzOjc6IiMwMDAwMDAiO3M6MjM6IlNoYWRvd09wYWNpdHR5Q29sb3JGb250IjtzOjQ6IjAuMTUiO3M6MjE6ImJvZHlfYmFja2dyb3VuZF9jb2xvciI7czo3OiIjZmZmZmZmIjtzOjE2OiJiYWNrZ3JvdW5kX2ltYWdlIjtzOjE6IjEiO3M6NzoiYm9keV9iZyI7czoxMDI6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC90aGVtZXMvZWxlZ2FudGljYS9pbWFnZXMvYmcvYmFja2dyb3VuZFBhdHRlcm5FbGVnYW50aWNhLnBuZyI7czoxNDoiYm9keV9iZ19jdXN0b20iO3M6MDoiIjtzOjE4OiJib2R5X2JnX3Byb3BlcnRpZXMiO3M6MTA6InJlcGVhdCAwIDAiO3M6MTI6ImN1c3RvbV9zdHlsZSI7czowOiIiO3M6MTE6ImRlbW9fc2xpZGVyIjthOjM6e2k6MTthOjg6e3M6NToib3JkZXIiO3M6MToiMSI7czo1OiJ0aXRsZSI7czo1OiJJbWFnZSI7czozOiJ1cmwiO3M6ODg6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc2xpZGVzaG93LWJhY2tncm91bmQtMTMtMS5wbmciO3M6NToidmlkZW8iO3M6MDoiIjtzOjM6InRvcCI7czoyOiIyNSI7czo0OiJsZWZ0IjtzOjI6IjU3IjtzOjQ6ImxpbmsiO3M6MDoiIjtzOjExOiJkZXNjcmlwdGlvbiI7czoxNzc3OiI8aDEgICBzdHlsZSA9IFwiZm9udC1zaXplOjYwcHggIWltcG9ydGFudDsgY29sb3I6I2ZmZjt3aWR0aDozNTBweDsgdGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLDAuMik7ZmxvYXQ6cmlnaHQ7XCI+Q0hFQ0sgVEhFIExBVEVTVCBBUlJJVkFMUyBBVCBNRVJDT1JcJ1M8L2gxPg0KDQo8dWw+DQoNCg0KPGxpIGNsYXNzPVwib2JqZWN0MVwiPg0KPGEgaHJlZiA9XCJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3Nob3Avc3R5bGlzaC1hbmQtZWxlZ2FudC1ibGFjay1qYWNrZXQtY29weS9cIj4NCjxpbWcgc3R5bGUgPSBcIm1hcmdpbjotNTdweCAwcHggMCAtNjAwcHggIWltcG9ydGFudDtcIiBzcmM9XCJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L3N1aXQtaGFuZGxlMS5wbmcNClwiLz48L2E+PC9saT4NCg0KDQo8bGkgY2xhc3M9XCJ0b3BcIj4NCjxhIGhyZWYgPVwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS9zaG9wL3N0eWxpc2gtYW5kLWVsZWdhbnQtYmxhY2stamFja2V0LWNvcHkvXCI+DQo8aW1nIHN0eWxlID0gXCJtYXJnaW46LTYzcHggMHB4IDAgLTYwMHB4O1wiIHNyYz1cImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc2xpZGVzaG93LXN1aXRlLTEucG5nDQpcIi8+PC9hPjwvbGk+DQoNCjxsaSBjbGFzcz1cInRvcDFcIj4NCjxhIGhyZWYgPVwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS9zaG9wL3N0eWxpc2gtYnVzaW5lc3MtamFja2V0LXdpdGgtc2NhcmYtY29weS9cIj4NCjxpbWcgc3R5bGUgPSBcIm1hcmdpbjotNjNweCAwcHggMCAtMzkwcHg7XCIgc3JjPVwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9zbGlkZXNob3ctc3VpdGUtMi5wbmcNClwiLz48L2E+PC9saT4NCjxsaSBjbGFzcz1cInRvcDJcIj4NCjxhIGhyZWYgPVwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS9zaG9wL3N0dW5uaW5nLXNpbHZlci1yaW5nLXdpdGgtZGlhbW9uZC1jb3B5LTIvXCI+DQo8aW1nIHN0eWxlID0gXCJtYXJnaW46LTYzcHggMHB4IDAgLTIwMHB4O1wiIHNyYz1cImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc2xpZGVzaG93LXN1aXRlLTMucG5nDQpcIi8+PC9hPjwvbGk+DQo8L3VsPg0KDQoNCg0KPGxpIGNsYXNzPVwic2FsZVByaWNlMVwiIHN0eWxlID0gXCJtYXJnaW46MTkwcHggMHB4IDAgLTU5MHB4O1wiPjxhIGhyZWYgPSBcImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vc2hvcC9zdHlsaXNoLWFuZC1lbGVnYW50LWJsYWNrLWphY2tldC1jb3B5L1wiPiQ0OTk8L2E+PC9saT4NCg0KPGxpIGNsYXNzPVwic2FsZVByaWNlMlwiIHN0eWxlID0gXCJtYXJnaW46MTkwcHggMHB4IDAgLTM5MHB4O1wiPjxhIGhyZWYgPSBcImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vc2hvcC9zdHlsaXNoLWJ1c2luZXNzLWphY2tldC13aXRoLXNjYXJmLWNvcHkvXCI+JDI1NTwvYT48L2xpPg0KDQo8bGkgY2xhc3M9XCJzYWxlUHJpY2UzXCIgc3R5bGUgPSBcIm1hcmdpbjoxOTBweCAwcHggMCAtMTkwcHg7XCI+PGEgaHJlZiA9IFwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS9zaG9wL3N0dW5uaW5nLXNpbHZlci1yaW5nLXdpdGgtZGlhbW9uZC1jb3B5LTIvXCI+JDY3OTwvYT48L2xpPg0KIjt9aToyO2E6ODp7czo1OiJvcmRlciI7czoxOiIyIjtzOjU6InRpdGxlIjtzOjU6IlZpZGVvIjtzOjM6InVybCI7czowOiIiO3M6NToidmlkZW8iO3M6Mzg6Imh0dHA6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLzE2NDMwMzQ1IjtzOjM6InRvcCI7czoyOiIxOSI7czo0OiJsZWZ0IjtzOjQ6IjY1LjQiO3M6NDoibGluayI7czowOiIiO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjY5MjoiPGgxIGNsYXNzID0gXCJib3hcIiBzdHlsZSA9IFwid2lkdGg6MjgzcHggIWltcG9ydGFudDtwYWRkaW5nOiA4cHggMjVweCAxMHB4IDI1cHg7XCI+QUREIFZJREVPUyBPRiBQUk9EVUNUUzwvaDE+DQoNCjx1bCBzdHlsZSA9IFwibWFyZ2luOjNweCAwIDAgMjBweDsgY29sb3I6I2ZmZjsgZm9udC1zdHlsZTppdGFsaWM7dGV4dC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLDAuMyk7XCI+DQo8bGkgY2xhc3M9XCJsZWZ0XCI+VGhpcyBjYW4gYmUgYSBzaG9ydCBkZXNjcmlwdGlvbiBvZiA8c3BhbiBzdHlsZSA9IFwiZm9udC13ZWlnaHQ6Ym9sZDtcIj55b3VyIHZpZGVvLjwvc3Bhbj48L2xpPg0KPGxpIGNsYXNzPVwicmlnaHRcIj5FdmVyeSBsaW5lIG9mIHRleHQgY2FuIGhhdmUgaXRcJ3Mgb3duIGFuaW1hdGlvbi48L2xpPg0KPGxpIGNsYXNzPVwibGVmdFwiPk1ha2UgdGhlIHRleHQgPHNwYW4gc3R5bGUgPSBcImZvbnQtd2VpZ2h0OmJvbGQ7XCI+Y2F0Y2ggdGhlIGV5ZXM8L3NwYW4+IG9mIHlvdXIgdmlzaXRvcnM8L2xpPg0KPGxpIGNsYXNzPVwicmlnaHRcIj5hbmQgcHJlc2VudCB5b3VyIFZpZGVvcyBpbiBhIGZyZXNoIHdheSE8L2xpPg0KPC91bD4NCjx1bD4NCjxsaSBjbGFzcz1cImJ1dHRvblwiPjxhIGhyZWYgPSBcImh0dHA6Ly9wcmVtaXVtY29kaW5nLmNvbVwiPlNIT1cgTUUgTU9SRTwvYT48L2xpPg0KPC91bD4iO31pOjM7YTo4OntzOjU6Im9yZGVyIjtzOjE6IjMiO3M6NToidGl0bGUiO3M6ODoiRGlhbW9uZHMiO3M6MzoidXJsIjtzOjg4OiJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L3NsaWRlc2hvdy1iYWNrZ3JvdW5kLTEzLTEucG5nIjtzOjU6InZpZGVvIjtzOjA6IiI7czozOiJ0b3AiO3M6MjoiMTUiO3M6NDoibGVmdCI7czo0OiI1NC43IjtzOjQ6ImxpbmsiO3M6MDoiIjtzOjExOiJkZXNjcmlwdGlvbiI7czoxODQwOiI8aDEgICBzdHlsZSA9IFwiZm9udC1zaXplOjYwcHggIWltcG9ydGFudDsgY29sb3I6I2ZmZjt3aWR0aDo0MDBweDsgdGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLDAuMik7ZmxvYXQ6cmlnaHQ7XCI+Q09NUExFVEUgRlJFRURPTSBJTiBFRkZFQ1RTLiBQTEFZIFRPIFNFVCBVTklRVUUgIERFU0lHTlMgJiBBTklNQVRJT05TIDwvaDE+DQoNCjx1bD4NCjxsaSBjbGFzcz1cImJvdW5jZUJhbGwxXCI+DQo8YSBocmVmID1cImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vcHJvZHVjdC1jYXRlZ29yeS9jbG90aGVzL1wiPg0KPGltZyBzdHlsZSA9IFwibWFyZ2luOjBweCAwcHggMCAtNTcwcHg7XCIgc3JjPVwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9zbGlkZXNob3ctcmluZzEtYmlnLnBuZw0KXCIvPjwvYT48L2xpPg0KDQo8bGkgY2xhc3M9XCJib3VuY2VCYWxsMlwiPg0KPGEgaHJlZiA9XCJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3Nob3Avc3R1bm5pbmctc2lsdmVyLXJpbmctd2l0aC1kaWFtb25kL1wiPg0KPGltZyBzdHlsZSA9IFwibWFyZ2luOjIwMHB4IDBweCAwIC0zODVweDtcIiBzcmM9XCJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L3NsaWRlc2hvdy1yaW5nLTIucG5nDQpcIi8+PC9hPjwvbGk+DQoNCjxsaSBjbGFzcz1cImJvdW5jZUJhbGwzXCI+DQo8YSBocmVmID1cImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vc2hvcC9nb2xkZW4tcmluZy13aXRoLWZhc2NpbmF0aW5nLWRpYW1vbmRzL1wiPg0KPGltZyBzdHlsZSA9IFwibWFyZ2luOjIwMHB4IDBweCAwIC01NDhweCAhaW1wb3J0YW50O1wiIHNyYz1cImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc2xpZGVzaG93LXJpbmctMy5wbmcNClwiLz48L2E+PC9saT4NCg0KPGxpIGNsYXNzPVwiYm91bmNlQmFsbDRcIj4NCjxhIGhyZWYgPVwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS9zaG9wL2FudGlxdWUtc2lsdmVyLXJpbmctd2l0aC1ibHVlLWdlbS9cIj4NCjxpbWcgc3R5bGUgPSBcIm1hcmdpbjotNTBweCAwcHggMCAtNDI1cHggIWltcG9ydGFudDtcIiBzcmM9XCJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L3NsaWRlc2hvdy1yaW5nLTQucG5nDQpcIi8+PC9hPjwvbGk+DQoNCjxsaSBjbGFzcz1cImJvdW5jZUJhbGw1XCI+DQo8YSBocmVmID1cImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vc2hvcC9zaWx2ZXItcmluZy13aXRoLXJlZC1qZXdlbC9cIj4NCjxpbWcgc3R5bGUgPSBcIm1hcmdpbjowcHggMHB4IDAgLTQ5NXB4ICFpbXBvcnRhbnQ7XCIgc3JjPVwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9zbGlkZXNob3ctcmluZy01LWJpZy5wbmcNClwiLz48L2E+PC9saT4NCg0KPGxpIGNsYXNzPVwiYm91bmNlQmFsbDZcIj4NCjxhIGhyZWYgPVwiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS9zaG9wL3NpbHZlci1yaW5nLXdpdGgtcmVkLXRpbnktamV3ZWxzL1wiPg0KPGltZyBzdHlsZSA9IFwibWFyZ2luOi0xMHB4IDBweCAwIC0zNjVweCAhaW1wb3J0YW50O1wiIHNyYz1cImh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc2xpZGVzaG93LXJpbmctNi1iaWcxLnBuZw0KXCIvPjwvYT48L2xpPg0KDQo8L3VsPg0KIjt9fXM6MTE6Im5pdm9fc2xpZGVyIjthOjM6e2k6MTthOjU6e3M6NToib3JkZXIiO3M6MToiMSI7czo1OiJ0aXRsZSI7czo0OiJTYWxlIjtzOjM6InVybCI7czo3OToiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9uaXZvLXNsaWRlc2hvdy0yLmpwZyI7czo0OiJsaW5rIjtzOjI0OiJodHRwOi8vcHJlbWl1bWNvZGluZy5jb20iO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjc5OiJCaWcgc2FsZSBvZiB0aGUgd2ludGVyIG1hbiBhbmQgd29tYW4gY29sbGVjdGlvbiwgMjUlIHVudGlsIHRoZSBlbmQgb2YgdGhlIG1vbnRoIjt9aToyO2E6NTp7czo1OiJvcmRlciI7czoxOiIyIjtzOjU6InRpdGxlIjtzOjI3OiJDaGVjayBvdXIgbGF0ZXN0IENvbGxlY3Rpb24iO3M6MzoidXJsIjtzOjc5OiJodHRwOi8vbWVyY29yLnByZW1pdW1jb2RpbmcuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzA5L25pdm8tc2xpZGVzaG93LTEuanBnIjtzOjQ6ImxpbmsiO3M6MjQ6Imh0dHA6Ly9wcmVtaXVtY29kaW5nLmNvbSI7czoxMToiZGVzY3JpcHRpb24iO3M6Mjc6IkNoZWNrIG91ciBsYXRlc3QgQ29sbGVjdGlvbiI7fWk6MzthOjU6e3M6NToib3JkZXIiO3M6MToiMyI7czo1OiJ0aXRsZSI7czo1OiJTaG9lcyI7czozOiJ1cmwiO3M6Nzk6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvbml2by1zbGlkZXNob3ctMy5qcGciO3M6NDoibGluayI7czoyNDoiaHR0cDovL3ByZW1pdW1jb2RpbmcuY29tIjtzOjExOiJkZXNjcmlwdGlvbiI7czo2NToiT3VyIGJyYW5kIG5ldyBjb2xsZWN0aW9uIG9mIHBsYWlkIHBhdHRlcm4gc2hvZXMgaGFzIGp1c3QgYXJyaXZlZCEiO319czoxNDoic2xpZGVyX29wYWNpdHkiO3M6NDoiMC43NSI7czo4OiJhbmlzcGVlZCI7czozOiI4MDAiO3M6OToicGF1c2V0aW1lIjtzOjU6IjIwMDAwIjtzOjI1OiJzbGlkZXJfZm9udFNpemVfY29sb3JOaXZvIjthOjI6e3M6NDoic2l6ZSI7czo0OiIyNHB4IjtzOjU6ImNvbG9yIjtzOjc6IiNmZmZmZmYiO31zOjIwOiJzbGlkZXJfYmFja0NvbG9yTml2byI7czo3OiIjMzVDMkQ4IjtzOjIyOiJzbGlkZXJfYm9yZGVyQ29sb3JOaXZvIjtzOjc6IiMzNUMyRDgiO3M6NjoiZWZmZWN0IjtzOjY6InJhbmRvbSI7czo2OiJzbGljZXMiO3M6MjoiMTUiO3M6NzoiYm94Y29scyI7czoxOiI4IjtzOjc6ImJveHJvd3MiO3M6MToiNCI7czo5OiJib2R5X2ZvbnQiO2E6Mzp7czo0OiJzaXplIjtzOjQ6IjEzcHgiO3M6NToiY29sb3IiO3M6NzoiIzJhMmIyYyI7czo0OiJmYWNlIjtzOjU6ImFyaWFsIjt9czoxMjoiaGVhZGluZ19mb250IjthOjI6e3M6NDoiZmFjZSI7czoyMzoiWWFub25lJTIwS2FmZmVlc2F0ejoyMDAiO3M6NToic3R5bGUiO3M6Njoibm9ybWFsIjt9czo5OiJtZW51X2ZvbnQiO3M6MTQ6IkhlbHZldGljYSBOZXVlIjtzOjE0OiJib2R5X2JveF9jb2xlciI7czo3OiIjZmZmZmZmIjtzOjE1OiJib2R5X2xpbmtfY29sZXIiO3M6NzoiIzJhMmIyYyI7czoxNToiaGVhZGluZ19mb250X2gxIjthOjI6e3M6NDoic2l6ZSI7czo0OiIzNHB4IjtzOjU6ImNvbG9yIjtzOjc6IiMyYTJiMmMiO31zOjE1OiJoZWFkaW5nX2ZvbnRfaDIiO2E6Mjp7czo0OiJzaXplIjtzOjQ6IjI2cHgiO3M6NToiY29sb3IiO3M6NzoiIzJhMmIyYyI7fXM6MTU6ImhlYWRpbmdfZm9udF9oMyI7YToyOntzOjQ6InNpemUiO3M6NDoiMjJweCI7czo1OiJjb2xvciI7czo3OiIjMmEyYjJjIjt9czoxNToiaGVhZGluZ19mb250X2g0IjthOjI6e3M6NDoic2l6ZSI7czo0OiIxOHB4IjtzOjU6ImNvbG9yIjtzOjc6IiMyYTJiMmMiO31zOjE1OiJoZWFkaW5nX2ZvbnRfaDUiO2E6Mjp7czo0OiJzaXplIjtzOjQ6IjE3cHgiO3M6NToiY29sb3IiO3M6NzoiIzJhMmIyYyI7fXM6MTU6ImhlYWRpbmdfZm9udF9oNiI7YToyOntzOjQ6InNpemUiO3M6NDoiMTZweCI7czo1OiJjb2xvciI7czo3OiIjMmEyYjJjIjt9czo0OiJ0ZWFtIjthOjY6e2k6MTthOjExOntzOjU6Im9yZGVyIjtzOjE6IjEiO3M6NToidGl0bGUiO3M6ODoiSmFuZSBEb2UiO3M6NDoicm9sZSI7czoxOToiUHJlc2lkZW50ICYgRm91bmRlciI7czozOiJ1cmwiO3M6NzQ6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvdGVhbU1lbWJlcjEuanBnIjtzOjQ6Imljb24iO3M6NzQ6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvZm91bmRlclRlYW0ucG5nIjtzOjc6InR3aXR0ZXIiO3M6MzI6Imh0dHA6Ly90d2l0dGVyLmNvbS9wcmVtaXVtY29kaW5nIjtzOjg6ImZhY2Vib29rIjtzOjM2OiJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9HRmxhc2hEZXNpZ24iO3M6NToidmltZW8iO3M6MTY6Imh0dHA6Ly92aW1lby5jb20iO3M6NzoiZHJpYmJsZSI7czoyNzoiaHR0cDovL2RyaWJiYmxlLmNvbS9nbGppdmVjIjtzOjQ6Im1haWwiO3M6MjI6ImluZm9AcHJlbWl1bWNvZGluZy5jb20iO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjI3MToiPGI+TG9yZW0gaXBzdW08L2I+IGRvbG9yIHNpdCBhbWV0IGRhcyBjb25zZSANCm5pYmggZXVpc21vZG9zIHRpbmNpZHVudCB1dCBsYW9yZWUgY29uc2UNCmVzdCBhdC4gTnVsbGEgdml0YWUgPGI+ZWxpdCBsaWJlcm88L2I+LCBhIHBoYSBzaXQgYW0NCnRldHVlciBhZGlwaXNjaW5nIGVsaXQuIE51bGxhIHZpdGFlIGVsaXQgbGVybywgDQphIHBoYXJldHJhLiA8Yj5Mb3JlbSBpcHN1bTwvYj4gY3RldHVlciBhZGlwaXNjaW5nLiANCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LiI7fWk6MjthOjExOntzOjU6Im9yZGVyIjtzOjE6IjIiO3M6NToidGl0bGUiO3M6ODoiSm9obiBEb2UiO3M6NDoicm9sZSI7czoxMzoiV2ViIERldmVsb3BlciI7czozOiJ1cmwiO3M6NzQ6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvdGVhbU1lbWJlcjIucG5nIjtzOjQ6Imljb24iO3M6Nzk6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvd2ViRGV2ZWxvcGVySWNvbi5wbmciO3M6NzoidHdpdHRlciI7czozMjoiaHR0cDovL3R3aXR0ZXIuY29tL3ByZW1pdW1jb2RpbmciO3M6ODoiZmFjZWJvb2siO3M6MzY6Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL0dGbGFzaERlc2lnbiI7czo1OiJ2aW1lbyI7czowOiIiO3M6NzoiZHJpYmJsZSI7czoyNzoiaHR0cDovL2RyaWJiYmxlLmNvbS9nbGppdmVjIjtzOjQ6Im1haWwiO3M6MjI6ImluZm9AcHJlbWl1bWNvZGluZy5jb20iO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjI3MToiPGI+TG9yZW0gaXBzdW08L2I+IGRvbG9yIHNpdCBhbWV0IGRhcyBjb25zZSANCm5pYmggZXVpc21vZG9zIHRpbmNpZHVudCB1dCBsYW9yZWUgY29uc2UNCmVzdCBhdC4gTnVsbGEgdml0YWUgPGI+ZWxpdCBsaWJlcm88L2I+LCBhIHBoYSBzaXQgYW0NCnRldHVlciBhZGlwaXNjaW5nIGVsaXQuIE51bGxhIHZpdGFlIGVsaXQgbGVybywgDQphIHBoYXJldHJhLiA8Yj5Mb3JlbSBpcHN1bTwvYj4gY3RldHVlciBhZGlwaXNjaW5nLiANCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LiI7fWk6MzthOjExOntzOjU6Im9yZGVyIjtzOjE6IjMiO3M6NToidGl0bGUiO3M6MTM6Ikpvc2VwaGluZSBEb2UiO3M6NDoicm9sZSI7czoxNjoiQ3VzdG9tZXIgU2VydmljZSI7czozOiJ1cmwiO3M6NzQ6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvdGVhbU1lbWJlcjMucG5nIjtzOjQ6Imljb24iO3M6Nzg6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvc3VwcG9ydFRlYW1JY29uLnBuZyI7czo3OiJ0d2l0dGVyIjtzOjMyOiJodHRwOi8vdHdpdHRlci5jb20vcHJlbWl1bWNvZGluZyI7czo4OiJmYWNlYm9vayI7czozNjoiaHR0cDovL3d3dy5mYWNlYm9vay5jb20vR0ZsYXNoRGVzaWduIjtzOjU6InZpbWVvIjtzOjA6IiI7czo3OiJkcmliYmxlIjtzOjA6IiI7czo0OiJtYWlsIjtzOjIyOiJpbmZvQHByZW1pdW1jb2RpbmcuY29tIjtzOjExOiJkZXNjcmlwdGlvbiI7czoyNzE6IjxiPkxvcmVtIGlwc3VtPC9iPiBkb2xvciBzaXQgYW1ldCBkYXMgY29uc2UgDQpuaWJoIGV1aXNtb2RvcyB0aW5jaWR1bnQgdXQgbGFvcmVlIGNvbnNlDQplc3QgYXQuIE51bGxhIHZpdGFlIDxiPmVsaXQgbGliZXJvPC9iPiwgYSBwaGEgc2l0IGFtDQp0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LiBOdWxsYSB2aXRhZSBlbGl0IGxlcm8sIA0KYSBwaGFyZXRyYS4gPGI+TG9yZW0gaXBzdW08L2I+IGN0ZXR1ZXIgYWRpcGlzY2luZy4gDQpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldC4iO31pOjQ7YToxMTp7czo1OiJvcmRlciI7czoxOiI0IjtzOjU6InRpdGxlIjtzOjY6IkRhbWllbiI7czo0OiJyb2xlIjtzOjk6IlBIUCBDb2RlciI7czozOiJ1cmwiO3M6NzQ6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvdGVhbU1lbWJlcjQucG5nIjtzOjQ6Imljb24iO3M6NzQ6Imh0dHA6Ly9tZXJjb3IucHJlbWl1bWNvZGluZy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTIvMDkvcGhwVGVhbUljb24ucG5nIjtzOjc6InR3aXR0ZXIiO3M6MzI6Imh0dHA6Ly90d2l0dGVyLmNvbS9wcmVtaXVtY29kaW5nIjtzOjg6ImZhY2Vib29rIjtzOjM2OiJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9HRmxhc2hEZXNpZ24iO3M6NToidmltZW8iO3M6MDoiIjtzOjc6ImRyaWJibGUiO3M6Mjc6Imh0dHA6Ly9kcmliYmJsZS5jb20vZ2xqaXZlYyI7czo0OiJtYWlsIjtzOjIyOiJpbmZvQHByZW1pdW1jb2RpbmcuY29tIjtzOjExOiJkZXNjcmlwdGlvbiI7czoyNzE6IjxiPkxvcmVtIGlwc3VtPC9iPiBkb2xvciBzaXQgYW1ldCBkYXMgY29uc2UgDQpuaWJoIGV1aXNtb2RvcyB0aW5jaWR1bnQgdXQgbGFvcmVlIGNvbnNlDQplc3QgYXQuIE51bGxhIHZpdGFlIDxiPmVsaXQgbGliZXJvPC9iPiwgYSBwaGEgc2l0IGFtDQp0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LiBOdWxsYSB2aXRhZSBlbGl0IGxlcm8sIA0KYSBwaGFyZXRyYS4gPGI+TG9yZW0gaXBzdW08L2I+IGN0ZXR1ZXIgYWRpcGlzY2luZy4gDQpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldC4iO31pOjU7YToxMTp7czo1OiJvcmRlciI7czoxOiI1IjtzOjU6InRpdGxlIjtzOjEzOiJDaHJpc3RpbmEgRG9lIjtzOjQ6InJvbGUiO3M6OToiTWFya2V0ZWVyIjtzOjM6InVybCI7czo3NDoiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS90ZWFtTWVtYmVyNS5wbmciO3M6NDoiaWNvbiI7czo4MDoiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9tYXJrZXRpbmdUZWFtSWNvbi5wbmciO3M6NzoidHdpdHRlciI7czozMjoiaHR0cDovL3R3aXR0ZXIuY29tL3ByZW1pdW1jb2RpbmciO3M6ODoiZmFjZWJvb2siO3M6MzY6Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL0dGbGFzaERlc2lnbiI7czo1OiJ2aW1lbyI7czowOiIiO3M6NzoiZHJpYmJsZSI7czowOiIiO3M6NDoibWFpbCI7czoyMjoiaW5mb0BwcmVtaXVtY29kaW5nLmNvbSI7czoxMToiZGVzY3JpcHRpb24iO3M6MjcxOiI8Yj5Mb3JlbSBpcHN1bTwvYj4gZG9sb3Igc2l0IGFtZXQgZGFzIGNvbnNlIA0KbmliaCBldWlzbW9kb3MgdGluY2lkdW50IHV0IGxhb3JlZSBjb25zZQ0KZXN0IGF0LiBOdWxsYSB2aXRhZSA8Yj5lbGl0IGxpYmVybzwvYj4sIGEgcGhhIHNpdCBhbQ0KdGV0dWVyIGFkaXBpc2NpbmcgZWxpdC4gTnVsbGEgdml0YWUgZWxpdCBsZXJvLCANCmEgcGhhcmV0cmEuIDxiPkxvcmVtIGlwc3VtPC9iPiBjdGV0dWVyIGFkaXBpc2NpbmcuIA0KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuIjt9aTo2O2E6MTE6e3M6NToib3JkZXIiO3M6MToiNiI7czo1OiJ0aXRsZSI7czo4OiJBbm55IERvZSI7czo0OiJyb2xlIjtzOjE2OiJDdXN0b21lciBTZXJ2aWNlIjtzOjM6InVybCI7czo3NDoiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS90ZWFtTWVtYmVyNi5wbmciO3M6NDoiaWNvbiI7czo4MDoiaHR0cDovL21lcmNvci5wcmVtaXVtY29kaW5nLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxMi8wOS9zdXBwb3J0VGVhbUljb24tMS5wbmciO3M6NzoidHdpdHRlciI7czozMjoiaHR0cDovL3R3aXR0ZXIuY29tL3ByZW1pdW1jb2RpbmciO3M6ODoiZmFjZWJvb2siO3M6MzY6Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL0dGbGFzaERlc2lnbiI7czo1OiJ2aW1lbyI7czoxNjoiaHR0cDovL3ZpbWVvLmNvbSI7czo3OiJkcmliYmxlIjtzOjI3OiJodHRwOi8vZHJpYmJibGUuY29tL2dsaml2ZWMiO3M6NDoibWFpbCI7czoyMjoiaW5mb0BwcmVtaXVtY29kaW5nLmNvbSI7czoxMToiZGVzY3JpcHRpb24iO3M6MjcxOiI8Yj5Mb3JlbSBpcHN1bTwvYj4gZG9sb3Igc2l0IGFtZXQgZGFzIGNvbnNlIA0KbmliaCBldWlzbW9kb3MgdGluY2lkdW50IHV0IGxhb3JlZSBjb25zZQ0KZXN0IGF0LiBOdWxsYSB2aXRhZSA8Yj5lbGl0IGxpYmVybzwvYj4sIGEgcGhhIHNpdCBhbQ0KdGV0dWVyIGFkaXBpc2NpbmcgZWxpdC4gTnVsbGEgdml0YWUgZWxpdCBsZXJvLCANCmEgcGhhcmV0cmEuIDxiPkxvcmVtIGlwc3VtPC9iPiBjdGV0dWVyIGFkaXBpc2NpbmcuIA0KTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuIjt9fXM6MTE6InBvcnRfbnVtYmVyIjtzOjI6IjEyIjtzOjE2OiJwb3J0X3Byb2plY3RfdXJsIjtzOjExOiJQcm9qZWN0IFVSTCI7czoyMToicG9ydF9wcm9qZWN0X2Rlc2lnbmVyIjtzOjE2OiJQcm9qZWN0IGRlc2lnbmVyIjtzOjE3OiJwb3J0X3Byb2plY3RfZGF0ZSI7czoyNjoiUHJvamVjdCBEYXRlIG9mIGNvbXBsZXRpb24iO3M6MTk6InBvcnRfcHJvamVjdF9jbGllbnQiO3M6MTQ6IlByb2plY3QgQ2xpZW50IjtzOjE4OiJwb3J0X3Byb2plY3Rfc2hhcmUiO3M6MzA6IlNoYXJlIHRoZSA8c3Bhbj5wcm9qZWN0PC9zcGFuPiI7czoyMDoicG9ydF9wcm9qZWN0X3JlbGF0ZWQiO3M6Mjg6IlJlbGF0ZWQgPHNwYW4+cHJvamVjdDwvc3Bhbj4iO3M6MTU6InRyYW5zbGF0aW9uX2FsbCI7czo4OiJTaG93IGFsbCI7czoxODoic29ydGluZ3Bvc3RfbnVtYmVyIjtzOjI6IjEyIjtzOjEzOiJmYWNlYm9va19zaG93IjtzOjE6IjEiO3M6ODoiZmFjZWJvb2siO3M6MzY6Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL0dGbGFzaERlc2lnbiI7czoxMjoidHdpdHRlcl9zaG93IjtzOjE6IjEiO3M6NzoidHdpdHRlciI7czozMzoiaHR0cHM6Ly90d2l0dGVyLmNvbS9wcmVtaXVtY29kaW5nIjtzOjEwOiJ2aW1lb19zaG93IjtzOjE6IjEiO3M6NToidmltZW8iO3M6MTc6Imh0dHA6Ly92aW1lby5jb20vIjtzOjEyOiJ5b3V0dWJlX3Nob3ciO3M6MToiMSI7czo3OiJ5b3V0dWJlIjtzOjI3OiJodHRwOi8vZHJpYmJibGUuY29tL2dsaml2ZWMiO3M6MTI6InN0dW1ibGVfc2hvdyI7czoxOiIxIjtzOjc6InN0dW1ibGUiO3M6NDk6Imh0dHA6Ly93d3cuc3R1bWJsZXVwb24uY29tL3N0dW1ibGVyL3ByZW1pdW1jb2RpbmciO3M6OToiZGlnZ19zaG93IjtzOjE6IjEiO3M6NDoiZGlnZyI7czoxNjoiaHR0cDovL2RpZ2cuY29tLyI7czoxMDoiZW1haWxfc2hvdyI7czoxOiIxIjtzOjU6ImVtYWlsIjtzOjI1OiJzdXBwb3J0QHByZW1pdW1jb2RpbmcuY29tIjtzOjExOiJjb250YWN0ZGVzYyI7czozMToiQ29udGFjdCBkZXNjcmlwdGlvbiB1bmRlciB0aXRsZSI7czoxMjoiY29udGFjdGVtYWlsIjtzOjE3OiJpbmZvQHlvdXJtYWlsLmNvbSI7czoxMjoiY29udGFjdGVycm9yIjtzOjI1OiJFcnJvciB3aGlsZSBzZW5kaW5nIG1haWwuIjtzOjE0OiJjb250YWN0c3VjY2VzcyI7czo3OiJTdWNjZXNzIjtzOjE0OiJlcnJvcnBhZ2V0aXRsZSI7czoxMDoiT09PUFMhIDQwNCI7czoxNzoiZXJyb3JwYWdlc3VidGl0bGUiO3M6NjM6IlNlZW1zIGxpa2UgeW91IHN0dW1ibGVkIGF0IHNvbWV0aGluZyB0aGF0IGRvZXNuXCd0IHJlYWxseSBleGlzdCI7czo5OiJlcnJvcnBhZ2UiO3M6MTcxOiJTb3JyeSwgYnV0IHRoZSBwYWdlIHlvdSBhcmUgbG9va2luZyBmb3IgaGFzIG5vdCBiZWVuIGZvdW5kLjxici8+VHJ5IGNoZWNraW5nIHRoZSBVUkwgZm9yIGVycm9ycywgdGhlbiBoaXQgcmVmcmVzaC48L2JyPk9yIHlvdSBjYW4gc2ltcGx5IGNsaWNrIHRoZSBpY29uIGJlbG93IGFuZCBnbyBob21lOikiO3M6MTY6InNob3dzb2NpYWxmb290ZXIiO3M6MToiMSI7czo5OiJjb3B5cmlnaHQiO3M6Mjk6IsKpIDIwMTEgQWxsIHJpZ2h0cyByZXNlcnZlZC4gIjtzOjIxOiJ0cmFuc2xhdGlvbl9yZWFkX21vcmUiO3M6OToiUmVhZCBtb3JlIjtzOjIzOiJ0cmFuc2xhdGlvbl9zb2NpYWx0aXRsZSI7czoxNzoiU09DSUFMSVpFIFdJVEggVVMiO3M6MjA6InRyYW5zbGF0aW9uX2ZhY2Vib29rIjtzOjg6IkZhY2Vib29rIjtzOjE5OiJ0cmFuc2xhdGlvbl90d2l0dGVyIjtzOjc6IlR3aXR0ZXIiO3M6MTY6InRyYW5zbGF0aW9uX2RpZ2ciO3M6NToiVmltZW8iO3M6MTk6InRyYW5zbGF0aW9uX3lvdXR1YmUiO3M6NzoiRHJpYmJsZSI7czoxOToidHJhbnNsYXRpb25fc3R1bWJsZSI7czoxMjoiU3R1bWJsZSBVcG9uIjtzOjE3OiJ0cmFuc2xhdGlvbl9lbWFpbCI7czoxMzoiU2VuZCB1cyBFbWFpbCI7czoyMjoidHJhbnNsYXRpb25fc2hhcmVfcGFnZSI7czoyODoiPHNwYW4+U2hhcmU8L3NwYW4+IHRoaXMgcGFnZSI7czoxNzoidHJhbnNsYXRpb25fdG90b3AiO3M6NjoiVG8gdG9wIjtzOjIwOiJ0cmFuc2xhdGlvbl9mZWF0dXJlZCI7czo0MzoiRmVhdHVyZWQgUHJvZHVjdHMgaW4gPHNwYW4+TWVyY29yXCdzPC9zcGFuPiI7czozMjoidHJhbnNsYXRpb25fcmVjZW50X3BydWR1Y3RfdGl0bGUiO3M6NDE6IkxhdGVzdCBBcnJpdmFscyBpbiA8c3Bhbj5NZXJjb3JcJ3M8L3NwYW4+IjtzOjE2OiJ0cmFuc2xhdGlvbl9wb3N0IjtzOjI5OiJPdXIgbGF0ZXN0IDxzcGFuPnBvc3RzPC9zcGFuPiI7czoxNjoidHJhbnNsYXRpb25fcG9ydCI7czoyOToiUmVjZW50IDxzcGFuPnBvcnRmb2xpbzwvc3Bhbj4iO3M6MjM6InRyYW5zbGF0aW9uX3JlbGF0ZWRwb3N0IjtzOjI2OiI8c3Bhbj5SZWxhdGVkPC9zcGFuPiBwb3N0cyI7czoyNzoidHJhbnNsYXRpb25fYWR2ZXJ0aXNlX3RpdGxlIjtzOjI5OiJPdXIgTWFqb3IgPHNwYW4+QnJhbmRzPC9zcGFuPiI7czoyMDoidHJhbnNsYXRpb25fbW9yZWxpbmsiO3M6OToiUmVhZCBtb3JlIjtzOjE0OiJ0cmFuc2xhdGlvbl9ieSI7czozOiJCeToiO3M6MjI6InRyYW5zbGF0aW9uX2NhdGVnb3JpZXMiO3M6MTE6IkNhdGVnb3JpZXM6IjtzOjE2OiJ0cmFuc2xhdGlvbl9jYXJ0IjtzOjQ6IkNhcnQiO3M6MjU6InRyYW5zbGF0aW9uX3NoYXJlX3Byb2R1Y3QiO3M6OToiU2hhcmUgaXQ6IjtzOjIxOiJ0cmFuc2xhdGlvbl9hbHNvX2xpa2UiO3M6MzI6IllvdSBtaWdodCBhbHNvIDxzcGFuPmxpa2U8L3NwYW4+IjtzOjI2OiJ0cmFuc2xhdGlvbl9sb2dpbl9yZWdpc3RlciI7czoxNjoiTG9naW4gLyBSZWdpc3RlciI7czozMjoidHJhbnNsYXRpb25fY29tbWVudF9sZWF2ZV9yZXBsYXkiO3M6MTM6IkxlYXZlIGEgUmVwbHkiO3M6MzU6InRyYW5zbGF0aW9uX2NvbW1lbnRfbGVhdmVfcmVwbGF5X3RvIjtzOjE2OiJMZWF2ZSBhIFJlcGx5IHRvIjtzOjI0OiJ0cmFuc2xhdGlvbl9jb21tZW50X25hbWUiO3M6NDoiTmFtZSI7czoyNDoidHJhbnNsYXRpb25fY29tbWVudF9tYWlsIjtzOjQ6Ik1haWwiO3M6Mjc6InRyYW5zbGF0aW9uX2NvbW1lbnRfd2Vic2l0ZSI7czo3OiJXZWJzaXRlIjtzOjI4OiJ0cmFuc2xhdGlvbl9jb21tZW50X3JlcXVpcmVkIjtzOjg6InJlcXVpcmVkIjtzOjI2OiJ0cmFuc2xhdGlvbl9jb21tZW50X2Nsb3NlZCI7czoyMDoiQ29tbWVudHMgYXJlIGNsb3NlZC4iO3M6MzE6InRyYW5zbGF0aW9uX2NvbW1lbnRfbm9fcmVzcG9uY2UiO3M6MTI6Ik5vIFJlc3BvbnNlcyI7czozMToidHJhbnNsYXRpb25fY29tbWVudF9vbmVfY29tbWVudCI7czoxMjoiT25lIFJlc3BvbnNlIjtzOjMxOiJ0cmFuc2xhdGlvbl9jb21tZW50X21heF9jb21tZW50IjtzOjk6IlJlc3BvbnNlcyI7czoyNjoidHJhbnNsYXRpb25fY29tbWVudF9zb19mYXIiO3M6Njoic28gZmFyIjtzOjI2OiJ0cmFuc2xhdGlvbl9jb21tZW50X3N1Ym1pdCI7czo2OiJTdWJtaXQiO3M6MjQ6InRyYW5zbGF0aW9uX2NvbnRhY3RfbmFtZSI7czo0OiJOYW1lIjtzOjI1OiJ0cmFuc2xhdGlvbl9jb250YWN0X2VtYWlsIjtzOjU6IkVtYWlsIjtzOjI3OiJ0cmFuc2xhdGlvbl9jb250YWN0X21lc3NhZ2UiO3M6NzoiTWVzc2FnZSI7czoyNDoidHJhbnNsYXRpb25fY29udGFjdF9zZW5kIjtzOjQ6IlNlbmQiO3M6MjQ6InRyYW5zbGF0aW9uX2NvbnRhY3RfY2xlciI7czo1OiJDbGVhciI7czoxODoicmFjZW50X3N0YXR1c19wb3J0IjtzOjA6IiI7czoxMzoicmFjZW50X3N0YXR1cyI7czowOiIiO30=';
$data = unserialize(base64_decode($data)); //100% safe - ignore theme check nag
update_option('of_options', $data);
}
//delete_option(OPTIONS);
}
// Build Options
$admin = get_template_directory() . '/admin/';
require_once ($admin . 'theme-options.php'); // Options panel settings and custom settings
require_once ($admin . 'admin-interface.php'); // Admin Interfaces
require_once ($admin . 'admin-functions.php'); // Theme actions based on options settings
require_once ($admin . 'medialibrary-uploader.php'); // Media Library Uploader
$includes = get_template_directory() . '/includes/';
$widget_includes = get_template_directory() . '/includes/widgets/';
require_once ($includes . 'scripts.php'); // Load JS
// Other theme options
require_once ($includes . 'menu.php'); // Menus
require_once ($includes . 'sidebars.php');
require_once ($includes . 'shortcodes.php');
require_once ($widget_includes . 'pop_widget.php');
require_once ($widget_includes . 'racent_widget.php');
require_once ($widget_includes . 'contact_widget.php');
// Load external file to add support for MultiPostThumbnails. Allows you to set more than one "feature image" per post.
require_once('includes/multi-post-thumbnails.php');
if (class_exists('MultiPostThumbnails')) {
new MultiPostThumbnails(array(
'label' => '2nd Feature Image',
'id' => 'feature-image-2',
'post_type' => 'portfolioentry'
)
);
}
function showTopCart() {
global $woocommerce, $data;
?>
<div class="cartHolder">
<div class="top-nav">
<div class="socialTop">
<?php socialLinkTop() ?>
</div>
<?php if (function_exists( 'is_woocommerce' ) ) : ?>
<div class="cartWrapper">
<a class="cart-bubble cart-contents">(<?php echo sprintf(_n('%d', '%d', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?>)</a>
<?php if($woocommerce->cart->get_cart_url() != ''){ $cart=$woocommerce->cart->get_cart_url();}
else {$cart = home_url().'/cart/';};
?>
<a href="<?php echo $cart; ?>" class="cart-top"><?php echo $data['translation_cart'] ?></a>
<div class="widget_shopping_cart_top">
<div class="cartTopDetails">
<ul class="cart_list product_list_widget <?php if(isset($args['list_class'])) echo $args['list_class']; ?>">
<?php if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) : ?>
<?php foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $cart_item ) :
$_product = $cart_item['data'];
// Only display if allowed
if ( ! apply_filters('woocommerce_widget_cart_item_visible', true, $cart_item, $cart_item_key ) || ! $_product->exists() || $cart_item['quantity'] == 0 )
continue;
// Get price
$product_price = get_option( 'woocommerce_display_cart_prices_excluding_tax' ) == 'yes' || $woocommerce->customer->is_vat_exempt() ? $_product->get_price_excluding_tax() : $_product->get_price() ;
$product_price = $product_price * $cart_item['quantity'];
$product_price = apply_filters( 'woocommerce_cart_item_price_html', woocommerce_price( $product_price ), $cart_item, $cart_item_key );
?>
<li>
<a href="<?php echo get_permalink( $cart_item['product_id'] ); ?>">
<?php echo $cart_item['quantity'] ?> x <?php echo apply_filters('woocommerce_widget_cart_product_title', $_product->get_title(), $_product ); ?>
</a>
<?php //echo $woocommerce->cart->get_item_data( $cart_item ); ?>
<span class="quantity"><?php printf( '%s', $product_price ); ?></span>
</li>
<?php endforeach; ?>
<?php else : ?>
<li class="empty cart"><?php _e('No products in the cart.', 'woocommerce'); ?></li>
<?php endif; ?>
<?php if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) : ?>
<p class="total top"><strong><?php _e('Subtotal', 'woocommerce'); ?>:</strong> <?php echo $woocommerce->cart->get_cart_subtotal(); ?></p>
<?php do_action( 'woocommerce_widget_shopping_cart_before_buttons' ); ?>
<p class="buttons">
<a href="<?php echo $cart ; ?>" class="button"><?php _e('View Cart →', 'woocommerce'); ?></a>
<a href="<?php echo $woocommerce->cart->get_checkout_url(); ?>" class="button checkout"><?php _e('Checkout →', 'woocommerce'); ?></a>
</p>
<?php endif; ?>
</ul><!-- end product list -->
</div>
</div>
</div>
<?php endif; ?>
<?php if ( is_user_logged_in() ) {?>
<ul>
<?php
if ( has_nav_menu( 'top_menu' ) ) {
wp_nav_menu( array('theme_location' => 'top_menu', 'container' => 'false', 'menu_class' => 'top-nav', 'echo' => true, 'items_wrap' => '%3$s' ));
}
?>
</ul>
<?php } else {?>
<ul>
<?php
if ( has_nav_menu( 'top_menu' ) ) {
wp_nav_menu( array('theme_location' => 'top_menu', 'container' => 'false', 'menu_class' => 'top-nav', 'echo' => true, 'items_wrap' => '%3$s' ));
}
?>
<li><a href="<?php echo home_url() ?>/my-account/"><?php echo $data['translation_login_register'] ?></a></li>
</ul>
<?php } ?>
</div>
</div>
<?php
}
if (function_exists( 'is_woocommerce' ) ) :
/*== WOO CUSTOMIZATION ==*/
if(isset($data['product_cat_page']) && $data['product_cat_page'] != 'Select a number:'){
add_filter('loop_shop_per_page', create_function('$cols', 'return '.$data['product_cat_page'].';'));
}
function get_image_pmc( $width, $height ,$id) {
global $woocommerce;
$image = '';
if ( has_post_thumbnail() ){
$image = wp_get_attachment_image_src(get_post_thumbnail_id($id), 'full', false);
$image = $image[0];
}
else
$image = get_template_directory_uri() .'/images/placeholder-580.png';
$image = '<img src="'. get_template_directory_uri() .'/js/timthumb.php?src='. $image .'&h='.$height.'&w='.$width.'" >';
return $image ;
}
add_filter('woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args');
function custom_woocommerce_get_catalog_ordering_args( $args ) {
if (isset($_GET['orderby'])) {
switch ($_GET['orderby']) :
case 'date_asc' :
$args['orderby'] = 'date';
$args['order'] = 'asc';
$args['meta_key'] = '';
break;
case 'price_desc' :
$args['orderby'] = 'meta_value_num';
$args['order'] = 'desc';
$args['meta_key'] = '_price';
break;
case 'title_desc' :
$args['orderby'] = 'title';
$args['order'] = 'desc';
$args['meta_key'] = '';
break;
case 'date_desc' :
$args['orderby'] = 'date';
$args['order'] = 'desc';
$args['meta_key'] = '';
break;
case 'price' :
$args['orderby'] = 'meta_value_num';
$args['order'] = 'asc';
$args['meta_key'] = '_price';
break;
case 'title_asc' :
$args['orderby'] = 'title';
$args['order'] = 'asc';
$args['meta_key'] = '';
break;
case 'select' :
$args['orderby'] = '';
$args['order'] = '';
$args['meta_key'] = '';
break;
endswitch;
}
return $args;
}
// Ensure cart contents update when products are added to the cart via AJAX (place the following in functions.php)
add_filter('add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment');
function woocommerce_header_add_to_cart_fragment( $fragments ) {
global $woocommerce;
ob_start();
?>
<a class="cart-bubble cart-contents">(<?php echo sprintf(_n('%d', '%d', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?>)</a>
<?php
$fragments['a.cart-contents'] = ob_get_clean();
return $fragments;
}
add_action('woocommerce_before_main_content', create_function('', 'echo "";'), 10);
add_action('woocommerce_after_main_content', create_function('', 'echo "";'), 10);
// remove ordering
remove_action( 'woocommerce_pagination', 'woocommerce_catalog_ordering', 20 );
function pmc_woocommerce_image_dimensions() {
global $pagenow;
if ( ! isset( $_GET['activated'] ) || $pagenow != 'themes.php' ) {
return;
}
$catalog = array(
'width' => '260', // px
'height' => '220', // px
'crop' => 1 // true
);
$single = array(
'width' => '700', // px
'height' => '600', // px
'crop' => 1 // true
);
$thumbnail = array(
'width' => '110', // px
'height' => '90', // px
'crop' => 1 // false
);
// Image sizes
update_option( 'shop_catalog_image_size', $catalog ); // Product category thumbs
update_option( 'shop_single_image_size', $single ); // Single product image
update_option( 'shop_thumbnail_image_size', $thumbnail ); // Image gallery thumbs
}
add_action( 'after_switch_theme', 'pmc_woocommerce_image_dimensions', 1 );
/**
* WooCommerce Extra Feature
* --------------------------
*/
function woo_related_products_limit() {
global $product;
$args['posts_per_page'] = 3;
return $args;
}
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_upsells', 15 );
if ( ! function_exists( 'woocommerce_output_upsells' ) ) {
function woocommerce_output_upsells() {
woocommerce_upsell_display( 3,4 ); // Display 3 products in rows of 3
}
}
function woocommerce_output_related_products() {
woocommerce_related_products(3,1); // Display 3 products in rows of 3
}
endif;
function fl_shortcode_button() {
if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') )
return;
// Add only in Rich Editor mode
if ( get_user_option('rich_editing') == 'true') {
add_filter("mce_external_plugins", "fl_add_shortcode_tinymce_plugin");
add_filter('mce_buttons', 'fl_register_shortcode_button');
}
}
if ( ! isset( $content_width ) ) $content_width = 960;
/**
* Register the TinyMCE Shortcode Button
*/
function fl_register_shortcode_button($buttons) {
array_push($buttons, "|", "flshortcodes");
return $buttons;
}
/**
* Load the TinyMCE plugin: shortcode_plugin.js
*/
function fl_add_shortcode_tinymce_plugin($plugin_array) {
$plugin_array['flshortcodes'] = get_template_directory_uri() . '/js/shortcode_plugin.js';
return $plugin_array;
}
function pmc_formatter($content) {
$new_content = wptexturize(wpautop($content));
return $new_content;
}
add_filter('the_content', 'pmc_formatter', 99);
function shortcontent($start, $end, $new, $source, $lenght){
$text = strip_tags(preg_replace('/<h(.*)>(.*)<\/h(.*)>.*/iU', '', $source), '<b><strong>');
$text = preg_replace('#\[video\](.*)\[\/video\]#si', '', $text);
$text = preg_replace('#\[pmc_link\](.*)\[\/pmc_link\]#si', '', $text);
$text = preg_replace('/\[[^\]]*\]/', $new, $text);
return substr(preg_replace('/\s[\s]+/','',$text),0,$lenght);
}
function fl_refresh_mce($ver) {
$ver += 3;
return $ver;
}
function the_breadcrumb() {
global $data;
if (!is_home()) {
echo '<a href="';
echo home_url();
echo '">';
bloginfo('name');
echo "</a> ยป ";
if (is_single()) {
if (is_single()) {
the_title();
}
} elseif (is_page()) {
echo the_title();
}
elseif(get_query_var('portfoliocategory')){
$cat = get_query_var('portfoliocategory');
$cat = str_replace('-',' ',$cat);
echo $cat;
}
else if(get_query_var('tag')){
$tag = get_query_var('tag');
$tag = str_replace('-',' ',$tag);
echo $tag;
}
else if(get_query_var('s')){
echo $data['translation_search'];
} else {
$cat = get_query_var('cat');
$cat = get_category($cat);
echo $cat->name;
}
}
}
function social($url) {
$social = '';
global $data;
$social .= '<div id="social">';
if($data['facebook_show'] == 1)
$social .= '<div class="fb-like" data-href="'.$url.'" data-send="false" data-width="80" data-layout="button_count" data-show-faces="false"></div>';
if($data['twitter_show'] == 1)
$social .= '<div id="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="'.$name.'">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>';
if($data['google_show'] == 1)
$social .= '<div class="g-plusone" data-size="medium"></div>';
$social .= '</div>';
echo $social;
}
function footer(){
function pmc_recent_footer_excerpt_length( $length ) {
return 40;
}
function pmc_recent_footer_title($title) { return substr($title, 0, 40). '';}
add_filter( 'excerpt_length', 'pmc_recent_footer_excerpt_length', 999 );
add_filter('the_title', 'pmc_recent_footer_title') ;
}
function shortTitle($lenght)
{
$title = the_title('','',FALSE);
echo substr($title, 0, $lenght);
}
function custom_excerpt_length( $length ) {
return 30;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
function new_excerpt_more($more) {
return '';
}
add_filter('excerpt_more', 'new_excerpt_more');
function socialLink() {
$social = '';
global $data;
if($data['facebook_show'] == 1)
$social .= '<a target="_blank" class="facebooklink" href="'.$data['facebook'].'" title="'.$data['translation_facebook'].'"></a>';
if($data['twitter_show'] == 1)
$social .= '<a target="_blank" class="twitterlink" href="'.$data['twitter'].'" title="'.$data['translation_twitter'].'"></a>';
if($data['digg_show'] == 1)
$social .= '<a target="_blank" class="vimeo" href="'.$data['digg'].'" title="'.$data['translation_digg'].'"></a>';
if($data['youtube_show'] == 1)
$social .= '<a target="_blank" class="dribble" href="'.$data['youtube'].'" title="'.$data['translation_youtube'].'"></a>';
if($data['email_show'] == 1)
$social .= '<a target="_blank" class="emaillink" href="mailto:'.$data['email'].'" title="'.$data['translation_email'].'"></a>';
echo $social;
}
function socialLinkTop() {
$social = '';
global $data;
if($data['facebook_show'] == 1)
$social .= '<a target="_blank" class="facebooklink top" href="'.$data['facebook'].'" title="'.$data['translation_facebook'].'"></a>';
if($data['youtube_show'] == 1)
$social .= '<a target="_blank" class="dribble top" href="'.$data['youtube'].'" title="'.$data['translation_youtube'].'"></a>';
if($data['twitter_show'] == 1)
$social .= '<a target="_blank" class="twitterlink top" href="'.$data['twitter'].'" title="'.$data['translation_twitter'].'"></a>';
if($data['email_show'] == 1)
$social .= '<a target="_blank" class="emaillink top" href="mailto:'.$data['email'].'" title="'.$data['translation_email'].'"></a>';
if($data['digg_show'] == 1)
$social .= '<a target="_blank" class="vimeo top" href="'.$data['digg'].'" title="'.$data['translation_digg'].'"></a>';
echo $social;
}
function socialLinkTeam($facebook,$twitter,$vimeo,$dribble,$email) {
$social = '';
global $data;
if($facebook != '')
$social .= '<a target="_blank" class="facebooklink" href="'.$facebook.'" title="'.$data['translation_facebook'].'"></a>';
if($twitter != '')
$social .= '<a target="_blank" class="twitterlink" href="'.$twitter.'" title="'.$data['translation_twitter'].'"></a>';
if($vimeo != '')
$social .= '<a target="_blank" class="vimeo" href="'.$vimeo.'" title="'.$data['translation_digg'].'"></a>';
if($dribble != '')
$social .= '<a target="_blank" class="dribble" href="'.$dribble.'" title="'.$data['translation_youtube'].'"></a>';
if($email != '')
$social .= '<a target="_blank" class="emaillink" href="mailto:'.$email.'" title="'.$data['translation_email'].'"></a>';
echo $social;
}
function socialLinkCat($link,$title,$email) {
$social = '';
$social .='<div class="addthis_toolbox"><div class="custom_images">';
global $data;
if($data['facebook_show'] == 1)
$social .= '<a class="addthis_button_facebook" addthis:url="'.$link.'" addthis:title="'.$title.'" title="'.$data['translation_facebook'].'"><img src="'. get_template_directory_uri() .'/images/facebookIcon.png" width="64" height="64" border="0" alt="'.$data['translation_facebook'].'" /></a>';
if($data['twitter_show'] == 1)
$social .= '<a class="addthis_button_twitter" addthis:url="'.$link.'" addthis:title="A'.$title.'" title="'.$data['translation_twitter'].'"><img src="'. get_template_directory_uri() .'/images/twitterIcon.png" width="64" height="64" border="0" alt="'.$data['translation_twitter'].'" /></a>';
if($data['digg_show'] == 1)
$social .= '<a class="addthis_button_digg" addthis:url="'.$link.'" addthis:title="'.$title.'" title="'.$data['translation_digg'].'"><img src="'. get_template_directory_uri() .'/images/diggIcon.png" width="64" height="64" border="0" alt="'.$data['translation_digg'].'" /></a>';
if($data['stumble_show'] == 1)
$social .= '<a class="addthis_button_stumble" addthis:url="'.$link.'" addthis:title="'.$title.'" title="'.$data['translation_stumble'].'"><img src="'. get_template_directory_uri() .'/images/stumbleUponIcon.png" width="64" height="64" border="0" alt="Share to Stumble Upon" /></a>';
$social .='<a class="addthis_button" addthis:url="'.$link.'" addthis:title="'.$title.'" ><img src="'. get_template_directory_uri() .'/images/socialIconShareMore.png" width="64" height="64" border="0" alt="More..." /></a></div><script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4f3049381724ac5b"></script>';
if($data['email_show'] == 1 && $email)
$social .= '<a class="emaillink" href="mailto:'.$data['email'].'" title="'.$data['translation_email'].'"></a></div>';
$social .= '</div>';
echo $social;
}
function socialLinkProduct() {
$social = '';
$social ='<div class="addthis_toolbox"><div class="custom_images">';
global $data;
if($data['facebook_show'] == 1)
$social .= '<a class="addthis_button_facebook" title="'.$data['translation_facebook'].'"><img src="'. get_template_directory_uri() .'/images/icon-facebook-product-single.png" width="16" height="16" border="0" alt="'.$data['translation_facebook'].'" /></a>';
if($data['twitter_show'] == 1)
$social .= '<a class="addthis_button_twitter" title="'.$data['translation_twitter'].'"><img src="'. get_template_directory_uri() .'/images/icon-twitter-product-single.png" width="16" height="16" border="0" alt="'.$data['translation_twitter'].'" /></a>';
//if($data['digg_show'] == 1)
//$social .= '<a class="addthis_button_digg" title="'.$data['translation_digg'].'"><img src="'. get_template_directory_uri() .'/images/diggIcon.png" width="64" height="64" border="0" alt="'.$data['translation_digg'].'" /></a>';
//if($data['youtube_show'] == 1)
//$social .= '<div><a class="addthis_button_youtube"><img src="'. get_template_directory_uri() .'/images/diggIcon.png" width="64" height="64" border="0" alt="Share to Twitter" /></div></a></div>';
$social .='<a class="addthis_button_more"><img src="'. get_template_directory_uri() .'/images/icon-more-product-single.png" width="16" height="16" border="0" alt="More..." /></a></div><script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4f3049381724ac5b"></script>';
if($data['email_show'] == 1)
$social .= '<a class="emaillink" href="mailto:'.$data['email'].'" title="'.$data['translation_email'].'"></a></div>';
echo $social;
}
function socialLinkSingle() {
$social = '';
$social ='<div class="addthis_toolbox"><div class="custom_images">';
global $data;
if($data['facebook_show'] == 1)
$social .= '<a class="addthis_button_facebook" title="'.$data['translation_facebook'].'"><img src="'. get_template_directory_uri() .'/images/facebookIcon.png" width="64" height="64" border="0" alt="'.$data['translation_facebook'].'" /></a>';
if($data['twitter_show'] == 1)
$social .= '<a class="addthis_button_twitter" title="'.$data['translation_twitter'].'"><img src="'. get_template_directory_uri() .'/images/twitterIcon.png" width="64" height="64" border="0" alt="'.$data['translation_twitter'].'" /></a>';
//if($data['digg_show'] == 1)
//$social .= '<a class="addthis_button_digg" title="'.$data['translation_digg'].'"><img src="'. get_template_directory_uri() .'/images/diggIcon.png" width="64" height="64" border="0" alt="'.$data['translation_digg'].'" /></a>';
//if($data['youtube_show'] == 1)
//$social .= '<div><a class="addthis_button_youtube"><img src="'. get_template_directory_uri() .'/images/diggIcon.png" width="64" height="64" border="0" alt="Share to Twitter" /></div></a></div>';
$social .='<a class="addthis_button_more"><img src="'. get_template_directory_uri() .'/images/socialIconShareMore.png" width="64" height="64" border="0" alt="More..." /></a></div><script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4f3049381724ac5b"></script>';
if($data['email_show'] == 1)
$social .= '<a class="emaillink" href="mailto:'.$data['email'].'" title="'.$data['translation_email'].'"></a></div>';
echo $social;
}
function get_category_id($cat_name){
$term = get_term_by('name', $cat_name, 'category');
return $term->term_id;
}
/**
* Init process for button control
*/
add_filter( 'tiny_mce_version', 'fl_refresh_mce');
add_action( 'init', 'fl_shortcode_button' );
add_filter('the_content', 'addprettyPhotorel_replace');
function addprettyPhotorel_replace ($content)
{ global $post;
$pattern = "/<a(.*?)href=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
$replacement = '<a$1href=$2$3.$4$5 rel="prettyPhoto[%LIGHTID%]"$6>';
$content = preg_replace($pattern, $replacement, $content);
$content = str_replace("%LIGHTID%", $post->ID, $content);
return $content;
}
function filter_content_video( $content ){
$content = explode('[video]', $content );
$content = explode('[/video]',$content[1] );
$content = $content[0];
return $content;
}
function filter_content( $content ){
if (strpos($content,'[video]') !== false) {
$content = explode('[video]', $content );
$contentpost = $content[0] . '';
$content = explode('[/video]',$content[1] );
$contentpost .= $content[1];
return $contentpost;
}
else return $content ;
}
function filter_link( $content ){
$content = explode('[pmc_link]', $content );
$content = explode('[/pmc_link]',$content[1] );
$content = $content[0];
return $content;
}
function filter_content_link( $content ){
if (strpos($content,'[pmc_link]') !== false) {
$content = explode('[pmc_link]', $content );
$contentcat = $content[0];
$content = explode('[/pmc_link]',$content[1] );
$contentcat .= $content[1];
return $contentcat;
}
else return $content;
}
function filter_content_gallery( $content ){
$content = explode('[gallery]', $content );
$contentgal = $content[0];
return $contentgal;
}
// Adds <span></span> around the first word of Widget titles
function arixWP_widget_title($title) {
$title = preg_replace('/(^[A-z0-9_]+)\s/i', '<span>$1</span> ', $title);
return $title;
}
add_filter('widget_title', 'arixWP_widget_title');
/**
* Add "first" and "last" CSS classes to dynamic sidebar widgets. Also adds numeric index class for each widget (widget-1, widget-2, etc.)
*/
function widget_first_last_classes($params) {
global $my_widget_num; // Global a counter array
$this_id = $params[0]['id']; // Get the id for the current sidebar we're processing
$arr_registered_widgets = wp_get_sidebars_widgets(); // Get an array of ALL registered widgets
if(!$my_widget_num) {// If the counter array doesn't exist, create it
$my_widget_num = array();
}
if(!isset($arr_registered_widgets[$this_id]) || !is_array($arr_registered_widgets[$this_id])) { // Check if the current sidebar has no widgets
return $params; // No widgets in this sidebar... bail early.
}
if(isset($my_widget_num[$this_id])) { // See if the counter array has an entry for this sidebar
$my_widget_num[$this_id] ++;
} else { // If not, create it starting with 1
$my_widget_num[$this_id] = 1;
}
$class = 'class="widget-' . $my_widget_num[$this_id] . ' '; // Add a widget number class for additional styling options
if($my_widget_num[$this_id] == 1) { // If this is the first widget
$class .= 'widget-first ';
} elseif($my_widget_num[$this_id] == count($arr_registered_widgets[$this_id])) { // If this is the last widget
$class .= 'widget-last ';
}
$params[0]['before_widget'] = str_replace('class="', $class, $params[0]['before_widget']); // Insert our new classes into "before widget"
return $params;
}
add_filter('dynamic_sidebar_params','widget_first_last_classes');
function stripText($string)
{
return str_replace("\\",'',$string);
}
/*portfolio loop*/
function portfolio($height, $width, $item, $post = 'port' ,$number = 0,$cat = ''){
global $data;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$categport = '';
if($post == 'post'){
$postT = 'post';
$showposts = $data['sortingpost_number'];
$postC = 'category';
$categport="";
}
else{
$postT = 'portfolioentry';
$postC = 'portfoliocategory';
$showposts = $data['port_number'];
if($cat != '')
$categport='&portfoliocategory='.$cat;
}
if($number != 0)
$showposts = $number;
$postPage = '&posts_per_page='.$showposts;
if($item == 3){
$titleChar = 999;
}
else if($item == 2){
$titleChar = 18;
}
else {
$titleChar = 22;
}
if($categport != "")
query_posts("spost_type=".$postT."&paged=".$paged.$categport.$postPage);
else
query_posts("post_type=".$postT."&paged=".$paged.$postPage);
$limit_text = 100;
$currentindex = '';
$counter = 0;
$portfolio = '';
$count = 0;
while ( have_posts() ) : the_post();
$do_not_duplicate = get_the_ID();
$full_image = wp_get_attachment_image_src(get_post_thumbnail_id(), 'full', false);
$entrycategory = get_the_term_list( get_the_ID(), $postC, '', '_', '' );
$catstring = $entrycategory;
$catstring = strip_tags($catstring);
$catstring = str_replace('_', ', ', $catstring);
$categoryname = $catstring;
$entrycategory = strip_tags($entrycategory);
$entrycategory = str_replace(' ', '-', $entrycategory);
$entrycategory = str_replace('_', ' ', $entrycategory);
$catidlist = explode(" ", $entrycategory);
for($i = 0; $i < sizeof($catidlist); ++$i){
$catidlist[$i].=$currentindex;
}
$catlist = implode(" ", $catidlist);
$counter++;
$category = get_the_term_list( get_the_ID(), $postC, '', ', ', '' );
if ( has_post_format( 'link' , get_the_ID()))
$linkPost = filter_link(get_the_content());
else
$linkPost = get_permalink();
if($item != 2){
$portfolio .= '<div class="item'.$item.' '.$catlist .'" data-category="'. $catlist.'">
<a href="'. $linkPost .'">
<div class="overdefult">
<div class = "overLowerDefaultBorder"></div><div class="overLowerDefault"></div>
<div class="overLowerDefault"></div>
</div>
</a>
<div class="image">
<div class="loading"></div>
<img src="'. get_template_directory_uri() .'/js/timthumb.php?src='. $full_image[0] .'&h='.$height.'&w='.$width.'" alt="'. the_title('','',FALSE) .'">
</div>';
if($item != 3)
$portfolio .= '<h4><a href="'. $linkPost .'">'. substr(the_title('','',FALSE),0,$titleChar) .'</a></h4>';
if($item == 3) {
$portfolio .= '<h3><a href="'. $linkPost .'">'. substr(the_title('','',FALSE),0,$titleChar) .'</a></h3>';
$portfolio .= '<h4>'. $category .'</h4> ';
}
$portfolio .= '</div>';
} else {
$category = get_the_term_list( get_the_ID(), $postC, '', '', '' );
if($count != 2){
$portfolio .= '<div class="one_half item2 '.$catlist .'" data-category="'. $catlist.'" >';
}
else{
$portfolio .= '<div class="one_half last item2 '.$catlist .'" data-category="'. $catlist.'" >';
$count = 0;
}
$portfolio .= ' <div class="recentimage">
<a href="'. $linkPost .'">
<div class="overdefult">
<div class = "overLowerDefaultBorder"></div><div class="overLowerDefault"></div>
</div>
</a>
<div class="image">
<div class="loading"></div>
<img src="'. get_template_directory_uri() .'/js/timthumb.php?src='. $full_image[0] .'&h=150&w=230" alt="'. the_title('','',FALSE) .'">
</div>
</div>
<div class="recentdescription">
<h3><a class="overdefultlink" href="'.$linkPost.'">'. substr(the_title('','',FALSE),0,$titleChar) .'</a>...</h3>
<h3 class="category">'. $category .'</h3>
<div class="description">'. shortcontent("[", "]", "", get_the_content() ,140) .'...</strong></div>
</div>
</div>';
$count++;
}
endwhile;
echo $portfolio;
}
add_action('init', 'create_portfolio');
function create_portfolio() {
$portfolio_args = array(
'label' => 'Portfolio',
'singular_label' => 'Portfolio',
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => false,
'rewrite' => true,
'supports' => array('title', 'editor', 'thumbnail', 'author', 'comments', 'excerpt')
);
register_post_type('portfolioentry',$portfolio_args);
}
add_action("admin_init", "add_portfolio");
add_action('save_post', 'update_portfolio_data');
function add_portfolio(){
add_meta_box("portfolio_details", "Portfolio Entry Options", "portfolio_options", "portfolioentry", "normal", "high");
}
function update_portfolio_data(){
global $post;
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return $post_id;
}
if($post){
if( isset($_POST["author"]) ) {
update_post_meta($post->ID, "author", $_POST["author"]);
}
if( isset($_POST["date"]) ) {
update_post_meta($post->ID, "date", $_POST["date"]);
}
if( isset($_POST["detail_active"]) ) {
update_post_meta($post->ID, "detail_active", $_POST["detail_active"]);
}else{
update_post_meta($post->ID, "detail_active", 0);
}
if( isset($_POST["website_url"]) ) {
update_post_meta($post->ID, "website_url", $_POST["website_url"]);
}
if( isset($_POST["status"]) ) {
update_post_meta($post->ID, "status", $_POST["status"]);
}
if( isset($_POST["customer"]) ) {
update_post_meta($post->ID, "customer", $_POST["customer"]);
}
}
}
function portfolio_options(){
global $post;
$data = get_post_custom($post->ID);
if (isset($data["author"][0])){
$author = $data["author"][0];
}else{
$author = "";
}
if (isset($data["date"][0])){
$date = $data["date"][0];
}else{
$date = "";
}
if (isset($data["status"][0])){
$status = $data["status"][0];
}else{
$status = "";
}
if (isset($data["detail_active"][0])){
$detail_active = $data["detail_active"][0];
}else{
$detail_active = 0;
$data["detail_active"][0] = 0;
}
if (isset($data["website_url"][0])){
$website_url = $data["website_url"][0];
}else{
$website_url = "";
}
if (isset($data["customer"][0])){
$customer = $data["customer"][0];
}else{
$customer = "";
} ?>
<div id="portfolio-options">
<table cellpadding="15" cellspacing="15">
<tr>
<td colspan="2"><strong>Portfolio Overview Options:</strong></td>
</tr>
<tr>
<td><label>Link to Detail Page: <i style="color: #999999;">(Do you want a project detail page?)</i></label></td><td><input type="checkbox" name="detail_active" value="1" <?php if( isset($detail_active)){ checked( '1', $data["detail_active"][0] ); } ?> /></td>
</tr>
<tr>
<td><label>Project Link: <i style="color: #999999;">(The URL of your project)</i></label></td><td><input name="website_url" style="width:500px" value="<?php echo $website_url; ?>" /></td>
</tr>
<tr>
<td><label>Project Author: <i style="color: #999999;">(The URL of your project)</i></label></td><td><input name="author" style="width:500px" value="<?php echo $author; ?>" /></td>
</tr>
<tr>
<td><label>Project date: <i style="color: #999999;">(Date of project)</i></label></td><td><input name="date" style="width:500px" value="<?php echo $date; ?>" /></td>
</tr>
<tr>
<td><label>Customer: <i style="color: #999999;">(Customer of project)</i></label></td><td><input name="customer" style="width:500px" value="<?php echo $customer; ?>" /></td>
</tr>
<tr>
<td><label>Project status: <i style="color: #999999;">(Status of project)</i></label></td><td><input name="status" style="width:500px" value="<?php echo $status; ?>" /></td>
</tr>
</table>
</div>
<?php
}
function add_portfolio_category(){
add_meta_box("portfolio_categories", "Portfolio categories(only for portfolio templates)", "portfolio_category_options", "page", "normal", "high");
}
add_action('save_post', 'update_portfolio_category_data');
add_action("admin_init", "add_portfolio_category");
function portfolio_category_options(){
global $post;
$data = get_post_custom($post->ID);
if (isset($data["port_category"][0])){
$port_category = $data["port_category"][0];
}else{
$port_category = "";
}
?>
<div id="portfolio-category-options">
<table cellpadding="15" cellspacing="15">
<tr>
<td colspan="2"><strong>Portfolio category(only for portfolio templates):</strong></td>
</tr>
<tr>
<td><label>Category: <i style="color: #999999;">(select category)</i></label></td><td>
<?php wp_dropdown_categories('show_option_all=Show all&hierarchical=2&name=port_category&taxonomy=portfoliocategory&selected='.$port_category.''); ?>
</td>
</tr>
</table>
</div>
<?php
}
function update_portfolio_category_data(){
global $post;
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return $post_id;
}
if($post){
if( isset($_POST["port_category"]) ) {
update_post_meta($post->ID, "port_category", $_POST["port_category"]);
}
}
}
register_taxonomy("portfoliocategory", array("portfolioentry"), array("hierarchical" => true, "label" => "Portfolio Categories", "singular_label" => "Portfolio Category", "rewrite" => true));
function getcatslug($catID){
$cat_obj = get_term($catID, 'portfoliocategory');
$cat_slug = $cat_obj->slug;
return $cat_slug;
}
?>