Felhasználói beállítások megváltoztatása által meghatározott alapértelmezett - megállapítja, pokoli jeladó

A phpBB3 a felhasználók képesek különféle beállításait egyéni beállításokat a felhasználói vezérlőpultban (UCP - Felhasználói vezérlőpult). Minden ilyen paraméterek alapértelmezett beállítás, ami jár, ha az új felhasználók regisztrálása és az egyes paraméter értékét előzőleg regisztrált felhasználók számára. Ezeket a paramétereket lehet, hogy nem esik egybe az alapértelmezett értékeket.

Ebben a cikkben bemutatjuk, hogyan kell beállítani ezeket az alapértelmezett beállításokat, ha az új felhasználók regisztrálni, és hogyan kell változtatni az értékeket előzőleg megállapított már regisztrált felhasználók számára. Vegye figyelembe, hogy a felhasználók továbbra is képes módosítani ezeket a beállításokat, hogy a szeretet által megadott azokat más, mint az alapértelmezett beállított számukra. Ez a cikk nem írja le, hogyan lehet ezeket az értékeket állandó és változatlan.

Egyes felhasználói preferenciák határozzák meg a speciális területeken a táblát az adatbázisban felhasználók és mások kiértékelés eredményét az egyes bitek az érték, amely a táblázatban tárolt user_options felhasználók. Ezért a módszer, ha a különböző felhasználói beállítások eltérnek, és leírjuk az egyes alábbiakban.

Mit kell tudni az induláshoz

Módosítása a paramétereket, amelyeket meghatározott egyéni mezők

Néhány paraméter beállításokat, amelyek a felhasználók telepíteni (azok meghatározott includes / functions_user.php file) kerülnek rögzítésre különböző területeken a felhasználók tábla. Ezek közé tartoznak:

Kód: 'user_notify' => 0,
'User_notify_pm' => 1
'User_notify_type' => NOTIFY_EMAIL,
'User_allow_pm' => 1
'User_allow_viewonline' => 1
'User_allow_viewemail' => 1
'User_allow_massemail' => 1

A „0” azt jelenti, hogy az opció ki van kapcsolva, az „1” azt jelenti, hogy az opció be van kapcsolva. Ezek a beállítások az alapértelmezett, és írt az adatbázisba történő regisztráció az új felhasználók számára. Megváltoztatni őket, meg kell szerkeszteni includes / functions_user.php fájlt, és módosítsa a 0-1, vagy fordítva. A beállítások módosításához egy már regisztrált felhasználó, lekérdezni kívánt:

Kód: UPDATE SET phpbb_users user_notify = 1 ahol user_type <> 2;

Felhívjuk figyelmét, user_notify_type lehetőség különbözik más megvalósítási hogy ez eltarthat három különböző értékek, amelyek mindegyike megfelel az alábbi három lehetséges numerikus értékeket, amelyek meghatározása a includes / constants.php fájlt. Ha meg akarjuk változtatni user_notify_type lehetőség, ha az új felhasználók regisztrálása, akkor szerkeszteni ezeket az értékeket tartalmazza / functions_user.php fájl megadásával NOTIFY_EMAIL (értéke 0), vagy NOTIFY_IM (1 érték), vagy NOTIFY_BOTH (érték = 2), amelyet választott. Ha módosítani user_notify_type lehetőség a meglévő felhasználók számára, például változtatni NOTIFY_EMAIL NOTIFY_IM, lekérdezni kívánt:

Kód: UPDATE SET phpbb_users user_notify_type = 1 ahol user_type <> 2;

Ez a kérés módosíthatja az alapbeállításokat NOTIFY_EMAIL, amelynek értéke egyenlő 0, a NOTIFY_IM, amelynek értéke egyenlő 1 Megjegyzendő, hogy ez a lekérdezés értékét megváltoztatja ezt az opciót NOTIFY_IM minden felhasználó számára, még azok számára is, akik úgy döntött, egy NOTIFY_BOTH (érték 2 ). Ha azt szeretnénk, hogy kizárja a felhasználók, akik úgy döntöttek NOTIFY_BOTH és a változás csak azokat a felhasználókat, akik az alapértelmezett NOTIFY_EMAIL, akkor a lekérdezés kell kinéznie:

Kód: UPDATE SET phpbb_users user_notify_type = 1 ahol user_type <> ! 2 ÉS user_notify_type = 2;

A beállítások módosítása tárolt területén user_options

Néhány egyéni beállítások a felhasználók módosíthatják az eredménye hozzátéve variáció számos emelt fokú 2 (bináris), és a táblázatban tárolt user_options felhasználók egyetlen egész. Ezek közé tartoznak:

Mint látható itt, ez a szám bináris formátumban a következő: 111000001101111111
Ezeket az értékeket az alapértelmezett, és ezáltal egy teljes összege a különböző hatáskörök 2, amely rögzíti a fájl tartalmazza a / functions_user.php és egyenlő 230271:

Kód: 'user_options' => 230271,

Ahhoz, hogy változtassa meg az alapértelmezett beállításokat, ha az új felhasználók regisztrálása, akkor a változó értéke 230.271 a fájl tartalmazza a / functions_user.php.
Például, ha azt szeretnénk, hogy viewsigs ki volt kapcsolva (0) alapból, viewimg engedélyezett (1), még le kell vonni 8 (2 ^ 3 = 2 a hatalom 3), mert az érték viewsigs írt bit száma 3, azaz a harmadik bit egy bináris számának user_options. és adjunk hozzá 1 (2 ^ 0 = 2, 0 fok), mint viewimg érték van tárolva a nulladik bit. Így meg kell változtatni user_options értéket tartalmaz / functions_user.php fájl 264 230 (230 271 -8 1).

Módosításához az opció értéke 0-1 meglévő felhasználók számára, akkor kell használni egy lekérdezés bitenkénti OR (|), a változó bit vagy bitek user_options felhasználók tábla. Azaz, hogy az A értékét 2 hatványát megfelelő bitszám (vagy más szóval a számot opciót, például azt a lehetőséget attachsig bites szám 6: „attachsig” => array ( „bit” => 6) érték viewimg. ez lesz egyenlő egységet, mert ez a bit szám 0 és 2 1 = 0 fokos.

Például egy ilyen kérés lenne változtatni az értéket viewimg le befogadó hozzáadásával a megfelelő értéket, ha az nem tartalmazza a teljes összeg user_options minden felhasználó számára:

Kód: UPDATE phpbb_users meghatározott user_options = user_options | 1 AHOL user_type <> 2;

Változtatni az értékeket a lehetőségek 1-0 átmenet a meglévő felhasználók számára, szükséges, hogy egy lekérdezés segítségével bitenkénti XOR operátor (^) és egy bitenkénti ÉS operátor (), a változó bit vagy bitek user_options területen. Ez vonjuk ki a megfelelő értéket az összege user_options, ha azok már szerepelnek ezt az összeget minden felhasználó számára. Például, a kérelmet az érték módosításához szereplő viewsigs ki. Itt, az érték 8, mint egy kis szám viewsigs 3, és a 2 3 = 8 °.

Kód: UPDATE SET phpbb_users user_options = (user_options 8) ^ user_options AHOL user_type <> 2;

Változó paraméterek egyéni vagy csoportos felhasználók

Vegye figyelembe, hogy akkor is változtatni a beállításokat egy adott felhasználó vagy felhasználói csoport különösen. Azonban, ha csak ezt a meglévő felhasználók számára, és nem a jövőben (módosítás nélkül). Például ez a lekérdezés a változó értéke user_allow_pm engedélyezettről mozgáskorlátozottak tartozó felhasználók számára a csoport „újonnan regisztrált”. Azt feltételezik, hogy group_id Ennek a csoportnak a 7 (alapértelmezett).

Kód: UPDATE phpbb_users SET user_allow_pm = 0 ahol user_id IN (SELECT user_id SZÁRMAZÓ phpbb_user_group AHOL group_id = 7);

Ez a kérés a változó értéke az opció viewflash engedélyezettről mozgáskorlátozottak számára, akik nem rendelkeznek aláírás:

Kód: UPDATE SET phpbb_users user_options = (user_options 2) ^ user_options WHERE user_sig = '';

Két, hogy a hálózati

Kód: 2 ^ 0 = 1
2 ^ 1 = 2
2 ^ 2 = 4
2 ^ 3 = 8
2 ^ 4 = 16
2 ^ 5 = 32
2 ^ 6 = 64
2 ^ 7 = 128 (A phpBB3 nem használt, fenntartva)
2 ^ 8 = 256
2 ^ 9 = 512
2 ^ 10 = 1024
2 ^ 11 = 2048 (nem használt phpBB3, fenntartva)
2 ^ 12 = 4096 (nem használt phpBB3, fenntartva)
2 ^ 13 = 8192 (A phpBB3 nem használt, fenntartva)
2 ^ 14 = 16384 (a phpBB3 nem használt, fenntartva)
2 ^ 15 = 32768
2 ^ 16 = 65536
2 ^ 17 = 131.072

Jelentés user_options - bináris szám írva decimális formátumban.
230.271 bináris formában a következő:
111000001101111111
Átalakítani, hogy a számot decimális formátumban igen egyszerű:
Bit számoljuk jobbról balra, vagyis, kezdve a végén. Amennyiben egy bit be van állítva (1), konstrukció 2 egyenlő hatványra a bitszám, ha a kivont (0) - nulla, így: