Quellcode durchsuchen

select/deselect js unctions
fixed error: export without image
second db connection (maybe not need)

Alexander Musikhin vor 2 Jahren
Ursprung
Commit
a903d5414f

+ 3 - 4
app/Http/Controllers/ExportController.php

@@ -34,10 +34,9 @@ class ExportController extends Controller
         $my_template->cloneBlock('product_block', count($products), true, true, $vars_for_template);
 
         foreach ($vars_for_template as $k => $v){
-            if(str_starts_with($k, 'image') && file_exists($file = public_path() . '/' . env('IMAGES_PATH') . '/' . $v)){
-                $my_template->setImageValue($k, ['path' => $file,
-                        'width' => 270, 'height' => 180
-                ]);
+            $file = public_path() . '/' . env('IMAGES_PATH') . '/' . $v;
+            if(str_starts_with($k, 'image') && file_exists($file) && $v !== ''){
+                $my_template->setImageValue($k, ['path' => $file, 'width' => 270, 'height' => 180]);
             } else {
                 $my_template->setValue($k, $v);
             }

+ 20 - 0
config/database.php

@@ -63,6 +63,26 @@ return [
             ]) : [],
         ],
 
+        'mysql_2' => [
+            'driver' => 'mysql',
+            'url' => env('DATABASE_URL'),
+            'host' => env('DB_HOST', '127.0.0.1'),
+            'port' => env('DB_PORT', '3306'),
+            'database' => env('DB_DATABASE_2', 'forge'),
+            'username' => env('DB_USERNAME', 'forge'),
+            'password' => env('DB_PASSWORD', ''),
+            'unix_socket' => env('DB_SOCKET', ''),
+            'charset' => 'utf8mb4',
+            'collation' => 'utf8mb4_unicode_ci',
+            'prefix' => '',
+            'prefix_indexes' => true,
+            'strict' => true,
+            'engine' => null,
+            'options' => extension_loaded('pdo_mysql') ? array_filter([
+                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+            ]) : [],
+        ],
+
         'pgsql' => [
             'driver' => 'pgsql',
             'url' => env('DATABASE_URL'),

+ 11 - 8
resources/views/products/index.blade.php

@@ -125,6 +125,8 @@
     </form>
 
     <script>
+
+        // select all on page
         function toggle(source) {
             let checkboxes = document.querySelectorAll('.prd-chk');
             for(let i =0; i < checkboxes.length; i++){
@@ -134,11 +136,12 @@
             calc_selected();
         }
 
+        // select an deselect product to localstorage
         function select_product(id, status){
             let selected_products = JSON.parse(localStorage.getItem('selected_products'));
             if(!selected_products) selected_products = [];
 
-            console.log(status.checked);
+            // console.log(status.checked);
 
             if(status.checked){
                 // console.log('select '+id);
@@ -147,10 +150,11 @@
                 }
 
             } else {
-                // console.log('deselect '+id);
-                const index = selected_products.indexOf(id);
+
+                const index = selected_products.indexOf(id.toString());
                 if(index > -1){
                     selected_products.splice(index, 1);
+                    // console.log('deselect '+id);
                 }
             }
 
@@ -158,6 +162,7 @@
             calc_selected();
         }
 
+        // calcculate selected products and set checkboxes
         function calc_selected(){
             let selected_products = JSON.parse(localStorage.getItem('selected_products'));
             if(!selected_products) selected_products = [];
@@ -172,6 +177,7 @@
             }
         }
 
+        // reset all selected (flush localstorage var)
         function reset_selected(){
             localStorage.setItem('selected_products', JSON.stringify([]));
             let checkboxes = document.querySelectorAll('.prd-chk');
@@ -183,6 +189,7 @@
             calc_selected();
         }
 
+        // send selected ids by form
         function select_export(){
             let selected_products = localStorage.getItem('selected_products')
             //document.location = '{{ route('select_export') }}?ids='+selected_products;
@@ -190,13 +197,9 @@
             document.getElementById('select_export').submit();
         }
 
+        // on page load set checkboxes and calculate selected count
         calc_selected();
 
-
-
-
-
-
     </script>
 
 @endsection