Plugin Directory

Changeset 3215643


Ignore:
Timestamp:
01/01/2025 12:42:02 PM (15 months ago)
Author:
tidschi
Message:

Update to version 3.7 from GitHub

Location:
mareike
Files:
2 added
16 edited
1 copied

Legend:

Unmodified
Added
Removed
  • mareike/tags/3.7/app/controllers/invoices/class-userinvoices.php

    r3212261 r3215643  
    1212
    1313use Illuminate\Database\Eloquent\Collection;
     14use Mareike\App\Models\Invoice;
    1415use Mareike\App\Requests\GetUserInvoices;
     16
    1517
    1618class UserInvoices
  • mareike/tags/3.7/app/controllers/settings/class-showsettings.php

    r3211566 r3215643  
    5454        switch ( $active_tab ) {
    5555            case 'tab1':
    56                 $plugin_data = get_plugin_data( KOMPASS_PLUGIN_STARTUP_FILE );
     56                $plugin_data = get_plugin_data( MAREIKE_PLUGIN_STARTUP_FILE );
    5757
    5858                wp_enqueue_style(
  • mareike/tags/3.7/app/models/class-invoice.php

    r3211566 r3215643  
    3636     */
    3737    protected $fillable = array(
     38        'travel_direction',
    3839        'costunit_id',
    3940        'user_id',
  • mareike/tags/3.7/app/models/class-mainmodel.php

    r3149645 r3215643  
    9494     */
    9595    public function setup(): void {
    96         global $wpdb;
     96        global $wpdb;
    9797
    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 );
    10199
    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'] ) {
    107102
    108         $sql_setup = str_replace( '%charset%', $charset, $sql_setup );
    109         $sql_setup = str_replace( '%prefix%', $wpdb->prefix, $sql_setup );
    110103
    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        }
    112120    }
    113121
  • mareike/tags/3.7/app/views/invoices/overview.php

    r3211566 r3215643  
    167167
    168168        <div class="wrap">
     169
    169170            <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>
    170176            <script type="module">
    171177                import * as pdfjsLib from '<?php echo MAREIKE_PLUGIN_URL; ?>/assets/javascripts/pdf.mjs';
     
    173179                pdfjsLib.GlobalWorkerOptions.workerSrc = '<?php echo MAREIKE_PLUGIN_URL; ?>/assets/javascripts/pdf.worker.mjs';
    174180
     181
     182                // Globale Variablen
    175183                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
    176188                const canvas = document.getElementById('pdf-canvas');
    177189                const context = canvas.getContext('2d');
    178190
     191                // PDF laden
    179192                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 });
    182206                        canvas.width = viewport.width;
    183207                        canvas.height = viewport.height;
     
    189213                        page.render(renderContext);
    190214                    });
    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);
    194231                });
    195232            </script>
  • mareike/tags/3.7/core/gui.php

    r3211566 r3215643  
    5353        $plugin_data['Version']
    5454    );
     55
     56    wp_enqueue_style(
     57        'mareike-pdfview-styles',
     58        MAREIKE_PLUGIN_URL . '/assets/stylesheets/pdfview.css',
     59        array(),
     60        $plugin_data['Version']
     61    );
    5562
    5663    wp_enqueue_script(
  • mareike/tags/3.7/mareike.php

    r3212261 r3215643  
    33 * Plugin Name:  mareike
    44 * Description: A tool to help associations to manage travel or material costs for events or ongoing jobs.
    5  * Version: 3.6
     5 * Version: 3.7
    66 * Tags: mareike, administration, fincance, travelmanagement, association tool
    77 * Requires at least: 6.0
  • mareike/tags/3.7/readme.txt

    r3212261 r3215643  
    44Requires at least: 6.0
    55Tested up to: 6.7
    6 Stable tag: 3.6
     6Stable tag: 3.7
    77License: GPLv3
    88License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    3939
    4040## Changelog ##
     41= 3.7 =
     42* [BUG] Minor fixes in displaying own invoices
     43* [IMP] Pagination in inline PDF viewer
     44
    4145= 3.6 =
    4246* [IMP] Improved usability for user invoices
  • mareike/trunk/app/controllers/invoices/class-userinvoices.php

    r3212261 r3215643  
    1212
    1313use Illuminate\Database\Eloquent\Collection;
     14use Mareike\App\Models\Invoice;
    1415use Mareike\App\Requests\GetUserInvoices;
     16
    1517
    1618class UserInvoices
  • mareike/trunk/app/controllers/settings/class-showsettings.php

    r3211566 r3215643  
    5454        switch ( $active_tab ) {
    5555            case 'tab1':
    56                 $plugin_data = get_plugin_data( KOMPASS_PLUGIN_STARTUP_FILE );
     56                $plugin_data = get_plugin_data( MAREIKE_PLUGIN_STARTUP_FILE );
    5757
    5858                wp_enqueue_style(
  • mareike/trunk/app/models/class-invoice.php

    r3211566 r3215643  
    3636     */
    3737    protected $fillable = array(
     38        'travel_direction',
    3839        'costunit_id',
    3940        'user_id',
  • mareike/trunk/app/models/class-mainmodel.php

    r3149645 r3215643  
    9494     */
    9595    public function setup(): void {
    96         global $wpdb;
     96        global $wpdb;
    9797
    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 );
    10199
    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'] ) {
    107102
    108         $sql_setup = str_replace( '%charset%', $charset, $sql_setup );
    109         $sql_setup = str_replace( '%prefix%', $wpdb->prefix, $sql_setup );
    110103
    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        }
    112120    }
    113121
  • mareike/trunk/app/views/invoices/overview.php

    r3211566 r3215643  
    167167
    168168        <div class="wrap">
     169
    169170            <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>
    170176            <script type="module">
    171177                import * as pdfjsLib from '<?php echo MAREIKE_PLUGIN_URL; ?>/assets/javascripts/pdf.mjs';
     
    173179                pdfjsLib.GlobalWorkerOptions.workerSrc = '<?php echo MAREIKE_PLUGIN_URL; ?>/assets/javascripts/pdf.worker.mjs';
    174180
     181
     182                // Globale Variablen
    175183                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
    176188                const canvas = document.getElementById('pdf-canvas');
    177189                const context = canvas.getContext('2d');
    178190
     191                // PDF laden
    179192                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 });
    182206                        canvas.width = viewport.width;
    183207                        canvas.height = viewport.height;
     
    189213                        page.render(renderContext);
    190214                    });
    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);
    194231                });
    195232            </script>
  • mareike/trunk/core/gui.php

    r3211566 r3215643  
    5353        $plugin_data['Version']
    5454    );
     55
     56    wp_enqueue_style(
     57        'mareike-pdfview-styles',
     58        MAREIKE_PLUGIN_URL . '/assets/stylesheets/pdfview.css',
     59        array(),
     60        $plugin_data['Version']
     61    );
    5562
    5663    wp_enqueue_script(
  • mareike/trunk/mareike.php

    r3212261 r3215643  
    33 * Plugin Name:  mareike
    44 * Description: A tool to help associations to manage travel or material costs for events or ongoing jobs.
    5  * Version: 3.6
     5 * Version: 3.7
    66 * Tags: mareike, administration, fincance, travelmanagement, association tool
    77 * Requires at least: 6.0
  • mareike/trunk/readme.txt

    r3212261 r3215643  
    44Requires at least: 6.0
    55Tested up to: 6.7
    6 Stable tag: 3.6
     6Stable tag: 3.7
    77License: GPLv3
    88License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    3939
    4040## Changelog ##
     41= 3.7 =
     42* [BUG] Minor fixes in displaying own invoices
     43* [IMP] Pagination in inline PDF viewer
     44
    4145= 3.6 =
    4246* [IMP] Improved usability for user invoices
Note: See TracChangeset for help on using the changeset viewer.