js code ...?

  • moin,
    ich habe mit viel mühe und der hilfe von anderen php leuten geschafft smilies mit bbcodes einzufügen, doch da ich jetzt nicht immer von hand den entsprechenden code eintippen möchte sondern einfach auf den smilie drauf klicken möchte wie hier im forum und der code wird in den text eingefügt. Ich weiß, dass das mit js geht, doch ich weiß weder wie die funktion heißt, noch wie ich das code. Also, wenn irgendeiner noch so ein script rum fliegen hat, könnte er es ja vielleicht mal hier posten, bzw. mal sagen welche funktion das ist und ich such mal nen bissl bei google rum.

    mfG
    wurmax

  • moin,

    ich versteh jetzt nicht so ganz was du damit meinst....das wird mit js geregelt. Und das steht nach meinem Wissen über phpbb2 immer in einer externen datei, doch da da sicherlich noch andere sachen drin stehen werde ich da wohl eher nicht fündig.

    Davon abgesehen muss hier doch irgendeiner schonmal nenn Gästebuch gecodet haben...

    mfG
    wurmax

  • der obere hat recht: schreibe nochmal eine antwort, aber gucke dabei genau auf den status ( und links in der ecke des browser) wenn du mit der maus über ein smiley gehst, dann steht das folgendes:
    javascript::emotion(':smiley:')

    das heißt, das es ein JAVASCRIPT ist, und das wird im quellcode angezeigt!Es steht NICHT in einer externen datei!MfG

  • moin,

    ihr haltet mich jetzt vielleicht für unfähig aber ich weiß jetzt noch nicht mal was ich da aus dem quelltext nehmen soll....

    (alt+c)";
    l_help = "Liste:

      Text

    (alt+l)";
    o_help = "Geordnete Liste:

      Text

    (alt+o)";
    p_help = "Bild einfügen: [Blockierte Grafik: http://URL_des_Bildes] (alt+p)";
    w_help = "URL einfügen: http://URL oder URL Text (alt+w)";
    a_help = "Alle offenen BBCodes schließen";
    s_help = "Schriftfarbe: Text Tipp: Du kannst ebenfalls color=#FF0000 benutzen";
    f_help = "Schriftgröße: [size=x-small]Kleiner Text[/size]";

    // Define the bbCode tags
    bbcode = new Array();
    bbtags = new Array('','','','','','','

    Zitat

    ','

    ','

    Code
    ','

    ','

      ','

    ','

      ','

    ','','http://,');
    imageTag = false;

    // Shows the help messages in the helpline window
    function helpline(help) {
    document.post.helpbox.value = eval(help + "_help");
    }


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

    // Replacement for arrayname.push(value) not implemented in IE until version 5.5
    // Appends element to the array
    function arraypush(thearray,value) {
    thearray[ getarraysize(thearray) ] = value;
    }

    // Replacement for arrayname.pop() not implemented in IE until version 5.5
    // Removes and returns the last element of an array
    function arraypop(thearray) {
    thearraysize = getarraysize(thearray);
    retval = thearray[thearraysize - 1];
    delete thearray[thearraysize - 1];
    return retval;
    }


    function checkForm() {

    formErrors = false;

    if (document.post.message.value.length < 2) {
    formErrors = "Du musst zu deinem Beitrag einen Text eingeben.";
    }

    if (formErrors) {
    alert(formErrors);
    return false;
    } else {
    bbstyle(-1);
    //formObj.preview.disabled = true;
    //formObj.submit.disabled = true;
    return true;
    }
    }

    function emoticon(text) {
    var txtarea = document.post.message;
    text = ' ' + text + ' ';
    if (txtarea.createTextRange && txtarea.caretPos) {
    var caretPos = txtarea.caretPos;
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
    txtarea.focus();
    } else {
    txtarea.value += text;
    txtarea.focus();
    }
    }

    function bbfontstyle(bbopen, bbclose) {
    var txtarea = document.post.message;

    if ((clientVer >= 4) && is_ie && is_win) {
    theSelection = document.selection.createRange().text;
    if (!theSelection) {
    txtarea.value += bbopen + bbclose;
    txtarea.focus();
    return;
    }
    document.selection.createRange().text = bbopen + theSelection + bbclose;
    txtarea.focus();
    return;
    }
    else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
    {
    mozWrap(txtarea, bbopen, bbclose);
    return;
    }
    else
    {
    txtarea.value += bbopen + bbclose;
    txtarea.focus();
    }
    storeCaret(txtarea);
    }


    function bbstyle(bbnumber) {
    var txtarea = document.post.message;

    txtarea.focus();
    donotinsert = false;
    theSelection = false;
    bblast = 0;

    if (bbnumber == -1) { // Close all open tags & default button names
    while (bbcode[0]) {
    butnumber = arraypop(bbcode) - 1;
    txtarea.value += bbtags[butnumber + 1];
    buttext = eval('document.post.addbbcode' + butnumber + '.value');
    eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
    }
    imageTag = false; // All tags are closed including image tags :D
    txtarea.focus();
    return;
    }

    if ((clientVer >= 4) && is_ie && is_win)
    {
    theSelection = document.selection.createRange().text; // Get text selection
    if (theSelection) {
    // Add tags around selection
    document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
    txtarea.focus();
    theSelection = '';
    return;
    }
    }
    else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
    {
    mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
    return;
    }

    // Find last occurance of an open tag the same as the one just clicked
    for (i = 0; i < bbcode.length; i++) {
    if (bbcode[i] == bbnumber+1) {
    bblast = i;
    donotinsert = true;
    }
    }

    if (donotinsert) { // Close all open tags up to the one just clicked & default button names
    while (bbcode[bblast]) {
    butnumber = arraypop(bbcode) - 1;
    txtarea.value += bbtags[butnumber + 1];
    buttext = eval('document.post.addbbcode' + butnumber + '.value');
    eval('document.post.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
    imageTag = false;
    }
    txtarea.focus();
    return;
    } else { // Open tags

    if (imageTag && (bbnumber != 14)) { // Close image tag before adding another
    txtarea.value += bbtags[15];
    lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list
    document.post.addbbcode14.value = "Img"; // Return button back to normal state
    imageTag = false;
    }

    // Open tag
    txtarea.value += bbtags[bbnumber];
    if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
    arraypush(bbcode,bbnumber+1);
    eval('document.post.addbbcode'+bbnumber+'.value += "*"');
    txtarea.focus();
    return;
    }
    storeCaret(txtarea);
    }

    // From http://www.massless.org/mozedit/
    function mozWrap(txtarea, open, close)
    {
    var selLength = txtarea.textLength;
    var selStart = txtarea.selectionStart;
    var selEnd = txtarea.selectionEnd;
    if (selEnd == 1 || selEnd == 2)
    selEnd = selLength;

    var s1 = (txtarea.value).substring(0,selStart);
    var s2 = (txtarea.value).substring(selStart, selEnd)
    var s3 = (txtarea.value).substring(selEnd, selLength);
    txtarea.value = s1 + open + s2 + close + s3;
    return;
    }

    // Insert at Claret position. Code from
    // http://www.faqts.com/knowledge_base…id/1052/fid/130
    function storeCaret(textEl) {
    if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
    }

    //-->
    </script>[/code]

    weiß da jemand, wo da die entscheidenen Zeilen liegen ?

    mfG
    wurmax

  • Schau dir doch den Quelltext an. Dort siehst du welche Funktionen aufgerufen werden :roll:
    Oder wie mein Vorposter geschrieben hat:

    Zitat

    der obere hat recht: schreibe nochmal eine antwort, aber gucke dabei genau auf den status ( und links in der ecke des browser) wenn du mit der maus über ein smiley gehst, dann steht das folgendes:
    javascript::emotion(':smiley:')


    MfG Christian