Endlich: updatesichere Änderung auch von PHP-Programmen

Thema wurde von Avenger, 19. Juni 2012 erstellt.

  1. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Moinsen! Hat jemand dieses Geraffel benutzt und kann mir ggf. nen heissen Tipp geben, was ich verkehrt mache?

    Dateien aus dem jüngsten ZIP von Avenger ist eingespielt.
    Habe beide Versionen ausprobiert: einmal eine gleichnamige Datei im Verzeichnis /USERMOD aber auch z. B. "create_account-USERMOD.php" - aber die werden nicht gezogen. Entsprechende aus-/einkommentierung in der root-Steuerdatei "pt_shop_control.php" war jeweils vorgenommen. Aber wie erwähnt, die als USERMOD so oder so benutzte Datei wird nicht geladen. htaccess-Anpassung ist aber vorgenommen.

    Die exemplarisch benutzte PHP "create_account.php" liegt ja in der Root, vondaher sollte das automatische Laden der USERMOD-Varianten ja von alleine gehen, hatte ich zumindest so verstanden, dass nur ausserhalb von Root und include und admin Ordner die Dateien speziell referenziert werden müssen über dieses "get_usermod".
     
  2. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Avenger, please help me ;-)
     
  3. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Na, dann wollen wir mal... :)

    Ich habe das mittlerweile noch einmal überarbeitet, da gab es noch ein paar Problemchen (insbesondere z.B. mit dem "deep linking" von z.B. Callbacks von Zahlungsmodulen)...

    Im Anhang ein aktualisiertes Archiv.

    Im Modul "pt_shop_control.php" kann man jetzt mit "define('USERMOD_DEBUG',true);" eine Protokollierung der Ergebnisse von "get_usermod" aufzeichnen lassen.

    Das Protokoll wird in die Datei "__usermod_log.txt" und zeigt

    1. die angeforderte Modul-Adresse
    2. die geprüfte Adresse im "USERMOD"-Verzeichnis
    3. die geprüfte Adresse mit der "-USERMOD"-Erweiterung im Originalverzeichnis.
    4. die endgültig zu verwendende Adresse für das Modul
    Die beste Lösung ist m.E., die zu ändernden Dateien im "USERMOD"-Verzeichnis in der gleichen Verzeichnis-Hierarchie, wie sie in der Shop-Root abgelegt sind, zu speichern.

    Dann kann man nämlich sehr einfach mit WinMerge & Co. das "USERMOD"-Verzeichnis mit der "Shop-Root" abgleichen lassen, und bekommt so automatisch die Diffs der Module in der "USERMOD"-Verzeichnis-Hierarchie mit den (neuen) SP-Modulen in der Shop-Root-Hierarchie .

    Mit der "-USERMOD"-Erweiterung der Dateien im selben Verzeichnis funktioniert das nicht so automatisch...

    Ziel des Ganzen ist es, damit auch für die PHP-Module in der Lage zu sein, ein SP einfach in den Shop zu kopieren, ohne seine Änderungen zu verlieren.

    Und eine einfache Prüfung der Abweichungen zu erlauben.
     

    Anhänge:

  4. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Prima! Vielen lieben Dank!
    Ich wollte die Paketstation-Erweiterung gleich in dieser Form in die Sphären der Updatesicherheit schiessen - nur bekam ich es nicht so ganz zum Laufen. Habe vorrangig die ...-USERMOD.PHP-Variante benutzt. Das Argument mit dem Diff zieht; werde mich umgewöhnen auf das eigene Verzeichnis (war nur so bequem weils ja schon die ...-USERMOD.HTML gibt ;-). Macht aber Sinn, ich räums ein ;-)

    So, dann mal los ;-)
     
  5. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Ich habe das jetzt (in einer für meinen Bedarf weiter angepassten Form) in 3 Shops im produktiven Einsatz.

    Funktioniert prächtig.

    Was ist bei mir noch anders?

    Ich mache ja meine Template-Überladung nicht über "-USERMOD"-Erweiterungen, sondern durch Verwendung von 2 parallelen Template-Hierarchien: "common" (quasi mein Basis-Standard-Template) und das eigentliche "shop" Template für einen spezifischen Shop.

    Ca. 95+ % der Templates sind für alle Shops gleich und liegen im "common"-Bereich. Durch Kopieren einer Template-Datei aus dem "common"-Bereich in den "shop"-Bereich (gleiche Hierarchie!) wird für diesen Shop dann diese Variante verwendet.

    Meist ändern sich nur die Artikellisten, Optionen und die Detailseite in einem Shop.....

    Neben der besseren Übersichtlichkeit hat diese Trennung in 2 Template-Bereiche für uns als Agentur noch weitere gravierende Vorteile:

    den Großteil von Templateanpassungenund Erweiterungen bei SPs erledigt man für alle unsere Shops(!) im "common"-Bereich, für die individuellen-Shops muss man dann so 1 bis 2 Hände voll Dateien anpassen.

    Mit dem Konzept der "-USERMOD"-Erweiterung läuft man damit sehr schnell auf Grund....

    Um eine einfache Verteilung von geänderten Modulen zu ermöglichen, liegt mein "USERMOD"-Bereich nicht mehr in der Shop-Root, sondern sowohl im "common". als auch im "shop"-Template.....

    Im "common" "USERMOD"-Bereich liegen die geänderten Module, die alle Shops betreffen (Erweiterungen, Fehlerbehebungen u.ä.).

    Im "shop" "USERMOD"-Bereich liegen die geänderten Module, die nur diesen Shop betreffen (kundenspezifische Erweiterungen u.ä.).

    Ein Modul im "shop" "USERMOD"-Bereich hat dabei Vorrang vor dem gleichen im "common" "USERMOD"-Bereich, so dass ich für einen bestimmten Shop ein schon generell angepasstes Modul für einen Shop weiter anpassen kann.

    Ich kann so sehr selektiv die Änderungen für jeden Shop kontrollieren, und automatisch mit dem Template auch verteilen.

    Bei vielen Shops kommt man da nämlich sonst garantiert in's Schleudern.
     
  6. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    #46 HolgerNils (xycons.de), 22. September 2012
    Zuletzt bearbeitet: 22. September 2012
    Sodele, ist eingespielt.
    Ich habe die /address_book_process.php in meiner Version in die /USERMOD gepackt.

    Folgendes wird geloggt, aber die Datei nicht gezogen:
    Code:
    22.09.2012, 12:00:53 - address_book_process.php: input => 'address_book_process.php'
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/address_book_process.php'
    22.09.2012, 12:00:53 - address_book_process.php: result => 'address_book_process.php'
    
    22.09.2012, 12:00:53 - address_book_process.php: HTTP_USER_AGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1'
    22.09.2012, 12:00:53 - address_book_process.php: subdir => '.'
    22.09.2012, 12:00:53 - address_book_process.php: activedir => '/var/www/web1413/html'
    22.09.2012, 12:00:53 - address_book_process.php: pt_shop_control_url => 'address_book_process.php'
    22.09.2012, 12:00:53 - address_book_process.php: input => '/var/www/web1413/html/cache//view_cd72a5ac218586bb17396df1902ed1a4^%%35^354^35446E0C%%box_categories_top.html'
    
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/cacheview_cd72a5ac218586bb17396df1902ed1a4^%%35^354^35446E0C%%box_categories_top.html'
    22.09.2012, 12:00:53 - address_book_process.php: tried 2 => '/var/www/web1413/html/cache/view_cd72a5ac218586bb17396df1902ed1a4^%%35^354^35446E0C%%box_categories_top-USERMOD.html'
    22.09.2012, 12:00:53 - address_book_process.php: result => '/var/www/web1413/html/cache//view_cd72a5ac218586bb17396df1902ed1a4^%%35^354^35446E0C%%box_categories_top.html'
    22.09.2012, 12:00:53 - address_book_process.php: input => '/var/www/web1413/html/cache//view_5d80f59716d2dbd384a06e82632b7675^%%EA^EA9^EA93809D%%megadropdown.html'
    
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/cacheview_5d80f59716d2dbd384a06e82632b7675^%%EA^EA9^EA93809D%%megadropdown.html'
    22.09.2012, 12:00:53 - address_book_process.php: tried 2 => '/var/www/web1413/html/cache/view_5d80f59716d2dbd384a06e82632b7675^%%EA^EA9^EA93809D%%megadropdown-USERMOD.html'
    22.09.2012, 12:00:53 - address_book_process.php: result => '/var/www/web1413/html/cache//view_5d80f59716d2dbd384a06e82632b7675^%%EA^EA9^EA93809D%%megadropdown.html'
    22.09.2012, 12:00:53 - address_book_process.php: input => '/var/www/web1413/html/cache//view_48e6331aa90daeee5c92cf9d75ee6084^%%EA^EA9^EA93809D%%megadropdown.html'
    
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/cacheview_48e6331aa90daeee5c92cf9d75ee6084^%%EA^EA9^EA93809D%%megadropdown.html'
    22.09.2012, 12:00:53 - address_book_process.php: tried 2 => '/var/www/web1413/html/cache/view_48e6331aa90daeee5c92cf9d75ee6084^%%EA^EA9^EA93809D%%megadropdown-USERMOD.html'
    22.09.2012, 12:00:53 - address_book_process.php: result => '/var/www/web1413/html/cache//view_48e6331aa90daeee5c92cf9d75ee6084^%%EA^EA9^EA93809D%%megadropdown.html'
    22.09.2012, 12:00:53 - address_book_process.php: input => '/var/www/web1413/html/cache//view_eeaacc4d0808df51b6c233b529e59deb^%%EA^EA9^EA93809D%%megadropdown.html'
    
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/cacheview_eeaacc4d0808df51b6c233b529e59deb^%%EA^EA9^EA93809D%%megadropdown.html'
    22.09.2012, 12:00:53 - address_book_process.php: tried 2 => '/var/www/web1413/html/cache/view_eeaacc4d0808df51b6c233b529e59deb^%%EA^EA9^EA93809D%%megadropdown-USERMOD.html'
    22.09.2012, 12:00:53 - address_book_process.php: result => '/var/www/web1413/html/cache//view_eeaacc4d0808df51b6c233b529e59deb^%%EA^EA9^EA93809D%%megadropdown.html'
    22.09.2012, 12:00:53 - address_book_process.php: input => '/var/www/web1413/html/cache//view_5c6a018460c6c568f731ad62237c58c0^%%EA^EA9^EA93809D%%megadropdown.html'
    
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/cacheview_5c6a018460c6c568f731ad62237c58c0^%%EA^EA9^EA93809D%%megadropdown.html'
    22.09.2012, 12:00:53 - address_book_process.php: tried 2 => '/var/www/web1413/html/cache/view_5c6a018460c6c568f731ad62237c58c0^%%EA^EA9^EA93809D%%megadropdown-USERMOD.html'
    22.09.2012, 12:00:53 - address_book_process.php: result => '/var/www/web1413/html/cache//view_5c6a018460c6c568f731ad62237c58c0^%%EA^EA9^EA93809D%%megadropdown.html'
    22.09.2012, 12:00:53 - address_book_process.php: input => '/var/www/web1413/html/cache//view_4b1ef564c695d893805f956e34b8fb28^%%77^77D^77D6580F%%box_categories_left.html'
    
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/cacheview_4b1ef564c695d893805f956e34b8fb28^%%77^77D^77D6580F%%box_categories_left.html'
    22.09.2012, 12:00:53 - address_book_process.php: tried 2 => '/var/www/web1413/html/cache/view_4b1ef564c695d893805f956e34b8fb28^%%77^77D^77D6580F%%box_categories_left-USERMOD.html'
    22.09.2012, 12:00:53 - address_book_process.php: result => '/var/www/web1413/html/cache//view_4b1ef564c695d893805f956e34b8fb28^%%77^77D^77D6580F%%box_categories_left.html'
    22.09.2012, 12:00:53 - address_book_process.php: input => '/var/www/web1413/html/cache//view_9f401c6f2a3a414aa5195b7f34e14c26^%%99^990^99082561%%submenus.html'
    
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/cacheview_9f401c6f2a3a414aa5195b7f34e14c26^%%99^990^99082561%%submenus.html'
    22.09.2012, 12:00:53 - address_book_process.php: tried 2 => '/var/www/web1413/html/cache/view_9f401c6f2a3a414aa5195b7f34e14c26^%%99^990^99082561%%submenus-USERMOD.html'
    22.09.2012, 12:00:53 - address_book_process.php: result => '/var/www/web1413/html/cache//view_9f401c6f2a3a414aa5195b7f34e14c26^%%99^990^99082561%%submenus.html'
    22.09.2012, 12:00:53 - address_book_process.php: input => '/var/www/web1413/html/cache//view_7ed95c32e38c9c35ff75bde3a9d60220^%%2B^2B4^2B469ACB%%box_best_sellers.html'
    
    22.09.2012, 12:00:53 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/cacheview_7ed95c32e38c9c35ff75bde3a9d60220^%%2B^2B4^2B469ACB%%box_best_sellers.html'
    22.09.2012, 12:00:53 - address_book_process.php: tried 2 => '/var/www/web1413/html/cache/view_7ed95c32e38c9c35ff75bde3a9d60220^%%2B^2B4^2B469ACB%%box_best_sellers-USERMOD.html'
    22.09.2012, 12:00:53 - address_book_process.php: result => '/var/www/web1413/html/cache//view_7ed95c32e38c9c35ff75bde3a9d60220^%%2B^2B4^2B469ACB%%box_best_sellers.html'
    
    Die
    /var/www/web1413/html/USERMOD/address_book_process.php
    existiert aber mit Änderungen des Inhaltes.
     
  7. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    #47 HolgerNils (xycons.de), 22. September 2012
    Zuletzt bearbeitet: 22. September 2012
    Avenger,
    fehlt da ggf. etwas?
    Code:
      if (!file_exists($t_usermod_file_path))
      {
        #Try conventional mode
        # extract filename
        $t_file_name = basename($t_file_path);
        # extend filename
        $t_file_parts = explode('.', $t_file_name);
        $t_file_parts[0] .= '-USERMOD';
        # rebuild filename
        $t_file_name = implode('.', $t_file_parts);
        # rebuild possible filepath to usermod-version
        $t_usermod_file_path = dirname($t_file_path) .'/'. $t_file_name;
        # check if -USERMOD-file exists
        if (USERMOD_DEBUG===true)
        {
          debug_usermod('tried 2',"'".$t_usermod_file_path."'");
        }
        if (file_exists($t_usermod_file_path))
        {
          $t_file_path = $t_usermod_file_path;
        }
    [COLOR=red][B]  [COLOR=black]} [/COLOR]else {
    $t_file_path = $t_usermod_file_path;[/B][/COLOR]
    }
    
    Wenn ich das rote hinzufüge gehts aus dem USERMOD-Verzeichnis heraus. Kann aber auch ein versehentlicher Effekt sein und woanders dran liegen.
     
  8. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Mag an meinem Change liegen, folgendes wird geloggt, wenn ich in einer in USERMOD abgelegten php einen Include drin habe:
    Stammt aus dieser Zeile:
    (/USERMOD/address_book_process.php, welche nun einwandfrei gezogen wird.)

    Code:
    22.09.2012, 12:55:41 - address_book_process.php: tried 1 => '/var/www/web1413/html/USERMOD/[COLOR=purple]includesmodulesaddress[/COLOR]_book_details.php'
    22.09.2012, 12:55:41 - address_book_process.php: tried 2 => '/var/www/web1413/html/includes/modules/address_book_details-USERMOD.php'
    22.09.2012, 12:55:41 - address_book_process.php: result => '/var/www/web1413/html/includes/modules/address_book_details-USERMOD.php'
    
    Mache ich nun aus der /includes/modules/USERMOD/address_book_details.php eine /include/modules/address_book_details-USERMOD.php dann klappt es (Tried2 wurde ja aufgelöst, daher die Idee).
     
  9. balou...sagt "Auf Wiedersehn"

    balou...sagt "Auf Wiedersehn" Erfahrener Benutzer

    Registriert seit:
    7. Juni 2011
    Beiträge:
    1.766
    Danke erhalten:
    374
    Danke vergeben:
    134
    muss die nicht so abgelegt werden:
    address_book_process-USERMOD.php
     
  10. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Hm, hatte ich anders verstanden:
    Code:
    
    [LIST=1]
    [*]die angeforderte Modul-Adresse
    [*]die geprüfte Adresse im[B] "USERMOD"-Verzeichnis[/B]
    [*]die geprüfte Adresse mit der [B]"-USERMOD"-Erweiterung[/B] im Originalverzeichnis.
    [*]die endgültig zu verwendende Adresse für das Modul
    [/LIST]
    
     
  11. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    #51 HolgerNils (xycons.de), 22. September 2012
    Zuletzt bearbeitet: 22. September 2012
    Das könnte mein fehler sein..
    Ich habe unter /includes/modules/ ein USERMOD-Verzeichnis gepackt.
    Möglicherweise ist gemeint /USERMOD/includes/modules

    Bin am probieren dran ;-)

    EDIT:
    Der Weg stimmt wohl, man beachte den Namen: USERMOD/includesmodulesaddress_book_details.php'
    Daraus resultier ich, dass die Verzeichnisse unter USERMOD nachgebildet werden müssen.
    Aber dennoch fehlen die "/" in der generierten Adresse.

    Code:
    22.09.2012, 13:30:51 - address_book_process.php: tried 1 => '/var/www/web1413/html/[COLOR=purple]USERMOD/includesmodulesaddress_book_details.php'[/COLOR]
    22.09.2012, 13:30:51 - address_book_process.php: tried 2 => '/var/www/web1413/html/includes/modules/address_book_details-USERMOD.php'
    22.09.2012, 13:30:51 - address_book_process.php: result => '/var/www/web1413/html/includes/modules/address_book_details-USERMOD.php'
    
     
  12. balou...sagt "Auf Wiedersehn"

    balou...sagt "Auf Wiedersehn" Erfahrener Benutzer

    Registriert seit:
    7. Juni 2011
    Beiträge:
    1.766
    Danke erhalten:
    374
    Danke vergeben:
    134
    Hast recht ohne USERMOD. Also sollte es doch Root | USERMOD | includes | modules | address_book_process.php zum Bleistift sein.
     
  13. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Es funzt prima wenn man noch folgendes ergänzt:

    Dateien /pt_shop_control.php und /inc/get_usermod.inc.php jeweils:
    Code:
    $t_usermod_file_path = str_replace(array(DIR_FS_CATALOG,DIR_WS_CATALOG),'',$t_file_path);
    ändern in:
    Code:
    $t_usermod_file_path = str_replace(array(DIR_FS_CATALOG,DIR_WS_CATALOG),'[COLOR=red][B]/[/B][/COLOR]',$t_file_path);
    Und in beiden den o. g. "ELSE"-Zweig rein.
    Dann ist es genial!
    Vorbehaltlich einer Bestätigung von Avenger, kann auch sein, dass das dann versehentlich funktioniert und doch woanders dran liegt.
     
  14. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Das sollte eigentlich so funktionieren (was es bei mir tut), weil der "/" ja hier wieder eingebaut wird:

    Mit Deiner Lösung wird daraus nur ein:

     
  15. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Das zeigt, dass die "USERMOD"-Datei gefunden wurde, da sonst noch ein "tried 2" Logeintrag vorhanden wäre...

    Da gab es noch ein Logik-Problem, weil der gefundene Pfad nicht zurück gegeben wurde...

    Im Anhang die korrigierte Version.

    (Das Problem ist, dass mein Code ganz anders aussieht, und ich den immer erst mal für "Gambio-Standard" wieder ändern muss....)

    Wirklich Sinn mach das ganze aber nur, wenn die Gambio GmbH sich entschließt, das Konzept zu adaptieren (oder was besseres bereit zu stellen).

    Weil man sonst ja auch immer die "get_usermod"-Routine anpassen muss...

    In dem Zusammenhang noch mal die Wiederholung 2 dringender Bitten:

    Die Cache-Klasse und die Mainfactory per "get_usermod" einbinden....

    Dann kann man sich updatesichere eigene Varianten dieser nicht überladbaren Klassen erstellen, ohne in deren Code eingreifen zu müssen.

    "get_usermod.inc.php" wie folgt ändern

    PHP:
    $file=DIR_FS_CATALOG.'USERMOD/inc/get_usermod.inc.php';
    if (
    file_exists($file))  
    {
      include_once(
    $file);
    }
    else
    {
      include_once(
    DIR_FS_INC.'gm_get_usermod.inc.php');
    }
    und die jetzige "get_usermod.inc.php" in "gm_get_usermod.inc.php" umbenennen...

    Dann kann ich meine eigene "get_usermod" verwenden, ohne in den Code einzugreifen.....
     

    Anhänge:

  16. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Hi Avenger,
    vielen Dank! Hatte mir schon gedacht, dass Du "zurückgebaut" hast aus einer voluminöseren Version ;-) Merci für die Mühen.
    Ich habe die aktualisierte Version eingebaut, und nun funzt es für die Dateien im USERMOD Verzeichnis, aber nicht in per get_usermod eingebundenen Unterverzeichnissen, weil da wieder die Slashes fehlen. An der Stelle ist noch was im Argen. Anbei ein Beispiel aus dem Log:
    Code:
    23.09.2012, 10:54:51 - clear_cache.php: tried 1 => '/var/www/web1413/html/USERMOD/[COLOR=blue][B]systemconfAdminMenugambio_menu.xml'[/B][/COLOR]
    23.09.2012, 10:54:51 - clear_cache.php: tried 2 => '/var/www/web1413/html/system/conf/AdminMenu/gambio_menu-USERMOD.xml'
    23.09.2012, 10:54:51 - clear_cache.php: result => '/var/www/web1413/html/system/conf/AdminMenu/gambio_menu.xml'
    23.09.2012, 10:54:51 - clear_cache.php: input => '/var/www/web1413/html/system/conf/AdminMenu/menu_magnalister.xml'
    
    Da fehlen einfach "/", so dass die Routine eine möglicherweise dort vorhandene Datei nicht erfolgreich finden könnte.
    Müsste ja heissen: /var/www/web1413/html/USERMOD/system/conf/AdminMenu/gambio_menu.xml


     
  17. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Den Teil habe ich nicht ganz kapiert sorry.
    Die einzige Überschneidung mit Gambio-Code ist doch die geänderte "CachedDirectory.inc.php". Warum müsste immer die "get_usermod" Routine angepasst werden?

    Was die Erhaltung Deiner Parallelwelt angeht bau das doch bitte direkt mit ein, damit hier dann von den Nutzern keiner etwas vergisst einzubauen und somit wir normal Sterblichen dann für unsere Dinge die "gm_get_usermod" benutzen, während Deine "get_usermod" friedlich weiterläuft und es nicht zu überschneidungen kommt. Dann macht hier direkt die richtige Version die Runde, sonst kriegt man das nur schwer wieder weg, wenns sich einmal (in der unerwünschten Variante) manifestiert hat.

    Und Gambio übernimmt das sicher, ist ja eine geniale Sache. Hab schon eine einseite Verpflichtungserklärung vorbereitet, die wir Daniel nach 15 Bier und 17 Korn unterjubeln ;-) hehe
     
  18. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Ich denke, ich weiß wo das Problem liegt.....

    Ist "DIR_WS_CATALOG" bei Dir "/"?
     
  19. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Hier eine verbesserte Version, die das prüft......
     

    Anhänge:

  20. HolgerNils (xycons.de)

    HolgerNils (xycons.de) G-WARD 2013/2014

    Registriert seit:
    29. Oktober 2011
    Beiträge:
    1.972
    Danke erhalten:
    456
    Danke vergeben:
    369
    Nicht ganz:
    23.09.2012, 11:14:56 - gm_javascript.js.php: DIR_WS_CATALOG => ''

    Ich habe mir beholfen hiermit, indem ich die doppelten "//" wieder wegreplace ;-) Dann gehts.
    Code:
      #Try "USERMOD" directory first for a user modified version of the file
    //  $t_usermod_file_path = str_replace(array(DIR_FS_CATALOG,DIR_WS_CATALOG),'',$t_file_path);
      $t_usermod_file_path = str_replace(array(DIR_FS_CATALOG,DIR_WS_CATALOG),'/',$t_file_path);
      $t_usermod_file_path = str_replace('//','/',$t_usermod_file_path);