Board -Posting -Buttons

Oli

dem Board verfallen
Hallo,

Also ich hab es mir lang überlegt aber langsam bin ich viel zu faul das immer einzutippen bei meinen Adminmenü um News zu posten.

Es geht darum, ihr kennt doch bestimmt die Buttons beim posten von beispielsweise so ein Post von mir :), da kann man Sachen Dick machen, oder Kursiv .
Weiß einer wie das geht? Ich denke mal man braucht bestimmt nur ein Beispielbutton die anderen müsste man ja dann selber mit den HTML Codes für Kursive, Eingerückt etc. anpassen können.

Am besten auch mit dem Feature markieren, dann Knopf drücken und es steht schon in der EingabeBox mit drin. Das find ich toll :)

Ok, mag einer sagen ich hätte doch in den Quellcode gucken können! Hab ich ich ja, aber ich glaub den könnte ich nicht verwenden. Er basiert ja auf dem vB Code des Boards.
Ich brauch ja nur das normale HTML also nicht die [ , ] klammern, sondern die < , >. :) Außerdem könnte es ja sein das etwas ausgeführt wird was man nicht im Code sieht, wie php.
Hoffentlich gibt es nicht mehrere Möglichkeiten in mehrern Sprachen. Mir würde irgenwie JavaScript oder PHP voll reichen ;).

Weiß da einer was? Bitte Bitte :)

Ciao
 
Hallo Oli, lang nicht mehr gelesen ;) :)

Doch das mit dem Quelltext gucken, funzt in diesem Falle schon.
Den diese Funktion lässt sich leider nur mit JavaScript realisieren.

Hier mal das komplette JS
Code:
tags = new Array();
theform = document.vbform;

function thearrayisgood(thearray,i) {
         if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
             return false;
         else
             return true;
}

function getarraysize(thearray) {
        for (i = 0; i < thearray.length; i++) {
                if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
                        return i;
                }
        return thearray.length;
}

function arraypush(thearray,value) {
        thearraysize = getarraysize(thearray);
        thearray[thearraysize] = value;
        return thearray[thearraysize];
}

function arraypop(thearray) {
        thearraysize = getarraysize(thearray);
        retval = thearray[thearraysize - 1];
        delete thearray[thearraysize - 1];
        return retval;
}

// *******************************************************

function setmode(modevalue) {
        document.cookie = "vbcodemode="+modevalue+"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
}

function normalmode(theform) {
        if (theform.mode[0].checked) return true;
        else return false;
}

function stat(thevalue) {
        document.vbform.status.value = eval(thevalue+"_text");
}
// *******************************************************
var text = "";
AddTxt = "";
function getActiveText(selectedtext) {
        text = (document.all) ? document.selection.createRange().text : document.getSelection();
        if (selectedtext.createTextRange) {
            selectedtext.caretPos = document.selection.createRange().duplicate();
        }
        return true;
}

function AddText(NewCode,theform) {
        if (theform.message.createTextRange && theform.message.caretPos) {
                var caretPos = theform.message.caretPos;
                caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
        } else {
                theform.message.value+=NewCode;
        }
        setfocus(theform);
        AddTxt = "";
}


function setfocus(theform) {
theform.message.focus();
}

function vbcode(theform,vbcode,prompttext) {
        if ((normalmode(theform)) || (vbcode=="IMG")) {
                if (text) { var dtext=text; } else { var dtext=prompttext; }
                inserttext = prompt(tag_prompt+"\n["+vbcode+"]xxx[/"+vbcode+"]",dtext);
                if ((inserttext != null) && (inserttext != ""))
                        AddTxt = "["+vbcode+"]"+inserttext+"[/"+vbcode+"] ";
                        AddText(AddTxt,theform);

                }
        else {
                donotinsert = false;
                for (i = 0; i < tags.length; i++) {
                        if (tags[i] == vbcode)
                                donotinsert = true;
                        }
                if (donotinsert)
                        stat("already_open");
                else {
                        arraypush(tags,vbcode);
                        AddTxt = "["+vbcode+"]";
                        AddText(AddTxt,theform);
                        }
                }
        theform.message.focus();
}

