Ankündigung

Einklappen
Keine Ankündigung bisher.

Text suchen + ersetzen in ionCube-codierten php's

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Text suchen + ersetzen in ionCube-codierten php's

    Hi @ALL,

    ich habe gerade ein Projekt, wo ich das Backend für ein Programm (WHMCS) in deutsch übersetzen möchte.
    Leider sind die meissten der php-Dateien ionCube-Kodiert brrrrrrr
    Es geht hier nicht um eine Dekodierung der ionCube oder ähnliche Programmmanipulationen! Der Code sollte unangetastet bleiben, damit man weiterhin rel. einfach weiter Updates machen kann.

    Nun hatte ich da noch eine Idee. Vielleicht könnt Ihr mir da bei der Umsetzung mit Ideen helfen.

    Hatte gerade den Einfall die Original-Datei unzubenenen.
    z.B. configemailtemplates.php in configemailtemplates_CODE.php
    eine neue configemailtemplates.php zu erstellen und die configemailtemplates_CODE.php zu includieren dann das ganze mit str_replace nach den TEXT zu durchsuchen und durch deutsch zu ersetzen.

    Kann das so gehen???
    Ja, ich weiss schön ist anders, aber was besseres ist mir noch nicht eingefallen!

    Aber ich wollte das Programm nicht unbedingt komplett mit Hardcode in Deutsch versehen, so dass wenn es ein Update gibt, man einfach den Teil der noch übersetzt werden sollte erweitern kann!

    Liebe Grüsse
    loisl


  • #2
    Ähm willst du dir das wirklich antuen? Hört sich extrem kompliziert hat. Vor allem kennst du wahrscheinlich nicht mal die ganzen Variablen etc? Besser wäre es sich mal an den Hersteller zu wenden ob es da bessere Möglichkeiten gibt!

    Kommentar


    • #3
      In allen guten Anwendungen gibts doch ein Sprachfile. Wenn der Hersteller noch nicht drauf gekommen ist würd ich dem das mal schreiben

      Kommentar


      • #4
        Ja, Ihr habt ja recht ... aber man kann entweder die Software kaufen oder man hat auch wieder anderweitig wenig alternativen. Habe es auch nicht klar geschriben, da ich normalerweise nur in Hoster-Foren unterwegs bin un da kennt jeder WHMCS.
        WHMCS = ist ein Abrechnungsund Bestellsystem für Hoster
        Da es nahezu das einizige vernünftige ist, wo mein Admin-Panel kompatibel ist, habe ich nicht die grosse Auswahl.
        Das Frontend hat ein Sprachfile!
        Es geht jetzt um das Backend (Admin-Bereich) und der ist Hardcoded in englisch!!!
        Es gibt schon jahre wünsche verschiendster User, das zu ändern, die Entwickler wollen aber (noch) nicht. Ich könnte auch in einem englischen Backend arbeiten, aber da sollen auch noch andere Admins tätig werden, die mit alles in englisch ihre Probleme haben!

        Aber es geht und ich habs gelost ...
        ... möchte euch den kleinen Code nicht vorenthalten, villeicht hat mal jemand ein ähnliches Problem!

        Code:
        ob_start();
        include("<DateiName.php>");
        $seite=ob_get_contents();
        ob_end_clean();
        
        $suchfind = file('./language/<DateiName.txt>');
        foreach ($suchfind as $ersetzen) {
            $feld = explode ('|',$ersetzen);
            $seite = str_replace(trim($feld[0]), trim($feld[1]), $seite);  
            }
        echo $seite;

        Kommentar


        • #5
          Was du da machst ist aber gefährlich!

          Stell dir vor du hast irgendwo ein Textfeld mit Text zum editieren. Sei es eine Adresse des Kundens, eine Rechnung oder sonst eine kritischer Inhalt.

          Ein Admin möchte ihn bearbeiten -> lädt ihn aus der Datenbank. Der Text wird in die Textarea geschrieben. Jetzt kommt dein Skript, verändert diesen Text. Das bekommt der Admin gar nicht mit. Speichert den Text ab ... und schwups hat sich irgendwas geändert!

          Das kann böse ins Auge gehen vor allem wenn es um Abrechnungen geht!!

          Kommentar


          • #6
            Danke für den Hinweis ... ganz bis zu Ende ist das noch nicht gedacht!
            Aber ich habe wirklich nur die Texte in der jeweiligen Datei, die auch vorkommen.
            z.B. ganze Sätze wie:

            If you did not request this change, you should change your account login details as soon as possible. | Wenn Sie kein neues Passwort angefordert haben, sollten Sie Ihren Account Login-Daten so schnell wie möglich zu ändern.
            New Password Generated | Neues Passwort wurde gerneriert

            oder dann wirkliche Ausdrücke:

            Username: | Benutzername:
            Password: | Passwort:

            So zu sagen kann es nun keine Kunden mehr geben der in der Password:strasse wohnt

            Nein, ich sollte wenigsten auf wirklich eindeutige Suchtexte achten!

            Grüsse
            loisl

            Kommentar


            • #7
              Sieht für mich trotzdem gefährlich aus. 1. kannst du nie sichergehen dass deine Texte nicht doch irgendwo vorkommen.
              2. in 2 Jahren will nen anderer mal neue Übersetzungstexte hinzufügen und kennt dieses Problem nicht -> zack!

              Das was du machst ist hochgradig unsauber und extrem gefährlich wenn du wirklich ein Gewerbe treibst! Kann dich irgendwann mal sehr teuer zu stehen kommen.

              Kommentar


              • #8
                Zitat von Flor1an Beitrag anzeigen
                Sieht für mich trotzdem gefährlich aus. 1. kannst du nie sichergehen dass deine Texte nicht doch irgendwo vorkommen.
                2. in 2 Jahren will nen anderer mal neue Übersetzungstexte hinzufügen und kennt dieses Problem nicht -> zack!

                Das was du machst ist hochgradig unsauber und extrem gefährlich wenn du wirklich ein Gewerbe treibst! Kann dich irgendwann mal sehr teuer zu stehen kommen.
                Ja, da gebe ich dir vollkommen Recht. Ich habe aber keine bessere alternative, ODER hat noch jemand eine bessere Idee? Ich werde die Übersetzung intern verwenden und kostenlos an alle die es möchten weitergeben (mit dem Hinweis auf RISIKO) und hoffe mal auf grosse Nachfrage. Damit lässt sich dann sicher der Softwarehersteller bewegen, dass Bedaff besteht

                Kommentar


                • #9
                  Bitte geb die Lösung nicht weiter ...

                  Kommentar


                  • #10
                    Du könntest evtl., falls Du Zugriff auf die Templates hast, beim Laden einer Seite per JS alle Strings austauschen. Das ist allerdings sehr von hinten durch die Brust ins Auge geschossen..

                    Kommentar


                    • #11
                      Zitat von xm22 Beitrag anzeigen
                      Du könntest evtl., falls Du Zugriff auf die Templates hast, beim Laden einer Seite per JS alle Strings austauschen. Das ist allerdings sehr von hinten durch die Brust ins Auge geschossen..
                      Ja, da habe ich Zugriff, es sind 2 oder 3 Seiten die über SMARTY gerneriert werden! Die konnte ich Sauber über die Variablen ändern. Der Rest wird direkt über php gerneriert.

                      Kommentar

                      Lädt...
                      X