avsaimincekas
Forum Replies Created
Viewing 8 replies - 1 through 8 (of 8 total)
-
Forum: Plugins
In reply to: [WP Fastest Cache] PHP Notice Log – Undefined offsetIt has worked! Thank you for your patience and amazing support! I am already using premium fastest cache and gonna donate you for your efforts!
Best regards.
Forum: Plugins
In reply to: [WP Fastest Cache] PHP Notice Log – Undefined offset67th line is: $this->mergeJs($prev_content,
Forum: Plugins
In reply to: [WP Fastest Cache] PHP Notice Log – Undefined offsetSorry, sure that file is like that:
<?php class JsUtilities{ private $wpfc; private $html = ""; private $jsLinks = array(); private $jsLinksExcept = ""; private $url = ""; private $minify; public function __construct($wpfc, $html, $minify = false){ //$this->html = preg_replace("/\s+/", " ", ((string) $html)); $this->minify = $minify; $this->wpfc = $wpfc; $this->html = $html; $this->setJsLinksExcept(); $this->setJsLinks(); } public function check_exclude($js_url = false){ if($js_url){ foreach((array)$this->wpfc->exclude_rules as $key => $value){ if(isset($value->prefix) && $value->prefix && $value->type == "js"){ if($value->prefix == "contain"){ $preg_match_rule = preg_quote($value->content, "/"); } if(preg_match("/".$preg_match_rule."/i", $js_url)){ return true; } } } } } public function combine_js(){ if(count($this->jsLinks) > 0){ $prev_content = ""; foreach($this->jsLinks as $key => $value){ $script_tag = substr($this->html, $value["start"], ($value["end"] - $value["start"] + 1)); if(!preg_match("/<script[^>]+json[^>]+>.+/", $script_tag) && !preg_match("/<script[^>]+text\/template[^>]+>.+/", $script_tag)){ if($href = $this->checkInternal($script_tag)){ if(strpos($this->jsLinksExcept, $href) === false){ if($key > 0 && $this->check_exclude($href)){ $this->mergeJs($prev_content, $this->jsLinks[$key - 1]); $prev_content = ""; continue; } $minifiedJs = $this->minify($href); if($minifiedJs){ if(!is_dir($minifiedJs["cachFilePath"])){ $this->wpfc->createFolder($minifiedJs["cachFilePath"], $minifiedJs["jsContent"], "js"); } if($jsFiles = @scandir($minifiedJs["cachFilePath"], 1)){ $jsFiles[0] = preg_replace("/\.gz$/", "", $jsFiles[0]); if($jsContent = $this->file_get_contents_curl($minifiedJs["url"]."/".$jsFiles[0]."?v=".time())){ if(preg_match("/^[\"\']use strict[\"\']/i", $jsContent)){ $this->mergeJs($prev_content, $this->jsLinks[$key - 1]); $prev_content = ""; }else{ $prev_content = $jsContent."\n".$prev_content; $script_tag = "<!-- ".$script_tag." -->"; if(($key + 1) == count($this->jsLinks)){ $this->mergeJs($prev_content, $value, true); $prev_content = ""; }else{ $this->html = substr_replace($this->html, $script_tag, $value["start"], ($value["end"] - $value["start"] + 1)); } } } } }else{ if($key > 0 && $prev_content){ $this->mergeJs($prev_content, $this->jsLinks[$key - 1]); $prev_content = ""; } } }else{ if($key > 0 && $prev_content){ $this->mergeJs($prev_content, $this->jsLinks[$key - 1]); $prev_content = ""; } } }else{ if($key > 0 && $prev_content){ $this->mergeJs($prev_content, $this->jsLinks[$key - 1]); $prev_content = ""; } } }else{ if($key > 0 && $prev_content){ $this->mergeJs($prev_content, $this->jsLinks[$key - 1]); $prev_content = ""; } } } } return $this->html; } public function setJsLinks(){ $data = $this->html; $script_list = array(); $script_start_index = false; for($i = 0; $i < strlen( $data ); $i++) { if(isset($data[$i-6])){ if(substr($data, $i-6, 7) == "<script"){ $script_start_index = $i-6; } } if(isset($data[$i-8])){ if($script_start_index){ if(substr($data, $i-8, 9) == "</script>"){ array_push($script_list, array("start" => $script_start_index, "end" => $i)); $script_start_index = false; } } } } if(count($script_list) > 0){ $this->jsLinks = array_reverse($script_list); } // to update jsLinksExcept foreach($this->jsLinks as $key => $value){ $script_tag = substr($this->html, $value["start"], ($value["end"] - $value["start"] + 1)); if(preg_match("/wp-spamshield\/js\/jscripts\.php/i", $script_tag)){ $this->jsLinksExcept = $this->jsLinksExcept.$script_tag; } //amazonjs/components/js/jquery-tmpl/jquery.tmpl.min.js?ver=1.0.0pre if(preg_match("/jquery-tmpl\/jquery\.tmpl\.min\.js/i", $script_tag)){ $this->jsLinksExcept = $this->jsLinksExcept.$script_tag; } } } public function setJsLinksExcept(){ $comment_tags = $this->find_tags("<!--", "-->"); $document_write = $this->find_tags("document.write(", ")"); foreach ($comment_tags as $key => $value) { if(preg_match("/<script/i", $value["text"]) && preg_match("/<\/script/i", $value["text"])){ $this->jsLinksExcept = $value["text"].$this->jsLinksExcept; } } foreach ($document_write as $key => $value) { $this->jsLinksExcept = $value["text"].$this->jsLinksExcept; } } public function minify($url){ $this->url = $url; $md5 = $this->wpfc->create_name($url); $cachFilePath = $this->wpfc->getWpContentDir("/cache/wpfc-minified")."/".$md5; $jsLink = $this->convert_path_to_link($cachFilePath); if(is_dir($cachFilePath)){ return array("cachFilePath" => $cachFilePath, "jsContent" => "", "url" => $jsLink); }else{ if($js = $this->file_get_contents_curl($url)){ if($this->minify){ if(class_exists("WpFastestCachePowerfulHtml")){ $powerful_html = new WpFastestCachePowerfulHtml(); $js = $powerful_html->minify_js($js); }else{ $js = "\n// source --> ".$url." \n".$js; } }else{ $js = "\n// source --> ".$url." \n".$js; } return array("cachFilePath" => $cachFilePath, "jsContent" => $js, "url" => $jsLink); } } return false; } public function checkInternal($link){ $httpHost = str_replace("www.", "", $_SERVER["HTTP_HOST"]); if(preg_match("/^<script[^\>]+\>/i", $link, $script)){ if(preg_match("/src=[\"\'](.*?)[\"\']/", $script[0], $src)){ if(preg_match("/alexa\.com\/site\_stats/i", $src[1])){ return false; } if(preg_match("/^\/[^\/]/", $src[1])){ return $src[1]; } if(preg_match("/".preg_quote($httpHost, "/")."/i", $src[1])){ //<script src="https://server1.opentracker.net/?site=www.site.com"></script> if(preg_match("/[\?\=].*".preg_quote($httpHost, "/")."/i", $src[1])){ return false; } return $src[1]; } } } return false; } public function mergeJs($js_content, $value, $last = false){ $name = md5($js_content); $name = base_convert(crc32($name), 20, 36); $cachFilePath = $this->wpfc->getWpContentDir("/cache/wpfc-minified")."/".$name; $jsLink = $this->convert_path_to_link($cachFilePath); if(!is_dir($cachFilePath)){ $this->wpfc->createFolder($cachFilePath, $js_content, "js"); } if(is_dir($cachFilePath)){ if($jsFiles = @scandir($cachFilePath, 1)){ $newLink = "<script src='".$jsLink."/".$jsFiles[0]."' type=\"text/javascript\"></script>"; $script_tag = substr($this->html, $value["start"], ($value["end"] - $value["start"] + 1)); if($last){ $script_tag = $newLink."\n<!-- ".$script_tag." -->\n"; }else{ $script_tag = $newLink."\n".$script_tag; } $this->html = substr_replace($this->html, $script_tag, $value["start"], ($value["end"] - $value["start"] + 1)); } } } public function convert_path_to_link($path){ preg_match("/\/cache\/.+/", $path, $out); $prefixLink = str_replace(array("http:", "https:"), "", WPFC_WP_CONTENT_URL); return $prefixLink.$out[0]; } public function file_get_contents_curl($url) { if($data = $this->wpfc->read_file($url)){ return $data; } if(!preg_match("/\.php$/", $url)){ $url = $url."?v=".time(); } if(preg_match("/^\/[^\/]/", $url)){ $url = home_url().$url; } $url = preg_replace("/^\/\//", "https://", $url); $response = wp_remote_get($url, array('timeout' => 10 ) ); if ( !$response || is_wp_error( $response ) ) { return false; }else{ if(wp_remote_retrieve_response_code($response) == 200){ $data = wp_remote_retrieve_body( $response ); if(preg_match("/<\/\s*html\s*>\s*$/i", $data)){ return false; }else{ return $data; } } } } public function find_tags($start_string, $end_string){ $data = $this->html; $list = array(); $start_index = false; $end_index = false; for($i = 0; $i < strlen( $data ); $i++) { if(substr($data, $i, strlen($start_string)) == $start_string){ $start_index = $i; } if($start_index && $i > $start_index){ if(substr($data, $i, strlen($end_string)) == $end_string){ $end_index = $i + strlen($end_string)-1; $text = substr($data, $start_index, ($end_index-$start_index + 1)); array_push($list, array("start" => $start_index, "end" => $end_index, "text" => $text)); $start_index = false; $end_index = false; } } } return $list; } } ?>
Forum: Plugins
In reply to: [WP Fastest Cache] PHP Notice Log – Undefined offsetHello Mr. Emre, PHP notices are like these:
[02-Dec-2022 18:52:54 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:53:25 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:55:56 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:57:01 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:57:32 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:57:45 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:58:12 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:58:20 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:58:25 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:58:52 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67 [02-Dec-2022 18:59:14 UTC] PHP Notice: Undefined offset: -1 in /home/avsaimin/public_html/wp-content/plugins/wp-fastest-cache/inc/js-utilities.php on line 67
Forum: Plugins
In reply to: [WP Fastest Cache] PHP Notice Log – Undefined offsetI have changed the files via link. Same line 67 error still continues :(, for your information.
Forum: Plugins
In reply to: [WP Fastest Cache] PHP Notice Log – Undefined offsetLatest version of pluguin is “6.1.1” right? I am already using latest version.
Forum: Plugins
In reply to: [XML Sitemap Generator for Google] PHP NoticeI am getting same error. Seems like an update required.
Forum: Plugins
In reply to: [CM Tooltip Glossary] AMP SupportThis request conflicts with nature of AMP. I think researching on how to entegrate tooltips in AMP is an useless effort.
Viewing 8 replies - 1 through 8 (of 8 total)