Extrafeld DB manufacturers_info - Updatesicher

Thema wurde von seba, 27. Januar 2016 erstellt.

  1. seba

    seba Neues Mitglied

    Registriert seit:
    7. Januar 2016
    Beiträge:
    4
    Danke erhalten:
    0
    Ich brauche für die Hersteller einen Beschreibungstext...
    Gelöst habe ich dies so:

    1. Datenbank insert
    PHP:
    ALTER TABLE `manufacturers_infoADD `manufacturers_descriptionTEXT NOT NULL AFTER `manufacturers_meta_keywords
    2. admin/manufacturers.php
    PHP:
    $manufacturers_url_array $_POST['manufacturers_url'];
    gegen
    PHP:
    $manufacturers_url_array $_POST['manufacturers_url'];
    /********************
    * Beschreibung
    ********************/                
                
    $manufacturers_desc_array $_POST['manufacturers_description'];
    /********************/
    folgendes an zwei Stellen!!! (new & edit)
    PHP:
    $contents[] = array('text' => '<span class="options-title">' TEXT_MANUFACTURERS_URL '</span>' $manufacturer_inputs_string);
    gegen
    PHP:
    $contents[] = array('text' => '<span class="options-title">' TEXT_MANUFACTURERS_URL '</span>' $manufacturer_inputs_string);
    /********************
    * Beschreibung
    ********************/                
                    
    $manufacturer_textarea_string '';
                    for (
    $i 0$n sizeof($languages); $i $n$i++) {
                        
    $manufacturer_textarea_string .= xtc_draw_textarea_field('manufacturers_description[' $languages[$i]['id'] . ']'245xtc_get_manufacturer_description($mInfo->manufacturers_id$languages[$i]['id']), '''class="icon-input" data-gx-widget="icon_input" data-icon="'DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image'] .'"');
                    }

                    
    $contents[] = array('text' => '<span class="options-title"> Beschreibung </span>'.$manufacturer_textarea_string);
    /********************/
    Nun ist für mich die Frage wie kann ich das ganze davor schützen beim nächsten Update überschrieben zu werden?
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Oktober 2014
    Beiträge:
    566
    Danke erhalten:
    59
    Danke vergeben:
    86
    #2 Anonymous, 27. Januar 2016
    Zuletzt bearbeitet: 27. Januar 2016
    Die Datein duplizieren und z.B. als manufacturers-USERMOD.php abspeichern. Sollte so funktionieren. Datein mit der zzgl. Bezeichnung Usermod werden beim Update nicht überspielt und werden bei der Darstellung immer zuerst genommen. Ob das USERMOD unbedingt großgeschrieben werden muss, dass glaube ich nicht aber es hilft später bei der Suche im Verzeichnis.
     
  3. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Und Du bist sicher, dass das auch mit php-Dateien funktioniert?
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Oktober 2014
    Beiträge:
    566
    Danke erhalten:
    59
    Danke vergeben:
    86
    He, ich habe geschrieben sollte ;) , überspielt wird sie jedenfalls nicht. Aber warum sollte der diese nicht ziehen?
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Oktober 2014
    Beiträge:
    566
    Danke erhalten:
    59
    Danke vergeben:
    86
    @Manfred

    Hab mal eben gesucht und nimm das mit dem USERMOD (geht nur mit html und css) wieder zurück, aber speichern unter user_classes\overloads\ sollte dies jedoch funzen?
     
  6. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Aber deshalb wird aus dem "normalen" Script noch kein Overload, dass vom System berücksichtigt wird.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Oktober 2014
    Beiträge:
    566
    Danke erhalten:
    59
    Danke vergeben:
    86
    Täusche ich mich hierbei?


    (Link nur für registrierte Nutzer sichtbar.)
     
  8. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Soweit ich weiß, kann man nur Dateien aus einem Ordner "classes" in user_classes/overloads überladen.
    Damit passt das nicht für die hier genannte.
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Oktober 2014
    Beiträge:
    566
    Danke erhalten:
    59
    Danke vergeben:
    86
    Weiß zwar nicht, wo die manufactur gespeichert ist aber sagen wir mal die ist unter "manu" abgelegt. Würde dann eine eigen angelegte Datei user_manu/overloads funktionieren?
     
  10. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    eher nicht.
     
  11. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Oktober 2014
    Beiträge:
    566
    Danke erhalten:
    59
    Danke vergeben:
    86
    Einfach nur aus dem Bauch heraus oder fakt? Denn das user_ funzt doch bestimmt wie bei der usermod?
     
  12. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.885
    Danke erhalten:
    617
    Danke vergeben:
    113
    Hätte mich auch gewundert, wenn das mit "normalen" Scripten funktioniern sollte! :)
     
  13. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Man kann noch nicht alle Dateien updatesicher überladen oder speichern.
     
  14. seba

    seba Neues Mitglied

    Registriert seit:
    7. Januar 2016
    Beiträge:
    4
    Danke erhalten:
    0
    dann bleibt mir wohl nur die saubere Doku um nach dem Update betroffende Scripte wieder zu "reparieren"....
    Danke trotzdem...

    btw.
    Werden beim Update nur Dateien überschrieben oder auch Ordner gelöscht und neu gefüllt?
     
  15. Developer

    Developer Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    2.885
    Danke erhalten:
    617
    Danke vergeben:
    113
    Vorhandene Ordner gefüllt/überschrieben, Ordner nicht gelöscht und ggfs. neue OrdnerDateien neu angelegt.
     
  16. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Wenn sich die Struktur ändert, werden auch Ordner gelöscht oder verschoben / neu erstellt.

    Zur besseren Übersicht bei einem Update (und weil ich mich immer wieder dabei erwische Dinge einzubauen / zu ändern, ohne es zu dokumentieren),
    speichere ich die originale Datei als dateiname.php.bak. Dann liegen die beiden Dateien nebeneinander und ich sehe bei einem Vergleich mit winMerge
    gleich in welchen Dateien ich gewerkelt habe.
     
  17. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Barbara... Das ist nicht richtig!!!

    Alle Klassen die überladen werden können sind in der MainFactory.inc.php deklariert!!!
    PHP:
                        DIR_FS_CATALOG 'admin/includes/classes',
                        
    DIR_FS_CATALOG 'admin/gm/classes',
                        
    DIR_FS_CATALOG 'gm/classes',
                        
    DIR_FS_CATALOG 'gm/properties',
                        
    DIR_FS_CATALOG 'templates/' CURRENT_TEMPLATE '/source/classes',
                        
    DIR_FS_CATALOG 'system/controls',
                        
    DIR_FS_CATALOG 'system/data',
                        
    DIR_FS_CATALOG 'system/views',
                        
    DIR_FS_CATALOG 'system/request_port',
                        
    DIR_FS_CATALOG 'system/overloads',
                        
    DIR_FS_CATALOG 'system/extender',
                        
    DIR_FS_CATALOG 'system/classes',
                        
    DIR_FS_CATALOG 'system/core',
                        
    DIR_FS_CATALOG 'GXEngine/Classes',
                        
    DIR_FS_CATALOG 'GXEngine/Controllers',
                        
    DIR_FS_CATALOG 'GXEngine/Extensions',
                        
    DIR_FS_CATALOG 'GXEngine/Modules',
                        
    DIR_FS_CATALOG 'user_classes'
    Und genau alle Methoden dieser Klassen werden als Overloads in /user_classes überladen. Wenn man eine neu Klasse erstellt, das heist eine Klasse welche noch nicht existiert, legt man diese in /user_classes/ ab, wenn aber eine Methode überladen werden soll, das heist diese existiert schon, wird diese in /user_classes/"KLASSEN_NAMEN"/ abgelegt.

    Das Overloading hat eigentlich nichts mit dem USERMOD zu tun, da das eine eine PHP-Klassenüberladung ist und USERMOD eine Templates-Files Auswahl ist.... Mhhh ich hoffe das ist verständlich...
     
  18. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Und wieder etwas dazugelernt :)
     
  19. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Das tun wir alle!!! Immer und immer wieder.... ;)
     
  20. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Nein.

    Überladen kann man nur Klassen, kein PHP-Programme.