Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt] Universe CMS
Forum PHP.pl > Inne > Oceny
fifi21
Universe CMS jest darmowym, polskim systemem zarządzania treścią. Wydałem go na warunkach licencji GPLv3. Działa na PHP z wykorzystaniem bazy danych MySQL. Tworząc go, starałem się aby był jak najbardziej prosty, szybki i wydajny, dbając również o tak ważne cechy jak bezpieczeństwo oraz brak ograniczeń w dostosowywaniu systemu do swoich potrzeb.

Główne funkcje:
- System newsów z komentarzami i stronicowaniem oraz obsługą rss 2.0
- System artykułów
- System obrazków z kategoriami i stronicowaniem
- System menu z kategoriami oraz niezależne menu do dowolnej edycji
- System użytkowników z różnymi uprawnieniami
- System plików z kategoriami i stronicowaniem
- System styli z możliwością edycji, importu, eksportu itp.
- Możliwość ustawiania stron własnych
- Możliwośc używania różnych szablonów
- Zmiana ustawień strony z poziomu panelu admina
- Wbudowany uploader plików
- Wbudowana wyszukiwarka

Oficjalna strona projektu to http://www.universe.uni.org.pl/
Pracuję nad nią dopiero od dzisiaj, tak więc proszę nie zrażać się pustkami tam panującymi smile.gif Z czasem będę dodawał nowe materiały tzn. artykuły, poradniki, tematy pomocy itp.

Wersję 1.0.0 Universe CMS można pobrać z działu download: http://www.universe.uni.org.pl/download.php
Opis instalacji znajduje się w pliku readme.txt
Demo na razie niedostępne.

Proszę o testy i oceny smile.gif
smialy
Jakieś demo by w sumie nie zaszkodziło :]
Kildyt
Moim zdaniem z takim designem strony głównej to furrory nie zrobisz.
Możliwe jest dodanie dwóch różnych modułów na jedną stronę?
Możliwe jest dodanie innego menu na jakiejś podstronie?

Hmm, możesz próbować znaleźć jakiś procent popularności, ale teraz użytkownicy najczęściej wybierają te najpopularniejsze systemy bo: znajdzie szybko pomoc, bo sprawdzony, bo polecany itp.

Oczywiście życzę powodzenia! smile.gif
l0ud
Od razu napiszę, że nie analizowałem specjalnie kodu, tylko ściągnąłem paczkę i podejrzałem kilka plików. Od oceny się powstrzymam, ale wypiszę co mi się najbardziej nie podoba:

- nie oddzieliłeś kodu html od php, a cały kod html jest zrobiony... niezbyt elegancko [tabelki, style inline etc.]
- 'sztywność' styli. Na oko wszystkie strony oparte na tym cms będą do siebie bardzo podobne...
- przejrzałem kilka plików, ale nie znalazłem nigdzie śladu jakichkolwiek klas
- nieporządek w plikach. Jak dla mnie, pliki podstron[moduły] powinny znajdować się w oddzielnym folderze, a odwoływać się do nich powinno przez główny jeden skrypt [np index.php]. U Ciebie są rozrzucone w katalogu głównym
- spory nieporządek w kodzie, z bazą powinieneś się łączyć w jednym miejscu, a nie w każdym module.
- raz używasz apostrofów, a raz cudzysłowów ze zmiennymi wpisanymi w środku. To drugie nie jest ani wydajne ani eleganckie... 'Kwiatki' w kodzie typu
  1. <?php
  2. include_once ''.$start.'';
  3. ?>

- brak informowania użytkownika o błędach [przynajmniej niektórych]
http://www.universe.uni.org.pl/vnews.php?id=1'
- przed chwilą postawiłem go sobie na localhostcie i... nie działa. Instalacja podobno przebiegła pomyślnie, ale skrypt nie utworzył żadnych tabel w bazie. Teraz mam ładną stronę pełną ostrzeżeń od funkcji mysql_fetch_array()... Dane do bazy na pewno były poprawne. Przy podaniu niepoprawnych danych instalacja też przebiega 'pomyślnie'
- w komentarzach przebijają się slashe
- skrypt jest podatny na ataki XSS [przynajmniej moduł komentarzy]

