KUNTUL | JINGKONTOT
JINGKONTOT


Server : Apache/2.4.41 (Ubuntu)
System : Linux journalup 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/lib/pkp/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/lib/pkp/lib/laravel-binding-6718.diff
diff -r -u a/src/Illuminate/Database/Query/Builder.php b/src/Illuminate/Database/Query/Builder.php
--- a/src/Illuminate/Database/Query/Builder.php
+++ b/src/Illuminate/Database/Query/Builder.php
@@ -293,6 +293,17 @@
     }
 
     /**
+     * Returns scalar type value from an unknown type of input.
+     *
+     * @param  mixed  $value
+     * @return mixed
+     */
+    protected function scalarValue($value)
+    {
+        return is_array($value) ? head(Arr::flatten($value)) : $value;
+    }
+
+    /**
      * Creates a subquery and parse it.
      *
      * @param  \Closure|\Illuminate\Database\Query\Builder|string $query
@@ -658,7 +669,7 @@
         );
 
         if (! $value instanceof Expression) {
-            $this->addBinding(is_array($value) ? head($value) : $value, 'where');
+            $this->addBinding($this->scalarValue($value), 'where');
         }
 
         return $this;
@@ -1050,7 +1061,7 @@
 
         $this->wheres[] = compact('type', 'column', 'values', 'boolean', 'not');
 
-        $this->addBinding(array_slice($this->cleanBindings($values), 0, 2), 'where');
+        $this->addBinding(array_slice($this->cleanBindings(Arr::flatten($values)), 0, 2), 'where');
 
         return $this;
     }
@@ -1118,7 +1129,7 @@
             $value, $operator, func_num_args() === 2
         );
 
-        $value = is_array($value) ? head($value) : $value;
+	$value = $this->scalarValue($value);
 
         if ($value instanceof DateTimeInterface) {
             $value = $value->format('Y-m-d');
@@ -1159,7 +1170,7 @@
             $value, $operator, func_num_args() === 2
         );
 
-        $value = is_array($value) ? head($value) : $value;
+	$value = $this->scalarValue($value);
 
         if ($value instanceof DateTimeInterface) {
             $value = $value->format('H:i:s');
@@ -1200,7 +1211,7 @@
             $value, $operator, func_num_args() === 2
         );
 
-        $value = is_array($value) ? head($value) : $value;
+	$value = $this->scalarValue($value);
 
         if ($value instanceof DateTimeInterface) {
             $value = $value->format('d');
@@ -1245,7 +1256,7 @@
             $value, $operator, func_num_args() === 2
         );
 
-        $value = is_array($value) ? head($value) : $value;
+	$value = $this->scalarValue($value);
 
         if ($value instanceof DateTimeInterface) {
             $value = $value->format('m');
@@ -1290,7 +1301,7 @@
             $value, $operator, func_num_args() === 2
         );
 
-        $value = is_array($value) ? head($value) : $value;
+	$value = $this->scalarValue($value);
 
         if ($value instanceof DateTimeInterface) {
             $value = $value->format('Y');
@@ -1598,7 +1609,7 @@
         $this->wheres[] = compact('type', 'column', 'operator', 'value', 'boolean');
 
         if (! $value instanceof Expression) {
-            $this->addBinding((int) $value);
+            $this->addBinding((int) $this->scalarValue($value));
         }
 
         return $this;
@@ -1731,7 +1742,7 @@
         $this->havings[] = compact('type', 'column', 'operator', 'value', 'boolean');
 
         if (! $value instanceof Expression) {
-            $this->addBinding(is_array($value) ? head($value) : $value, 'having');
+            $this->addBinding($this->scalarValue($value), 'having');
         }
 
         return $this;
@@ -1769,7 +1780,7 @@
 
         $this->havings[] = compact('type', 'column', 'values', 'boolean', 'not');
 
-        $this->addBinding($this->cleanBindings($values), 'having');
+	$this->addBinding(array_slice($this->cleanBindings(Arr::flatten($values)), 0, 2), 'having');
 
         return $this;
     }

KUNTUL | JINGKONTOT |