fix google cse image crash + added word autocorrect
This commit is contained in:
		
							parent
							
								
									070f9d442b
								
							
						
					
					
						commit
						aaa30c79f5
					
				| @ -268,6 +268,13 @@ class google_cse{ | |||||||
| 					"yes" => "Yes", // safe=active
 | 					"yes" => "Yes", // safe=active
 | ||||||
| 					"no" => "No" // safe=off
 | 					"no" => "No" // safe=off
 | ||||||
| 				] | 				] | ||||||
|  | 			], | ||||||
|  | 			"spellcheck" => [ | ||||||
|  | 				// display undefined
 | ||||||
|  | 				"option" => [ | ||||||
|  | 					"yes" => "Yes", | ||||||
|  | 					"no" => "No" | ||||||
|  | 				] | ||||||
| 			] | 			] | ||||||
| 		]; | 		]; | ||||||
| 		 | 		 | ||||||
| @ -538,6 +545,11 @@ class google_cse{ | |||||||
| 				"rurl" => "https://cse.google.com/cse?cx=" . config::GOOGLE_CX_ENDPOINT . "#gsc.tab=0&gsc.q=" . $get["s"] . "&gsc.sort=" | 				"rurl" => "https://cse.google.com/cse?cx=" . config::GOOGLE_CX_ENDPOINT . "#gsc.tab=0&gsc.q=" . $get["s"] . "&gsc.sort=" | ||||||
| 			]; | 			]; | ||||||
| 			 | 			 | ||||||
|  | 			if($get["spellcheck"] == "no"){ | ||||||
|  | 				 | ||||||
|  | 				$req_params["nfpr"] = "1"; | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
| 			$json = | 			$json = | ||||||
| 				$this->get( | 				$this->get( | ||||||
| 					$proxy, | 					$proxy, | ||||||
| @ -596,6 +608,42 @@ class google_cse{ | |||||||
| 			"related" => [] | 			"related" => [] | ||||||
| 		]; | 		]; | ||||||
| 		 | 		 | ||||||
|  | 		// detect word correction
 | ||||||
|  | 		if(isset($json["spelling"]["type"])){ | ||||||
|  | 			 | ||||||
|  | 			switch($json["spelling"]["type"]){ | ||||||
|  | 				 | ||||||
|  | 				case "DYM": // did you mean? @TODO fix wording
 | ||||||
|  | 					$type = "including"; | ||||||
|  | 					break; | ||||||
|  | 				 | ||||||
|  | 				case "SPELL_CORRECTED_RESULTS": // not many results for
 | ||||||
|  | 					$type = "not_many"; | ||||||
|  | 					break; | ||||||
|  | 				 | ||||||
|  | 				default: | ||||||
|  | 					$type = "not_many"; | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			if(isset($json["spelling"]["originalQuery"])){ | ||||||
|  | 				 | ||||||
|  | 				$using = $json["spelling"]["originalQuery"]; | ||||||
|  | 			} | ||||||
|  | 			elseif(isset($json["spelling"]["anchor"])){ | ||||||
|  | 				 | ||||||
|  | 				$using = html_entity_decode(strip_tags($json["spelling"]["anchor"])); | ||||||
|  | 			}elseif(isset($json["spelling"]["originalAnchor"])){ | ||||||
|  | 				 | ||||||
|  | 				$using = html_entity_decode(strip_tags($json["spelling"]["originalAnchor"])); | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			$out["spelling"] = [ | ||||||
|  | 				"type" => $type, | ||||||
|  | 				"using" => $using, | ||||||
|  | 				"correction" => $json["spelling"]["correctedQuery"] | ||||||
|  | 			]; | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
| 		if(!isset($json["results"])){ | 		if(!isset($json["results"])){ | ||||||
| 			 | 			 | ||||||
| 			return $out; | 			return $out; | ||||||
| @ -729,8 +777,6 @@ class google_cse{ | |||||||
| 	 | 	 | ||||||
| 	public function image($get){ | 	public function image($get){ | ||||||
| 		 | 		 | ||||||
| 		 |  | ||||||
| 		 |  | ||||||
| 		if($get["npt"]){ | 		if($get["npt"]){ | ||||||
| 			 | 			 | ||||||
| 			[$req_params, $proxy] = | 			[$req_params, $proxy] = | ||||||
| @ -858,6 +904,12 @@ class google_cse{ | |||||||
| 			throw new Exception("Google returned an error object"); | 			throw new Exception("Google returned an error object"); | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
|  | 		$out = [ | ||||||
|  | 			"status" => "ok", | ||||||
|  | 			"npt" => null, | ||||||
|  | 			"image" => [] | ||||||
|  | 		]; | ||||||
|  | 		 | ||||||
| 		// detect next page
 | 		// detect next page
 | ||||||
| 		if( | 		if( | ||||||
| 			isset($json["cursor"]["isExactTotalResults"]) || // detects last page
 | 			isset($json["cursor"]["isExactTotalResults"]) || // detects last page
 | ||||||
| @ -867,12 +919,6 @@ class google_cse{ | |||||||
| 			return $out; | 			return $out; | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		$out = [ |  | ||||||
| 			"status" => "ok", |  | ||||||
| 			"npt" => null, |  | ||||||
| 			"image" => [] |  | ||||||
| 		]; |  | ||||||
| 		 |  | ||||||
| 		foreach($json["results"] as $result){ | 		foreach($json["results"] as $result){ | ||||||
| 			 | 			 | ||||||
| 			$out["image"][] = [ | 			$out["image"][] = [ | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 lolcat
						lolcat