Pozdrawiam winksmiley.jpg
fifi21
Cytat(Kildyt @ 23.02.2008, 20:07:38 ) *
Moim zdaniem z takim designem strony głównej to furrory nie zrobisz.

Jak już pisałem, nad stroną oficjalną pracuję dopiero od dzisiaj winksmiley.jpg

Cytat(Kildyt @ 23.02.2008, 20:07:38 ) *
Możliwe jest dodanie dwóch różnych modułów na jedną stronę?

Zależy co rozumiesz jako moduł.

Cytat(Kildyt @ 23.02.2008, 20:07:38 ) *
Możliwe jest dodanie innego menu na jakiejś podstronie?

Innego tzn. jakiego?

@l0ud
Dzięki, postaram się poprawić większość z tych rzeczy w nowej wersji smile.gif
Co do instalacji, nie mam pojęcia czemu Ci nie działa sadsmiley02.gif  Robiłem testy na kilku serwerach i było w porządku.

Wrzuciłem na darmowy serwer wersję do testowania.
http://www.universe-demo.yoyo.pl/login.php
login: demo
hasło: demo

Pozdrawiam smile.gif
nospor
Cytat
Instalacja podobno przebiegła pomyślnie,

Cytat
Co do instalacji, nie mam pojęcia czemu Ci nie działa

To ja troche rzuce swiatla na te "instalacje"
  1. <?php
  2. mysql_query('zapytanie tworzace tabele');
  3. //tu kolejne zapytanie
  4. //tu nastepne
  5. // itak dalej
  6. //a tu najlepsze::
  7.  
  8. echo "Instalacja zakończona pomyślnie.";
  9. ?>
blinksmiley.gif
Jak mozna pisac ze cos przebieglo pomyslnie jak sie tego nie sprawdzilo? Ani razu nie sprawdzasz wyniku zapytania

Kolejna ciekawa sprawa:
dodajemy komentarz, zanim wysle żądanie leci alert js: "komentarz dodano", a nastepnie leci żądanie na serwer dodajace komentarz. a co jak sie nie doda?

oj.... dluga praca i nauka przed tobą.
fifi21
Nowa wersja Universe CMS (1.0.3) jest dostępna do pobrania tutaj. Zapraszam do testowania.
marcio
Widzialem twoja poprzednia wersje i ta i powiem juz lepiej pod wzgledem funkcjonalnosci jest ok ale design cos nie tak ogolnie zdaje mi ise ze nawet lepszy od mojego w sumie tez jest nowa wersja.... smile.gif milego tworzenia...
l0ud
fifi21, a mi ta wersja dalej nie chce działać. Domyślam się już że jest to przyczyną mojej archaicznej wersji mysql'a ale poinstruowany poprzednimi postami mógłbyś dodać obsługę błędów. Rewolucyjnych zmian nie widzę - zerknąłem w źródło i zobaczyłem podobne błędy jak ostatnio. Moja rada: poczytaj sobie dużo o programowaniu obiektowym, wyjątkach, xhtml'u. Na pewno wyjdzie to na dobre dla Twojego skryptu, choć zapewne będziesz musiał przepisać go od nowa smile.gif

[edit]

Swoją drogą masz piękne przywitanie w demie skryptu rolleyes.gif
fifi21
Nowa wersja Universe CMS (1.1.0 PUBLIC BETA) do pobrania tutaj: http://universe.uni.org.pl/file.php?id=21&action=1

Oto niektóre z najważniejszych zmian, które zostały dokonane w wersji 1.1.0 PUBLIC BETA w stosunku do wersji 1.0.6:

- Nowy system użytkowników i uprawnień dostępu
- System prywatnych wiadomości
- Forum, będące integralną częścią systemu
- Ulepszony system wiadomości, artykułów, dodatków, schematów oraz galeria
- Odświeżony interfejs i wygląd panelu administracyjnego
- Zwiększone bezpieczeństwo
- Możliwość banowania użytkowników
- Możliwość zmiany ustawień daty/czasu
- Możliwość subskrybowania komentarzy
- Rozbudowane zarządzanie profilem użytkownika
- Shoutbox
- Edytor WYSIWYG w standardzie
- Nowy instalator
- I wiele więcej...

