v2.2.x Fehler in GambioUpdateControl.inc.php

Thema wurde von Avenger, 4. Mai 2015 erstellt.

  1. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Die Ermittlung der aktuellen DB-Version ist falsch!

    In "GambioUpdateControl::get_current_db_version()" wird die aktuelle DB-Version wie folgt ermittlet:

    PHP:
        private function get_current_db_version()
        {
            
    $t_sql "SELECT * FROM version_history WHERE type IN ('master_update', 'service_pack') ORDER BY installation_date DESC LIMIT 1";
            
    $coo_db = new DatabaseModel();
            
    $t_version_data $coo_db->query($t_sql);

            if (
    count($t_version_data) > 0)
            {
                
    $this->current_db_version $t_version_data[0]['version'];
            }
            else
            {
                
    $this->current_db_version false;
            }
        }
    D.h., die "current_db_version" wird auf Klassenebene ersetzt, es wird kein Wert zurück gegeben.

    Im Konstruktor von "GambioUpdateControl"

    PHP:
    public function __construct($p_db_host ''$p_db_user ''$p_db_password ''$p_db_name ''$p_db_persistent null)
    wird die DB-Version aber wie folgt ermittelt:

    PHP:
    $this->current_db_version $this->get_current_db_version();
    D.h., in "get_current_db_version()" wird "$this->current_db_version" richtig gesetzt, aber dann wird im Konstruktor "$this->current_db_version" auf den Rückgabewert von "get_current_db_version()" gesetzt, der aber NULL ist!

    "$this->current_db_version" hat also den Wert "NULL"!
     
  2. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399