PRACA DYPLOMOWA INŻYNIERSKA



Podobne dokumenty
Autor: Joanna Karwowska

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

Instrukcja zarządzania kontem przedsiębiorstwa w serwisie internetowym

REFERAT PRACY DYPLOMOWEJ

Instrukcja zarządzania kontem jednostki samorządu terytorialnego w serwisie internetowym

Instalacja systemu zarządzania treścią (CMS): Joomla

Instrukcja obsługi Zaplecza epk dla Pracowników Instytucji w zakresie zarządzania danymi szczegółowymi dotyczącymi sposobu realizacji procedury

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

VENUS-BEAUTY.pl. Instrukcja obsługi procesu zamówienia

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

System epon Dokumentacja użytkownika

Platforma e-learningowa

INSTRUKCJA Panel administracyjny

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Instrukcja zarządzania kontami i prawami. użytkowników w systemie express V. 5

Instrukcja obsługi portalu MojeHR moduł pracownika

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Instrukcja rejestracji w systemie System Wspierający Prowadzenie Prac Badawczo-Naukowych oraz Współdzielenie i Publikację Wyników Prac

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Opis systemu lojalnościowego e-lar bank.

APLIKACJA SHAREPOINT

Elektroniczny Urząd Podawczy

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

1. REJESTRACJA W INTERIM24.PL PANEL UŻYTKOWNIKA ZAWARTOŚĆ UZUPEŁNIENIE PROFILU... 9

Data wydania: Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego

Podręcznik Użytkownika LSI WRPO

Instrukcja redaktora strony

Instrukcja obsługi Zaplecza serwisu biznes.gov.pl dla Pracowników Instytucji w zakresie weryfikacji opisów procedur przygotowanych przez Zespół epk

Języki programowania wysokiego poziomu. Ćwiczenia

Po otrzymaniu maila zapraszającego do udziału w korzystaniu z aplikacji ProfiAuto Usługi dla Serwisu, należy użyć przycisku Aktywuj aplikację.

Wnioski i dyspozycje elektroniczne. Instrukcja użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss

INSTRUKCJA UŻYTKOWNIKA

Instrukcja portalu TuTej24.pl

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/1.1.1/2015

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

58 Zjazd Naukowy PTChem. Zgłaszanie abstraktów

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi

Zalogowanie generuje nowe menu: okno do wysyłania plików oraz dodatkowe menu Pomoc

Instrukcja dostępu do usługi Google Scholar

Wikispaces materiały szkoleniowe

Instrukcja składania wniosku o dofinansowanie w systemie informatycznym IP na potrzeby konkursu nr 1/4.1.4/2015

Data wydania: Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

netster instrukcja obsługi

Instrukcja Użytkownika Systemu Zarządzania Tożsamością Wersja. 1.0

Nabór Bursy/CKU. Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

CMS - INFORMACJE. *** Mirosław Kuduk E mail: tel. kom DODATKOWE FUNKCJE - PANEL ADMINISTRATORA

Instrukcja obsługi systemu e-faktury.no

Elektroniczna Skrzynka Podawcza

System imed24 Instrukcja Moduł Analizy i raporty

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 ZAMAWIANIE I REZERWOWANIE

Spis treści. Warto zapamiętać...2. Podstawy...3

Instrukcja Użytkownika Centralnego Rejestru Operatorów Urządzeń i Systemów Ochrony Przeciwpożarowej (CRO)

Pomoc dla systemu WordPress

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

FedEx efaktura Instrukcja Użytkownika

Pomoc. BIP strona portalu

Facebook, Nasza klasa i inne. podstawowe informacje o serwisach społeczności internetowych. Cz. 2. Facebook

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu.

ZLECENIA STAŁE. Instrukcja Użytkownika systemu bankowości internetowej dla firm. BOŚBank24 iboss

Instrukcja użytkownika NAUCZYCIELA AKADEMICKIEGO SYSTEMU ARCHIWIZACJI PRAC

INSTRUKCJA REJESTRACJI ORGANIZACJI W GENERATORZE WNIOSKÓW APLIKACYJNYCH SI NAWIKUS

