Witam, osobiście prowadzę stronkę katalogującą rozszerzenia do Firefoxa, jednakże ze względu na czasochłonny proces dodawania nowych rozszerzeń, aktualizacja witryny przychodzi mi z coraz to większym trudem. I tu moja prośba do Ciebie, może byłbyś w stanie napisać mały panel aktualizacji i zarządzania tak, aby zarządzanie stroną było o wiele przyjemniejsze? Dla wprawionego programisty PHP+MySQL to nic wielkiego, szczegóły poniżej :)

Dzięki uprzejmości Jarka Lewandowskiego, nowy design jest w fazie produkcji, tym bardziej przydałby się również CMS, dzięki któremu strona wyglądałaby bardziej profesjonalnie i, jak wcześniej wspomniałem, byłaby częśćiej uaktualniana.

Szukamy też kogoś, kto umiałby wypozycjonować naszą witrynę (PR=2) w Google. Uważamy, że jest ona lepsza niż podpal.net, które znajduje się bardzo wysoko (PR=4) :)


Część I - Panel administracyjny

Żadne logowanie nie jest potrzebne - wystarczy .htaccess

Jeśli to nie problem, byłoby fajnie, gdyby ustawienia typu host/nazwa bazy danych/login/hasło/katalog dla screenshotów (o tym później) były trzymane w jakimś zewnętrznym pliku... chyba, że są wykorzystywane tylko raz w jakimś pliku .php - wtedy mogą tam pozostać... chodzi o to, żeby nie trzeba było ich edytować w kółko w różnych plikach wraz ze zmianą np. nazwy bazy danych

Panel powinien wyglądać tak

panel

Dane podane w formularzu 'lądują' w bazie danych

Lista rozszerzeń jest wyświetlana alfabetycznie

Screenshot uploadowany z dysku, jest umieszczany w folderze określanym we wspomnianym wcześniej pliku konfiguracyjnym, następnie jest wyświetlany na stronie www

Czy jest możliwość, żęby w pole textarea (opis), wkleić kod HTML, a nie czysty tekst?

Jeśli jakieś pole w sekcji 'dodaj nowe rozszerzenie' zostało puste, nie powinno się ono wyświetlać na stronie (szczegóły później)

Przed opcją 'Usuń' powinno pojawiać się jakieś ostrzeżenie 'Czy na pewno chcesz usunąć...' (alert javy? osobna strona w html?) aby uniknąć przypadkowego delete'a

Byłoby miło gdyby po próbie dodania/edycji skrypt wyświetlał pod listą rozszerzeń komunikat: Operacja zakończona sukcesem bądź Wystąpił błąd

Ponadto, skrypt powinien gdzieś zapisywać datę ostatniej modyfikacji bazy danych oraz liczbę rozszerzeń w bazie tak, aby można było je później wyświetlić na stronie www jako osobne zmienne/funkcje/liczby:

funkcje


Część II - Strona WWW

Użytkownik ma mieć możliwość sortowania rozszerzeń według daty malejąco, według nazwy rosnąco (czyli alfabetycznie), według popularności oraz według oceny malejąco (o tym później). Byłoby super, gdyby w jakimś pliku konfiguracyjnym można było w łatwy sposób, w postaci jednej zmiennej, ustawić domyślny sposób sortowania (data/name/rating), jeśli zaś nie da się tego zrobić, niech rozszerzenia będą domyślnie posortowane według daty malejąco.

sort

Byłoby też świetnie, jeśli skrypt miałby możliwość wyświetlania wybranej ilośći rozszerzeń na stronę (10/20/50/wszystkie) z uwzględnieniem wybranego rodzaju sortowania (alfabetycznie, wg oceny, popularności, daty dodania)

Każde z rozszerzeń ma być generowane w oddzielnej, dynamicznie generowanej tabelce:

ramka

Na obrazku widać, w którym miejscu mają być wyświetlane poszczególne wartośći z bazy danych. Przypomniam również, że jeśli któraś wartość jest pusta (null), nie powinna zostać wyświetlona np. brak screenshota, brak podanej strony PL

Kliknięcie w pole screenshot (jeśli został dodany) powinno otwierać popup z obrazkiem - o ile to możliwe, to popup powinien być wielkości obrazka (zczytywanie wysokosci i szerokosci zuploadowanego wcześniej, w procesie dodawania nowego rozszerzenia, obrazka?), ponadto kliknięcie w obrazek/popup powinno zamykać okno popupu - jakaś akcja java onClick czy coś:)) ; jeśli nie podano adresu screenshota, napis (a co za tym idzie,także link do popupa) nie wyświetla się

Kliknięcia w pola 'strona PL/EN/autora' są zliczane przez jakiś skrypt i służą do generowania listy rozszerzeń posortowanych według popularności ; jeśli któreś z pól (strona PL/EN/autora) nie dostało dodane do bazy, to nie jest ono wyświetlane i zliczane ; po najechaniu myszką na któryś z linków w status barze powinien pojawiać się adres strony, a nie switch php czyli np. ?id=1&page=en/pl/author

Dodano system ocen, które później przekładają się na generowanie odpowiedniej ilośći gwiazdek (średnia ocena). Sortowanie 'według oceny' jest generowane właśnie na tej podstawie ; wolno zagłosować tylko jeden raz podczas jednej wizyty na stronie (sesji) - zmiana sortowania czy strony nie powinna umożliwiać ponownego oddania głosu ; średnia głosów służy do odpowiedniego generowania ilośći gwiazdek - pełna gwiazdka, półpełna, pusta

Co do wyświetlania gwiazdek to może coś takiego:


Część III - sugerowane switche


To tak na szybko, mam nadzieję, że w miarę wiadomo o co chodzi... A jak nie wiadomo to zapraszam na maila albo gadu-gadu :)

Valid HTML 4.01 Transitional