Wersja testowa nie jest wersją ostateczną. W stosunku do wersji ostatecznej nie posiada jeszcze m.in.:
- Pełnej obsługi wielu wersji językowych
- W pełni funkcjonalnego forum
- Modułu ankiet
- Obsługi grup użytkowników

Zapraszam wszystkich do testowania nowej wersji Universe CMS i zgłaszania wszelkich błędów, uwag, sugestii, itp


marcio
Elo nie widze testowej wersji online.

Moze przydaloby sie ja dodac.

Zyx
Główną wadą Twojego CMS-a jest sztywność struktury. Nie można sobie niczego poprzestawiać w inny sposób, niż Ty wymyśliłeś, więc nadaje się on de facto głównie do prostych, sztampowych stronek. Umiejscowienie szablonów w bazie to kolejny nienajlepszy pomysł. Naprawdę uważasz, że przyjemnie się tak edytuje wygląd?

Osobna rzecz to jakość kodu, a właściwie jej brak. W kodzie masz zwyczajny śmietnik, nie ma nawet śladu jakiegokolwiek API, a jeśli już coś się pojawia, nie ma w tym logiki, więc jak chcesz cokolwiek napisać, to musisz zacząć od zera. Nawet opakowanie najczęściej wykorzystywanych operacji w funkcje to już byłby postęp. Ponadto znalazłem co najmniej kilka miejsc podatnych w mniejszym lub większym stopniu na atak SQL Injection.
askone
Hej

Zauważyłem iż po wylogowaniu z admin panel użytkownik jest kierowany na stronę logowania, lepszym rozwiązaniem byłoby skierowanie na stronę główną portalu.

Pozdro
thomson89
To tak.

Wszedłem na demo i zraził mnie wygląd. Skoro demo, to pokaż co skrypt potrafi!

Bardzo ładny panel administracyjny, choć powinieneś podzielić na kategorie te ikonki: (np.) artykuły, wiadomosci, uzyszkodnicy

Usun pole wyczyść pod formularzami! Jak piszesz artykuł, to potem klikasz niechcący wyczyść i dupa!

Dodaj bbcode, dla wygody!

Przy tworzeniu uzytkowników wypadałoby przyznać pole: wszystkie.
Boost
nie jestem programistą który potrafi dużo ale powiem ci :
bałagan w kodzie (już o tym mówili)
raz dajesz ' a raz "
nie lepiej zrobić plik : mysql_.php i w nim wykonywać połączenie z bazą ? poprzez wywołanie pliku funkcją include(); ?
ogólnie to skrypt mi się podoba
rozwijaj go dalej
MateuszS
chyba ci demo zhackowali ;D
nospor
- dodawanie komentarza
walidacja tylko i wyłącznie po stronie js....
- po dodaniu komentarza nie widac go od razu. trzeba odswierzyc strone

-
Cytat
Forum, będące integralną częścią systemu

No jak to przeczytalem to bylem święcie przekonany, iż napsiałeś własne forum. Klikam na forum a tam.... phpBB... nie ma to jak dobra, integralna część systemu winksmiley.jpg

+ to co koledzy mówili wcześniej

= dużo pracy przed tobą
thomson89
I jeszcze coś: warto by dodać dodawanie obrazów z sieci...

A to?
Cytat
Obrazek Halloweenjpg.JPG o rozmiarze 222151 bajtów został dodany do galerii.

Powrót | Zobacz

Zły format obrazka. Obsługiwane formaty to jpg/jpeg, png, gif.


