PRACA DYPLOMOWA IN ŻYNIERSKA - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr... · Kod...

51
1 Wyższa Szkola Biznesu w Dąbrowie Górniczej Wydzial Zarządzania, Informatyki i Nauk Spolecznych PRACA DYPLOMOWA INŻYNIERSKA Tomasz Rozmus Portal internetowy obslugi konferencji Praca inżynierska napisana pod kierunkiem: dr inż. Marcina Blachnika w Katedrze Informatyki Dąbrowa Górnicza 2010 r.

Transcript of PRACA DYPLOMOWA IN ŻYNIERSKA - mblachnik.plmblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr... · Kod...

1

Wyższa Szkoła Biznesu w Dąbrowie Górniczej

Wydział Zarządzania, Informatyki i Nauk Społecznych

PRACA DYPLOMOWA INŻYNIERSKA

Tomasz Rozmus

Portal internetowy obsługi konferencji

Praca inżynierska napisana pod kierunkiem: dr inż. Marcina Blachnika

w Katedrze Informatyki

Dąbrowa Górnicza 2010 r.

2

3

SPIS TREŚCI

1. WSTĘP ...................................................................................................................... 5

1.1. UZASADNIENIE WYBORU TEMATU ........................................................................................................ 5

1.2. CEL I ZAKRES PRACY ........................................................................................................................... 6

2. TECHNOLOGIE WYKORZYSTANE W TWORZENIU PORTALU .................... 8

3. BAZA DANYCH .................................................................................................... 11

3.1. PODSTAWOWE INFORMACJE O BAZIE DANYCH PORTALU ......................................................................... 11

3.2. POŁĄCZENIE Z BAZĄ DANYCH ZA POMOCĄ PHP .................................................................................... 11

3.3. STRUKTURA BAZY DANYCH ................................................................................................................ 12

4. FUNKCJONALNOŚĆ PORTALU ......................................................................... 14

4.1. STRONA GŁÓWNA ........................................................................................................................... 14

4.2. REJESTRACJA UŻYTKOWNIKA ............................................................................................................. 15

4.3. LOGOWANIE I WYLOGOWANIE........................................................................................................... 16

4.4. ORGANIZOWANE KONFERENCJE ......................................................................................................... 18

4.5. SZCZEGÓŁY KONFERENCJI ................................................................................................................. 19

4.5.1. Informacje o organizatorze ....................................................................... 20

4.5.2. Tematyka konferencji ............................................................................... 20

4.5.3. Informacje o terminach ............................................................................. 20

4.5.4. Miejsce organizacji konferencji ................................................................ 21

4.6. TWORZENIE WŁASNEJ KONFERENCJI ................................................................................................... 22

4.7. PROFIL UŻYTKOWNIKA ..................................................................................................................... 24

4.8. MOJE KONFERENCJE........................................................................................................................ 25

4.9. NAJBLIŻSZA KONFERENCJA ................................................................................................................ 27

4.10. ARCHIWUM KONFERENCJI ................................................................................................................ 28

4.11. FORUM KONFERENCYJNE .................................................................................................................. 28

4.12. WYSZUKIWARKA ............................................................................................................................ 29

4.13. ORGANIZATOR KONFERENCJI ............................................................................................................. 31

4.13.1. Akceptacja i odrzucanie referatów / artykułów ........................................ 31

4.13.2. Tworzenie planu konferencji .................................................................... 33

4.13.3. Dodawanie zdjęć do galerii ....................................................................... 35

4.13.4. Dodawanie materiałów wideo .................................................................. 36

4.13.5. Przegląd uczestników konferencji ............................................................ 36

4.13.6. Edycja i usuwanie konferencji .................................................................. 37

4.14. POZOSTALI UŻYTKOWNICY ................................................................................................................ 38

4.14.1. Podgląd planu konferencji ........................................................................ 38

4.14.2. Przesyłanie referatów / artykułów ............................................................ 39

4.14.3. Zgłoszenie na konferencję ........................................................................ 39 4.14.4. Pobieranie referatów / artykułów .............................................................. 40

4.14.5. Przegląd galerii zdjęć ................................................................................ 40

4.14.6. Przegląd materiałów wideo ....................................................................... 41

5. PANEL ADMINISTRACYJNY ............................................................................. 42

4

5.1. MANAGER KONFERENCJI ................................................................................................................. 42

5.2. MANAGER UŻYTKOWNIKÓW ............................................................................................................ 43

5.3. ZARZĄDZANIE WIADOMOŚCIAMI ....................................................................................................... 43

6. PODSUMOWANIE I WNIOSKI ............................................................................ 47

7. WYKAZ RYSUNKÓW ........................................................................................... 49

8. BIBLIOGRAFIA ..................................................................................................... 51

5

1. WSTĘP

W obecnych czasach komputery są ważnym elementem w życiu każdego człowieka. Większość źródeł informacyjnych to źródła internetowe, które bardzo szybko spowodowały, że przeciętny człowiek chętniej spędza czas na korzystaniu z Internetu, niż chociażby na kartkowaniu książek. Wpływ na dominację sieci nad tradycyjnymi źródłami wiedzy jak np. telewizja, radio i czasopisma, miała niewątpliwie szybkość wyszukiwania interesujących nas informacji i łatwość dostępu. Wszelkie serwisy społecznościowe i fora dyskusyjne ułatwiają wymianę spostrzeżeń na dany temat pomiędzy innymi użytkownikami, skupiają grupy ludzi o wspólnych zainteresowaniach oraz umożliwiają kontaktowanie się pomiędzy sobą za pośrednictwem adresów mailowych lub komunikatorów internetowych. Podobnie sprawa ma miejsce na większości portalach konferencyjnych, na których również istnieje możliwość komunikacji pomiędzy uczestnikami danej konferencji jeszcze przed jej rozpoczęciem. Taka ewentualność pozwala na wcześniejsze poznanie osób zainteresowanych danym tematem i omówienie określonych zagadnień, co ma korzystny wpływ na atmosferę panującą na danym zjeździe.

Niniejszą pracę podzielono na 8 rozdziałów, w których kolejno

omówiono: W rozdziale 2. przedstawiono opis technologii, które zostały zastosowane w projektowaniu portalu. W rozdziale 3. opisano budowę bazy danych portalu oraz połączenie się z nią za pomocą PHP. W rozdziale 4. znajduje się szczegółowy opis najistotniejszych elementów na stronie wraz z ich funkcjonalnością. W rozdziale 5. zaprezentowano działanie panelu administracyjnego. W rozdziale 6. znajduje się podsumowanie i wnioski dotyczące pracy. W rozdziale 7. przedstawiono wykaz rysunków. W rozdziale 8. znajduje się bibliografia i inne źródła, na bazie których powstała praca dyplomowa.

1.1. Uzasadnienie wyboru tematu

Głównym powodem stworzenia portalu obsługi konferencji jest niewielka ilość aplikacji, które umożliwiają organizowanie konferencji przez dowolnych użytkowników. Znaczna część portali konferencyjnych, to tylko wyszukiwarki miejsc, w których mogą się one odbywać poprzez wynajem sal konferencyjnych na jakiś czas, bądź też są to „oficjalne” strony jednej konkretnej konferencji. Należy również uwzględnić to, że przeszukiwanie Internetu w celu znalezienia dla siebie interesującej konferencji na dany temat może stać się uciążliwe, dlatego też postanowiono stworzyć portal, w którym

6

organizowane konferencje, jak i te które już się zakończyły będą skupione w jednym miejscu.

Cały projekt wykonano od podstaw. Do jego budowy nie wykorzystano

żadnych gotowych systemów zarządzania treścią. Portal obsługi konferencji znajduje się na serwerze WWW pod adresem:

http://www.konferencje-online.yoyo.pl/. Dostępny jest on dla każdego użytkownika Internetu.

1.2. Cel i zakres pracy

Celem pracy jest zaprojektowanie portalu internetowego obsługi konferencji, a także jego implementacja w skryptowym języku programowania jakim jest PHP. Stworzenie takiego serwisu ma na celu ułatwienie przeprowadzania konferencji na dany temat przez użytkowników, poprzez przyjazny, przejrzysty i możliwie prosty interfejs na stronie WWW.

Portal ma za zadanie spełniać określone wymagania, spośród których najważniejsze z nich to:

� możliwość przeglądania organizowanych konferencji na dany temat ze

szczegółowymi informacjami o organizatorze, sponsorach, daty i godziny rozpoczęcia oraz jej zakończenia, miejsca odbycia się konferencji, ilości miejsc dla uczestników, okresu zgłaszania referatów, artykułów i innych źródeł informacji organizatorowi,

� możliwość zgłoszenia chęci uczestnictwa w danej konferencji poprzez zapisywanie się na interesującą danego użytkownika portalu konferencję,

� dokonywanie płatności przez zgłoszonych użytkowników na konto bankowe podane przez organizatora konferencji,

� możliwość stworzenia własnej konferencji przez użytkowników zarejestrowanych w bazie danych, po uprzednim zalogowaniu,

� możliwość zgłaszania artykułów / referatów przez zalogowanego użytkownika,

� akceptacja lub odrzucanie artykułów / referatów przez organizatora lub osobę z nim powiązanej, mającej odpowiednie uprawnienia dostępu,

� możliwość pobierania i przeglądania dokumentów przez dowolnego użytkownika serwisu,

� jeżeli będzie realizowana rejestracja wideo podczas konferencji przez osoby powiązane z organizatorem, będzie możliwość zamieszczenia tego typu materiału i obejrzenia relacji wideo przez dowolnego użytkownika,

7

po zakończeniu konferencji lub w czasie jej trwania na odpowiedniej podstronie,

� dodawanie zdjęć do galerii, � możliwość komunikowania się pomiędzy wszystkimi uczestnikami

konferencji i użytkownikami portalu za pomocą e-maila, � możliwość dyskusji na temat danej konferencji na forum

konferencyjnym, � dodawanie wiadomości na stronie, zarządzanie użytkownikami,

konferencjami i innymi danymi przez administratora portalu za pomocą panelu administracyjnego,

� szybki dostęp do informacji za pomocą wyszukiwarki, � przegląd swojego profilu, � przegląd konferencji, z którymi identyfikowany jest dany użytkownik

8

2. TECHNOLOGIE WYKORZYSTANE W TWORZENIU PORTALU

Do stworzenia portalu obsługi konferencji zastosowano głównie język skryptowy PHP (w wersji 5), ponieważ jest on jednym z najbardziej cenionych rozwiązań wśród programistów witryn internetowych i doskonale współpracuje z innymi aplikacjami [6]. Służy przede wszystkim do wykonywania skryptów po stronie serwera WWW. Zawiera wiele przydatnych funkcji i daje wręcz nieograniczone możliwości. W stosunku do poprzednich wersji języka, wzbogacono go między innymi o możliwość programowania obiektowego. W porównaniu z innymi znanymi technologiami takimi jak: Active Server Pages (ASP), Perl, czy Java Server Pages (JSP), głównymi cechami charakterystycznymi, które wpłynęły na wybór języka PHP są:

� wysoka wydajność, � niski koszt, � współpraca z bazami danych, � przenośność, � zintegrowane biblioteki, � dostępność wsparcia i kodu źródłowego, � łatwość nauki PHP

Kod PHP możemy umieszczać bezpośrednio w plikach HTML’owych lub osobno w plikach z rozszerzeniem .php oddzielając go specjalnymi znacznikami, które w zależności od wersji języka wyglądają różnie, dla PHP w wersji 5, wygląda to następująco [6]: <?php // tutaj znajduje się zawartość ?>

PHP jest rozpowszechniany zazwyczaj jako kod źródłowy, który może być wykonywany między innymi na platformach: Windows, Linux i FreeBSD. Za edytory zarówno plików PHP’owych i HTML’owych posłużyły dwa sprawdzone oprogramowania przeznaczone do tego celu: Notepad++ [7] oraz PHPDesigner [9]. Aplikacje te ułatwiają tworzenie plików tekstowych, ponieważ automatycznie rozpoznają skrypty i odznaczają je od zwykłego tekstu oraz dodatkowo wykrywają błędy składniowe. Do łączenia się z serwerem FTP wykorzystano program Total Commander w wersji 7.04 [2].

Środowisko bazodanowe, które wybrano w tworzeniu portalu to MySQL, ponieważ jest to najbardziej popularna i ceniona technologia wśród webmasterów, a także specjalistów od baz danych. Baza danych MySQL jest

9

dostępna na zasadzie licencji GNU GPL. Cechuje się bardzo wysoką wydajnością, doskonale integruje się z językiem skryptowym PHP, do którego jest standardowo wbudowana obsługa MySQL [6]. Baza danych MySQL w porównaniu z innymi popularnymi wolnodostępnymi systemami zarządzania relacyjnymi bazami danych np. PostgreSQL, czy Firebird jest szybsza w działaniu, jednak zwolennicy bazy danych PostgreSQL twierdzą, że ma ona więcej możliwości i jest bardziej rozbudowana. Mimo tego baza danych MySQL wciąż cieszy się największym powodzeniem i jest łatwo przyswajana przez początkujących użytkowników.

Bazy danych służą przede wszystkim do przechowywania informacji, np. o zarejestrowanych użytkownikach w serwisie WWW lub spis pracowników w danej firmie. Stosowanie baz danych jest bardzo pomocne, ponieważ umożliwiają szybki dostęp do informacji, pozwalają na sortowanie rekordów w tabelach według pewnych wartości, a także na wyszukiwanie interesujących nas informacji. Tabele w bazach danych składają się z pól i rekordów, gdzie każde pole posiada określony typ przechowywania danych oraz długość ciągu, który będzie przechowywany w bazie. Za pomocą kluczy tabele można łączyć ze sobą, tworząc powiązania między polami nazywane relacjami. Połączenia mogą być typu jeden do jeden lub jeden do wielu. Silniki bazodanowe, które pozwala użyć MySQL są przeznaczone do różnych zastosowań. Najbardziej znane z nich to MyISAM i InnoDB. Pierwszy z nich jest standardowo ustawionym silnikiem, nie obsługującym transakcji, jednak pozwala na wyszukiwanie pełnotekstowe w przeciwieństwie do innych typów, natomiast InnoDB umożliwia obsługę transakcji.

Narzędziem służącym do zarządzania bazami danych MySQL, które zostało użyte w projekcie to phpMyAdmin. Jest to oprogramowanie obsługiwane za pomocą przeglądarki internetowej, wydawane na licencji GNU GPL. Posiada łatwy, a także przejrzysty interfejs i co dla niektórych może okazać się bardzo ważne – nie wymaga zaawansowanej znajomości języka SQL.

Kolejną wykorzystywaną technologią jest język XHTML w wersji 1.0.

Jest to następca HTML’a w wersji 4.0 rekomendowany przez organizację W3C w postaci XML’a. Język ten służy do tworzenia witryn WWW ogólnego przeznaczenia [6]. Przeglądarki internetowe, które radzą sobie z obsługą XHTML to Firefox i Opera, natomiast najpopularniejsza z nich, czyli Internet Explorer nie obsługuje tego typu zawartości, jedynie poprzez tzw. tryb zgodności umożliwia wyświetlanie stron XHTML’owych za pośrednictwem silnika renderującego HTML. Ogólne różnice konstruowania dokumentów XHTML w odróżnienia od HTML przedstawiają się następująco:

� dokument powinien rozpoczynać się od deklaracji XML, � strona XHTML nie jest wyświetlana jeżeli zawiera błędy, � na początku powinien znajdować się atrybut xmlns, który określa

przestrzeń nazw XHTML: http://www.w3.org/1999/xhtml,

10

� atrybuty XHTML i nazwy elementów muszą być pisane małymi literami, � każdemu znacznikowi otwierającemu, posiadającemu dowolną zawartość

powinien odpowiadać znacznik zamykający (np. <body>...</body>), � elementy bez zawartości powinny być również zamykane (np. zamiast

<br> musi być <br/> lub <br></br>), � wartości atrybutów muszą być zawarte w cudzysłowiu (np. <td

colspan="5"> lub apostrofie, np. <td colspan='5'> Dodatkowo w projekcie zastosowano język CSS, czyli kaskadowe arkusze stylów, które służą do definiowania sposobu wyświetlania stron WWW. CSS umożliwiają dzielenie strony na elementy za pomocą znaczników <div>, nadawanie nazwy poszczególnym fragmentom na stronie, dzięki temu można łatwo je identyfikować i formatować. Za pomocą kaskadowych arkuszy stylów możemy między innymi ustalać kolor tła, wielkość, kolor i rodzaje czcionek, kontrolować marginesy, rozmieszczanie tekstów, obrazów i innych informacji. Aby załączyć arkusz stylów do strony należy w kodzie XHTML’owym dodać w sekcji <head> linijkę: <link rel=”stylesheet” type=”text/css” href=”nazwastylu.css” />. Zakładając, że w pliku z rozszerzeniem .css mamy: #TRESC { margin-left: 220px; margin-right: 200px; background-color: #0A1646; font-size: 13px; } odwołanie do tego elementu na stronie XHTML wygląda następująco: <div id=”TRESC”> // tutaj znajduje się zawartość </div> Zawartość umieszczona w tych znacznikach, będzie wyświetlona na stronie w odpowiednim miejscu i odpowiedni sposób, który wcześniej zdefiniowano w pliku CSS.

11

3. BAZA DANYCH

3.1. Podstawowe informacje o bazie danych portalu

W projekcie zastosowano bazę danych MySQL, ponieważ ze względu na swoją wydajność, szybkość i łatwość obsługi jest najbardziej popularnym środowiskiem bazodanowym dla projektów małej skali. Kolejnym kryterium wyboru niniejszej bazy danych były ograniczenia narzucone przez instytucję hostującą witrynę konferencji. Do zarządzania bazą danych posłużyło narzędzie phpMyAdmin, które jest obsługiwane poprzez przeglądarkę internetową i znacznie ułatwia pracę. Na bieżąco można kontrolować w sposób czytelny wszelkie informacje zawarte w tabelach. Aplikacja phpMyAdmin została napisana w języku PHP i jest wydawana na licencji wolnego oprogramowania GNU General Public Licence (GNU GPL).

Baza danych portalu www.konferencje-online.yoyo.pl znajduję się na

serwerze pod adresem http://mysql3.yoyo.pl/, gdzie po wprowadzeniu nazwy użytkownika wraz z hasłem uzyskujemy do niej dostęp.

3.2. Połączenie z bazą danych za pomocą PHP

Istotną rzeczą w projekcie jest połączenie się z bazą danych MySQL, które odbywa się za pomocą języka skryptowego PHP. Wszelkie zapytania do bazy danych muszą być realizowane dopiero po pomyślnym połączeniu z bazą. Do tego celu posłużono się następującym kodem: <?php $connect = mysql_connect ("nazwa_hosta", "nazwa_uzytkownika", "hasło") or die ("Nie można nawiązać połączenia z bazą danych."); mysql_select_db ("nazwa_bazy") or die ("Nie ma takiej bazy danych."); ?>

Połączenie z bazą danych MySQL odbywa się za pomocą funkcji $connect [12], gdzie podajemy parametry połączenia z wcześniej utworzoną bazą danych. Może to być serwer ogólnodostępny lub serwer lokalny – localhost. Jeżeli udało się nawiązać połączenie, wówczas wybierana jest nazwa bazy, którą podano. Jeżeli połączenia nie uda się zrealizować, wówczas funkcja die() informuje nas o błędzie, co w efekcie przerywa operację. Powyższy skrypt znajduje się w pliku baza.php i za każdym razem, gdy potrzebne jest połączenie z bazą danych, plik ten jest wywoływany przez funkcję include („baza.php”);

12

3.3. Struktura bazy danych

Bazę danych, którą utworzono zawiera kilka tabel odpowiednio ze sobą powiązanych za pomocą mechanizmu relacji [4]. Struktura bazy danych portalu została zaprojektowana z myślą o optymalnym działaniu, dlatego też uniknięto zbędnych pól w tabelach. Baza danych przechowuje dane w taki sposób, aby możliwie zmniejszyć powtarzanie się tych samych danych w różnych tabelach. Z racji tego, iż baza danych ma ograniczone miejsce, może to mieć znaczący wpływ na szybkość oraz poprawność jej działania.

Rys. 1. Struktura bazy danych portalu [8]

Powyższa struktura bazy danych zawiera kilka tabel, które w większości

są powiązane ze sobą za pomocą kluczy. Każda tabela zawiera kilka pól o określonych typach danych [5] oraz dopuszczalnej liczbie znaków, która odpowiada za możliwą ilość znaków przechowywanych w tabelach [4]. Przykładowo identyfikator użytkownika „id” jest typu integer o długości znaków 4. Oznacza to, że wspomniane pole może przybierać tylko wartości liczb całkowitych z zakresu 0-9999. Hasło jest typu varchar o długości znaków 32, ponieważ może zawierać cyfry i litery, natomiast długość jest uzależniona od zastosowania funkcji md5, której hasło jest konwertowane zawsze na 32 znaki.

13

Tabela „Użytkownik” jest powiązana z tabelą „Konferencje” relacją jeden do wielu, ponieważ dany użytkownik portalu może założyć kilka własnych konferencji. Natomiast z daną konferencją mogą być identyfikowani uczestnicy konferencji z tabeli o tej samej nazwie, którym przypisywany jest identyfikator danej konferencji. Tabela „artykuły” łączy się z tabelą „uczestnicy” relacją jeden do jeden, co oznacza że osoba może przesłać tylko jeden referat na jedną konferencję. Ponadto „artykuły” są powiązane z tabelą „konferencje” relacją jeden do wielu, ponieważ kilka referatów może być zaprezentowanych podczas trwania danej imprezy. Organizator konferencji, a więc użytkownik, który stworzył konferencję, musi również ustalić plan jej przebiegu na podstawie nadsyłanych artykułów przez użytkowników. Za przechowywanie poszczególnych prezentowanych wykładów, podczas trwania konferencji odpowiada tabela „Plan”, która jest ściśle powiązana z daną konferencją relacją jeden do jeden. Zarówno zdjęcia z tabeli „Galeria” jak i relacje wideo z tabeli „Wideo” są powiązane z tabelą „konferencje” relacją jeden do wielu.

14

4. FUNKCJONALNO ŚĆ PORTALU

4.1. Strona główna

Większość, jeśli nie wszystkie witryny znajdujące się w sieci posiadają stronę startową, za pomocą której użytkownicy mogą przechodzić w poszczególne odnośniki lub wykonywać określone operacje. Z reguły stronę startową określa się jako indeksową. Portal obsługi konferencji składa się z elementów, spośród których najważniejsze przedstawiono poniżej.

Rys. 2. Strona główna portalu

Na stronie głównej znajduje się menu wyboru, za pomocą którego

użytkownicy portalu mają możliwość przeglądania konferencji, które są organizowane oraz te, które już się zakończyły i znajdują się w archiwum. Poza tym użytkownik ma możliwość stworzenia własnej konferencji, dostęp do forum konferencyjnego, galerii zdjęć z dotychczas przeprowadzonych imprez, kontakt mailowy z administratorem, a także rejestracja wraz z logowaniem, która jest dostępna również w prawym górnym rogu strony. Poniżej umieszczona jest wyszukiwarka, za pomocą której można znaleźć tematy prezentowane podczas poszczególnych konferencji, prelegentów i artykuły do pobrania. W centralnej części strony znajduje się krótki opis możliwości, które oferuje portal z podstawowymi odnośnikami, między innymi do listy organizowanych konferencji. Poniżej są wiadomości informujące użytkowników o najważniejszych wydarzeniach, takich jak np. rozpoczęcie konferencji, informacje o ostatecznym terminie opłat, o wprowadzonych zmianach i nowościach na stronie.

Najbliższa konferencja

Logowanie / rejestracja Menu wyboru

Wyszukiwarka

Wiadomości

15

Po prawej stronie oprócz wspomnianego logowania i rejestracji zamieszczono informację o najbliższej konferencji, która będzie organizowana, a także kalendarz, który pokazuje obecną datę z podglądem na cały miesiąc. Dodatkowo na stronie głównej znajduje się licznik odwiedzin informujący o tym, ilu użytkowników było „gośćmi” od początku istnienia portalu, a także informacja o dzisiejszej dacie, dniu tygodnia, o aktualnym dniu w roku i godzinie.

4.2. Rejestracja użytkownika

Do identyfikacji użytkowników w portalu służy rejestracja za pomocą formularza [12] dostępnego za pośrednictwem strony internetowej. Rejestracja jest konieczna jeżeli użytkownik ma zamiar założyć konferencję lub zapisać się jako uczestnik na jedną z nich. Dane wprowadzane w formularzu przez użytkownika są zapisywane w bazie danych w tabeli Użytkownik. Wymagane pola do wypełnienia to adres email, hasło (wraz z jego powtórzeniem), imię, nazwisko, numer telefonu i adres zamieszkania, w skład którego wchodzi ulica, numer domu, numer mieszkania, kod pocztowy i miejscowość. Pola te oznaczone są gwiazdką. Dodatkowo formularz zawiera pola, w których można podać swój tytuł naukowy i afiliację. Jeżeli wszystko zostało wypełnione poprawnie, wówczas rejestracja zakończy się sukcesem i będzie można się zalogować. W przypadku błędnie wprowadzonych danych zostanie wyświetlony odpowiedni komunikat o błędzie. Do tego celu skrypt musi sprawdzić szereg warunków, weryfikujących poprawność wprowadzonych danych przez użytkownika. Do najważniejszych z nich należą:

� sprawdzenie czy wymagane pola są wypełnione, � posiadają wymaganą i dozwoloną liczbę znaków, � adres mailowy posiada właściwy format, � podane hasła są identyczne, � imię, nazwisko i miejscowość mogą zawierać tylko litery, � numer mieszkania, kod pocztowy i numer telefonu mogą zawierać tylko

cyfry

16

Rys. 3. Rejestracja użytkownika

Podczas tworzenia formularza założono [1][10], że pole „numer domu” może zawierać zarówno wartości liczbowe jak i litery. Przekazywanie danych z formularza odbywa się za pomocą kilku typów pól wejściowych, między innymi: text, password i select [5][6]. Dla bezpieczeństwa hasło użytkownika przechowywane w bazie danych jest hashowane kryptograficzną funkcją skrótu bez możliwości jego odkodowania (md5) [3].

4.3. Logowanie i wylogowanie

Logowanie do portalu jest możliwe tylko po zrealizowaniu jednorazowej pomyślnie zakończonej rejestracji [12]. Założono, że nazwą identyfikującą danego użytkownika będzie jego email. Aby pomyślnie zalogować się, należy wpisać adres mailowy i hasło podane podczas rejestracji.

Po prawidłowym zalogowaniu, użytkownik będzie o tym poinformowany, a jego login, czyli email zostanie wyświetlony w prawym górnym rogu strony. Jeśli korzystający z portalu jest zalogowany, ma dostęp do wielu rozmaitych możliwości, które oferuje portal, w przeciwieństwie do użytkownika, który nie ma założonego konta w naszym serwisie, między innymi może zapisać się na daną wybraną imprezę lub stworzyć własną w zakładce „Stwórz własną konferencję”. Poza tym będzie mógł zgłosić artykuł lub referat, przeglądać informacje w profilu i o konferencjach, z którymi jest powiązany.

17

Rys. 4. Logowanie

System logowania opiera się na sesjach [6]. Rozpoczęcie sesji odbywa się po wywołaniu funkcji: session_start(); Weryfikacja wprowadzonych danych jest sprawdzana za pomocą następującego kodu: $zapytanie = mysql_query("SELECT * FROM uzytkownik WHERE email = '$email'"); $dane = mysql_fetch_array($zapytanie); if ($email ==''.$dane['email'].'' && $haslo ==''.$dane['haslo'].'') { $_SESSION['admin']='ok'; $_SESSION['email']=''.$dane['email'].''; setcookie("log" , "log", time()+3600, "/","", 0); header("Location: pomyslne_logowanie.php"); } Skrypt sprawdza poprawność wprowadzonych danych z bazą, następnie ustawia sesje zawierającą email i cookie na czas 3600 sekund [10]. Po tym czasie zmienna sesji wygasa (ze względu bezpieczeństwa) i należy zalogować się ponownie.

Zakończenie sesji, a więc wylogowywanie realizuje funkcja: session_destroy(); // zakończenie sesji setcookie("log" , "log", time()-3600, "/","", 0); // usuwanie ciasteczka

Automatyczne wylogowanie użytkownika ze strony następuje po upłynięciu czasu 3600 sekund, a więc jednej godziny.

18

4.4. Organizowane konferencje

W lewym menu na głównej stronie znajduje się odnośnik, za pomocą którego możemy przeglądać informacje o aktualnie organizowanych konferencjach na terenie Polski. Umieszczane są tam konferencje założone przez użytkowników portalu, które się jeszcze nie rozpoczęły lub są w trakcie trwania, ale jeszcze niezakończone. W pierwszej kolejności możemy podejrzeć listę aktualnie organizowanych konferencji, zawierającą podstawowe informacje, takie jak nazwa konferencji oraz terminy jej rozpoczęcia i zakończenia. Poprawne wyświetlanie wszystkich konferencji, definiuje poniższe zapytanie do bazy danych [4][5]: $zapytanie = mysql_query("SELECT * FROM konferencje WHERE data_zak >= curdate() GROUP BY data_rozp;") or die ('błąd: '.mysql_error()); Z tabeli “Konferencje” wybierane są tylko te, których data rozpoczęcia jest wcześniejsza od daty dzisiejszej, która jest zdefiniowana przez odpowiednią funkcję MySQL’ową curdate() [4] i dodatkowo sortowane według daty rozpoczęcia, w taki sposób, że najbliższe konferencję są wyświetlane w pierwszej kolejności. W celu wyświetlenia na stronie wszystkich konferencji odpowiadających zapytaniu posłużono się pętlą while [5][11][12]. Kolumny w tabeli zostały ponumerowane funkcją mysql_fetch_array, lecz można także dzięki niej używać do wyświetlania danych nazw pól jako kluczy.

Rys. 5. Organizowane konferencje

Do każdej konferencji dodany został link, który przenosi użytkownika w szczegóły danej konferencji. Odnośnik jest generowany automatycznie i wygląda on następująco:

19

<a href="organizowane_konf.php?co=szczegoly&wynik='.$wynik[0].'">, gdzie zmienna $wynik[0] jest identyfikatorem konferencji.

4.5. Szczegóły konferencji

Szczegóły konferencji zawierają więcej informacji podanych przez organizatora podczas jej zakładania. Ponadto znajduje się powiadomienie o tym, ile pozostało miejsc wolnych na wybrane sympozjum. Ilość ta jest zależna od osób, którzy wyrazili chęć odbycia konferencji i uiścili opłatę . Wraz z kolejną zapisaną osobą, liczba wolnych miejsc jest dekrementowana o wartość 1 od ilości miejsc ustalonych przez przewodzącego organizacją. Jeżeli liczba chętnych przekroczy dozwoloną liczbę uczestników, wówczas nie będzie możliwe uczestnictwo w konferencji. Osoba zainteresowana wzięciem udziału w niej, będzie zmuszona czekać na zwolnienie się miejsca, po ewentualnej rezygnacji z konferencji któregoś z uczestników i wtedy może zająć jej miejsce po dokonaniu wymogów, które należy spełnić.

Rys. 6. Szczegółowe informacje o konferencji

20

4.5.1. Informacje o organizatorze

Organizatorem konferencji jest osoba lub instytucja, która posiada adres email, za pomocą którego jest identyfikowana. Będzie to ułatwienie w kontakcie dla osób zainteresowanych udziałem w danym sympozjum z organizatorem. W szczegółach konferencji organizator może podać informacje o sobie lub instytucji, która jest odpowiedzialna za przeprowadzenie konferencji, takie jak np. imię i nazwisko, wiek, wykształcenie, doświadczenie w organizacji tego typu imprez, cel i powód, dlaczego postanowiono stworzyć konferencję. W przypadku organizacji konferencji przez firmę „iks”, jej przedstawiciel może zamieścić wiadomość o tym, czym ona się zajmuje, kiedy powstała, czy wcześniej przeprowadzała tego typu imprezy i na jakie tematy. Takie informacje mogą zadziałać jak reklama i zachęcić użytkowników portalu do udziału w konferencji zarówno jako słuchacz lub jako prelegent.

4.5.2. Tematyka konferencji

W szczegółach konferencji może znajdować się informacja o tematyce konferencji, której ma ona dotyczyć. Jeżeli danego uczestnika zainteresuje tematyka, ma możliwość uczestnictwa w konferencji i nadesłanie własnego artykułu / referatu powiązanego tematycznie z konferencją. Jeżeli organizator założył, że na konferencji będą prezentowane tematy z różnych dziedzin wiedzy, może o tym poinformować w dodatkowych informacjach o organizatorze lub nie podawać tematyki, przyjmując, że może być ona dowolna.

4.5.3. Informacje o terminach

Na podstronie konferencji znajdują się informacje o najważniejszych terminach, które jej dotyczą. Wszelkie daty powinny mieć zachowaną następującą kolejność (zaczynając od najwcześniejszej):

� rozpoczęcie okresu zgłaszania artykułów / referatów, � zakończenie okresu zgłaszania artykułów / referatów, � ostateczny termin opłat za udział w konferencji, � rozpoczęcie konferencji, � zakończenie konferencji

21

Od osoby organizującej zależy ile czasu przeznaczy na poszczególne etapy. Jeżeli zaistnieje potrzeba wprowadzenia zmian w terminach, będzie taka możliwość w „Edycji”, opcji, która jest dostępna tylko dla organizatora.

4.5.4. Miejsce organizacji konferencji

W celu dokładnego zlokalizowania miejsca konferencji przez osoby zainteresowane udziałem w konferencji, organizator podaje miejscowość, w której ma się ona odbyć wraz z ulicą i numerem budynku. Po kliknięciu w miejsce konferencji,

Rys. 7. Miejsce konferencji

użytkownik zostanie przeniesiony do strony www.zumi.pl [13],

Rys. 8. Dokładne wskazanie miejsca konferencji

na której to będzie ukazana sprecyzowana lokalizacja miejsca konferencji, dzięki czemu uczestnicy mogą sprawdzić trasę, czas dojazdu oraz odległość dzielącą ich od miejsca konferencji, jak i okoliczne tereny, gdzie mogliby skorzystać z noclegu lub ewentualnie w czasie wolnym z atrakcji turystycznych.

22

Do poprawnego wyświetlenia na mapie miejsca spotkania posłużono się bazą danych, w której w tabeli „Konferencje” znajdują się 3 pola odpowiedzialne za lokalizację: miejscowość, ulica i numer budynku. Odnośnik do tego miejsca ma postać: http://www.zumi.pl/namapie.html?qt=&loc='.$wynik[8].'%2C+'.$wynik[9].'%2C+'.$wynik[10].'+&Submit=Szukaj&cId=&sId=" target="_blank">, gdzie $wynik[8], $wynik[9] i $wynik[10], to zmienne określające rekordy w wyżej wymienionych polach w tabeli pod odpowiednim identyfikatorem konferencji.

4.6. Tworzenie własnej konferencji

Stworzenie własnej konferencji może być zrealizowane przez użytkownika, który założył konto na portalu i jest aktualnie zalogowany. Organizatorem konferencji może być osoba indywidualna lub na przykład firma, czy instytucja posiadająca swój adres mailowy.

Do zorganizowania konferencji służy formularz [1][10], który znajduje się w menu pod nazwą „Stwórz własną konferencję”. Osoba wyrażająca chęć zorganizowania danego zjazdu musi liczyć się z wszelkimi ewentualnymi trudnościami. W tym celu zaleca się, aby przygotować sobie plan działania, aby wszystko przebiegło sprawnie i nie było niedopatrzeń. Przede wszystkim należy ustalić jakich zagadnień będzie dotyczyć dana konferencja. W dalszej kolejności należy się rozejrzeć za miejscem konferencji oraz dozwoloną ilością osób w niej uczestniczących. Organizator musi przydzielić termin zgłaszania referatów, według których będzie tworzony plan konferencji. W tym celu, powinien poinformować i rozpowszechniać informację o planowanej konferencji, aby zwiększyć zainteresowanie jej uczestnictwem jako prelegent lub zwykły uczestnik. Wszystkie podane dane, będzie można edytować według potrzeb organizacyjnych przed rozpoczęciem konferencji. Pomyślne zrealizowanie danej imprezy naukowej mogą wspomagać sponsorzy. Podpisanie umowy sponsorskiej może mieć wpływ na kwotę, którą należy ustalić za udział w konferencji.

23

Rys. 9. Formularz tworzący konferencję

Aby pomyślnie stworzyć konferencję, należy prawidłowo wypełnić

wszystkie wymagane pola. Organizator będzie identyfikowany emailem. Jest on zgodny z mailem aktualnie zalogowanego użytkownika w portalu i ze względów bezpieczeństwa nie ma możliwości jego zmiany. Jako nazwę konferencji użytkownik podaje taką, która będzie pasowała i odzwierciedlała to, co będzie przedstawiane podczas trwania konferencji. Zaleca się, aby skrótem nazwy konferencji były pierwsze litery od nazwy konferencji wraz z rokiem zgodnym, kiedy konferencja ma się odbyć. Wówczas łatwiej będzie można identyfikować tą konferencję i przeprowadzać kolejne jej edycje. Użytkownik może, także wybrać tematykę konferencji spośród ponad 100 dostępnych dziedzin wiedzy.

Obowiązkowo w interesie organizatora konferencji jest podanie podstawowych informacji takich jak: data i godzina rozpoczęcia oraz zakończenia konferencji, terminy zgłaszania artykułów i referatów, miejsce konferencji, które powinno być w miarę precyzyjnie określone, ilość miejsc, cena za udział w konferencji, numer konta bankowego, na które będą dokonywane wpłaty za udział w konferencji i ostateczny termin opłat. Dodatkowo można podać sponsorów, którzy wspomogli organizację konferencji, jeżeli tacy istnieją oraz informacje o organizatorze, gdzie można między innymi zamieścić dodatkowe dane o użytkowniku lub o firmie i czy ma jakieś doświadczenie w przeprowadzeniu tego typu spotkań.

W projektowaniu formularzu zastosowano zabezpieczenia przed błędnie wpisanymi danymi. Daty zgłaszania artykułów i ostateczny termin opłat za konferencję muszą poprzedzać datę rozpoczęcia konferencji. Logiczne jest również to, że daty zakończenia konferencji i zakończenia okresu zgłaszania

24

artykułów nie mogą być wcześniejsze od dat ich rozpoczęcia. Pola takie jak ilość miejsc, cena za udział w konferencji i numer konta bankowego muszą zawierać wyłącznie wartości liczbowe. Ponadto numer konta bankowego musi zawierać dokładnie 26 cyfr. Zarówno nazwa konferencji i jej skrót są unikalne, więc nie może występować więcej niż jedna konferencja o tej samej nazwie i skrócie nazwy konferencji.

Po prawidłowym wypełnieniu formularza, organizator może przeglądnąć swoją utworzoną konferencję w zakładce „Organizowane konferencje”, a następnie wykonywać kolejne działania w kierunku jej właściwej organizacji.

4.7. Profil u żytkownika

Cechą charakterystyczną większości portali jest możliwość zakładania konta. Po zakończeniu rejestracji i po zalogowaniu się przez danego użytkownika, jest możliwość przeglądania informacji na swój temat. W profilu użytkownika znajdują się dane osobiste, a więc te, które użytkownik podał podczas rejestracji. Można tutaj między innymi przeglądać ilość konferencji, które dana osoba zorganizowała oraz ilość konferencji, w których uczestniczył.

Rys. 10. Profil użytkownika

Poprzez odnośnik „Pokaż więcej informacji” można przejść w „Moje konferencje”, z którymi powiązana jest dana osoba.

Zliczenie konferencji, które zalogowana osoba zorganizowała wykonano następującym zapytaniem do bazy:

25

SELECT COUNT(email) AS ilosc_org FROM konferencje WHERE email='".$_SESSION['email']."';

Następuje zliczenie [4] ile razy występuje w tabeli „konferencje” email zgodny z aktualnie zalogowanym użytkownikiem. Ilość konferencji, w których dany użytkownik jest uczestnikiem zrealizowano w bardziej skomplikowany sposób, ponieważ sprawdzenie danych musi odbywać się w trzech tabelach. W pierwszej kolejności należy pobrać identyfikator i email z tabeli „użytkownik” aktualnie zalogowanej osoby. Następnie wykonano pobranie wybranych kolumn z tabeli z „Konferencje” i z tabeli „Uczestnicy”. Następuje sprawdzenie, czy identyfikator zalogowanego użytkownika, czyli '".$uzyt[0]."', znajduje się w tabeli „Uczestnicy”, czy identyfikator konferencji z tabeli „Konferencje” jest równy identyfikatorowi z tabeli „Uczestnicy” oraz czy dokonano opłaty. SELECT COUNT (k.id_konf), k.nazwa_konf, k.data_rozp, k.data_zak FROM konferencje AS k WHERE EXISTS (SELECT u.id_uzyt, u.id_konf, u.oplata FROM uczestnicy AS u WHERE u.id_konf = k.id_konf AND u.id_uzyt = '".$uzyt[0]."' AND u.oplata = 'TAK') ORDER BY k.data_rozp; W celu odróżnienia kolumn należących do konkretnej tabeli konieczne było zastosowanie aliasów [4].

4.8. Moje konferencje

W zakładce „Moje konferencje” znajdują się informacje o konferencjach, z którymi powiązany jest zalogowany użytkownik. Wyróżnione tutaj zostały przynależności do danej konferencji. Pierwsza tabela wyświetla konferencje, które użytkownik zorganizował lub w danym momencie organizuje, druga natomiast pokazuje, w których zjazdach uczestniczył lub zgłosić chęć uczestnictwa do konferencji, w której ma zamiar uczestniczyć. W tym miejscu znajduje się opcja usuwania konferencji, której użytkownik był lub jest organizatorem, aczkolwiek usuwanie konferencji, która już się odbyła nie jest zalecane.

26

W miejscu, gdzie widnieją konferencje, w których użytkownik jest zapisany jako uczestnik jest widoczna opcja rezygnacji z udziału w konferencji. Jest to niezbędna możliwość, ponieważ użytkownik, który zgłosił się na wybrany panel dyskusyjny, lecz z jakiegoś powodu nie może wziąć w niej udziału może zrezygnować z uczestnictwa, zwalniając tym samym miejsce dla innej osoby. Dotyczy to tylko tych imprez, które jeszcze się nie rozpoczęły. Jeżeli użytkownik uiścił opłatę konferencyjną, zostanie zwrócone 90% tej kwoty. W przypadku zgłoszonego artykułu / referatu przez użytkownika, który zrezygnował z uczestnictwa w konferencji, zostanie on anulowany i nieuwzględniony.

Obliczenie 90% kosztów opłaty konferencyjnej, która ma zostać zwrócona osobie, która zrezygnowała z uczestnictwa w konferencji wykonano następująco:

$zapytanie = mysql_query ("SELECT * FROM konferencje WHERE id_konf='$wynik'") or die ('błąd: '.mysql_error()); $wynik = mysql_fetch_array($zapytanie); Najpierw następuje pobranie danych z tabeli konferencje pod danym identyfikatorem konferencji. $koszty = $wynik[12] * 0.9; Następnie pobranie wartości ceny za udział w konferencji, za którą odpowiada $wynik[12], przy jednoczesnym pomnożeniu tej wartości przez współczynnik 0.9 oraz przypisanie do wyniku zmiennej koszty. $zwrot_kosztow = round ($koszty, 2); Uzyskany wynik zawarty w zmiennej $koszty, został sformatowany i zaokrąglony do dwóch miejsc po przecinku funkcją round [4], do prawidłowego wypisania ceny np. 250,75 zł.

27

Rys. 11. Moje konferencje

Do pobrania konferencji powiązanych z określonym użytkownikiem zastosowano podobne zapytania jak w profilu użytkownika do zliczania konferencji, z zasadniczą różnicą – braku funkcji COUNT.

4.9. Najbli ższa konferencja

Na stronie głównej portalu po prawej stronie znajduje się informacja o imprezie jaka będzie przeprowadzana w najbliższym terminie. Do wskazania takiej konferencji posłużono się wybraniem z bazy wartości minimalnej [4] w polu data rozpoczęcia, a jednocześnie postawiono warunek dla jeszcze nierozpoczętych konferencji. Jeżeli aktualnie wyświetlana najbliższa konferencja rozpocznie się, wówczas pokaże się następna nierozpoczęta, jeśli taka istnieje.

SELECT nazwa_konf, MIN(data_rozp) AS mindata FROM konferencje WHERE data_rozp > curdate();

Rys. 12. Najbliższa konferencja

28

Po kliknięciu w “Zobacz”, użytkownik zostanie przeniesiony do szczegółów tej konferencji.

4.10. Archiwum konferencji

Konferencje, które już się zakończyły, będą przenoszone do archiwum. Jest to zalecane w celu zachowania porządku i przejrzystości na stronie. Podstawową różnicą, która występuje pomiędzy organizowanymi konferencjami a archiwum konferencji, jest brak możliwości zapisywania się na dane sympozjum jako uczestnik. Osoba, która zorganizowała konferencję będzie mogła ją usunąć, lecz nie jest to zalecane, ponieważ inni użytkownicy portalu, po przeglądnięciu informacji o niej i materiałów z nią powiązanych, mogą zainteresować się udziałem w kolejnej edycji tej konferencji, jeżeli taka będzie miała miejsce. Po zakończeniu konferencji organizator będzie miał nadal możliwość umieszczania materiałów, takie jak: relacje wideo i zdjęcia z przebiegu imprezy. Zbędna będzie w tym przypadku opcja edycji konferencji, więc założono, że organizator nie będzie mógł wprowadzać żadnych zmian jeśli chodzi o szczegóły konferencji. Pobranie z bazy konferencji, które zostały zakończone zrealizowano zapytaniem [4][5]: SELECT * FROM konferencje WHERE data_zak < curdate() GROUP BY data_rozp DESC;

4.11. Forum konferencyjne

Portal oferuje użytkownikom również korzystanie z forum konferencyjnego, na którym można wyrażać swoje opinie na temat przeprowadzanych zebrań, wymieniać swoje spostrzeżenia o artykułach, które były lub będą prezentowane na danej konferencji. Do stworzenia forum zastosowano gotowe rozwiązanie phpBB, czyli aplikację napisaną w języku PHP przeznaczoną do tworzenia forum dyskusyjnego. Jest to jeden z popularniejszych systemów tego typu. Założyciel forum posiada dostęp do panelu administracyjnego, gdzie ma możliwość do wielu opcji, do których należą m.in. zakładanie i usuwanie nowych kategorii oraz zarządzanie użytkownikami, którzy korzystają z aplikacji.

Osoby lub instytucje, które zamierzają zorganizować konferencję o określonej tematyce, mogą za pomocą forum dyskusyjnego zachęcać innych do

29

udziału w konferencji lub zadawać pytania użytkownikom, którzy mają już doświadczenie w przeprowadzaniu tego typu imprez. Ponadto osoby zainteresowane uczestnictwem w jakimś wydarzeniu, mogą poznać innych uczestników jeszcze przed jego rozpoczęciem, co może mieć korzystny wpływ na atmosferę panującą podczas jego trwania.

Rys. 13. Forum konferencyjne

Forum znajduje się pod adresem: http://www.konferencjeonline.fora.pl/. Dostęp do niego można uzyskać również z głównego menu na portalu obsługi konferencji.

4.12. Wyszukiwarka

Z myślą o łatwiejszym poruszaniu się po stronie, portal oferuje skorzystanie z wyszukiwarki, za pomocą której można w sposób szybki znaleźć interesującą frazę. Wyszukiwarka jest oparta o bazę danych. Po wpisania dowolnego wyrażenia, skrypt sprawdza w bazie danych, czy istnieją takie, które odpowiadają szukanej frazie. Przeszukiwanie odbywa się w dwóch tabelach: plan i artykuły. Z pierwszej z nich można wyszukać dwa rekordy, mianowicie: prelegentów i nazwy tematów, natomiast z drugiej tabeli – tytuły artykułów, które zostały zaakceptowane przez organizatorów konferencji, z którymi te dokumenty są powiązane.

Jeżeli znaleziono wyniki, wówczas są one wyświetlane z podziałem na nazwy tematów, prelegentów i artykuły, które wyszukano, w przeciwnym

30

wypadku użytkownik zostaje poinformowany o braku wyników wyszukiwania. Ponadto zastosowano zliczanie wszystkich elementów, które znaleziono.

Przykładowo, do znalezienia nazwy tematów posłużono się zapytaniem:

$zapytanie2 = mysql_query ("SELECT nazwa_tem, id_konf FROM plan WHERE nazwa_tem LIKE '%$szukaj%'") or die ('błąd: '.mysql_error()); Zmienna $szukaj jest wyrażeniem, przekazywanym z wyszukiwarki o nazwie $szukaj = $_POST['search'], gdzie ‘search’ to nazwa pola w formularzu. Predykat LIKE sprawdza [4], czy wyrażenie zgadza się z szukanym lub zawiera dany wzorzec.

Rys. 14. Szukane wyrażenie

Rys. 15. Wyniki wyszukiwania

Dla przykładu użytkownik wyszukuje frazę „samochód”. W tym przypadku znaleziono dwa wyniki wyszukiwania, spośród których są to nazwy tematów. Nie znaleziono więc żadnych prelegentów i artykułów zawierających szukane wyrażenie. Wyniki, które znaleziono pojawiają się w postaci linków. Po przejściu w odnośnik widoczne będą informacje o tym, kto jest autorem wyszukanego tematu, na jakiej konferencji został prezentowany i w jakim terminie. W ten sposób można uzyskać szybki dostęp do potrzebnych informacji.

31

4.13. Organizator konferencji

Jest to osoba, instytucja lub firma, która przeprowadza daną konferencję. Do jej obowiązków należy zachowanie porządku w poprawnym przeprowadzaniu konferencji. Po ustaleniu wszystkich szczegółów konferencji organizator koniecznie musi ustalić plan konferencji na podstawie nadesłanych artykułów w okresie ich nadsyłania przez osoby zamierzające zaprezentować swój referat na wybranym zjeździe. Po stworzeniu harmonogramu konferencji osoby zainteresowane uczestnictwem będą mogły zgłosić się do udziału w niej.

Obowiązkiem każdego organizatora jest dotrzymanie ustalonych terminów, nie należy zmieniać wysokości opłaty za udział w konferencji tuż przed jej rozpoczęciem, prawidłowo przeprowadzać operacje finansowe z każdym z uczestników konferencji.

4.13.1. Akceptacja i odrzucanie referatów / artykułów

Materiały, które użytkownicy zamierzają zaprezentować podczas trwania konferencji muszą być wcześniej zaakceptowane przez organizatora lub recenzentów wyznaczonych przez organizatora. Artykuły i referaty, które zostały nadesłane, są umieszczane w tzw. „poczekalni”, czyli w miejscu gdzie odbywa się przeglądanie tych materiałów przez organizatora lub osoby z nim powiązane. Można je akceptować lub odrzucać. Autorzy dokumentów, które zaakceptowano mają prawo zaprezentować wybrane zagadnienie podczas trwania konferencji pod warunkiem uiszczenia opłaty. Artykuły / referaty zamieszczone przez użytkowników posiadają na początku status ‘oczekuje’ w bazie danych, tzn. że znajdują się w miejscu, gdzie nastąpi ich późniejsza akceptacja lub odrzucenie. Dokumenty, które zostały zaakceptowane zostają przeniesione do „downloadu”, gdzie użytkownicy portalu mogą je pobierać i przeglądać, natomiast dokumenty, które odrzucono zostają usunięte. Potwierdzenie akceptacji lub odrzucenia zgłoszonego dokumentu zostanie wysłane na adres mailowy autora artykułu. W celu przeprowadzenia akceptacji zastosowano zapis do tablicy elementów, które zaznaczono. Kolejnym krokiem jest ich zliczenie i wykonanie odpowiednich operacji w bazie danych dla tych elementów. W tabeli „artykuły” pod wyznaczonym artykułem następuje aktualizacja rekordu w polu akceptacja na ‘TAK’ [4][5], natomiast w tabeli „uczestnicy” pod identyfikatorem autora artykułu i konferencji, na którą zgłoszono artykuł w polu id_art wykonuje się wpis numeru artykułu, który został zaakceptowany. $update_id=$_POST['dok_akcept']; // zapis wszystkich id w postaci tablicy $ilosc=count($update_id); // zliczanie ilości id

32

for($i=0; $i<$ilosc; $i++) // pętla potrzebna aby zaakceptować tyle dokumentów ile było zaznaczonych

{ $query="UPDATE artykuly SET akceptacja='TAK' WHERE id='".$update_id[$i]."'"; // zapytanie, które akceptuje dokumenty o danym id mysql_query($query); // wykonanie zapytania $query2="UPDATE uczestnicy SET id_art='".$art[0]."' WHERE id_uzyt='".$user[0]."' AND id_konf='$wynik'"; mysql_query($query2); } Podobnie sprawa ma miejsce z odrzucaniem dokumentów, z tą różnicą, że w pętli for usuwane są artykuły z bazy danych za pomocą DELETE.

Rys. 16. Akceptowanie dokumentów

Rys. 17. Odrzucanie dokumentów

Do budowy akceptowania i odrzucania artykułów / referatów zastosowano użycie pola wejściowego typu checkbox [6].

33

4.13.2. Tworzenie planu konferencji

Niezbędnym elementem w organizacji konferencji jest stworzenie planu jej przebiegu. Dostęp do formularza tworzącego harmonogram ma tylko i wyłącznie organizator. Na podstawie artykułów i referatów nadesłanych przez innych użytkowników, które organizator lub recenzenci współpracujący bezpośrednio z nim zaakceptowali, należy ustalić plan konferencji. Jest to konieczne, ponieważ osoby zainteresowane udziałem w niej powinne były wiedzieć, co będzie prezentowane podczas trwania konferencji, którego dnia i w jakich godzinach.

Rys. 18. Formularz tworzący plan konferencji

Założono, że podczas trwania jednej konferencji musi się znaleźć od 3 do 20 pozycji, czyli tematów prezentowanych podczas jej trwania. Daty wraz z godzinami rozpoczęcia i zakończenia wygłaszania poszczególnych tematów muszą być ułożone chronologicznie zaczynając od prezentowanego najwcześniej. Godziny nie mogą „nachodzić” się na siebie, więc w określonym czasie może być prezentowany tylko jeden temat. Wszystkie tematy muszą być wygłoszone w okresie trwania konferencji, który organizator ustalił wcześniej. Godzina rozpoczęcia pierwszej pozycji jest zgodna z godziną rozpoczęcia konferencji.

34

Wstawianie rekordów do tabeli [4]:

$query = "INSERT INTO plan (`id_konf`, `data`, `godz_rozp`, `godz_zak`,`prelegent`, `nazwa_tem`) VALUES ('$wynik', '$data01', '$godz_rozp01', '$godz_zak01', '$prelegent01',

'$nazwa_tem01'), ('$wynik', '$data02', '$godz_rozp02', '$godz_zak02', '$prelegent02',

'$nazwa_tem02'), ('$wynik', '$data03', '$godz_rozp03', '$godz_zak03', '$prelegent03',

'$nazwa_tem03'); Rekordów umieszczonych jest tyle, ile wypełniono pozycji podczas

tworzenia planu. Pozycje są ponumerowane od 1 do 20. Zazwyczaj na początku konferencji ma miejsce powitanie wszystkich

zgromadzonych i krótka przedmowa prowadzącego. Można to uwzględnić tworząc plan konferencji. Analogicznie na końcu konferencji oficjalne jej zakończenie. Organizator powinien dobierać stosowne godziny prezentowania poszczególnych tematów. Może ustalić z prelegentem, ile czasu potrzebuje na wygłoszenie zagadnienia. Jeżeli osoba organizująca konferencję, przewiduje np. przerwy obiadowe, czy na kawę, wówczas ustalając plan może zamieścić takie informacje podając w polu prelegent np. „organizator”, a w nazwie tematów np. „przerwa obiadowa”.

Prelegentem jest osoba, która złożyła artykuł w odpowiednim okresie,

który zaakceptowano. Po konsultacji z organizatorem istnieje możliwość prezentacji danego zagadnienia przez kilka osób, pod warunkiem, że te osoby są również uczestnikami konferencji.

Plan będzie można edytować lub usuwać i tworzyć od początku.

//zapytanie usuwające puste rekordy z tabeli $query2 = "DELETE FROM plan WHERE data='--' OR godz_rozp=':' OR godz_zak=':' OR prelegent=' ' OR nazwa_tem=' '";

Powyższe zapytanie do bazy danych usuwa te wiersze, w których nie

zostały wypełnione wszystkie pola [5].

35

4.13.3. Dodawanie zdjęć do galerii

Na podstronie każdej konferencji znajduje się możliwość umieszczania zdjęć w galerii przez organizatora [3]. Fotografie powinny przedstawiać przebieg z danej imprezy, więc zaleca się dodawać je w trakcie trwania konferencji lub po jej zakończeniu. Dopuszczalny rozmiar przesyłanego zdjęcia to 1 MB, natomiast akceptowane rozszerzenia plików to: jpeg, bmp i gif. Obrazy mogą mieć dowolną rozdzielczość. Aby pomyślnie dodać zdjęcie do galerii, należy podać także tytuł zdjęcia, czyli co ono przedstawia.

Rys. 19. Dodawanie zdjęcia

Po pomyślnym dodaniu zdjęcia, użytkownik będzie mógł zamieścić

kolejne lub przejść go galerii zdjęć i zobaczyć sposób ich wyświetlania. Galeria zdjęć została opisana w punkcie 4.2.5.

Folder, w którym umieszczane są zdjęcia zostaje utworzony wraz z pierwszym dodanym plikiem powiązanym z konferencją. Zdjęcia znajdują się w katalogu „galeria/$wynik” na serwerze FTP, gdzie zmienna $wynik jest katalogiem o nazwie tej samej co identyfikator konferencji, dzięki temu można łatwo rozpoznawać, które fotografie należą do danej konferencji.

Aby była możliwość prawidłowego wyświetlenia zdjęć galerii należało zmienić prawa dostępu do plików znajdujących się w katalogu „galeria” funkcją chmod:

$dir = opendir("galeria/".$wynik.""); while(false !== ($file = readdir($dir))) { if($file != "." && $file != "..") { $sciezka='galeria/'.$wynik.'/'.$file.''; chmod($sciezka, 0644); } }

36

Chmod 0644 oznacza, że właściciel ma prawo do zapisu i odczytu, a reszta tylko prawo odczytu.

4.13.4. Dodawanie materiałów wideo

Jeżeli będzie przeprowadzana rejestracja wideo podczas trwania konferencji, organizator lub osoba przez nią wyznaczona może zamieszczać materiały filmowe z jej przebiegu. Służy do tego opcja „Dodaj wideo”, która znajduje się w menu widocznym tylko dla organizatora. Z racji ograniczonego miejsca na serwerze, możliwe będzie dodawanie tylko linków z filmami z innych serwisów. W celu dodania tego typu materiału, należy podać jego tytuł, a następnie link zawierający materiał wideo. Na stronie znajduje się krótka instrukcja przedstawiająca sposób dodawania linków z wideo. Aby poprawnie go zamieścić należy skopiować link oznaczony w tagi <object>…</object>. Materiały wideo będą dostępne do przeglądania dla każdego użytkownika portalu.

4.13.5. Przegląd uczestników konferencji

Organizator w każdej chwili może sprawdzać, kto zapisał się na konferencję w „Zgłoszonych użytkownikach”. Znajdują się tam podstawowe informacje o osobach, które zgłosiły chęć uczestnictwa w konferencji, lecz nie uiściły jeszcze opłaty. Jeżeli zainteresowany wpłacił odpowiednią kwotę na konto organizatora konferencji, wówczas organizator potwierdza uiszczenie opłaty zaznaczając pole opłata i klikając „Zapisz”.

Osoby, które zgłosiły się na konferencję, lecz nie opłaciły udziału do ostatecznego terminu opłat, wtedy zostaną usunięci z listy zgłoszonych.

Rys. 20. Zgłoszeni na konferencję

37

Użytkownik, którego opłata została potwierdzona przez organizatora jest przeniesiony do „Uczestników konferencji” i otrzymuje email z informacją o pełnoprawnym uczestnictwie w konferencji i przypomnieniem o terminie jej rozpoczęcia. Organizator ma możliwość sprawdzenia listy uczestników konferencji. Z każdym kolejnym dodanym uczestnikiem konferencji, liczba wolnych miejsc zmniejsza się i nie może przekroczyć ilości miejsc przewidzianych na konferencję.

Rys. 21. Uczestnicy konferencji

4.13.6. Edycja i usuwanie konferencji

Do istotnych możliwości, które oferuje portal jest opcja wprowadzania zmian w konferencji przez organizatora lub całkowite jej usunięcie z listy. Wszelkie zmiany, takie jak np. zmniejszenie ilości miejsc przewidzianych na konferencję lub wydłużenie okresu zgłaszania artykułów można w każdej chwili wprowadzać poprzez przejście w „Edycję konferencji”, która znajduje się na podstronie konferencji, której zalogowany użytkownik jest założycielem. Nie jest zalecane częste wprowadzanie zmian w organizacji konferencji, ponieważ może to spowodować zamieszanie w jej przeprowadzeniu, a dla uczestników niektóre kwestie nie muszą być oczywiste.

W przypadku niepowodzenia w organizacji konferencji lub z innego istotnego powodu, organizator ma prawo usunąć konferencję wraz z wszystkimi elementami z nią powiązanymi. Ponadto jest zobowiązany zwrócić wszystkie koszty uczestnikom, którzy uiścili opłatę konferencyjną.

Uczestnicy i użytkownicy, którzy wyrazili chęć udziału w konferencji będą informowani o ewentualnych zmianach w organizacji drogą mailową [6], a także na stronie głównej portalu.

38

4.14. Pozostali użytkownicy

Użytkownicy, którzy nie są organizatorami, mogą zapisać się na poszczególny kongres i przesłać artykuł z nim powiązany. W odróżnieniu od możliwości organizatorów, pozostali użytkownicy, co oczywiste, nie mogą zarządzać konferencją, a więc ustalać plan jej przebiegu, akceptować artykułów, przeglądać dane o uczestnikach. Osoba, która nie jest organizatorem konferencji, może poza zgłoszeniem się i nadesłaniem dokumentu przeglądać plan konferencji, pobierać materiały z działu „download”, przeglądać galerię zdjęć oraz relacje wideo.

4.14.1. Podgląd planu konferencji

Osoby wyrażające chęć uczestnictwa w danej konferencji dobrze żeby znały plan jej przebiegu. Harmonogram konferencji powinien najpóźniej pojawić się kilka dni przed ostatecznym terminem opłaty konferencyjnej. Aby sprawdzić plan należy przejść w zakładkę „plan konferencji”, która znajduje się w menu na podstronie konferencji.

Plan jest dostępny dla każdego użytkownika i prezentuje się w sposób wyświetlający daty, godziny rozpoczęcia i zakończenia, prelegentów oraz nazwy prezentowanych tematów.

Rys. 22. Przykładowy plan konferencji

39

4.14.2. Przesyłanie referatów / artykułów

Jeżeli użytkownik chce wysłać dokument powiązany z daną konferencją [3] musi wcześniej się na nią zapisać. Po zgłoszeniu chęci uczestnictwa w konferencji, można wysłać artykuł jedynie w okresie ich zgłaszania [12].

Rozpoczęcie i zakończeniu okresu zgłaszania dokumentów jest widoczny w szczegółach konferencji, który ustala organizator. Po przesłaniu artykułu, użytkownik otrzymuje emaila z informacją o jego nadesłaniu [6]. Jeżeli będzie on zaakceptowany, wówczas osoba może wygłosić dany temat podczas trwania konferencji.

Założono, że pojedynczy użytkownik może przesłać tylko jeden artykuł na konferencję, który zaakceptowano. W przypadku odrzucenia przez organizatora, będzie można wysłać kolejny.

Rys. 23. Przesyłanie artykułów / referatów

Dokument będzie przesłany, jeżeli nie przekroczy dopuszczalnego rozmiaru 2 MB oraz będzie zgodny z rozszerzeniem doc, docx, txt lub PDF.

4.14.3. Zgłoszenie na konferencję

Z listy wszystkich aktualnie organizowanych konferencji, użytkownik może zapisać się na wybraną z nich. Zgłoszenie na konferencję jest konieczne jeżeli osoba chce wziąć czynny udział w jakimś sympozjum. Jeżeli zalogowany użytkownik chce przesłać artykuł lub referat, musi wcześniej zapisać się na tą konferencją, na której ma zamiar przedstawić zagadnienie. Zgłoszenie na konferencję jest wstępnym etapem przed wzięciem w niej udziału. Jeśli liczba chętnych w uczestnictwie przekroczy dozwoloną ilość miejsc przeznaczoną na zjazd, wówczas decyduje metoda „kto pierwszy ten lepszy” wpłaci kwotę za udział w konferencji.

40

Użytkownik, który chce zapisać się do udziału w jakimś wydarzeniu, otrzymuje maila [6] ze szczegółowymi informacjami dotyczącymi najważniejszych terminów. Dobrze by było aby zaznajomił się z planem jego przebiegu, który powinien się pojawić najpóźniej kilka dni przed ostatecznym terminem opłat.

4.14.4. Pobieranie referatów / artykułów

W szczegółach każdej z konferencji znajduje się „download”, a więc miejsce w którym użytkownicy portalu mogą pobierać i przeglądać dokumenty powiązane z wybranym kongresem. Umieszczone są tutaj artykuły i referaty zaakceptowane przez organizatora, które będą zaprezentowane podczas trwania konferencji. Poza nazwą artykułu znajduje się autor, który go umieścił. Wszystkie dokumenty są ogólnodostępne dla każdego użytkownika. Artykuły i referaty zawierają mniej lub bardziej szczegółowe informacje na wybrany temat, które autorzy będą prezentować podczas trwania konferencji.

Rys. 24. Pobieralnia dokumentów

Aby móc pobierać dokumenty należało zmienić prawa dostępu do

katalogu, w którym one się znajdują.

4.14.5. Przegląd galerii zdjęć

Na każdej podstronie konferencji, która jest w trakcie organizacji lub została zakończona znajduje się zakładka „Galeria”, w której mogą być umieszczone zdjęcia z przebiegu konferencji. Fotografie są dodawane przez organizatora konferencji. Wyświetlanie zdjęć w galerii jest realizowane za pomocą skryptu PHP, gdzie potrzebne jest pobranie ścieżki do pliku, który znajduje się na serwerze i tytułu zdjęcia. Następuje sprawdzenie, czy pod daną konferencją znajdują się fotografie z nią powiązaną. $numer = $wynik; $katalog = 'galeria/';

41

if (!file_exists(''.$katalog.''.$numer.'')) { echo ('Brak zdjęć w galerii.'); } else { // wyświetlanie zdjęć w galerii } Jeżeli nie istnieje folder o numerze, który jest zgodny z identyfikatorem konferencji, wówczas pokazuje się informacja o braku zdjęć w galerii, w przeciwnym wypadku wyświetlana jest jego zawartość.

Wyświetlanie zdjęć polega na otwarciu odpowiedniego katalogu funkcją: $dir = opendir("galeria/".$wynik.""); a w dalszej kolejności w pętli while pobranie z bazy adresu zdjęcia i jego nazwy. Umieszczenie obrazu wykonano następująco: <img src = "'.$galeria[1].'" width="550px" height="380px"/>, gdzie $galeria[1], to adres zdjęcia, a więc jego odnośnik, a po nim wymiary fotografii w pikselach, które przyjęto.

Do wyświetlenia tytułu pod każdym obrazem zastosowano pobranie rekordu, do którego należy dane zdjęcie.

4.14.6. Przegląd materiałów wideo

Każdy użytkownik portalu ma możliwość przeglądania materiałów wideo z przebiegu trwania konferencji. Materiały wideo, które mogą być zamieszczane wyłącznie przez organizatora konferencji, muszą przedstawiać relacje z tej konferencji. Niektóre z nich posiadają tytuł lub informację o numerze części danego filmu, w celu zorientowania się, co do prawidłowej kolejności odtwarzania materiałów.

Materiały wideo powiązane z danym zjazdem znajdują się na podstronie pod odpowiednią konferencją. Filmy zamieszczone na stronie można bezpośrednio odtwarzać.

42

5. PANEL ADMINISTRACYJNY

Do zarządzania całym portalem służy panel administracyjny. Dostęp do niego posiada użytkownik o określonym identyfikatorze w bazie danych w tabeli „Użytkownik”. Osoba ta ma możliwość przeglądania i usuwania konferencji wraz z materiałami z nią powiązanymi, bądź też jedynie poszczególne elementy.

Ponadto użytkownik z odpowiednimi uprawnieniami ma podgląd wszystkich użytkowników portalu posiadających konta z opcją ich usuwania i zarządzenie wiadomościami na stronie, które administrator może zamieszczać, edytować lub usuwać.

5.1. Manager konferencji

Po wyborze z menu zakładki „Manager konferencji” administratorowi ukazują się wszystkie konferencje, zarówno te, które będą organizowane, są w trakcie przeprowadzania lub się zakończyły. W tabeli obok każdej z nich znajduje się informacja o terminie trwania konferencji, odnośnik do przejścia w szczegóły danej konferencji i opcja usuwania. Użytkownik zarządzający portalem może usunąć wybraną konferencję wraz z wszystkimi powiązanymi z nią materiałami. Po potwierdzeniu konferencja zostaje usunięta z bazy danych następującymi zapytaniami: $query = "DELETE FROM konferencje WHERE id_konf='$wynik'"; $query2 = "DELETE FROM uczestnicy WHERE id_konf='$wynik'"; $query3 = "DELETE FROM galeria WHERE id_konf='$wynik'"; $query4 = "DELETE FROM wideo WHERE id_konf='$wynik'"; $query5 = "DELETE FROM plan WHERE id_konf='$wynik'"; $query6 = "DELETE FROM artykuly WHERE id_konf='$wynik'"; Z każdej tabeli zostaną usunięte wszystkie elementy zawierające identyfikator konferencji, którą wybrano. Po przejściu w szczegóły dowolnej konferencji, administratorowi ujawnia się menu, za pomocą którego może usuwać pojedyncze jej elementy, takie jak:

� plan konferencji, � dokumenty, � zdjęcia w galerii, � materiały wideo, � uczestnicy

43

5.2. Manager użytkowników

Panel administracyjny zawiera ponadto opcję podglądu wszystkich użytkowników, którzy posiadają konto na portalu. Widoczne są podstawowe informacje, takie jak: email, czyli login na stronę, imię i nazwisko. Jeżeli zaistnieje taka potrzeba, administrator ma możliwość usuwania użytkowników, którzy np. naruszyli obowiązujące zasady, porządek, itp.

Rys. 25. Użytkownicy

5.3. Zarządzanie wiadomościami

W celu informowania użytkowników o ważnych wydarzeniach, służy system wiadomości, który jest dostępny dla administratora. Można dodawać nowe treści, edytować lub usuwać. Niektóre wiadomości są wpisywane automatycznie za pomocą skryptu, które informują użytkowników portalu między innymi o rozpoczęciu i zakończeniu konferencji, rozpoczęciu i zakończeniu okresu zgłaszania artykułów lub referatów, a także o ostatecznym terminie opłat. Przykładowo rozpoczyna się konferencja „iks”, wówczas następuje sprawdzenie w bazie danych w tabeli „Konferencje” pod datami rozpoczęcia wszystkich imprez, czy data jej rozpoczęcia odpowiada dzisiejszej dacie. Jeżeli warunek się zgadza, wtedy generowana jest wiadomość odpowiedniej treści. $obecna_data = date("Y-m-d"); // pobranie dzisiejszej daty $zapytanie3 = mysql_query ("SELECT nazwa_konf, data_rozp FROM konferencje WHERE data_rozp = '$obecna_data'") or die('błąd: '.mysql_error());

44

Pobranie z bazy nazwy konferencji, której data rozpoczęcia odpowiada dzisiejszej dacie. while ($news = mysql_fetch_array($zapytanie3, MYSQL_NUM)) { $query="INSERT INTO news SET tytul='Rozpoczecie konferencji', tresc='Rozpoczela sie konferencja <font color=navy>".$news[0]."</font>.', data='".$obecna_data."'"; }

Dopóki będzie występować taka konferencja, która spełnia warunek z powyższego zapytania, będzie wykonywany wpis do tabeli „news” o następującym tytule, treści i dzisiejszej dacie.

W panelu administracyjnym, po przejściu w link o nazwie „Pokaż newsy”, wyświetlane są wszystkie wiadomości, które istnieją. Widoczny jest tytuł wiadomości i data jego powstania.

Rys. 26. Podgląd wiadomości [5]

Jeżeli administrator chce nadpisać wiadomość, wybiera opcję edytuj i może zmienić jego tytuł oraz treść.

Rys. 27. Edycja wiadomości [5]

45

Usuwanie wybranej wiadomości odbywa się poprzez wybranie opcji „usuń”, którą administrator postanowił skasować. Po usunięciu, pojawia się informacja o pomyślnym usunięciu wiadomości.

W celu dodania wiadomości na stronę, użytkownik wybiera opcję „Dodaj newsa”. Ukazują się dwa pola z tytułem i treścią, które należy wypełnić.

Rys. 28. Dodawanie wiadomości [5]

Po dodaniu wiadomości użytkownik jest o tym poinformowany:

Wyświetlanie wiadomości znajduje się na stronie głównej portalu. Są one

uporządkowane od najnowszego do najstarszego. W celu zachowania porządku na stronie widocznych jest 5 najnowszych treści. Odbywa się to poprzez następujące zapytanie do bazy:

SELECT DISTINCT tytul, tresc, data FROM news ORDER BY id DESC LIMIT 5; Wiadomości, których data zgadza się z obecną datą, a więc zostały dodane „dzisiaj” oznaczone są jako nowy.

46

Rys. 29. Wyświetlanie wiadomości

Jeżeli użytkownik portalu chce przejrzeć starsze wiadomości, to poniżej znajduje się odnośnik, gdzie znajdują się wszystkie treści.

47

6. PODSUMOWANIE I WNIOSKI

W tworzeniu portalu zastosowano technologie cenione wśród programistów stron WWW, takie jak PHP i MySQL. Można stwierdzić, że są to jedne z najmniej zawodnych i jedne szybszych środowisk, które bardzo dobrze ze sobą współpracują.

Projekt, który wykonano ma na celu wspomaganie organizacji konferencji przez dowolnego użytkownika, a także gromadzenie ich w jednym miejscu. Powinno to ułatwić przeglądanie wszystkich konferencji, z tego względu, że szukanie w Internecie konferencji, które interesują danego użytkownika może stać się czasochłonne i uciążliwe. Wiele osób nie ma także pojęcia o przeprowadzanych zjazdach.

Portal poza możliwością stworzenia konferencji oferuje opcję zapisywania się na wybraną z nich jako uczestnik, wyszukiwanie tematów, prelegentów i artykułów nadesłanych przez użytkowników. W celu ułatwienia przeglądania konferencji, z którymi powiązany jest dany użytkownik na stronie znajduje się miejsce, w którym znajdują się imprezy, które ta osoba zorganizowała oraz te w których uczestniczyła. Spośród portali konferencyjnych, które już istnieją nie napotkano na możliwość organizacji konferencji przez dowolnego użytkownika. Zasadniczą różnicą, która wyróżnia projekt od innych tego typu jest to, że nie jest to oficjalna strona jednej konferencji, lecz miejscem zawierającym informacje o wielu zjazdach.

Wszelkie imprezy są podzielone na te, które są w trakcie organizacji oraz te, które już się zakończyły znajdujące się w archiwum. Podstrony wszystkich konferencji wyglądają podobnie, więc nie ma większych problemów z przeglądaniem poszczególnych elementów.

Ewentualne problemy, które pojawiły się w realizacji projektu dotyczyły głównie skomplikowanych zapytań do bazy danych. W celu zabezpieczenia przed wpisywaniem powtarzających się rekordów do tabeli zastosowano usuwanie duplikatów.

Przykład z tabeli „Plan”:

$query3 = "DELETE FROM plan USING plan, plan AS vplan WHERE plan.id_tem > vplan.id_tem AND plan.data = vplan.data AND plan.prelegent = vplan.prelegent AND plan.nazwa_tem = vplan.nazwa_tem"; Usuwane są te rekordy, które mają wyższy identyfikator posiadające te same dane we wszystkich polach. Aby ułatwić wykonanie zapytania posłużono się wirtualną tabelą „vplan”, która jest kopią tabeli „plan”.

48

Wszelkie rozwiązania zawierające pętle while, for i instrukcje warunkowe typu if-else znane z innych popularnych języków programowania, stworzono z myślą o optymalnie szybkim bezkolizyjnym działaniu. Natomiast najbardziej czasochłonną rzeczą było tworzenie zabezpieczeń przed błędnie wpisywanymi danymi w formularzach oraz przeprowadzanie testów poprawności działania portalu. Skrypty zostały napisane w sposób ogólnoprzyjęty przez programistów zachowując czytelność i przejrzystość.

Dużą uwagę zwrócono na brak możliwości dostępu do miejsc na stronie dla osób, które nie posiadają odpowiednich do tego uprawnień. W tworzeniu portalu skupiono się głównie na prawidłowej funkcjonalności poszczególnych mechanizmów. Mniejszą wagę przywiązano do wyglądu graficznego strony, ponieważ nadmiar banerów i inne tego typu grafiki mogłyby utrudnić korzystanie z serwisu lub go obciążyć, co spowolniłoby ładowanie strony. Portal konferencyjny dzięki temu jest czytelny i estetyczny, a korzystanie z niego nie jest skomplikowane.

49

7. WYKAZ RYSUNKÓW

Rys. 1. Struktura bazy danych portalu....................................................................................... 12

Rys. 2. Strona główna portalu ................................................................................................... 14

Rys. 3. Rejestracja użytkownika ............................................................................................... 16

Rys. 4. Logowanie ..................................................................................................................... 17

Rys. 5. Organizowane konferencje ........................................................................................... 18

Rys. 6. Szczegółowe informacje o konferencji ......................................................................... 19

Rys. 7. Miejsce konferencji ....................................................................................................... 21

Rys. 8. Dokładne wskazanie miejsca konferencji ..................................................................... 21

Rys. 9. Formularz tworzący konferencję................................................................................... 23

Rys. 10. Profil użytkownika ...................................................................................................... 24

Rys. 11. Moje konferencje ........................................................................................................ 27

Rys. 12. Najbliższa konferencja ................................................................................................ 27

Rys. 13. Forum konferencyjne .................................................................................................. 29

Rys. 14. Szukane wyrażenie ...................................................................................................... 30

Rys. 15. Wyniki wyszukiwania ................................................................................................. 30

Rys. 16. Akceptowanie dokumentów ........................................................................................ 32

Rys. 17. Odrzucanie dokumentów ............................................................................................ 32

Rys. 18. Formularz tworzący plan konferencji ......................................................................... 33

Rys. 19. Dodawanie zdjęcia ...................................................................................................... 35

Rys. 20. Zgłoszeni na konferencję ............................................................................................ 36

Rys. 21. Uczestnicy konferencji ................................................................................................ 37

Rys. 22. Przykładowy plan konferencji ..................................................................................... 38

Rys. 23. Przesyłanie artykułów / referatów ............................................................................... 39

Rys. 24. Pobieralnia dokumentów ............................................................................................. 40

Rys. 25. Użytkownicy ............................................................................................................... 43

Rys. 26. Podgląd wiadomości .................................................................................................. 44

50

Rys. 27. Edycja wiadomości..................................................................................................... 44

Rys. 28. Dodawanie wiadomości ............................................................................................. 45

Rys. 29. Wyświetlanie wiadomości .......................................................................................... 46

51

8. BIBLIOGRAFIA

1. Fuller R., Ulrich L.A., HTML in 10 Simple Steps or Less, Wyd. Wiley, Indianapolis 2003,

2. Ghistler Ch., Total Commander 7.04, [on-line], 2008.08.01, [dostęp: 2009.11.03], http://totalcmd.pl/download/app/old/Total_Commander_7.04,

3. Gilmore W.J., PHP and MySQL, Third Edition., wyd. Apress, 2008. 4. Jakubowski A., SQL. Ćwiczenia praktyczne, Wydawnictwo Helion, Gliwice

2001, 5. Maćkuś P., Ćwiczenia z...PHP i MySQL, wydawca Mikom, 2005, 6. Naramore E., Gerner J., Le Scouarnec Y. i inni, PHP, Apache i MySQL. Od

podstaw., wyd.1, Helion, Gliwice 2005. [tł. z ang.] Jońca R., 7. Notepad++ 5.3.1, [on-line], 2009.06.20, [dostęp: 2009.06.20],

http://www.maxprograms.pl/plik,100.html, 8. OpenOffice.org, OpenOffice 3.1.1, [on-line], 2009.09.01, [dostęp:

2009.11.25], http://www.softmania.eu/program-739-openoffice.html?gclid=CJiYyaWjg6ACFUgf3wodOX4S_g#m,

9. Pham M., PHP Designer 6.2.5.2, [on-line], 2009.08.10, [dostęp: 2009.11.25], http://www.programosy.pl/program,php-designer.html,

10. Ullman L., PHP6 i MySQL 5. Dynamiczne strony WWW. Szybki start., Helion, 2009,

11. Welling L., Thomson L., PHP i MySQL Tworzenie stron WWW, Wyd.2, Wydawnictwo Helion, Gliwice 2003. [tł. z ang.] Gonera P., Kaczmarek D.,

12. Welling L., Thomson L., PHP i MySQL. Tworzenie stron WWW. Vademecum Profesjonalisty., Wyd.3, Wydawnictwo Helion, Gliwice 2005,

13. Zumi.pl, http://www.zumi.pl