Globalna zmiana czasu w phpbb3

Gry potrzebujemy zmienić czas z zimowego na letni (lub odwrotnie) zmiana strefy czasowej w panelu administracyjnym nie jest wystarczająca. Użytkownicy którzy są już zarejestrowani muszą ręcznie samemu zmienić swoją strefę czasową w profilu użytkownika. Możemy im to ułatwić zmieniając globalnie wszystkim użytkownikom strefę czasową wykonując odpowiednio poniższe zapytania SQL:

Zmiana ustawień strefy czasowej w panelu administracji nie wystarczy. Różnice zauważą wtedy tylko goście. Zarejestrowani użytkownicy muszą samemu zmienić ustawienia swojego profilu (Moje konto => Ustawienia witryny). Mając dostęp do phpMyAdmina, możemy dokonać masowej zmiany czasu dla użytkowników, przez odpowiednie zapytanie SQL.

Zmiana czasu na zimowy:

UPDATE forum_users SET user_dst = 0 WHERE user_timezone = 1.00;

zmiana czasu na letni:

UPDATE forum_users SET user_dst = 1 WHERE user_timezone = 1.00;

Dodatkowo opakowałem oba SQL’e w procedury -> dzięki temu nie trzeba ich wklepywać od zera tylko wykonujemy procedurę.

 

 

funkcja generująca hasło

Często w naszych systemach potrzebujemy wygenerować hasło/hasła.

Napisałem przydatną funkcję generującą hasło – używam jej przy generowaniu haseł generatorem http://aljandor.unixstorm.org/pwgen/ oraz w innych miejscach.

/**
 * generowanie hasła
 * dostępne $zestawy znaków: 'l' - małe listery
                             'u' - duże litery
                             'd' - cyfry
                             's' - znaki specjalne
 * @param int $dlugosc
 * @param array $zestawy
 */
function generujHaslo($dlugosc=25, $zestawy=array('l','u','d','s'))
{
 $sets = array();
 if(in_array('l', $zestawy) !== false) 
 $sets[] = 'abcdefghjkmnpqrstuvwxyz'; 
 
 if(in_array('u', $zestawy) !== false) 
 $sets[] = 'ABCDEFGHJKMNPQRSTUVWXYZ';

 if(in_array('d', $zestawy) !== false)
 $sets[] = '23456789';

 if(in_array('s', $zestawy) !== false)
 $sets[] = '!@#$%&*?';
 

 $wszystkie = '';
 $haslo = '';
 
 foreach($sets as $set)
 {
 $haslo.= $set[array_rand(str_split($set))];
 $wszystkie .= $set;
 }
 $wszystkie = str_split($wszystkie);
 for($i = 0; $i < $dlugosc - count($sets); $i++)
 {
 $haslo .= $wszystkie[array_rand($wszystkie)];
 }
 $password = str_shuffle($haslo);
 
 return $haslo; 
}

przykładowe wywołanie:

echo generujHaslo(25, array('l', 'u','d','s'));