Skip to content

Commit

Permalink
fix the urlencode bug.
Browse files Browse the repository at this point in the history
  • Loading branch information
llaiajiale committed Nov 14, 2019
1 parent ee19d01 commit 8c521c3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 22 deletions.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "Informix DB driver for Laravel 5",
"keywords": ["informix", "laravel", "laravel 5", "ifx" ],
"license": "MIT",
"version": "1.1.0",
"version": "1.1.1",
"authors": [
{
"name": "llaiayumi",
Expand Down
34 changes: 13 additions & 21 deletions src/Poyii/Informix/IfxJsonConnection.php
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,9 @@ public function select($query, $bindings = [], $useReadPdo = true)
Log::debug("the sql is ${sql}");
}

$response = $client->get($uri, [ "query"=> [ "action" => "queryList", "source" => $source,
$response = $client->get($uri, [
"header" =>[ "Content-Type"=> "application/json; charset=utf-8",],
"query"=> [ "action" => "queryList", "source" => $source,
"_token"=>$token, "sql"=> $sql,
] ]);

Expand All @@ -236,15 +238,7 @@ public function select($query, $bindings = [], $useReadPdo = true)
if($json){
$results = json_decode($json);
if(is_array($results)){
foreach ($results as &$result){
foreach ($result as $key =>&$value){
if($value){
if(is_string($value) && substr($value, 0, 1) == '%'){
$value = urldecode($value);
}
}
}
}
$results = $this->parseResult($results);
}
return $results;
}
Expand All @@ -253,18 +247,16 @@ public function select($query, $bindings = [], $useReadPdo = true)
}

protected function parseResult($results){
if(!$results) return;
if(!$results) return $results;
foreach ($results as &$result){
foreach ($result as $key =>&$value){
if(!$value) continue;
if(is_array($value)){
$value = $this->parseResult($value);
} else if(is_object($value)){
$value = $this->parseResult($value);
} else if(is_string($value)){
if(substr($value, 0, 1) == '%'){
$value = urldecode($value);
}
if(!$result) continue;
if(is_array($result)){
$result = $this->parseResult($result);
} else if(is_object($result)){
$result = $this->parseResult($result);
} else if(is_string($result)){
if(substr($result, 0, 1) == '%'){
$result = rawurldecode($result);
}
}
}
Expand Down

0 comments on commit 8c521c3

Please sign in to comment.