Rozdział 19, ♦ Subskrypcje 503
Funkcja ta zwraca wartość true, jeśli modyfikacja danych zakończyła się sukcesem, lub wartość false — w przeciwnym wypadku. Stosownie do wartości zwróconej przez funkcję jest wyświetlany odpowiedni komunikat.
W przypadku gdy do skryptu za pomocą metody GET został przekazany parametr action o wartości admi n, ma zostać wyświetlony panel administracyjny, umożliwiający wysyłanie wiadomości do subskrybentów. Jest zatem wywoływana funkcja printAdminForm. Wcześniej jest jednak sprawdzane, czy aktualnie załogowany użytkownik ma uprawnienia administracyjne, czyli czy jest ustawiony klucz (indeks) Administrator w tablicy $_SESSION['Przywileje']. Jeśli odpowiednich uprawnień nie ma, jest wyświetlana informacja o tym fakcie (rysunek 19.6).
Bk Edycja ffiidok Prialif JaWadki narzędzia Pomot |
© : | |
<js ' !-,/• ' 1U httpi/JlocalhołŁ/jubskrypcje.phptactlori-edinin |
zl © « |Q | |
Rozpocznijprzygód... ■ Attuatnośa _ jndez.płp |
Subskrypcje
Nie masz uprawnień do wyświetlania tej strony. Powrót do strony głównej
Rysunek 19.6. Próba wykonania funkcji administracyjnych przez użytkownika nie posiadającego odpowiednich przywilejów
W przypadku gdy parametr action został przekazany za pomocą metody POST, oznacza to, że ma zostać wykonana jedna z funkcji administracyjnych. W związku z tym najpierw jest sprawdzane, czy na pewno załogowany użytkownik ma uprawnienia administracyjne. Jeśli nie ma, jedyną czynnością jest wyświetlanie informacji o ich braku. Jeśli jednak uprawnienia są, jest sprawdzane, czy wartością parametru jest print, czy też send.
Jeśli jest to print, oznacza to, że skrypt otrzymał dodatkowo listę identyfikatorów subskrypcji (por. opis funkcji printAdminForm i sendOrPrint), jest więc wywoływana funkcja sendOrPrint. Na ekranie zostanie wtedy wyświetlona lista adresów e-mail użytkowników prenumerujących zaznaczone przez administratora subskrypcje (rysunek 19.5). Jeśli jednak wartością parametru action było send, jest najpierw sprawdzane, czy do skryptu zostały przekazane argumenty header i contents, czyli temat i treść listu. Jeśli nie zostały, jest wyświetlana informacja o ich braku. Jeśli zostały przekazane, są wykorzystywane w wywołaniu funkcji sendOrPrint. W zależności od wartości zwróconej przez sendOrPrint są następnie wyświetlane odpowiednie komunikaty. Jeśli jest to wartość true, oznacza to, że wszystkie listy zostały wysłane. Jeśli jest to wartość false, oznacza to, że wystąpił błąd podczas wykonywania zapytań. Jeśli nie jest to ani true, ani false, oznacza to, że niektóre z listów nie zostały wysłane, a zwrócona wartość to ciąg znaków zawierający adresy, przy których funkcja mai 1 zwróciła wartość fal se. Te adresy są następnie w celach informacyjnych wyświetlane na stronie.