Homepage | Products | OX Knowledge Base | Support | Try Now | Contact | Company
OX Logo
Results 1 to 10 of 10
  1. #1

    Default username im gui abfragen

    Hallo zusammen, guten morgen,
    mein problem ist, dass ich es zwar schaffe eine neue seite im gui anzulegen und dabei auch eine fremde seite via iFrame einbinde, aaaaber diese php seite bräuchte nun also parameter den username. an sich kein problem, aber wie komme ich im gui an den username ran?
    vielen dank für jede hilfe!
    hier mal mein kläglicher versuch der "plugin-seite" (also die register.js):

    Code:
    new ox.Configuration.InnerNode("configuration/com.nc.ncpasswd", _("NC Intern"));
    var node = new ox.Configuration.LeafNode("configuration/com.nc.ncpasswd/password", _("Password"));
    alert("vor der function");
    function tobi() {
            new JSON().get("ajax/user?action=get"+session, null, new function(reply) {
                    if(reply) {
                            if(reply.error){
                                    alert(reply.error);
                            }
                    }       else{
                                    var username=reply.login_info;
                                    alert(reply.login_info);
                            }
                            });
    }
    function tobi2(){
    alert(new JSON().get("ajax/user?action=get"+session, null));}
    
    alert("nach der function");
    tobi2();
    tobi();
    alert(username);
    var iframe = new ox.Configuration.IFrame(node,"TITLE", "passwd/main.php?user=",1);

  2. #2

    Default

    nur falls es wen interessiert, und jemand noch nicht drauf gekommen ist
    hab das mal auf dem benutzerdaten ändern script geklaut und es funktioniert
    danach steht der login_info (also der username) in der variable imapuser

    Code:
            var imapuser;
            var last_mod;
            page.load = function (cont) {
            ox.JSON.get(AjaxRoot + "/user?action=get&id=" +
                configGetKey("identifier") + "&session=" + session,
                function(reply) {
                    old_user_data = clone(reply.data);
                    last_mod = reply.timestamp;
                    cont(reply.data);
                    imapuser=clone(reply.data.login_info);
                    alert(imapuser);
                });
            }

  3. #3
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    3,695

    Default

    Hallo,

    den Benutzernamen bekommst du, indem du die Benutzer-Schnittstelle auf die ID des derzeitig eingeloggten Benutzers abfragst. Die ID bekommst du aus config.identifier, diese variable kannst du im plugin auslesen.

    Code:
    config.identifier
    92
    Die Details, wie z.B. Login sind in der Antwort von user?action=get enthalten
    Code:
    https://dein.ox/ajax/user?action=get&session=ff404869da744f138efd5462a6da7d00&id=92
    Gruß

  4. #4

    Default

    danke!
    im oben code steht ja in der variable imapuser dann der login_info drin - also soweit funktionierts
    wie krieg ich diesen inhalt aber jetz außerhalb von page.load?
    sobald ich diesen teil page.load{ ...} wieder verlasse ist die variable imaplogin wieder leer (bzw. undefined)
    also bringt mir die zuweisung innerhalb mit imaplogin=clone(reply.data.login_info) leider gar nix in diesem fall?

    herzlichen dank für die hilfe!

  5. #5

    Default iframe zu früh?

    Hallo nochmal,
    langsam bin ich am verzweifeln
    ich habe jetzt einen kleinen knopf eingebaut, mit dem ich fest stelle, dass auch außerhalb von page.load die variable imapuser dem wert entspricht der in der function gesetzt wird.

    aaaber beim laden vom iframe ist die variable imapuser anscheinend noch undefined?!?! warum?!
    und wie kann ich ihm sagen, dass er iframe erst machen soll wenn ich die seite tatsächlich lade bzw. wenn imapuser nen wert hat?

    ich hoffe es weiß jemand was...

    Code:
    //NC INTERN CONFIGURATION NODE
    
    new ox.Configuration.InnerNode("configuration/com.nc.ncpasswd", _("NC Intern"));
    
    //PASSWORD CHANGE PAGE
    
    var node = new ox.Configuration.LeafNode("configuration/com.nc.ncpasswd/password", _("Password"));
    var page= new ox.Configuration.Page(node, _("Change Personal Contact Information"));
    var login_info = new ox.UI.Input(format(noI18n("%s *"), _("login_info")));
            page.addWidget(login_info, "login_info");
    
            var imapuser;
            var last_mod;
    page.load = function (cont) {
            ox.JSON.get(AjaxRoot + "/user?action=get&id=" +
                configGetKey("identifier") + "&session=" + session,
                function(reply) {
                    old_user_data = clone(reply.data);
                    last_mod = reply.timestamp;
                    cont(reply.data);
                    imapuser=reply.data.login_info;
                    alert("vor dem knopf: imapuser= "+imapuser);
                });
            }
    
    var knopf = new ox.UI.Button("Press");
            knopf.click=function(){
            alert("GEDRUECKT!");
            alert("nach dem knopf: imapuser= "+imapuser);
    };
            page.addWidget(knopf, "knopf");
    
    //var iframe = new ox.Configuration.IFrame(node,"TITLE", "passwd/main.php?username="+imapuser,1);

  6. #6
    Join Date
    Feb 2007
    Posts
    253

    Default

    Die URL vom iFrame kann auch nachträglich (also im Callback) an iframe.content.src zugewiesen werden.

  7. #7

    Default

    meinst du dabei beim page.save oder kann ich auch einfach einen button anlegen der z.b. dann
    iframe.context.src("seite.php"); macht und dann wird der iframe erst geladen mit dem knopfdruck?

  8. #8

    Default

    var iframe = new ox.Configuration.IFrame(node2,"geladene php seite","");

    wenn ich den iframe so einbaue, ruft er eine keine auf, aber ist eigentlich schon da (erkennbar am Titel "geladene php seite")

    wie kann ich ihm nun beibringen ihm jetzt meinetwegen per button deine URL zu geben die er dann aufrufen und einbinden soll?

    vielen dank für die hilfe

  9. #9
    Join Date
    Feb 2007
    Posts
    253

    Default

    1. An node hängen zwei Seiten: page und iframe. Das gibt Probleme.
    2. Eine Zuweisung sieht so aus:
    Code:
    iframe.content.src = "url";
    3. Man braucht keine Buttons, sondern macht das im Callback des JSON-Aufrufs.

  10. #10

    Default

    DANKE AN ALLE!!

    hab ein bisschen rumprobiert und es funktioniert - auch mit page und iframe zusammen

    ohne die page und den button gehts natürlich auch hab ich jetz gemerkt, aber falls jemand noch vor so einem problem irgendwann mal steht und die suchfunktion ihn hier her führt, so hats funktioniert:

    Code:
    //NC INTERN CONFIGURATION NODE
    
    new ox.Configuration.InnerNode("configuration/com.nc.ncpasswd", _("NC Intern"));
    
    
    //TEST SEITE
    var temp;
    var node2=new ox.Configuration.LeafNode("configuration/com.nc.ncpasswd/test",_("test"));
    var page2 = new ox.Configuration.Page(node2, _("Change Personal Contact Information"));
    var intro = new ox.UI.Text("display_name angezeigt und geladen, \n login_info geladen mit hide, \n kopie kopiert login_info nach knopf");
            page2.addWidget(intro, "intro");
    var display_name = new ox.UI.Input(_("Display name"));
            page2.addWidget(display_name, "display_name");
            display_name.disable();
    var login_info = new ox.UI.Input(_("Username"));
            page2.addWidget(login_info, "login_info");
            login_info.hide();
            login_info.disable();
    var kopie = new ox.UI.Input(_("Kopie"));
            page2.addWidget(kopie, "kopie");
    var knopf3 = new ox.UI.Button("kopieren");
            page2.addWidget(knopf3, "knopf3");
            knopf3.click=function(){
                    kopie.set(login_info.get());}
            var last_mod;
            page2.load = function (cont) {
            ox.JSON.get(AjaxRoot + "/user?action=get&id=" +
                configGetKey("identifier") + "&session=" + session,
                function(reply) {
                    old_user_data = clone(reply.data);
                    last_mod = reply.timestamp;
                    cont(reply.data);
                });
            }
    var knopf = new ox.UI.Button("TU ES DU LUDER");
            knopf.click=function(){
            loadSite();
    };
            page2.addWidget(knopf, "knopf");
    var tmp;
    function loadSite(){
    //        ox.JSON.get("../passwd/main.php?username="+login_info.get(), function(reply){alert("vor zuweisung: "+tmp);tmp=reply.username;alert("nach zuweisun
    g: "+tmp);});
    iframe.content.src=("../passwd/main.php?username="+login_info.get());
    }
    var iframe = new ox.Configuration.IFrame(node2,"geladene php seite","");

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •