Felhasználói szintű ki-be kapcsolók
Szerző
Üzenet
Sziasztok!
Fórumunkon felmerült olyan igény, hogy pl. a chat fal hangját valaki szeretné magának kikapcsolni, mert fórumozás közben zenét hallgat, és zavarja a csipogás. Az alap ötlet ebből indult ki.
A felhasználói menü / fórumbeállítások / általános beállítások lapjára készítettem egy új opciót "chat hang bekapcsolása" névvel.
Az új kapcsoló működik, nem is ez lenne a bajom, hanem, hogy miként tudnám beállítani, hogy alapból mindenkinek be legyen kapcsolva, mert jelenleg mindenkinek ki van kapcsolva. Szóval szeretném megfordítani a dolgot. Phpbb3.0.9. +ajax chat.
Az elvégzett szerkesztések:
Először is mysql-ben a Phpbb_users táblában létrehoztam egy új mezőt "enablesound" névvel.
Az includes/functions.php-ben a
után beillesztettem ezt:
majd, az includes/ucp/ucp_prefs.php
után
és
után
még mindig ebben a fáljban
után
style/prosilver/template/ucp_prefs_personal.html-be beraktam az új kapcsolót
Természetesen a lang/hu/common.php is kapott egy bejegyzést
végül a chat_body.html-ben a hang vezérlőjét baraktam a
tagek közé.
Szóval tud valaki segíteni, hogy tudnám alapból "be" állapotra állítani az új kapcsolót?
Az includes/functions_user.php-be ugyan beillesztettem ezt:
de ez nem elég sajnos.
Természetesen sok más funkcióra is alkalmas a megoldás a megfelelő átalakítással, én most kifejezetten a hang kapcsolgatásra fejlesztettem.
Fórumunkon felmerült olyan igény, hogy pl. a chat fal hangját valaki szeretné magának kikapcsolni, mert fórumozás közben zenét hallgat, és zavarja a csipogás. Az alap ötlet ebből indult ki.
A felhasználói menü / fórumbeállítások / általános beállítások lapjára készítettem egy új opciót "chat hang bekapcsolása" névvel.
Az új kapcsoló működik, nem is ez lenne a bajom, hanem, hogy miként tudnám beállítani, hogy alapból mindenkinek be legyen kapcsolva, mert jelenleg mindenkinek ki van kapcsolva. Szóval szeretném megfordítani a dolgot. Phpbb3.0.9. +ajax chat.
Az elvégzett szerkesztések:
Először is mysql-ben a Phpbb_users táblában létrehoztam egy új mezőt "enablesound" névvel.
Az includes/functions.php-ben a
Kód:
// The following assigns all _common_ variables that may be used at any point in a template.
után beillesztettem ezt:
Kód:
'S_ENABLE_SOUND' => ($user->data['enablesound']) ? true : false ,
majd, az includes/ucp/ucp_prefs.php
Kód:
switch ($mode)
{
case 'personal':
add_form_key('ucp_prefs_personal');
$data = array(
után
Kód:
'enablesound' => request_var('enablesound', (bool) $user->data['enablesound']),
és
Kód:
$sql_ary = array(
után
Kód:
'enablesound' => $data['enablesound'],
még mindig ebben a fáljban
Kód:
$template->assign_vars(array(
után
Kód:
'S_ENABLE_SOUND' => $data['enablesound'],
style/prosilver/template/ucp_prefs_personal.html-be beraktam az új kapcsolót
Kód:
<dl>
<dt><label for="enablesound1">{L_ENABLE_SOUND}:</label></dt>
<dd>
<label for="enablesound1"><input type="radio" name="enablesound" id="enablesound1" value="1"<!-- IF S_ENABLE_SOUND --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label for="enablesound0"><input type="radio" name="enablesound" id="enablesound0" value="0"<!-- IF not S_ENABLE_SOUND --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
Természetesen a lang/hu/common.php is kapott egy bejegyzést
Kód:
'ENABLE_SOUND' => 'Chat hang bekapcsolása',
végül a chat_body.html-ben a hang vezérlőjét baraktam a
Kód:
<!-- IF S_ENABLE_SOUND -->
<!-- ENDIF -->
Szóval tud valaki segíteni, hogy tudnám alapból "be" állapotra állítani az új kapcsolót?
Az includes/functions_user.php-be ugyan beillesztettem ezt:
Kód:
'enablesound' => 1,
de ez nem elég sajnos.
Természetesen sok más funkcióra is alkalmas a megoldás a megfelelő átalakítással, én most kifejezetten a hang kapcsolgatásra fejlesztettem.
A hozzászólás legutóbb Breki által 2011.12.14. 19:59-kor lett szerkesztve, összesen 1 alkalommal.
Az users táblában létrehozott új oszlop default értékét állítsd 1 re.
ehhez a tömbhöz adtad hozzá?
Ha igen akkor hagyd is benne.
ui:írd le, hogyan hoztad létre az új oszlopot.
Breki írta:
Az include/functions_user.php-be ugyan beillesztettem ezt:
Kód:
'enablesound' => 1,
Kód:
$additional_vars = array(
'user_permissions' => '',
Ha igen akkor hagyd is benne.
ui:írd le, hogyan hoztad létre az új oszlopot.
Igen, ahhoz a tömbhöz adtam hozzá.
beléptem a phpbb_users táblába----szerkezet----lap alján mező hozzáadása.
beírtam a nevet, típus: INT, hossz/érték:1, alapértelmezett meghatározva:1
Tudom, hogy jobb lett volna lefuttatni egy kódot, de a paraméterezéssel vannak gondjaim
beléptem a phpbb_users táblába----szerkezet----lap alján mező hozzáadása.
beírtam a nevet, típus: INT, hossz/érték:1, alapértelmezett meghatározva:1
Tudom, hogy jobb lett volna lefuttatni egy kódot, de a paraméterezéssel vannak gondjaim
Breki írta:
Igen, ahhoz a tömbhöz adtam hozzá.
beléptem a phpbb_users táblába----szerkezet----lap alján mező hozzáadása.
beírtam a nevet, típus: INT, hossz/érték:1, alapértelmezett meghatározva:1
Tudom, hogy jobb lett volna lefuttatni egy kódot, de a paraméterezéssel vannak gondjaim
használd a mező szerkesztését.
1., mező neve: enablesound
2., típus: TINYINT
3., hosszérték: 1
4., alapértelmezett: meghatározva mint 1
5., illesztés: üresen kell hagyni
6., tulajdonság: UNSIGNED
további mezők üresek
A fórum gyorsító tárát utána ürítsd ki.
KillBill írta:
a mező hozzáadása az jó választás csak a kitöltést modósítsd
használd a mező szerkesztését.
1., mező neve: enablesound
2., típus: TINYINT
3., hosszérték: 1
4., alapértelmezett: meghatározva mint 1
5., illesztés: üresen kell hagyni
6., tulajdonság: UNSIGNED
további mezők üresek
A fórum gyorsító tárát utána ürítsd ki.
Töröltem a mezőt, és újból hozzáadtam az új beállításokkal. így már lement a torkán, minden user alapértéke beállt 1-re.
Hálás köszönetem a segítségért!
Azért jó látni, hogy páran törekedtek a tanulásra, de Breki te vagy az első aki nyelvi fájlt használt a szöveg behívására és nem koszoltad be a html fájlt a direkt írással
ui: a common.php ból tedd át az ucp.php ba
a common nyelvi fájlba csak akkor írj, ha a szöveget minden oldalon használni szeretnéd, mivel a common.php mindig betöltésre kerül.
Ha viszont nem szeretnéd, hogy a frissítésnél mindig figyelni keljen, hogy az általad hozzáadott új sorok ne vesszenek el akkor hozz létre egy saját nyelvi fájlt amibe mindig írhatsz.
A meghívása meg egyszerű.
ui: a common.php ból tedd át az ucp.php ba
a common nyelvi fájlba csak akkor írj, ha a szöveget minden oldalon használni szeretnéd, mivel a common.php mindig betöltésre kerül.
Ha viszont nem szeretnéd, hogy a frissítésnél mindig figyelni keljen, hogy az általad hozzáadott új sorok ne vesszenek el akkor hozz létre egy saját nyelvi fájlt amibe mindig írhatsz.
A meghívása meg egyszerű.
Nem akartam belerondítani, így elegánsabb, és a későbbiekben máshonnan is meghívható.
Átraktam, nekem ez eszembe sem jutott, most is tanultam valami újat.
Ez a saját nyelvi fájl ötlet érdekelne.....pontosan hogy is kellene meghívni?
Átraktam, nekem ez eszembe sem jutott, most is tanultam valami újat.
Ez a saját nyelvi fájl ötlet érdekelne.....pontosan hogy is kellene meghívni?
Ha globálisan akarod használni akkor így
nyisd meg az includes/session.php
keresd ezt
tedd utána ezt
A kód akkor fog érvényesülni amikor feltöltésre kerül a saját nyelvi fájlod a mods könyvtárba mods.php néven.
nyisd meg az includes/session.php
keresd ezt
Kód:
if ($include_result === false)
{
die('Language file ' . $this->lang_path . $this->lang_name . "/common.$phpEx" . " couldn't be opened.");
}
tedd utána ezt
Kód:
if (file_exists($this->lang_path . $this->lang_name . "/mods/mods.$phpEx"))
{
if (is_array($lang_set))
{
$lang_set[]= '/mods/mods';
}
else
{
$lang_set = ($lang_set) ? array($lang_set, '/mods/mods') : '/mods/mods';
}
}
A kód akkor fog érvényesülni amikor feltöltésre kerül a saját nyelvi fájlod a mods könyvtárba mods.php néven.
Megcsináltam.....egyszerűen tökéletes.
Ezentúl a sajátba fogom pakolászni a módosításokat.
Ismételten köszönöm a segítséget.
Ezentúl a sajátba fogom pakolászni a módosításokat.
Ismételten köszönöm a segítséget.
Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.