Instrukcja Użytkownika (Nauczyciel Akademicki) Akademickiego Systemu Archiwizacji Prac

Instrukcja erejestracji Kliniki Nova.

Portal Personelu Medycznego Global Services Sp. z o.o.

INSTRUKCJA UŻYTKOWNIKA

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Instrukcja. Zobacz jak w prosty sposób założyć swoją własną stronę www. ZDJĘĆ DODAWANIE INFORMACJI EDYCJA

Instrukcja obsługi platformy B2B ARA Pneumatik

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Instrukcja. Rejestracji i aktywacji konta w systemie so-open.pl DOTACJE NA INNOWACJE; SOFTWARE OPERATIONS SP. Z O. O.

PODRĘCZNIK UŻYTKOWNIKA SYSTEMU MONITOROWANIA KSZTAŁCENIA PRACOWNIKÓW MEDYCZNYCH

INSTRUKCJA. zakładania konta w Społeczności CEO oraz rejestrowania się do programu lub na szkolenie/cykl szkoleniowy KROK 1

INSTRUKCJA zakładania konta w Społecznoś ci CEO

Instrukcja dla rodziców. System elektronicznych rekrutacji

Platforma e-learningowa

INSTRUKCJA UŻYTKOWNIKA GENERATORA WNIOSKÓW O DOFINANSOWANIE DLA WNIOSKODAWCÓW

Centrum Informacji Społeczno-Gospodarczej

Jak poruszać się po TwinSpace

Instrukcja systemu Archiwum Prac Dyplomowych (APD) dla Kierującego pracą i Recenzentów: wystawianie recenzji (Krok 4)

Moduł Notatki Systemu Obsługi Zamówień Publicznych UTP-Bydgoszcz Instrukcja postępowania do 1000 Euro

INSTRUKCJA EDYCJI PROFILU OSOBOWEGO W SERWISIE

MySource Matrix CMS. Prosty Interfejs Użytkownika INSTRUKCJA wersja 1.3 POLAND AUSTRALIA UNITED KINGDOM NEW ZEALAND UNITED STATES

Instrukcja obsługi dziennika elektronicznego dla trenerów uczestniczących. w ogólnopolskim projekcie MultiSport. Luty 2015 r.

Instrukcja. Systemu Obsługi Praktyk -Moduł Student UNIWERSYTET MARII CURIE-SKŁODOWSKIEJ W LUBLINIE

INSTRUKCJA. rejestrowania się na szkolenie/cykl szkoleniowy oraz uzupełniania niezbędnej unijnej dokumentacji uczestnictwa w projekcie (PEFS)

Archiwum Prac Dyplomowych

WPROWADZENIE WYSZUKIWANIE OGŁOSZEŃ

Rekrutacja do przedszkoli FORMICO

Instrukcja rejestracji organizacji w podsystemie Generator Wniosko w Aplikacyjnych (GWA) Systemu Informatycznego NAWIKUS

Wsparcie dla czasopism naukowych w POL-index podręcznik użytkownika

PWI Instrukcja użytkownika

5. Wypełniony formularz należy zatwierdzić klikając na przycisk ZATWIERDŹ.

SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7

Instrukcja rejestracji organizacji w podsystemie. Generator Wniosków Aplikacyjnych (GWA) Systemu Informatycznego NAWIKUS

Transkrypt:

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. 1

2

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 3

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 4

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 5

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, 6

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 7

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 8

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, 9

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. 10

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 ); 11

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. 12

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. 13

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. Menu wyboru Logowanie / rejestracja Wyszukiwarka Najbliższa konferencja Wiadomości 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. 14

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 15

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. 16

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. 17

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: 18

<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 19

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 20

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. 21

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].'%2 C+'.$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. 22

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 23

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: 24

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. 25

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ł. 26

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 27

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 28

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 29

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. 30

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 31

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]. 32

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. 33

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]. 34

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); } } 35

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ę 36

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. 37

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 38

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. 39

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/'; 40

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ć. 41

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 42

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()); 43