To w końcu dodany czy nie!?
potreb
Dorzucę coś od siebie. Instalacja. Dane tabel oraz przykładowych danych trzymaj w pliku tables.sql, rozbijaj dane i dodawaj do bazy.
  1.  
  2. function creates_tables() {
  3. $tables = file_get_contents("tables.sql");
  4. return $tables;
  5. }
  6.  
  7. foreach(explode(';;', creates_tables()) as $key => $table)
  8. {
  9. // create tables
  10. $create_table = mysql_query($table);
  11. preg_match_all("/CREATE TABLE\s(.*?)\s\(/si", $table, $match);
  12. if(isset($match[1][0])) {
  13. if($create_table) {
  14. echo("<span>".$lang['create_table_success']." <strong>".$match[1][0]."</strong> ".$lang['create_table_success']."</span><br/>\n");
  15. } else {
  16. $err = 1;
  17. echo("<span class='reds'>".$lang['create_table_error']." ".$match[1][0]."! <strong>".mysql_error().".</strong></span><br/>\n");
  18. }
  19. }
  20.  
  21. // insert data
  22. preg_match_all("/INSERT INTO\s(.*?)\s\(/si", $table, $match2);
  23. if(isset($match2[1][0])) {
  24. if($create_table) {
  25. echo("<span>".$lang['create_table_content_success']." <strong>".$match2[1][0]."</strong> ".$lang['create_table_content_success2']."</span><br/>\n");
  26. } else {
  27. $err = 1;
  28. echo("<span class='reds'>".$lang['create_table_content_error']." ".$match2[1][0]."! <strong>".mysql_error().".</strong></span><br/>\n");
  29. }
  30. }
  31. }


Coś w ten deseń,
fifi21
Cytat(thomson89 @ 7.11.2009, 12:02:00 ) *
To tak.

Wszedłem na demo i zraził mnie wygląd. Skoro demo, to pokaż co skrypt potrafi!

Bardzo ładny panel administracyjny, choć powinieneś podzielić na kategorie te ikonki: (np.) artykuły, wiadomosci, uzyszkodnicy

Usun pole wyczyść pod formularzami! Jak piszesz artykuł, to potem klikasz niechcący wyczyść i dupa!

Dodaj bbcode, dla wygody!

Przy tworzeniu uzytkowników wypadałoby przyznać pole: wszystkie.


Demo na universe-demo.uni.org.pl to wersja 1.0.6, czyli nie najnowsza. Demo wersji 1.1.0 udostępnie wkrótce.

Cytat(MateuszScirka @ 8.11.2009, 22:16:14 ) *
chyba ci demo zhackowali ;D


