Example #1
0
 public static function getAvailableFastestHashAlgoHasShortest()
 {
     $k = 'gavfhahs';
     if (!isset(self::$_tempData[$k])) {
         $tmp = 'crc32';
         if (Hash::has_algos('adler32')) {
             $tmp = 'adler32';
         } else {
             if (Hash::has_algos('fnv132')) {
                 $tmp = 'fnv132';
             } else {
                 if (Hash::has_algos('crc32b')) {
                     $tmp = 'crc32b';
                 }
             }
         }
         self::$_tempData[$k] = $tmp;
     }
     return self::$_tempData[$k];
 }
Example #2
0
 public function frequencyOfAppearanceKeywordsInText($keywords, $text)
 {
     $classMethodKey = Hash::crc32b(__CLASS__ . '_' . __METHOD__);
     $keyCache1 = Utils::hashKey(array($classMethodKey, $keywords, $text));
     $resultData = TempDataAndCacheFile::get_cache($keyCache1);
     if (null === $resultData) {
         $resultData = array();
         $text = self::analysisKeyword_PrepareContents($text);
         $text = explode(' ', $text);
         $wordsCountInText = array_count_values($text);
         unset($text);
         $keywords = $this->_frequencyOfAppearanceKeywordsInText_PrepareKeywords($keywords);
         foreach ($keywords as $key1 => $value1) {
             unset($keywords[$key1]);
             $resultData[$key1] = 0;
             foreach ($value1 as $key2 => $value2) {
                 if (isset($wordsCountInText[$value2])) {
                     $resultData[$key1] += $wordsCountInText[$value2];
                 }
             }
             if ($resultData[$key1]) {
                 $resultData[$key1] = $resultData[$key1] * strlen($key1) * 2.8;
             }
         }
         TempDataAndCacheFile::set_cache($keyCache1, $resultData);
     }
     return $resultData;
 }
