To jest tylko wersja do druku, aby zobaczyć pełn± wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Propozycje modyfikacji - [dodatek] d?wi?k do shoutbox by Lui

gmg - 19-12-2012, 16:25
Temat postu: [dodatek] dĽwięk do shoutbox by Lui
Chciałbym przedstawić wam dodatek dĽwiek do shoutbox by Lui, który był przez wielu poszukiwany.
Dodatek ma jeden minus.
-dĽwięk wł±cza się gdy my dodajemy wiadomo¶ć.

Niestety moja znajomo¶ć JS jest praktycznie żadna więc nie wiem jak usun±ć ten minus.

Mam nadzieję że komu¶ się przyda w takiej formie jakiej jest.

czesio56560 - 19-12-2012, 16:42

Działa.
MQs - 19-12-2012, 17:49

Cała modyfikacja bez dĽwięku przy ładowaniu strony:
shoutbox_body.tpl
Kod:
#-----[ FIND ] [ ZNAJD¬ ]--------------------------------------------------

        <div id="SB_box" style="width:{SHOUTBOX_WIDTH}px; height:{SHOUTBOX_HEIGHT}px; overflow:auto;">

#-----[ BEFORE, ADD ] [ PRZED, DODAJ ]-----------------------------------------

        <div id="SB_sound"></div>

shoutbox.js
Kod:
#-----[ FIND ] [ ZNAJD¬ ]--------------------------------------------------

var g_mTimer;

#-----[ AFTER, ADD ] [ PO, DODAJ ]-----------------------------------------

var g_initSound = 0;

#-----[ FIND ] [ ZNAJD¬ ]--------------------------------------------------

        mydiv.html(mydiv.html() + htmlMessage);

#-----[ BEFORE, ADD ] [ PRZED, DODAJ ]-----------------------------------------

        if (g_initSound) { $('#SB_sound').html('<embed width="0" height="0" type="application/x-shockwave-flash" src="images/new.swf">'); }
        g_initSound = 1;

Oczywi¶cie trzeba wrzucić plik new.swf z zał±cznika w pierwszym po¶cie do images (w kat. głównym).

Dartam - 29-01-2013, 14:07

Witam,
mam pytanie czy umiałby kto¶ tak zmodyfikować t± modyfikację, aby poszczególny użytkownik miał możliwo¶ć wył±czenia sobie tego dĽwięku? :lol:

Majkelo - 29-01-2013, 22:53

Dartam, my¶lę że wystarczy zwykłe zapytanie do `phpbb_users` typu:

Kod:
ALTER TABLE `phpbb_users` ADD `user_allow_sb_sound` tinyint(1) default '0';


I w kodzie:

Kod:
if (  $userdata['user_allow_sb_sound'] )
{
    $template->assign_block_vars('sb_on', array());
}


a cały kod w shoutbox_body.tpl, który dodawałe¶ wg instrukcji wkładasz pomiędzy:
Kod:
<!-- BEGIN sb_on -->
TUTAJ TEN KOD
<!-- END sb_on -->


ale konfiguracji w profilu już z palca Ci nie napisze, poszukaj jakiej¶ modyfikacji, która wymaga edycji preferencji w profilu i zmień w niej tylko nazwę pola w bazie na t±, któr± podałem wyżej, czyli: user_allow_sb_sound
Chyba, że kto¶ się znajdzie kto poda Ci gotowca.

PS. Po wykonaniu tego zapytania:

Kod:
ALTER TABLE `phpbb_users` ADD `user_allow_sb_sound` tinyint(1) default '0';


domy¶lnie dĽwięk byłby wył±czony, je¶li chcesz mieć domy¶lnie wł±czony to zmieniasz albo w zapytaniu ostatnie '0' na '1' albo nie tykasz zapytania i zmieniasz ten warunek:
Kod:
if (  $userdata['user_allow_sb_sound'] )


na:

Kod:
if (  !$userdata['user_allow_sb_sound'] )

:mrgreen:

Dartam - 07-02-2013, 02:31

