Max F vor 5 Jahren
Ursprung
Commit
0e47782a24
4 geänderte Dateien mit 37 neuen und 16 gelöschten Zeilen
  1. 0 4
      src/App.php
  2. 25 10
      src/Database/Sql/SqlTable.php
  3. 5 1
      src/Routing/Controllers/WebAppController.php
  4. 7 1
      src/WebApp.php

+ 0 - 4
src/App.php

@@ -73,10 +73,6 @@ class App
 		}
 
 
-		// LOAD ROUTES
-		require APP_DIR . '/config/routes.php'; // NOTE => a déplacer dans \KarmaFW\WebApp::boot() ??
-
-
 		if (defined('USE_HOOKS') && USE_HOOKS) {
 			HooksManager::applyHook('app.boot.after', []);
 		}

+ 25 - 10
src/Database/Sql/SqlTable.php

@@ -120,24 +120,39 @@ class SqlTable
 		}
 
 
-		$inserts_sql = implode(', ', $values_array);
-
 		$ignore_sql = empty($options['ignore']) ? '' : 'ignore';
-
 		$on_duplicate_key_updates_sql = empty($options['on_duplicate_key_updates']) ? "" : ("on duplicate key update " . $options['on_duplicate_key_updates']);
-		// TODO: gerer on_duplicate_key_updates comme le where, dans un tableau et non dans un string
 
-		$query = "insert " . $ignore_sql . " into " . $this->table_name . " (" . $fields_sql . ") values " . $inserts_sql . " " . $on_duplicate_key_updates_sql;
 
-		if (! empty($options['debug'])) {
-			echo "<pre>" .preg_replace('/\s+/', ' ', $query) . "</pre>";
+		$chunks = [];
+		if (empty($options['chunk'])) {
+			$chunks = [$values_array];
+
+		} else {
+			$chunks = array_chunk($values_array, $options['chunk']);
 		}
 
-		if (! empty($options['dry'])) {
-			return true;
+		$ok = false;
+
+		foreach ($chunks as $chunk) {
+			$inserts_sql = implode(', ', $chunk);
+
+			// TODO: gerer on_duplicate_key_updates comme le where, dans un tableau et non dans un string
+
+			$query = "insert " . $ignore_sql . " into " . $this->table_name . " (" . $fields_sql . ") values " . $inserts_sql . " " . $on_duplicate_key_updates_sql;
+
+			if (! empty($options['debug'])) {
+				echo "<pre>" .preg_replace('/\s+/', ' ', $query) . "</pre>";
+			}
+
+			if (isset($options['dry'])) {
+				$ok = $options['dry'];
+			} else {
+				$ok = $this->db->createQuery()->executeInsertAll($query);
+			}
 		}
 
-		return $this->db->createQuery()->executeInsertAll($query);
+		return $ok;
 	}
 
 

+ 5 - 1
src/Routing/Controllers/WebAppController.php

@@ -18,7 +18,11 @@ class WebAppController extends AppController
 	
 	public function __construct($request_uri=null, $request_method=null, $route=null)
 	{
-		parent::__construct($request_uri, $request_method, $route);
+		parent::__construct();
+
+		$this->request_uri = $request_uri;
+		$this->request_method = $request_method;
+		$this->route = $route;
 
 		if (defined('USE_HOOKS') && USE_HOOKS) {
 			HooksManager::applyHook('webcontroller.before', [$this]);

+ 7 - 1
src/WebApp.php

@@ -22,7 +22,8 @@ class WebApp extends App
 			HooksManager::applyHook('webapp.boot.before', []);
 		}
 
-		// start session
+
+		// START SESSION
 		if (empty(session_id())) {
 			if (defined('SESSION_NAME') && ! empty(SESSION_NAME)) {
 				session_name(SESSION_NAME);
@@ -37,6 +38,11 @@ class WebApp extends App
 			session_start();
 		}
 
+
+		// LOAD ROUTES
+		require APP_DIR . '/config/routes.php'; // NOTE => a déplacer dans \KarmaFW\WebApp::boot() ??
+
+
 		if (defined('USE_HOOKS') && USE_HOOKS) {
 			HooksManager::applyHook('webapp.boot.after', []);
 		}