Pomoc: Makra ProgramistyPoniższe makra są zaprojektowane w celu dostarczenia funkcjonalności języka programowania podczas tworzenia serwisu. Są one bardzo użyteczne jeżeli poprawnie zostaną użyte, natomiast mogą być niebezpieczne gdy są użyte nieodpowiednio - należy uważać i starannie planować używanie makr.
UWAGA: Makra te zawarte są w systemie WebGUI aby znacznie zwiększyć funkcjonalność mechanizmów wyświetlania zawartości serwisu. Pomimo tego że można dzięki nim pisać nawet proste aplikacje dla serwisu, nie są one do tego przeznaczone - jeżeli zamierzasz tworzyć takie aplikacje, po prostu napisz makro. =) Domyślnie makra są zablokowane przed użyciem aby chronić bezpieczeństwo twojego serwisu - tylko administrator może odblokować możliwość ich używania. ^D; or ^D(); - Date
Bieżąca data i czas.
Datę można skonfigurować używając dodatkowo symboli definiowania formatu. Przykładowo, jeżeli zdefiniowałeś makro w postaci ^D("%c %D, %y"); to wyświetli ono datę w przykładowej postaci Luty 26, 2004. Oto dostępne symbole definiowania formatu daty:
%% | % | %y | rok w postaci czterocyfrowej liczby | %Y | rok w postaci dwucyfrowej liczby | %m | miesiąc w postaci dwucyfrowej liczby | %M | liczba oznaczająca numer miesiąca | %c | nazwa miesiąca | %d | dzień miesiąca w postaci dwucyfrowej liczby | %D | liczba oznaczająca dzień miesiąca | %w | nazwa dnia tygodnia | %h | dwucyfrowa liczba oznaczająca godzinę dnia (w zakresie 0-12) | %H | liczba oznaczająca godzinę dnia (w zakresie 0-12) | %j | dwucyfrowa liczba oznaczająca godzinę dnia (w zakresie 0-24) | %J | liczba oznaczająca godzinę dnia (w zakresie 0-24) | %p | pisane małą literą słowo am/pm (oznaczającę porę przed i po południu) | %P | pisane dużą literą słowo AM/PM (oznaczające porę przed i po południu) | %z | ustawiony przez użytkownika format prezentowania daty | %Z | ustawiony przez użytkownika format prezentowania czasu |
^Env()
Wyświetla wartość zmiennej środowiskowej serwera podanej jako parametr. Na każdym serwerze dostępny jest inny zestaw i wartości zmiennych środowiskowych ? zestaw zmiennych własnego serwera możesz obejrzeć wywołując w katalogu głównym twojego serwisu plik o nazwie env.pl (http://www.adrestwojegoserwisu.pl/env.pl)
Makro powinno być wywoływane w przykładowej postaci ^Env("REMOTE_ADDR");
^Execute();
Umożliwia wykonanie przez administratora lub menedżera zawartości, programu dostępnego na serwerze ? przykładowe wywołanie: ^Execute("/podkatalog/plik.sh");.
^FormParam();
To makro głównie jest wykorzystywane do generowania dynamicznych zapytań do bazy danych w raportach SQL Reports. Dzięki temu makro możesz uzyskać wartość dowolnego pola formularza, podając jako parametr nazwę tego pola, przykładowo: ^FormParam("Numertelefonu");
^If();
Prosta instrukcja warunkowa (IF/THEN/ELSE ? ?Jeżeli warunek jest spełniony to wykonaj pierwszą instrukcji, w przeciwnym wypadku wykonaj drugą instrukcję?) umożliwiająca kontrolę wyglądu strony i wyświetlanych wiadomości.
Przykłady:
Wyświetla napis Szczęśliwego Nowego Roku w dniu 1 stycznia:
^If('^D("%m%d");' eq '0101' , Szczęśliwego Nowego Roku);
Wyświetla wiadomość dla użytkowników z podsieci 192.168.1.* oraz dla użytkowników spoza tej sieci:
^If('^Env("REMOTE_ADDR");' =~ /^192.168.1/,"Witaj użytkowniku naszej sieci 192.168.1.*","Witaj obcy przybyszu");
Wyświetla wiadomość dla użytkowników korzystających z systemu Windows:
^If('^Env("HTTP_USER_AGENT");' =~ /windows/i,"Czy wiesz że system Linux jest bezpłatny?");
Wyświetla wiadomość dla użytkowników korzystających z dostępu poprzez serwer proxy:
^If('^Env("HTTP_VIA");' ne "", Korzystasz z serwera proxy, Nie korzystasz z serwera proxy...);
Wyświetla wiadomość dla użytkowników zależną od pory dnia:
^If(^D("%J");<=12,Witaj o poranku,^If(^D("%J");<=18,Witaj po południu,Dobry wieczór););
^Include();
Umożliwia administratorowi lub menedżerowi zawartości wstawienie w treść pliku dostępnego na serwerze.
Przykład: ^Include("/pdkatalog/plik.html");
^International();
Wyświetla przetłumaczony zwrot podany jako parametr, według tłumaczeń dostępnych w systemie WebGUI.
Przykład: ^International(45,"Article");
^Quote();
Formatuje podany tekst jako tekst zapytania do bazy danych, dzięki czemu będzie ono mogło być później użyte do wykonania zapytania SQL.
^Page();
To makro pozwala uzyskać informacje o bieżącej stronie. Przykładowo można uzyskać w ten sposób adres URL strony, podając makro w postaci ^Page("urlizedTitle"); lub wyświetlić tytuł menu podając makro w postaci ^Page("menuTitle");.
^SQL();
Raport SQL składający się z nie więcej niż jednej linii danych, umożliwiający szybki dostęp do konkretnej informacji z bazy danych. To makro skutecznie poszerza możliwości obiektu raportu SQL. Dane mogą być pozycjonowane na stronie za pomocą numerycznych makr (^0; ^1; ^2; etc) oraz możliwe jest również użycie makra ^rownum; dostępnego również w obiektach raportów SQL. Przykłady:
^SQL("select count(*) from users","W systemie istnieje ^0; użytkowników.");
^SQL("select userId,username from users order by username","<a href='^/;?op=viewProfile&uid=^0;'>^1;</a><br>");
^URLEncode();
To makro głównie jest użyteczne w raportach SQL, ale może być również dowolnie użyte w innych miejscach. Podany jako parametr tekst, jest przetwarzany do postaci jaka może być wykorzystywana w adresie URL (przykładowo do definiowania wartości parametrów wywoływanego adresu). Składnia tego makro jest następująca: ^URLEncode("oto mój tekst");
^User();
To makro umożliwia wyświetlenie dowolnej informacji dostępnej w profilu lub danych konta użytkownika. Przykładowo, jeżeli chcesz wyświetlić adres email użytkownika, to makro będzie miało postać:: ^User("email");
^*; or ^*(); - Random Number
Losowo generowany numer. Taki numer jest często używany dla obrazków (takich jak treści banerów reklamowych), dla których chcesz zapewnić nie korzystanie przez system z pamięci cache (każde wywołanie takiego banera jest wtedy traktowane jako nowy adres URL). Dodatkowo możesz ograniczyć zakres generowanych liczb - przykładowe makro o postaci ^*(100); będzie generować losowo liczby z zakresu od 0 do 100.
^-;,^0;,^1;,^2;,^3;, etc.
Te makra są zarezerwowane dla funcji związanych z systemem/obiektami, przykładowo w raportach SQL i menedżerze zawartości lub stylu.
Zobacz także: |