// *******************************************************

function closetag(theform) {
        if (normalmode(theform))
                stat('enhanced_only');
        else
                if (tags[0]) {
                        Tag = arraypop(tags)
                        AddTxt = "[/"+ Tag +"]";
                        AddText(AddTxt,theform);
                        }
                else {
                        stat('no_tags');
                        }
        theform.message.focus();
}

function closeall(theform) {
        if (normalmode(theform))
                stat('enhanced_only');
        else {
                g = getarraysize(tags);
                if (thearrayisgood(tags,g-1)) {
                            Addtxt = "";
                            for (h = 0; h < g; h++) {
                                 newtag = arraypop(tags);
                                 Addtxt += "[/"+ newtag +"]";
                             }
                             AddText(Addtxt,theform);
                } else {
                        stat('no_tags');
                }
        }
        theform.message.focus();
}


// *******************************************************

function fontformat(theform,thevalue,thetype) {
        if (normalmode(theform)) {
                if (thevalue != 0) {
                        if (text) { var dtext=text; } else { var dtext=""; }
                        inserttext = prompt(font_formatter_prompt+" "+thetype,dtext);
                        if ((inserttext != null) && (inserttext != ""))
                                AddTxt = "["+thetype+"="+thevalue+"]"+inserttext+"[/"+thetype+"] ";
                                AddText(AddTxt,theform);

                        }
                }
        else {
                arraypush(tags,thetype);
                Addtxt = "["+thetype+"="+thevalue+"]";
                AddText(Addtxt,theform);
                }
        theform.sizeselect.selectedIndex = 0;
        theform.fontselect.selectedIndex = 0;
        theform.colorselect.selectedIndex = 0;
        theform.message.focus();
}

// *******************************************************

function namedlink(theform,thetype) {
        if (text) { var dtext=text; } else { var dtext=""; }
        linktext = prompt(link_text_prompt,dtext);
                var prompttext;
                if (thetype == "URL") {
                        prompt_text = link_url_prompt;
                        prompt_contents = "http://";
                        }
                else {
                        prompt_text = link_email_prompt;
                        prompt_contents = "";
                        }
        linkurl = prompt(prompt_text,prompt_contents);
        if ((linkurl != null) && (linkurl != "")) {
                if ((linktext != null) && (linktext != "")) {
                        AddTxt = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
                        AddText(AddTxt,theform);

                        }
                else{
                        AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] ";
                        AddText(AddTxt,theform);

                }
        }
}

// *******************************************************

function dolist(theform) {
        listtype = prompt(list_type_prompt, "");
        if ((listtype == "a") || (listtype == "1")) {
                thelist = "[list="+listtype+"]\n";
                listend = "[/list="+listtype+"] ";
                }
        else {
                thelist = "[list]\n";
                listend = "[/list] ";
                }
        listentry = "initial";
        while ((listentry != "") && (listentry != null)) {
                listentry = prompt(list_item_prompt, "");
                if ((listentry != "") && (listentry != null))
                        thelist = thelist+"[*]"+listentry+"\n";
                }
        AddTxt = thelist+listend;
        AddText(AddTxt,theform);

}

// *******************************************************

function smilie(thesmilie) {
        AddSmilie = " "+thesmilie+" ";
        AddText(AddSmilie,theform);
}

function opensmiliewindow(x,y,sessionhash) {
                window.open("misc.php?action=getsmilies&s="+sessionhash, "smilies", "toolbar=no,scrollbars=yes,resizable=yes,width="+x+",height="+y);
}
// *******************************************************
 
