ilch Forum » Ilch Clan 1.1 » Allgemein » Pimp my Shoubox

Geschlossen
  1. #1
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    Ich nochmal zwinker


    Meine Jungs auf der HP posten den ganzen lieben Tag lang Youtubelinks in der Shoutbox.

    Als Gag hatte ich mir überlegt die Video-Url´s abzufangen und durch minivideos zu ersetzen (180*90).

    Auch auf die Gefahr hin wieder ein "Holz-Jaismöglich" zu bekommen - kann man das mit relativ kleinem Aufwand realisieren? Und wenn wie?

    Ausserdem suche ich noch ne Lösung wie man in der Shoutbox Links auch als "links" zum anklicken anzeigen lassen kann. Ich habe schon den Thread gefunden wo die links klickbar gemacht werden. Allerdings stosse ich dann auf das Problem das in der SB ja die Wörter nach x-zeichen getrennt werden und damit auch der Link dort aufhört.

    Beispiel :
    externer Link
    wird zu
    externer Link .de/index.php?f orum-newtopic-2 (wortlänge=15)
    wird zu
    externer Link.de/index.php?f orum-newtopic-2

    kann man Links von der Funktion "Wortlänge" ausklammern ?

    So sieht meine boxes/shoutbox.php zur Zeit aus :

    <?php
    // Copyright by Manuel
    // Support www.ilch.de
    defined ('main') or die ('no direct access');
    
    if (loggedin()) {
        $shoutbox_VALUE_name = $_SESSION['authname'];
    } else {
        $shoutbox_VALUE_name = 'Nickname';
    }
    if (has_right($allgAr['sb_recht'])) {
        if (!empty($_POST['shoutbox_submit']) AND chk_antispam ('shoutbox')) {
            $shoutbox_nickname = escape($_POST['shoutbox_nickname'], 'string');
            $shoutbox_nickname = substr($shoutbox_nickname, 0, 30);
            $shoutbox_textarea = escape($_POST['shoutbox_textarea'], 'textarea');
            $shoutbox_textarea = preg_replace("/\[.?(url|b|i|u|img|code|quote)[^\]]*?\]/i", "", $shoutbox_textarea);
            $shoutbox_textarea = strip_tags($shoutbox_textarea);
            if (!empty($shoutbox_nickname) AND !empty($shoutbox_textarea)) {
                db_query('INSERT INTO `prefix_shoutbox` (`nickname`,`textarea`) VALUES ( "' . $shoutbox_nickname . '" , "' . $shoutbox_textarea . '" ) ');
                header('Location: index.php?' . $menu->get_complete());
            }
        }
        $row->textarea = preg_replace ("#(http|https)+(://)+(www\.)#i", "http://", $row->textarea);
    if (preg_match("#(http|https)+(://)+([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})#i", $row->textarea)) {
        $row->textarea = preg_replace("#((http|https)+(\://)+([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})?(?:[\S])*)#i","[URL=$1]LINK[/URL]", $row->textarea);
    }
    if (preg_match("#(www.)+([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})#i", $row->textarea)){
        $row->textarea = preg_replace("#((www\.)+([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})?(?:[\S])*)#i","[URL=$1]LINK[/URL]", $row->textarea);
    }
        echo '<div align="center" ><form action="index.php?' . $menu->get_complete() . '" method="POST" name="form">';
        echo '<input type="text" size="15" name="shoutbox_nickname" value="' . $shoutbox_VALUE_name . '" onFocus="if (value == \'' . $shoutbox_VALUE_name . '\') {value = \'\'}" onBlur="if (value == \'\') {value = \'' . $shoutbox_VALUE_name . '\'}" maxlength="15">';
        echo '<br /><textarea style="width: 90%" cols="15" rows="2" name="shoutbox_textarea"></textarea><br />';
        $antispam = get_antispam ('shoutbox', 0);
            echo $antispam;
            if (!empty($antispam)) {
                    echo '<br />';
            }
        echo '<input type="submit" value="' . $lang['formsub'] . '" name="shoutbox_submit">';
        echo '</form>';
    }
    echo '<table width="98%" class="border" cellpadding="2" cellspacing="1" border="0">';
    $erg = db_query('SELECT * FROM `prefix_shoutbox` ORDER BY id DESC LIMIT ' . (is_numeric($allgAr['sb_limit'])?$allgAr['sb_limit']:5));
    $class = 'Cnorm';
    while ($row = db_fetch_object($erg)) {
        $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
          echo '<tr class="' . $class . '"><td><b>' . $row->nickname . ':</b><br> <p align="justify">' . bbcode(preg_replace('/([^\s]{' . $allgAr['sb_maxwordlength'] . '})(?=[^\s])/', "$1\n", $row->textarea)) . '</p></td></tr>';
    
    
    }
    echo '</table><a class="box" href="index.php?shoutbox">' . $lang['archiv'] . '</a></div>';
    ?>



    danke


    verwendete ilch Version: 1.1 P
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Mit der Wortlänge und Links ist ein Problem.

    Allerdings gibt es mit CSS3 eine Möglichkeit die Worttrennung den Browser übernehmen zu lassen, wenn er aktuell genug ist. ( caniuse.com/#search=word-wrap )
    Du solltest am besten beide verwenden (overflow-wrap sowie word-wrap)

    Du musst in der Shoutbox dazu ein div einfügen (um den eigentlichen Text), dem du diese css Eigenschaft und zusätzlich eine feste Breite zuweist, am besten eine css Klasse dafür verwenden.

    Dann solltest du die Worttrennung deaktivieren können.


    Zuletzt modifiziert von Mairu am 02.03.2014 - 11:10:07
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    MonkeyOnKeyboard Moderator
    Registriert seit
    10.02.2014
    Beiträge
    438
    Beitragswertungen
    20 Beitragspunkte
    @Mairu die Theorie ist klar aber an der Praktischen Ausführung hapert es bei mir.

    Wo genau soll ich was in der Shourtbox einfügen und so..... um die Worttrennung zb: auf 20 Zeichen zu erhöhen

    <?php
    // Copyright by Manuel
    // Support www.ilch.de
    defined ('main') or die ('no direct access');
    
    if (loggedin()) {
        $shoutbox_VALUE_name = $_SESSION['authname'];
    } else {
        $shoutbox_VALUE_name = 'Nickname';
    }
    if (has_right($allgAr['sb_recht'])) {
        if (!empty($_POST['shoutbox_submit']) AND chk_antispam ('shoutbox')) {
            $shoutbox_nickname = escape($_POST['shoutbox_nickname'], 'string');
            $shoutbox_nickname = substr($shoutbox_nickname, 0, 15);
            $shoutbox_textarea = escape($_POST['shoutbox_textarea'], 'textarea');
            $shoutbox_textarea = preg_replace("/\[.?(url|b|i|u|img|code|quote)[^\]]*?\]/i", "", $shoutbox_textarea);
            $shoutbox_textarea = strip_tags($shoutbox_textarea);
            if (!empty($shoutbox_nickname) AND !empty($shoutbox_textarea)) {
                db_query('INSERT INTO `prefix_shoutbox` (`nickname`,`textarea`) VALUES ( "' . $shoutbox_nickname . '" , "' . $shoutbox_textarea . '" ) ');
                header('Location: index.php?' . $menu->get_complete());
            }
        }
        echo '<form action="index.php?' . $menu->get_complete() . '" method="POST">';
        echo '<input type="text" size="15" name="shoutbox_nickname" value="' . $shoutbox_VALUE_name . '" onFocus="if (value == \'' . $shoutbox_VALUE_name . '\') {value = \'\'}" onBlur="if (value == \'\') {value = \'' . $shoutbox_VALUE_name . '\'}" maxlength="15">';
        echo '<br /><textarea style="width: 80%" cols="15" rows="2" name="shoutbox_textarea"></textarea><br />';
        $antispam = get_antispam ('shoutbox', 0);
    	echo $antispam;
    	if (!empty($antispam)) {
    		echo '<br />';
    	}
        echo '<input type="submit" value="' . $lang['formsub'] . '" name="shoutbox_submit">';
        echo '</form>';
    }
    echo '<table width="90%" class="border" cellpadding="2" cellspacing="1" border="0">';
    $erg = db_query('SELECT * FROM `prefix_shoutbox` ORDER BY id DESC LIMIT ' . (is_numeric($allgAr['sb_limit'])?$allgAr['sb_limit']:5));
    $class = 'Cnorm';
    while ($row = db_fetch_object($erg)) {
        $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
        echo '<tr class="' . $class . '"><td><b>' . $row->nickname . ':</b> ' . preg_replace('/([^\s]{' . $allgAr['sb_maxwordlength'] . '})(?=[^\s])/', "$1\n", $row->textarea) . '</td></tr>';
    }
    echo '</table><a class="box" href="index.php?shoutbox">' . $lang['archiv'] . '</a>';
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    BAMBOIHH Mitglied
    Registriert seit
    22.05.2008
    Beiträge
    221
    Beitragswertungen
    23 Beitragspunkte
    Wenn Du einfach nur die maximale Wortlänge ändern möchtest, kannst Du das im Adminbereich > Konfiguration > Shoutbox Optionen > "Maximale Wortlänge in der Shoutbox" umsetzen. ;-)
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    MonkeyOnKeyboard Moderator
    Registriert seit
    10.02.2014
    Beiträge
    438
    Beitragswertungen
    20 Beitragspunkte
    man darauf muss man erstmal kommen, hab ich doch glatt übersehen ;-)
    da dank ich dir recht herzlich und kann geschlossen werden ;-) denk ich mal
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten