Installation IT-Recht Modul in self-hosted Shop

Thema wurde von Tobi (Sun-side-store), 15. Juni 2024 erstellt.

  1. Tobi (Sun-side-store)
    Tobi (Sun-side-store) Aktives Mitglied
    Registriert seit:
    27. Februar 2015
    Beiträge:
    29
    Danke erhalten:
    2
    Danke vergeben:
    14
    Hallo zusammen.
    Wir sind gerade dabei einen Teil unseres bestehenden Shops komplett aus zu lagern da die Produkte sich etwas "beißen". Für den neuen Shop haben die aktuellste Version 4.9.4 installiert was soweit auch alles passt. Die Rechtstexte möchten wir wie auch unserem bestehendne Shop von der IT-Recht Kanzlei einbinden.
    Mit großer Verwunderung mussten wir aber feststellen dass das Modul hierfür nicht mehr von Haus aus in der aktuellen Gambio Version für self-hosted Shops integriert ist. Rückfrage bei Gambio ergab dass das so nicht weiter gewünscht ist mit dem Verweis das wir doch auf Protected-Shops wechseln sollen. Zum Download bei der IT-Recht Kanzlei konnten wir nur eine uralte Version finden. Rückfrage hier ergab aber dass das Modul auch mit den aktuellen Versionen von Gambio läuft. Nun, das war anscheinen so nicht ganz richtig.
    Beim Versuch das Modul zu installieren bekam ich folgende Fehlermeldung:

    Erzeuge neue Admin-Rechte ...
    <h1>Unexpected error occurred...</h1>SQL Error!
    Table 'unserdatenbankname.admin_access' doesn't exist
    Query: show columns from admin_access like 'itrecht_config'

    Kurzer Blick in die Datenbank ergab das es die Tabelle ganz offensichtlich nicht mehr gibt. Beim stöbern im Forum bin ich drauf gestoßen das die Tabelle wohl umgezogen ist zu access_admin_roles. Bin mir aber nicht ganz sicher.

    Nachfolgend mal die Installationsdatei für das IT-Recht-Modul:

    PHP:
    <?php
    /* --------------------------------------------------------------
        itrecht_installer.php 2014 gm
        Gambio GmbH
        http://www.gambio.de
        Copyright (c) 2014 Gambio GmbH
        Released under the GNU General Public License (Version 2)
        [http://www.gnu.org/licenses/gpl-2.0.html]
        --------------------------------------------------------------
    */

    require 'includes/application_top.php';
    header('Content-Type: text/plain');

    if(!(isset(
    $_SESSION['customers_status']['customers_status_id']) && $_SESSION['customers_status']['customers_status_id'] == 0)) {
        die(
    'unauthorized');
    }

    $sql = array();
    $dirs = array();
    $fileperms = array();
    $orders_status = array();

    /* ================================================================================================= */


    $admin_access = array('itrecht_config');


    /* ================================================================================================= */


    function addOrdersStatus($orders_status_id$statusname$language_id) {
        if((
    $insert_id ordersStatusExists($statusname$language_id)) === false) {
            
    xtc_db_query("INSERT INTO orders_status (orders_status_id, language_id, orders_status_name) VALUES (".(int)$orders_status_id.", ".(int)$language_id.", '".$statusname."')");
            
    $insert_id xtc_db_insert_id();
        }
        return 
    $insert_id;
    }

    function 
    ordersStatusExists($statusname$language_id) {
        
    $query "SELECT orders_status_id FROM orders_status WHERE language_id = ".(int)$language_id." AND orders_status_name LIKE '%".$statusname."%'";
        
    $result xtc_db_query($query);
        
    $orders_status_id false;
        while(
    $row xtc_db_fetch_array($result)) {
            
    $orders_status_id $row['orders_status_id'];
        }
        return 
    $orders_status_id;
    }

    function 
    findNextOrdersStatusId() {
        
    $query "SELECT ((FLOOR(MAX(orders_status_id) / 10) + 1) * 10) AS next_id FROM `orders_status`";
        
    $result xtc_db_query($query);
        
    $row xtc_db_fetch_array($result);
        return 
    $row['next_id'];
    }


    function 
    addAdminAccess($entity$allow_all true) {
        
    $col_exists_query "show columns from admin_access like ':colname'";
        
    $col_exists_query strtr($col_exists_query, array(':colname' => $entity));
        
    $ce_result xtc_db_query($col_exists_query);
        if(
    xtc_db_num_rows($ce_result) > 0) {
            
    // columns already exists, don't do anything
            
    return false;
        }
        
    $add_col_query "ALTER TABLE `admin_access` ADD `:colname` INT( 1 ) NOT NULL DEFAULT '0';";
        
    $add_col_query strtr($add_col_query, array(':colname' => $entity));
        
    xtc_db_query($add_col_query);
        if(
    $allow_all) {
            
    $allow_query "UPDATE admin_access SET `:colname` = 1;";
            
    $allow_query strtr($allow_query, array(':colname' => $entity));
            
    xtc_db_query($allow_query);
        }
        return 
    true;
    }


    if(!empty(
    $sql)) {
        echo 
    "Fuehre Datenbankanpassungen durch ...\n";
        foreach(
    $sql as $query) {
            
    xtc_db_query($query);
        }
    }

    if(!empty(
    $admin_access)) {
        echo 
    "Erzeuge neue Admin-Rechte ...\n";
        foreach(
    $admin_access as $entity) {
            
    addAdminAccess($entity);
      }
    }

    if(!empty(
    $orders_status)) {
        echo 
    "Lege Bestellstatus an ...\n";
        
    $next_id findNextOrdersStatusId();
        foreach(
    $orders_status as $os) {
            foreach(
    $os as $lang_id => $osname) {
                
    addOrdersStatus($next_id$osname$lang_id);
            }
            
    $next_id++;
        }
    }


    if(!empty(
    $dirs)) {
        echo 
    "Erzeuge Verzeichnisse ...\n";
        foreach(
    $dirs as $dirdata) {
            if(!
    is_dir($dirdata['dirname'])) {
                
    $dir_made mkdir($dirdata['dirname'], $dirdata['mode'], $dirdata['recursive']);
                if(
    $dir_made !== true) {
                    echo 
    "FEHLER: "$dirdata['dirname'] ." konnte nicht erzeugt werden!\n";
                }
            }
        }
    }

    if(!empty(
    $fileperms)) {
        echo 
    "Ueberpruefe Datei-/Verzeichnisrechte ...\n";
        foreach(
    $fileperms as $fp) {
            if(
    $fp['access'] == 'write') {
                if(
    is_writeable($fp['file'])) {
                    echo 
    $fp['file'] . " - OK\n";
                }
                else {
                    echo 
    $fp['file'] ." - FEHLER: muss beschreibbar sein!\n";
                }
            }
        }
    }

    echo 
    "\n\nFertig.\n";
    Ich hatte gehofft anfang kommender Woche mit dem Shop Live zu gehen. Support seitens Gambio erhoffe ich mir da nicht und bei der IT-Recht Kanzlei wird sich da auf die schnelle vermutlich auch keine Lösung finden. Wäre super wenn mir hier jemand sagen könnte in wie fern ich die installations datei anpassen muss um das Modul installieren zu können.

    Grüße Tobi
     
  2. Tobi (Sun-side-store)
    Tobi (Sun-side-store) Aktives Mitglied
    Registriert seit:
    27. Februar 2015
    Beiträge:
    29
    Danke erhalten:
    2
    Danke vergeben:
    14
    Wir haben Dank @Dominik Späte eine Lösung gefunden.

    Vielen Dank Dominik!
     
  3. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. September 2012
    Beiträge:
    2.707
    Danke erhalten:
    513
    Danke vergeben:
    173
    Ich stehe auch jetzt vor dem Problem das das Modul nicht mehr vorhanden ist.
    Ist jetzt nach dem Verkauf von Gambio das IT-Recht Modul rausgeflogen?
    Fände ich Schade da ich bereits Kunde bin von ITR und ganz sicher kein PS nutzen werde...
     
  4. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    12. November 2015
    Beiträge:
    245
    Danke erhalten:
    71
    Danke vergeben:
    65
    Ich bin und bleibe auch bei der ITR und hoffe, dass das Modul weiterhin nutzbar bleibt.
     
  5. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    22. Juli 2021
    Beiträge:
    169
    Danke erhalten:
    17
    Danke vergeben:
    56
    Ich erstelle mir gerade eine Grundbasis eines Shops, dass immer für den Fall der Fälle ich den Shop neu Aufsetzen kann.
    Dabei ist mir auch aufgefallen, dass das Modul IT-Recht nicht mehr drin ist. I
    Sehr Schade vielleicht hätte ich doch von Gambio zu eine Shopware wechseln sollen. Leider ist die Schnittstelle zur Warenwirtschaft fast fertig.
    Sehr Traurig von Seiten Gambio, nicht mal eine Info im Vorfeld!
     
  6. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. September 2012
    Beiträge:
    2.707
    Danke erhalten:
    513
    Danke vergeben:
    173
    (Link nur für registrierte Nutzer sichtbar.)
     
  7. Kai Schoelzke
    Kai Schoelzke Beta-Held
    Registriert seit:
    30. März 2016
    Beiträge:
    4.076
    Danke erhalten:
    646
    Danke vergeben:
    307
    Das geht tatsächlich so zu installieren, auch wenn es nicht im Modul Center angezeigt wird. Zu mindest ist das in den 4.9 Shops der Fall. @gambio, was ist da los?
     
  8. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    @Kai Schoelzke Wir haben einfach keine Partnerschaft mehr mit IT-Recht, der Vertrag ist ausgelaufen und bisher nicht wieder verlängert worden. Daher ist bis auf Weiteres das IT-Recht Modul für Neukunden unsichtbar. Ob der Vertrag erneuert wird, steht noch nicht fest.

    Wer das Modul bisher benutzt hat, kann es ohne Problem weiterhin nutzen, dort wird es auch nicht ausgeblendet.
     
  9. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Und wo hängt es ? Von den 3 die ich bisher hatte war und ist IT-Recht noch immer der Beste und umfangreichste zu guten Preisen. Und die Provision für Vermittlung sind auch gut für euch. Damit dürfte sich locker ein Modul finanzieren lassen :)
    Auser ihr habt andere nicht wirtschaftliche Interessen.