Dzięki Majkelo, ale głowię się nad tym od dłuższego czasu i nic mi się nie udało. :/ Próbowałem zmodyfikować kod z modyfikacji "Class System" (gdzie wybiera się klasę z gier RPG postaci) na zasadzie kombinowania bez zrozumienia kodu. Wyszło mi co¶ takiego, ale dalej to nie działa. I się poddaję. :( Co tutaj jest Ľle/ lub czego brakuje?

Kod:

Wywaliłem to, post niżej masz gotowca - Tommekk80
 

Tommekk80 - 07-02-2013, 19:27

Na podstawie tego co na pisali MQs i Majkelo plus edycja profilu :

Kod:
---[SQL]---

ALTER TABLE `phpbb_users` ADD `user_allow_sb_sound` tinyint(1) default '0';

---[ OPEN ] [ OTWÓRZ ]---

shoutbox_body.tpl

#-----[ FIND ] [ ZNAJD¬ ]--------------------------------------------------

        <div id="SB_box" style="width:{SHOUTBOX_WIDTH}px; height:{SHOUTBOX_HEIGHT}px; overflow:auto;">

#-----[ BEFORE, ADD ] [ PRZED, DODAJ ]-----------------------------------------

<!-- BEGIN sb_on -->
<div id="SB_sound"></div>
<!-- END sb_on -->   

---[ OPEN ] [ OTWÓRZ ]---

shoutbox.js
   
#-----[ FIND ] [ ZNAJD¬ ]--------------------------------------------------

var g_mTimer;

#-----[ AFTER, ADD ] [ PO, DODAJ ]-----------------------------------------

var g_initSound = 0;

#-----[ FIND ] [ ZNAJD¬ ]--------------------------------------------------

        mydiv.html(mydiv.html() + htmlMessage);

#-----[ BEFORE, ADD ] [ PRZED, DODAJ ]-----------------------------------------

        if (g_initSound) { $('#SB_sound').html('<embed width="0" height="0" type="application/x-shockwave-flash" src="images/new.swf">'); }
        g_initSound = 1;


---[ OPEN ] [ OTWÓRZ ]---

includes/usercp_register.php

---[ FIND ] [ ZNAJD¬ ]---

    $viewemail = ( isset($HTTP_POST_VARS['viewemail']) ) ? ( ($HTTP_POST_VARS['viewemail']) ? TRUE : 0 ) : 1;
   
---[ BEFORE, ADD ] [ PRZED, DODAJ ]---

    $sbsound = ( isset($HTTP_POST_VARS['user_allow_sb_sound']) ) ? ( ($HTTP_POST_VARS['user_allow_sb_sound']) ? TRUE : 0 ) : 0;

---[ FIND ] [ ZNAJD¬ ]---

user_viewemail = $viewemail,

---[ BEFORE, IN LINE, ADD ] [ PRZED, W LINII, DODAJ ]---

user_allow_sb_sound = $sbsound,

---[ FIND ] [ ZNAJD¬ ]---

user_viewemail, user_viewaim, user_aim, user_yim,

---[ BEFORE, IN LINE, ADD ] [ PRZED, W LINII, DODAJ ]---

user_allow_sb_sound,

---[ FIND ] [ ZNAJD¬ ]---

$viewemail, $viewaim, '" . str_replace("\'", "''",

---[ BEFORE, IN LINE, ADD ] [ PRZED, W LINII, DODAJ ]---

$sbsound,

---[ FIND ] [ ZNAJD¬ ]---

    $viewemail = $userdata['user_viewemail'];

---[ BEFORE, ADD ] [ PRZED, DODAJ ]---

    $sbsound = $userdata['user_allow_sb_sound'];

---[ FIND ] [ ZNAJD¬ ]---

$viewemail, $viewaim, $notifypm,

---[ BEFORE, IN LINE, ADD ] [ PRZED, W LINII, DODAJ ]---

$sbsound,

---[ FIND ] [ ZNAJD¬ ]---

        'VIEW_EMAIL_YES' => ($viewemail) ? 'checked="checked"' : '',
        'VIEW_EMAIL_NO' => (!$viewemail) ? 'checked="checked"' : '',

---[ BEFORE, ADD ] [ PRZED, DODAJ ]---

        'SB_SOUND_YES' => ($sbsound) ? 'checked="checked"' : '',
        'SB_SOUND_NO' => (!$sbsound) ? 'checked="checked"' : '',

---[ FIND ] [ ZNAJD¬ ]---

        'L_PUBLIC_VIEW_EMAIL' => $lang['Public_view_email'],

---[ BEFORE, ADD ] [ PRZED, DODAJ ]---

        'L_SB_SOUND_ON' => $lang['sb_sound_on'],

---[ OPEN ] [ OTWÓRZ ]---

shoutbox.php

---[ FIND ] [ ZNAJD¬ ]---

$template->assign_vars(array(

---[ BEFORE, ADD ] [ PRZED, DODAJ ]---

if (  $userdata['user_allow_sb_sound'] )
{
    $template->assign_block_vars('sb_on', array());
}

---[ OPEN ] [ OTWÓRZ ]---

profile_add_body.tpl

---[ FIND ] [ ZNAJD¬ ]---

    <!-- BEGIN email -->
    <tr>
      <td class="row1"><span class="gen">{L_PUBLIC_VIEW_EMAIL}:</span></td>
      <td class="row2">
        <input type="radio" name="viewemail" value="1" {VIEW_EMAIL_YES}>
        <span class="gen">{L_YES}</span>&nbsp;&nbsp;
        <input type="radio" name="viewemail" value="0" {VIEW_EMAIL_NO}><span class="gen">{L_NO}</span></td>
    </tr>
    <!-- END email -->
   
---[ BEFORE, ADD ] [ PRZED, DODAJ ]---

    <tr>
      <td class="row1"><span class="gen">{L_SB_SOUND_ON}:</span></td>
      <td class="row2">
        <input type="radio" name="user_allow_sb_sound" value="1" {SB_SOUND_YES}>
        <span class="gen">{L_YES}</span>&nbsp;&nbsp;
        <input type="radio" name="user_allow_sb_sound" value="0" {SB_SOUND_NO}><span class="gen">{L_NO}</span></td>
    </tr>



---[ OPEN ] [ OTWÓRZ ]---

language/lang_polish/lang_profile.php

---[ FIND ] [ ZNAJD¬ ]---

$lang['Public_view_email'] = 'Pokazuj mój Adres Email';

---[ BEFORE, ADD ] [ PRZED, DODAJ ]---

$lang['sb_sound_on'] = 'Wł±cz dżwięk wiadomo¶ci w shoutboxie';

#
#-----[ SAVE/CLOSE ALL FILES ] [ ZAPISZ/ZAMKNIJ WSZYSTKIE PLIKI ]----------
#

I wiadomo, plik z dĽwiękiem do /images
Wszystko niby działa :mrgreen: :mrgreen:

Dartam - 09-02-2013, 14:39

Tommekk80, działa super. Dzięki. :mrgreen: Ale mam jedno pytanie, bo ogólnie dĽwięk jest na pocz±tku wył±czony, ale przy rejestracji użytkownik ma zaznaczone już od razu "Tak" i warto¶ć dĽwięku w bazie zmienia się z 0 na 1 po zarejestrowaniu się. Jak zrobić, aby przy rejestracji pierwotnie było "Nie"?
Tommekk80 - 14-02-2013, 20:12

W tej linii :
Cytat:
$sbsound = ( isset($HTTP_POST_VARS['user_allow_sb_sound']) ) ? ( ($HTTP_POST_VARS['user_allow_sb_sound']) ? 0 : TRUE ) : 1;

Na końcu '1' zmieniasz na '0'.

Instrukcję poprawiłem.

dotphp - 01-09-2013, 04:03

Tommekk80, niestety po przeł±czeniu na "Nie" dĽwięk w ShoutBoxie jest dalej odtwarzany.
I ten punkt w instrukcji jest zbędny:
Kod:
---[ OPEN ] [ OTWÓRZ ]---

shoutbox.php

---[ FIND ] [ ZNAJD¬ ]---

$template->assign_vars(array(

---[ BEFORE, ADD ] [ PRZED, DODAJ ]---

if (  $userdata['user_allow_sb_sound'] )
{
    $template->assign_block_vars('sb_on', array());
}

Tommekk80 - 01-09-2013, 10:40

dotphp, nie wydaje mi się. Miałem wszystko przetestowane, wszystko działa jak należy. Bł±d leży po twojej stronie, czego¶ nie zrobiłe¶ jak należy.
dotphp - 01-09-2013, 15:52

Tommekk80, testowałem na dwóch forach i niestety nie działa.
Instrukcję wykonywałem krok po kroku, sprawdzałem nawet 3 razy.

Tommekk80 - 01-09-2013, 19:39

Adres forum daj i usera testowego.
dotphp - 02-09-2013, 15:12

Proszę bardzo:
http://dotmp3.ct8.pl

login: tester
hasło: test

Tommekk80 - 02-09-2013, 19:27

dotphp, masz całkowit± rację, moje niedopatrzenie.

shoutbox_body.tpl - zamień

Kod:
<div id="SB_sound"></div>


na

Kod:
<!-- BEGIN sb_on -->
<div id="SB_sound"></div>
<!-- END sb_on -->

Nie jest zbędny kawałek instrukcji, tylko brakowało wła¶nie tego w templatce... :oops:
Mi działało, bo na pewno miałem dobrze napisane - instrukcję spieprzyłem. :mrgreen: //Poprawiłem w po¶cie z instrukcj±.



Powered by phpBB modified by Przemo © 2003 phpBB Group