Raczej intensywnie przetestowali winksmiley.jpg Ale już zresetowałem (resetować można tu: http://uni.org.pl/reset.php )

Cytat(nospor @ 9.11.2009, 07:25:57 ) *
- dodawanie komentarza
walidacja tylko i wyłącznie po stronie js....
- po dodaniu komentarza nie widac go od razu. trzeba odswierzyc strone

-

No jak to przeczytalem to bylem święcie przekonany, iż napsiałeś własne forum. Klikam na forum a tam.... phpBB... nie ma to jak dobra, integralna część systemu winksmiley.jpg

+ to co koledzy mówili wcześniej

= dużo pracy przed tobą


Opis dotyczy wersji 1.1.0 B a na stronie universe.uni.org.pl jest wersja 1.0.6, która jeszcze nie ma w sobie skryptu forum - stąd phpbb. Żeby zobaczyć jak wygląda mój skrypt forum - ściągnij i zainstaluj wersje 1.1.0 B. 
marcio
To czekamy az udostepnisz bo jak narazie nie ma co oceniac
fifi21
Cytat(marcio @ 22.11.2009, 15:39:33 ) *
To czekamy az udostepnisz bo jak narazie nie ma co oceniac


Zainstalowanie paczki na localhoście czy jakimś darmowym hostingu to chyba nie za duży problem?  smile.gif

Przypominam że wersja 1.1.0 PUBLIC BETA jest dostępna do pobrania tutaj.

EDIT: Demo najnowszej wersji gotowe.

Adres: http://universe-demo.za.pl/
Login: demo
Hasło: demo
Maric_desinger_strton
Wszystko jest za małe popracuj nad desingiem ogolnie skryp i pomysł mi sie podoba tylko grafa słaba.Popracujcie nad tym
thomson89
Znalazłem jeden błąd:

w Strona główna » Panel administracyjny » Ustawienia dla pola forum ustawione są 3 radio: te dwa które mają być jeden input z rejestracja

Jeżeli chodzi o design to już jest troszkę lepiej.

Co do schematów, warto by podać jakie "tagi" można wstawić, czyli: w tym schemacie możesz dodać [autor], [data] w tym... itp.

Podziel menu admina na Wiadomosci, treści, strony własne, ustawienia, zdjęcia, pliki - bardzo ułatwi to nawigację...
deniol13
czemu nie filtrujesz danych z panelu admina ? newsy, menu prawe itd?
http://universe-demo.za.pl

no tam , admin raczej nie ma zamiaru robić czegoś takiego ale są tacy ludzie
Armstrong
Cytat(deniol13 @ 1.01.2010, 02:57:02 ) *
czemu nie filtrujesz danych z panelu admina ? newsy, menu prawe itd?
http://universe-demo.za.pl

no tam , admin raczej nie ma zamiaru robić czegoś takiego ale są tacy ludzie

Jak mogłeś tongue.gif Biedak nie da teraz na pokaz dostępu tongue.gif (a chciałem z testować :/)
wiewiorek
Nie oglądałem tego CMS'a, ale co macie na myśli pod pojęciem 'filtrować dane z panelu admina' - to znaczy oczyszczać je z tagów html, skryptów javascript itp. ? No wiecie - jeszcze się nie spotkałem z adminami, co chcieliby sami psuć swoją własną stronę, ale za to spotkałem się z takimi, którzy chcieli mieć możliwość używania tagów html i skryptów javascript. tongue.gif Także nie byliby zachwyceni jakby pozbawiać ich takiej możliwości tongue.gif Znam też takich co w ogóle nie tolerują edytorów w stylu FCK, bo twierdzą, że robią one śmietnik w kodzie html i trudniej im potem pozycjonować stronę, więc wolą sami pisać kod html.
Zresztą w popularnych CMS'ach w panelu admina jest to dozwolone i nie widzę w tym nic złego - admin to w końcu admin.
pgrzelka
ostyluj admina, w necie kilka darmowych szablonów dla panelu administracyjnego ( np http://www.bloganje.com/free-admin-template.html )
postaraj się również o szablon na główną stronę, jak sam nie potrafisz to może jakiś grafik będzie chciał współpracować, ewentualnie darmowy ( freecsstemplates.org )

marcio
Cytat(wiewiorek @ 3.01.2010, 11:02:02 ) *
Nie oglądałem tego CMS'a, ale co macie na myśli pod pojęciem 'filtrować dane z panelu admina' - to znaczy oczyszczać je z tagów html, skryptów javascript itp. ? No wiecie - jeszcze się nie spotkałem z adminami, co chcieliby sami psuć swoją własną stronę, ale za to spotkałem się z takimi, którzy chcieli mieć możliwość używania tagów html i skryptów javascript. tongue.gif Także nie byliby zachwyceni jakby pozbawiać ich takiej możliwości tongue.gif Znam też takich co w ogóle nie tolerują edytorów w stylu FCK, bo twierdzą, że robią one śmietnik w kodzie html i trudniej im potem pozycjonować stronę, więc wolą sami pisać kod html.
Zresztą w popularnych CMS'ach w panelu admina jest to dozwolone i nie widzę w tym nic złego - admin to w końcu admin.


Zdarzaja sie tez przypadki gdzie ktos wlamuje sie na konto admina i moze robic praktycznie co chce wlasnie dlatego ze jakis matol myslal a admin to admin co bedzie sam siebie hackowal, a jednak......


wiewiorek
Tylko, że jak ktoś się włamie na konto admina to jak CMS oferuje możliwość dodawania/usuwania stron to usunie strony czy usunie z nich treść lub wstawi własną zawierającą np. wulgaryzmy itp. i filtrowanie danych nic tu nie da tongue.gif
marcio
Cytat(wiewiorek @ 3.01.2010, 14:20:57 ) *
Tylko, że jak ktoś się włamie na konto admina to jak CMS oferuje możliwość dodawania/usuwania stron to usunie strony czy usunie z nich treść lub wstawi własną zawierającą np. wulgaryzmy itp. i filtrowanie danych nic tu nie da tongue.gif


Akurat nie mowie o takim przykladzie bardziej chodzilo mi o np upload zalacznikow czy img do galerii lub cos w tym stylu, teraz wyobraz sobie ze ktos kto pisal PA powiedzial no coz admin nie bedzie hackowal sam siebie wiec nie dal zadnego sprawdzanie czy upload'owany plik to img,pdf czy tam txt, ktos pieknie wrzuca code php i moze sobie wyswietlic pasy do mysql,usunac wszystkie pliki,podmienic wszystkie strony, uzyc www jako zombie na ddos i wiele innych.


I co wtedy jeden wielki ZONK tylko dlatego ze KTOS MYSLAL.

Pilsener
1. Dawaj hasło na PW lub w wersji demo wyłącz możliwość edycji bazy, bo zaraz jakiś dzieciak się zaloguje i napisze "hacked", bo oczywiście hacking to dodanie swojego kodu przy wykorzystaniu nadanych do tego celu uprawnień smile.gif
2. Dla mnie to żaden CMS tylko zwykły skrypt, gdzie dostaje sztywny szablon i pewne rzeczy mogę zmieniać, spróbuj postawić na tym kilka stron z sieci uzyskując identyczny kod HTML i CSS - jeśli się nie da, to żaden dla mnie system
3. Co do wad:
- już na pierwszy rzut oka wygląda amatorsko i prowizorycznie:
  1. or die ('ERROR: ' . mysql_error());
- taka obsługa błędów? Strona powinna być generowana etapami jako tablica z treścią, dopiero potem łączymy to z kodem HTML przy pomocy szablonów, tymczasem Ty echujesz fragmenty kodu HTML, tak robiono to w XIX wieku, potem oczywiście masz problem, bo nie możesz już cofnąć nagłówka, gdy pojawił się błąd w stopce, co nie? Używaj zmiennych zamiast echować stronę po jednym tagu, zmienną zawsze możesz nadpisać lub usunąć, nie wyślesz strony do przeglądarki dopóki nie będzie gotowa i zauważ, że wtedy możesz zacząć jej preparowanie nawet od stopki, jeśli wystąpi błąd to przerywasz proces generowania strony i np. wysyłasz do widoku odpowiedni komunikat błędu, który pojawi się w zdefiniowanym przez usera szablonie błędu, który może wyglądać np. tak:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>Błąd</title>
  5. <meta name="Robots" content="noindex,nofollow" />
  6. <meta http-equiv="Content-Type" content="text/html; charset={charset}" />
  7. {css}{base}
  8. </head>
  9. <h1>Podczas generowania tej strony wystąpiły błędy:</h1>
  10. <ul>{error}</ul>
  11. <p>Możesz to zgłosić do: admin@twoj_serwis.pl</p>
  12. <p>Strona główna serwisu: <a href="{www}">{www}</a></p>
  13. </body>
  14. </html>

- nie widzę wsparcia dla SEO
- nie widzę cache, robiłeś jakieś testy wydajności? Cache choćby samego szkieletu (bez modułów) to minimum
- brakuje mi tu dziedziczenia, ale jest to wyższa szkoła jazdy, nie widziałem jeszcze darmowego systemu z tą opcją

Rady ode mnie:
- popatrz jak zbudowane są inne, popularne systemy
- zastanów się, w czym możesz być lepszy od konkurencji
- zmień podejście do www ze statycznego na dynamiczne, poczytaj o MVC
- patrz na proces generowania jako na całość, rozrysuj wszystko na papierze jako odwrócone drzewo, przemyśl dobrze elementy składowe: szablony, style, moduły, panele, drzewo kategorii, menu, konfiguracja, zarządzanie userami, inne? Wszystko ma być proste, inaczej nikt nie będzie z tego korzystał
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.