Example #3
0
    public function create_traffic_module_options($input_parameters = false)
    {
        $resultData = array('module' => '', 'module_id' => '');
        if (!$input_parameters) {
            $input_parameters = array();
        }
        $moduleId = '';
        if (isset($input_parameters['module_id']) && $input_parameters['module_id']) {
            $moduleId = $input_parameters['module_id'];
        }
        if (!$moduleId) {
            $moduleId = Hash::crc32b(Utils::randomHash());
        }
        $resultData['module_id'] = $moduleId;
        if ('traffic_module_sample_id' === $moduleId) {
            $input_parameters['moduleOptionsData']['enable_thumbnails'] = 'on';
            $input_parameters['moduleOptionsData']['enable_items_title'] = 'on';
            $input_parameters['moduleOptionsData']['enable_items_excerpt'] = 'on';
            $input_parameters['moduleOptionsData']['title_of_module'] = 'Related articles :';
            $input_parameters['moduleOptionsData']['enable_open_links_in_new_windows'] = 'on';
        }
        if (!isset($input_parameters['moduleOptionsData']['maximum_number_characters_items_title'])) {
            $input_parameters['moduleOptionsData']['maximum_number_characters_items_title'] = '60';
        }
        if (!isset($input_parameters['moduleOptionsData']['maximum_number_characters_items_excerpt'])) {
            $input_parameters['moduleOptionsData']['maximum_number_characters_items_excerpt'] = '120';
        }
        $resultData['module'] .= '

		<div id="' . $moduleId . '" class="wppepvn_green_block optimize_traffic_module_container">
			
			<h5 class="optimize_traffic_module_container_head">Traffic Module - ID : <span>' . $moduleId . '</span> - <a href="#" class="optimize_traffic_module_button_remove">Remove Module</a> - <a href="#" style="font-size: 80%;" class="optimize_traffic_module_button_minimize_maximize">Minimize/Maximize</a></h5>
			
			<input type="hidden" name="optimize_traffic_modules[' . $moduleId . '][module_id]" value="' . $moduleId . '" /> 
			
			<div class="optimize_traffic_module_container_body">
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					<h6>
						<span class="optimize_traffic_module_options_tilte">Module Type</span> : 
						<select name="optimize_traffic_modules[' . $moduleId . '][module_type]" style="width: 200px;margin-left: 2%;">
							<option value="fixed" ' . (isset($input_parameters['moduleOptionsData']['module_type']) && 'fixed' === $input_parameters['moduleOptionsData']['module_type'] ? ' selected="selected" ' : '') . ' >Fixed</option>
							<option value="flyout" ' . (isset($input_parameters['moduleOptionsData']['module_type']) && 'flyout' === $input_parameters['moduleOptionsData']['module_type'] ? ' selected="selected" ' : '') . ' >Flyout</option>
						</select>
						
						<span class="wppepvn_help_icon wppepvn_tooltip" title="" data_content="' . base64_encode('<ul>
									<li>Fixed : ' . __('Module will appear at fixed location as your choice in post\'s content', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
									<li>Flyout : ' . __('Module will appear on the right or left of user\'s screen', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
								</ul>') . '"></span>
					</h6>
					
					
				</div>
				
				
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">Module Style</span> : 
						<select name="optimize_traffic_modules[' . $moduleId . '][module_style]" style="width: 200px;margin-left: 2%;">
							<option value="style_1"  ' . (isset($input_parameters['moduleOptionsData']['module_style']) && 'style_1' === $input_parameters['moduleOptionsData']['module_style'] ? ' selected="selected" ' : '') . ' >Style 1</option>
							<option value="style_2" ' . (isset($input_parameters['moduleOptionsData']['module_style']) && 'style_2' === $input_parameters['moduleOptionsData']['module_style'] ? ' selected="selected" ' : '') . ' >Style 2</option>
						</select>
					</h6>
					
				</div>
				
				<div class="optimize_traffic_module_options postbox wppepvn_hide" style="padding-top: 12px; padding-bottom: 12px;display:none;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">Display Animation Type</span> : 
						<select name="optimize_traffic_modules[' . $moduleId . '][animation_type]" style="width: 200px;margin-left: 2%;">
							<option value="slideout">Slideout</option>
							<option value="fade">Fade</option>
						</select>
					</h6>
					
				</div>
				
				<div class="optimize_traffic_module_options postbox wppepvn_hide" style="padding-top: 12px; padding-bottom: 12px;">
					<h6>
						' . __('When should the Module appear?', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '
					</h6>
					
					<br />
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('When user scroll length of site\'s height', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '(px or %)</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][module_appear_when_user_scroll_length]" value="' . (isset($input_parameters['moduleOptionsData']['module_appear_when_user_scroll_length']) ? $input_parameters['moduleOptionsData']['module_appear_when_user_scroll_length'] : '') . '" type="text" style="width:300px;margin-left: 2%;" />
						
						<span class="wppepvn_help_icon wppepvn_tooltip" title="" data_content="' . base64_encode('<ul>
									<li>' . __('When the user scrolls to the location you set, the module will appear.', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
									<li>' . __('You can set up the "80%" or "80" (px). All values are based on the height of the site', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
								</ul>') . '"></span>
					</h6>
					
					<br />
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('When user view for seconds', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][module_appear_when_user_read_for_seconds]" value="' . (isset($input_parameters['moduleOptionsData']['module_appear_when_user_read_for_seconds']) ? $input_parameters['moduleOptionsData']['module_appear_when_user_read_for_seconds'] : '') . '" type="text" style="width:300px;margin-left: 2%;" />
						
						<span class="wppepvn_help_icon wppepvn_tooltip" title="" data_content="' . base64_encode('<ul>
									<li>' . __('When the user access and view your website in number of seconds, the module will appear.', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
								</ul>') . '"></span>
						
					</h6>
					
					
				</div>
				
				
				<div class="optimize_traffic_module_options postbox wppepvn_hide" style="padding-top: 12px; padding-bottom: 12px;">
													
					<h6>
						<span class="optimize_traffic_module_options_tilte">Margin bottom (px)</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][module_margin_bottom]" value="' . (isset($input_parameters['moduleOptionsData']['module_margin_bottom']) ? $input_parameters['moduleOptionsData']['module_margin_bottom'] : '') . '"  type="text" style="width:300px;margin-left: 2%;" />
					</h6>
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">Margin left (px)</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][module_margin_left]" value="' . (isset($input_parameters['moduleOptionsData']['module_margin_left']) ? $input_parameters['moduleOptionsData']['module_margin_left'] : '') . '"  type="text" style="width:300px;margin-left: 2%;" />
					</h6>
					
				</div>
				
';
        $resultData['module'] .= '
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('Position of Module', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
						<select name="optimize_traffic_modules[' . $moduleId . '][module_position]" style="width: 200px;margin-left: 2%;" pepvn_data_val="' . (isset($input_parameters['moduleOptionsData']['module_position']) ? $input_parameters['moduleOptionsData']['module_position'] : '') . '" >';
        $resultData['module'] .= '
						</select> 
						
						<span class="wppepvn_help_icon wppepvn_tooltip" title="" data_content="' . base64_encode('<ul>
									<li>' . __('When the position is %, module will appear in post\'s content corresponding to the value you set', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
									<li>' . __('When the position is Left/Right, module will appear on Left/Right side of user\'s screen', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
								</ul>') . '"></span>
						
					</h6>
					
				</div>
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('Title of Module', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][title_of_module]" value="' . (isset($input_parameters['moduleOptionsData']['title_of_module']) ? $input_parameters['moduleOptionsData']['title_of_module'] : '') . '"  type="text" style="width:300px;margin-left: 2%;" />
					</h6>
					
				</div>
				
				
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">Custom class (CSS) of Module</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][custom_class_css_of_module]"  value="' . (isset($input_parameters['moduleOptionsData']['custom_class_css_of_module']) ? $input_parameters['moduleOptionsData']['custom_class_css_of_module'] : '') . '" type="text" style="width:300px;margin-left: 2%;" placeholder="Ex : your_custom_class_1 your_custom_class_2" />
						
						
						<span class="wppepvn_help_icon wppepvn_tooltip" title="" data_content="' . base64_encode('<ul>
									<li>' . __('This option will help you design module according to your wishes through CSS', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
								</ul>') . '"></span>
					</h6>
					
					<h6 style="display:none;">
						<span class="optimize_traffic_module_options_tilte">Custom ID (CSS) of Module</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][custom_id_css_of_module]" type="text" style="width:300px;margin-left: 2%;" placeholder="Ex : your_custom_id" />
					</h6>
					
				</div>
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('Maximum Number of Items', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
						<select name="optimize_traffic_modules[' . $moduleId . '][module_mumber_of_items]" style="width: 200px;margin-left: 2%;">';
        for ($iOne = 1; $iOne < 11; $iOne++) {
            $resultData['module'] .= '
							<option value="' . $iOne . '" ' . (isset($input_parameters['moduleOptionsData']['module_mumber_of_items']) && $iOne == $input_parameters['moduleOptionsData']['module_mumber_of_items'] ? ' selected="selected" ' : '') . ' >' . $iOne . '</option>';
        }
        $resultData['module'] .= '
						</select>
						
						<span class="wppepvn_help_icon wppepvn_tooltip" title="" data_content="' . base64_encode('<ul>
									<li>' . __('Maximum number of items (posts) in this module', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
								</ul>') . '"></span>
					</h6>
					
				</div>
				
				
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">Thumbnails</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][enable_thumbnails]" type="checkbox" style="margin-left: 2%;"  ' . (isset($input_parameters['moduleOptionsData']['enable_thumbnails']) ? ' checked="checked" ' : '') . '  /> ' . __('Enable Thumbnails', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '
					</h6>
					
					<div class="wppepvn_hide  wpoptimizebyxtraffic_enabled_thumbnails">
						
						<h6>
							<span class="optimize_traffic_module_options_tilte">' . __('Default Thumbnail Url (include http:// or https://)', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
							<input name="optimize_traffic_modules[' . $moduleId . '][default_thumbnail_url]" value="' . (isset($input_parameters['moduleOptionsData']['default_thumbnail_url']) ? $input_parameters['moduleOptionsData']['default_thumbnail_url'] : '') . '"  type="text" style="width:300px;margin-left: 2%;"  />
						
							<span class="wppepvn_help_icon wppepvn_tooltip" title="" data_content="' . base64_encode('<ul>
										<li>' . __('When the item does not have thumbnail image, plugin will get this image to make an thumbnail', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</li>
									</ul>') . '"></span>
							
						</h6>
						
						<h6>
							<span class="optimize_traffic_module_options_tilte">' . __('Thumbnail Width', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . ' (px)</span> : 
							<input name="optimize_traffic_modules[' . $moduleId . '][thumbnail_width]" value="' . (isset($input_parameters['moduleOptionsData']['thumbnail_width']) ? (int) $input_parameters['moduleOptionsData']['thumbnail_width'] : '') . '"  type="text" style="width:300px;margin-left: 2%;" />
						</h6>
						
						<h6>
							<span class="optimize_traffic_module_options_tilte">' . __('Thumbnail Height', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . ' (px)</span> : 
							<input name="optimize_traffic_modules[' . $moduleId . '][thumbnail_height]" value="' . (isset($input_parameters['moduleOptionsData']['thumbnail_height']) ? (int) $input_parameters['moduleOptionsData']['thumbnail_height'] : '') . '"  type="text" style="width:300px;margin-left: 2%;" />
						</h6>
						
					</div>
					
				</div>
				
				
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;"> 
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('Maximum width of each item?', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . ' (px)</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][maximum_width_each_item]" value="' . (isset($input_parameters['moduleOptionsData']['maximum_width_each_item']) ? (int) $input_parameters['moduleOptionsData']['maximum_width_each_item'] : '') . '"  type="text" style="width:300px;margin-left: 2%;" />
					</h6>
					
				</div>
				
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('Items\'s Title', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][enable_items_title]" type="checkbox" style="margin-left: 2%;" ' . (isset($input_parameters['moduleOptionsData']['enable_items_title']) ? ' checked="checked" ' : '') . '  /> Enable Items\'s Title
					</h6>
					
					<div class="wppepvn_hide wpoptimizebyxtraffic_enabled_items_title">
						<h6>
							<span class="optimize_traffic_module_options_tilte">' . __('Maximum number of characters for items\'s title?', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
							<input name="optimize_traffic_modules[' . $moduleId . '][maximum_number_characters_items_title]"  value="' . (isset($input_parameters['moduleOptionsData']['maximum_number_characters_items_title']) ? (int) $input_parameters['moduleOptionsData']['maximum_number_characters_items_title'] : '') . '" type="text" style="width:300px;margin-left: 2%;" />
						</h6>
					</div>
					
				</div>
				
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('Items\'s Excerpt', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][enable_items_excerpt]" type="checkbox" style="margin-left: 2%;" ' . (isset($input_parameters['moduleOptionsData']['enable_items_excerpt']) ? ' checked="checked" ' : '') . '  /> ' . __('Enable Items\'s Excerpt', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '
					</h6>
					
					<div class="wppepvn_hide wpoptimizebyxtraffic_enabled_items_excerpt">
						<h6>
							<span class="optimize_traffic_module_options_tilte">' . __('Maximum number of characters for items\'s excerpt?', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
							<input name="optimize_traffic_modules[' . $moduleId . '][maximum_number_characters_items_excerpt]"  value="' . (isset($input_parameters['moduleOptionsData']['maximum_number_characters_items_excerpt']) ? (int) $input_parameters['moduleOptionsData']['maximum_number_characters_items_excerpt'] : '') . '"  type="text" style="width:300px;margin-left: 2%;" />
						</h6>
					</div>
					
				</div>
				
				
				
				<div class="optimize_traffic_module_options postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('Open Links In New Window', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</span> : 
						<input name="optimize_traffic_modules[' . $moduleId . '][enable_open_links_in_new_windows]" type="checkbox" style="margin-left: 2%;" ' . (isset($input_parameters['moduleOptionsData']['enable_open_links_in_new_windows']) ? ' checked="checked" ' : '') . '  /> ' . __('Enable Open Links In New Window', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '
					</h6>
					
					
				</div> 
				
				
				
				<div class="optimize_traffic_module_options optimize_traffic_module_preview_container postbox" style="padding-top: 12px; padding-bottom: 12px;">
					
					<h6>
						<span class="optimize_traffic_module_options_tilte">' . __('Preview Module', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . ' ( <a href="#" class="optimize_traffic_module_preview_button_show_me"><b>' . __('Show me', WP_OPTIMIZE_BY_XTRAFFIC_PLUGIN_SLUG) . '</b></a> )</span> : 
					</h6>
					
					<div class="optimize_traffic_module_preview postbox" style="padding: 12px;margin-top: 26px;">
						
					</div>
					
					
					
				</div>
			</div>
			
		</div>
		
		';
        return $resultData;
    }
Example #4
0
    public static function parse_load_html_scripts_by_tag($input_parameters)
    {
        $resultData = '';
        if (isset($input_parameters['url']) || isset($input_parameters['code'])) {
            if (isset($input_parameters['url'])) {
                $input_parameters['url'] = self::removeProtocolUrl($input_parameters['url']);
                if (!isset($input_parameters['id'])) {
                    $input_parameters['id'] = Hash::crc32b($input_parameters['url']);
                }
            } else {
                if (isset($input_parameters['code'])) {
                    if (!isset($input_parameters['id'])) {
                        $input_parameters['id'] = Hash::crc32b(md5($input_parameters['code']));
                    }
                }
            }
            $loaderId = Hash::crc32b($input_parameters['id'] . '_loader');
            $loadTimeDelay = 5;
            if ('js' === $input_parameters['type']) {
                $loadTimeDelay = 5;
            } else {
                if (!isset($input_parameters['media'])) {
                    $input_parameters['media'] = 'all';
                }
            }
            $loadTimeDelay = (int) $loadTimeDelay;
            if ($loadTimeDelay < 1) {
                $loadTimeDelay = 1;
            }
            if ('js' === $input_parameters['load_by']) {
                if ('js' === $input_parameters['type']) {
                    $resultData = ' <script data-cfasync="false" language="javascript" type="text/javascript" id="' . $loaderId . '" defer async>
/*<![CDATA[*/
setTimeout(function() {
(function(e) { var t, n, r, s, i = "' . $input_parameters['id'] . '"; if(e.getElementById(i)) { return 0; } t = document.location.protocol; if(-1 !== t.indexOf("https")) { n = "https:"; } else { n = "http:"; } r = e.createElement("script"); r.setAttribute("data-cfasync","false"); r.id = i; r.setAttribute("language","javascript"); r.setAttribute("type","text/javascript"); r.async = true; r.src = n + "//' . $input_parameters['url'] . '"; s = e.getElementById("' . $loaderId . '"); s.parentNode.insertBefore(r, s); s.parentNode.removeChild(s); })(document);
}, ' . $loadTimeDelay . ');
/*]]>*/
</script> ';
                } else {
                    if ('css' === $input_parameters['type']) {
                        if (!isset($input_parameters['append_to'])) {
                            $input_parameters['append_to'] = 'head';
                        }
                        if ('head' === $input_parameters['append_to']) {
                            $resultData = ' <script language="javascript" type="text/javascript" id="' . $loaderId . '" defer async>
/*<![CDATA[*/
setTimeout(function() {
(function(e) { var t, n, r, s, hd = document.getElementsByTagName("head")[0], i = "' . $input_parameters['id'] . '"; if(e.getElementById(i)) { return 0; } t = document.location.protocol; if(-1 !== t.indexOf("https")) { n = "https:"; } else { n = "http:"; } r = e.createElement("link"); r.id = i; r.setAttribute("rel","stylesheet"); r.setAttribute("type","text/css"); r.setAttribute("media","' . $input_parameters['media'] . '"); r.async = true; r.href = n + "//' . $input_parameters['url'] . '"; hd.appendChild(r); s = e.getElementById("' . $loaderId . '"); s.parentNode.removeChild(s); })(document);
}, ' . (1 * $loadTimeDelay + 2) . ');
/*]]>*/
</script> ';
                        } else {
                            $resultData = ' <script language="javascript" type="text/javascript" id="' . $loaderId . '">
/*<![CDATA[*/
setTimeout(function() {
(function(e) { var t, n, r, s, i = "' . $input_parameters['id'] . '"; if(e.getElementById(i)) { return 0; } t = document.location.protocol; if(-1 !== t.indexOf("https")) { n = "https:"; } else { n = "http:"; } r = e.createElement("link"); r.id = i; r.setAttribute("rel","stylesheet"); r.setAttribute("type","text/css"); r.setAttribute("media","' . $input_parameters['media'] . '"); r.async = true; r.href = n + "//' . $input_parameters['url'] . '"; s = e.getElementById("' . $loaderId . '"); s.parentNode.insertBefore(r, s); s.parentNode.removeChild(s); })(document);
}, ' . $loadTimeDelay . ');
/*]]>*/
</script> ';
                        }
                    }
                }
            } else {
                if ('div_tag' === $input_parameters['load_by'] || 'js_data' === $input_parameters['load_by']) {
                    $configs = array('delay' => $loadTimeDelay, 'loader_id' => $loaderId, 'id' => $input_parameters['id'], 'type' => $input_parameters['type']);
                    if (isset($input_parameters['url'])) {
                        $configs['url'] = $input_parameters['url'];
                    } else {
                        if (isset($input_parameters['code'])) {
                            $configs['code'] = $input_parameters['code'];
                        }
                    }
                    if (isset($input_parameters['media'])) {
                        $configs['media'] = $input_parameters['media'];
                    }
                    if ('div_tag' === $input_parameters['load_by']) {
                        $resultData = ' <div class="wp-optimize-speed-by-xtraffic-loader-data-' . $input_parameters['type'] . '" id="' . $loaderId . '" data-pepvn-configs="' . Utils::encodeVar($configs) . '" style="display:none;"></div> ';
                    } else {
                        if ('js_data' === $input_parameters['load_by']) {
                            $keyStoreJs = 'window.wppepvnloaderdata' . $input_parameters['type'];
                            $resultData = ' <script language="javascript" type="text/javascript" id="' . $loaderId . '">
if(typeof(' . $keyStoreJs . ') === "undefined") { ' . $keyStoreJs . ' = new Array(); }
' . $keyStoreJs . '.push("' . Utils::encodeVar($configs) . '");
</script> ';
                        }
                    }
                }
            }
        }
        return $resultData;
    }
Example #5
0
 public function process_text($text)
 {
     $options = self::getOption();
     $classMethodKey = Hash::crc32b(__CLASS__ . '_' . __METHOD__);
     $textChecksum = Utils::hashKey($text);
     $keyCacheProcessText = Utils::hashKey(array($classMethodKey, $textChecksum, 'keyCacheProcessText', $options));
     $tmp = TempDataAndCacheFile::get_cache($keyCacheProcessText, true);
     if (null !== $tmp) {
         return $tmp;
     }
     global $post;
     $wpExtend = $this->di->getShared('wpExtend');
     $analyzeText = $this->di->getShared('analyzeText');
     $rsGetTerms = $wpExtend->getTermsByPostId($post->ID);
     $autolinks_case_sensitive = false;
     if (isset($options['autolinks_case_sensitive']) && 'on' === $options['autolinks_case_sensitive']) {
         $autolinks_case_sensitive = true;
     }
     $maxlinks = (int) $options['maxlinks'];
     if ($maxlinks < 0) {
         $maxlinks = 0;
     }
     $currentPostId = 0;
     if (isset($post->ID) && $post->ID) {
         $currentPostId = (int) $post->ID;
     }
     $currentPostType = '';
     if (isset($post->post_type) && $post->post_type) {
         $currentPostType = $post->post_type;
     }
     $patternsEscaped = array();
     $rsOne = PepVN_Data::escapeHtmlTagsAndContents($text, 'a;pre;script;style;link;meta;input;textarea;iframe;video;audio;object');
     $text = $rsOne['content'];
     if (!empty($rsOne['patterns'])) {
         $patternsEscaped = array_merge($patternsEscaped, $rsOne['patterns']);
     }
     unset($rsOne);
     if (isset($options['exclude_heading']) && 'on' === $options['exclude_heading']) {
         //escape a and h1 -> h6
         $rsOne = PepVN_Data::escapeHtmlTagsAndContents($text, 'a;h1;h2;h3;h4;h5;h6');
         $text = $rsOne['content'];
         if (!empty($rsOne['patterns'])) {
             $patternsEscaped = array_merge($patternsEscaped, $rsOne['patterns']);
         }
         unset($rsOne);
     }
     $rsOne = PepVN_Data::escapeHtmlTags($text);
     $text = $rsOne['content'];
     if (!empty($rsOne['patterns'])) {
         $patternsEscaped = array_merge($patternsEscaped, $rsOne['patterns']);
     }
     unset($rsOne);
     $text = ' ' . trim($text) . ' ';
     $group_keywords1 = $this->_get_data_custom_keywords();
     $numberTotalLinksAdded = 0;
     $targetPostTypesForSearch = array('post', 'page');
     if ($group_keywords1) {
         if (!empty($group_keywords1)) {
             //calculate weights of keywords
             $group_keywords2 = array_keys($group_keywords1);
             if (!$autolinks_case_sensitive) {
                 $group_keywords2 = implode(';', $group_keywords2);
                 $group_keywords2 = PepVN_Data::strtolower($group_keywords2);
                 $group_keywords2 = $analyzeText->frequencyOfAppearanceKeywordsInText($group_keywords2, PepVN_Data::strtolower($text));
             } else {
                 $group_keywords2 = implode(';', $group_keywords2);
                 $group_keywords2 = $analyzeText->frequencyOfAppearanceKeywordsInText($group_keywords2, $text);
             }
             if (!empty($group_keywords2)) {
                 arsort($group_keywords2);
                 $numberTotalLinks = 0;
                 foreach ($group_keywords2 as $key1 => $value1) {
                     if ($maxlinks > 0) {
                         if ($numberTotalLinksAdded >= $maxlinks) {
                             break;
                         }
                     }
                     $targetKeywordClean = PepVN_Data::strtolower(PepVN_Data::cleanKeyword($key1));
                     $checkStatus1 = false;
                     $targetLink1 = false;
                     if (isset($group_keywords1[$key1])) {
                         $targetLink2 = false;
                         $targetLinkTitle2 = false;
                         if ($group_keywords1[$key1] && !empty($group_keywords1[$key1])) {
                             $targetLinks1 = $group_keywords1[$key1];
                             if (!empty($targetLinks1)) {
                                 shuffle($targetLinks1);
                                 foreach ($targetLinks1 as $key2 => $value2) {
                                     $value2 = trim($value2);
                                     if ($value2) {
                                         if (!isset(PepVN_Data::$cacheData[$classMethodKey]['linksAdded'][$value2])) {
                                             $targetLink2 = $value2;
                                             $targetLinkTitle2 = $key1;
                                             break;
                                         }
                                     }
                                 }
                             }
                         }
                         if (!$targetLink2) {
                             if ($targetPostTypesForSearch && !empty($targetPostTypesForSearch)) {
                                 $rsTwo = $analyzeText->search_posts(array('keyword' => $key1, 'post_types' => $targetPostTypesForSearch));
                                 foreach ($rsTwo as $keyTwo => $valueTwo) {
                                     unset($rsTwo[$keyTwo]);
                                     $checkStatus2 = false;
                                     if ($valueTwo['post_id'] != $currentPostId) {
                                         $checkStatus2 = true;
                                     } else {
                                         if ($currentPostType === 'post') {
                                             if ('on' === $options['link_to_postself']) {
                                                 $checkStatus2 = true;
                                             }
                                         } else {
                                             if ($currentPostType === 'page') {
                                                 if ('on' === $options['link_to_pageself']) {
                                                     $checkStatus2 = true;
                                                 }
                                             }
                                         }
                                     }
                                     if ($checkStatus2) {
                                         if (isset(PepVN_Data::$cacheData[$classMethodKey]['linksAdded'][$valueTwo['post_link']])) {
                                             $checkStatus2 = false;
                                         }
                                     }
                                     if ($checkStatus2) {
                                         $targetLink2 = $valueTwo['post_link'];
                                         $targetLinkTitle2 = $valueTwo['post_title'];
                                         break;
                                     }
                                 }
                                 unset($rsTwo);
                             }
                         }
                         if ($targetLink2) {
                             $patterns2 = '#([\\s ,;\\.\\t]+)(' . Utils::preg_quote($key1) . ')([\\s ,;\\.\\t]+)#';
                             if (!$autolinks_case_sensitive) {
                                 $patterns2 .= 'i';
                             }
                             $replace2 = '\\1<a href="' . $targetLink2 . '" ' . ('on' === $options['autolinks_new_window'] ? ' target="_bank" ' : '') . ' title="';
                             if ($targetLinkTitle2) {
                                 $targetLinkTitle2 = PepVN_Data::cleanKeyword($targetLinkTitle2);
                             }
                             if ($targetLinkTitle2) {
                                 $replace2 .= $targetLinkTitle2 . '">';
                             } else {
                                 $replace2 .= '\\2">';
                             }
                             $replace2 .= '<strong>\\2</strong></a>\\3';
                             $text = preg_replace($patterns2, $replace2, $text, 1, $count2);
                             $count2 = (int) $count2;
                             if ($count2 > 0) {
                                 PepVN_Data::$cacheData[$classMethodKey]['linksAdded'][$targetLink2] = 1;
                                 PepVN_Data::$cacheData[$classMethodKey]['keywordsAdded'][$targetKeywordClean] = 1;
                                 $rsTwo = PepVN_Data::escapeHtmlTagsAndContents($text, 'a;strong');
                                 $text = $rsTwo['content'];
                                 if (!empty($rsTwo['patterns'])) {
                                     $patternsEscaped = array_merge($patternsEscaped, $rsTwo['patterns']);
                                 }
                                 unset($rsTwo);
                                 $numberTotalLinksAdded += $count2;
                                 if ($maxlinks > 0) {
                                     if ($numberTotalLinksAdded >= $maxlinks) {
                                         break;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     if (!empty($patternsEscaped)) {
         $text = str_replace(array_values($patternsEscaped), array_keys($patternsEscaped), $text);
     }
     unset($patternsEscaped);
     $text = $this->process_attributes_links($text);
     $text = trim($text);
     TempDataAndCacheFile::set_cache($keyCacheProcessText, $text, true);
     return $text;
 }