We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Shoutbox w PHP Fusion – Fieldset


Verbatim
23-02-2006, 12:25
Ale ja mam inny kolor i niepodoba mię takie obramowanie ... Napewno znajdzie się ktoś kto będzie niezadowolony z pokazanych powyżej 2 możliwych opcji, pomyslałem że dosmaruję coś więcej dla bardziej wymagających

Linia 70:
Kod PHP:
echo ".THEME."images/bullet.gif' alt=''> "
Co nowego ??

Pojawiły się 2 nowe opcje formatowania elementu "fieldset" !

- border: dashed
- border-color: red

Pierwsza z nich odpowiada za styl obramowania natomiast druga za jego kolor.. Z kolorami nie powinien mieć nikt problemu, podam dostępne opcje które można będzie zamieszczać w stylu obramowania:

- border: none (brak obramowania)
- border: dashed (przerywane linie)
- border: solid (linia nieprzerywana)
- border: double (podwójna linia)
- border: dotted (linia kropkowana)
*- border: groove
*- border: ridge
*- border: inset
*- border: outset

* - Te ostatnie dają możliwość zamieszczania tzw. (efektu cieniowanych elementów) i jest to nic innego jak 2 kolorowa linia ..

Są jeszcze dostępne obramowania cząstkowe, gdyby ktoś chciał sobie takowe zmajstrować, bardzo proszę:

- border-top:solid (Górne Obramowanie)
- border-bottom:solid (Dolne Obramowanie)
- border-right:solid (Prawe Obramowanie)
- border-left:solid (Lewe Obramowanie)

Jak już podawałem wcześniej można sobie wybierać grubość obramowania poprzez parametr:

border-left-width: 2mm
border-left-width: 2px
border-width: 1px
border-right-width: 3mm

INTERNET EXPLORER nie radzi sobie jak należy (przynajmniej u mnie po formatowaniu) z elementem "Fieldset" ... Firefox natomiast, zdał test na 6+ !!!

kani_mani
18-02-2006, 19:03
Muszę przyznać, że po przeróbce Shoutbox wygląda lepiej. Jak będę miał czas, spróbuje tak zrobić na mojej stronce.

Verbatim
14-02-2006, 11:43
Witam chciałem was zapytać jak dorobić sobie obramówkę “fieldset” w wiadomościach Shoutbox.

Jeśli ktoś z was bawił się PHP Fusion i zna temat bardzo bym prosił o pomoc.

Pozdrawiam Serdecznie.

------------------------------------------------------------------

A jednak udało mi się samemu rozwiązać problem, myślę że osoby które mają pierwszy raz styczność z PHP-Fusion będą chciały na pewno troszkę go tuningować - dlatego wklejam kod PHP odpowiedzialny za "Shoutbox"..

Plik nazywa się shoutbox_panel.php

Kod PHP:
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2005 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }

openside($locale['120']);
if (isset(
$_POST['post_shout'])) {
    if (
iMEMBER) {
        
$shout_name $userdata['user_id'];
    } elseif (
$settings['guestposts'] == "1") {
        
$shout_name trim(stripinput($_POST['shout_name']));
        
$shout_name preg_replace("(^[0-9]*)"""$shout_name);
        if (
isNum($shout_name)) $shout_name="";
    }
    
$shout_message str_replace("\n"" "$_POST['shout_message']);
    
$shout_message preg_replace("/^(.{255}).*$/""$1"$shout_message);
    
$shout_message preg_replace("/([^\s]{25})/""$1\n"$shout_message);
    
$shout_message trim(stripinput(censorwords($shout_message)));
    
$shout_message str_replace("\n""
"
$shout_message);
    if (
$shout_name != "" && $shout_message != "") {
        if (
dbcount("(*)""shoutbox""shout_message='$shout_message' AND shout_datestamp+84600>".time())) {
            
redirect("Location: ".FUSION_SELF.(FUSION_QUERY "?".FUSION_QUERY ""));
        } else {
            
$result dbquery("INSERT INTO ".$db_prefix."shoutbox (shout_name, shout_message, shout_datestamp, shout_ip) VALUES ('$shout_name', '$shout_message', '".time()."', '".USER_IP."')");
        }
    }
    
header("Location: ".FUSION_SELF.(FUSION_QUERY "?".FUSION_QUERY ""));
}
if (
iMEMBER || $settings['guestposts'] == "1") {
    echo 
".FUSION_SELF.(FUSION_QUERY "?".str_replace("&","&",FUSION_QUERY) : "")."'>


\n"
;
    if (
iGUEST) {
        echo 
$locale['121']."



"
.$locale['122']."
\n"
;
    }
    echo 
"



.$locale['123']."' class='button'>
.INFUSIONS."shoutbox_panel/shoutboxhelp.php' class='side'>".$locale['124']."




\n"
;
} else {
    echo 
"
".$locale['125']."

\n"
;
}
$result dbquery("SELECT count(shout_id) FROM ".$db_prefix."shoutbox");
$numrows dbresult($result0);
$result dbquery(
    
"SELECT * FROM ".$db_prefix."shoutbox LEFT JOIN ".$db_prefix."users
    ON "
.$db_prefix."shoutbox.shout_name=".$db_prefix."users.user_id
    ORDER BY shout_datestamp DESC LIMIT 0,"
.$settings['numofshouts']
);
if (
dbrows($result) != 0) {
    
$i 0;
    while (
$data dbarray($result)) {
        echo 
".THEME."images/bullet.gif' alt=''> ";
        if (
$data['user_name']) {
            echo 
".BASEDIR."profile.php?lookup=".$data['shout_name']."' class='side'>".$data['user_name']."\n";
        } else {
            echo 
$data['shout_name']."\n";
        }
        echo 
"
\n"
.showdate("shortdate"$data['shout_datestamp']).""
;
        if (
iADMIN && checkrights("S")) {
            echo 
"\n[.ADMIN."shoutbox.php?action=edit&shout_id=".$data['shout_id']."' class='side'>".$locale['048']."]";
        }
        echo 
"
\n
".parsesmileys($data['shout_message'])."
\n"
;
        if (
$i != $numrows) echo "
\n"
;
    }
    if (
$numrows $settings['numofshouts']) {
        echo 
"
\n.THEME."images/bullet.gif' alt=''>
.INFUSIONS."shoutbox_panel/shoutbox_archive.php' class='side'>".$locale['126']."
.THEME."images/bulletb.gif' alt=''>
\n"
;
    }
} else {
    echo 
"".$locale['127']."
\n";
}
closeside();
?>
Wystarczy że zamienisz zawartość swojego pliku na tą powyższą i przegrasz go na serwer. A oto efekt:



Teraz jakie były zmiany:
(Otwierając plik np w Macromedia Dreamweaver)

Linia 70:
Kod PHP:
echo ".THEME."images/bullet.gif' alt=''> "
Dodałem styl do obramowania "Fieldset" Shoutbox'a ponieważ "Class" który go reprezentuje był zrobiony nieciekawie. Styl zmienia grubość obramowania na 1pixel - dalej jest "img src=" który prowadzi do grafiki pojawiającej się przed Nickiem osoby piszącej w Shoutboxie (można zmieniać do woli na swoją grafikę)..

Linia 76:
Kod PHP:
echo "\n".showdate("shortdate"$data['shout_datestamp']).""
Zamykam znacznik "legend".

Linia 80:
Kod PHP:
echo "
\n
".parsesmileys($data['shout_message'])."
\n"
;
        if (
$i != $numrows) echo "
\n"

Zamykam na samym końcu obramowanie "fieldset".. Możemy do woli usuwać lub dodawać odstępy "br" - natomiast gdyby ktoś nie wiedział "\n" określa nowy wiersz, tam gdzie "\n" tam następuje złamanie... Dodaje czcionkę "Tahoma" i ustawiam jej wielkość na 9px.

Chyba tyle