Changeset 3215643
- Timestamp:
- 01/01/2025 12:42:02 PM (15 months ago)
- Location:
- mareike
- Files:
-
- 2 added
- 16 edited
- 1 copied
-
tags/3.7 (copied) (copied from mareike/trunk)
-
tags/3.7/app/controllers/invoices/class-userinvoices.php (modified) (1 diff)
-
tags/3.7/app/controllers/settings/class-showsettings.php (modified) (1 diff)
-
tags/3.7/app/models/class-invoice.php (modified) (1 diff)
-
tags/3.7/app/models/class-mainmodel.php (modified) (1 diff)
-
tags/3.7/app/views/invoices/overview.php (modified) (3 diffs)
-
tags/3.7/assets/stylesheets/pdfview.css (added)
-
tags/3.7/core/gui.php (modified) (1 diff)
-
tags/3.7/mareike.php (modified) (1 diff)
-
tags/3.7/readme.txt (modified) (2 diffs)
-
trunk/app/controllers/invoices/class-userinvoices.php (modified) (1 diff)
-
trunk/app/controllers/settings/class-showsettings.php (modified) (1 diff)
-
trunk/app/models/class-invoice.php (modified) (1 diff)
-
trunk/app/models/class-mainmodel.php (modified) (1 diff)
-
trunk/app/views/invoices/overview.php (modified) (3 diffs)
-
trunk/assets/stylesheets/pdfview.css (added)
-
trunk/core/gui.php (modified) (1 diff)
-
trunk/mareike.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
mareike/tags/3.7/app/controllers/invoices/class-userinvoices.php
r3212261 r3215643 12 12 13 13 use Illuminate\Database\Eloquent\Collection; 14 use Mareike\App\Models\Invoice; 14 15 use Mareike\App\Requests\GetUserInvoices; 16 15 17 16 18 class UserInvoices -
mareike/tags/3.7/app/controllers/settings/class-showsettings.php
r3211566 r3215643 54 54 switch ( $active_tab ) { 55 55 case 'tab1': 56 $plugin_data = get_plugin_data( KOMPASS_PLUGIN_STARTUP_FILE );56 $plugin_data = get_plugin_data( MAREIKE_PLUGIN_STARTUP_FILE ); 57 57 58 58 wp_enqueue_style( -
mareike/tags/3.7/app/models/class-invoice.php
r3211566 r3215643 36 36 */ 37 37 protected $fillable = array( 38 'travel_direction', 38 39 'costunit_id', 39 40 'user_id', -
mareike/tags/3.7/app/models/class-mainmodel.php
r3149645 r3215643 94 94 */ 95 95 public function setup(): void { 96 global $wpdb;96 global $wpdb; 97 97 98 $charset = $wpdb->get_charset_collate(); 99 $file_access = new FileAccess(); 100 $sql = "SHOW TABLES LIKE '$this->table'"; 98 $plugin_data = get_plugin_data( MAREIKE_PLUGIN_STARTUP_FILE, true, false ); 101 99 102 $sql_setup = str_replace( 103 '%tablename%', 104 $this->table, 105 $file_access->get_contents( MAREIKE_PLUGIN_DIR . '/install/database/' . $this->plainname . '.sql' ) 106 ); 100 $last_version = get_option('mareike_last_version', '0.0'); 101 if ($last_version !== $plugin_data['Version'] ) { 107 102 108 $sql_setup = str_replace( '%charset%', $charset, $sql_setup );109 $sql_setup = str_replace( '%prefix%', $wpdb->prefix, $sql_setup );110 103 111 dbDelta( $sql_setup ); 104 $charset = $wpdb->get_charset_collate(); 105 $file_access = new FileAccess(); 106 $sql = "SHOW TABLES LIKE '$this->table'"; 107 108 $sql_setup = str_replace( 109 '%tablename%', 110 $this->table, 111 $file_access->get_contents( MAREIKE_PLUGIN_DIR . '/install/database/' . $this->plainname . '.sql' ) 112 ); 113 114 $sql_setup = str_replace( '%charset%', $charset, $sql_setup ); 115 $sql_setup = str_replace( '%prefix%', $wpdb->prefix, $sql_setup ); 116 117 dbDelta( $sql_setup ); 118 update_option('mareike_last_version', (string)$plugin_data['Version']); 119 } 112 120 } 113 121 -
mareike/tags/3.7/app/views/invoices/overview.php
r3211566 r3215643 167 167 168 168 <div class="wrap"> 169 169 170 <canvas id="pdf-canvas"></canvas> 171 <div class="mareike-invoice-pdfview-controls"> 172 <button id="mareike-invoice-pdfview-prev-page" class="button">Vorherige Seite</button> 173 <span id="mareike-invoice-pdfview-page-info"></span> 174 <button id="mareike-invoice-pdfview-next-page" class="button">Nächste Seite</button> 175 </div> 170 176 <script type="module"> 171 177 import * as pdfjsLib from '<?php echo MAREIKE_PLUGIN_URL; ?>/assets/javascripts/pdf.mjs'; … … 173 179 pdfjsLib.GlobalWorkerOptions.workerSrc = '<?php echo MAREIKE_PLUGIN_URL; ?>/assets/javascripts/pdf.worker.mjs'; 174 180 181 182 // Globale Variablen 175 183 const url = '<?php echo admin_url("admin-ajax.php?action=mareike_show_ajax&method=show-receipt&invoice-id=" . $invoice->id); ?>' 184 let pdfDoc = null; 185 let currentPage = 1; 186 let totalPages = 0; 187 const scale = 1.5; // Zoom-Faktor 176 188 const canvas = document.getElementById('pdf-canvas'); 177 189 const context = canvas.getContext('2d'); 178 190 191 // PDF laden 179 192 pdfjsLib.getDocument(url).promise.then(pdf => { 180 pdf.getPage(1).then(page => { 181 const viewport = page.getViewport({ scale: 1.5 }); 193 pdfDoc = pdf; 194 totalPages = pdf.numPages; 195 document.getElementById('mareike-invoice-pdfview-page-info').textContent = `Seite ${currentPage} von ${totalPages}`; 196 renderPage(currentPage); 197 }).catch(error => { 198 console.error('Error loading PDF:', error); 199 alert('Fehler beim Laden der PDF-Datei: ' + error.message); 200 }); 201 202 // Seite rendern 203 function renderPage(pageNumber) { 204 pdfDoc.getPage(pageNumber).then(page => { 205 const viewport = page.getViewport({ scale }); 182 206 canvas.width = viewport.width; 183 207 canvas.height = viewport.height; … … 189 213 page.render(renderContext); 190 214 }); 191 }).catch(error => { 192 console.error('Error loading PDF:', error); 193 alert('Fehler beim Laden der PDF-Datei: ' + error.message); 215 } 216 217 // Navigation: Vorherige Seite 218 document.getElementById('mareike-invoice-pdfview-prev-page').addEventListener('click', () => { 219 if (currentPage <= 1) return; 220 currentPage--; 221 document.getElementById('mareike-invoice-pdfview-page-info').textContent = `Seite ${currentPage} von ${totalPages}`; 222 renderPage(currentPage); 223 }); 224 225 // Navigation: Nächste Seite 226 document.getElementById('mareike-invoice-pdfview-next-page').addEventListener('click', () => { 227 if (currentPage >= totalPages) return; 228 currentPage++; 229 document.getElementById('mareike-invoice-pdfview-page-info').textContent = `Seite ${currentPage} von ${totalPages}`; 230 renderPage(currentPage); 194 231 }); 195 232 </script> -
mareike/tags/3.7/core/gui.php
r3211566 r3215643 53 53 $plugin_data['Version'] 54 54 ); 55 56 wp_enqueue_style( 57 'mareike-pdfview-styles', 58 MAREIKE_PLUGIN_URL . '/assets/stylesheets/pdfview.css', 59 array(), 60 $plugin_data['Version'] 61 ); 55 62 56 63 wp_enqueue_script( -
mareike/tags/3.7/mareike.php
r3212261 r3215643 3 3 * Plugin Name: mareike 4 4 * Description: A tool to help associations to manage travel or material costs for events or ongoing jobs. 5 * Version: 3. 65 * Version: 3.7 6 6 * Tags: mareike, administration, fincance, travelmanagement, association tool 7 7 * Requires at least: 6.0 -
mareike/tags/3.7/readme.txt
r3212261 r3215643 4 4 Requires at least: 6.0 5 5 Tested up to: 6.7 6 Stable tag: 3. 66 Stable tag: 3.7 7 7 License: GPLv3 8 8 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 39 39 40 40 ## Changelog ## 41 = 3.7 = 42 * [BUG] Minor fixes in displaying own invoices 43 * [IMP] Pagination in inline PDF viewer 44 41 45 = 3.6 = 42 46 * [IMP] Improved usability for user invoices -
mareike/trunk/app/controllers/invoices/class-userinvoices.php
r3212261 r3215643 12 12 13 13 use Illuminate\Database\Eloquent\Collection; 14 use Mareike\App\Models\Invoice; 14 15 use Mareike\App\Requests\GetUserInvoices; 16 15 17 16 18 class UserInvoices -
mareike/trunk/app/controllers/settings/class-showsettings.php
r3211566 r3215643 54 54 switch ( $active_tab ) { 55 55 case 'tab1': 56 $plugin_data = get_plugin_data( KOMPASS_PLUGIN_STARTUP_FILE );56 $plugin_data = get_plugin_data( MAREIKE_PLUGIN_STARTUP_FILE ); 57 57 58 58 wp_enqueue_style( -
mareike/trunk/app/models/class-invoice.php
r3211566 r3215643 36 36 */ 37 37 protected $fillable = array( 38 'travel_direction', 38 39 'costunit_id', 39 40 'user_id', -
mareike/trunk/app/models/class-mainmodel.php
r3149645 r3215643 94 94 */ 95 95 public function setup(): void { 96 global $wpdb;96 global $wpdb; 97 97 98 $charset = $wpdb->get_charset_collate(); 99 $file_access = new FileAccess(); 100 $sql = "SHOW TABLES LIKE '$this->table'"; 98 $plugin_data = get_plugin_data( MAREIKE_PLUGIN_STARTUP_FILE, true, false ); 101 99 102 $sql_setup = str_replace( 103 '%tablename%', 104 $this->table, 105 $file_access->get_contents( MAREIKE_PLUGIN_DIR . '/install/database/' . $this->plainname . '.sql' ) 106 ); 100 $last_version = get_option('mareike_last_version', '0.0'); 101 if ($last_version !== $plugin_data['Version'] ) { 107 102 108 $sql_setup = str_replace( '%charset%', $charset, $sql_setup );109 $sql_setup = str_replace( '%prefix%', $wpdb->prefix, $sql_setup );110 103 111 dbDelta( $sql_setup ); 104 $charset = $wpdb->get_charset_collate(); 105 $file_access = new FileAccess(); 106 $sql = "SHOW TABLES LIKE '$this->table'"; 107 108 $sql_setup = str_replace( 109 '%tablename%', 110 $this->table, 111 $file_access->get_contents( MAREIKE_PLUGIN_DIR . '/install/database/' . $this->plainname . '.sql' ) 112 ); 113 114 $sql_setup = str_replace( '%charset%', $charset, $sql_setup ); 115 $sql_setup = str_replace( '%prefix%', $wpdb->prefix, $sql_setup ); 116 117 dbDelta( $sql_setup ); 118 update_option('mareike_last_version', (string)$plugin_data['Version']); 119 } 112 120 } 113 121 -
mareike/trunk/app/views/invoices/overview.php
r3211566 r3215643 167 167 168 168 <div class="wrap"> 169 169 170 <canvas id="pdf-canvas"></canvas> 171 <div class="mareike-invoice-pdfview-controls"> 172 <button id="mareike-invoice-pdfview-prev-page" class="button">Vorherige Seite</button> 173 <span id="mareike-invoice-pdfview-page-info"></span> 174 <button id="mareike-invoice-pdfview-next-page" class="button">Nächste Seite</button> 175 </div> 170 176 <script type="module"> 171 177 import * as pdfjsLib from '<?php echo MAREIKE_PLUGIN_URL; ?>/assets/javascripts/pdf.mjs'; … … 173 179 pdfjsLib.GlobalWorkerOptions.workerSrc = '<?php echo MAREIKE_PLUGIN_URL; ?>/assets/javascripts/pdf.worker.mjs'; 174 180 181 182 // Globale Variablen 175 183 const url = '<?php echo admin_url("admin-ajax.php?action=mareike_show_ajax&method=show-receipt&invoice-id=" . $invoice->id); ?>' 184 let pdfDoc = null; 185 let currentPage = 1; 186 let totalPages = 0; 187 const scale = 1.5; // Zoom-Faktor 176 188 const canvas = document.getElementById('pdf-canvas'); 177 189 const context = canvas.getContext('2d'); 178 190 191 // PDF laden 179 192 pdfjsLib.getDocument(url).promise.then(pdf => { 180 pdf.getPage(1).then(page => { 181 const viewport = page.getViewport({ scale: 1.5 }); 193 pdfDoc = pdf; 194 totalPages = pdf.numPages; 195 document.getElementById('mareike-invoice-pdfview-page-info').textContent = `Seite ${currentPage} von ${totalPages}`; 196 renderPage(currentPage); 197 }).catch(error => { 198 console.error('Error loading PDF:', error); 199 alert('Fehler beim Laden der PDF-Datei: ' + error.message); 200 }); 201 202 // Seite rendern 203 function renderPage(pageNumber) { 204 pdfDoc.getPage(pageNumber).then(page => { 205 const viewport = page.getViewport({ scale }); 182 206 canvas.width = viewport.width; 183 207 canvas.height = viewport.height; … … 189 213 page.render(renderContext); 190 214 }); 191 }).catch(error => { 192 console.error('Error loading PDF:', error); 193 alert('Fehler beim Laden der PDF-Datei: ' + error.message); 215 } 216 217 // Navigation: Vorherige Seite 218 document.getElementById('mareike-invoice-pdfview-prev-page').addEventListener('click', () => { 219 if (currentPage <= 1) return; 220 currentPage--; 221 document.getElementById('mareike-invoice-pdfview-page-info').textContent = `Seite ${currentPage} von ${totalPages}`; 222 renderPage(currentPage); 223 }); 224 225 // Navigation: Nächste Seite 226 document.getElementById('mareike-invoice-pdfview-next-page').addEventListener('click', () => { 227 if (currentPage >= totalPages) return; 228 currentPage++; 229 document.getElementById('mareike-invoice-pdfview-page-info').textContent = `Seite ${currentPage} von ${totalPages}`; 230 renderPage(currentPage); 194 231 }); 195 232 </script> -
mareike/trunk/core/gui.php
r3211566 r3215643 53 53 $plugin_data['Version'] 54 54 ); 55 56 wp_enqueue_style( 57 'mareike-pdfview-styles', 58 MAREIKE_PLUGIN_URL . '/assets/stylesheets/pdfview.css', 59 array(), 60 $plugin_data['Version'] 61 ); 55 62 56 63 wp_enqueue_script( -
mareike/trunk/mareike.php
r3212261 r3215643 3 3 * Plugin Name: mareike 4 4 * Description: A tool to help associations to manage travel or material costs for events or ongoing jobs. 5 * Version: 3. 65 * Version: 3.7 6 6 * Tags: mareike, administration, fincance, travelmanagement, association tool 7 7 * Requires at least: 6.0 -
mareike/trunk/readme.txt
r3212261 r3215643 4 4 Requires at least: 6.0 5 5 Tested up to: 6.7 6 Stable tag: 3. 66 Stable tag: 3.7 7 7 License: GPLv3 8 8 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 39 39 40 40 ## Changelog ## 41 = 3.7 = 42 * [BUG] Minor fixes in displaying own invoices 43 * [IMP] Pagination in inline PDF viewer 44 41 45 = 3.6 = 42 46 * [IMP] Improved usability for user invoices
Note: See TracChangeset
for help on using the changeset viewer.