function sl_head_scripts() { global $sl_dir, $sl_base, $sl_uploads_base, $sl_path, $sl_uploads_path, $wpdb, $pagename, $sl_map_language, $post, $sl_vars; print "\n<!-- ========= WordPress Store Locator (v" . SL_VERSION . ") | http://www.viadat.com/store-locator/ ========== -->\n"; //print "<!-- ========= Learn More & Download Here: http://www.viadat.com/store-locator ========== -->\n"; $on_sl_page = ""; $sl_code_is_used_in_posts = ""; $post_ids_array = ""; if (empty($sl_vars['scripts_load']) || $sl_vars['scripts_load'] != 'all') { //Check if currently on page with shortcode if (empty($_GET['p'])) { $_GET['p'] = ""; } if (empty($_GET['page_id'])) { $_GET['page_id'] = ""; } $on_sl_page = $wpdb->get_results("SELECT post_name, post_content FROM " . SL_DB_PREFIX . "posts WHERE LOWER(post_content) LIKE '%[store-locator%' AND (post_name='{$pagename}' OR ID='" . esc_sql($_GET['p']) . "' OR ID='" . esc_sql($_GET['page_id']) . "')", ARRAY_A); //Checking if code used in posts $sl_code_is_used_in_posts = $wpdb->get_results("SELECT post_name, ID FROM " . SL_DB_PREFIX . "posts WHERE LOWER(post_content) LIKE '%[store-locator%' AND post_type='post'", ARRAY_A); //If shortcode used in posts, put post IDs into array of numbers if ($sl_code_is_used_in_posts) { $sl_post_ids = $sl_code_is_used_in_posts; foreach ($sl_post_ids as $val) { $post_ids_array[] = $val['ID']; } } else { $post_ids_array = array(pow(10, 15)); //post number that'll never be reached } //print_r($post_ids_array); } //If loading on all pages is selected (via MapDesigner), on page with store locator shortcode, on an archive, search, or 404 page while shortcode has been used in a post, on the front page, or a specific post with shortcode, is a custom post type of some kind, or is a using a page template, display code, otherwise, don't $show_on_all_pages = !empty($sl_vars['scripts_load']) && $sl_vars['scripts_load'] == 'all'; $show_on_front_page = is_front_page() && (!isset($sl_vars['scripts_load_home']) || $sl_vars['scripts_load_home'] == 1); $show_on_archive_404_pages = (is_archive() || is_404()) && $sl_code_is_used_in_posts && (!isset($sl_vars['scripts_load_archives_404']) || $sl_vars['scripts_load_archives_404'] == 1); $show_on_custom_post_types = is_singular() && !is_singular(array('page', 'attachment', 'post')) && !is_front_page(); $show_on_page_templates = is_page_template() && !is_front_page(); $on_sl_post = is_single($post_ids_array); if ($show_on_all_pages || $on_sl_page || is_search() || $show_on_archive_404_pages || $show_on_front_page || $on_sl_post || $show_on_custom_post_types || function_exists('show_sl_scripts') || $show_on_page_templates) { $GLOBALS['is_on_sl_page'] = 1; $google_map_domain = $sl_vars['google_map_domain'] != "" ? $sl_vars['google_map_domain'] : "maps.google.com"; //print "<meta name='viewport' content='initial-scale=1.0, user-scalable=no' />\n"; $sens = !empty($sl_vars['sensor']) && ($sl_vars['sensor'] === "true" || $sl_vars['sensor'] === "false") ? "&sensor=" . $sl_vars['sensor'] : "&sensor=false"; $lang_loc = !empty($sl_vars['map_language']) ? "&language=" . $sl_vars['map_language'] : ""; $region_loc = !empty($sl_vars['map_region']) ? "&region=" . $sl_vars['map_region'] : ""; $key = !empty($sl_vars['api_key']) ? "&key=" . $sl_vars['api_key'] : ""; print "<script src='https://maps.googleapis.com/maps/api/js?v=3{$sens}{$lang_loc}{$region_loc}{$key}' type='text/javascript'></script>\n"; //print "<script src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>\n"; print "<script src='" . SL_JS_BASE . "/functions.js?v=" . SL_VERSION . "' type='text/javascript'></script>\n"; if (empty($_POST) && 1 == 2) { //skip, for now always (1==2), dynamic file always causes trouble for some $nm = !empty($post->post_name) ? $post->post_name : $pagename; $p = !empty($post->ID) ? $post->ID : esc_sql($_GET['p']); //$pg=(!empty($post->page_ID))? $post->post_ID : esc_sql($_GET['page_id']) ; print "<script src='" . SL_JS_BASE . "/store-locator-js.php?nm={$nm}&p={$p}' type='text/javascript'></script>\n"; } else { //sl_dyn_js($on_sl_page[0]['post_content']); sl_dyn_js(); } print "<script src='" . SL_JS_BASE . "/store-locator.js?v=" . SL_VERSION . "' type='text/javascript'></script>\n"; //if store-locator.css exists in custom-css/ folder in uploads/ dir it takes precedence over, store-locator.css in store-locator plugin directory to allow for css customizations to be preserved after updates $has_custom_css = file_exists(SL_CUSTOM_CSS_PATH . "/store-locator.css") ? SL_CUSTOM_CSS_BASE : SL_CSS_BASE; print "<link href='" . $has_custom_css . "/store-locator.css?v=" . SL_VERSION . "' type='text/css' rel='stylesheet'/>\n"; $theme = $sl_vars['theme']; if ($theme != "") { print "<link href='" . SL_THEMES_BASE . "/{$theme}/style.css?v=" . SL_VERSION . "' rel='stylesheet' type='text/css'/>\n"; } if (function_exists("do_sl_hook")) { do_sl_hook('sl_addon_head_styles'); } //print "<style></style>"; sl_move_upload_directories(); } else { print "<!-- No store locator on this page, so no unnecessary scripts for better site performance. -->\n"; } print "<!-- ========= End WordPress Store Locator ("; $sl_page_ids = $wpdb->get_results("SELECT ID FROM " . SL_DB_PREFIX . "posts WHERE LOWER(post_content) LIKE '%[store-locator%' AND post_status='publish'", ARRAY_A); if (!empty($sl_page_ids)) { foreach ($sl_page_ids as $value) { print "{$value['ID']},"; } } print ") ========== -->\n\n"; }
<?php function js_out($buff) { preg_match("@\\/\\*sl\\-dyn\\-js\\-start\\*\\/.*\\/\\*sl\\-dyn\\-js\\-end\\*\\/@s", $buff, $the_js); $the_js[0] = preg_replace("@<script([^>]*)?src=('|\")?([A-Za-z0-9\\.\\ \\_\\:\\/-]*)('|\")?([^>]*)?>(\r)?(\n)?@s", "jQuery.getScript(\"\\3\");\n", $the_js[0]); $the_js[0] = preg_replace("@<\\/script>(\r)?(\n)?@s", "", $the_js[0]); $the_js[0] = preg_replace("@<script[^>]*>(\r)?(\n)?@s", "", $the_js[0]); $the_js[0] = preg_replace("@\\/\\*[^(\\*\\/)]*\\*\\/@s", "", $the_js[0]); //$the_js[0]=preg_replace("@[^http(s)?:]\/\/[^(\r|\n)]*@s", "", $the_js[0]); //$the_js[0]=preg_replace("@\r@s","",$the_js[0]); //$the_js[0]=preg_replace("@\n@s","",$the_js[0]); //$the_js[0]=preg_replace("@\t@s","",$the_js[0]); //$the_js[0]=base64_encode("<script>".$the_js[0]."</script>"); //return "document.write(decode64('".$the_js[0]."'));"; return $the_js[0]; } ob_start("js_out"); header("Content-type: text/javascript"); include "../sl-inc/includes/sl-env.php"; print "/*sl-dyn-js-start*/"; sl_dyn_js(); print "/*sl-dyn-js-end*/"; ob_end_flush(); //var_dump($_GET);
function sl_head_scripts() { global $sl_dir, $sl_base, $sl_uploads_base, $sl_path, $sl_uploads_path, $wpdb, $pagename, $sl_map_language, $post, $sl_vars; print "\n<!-- ========= WordPress Store Locator (v" . SL_VERSION . ") | http://www.viadat.com/store-locator/ ========== -->\n"; //print "<!-- ========= Learn More & Download Here: http://www.viadat.com/store-locator ========== -->\n"; if (isset($GLOBALS['is_on_sl_page']) && $GLOBALS['is_on_sl_page'] == 1) { //if ($sl_base) { //v3.88 added 'isset' clause above $google_map_domain = $sl_vars['google_map_domain'] != "" ? $sl_vars['google_map_domain'] : "maps.google.com"; //print "<meta name='viewport' content='initial-scale=1.0, user-scalable=no' />\n"; //$sens=(!empty($sl_vars['sensor']) && ($sl_vars['sensor'] === "true" || $sl_vars['sensor'] === "false" ))? "&sensor=".$sl_vars['sensor'] : "&sensor=false" ; $sens = ""; // - v3.84 - 11/25/15 - no longer required $lang_loc = !empty($sl_vars['map_language']) ? "&language=" . $sl_vars['map_language'] : ""; $region_loc = !empty($sl_vars['map_region']) ? "&region=" . $sl_vars['map_region'] : ""; $key = !empty($sl_vars['api_key']) ? "&key=" . $sl_vars['api_key'] : ""; print "<script src='https://maps.googleapis.com/maps/api/js?v=3{$sens}{$lang_loc}{$region_loc}{$key}' type='text/javascript'></script>\n"; //print "<script src='//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>\n"; print "<script src='" . SL_JS_BASE . "/functions.js?v=" . SL_VERSION . "' type='text/javascript'></script>\n"; if (empty($_POST) && 1 == 2) { //skip, for now always (1==2), dynamic file always causes trouble for some $nm = !empty($post->post_name) ? $post->post_name : $pagename; $p = !empty($post->ID) ? $post->ID : esc_sql($_GET['p']); //$pg=(!empty($post->page_ID))? $post->post_ID : esc_sql($_GET['page_id']) ; print "<script src='" . SL_JS_BASE . "/store-locator-js.php?nm={$nm}&p={$p}' type='text/javascript'></script>\n"; } else { //sl_dyn_js($on_sl_page[0]['post_content']); sl_dyn_js(); } print "<script src='" . SL_JS_BASE . "/store-locator.js?v=" . SL_VERSION . "' type='text/javascript'></script>\n"; //if store-locator.css exists in custom-css/ folder in uploads/ dir it takes precedence over, store-locator.css in store-locator plugin directory to allow for css customizations to be preserved after updates $has_custom_css = file_exists(SL_CUSTOM_CSS_PATH . "/store-locator.css") ? SL_CUSTOM_CSS_BASE : SL_CSS_BASE; print "<link href='" . $has_custom_css . "/store-locator.css?v=" . SL_VERSION . "' type='text/css' rel='stylesheet'/>\n"; $theme = $sl_vars['theme']; if ($theme != "") { print "<link href='" . SL_THEMES_BASE . "/{$theme}/style.css?v=" . SL_VERSION . "' rel='stylesheet' type='text/css'/>\n"; } if (function_exists("do_sl_hook")) { do_sl_hook('sl_addon_head_styles'); } //print "<style></style>"; sl_move_upload_directories(); } else { print "<!-- No store locator on this page, so no unnecessary scripts for better site performance. -->\n"; } print "<!-- ========= End WordPress Store Locator ("; $sl_page_ids = $wpdb->get_results("SELECT ID FROM " . SL_DB_PREFIX . "posts WHERE LOWER(post_content) LIKE '%[store-locator%' AND post_status='publish'", ARRAY_A); if (!empty($sl_page_ids)) { foreach ($sl_page_ids as $value) { print "{$value['ID']},"; } } print ") ========== -->\n\n"; }