Oh, Gott am Abend ist das keine leichte Kost. Das schaff ich jetzt nicht :)
Da blick ich bestimmt erst morgen durch, da kann ich dann auch testen. Muss mir nur mal die Mail makieren im Outlook, sonst vergess ich das oder sie verschwindet unter den Einsendungen von neuen Spiele -News von den Publishern :D.

Ich sag dir in den nächsten Tagen ob ich es hinbekommen hab...
Wenn ja, dann feiere ich erstmal ;), wird das Menü für mich benutzerfreundlicher :)

Ciao
 
Das sieht nur auf dem ersten Blick so verwirrend aus.

Aber selbst ich habe es geschaft, es für meine zwecke zu modifizieren, und das will was heissen :D
 
Hallo,

Ich hab es ja schon versprochen das ich in den nächsten Tagen nochmal vorbei schaue :)

Also ich habe ein bissel damit herum experimentiert und weil ich mit Java Script in diesen Umfang noch weniger Ahnung hab als von php, kannst du dir bestimmt vorstellen das da noch nichts so viel heraus gekommen ist.

Also, ich hab bei eingen Buttons schon ein erstes Lebenszeichen herausgeholt aber nur weil ich die 2 JavaScript Dateien vom Board heruntergeladen hab und das Feld genauso aufgebaut hab wie im Board selber. Trotzdem bekomm ich egal ob der Button geht oder nicht einen ScriptFehler im Browser -Status -Zeilen Feld unten. Ich denke auch nicht das es damit zusammenhängt da sichd as ganze auf meinen rechner getestet hab, also mehr oder weniger offline, denn eigentlich müssten ja JavaScipt Befehle auch offline gehen.

Naja, woran es liegt das zum Beispiel der Kursiv Button nicht geht gegenüber dem URL Button, weiß ich net. Selbst wenn, müsste der Code immer noch angepasst werden um aus den Klammern richtige HTML Klammern zu machen < > :) und natürlich der Code selber, der ja noch in vbBoard Code ist.

Im großen und Ganzen brauch ich sehr viel Hilfe... um da überhaupt EINEN Button zu bekommen :)
Solltest du Zeit finden bin ich so zu sagen der Padawan, Meister ;) :D

Ciao
 
Hallo Padawan :D

Also jut, fangen wir mal an.
Supi hatte mal einen "Offline-Editor" gebastelt, der eignet sich sehr gut als Grundlage, da dort alles integriert ist, was man eigentlich dafür braucht. Damit kann man auch sehr gut experimentieren.

Ich müsste ihn noch irgendwo haben.
Ich steige dann mal in die tiefen meiner Festplatte hinunter und gehe ihn suchen............*wühl*........*gruschtel*.....*schepper*

Aaaaaah....gefunden.
Ich hänge ihn mal an (Und hoffe das Supi nichts dagegen hat :angel ).
Dort hast Du nun das Javascript und das dazugehörige Formular in einem
Um HTML-Code damit zu generieren müsstest Du ja oben nur die eckigen durch spitze klammern ersetzen, und die Variablen ersetzen, die über den Button übertragen werden.

Schau es Dir mal an, vielleicht kannst Du damit ja mehr anfangen, und solltest Du fragen haben, weisst Du ja, wo ich zu finden bin ;) :D
 

Anhänge

  • vb offline.zip
    5 KB · Aufrufe: 91
Das ist wirklich gut. Hab gestern daran gearbeitet und sogar einen extra Button hinzugefügt (!) :D
Und einiges musste ich auch mit if verändern. Jetzt versteh ich JS gleich etwas besser. Aber ich muss sagen ich bin ganz schön verwöhnt von php, jedenfalls bei der Fehlerausgabe ;)

Nun muss ich noch den angepassten Code in mein Adminmenü einbauen. Wenn das klappt kann ich mich absofort zurücklehen.
Achso, einige Buttons hab ich auch entfernt.
Und mir ist das noch gar nicht so aufgefallen, für was braucht man denn den erweiteren Modus? Der ist doch total Sinnlos! :)

Ciao
 
Oben