Jedná se o redakční systém, asi si říkáte proč se vůbec obtěžuju,
když máme Wordpress a podobné. K tomu mám velmi jednoduchý důvod: vůbec
se v jeho kódu nevyznám, pro spoustu aplikací je zbytečně složitý a
nastylovat šablonu je taky dost náročné.
Takže vytvářím systém, jehož kódu bude rozumět každý, kdo zná
alespoň základy PHP, HTML5 a CSS3 a může si tedy opravdu snadno upravit
jednu ze stávajících šablon.
Systém zatím umí tvořit 4 typy stránek: statické (1 článek na stránku),
rubriky (obsahují výpis článků), fotogalerii a kontaktní formulář na
administrátora stránek. Galerie a kontaktní formulář mohou být na
stránkách jen jednou ale v galerii je možné vytvářet stromovou strukturu
složek a každou ze složek můžete přiřadit k libovolnému článku.
Pochopitelně nechybí možnost uložení článku do rozepsaných, nebo
určení data a času automatického zveřejnění článku. Je možné vybrat
si, jestli se bude zobrazovat postranní panel a v něm náhodná fotografie
nebo další obsah (např. kontaktní informace, nebo reklama). V uživatelském
rozhraní bude možné měnit výšku a pozadí hlavičky a šířku celé
stránky i postranního panelu a pochopitelně přidávat, mazat a upravovat
stránky, fotky a články. Veškeré úpravy článků budou samozřejmě
probíhat pomocí WYSIWYG editoru.
Zkrátka, měl by to být systém schopný snadných úprav jak vzhledu tak
funkčnosti a co je hlavní, doufám, že bude univerzální.
A jedna věc na závěr, pokud by se někdo chtěl na projektu podílet,
může. Mám trochu problém s vymýšlením designu, vždycky když něco
vyplodím, tak jsem pak měsíc jako grafik nepoužitelnej. Takže pokud by se
někomu chtělo stylovat, napište.
Máš pravdu tvořit pro wordpress šablony je celkem složité. Pokud to
uděláš dobře, tak to bude super. Hlavně potom nezapomeň udělat dobrou
dokumentaci v, které se bude dobře vyhledávat.
Tak se zas hlásím s aktualizací, na obrázku je vyobrazen design
administračního rozhraní, doufám, že se bude líbit. Není to nic extra
složitého, snažil jsem se o příjemný, jdnoduchý a zároveň funkční
vzhled a dbal jsem také na dobré ovládání na tabletu.
Také dělám něco podobného Teda, spíš přepisuji.
Jelikož jsem s Wordpressem neuměl, tak pro mě byla nepřehledná i
administrace, natož kód. Vlastní je nejlepší
S grafikou taky kamarád nejsem, většinou si najdu nějakou free šablonu
kterou si potom upravím.
Ahoj, sice jsem se trochu opozdil ale můžete mi věřit, že jsem tomuto
projektu věnoval každou volnou chvíli a tady je výsledek: Firebolt verze 1.0
- Adam
http://uloz.to/xyLm1q6z/firebolt-1-0-adam-zip
(pojmenováno symbolicky jako první verze )
Zatím sice není dodělaná dokumentace (tu budu psát tento týden), ale
myslím, že ovládání je tak jednoduché, že snad ani není potřeba
Postup při instalaci:
Rozbalit archiv do složky (popř. podsložky) nad kterou vám běží
web-server
Přes prohlížeč spustit skript install.php v této složce
Zadejte budoucí přihlašovací údaje k administraci, e-mail, titulek
stránek a přístupové údaje k databázi
A už by to mělo frčet
Takže prosím, vyzkoušejte můj výtvor a budu rád za každou kritiku
(pozitivní i negativní) i když nezaručuju, že se jí budu řídit...
ahoj, idem ti to otestovat za chvilku, a pridam nazor
nerozmyslali ste dat to na github.com a riesit to ako open-source projekt?
vo volnych chvilach(ktorych mam malo) by som sa pridal, a pomohol.
Mam par pripomienok: Linux Mint
PHP 5.4.9-4ubuntu2.3 (cli) (built: Sep 4 2013 19:37:07)
MySQL: Server version: 5.5.32-0ubuntu0.13.04.1 (Ubuntu)
1. Po vyplneni udajov v install.php a odoslani formulara sa mi zobrazila
stranka s prihlasovanim sa. Ja som si spokojne dal meno a heslo a bum. neslo.
Kukam, ze co je, a spomenul som si, ze ako aj pri wordpress, zabudol som si
vytvorit DB v mysql. pustim som si terminal, dal "create database firebolt;" a
le hups, subor install.php bol uz prec, ked som si ho chcel pustit znovu. To ale
chapem, a musel som rozbalovat subor znova ... chyba kontrola ci databaza do ktorej ideme zapisovat vobec
existuje
ludia su zabudlivi, a to sa stalo teraz mne..nikto ma nevaroval..
2. V menu Clanky sa pise toto:"Není zložena žádná stránka typu "Výpis
článků", pro přidání článku musíte nejprve nějakou vytvořit"
Vravim si, ok, tak nejaku stranku "Vypis clanku" uz vytvorim. hups, nejde to
lebo tam v dropdowne su len tieto: Rubrika,Jednoducha
stranka,Fotogalerie,Kontaktni Formular..
Som clovek lenivy, a taka je vacsina userov
A to je zatial vsetko, kedze nic nestiham, ale tento projekt a napad ma
zaujal, a urcite, ze vam drzim palce aj nadalej, a ked to pridate na github,
urcite si to forknem a mozno vam aj dam par pull requestov
Vyhody:
Nacitanie administracie: priblizne 300ms.
Nacitanie zakladnej temy: menej ako 160ms!!!
Děkuju za připomínky, měnil jsem označení typů stránek a tohle mi
nějak uteklo (výpis článků = rubrika), dnes to opravím.
S tou databází mi to ale nejde do hlavy, při instalaci se totiž testuje
připojení a pokud se nejde připojit se zadanými údaji, tak se instalace
neprovede a uživatel je vrácen na formulář. Ještě to otestuji a zkusím
přijít na ten problém.
Pri databaze som sa asi nevyjadril najlepsie :/
Myslel som, ze sa nekontroluje, ci samotna databaza je v mysql vytvorena.
Alebo je to tam tak, ze tvoj kod spravi aj CREATE DATABASE z pola ktore je nazov
databazy(install.php)??
Už jsem to vyřešil, měl jsem chybu v názvu proměnné ($qsl_error
namísto $sql_error), takže teď už se kontrola provádí správně,
kontroluje se připojení k serveru i existence databáze
Databáze se sama nevytváří, protože jsou i hostingy, které nemají
práva k vytváření nových databází, často máš přidělenou jen jednu a
ani nemůžeš nastavit vlastní název, proto jsem se tomu přizpůsobil a
vytvořil skript takto.
Na hostingu obvykle dostaneš přidělenu jednu prázdnou databázi MySQL.
Zpravidla jich víc ani není potřeba.
K tomu si zpravidla můžeš vyrobit libovolný počet databází SQLite,
které sice oficiálně na hostingu nebývají, ale vzhledem k tomu, že jsou
součástí PHP, poslouží zpravidla ještě lépe než MySQL.
[22.9.2013] v1.2 - Apple
Vylepšena bezpečnost
Opravena chyba při úpravě kontaktního formuláře
Opraveno přiřazování alb ke článkům
Zúsporněn kód
Nahrazena výchozí šablona
Opraveny sémantické chyby v prvcích <b>/<strong> a
<i>/<em>
Provedeny opravy dalších drobných chyb
Máš příliš přísně nastavený PHP, nelíbí se mu že neexistují
proměnné, ale to nevadí, klidně můžeš nainstalovat a pokud se těch
hlášek chceš zbavit, což bych dopoučoval, tak v souboru posílám
konfigurák php.ini s takovými pravidly pro vyhazování chyb jako na
většině veřejných serverů. stačí ho nahradit a restartovat server.
Mimochodem používáš nějaký serverový balíček (jaký)?
A dokumentace zatím pořád neexistuje, ale už na ní pracuju
Já je nevypínám úplně, jenom je trošku zmírňuji, to že proměnná
resp. index pole neexistuje přeci není žádná tragéde, prostě se nic
nevypíše a ať už jsem podobné skripty, nahrál kamkoliv na nějaký
placený server, nikdy mi nevyskakovaly chyby tohoto typu.
Ale jestli vám to tak strašně vadí, tak prosím, já tam tada dám ten
isset() ke každé proměnné, která může v nějakou chvíli neexistovat.
To si piš, že je to tragédie. Až budeš psát nějaký důležitý skript
a budeš tam mít překlep v proměnné, PHP ti to potom neukáže, protože jsi
líný použít isset() a hlášky jsi vypnul.
Při ladění a testování si je samozřejmě zapínám, nejsem idiot,
aspoň ne takovej, jak se vám to možná zdá.
Jak už jsem psal, když skript funguje bez problémů a na veřejném serveru
se stejně ty méně závažné chyby neukáží, tak podle mě není co
řešit, ale to tu asi nikdo není ochoten akceptovat...
No nic, kritiku přijímám, a nechci se nikým hádat vkůli malichernostem,
chápu že by se takové věci měly ošetřovat, ale prostě mi to připadalo
zbytečné, když si s tím PHP poradí samo, to je vše. Spíš jesli má
někdo čas, tak se prosím podívejte na to jak to celé funguje a jestli se
vám projekt celkově zamlouvá. Opravdu nerad bych se tady nimral, v takových
věcech, navíc se to dá celkem snadno opravit a jestli chcete, tak to klidně
udělám.
Právě jsem někomu odeslal automobil, který díky překlepu nezaplatil.
PHP s tvým nastavením žádnou chyby nevypíše. Asi by tě potom neměli
rádi
Abys neřekl, díval jsem se i na ten tvůj systém, ale zas tě
nepotěším. Jsou tam SQL injekce, v šablonách nejsou šablony, ale nějaké
patlanice a do toho používáš globální proměnné. Chystám se psát nový
PHP seriál pro začátečníky, brzy by se tu měl objevit.
Hele, já tu kritiku fakt beru, a jsem za ní rád, koneckonců, taky proto
sem vůbec něco dávám, abych znal váš názor na věc a vím, že bych měl
používat objekty, k nim mít metody get/set, atd... atd..., ale snad mě
neukamenujete, když řeknu, že když se podívám jen tak namátkou na témeř
libovolné weby generované, pomocí nějakého podobného nástroje
(například některé blogy), tak výsledný kód vypadá o dost hůř, než
ten můj. Uznávám, funkčnost celé administrace je asi zaostalá, "šablona"
co se týče vzhledu taky není noc moc, ale na druhou stranu, celé to nějak
funguje a například SQL injekce jsem se v poslední verzi snažil ošetřit
nejlíp, jak jsem dovedl. Každý musí nějak začít. Tak snad mi to všechno
prominete a pokud budete mít připomínky k tomu jak celou věc vylepšit
(třeba ohledně bezpečnosti), tak za ně budu rád a pokud to nebude znamenat
začít úplně od začátku, tak se jimi budu rád řídit. A jestli jsem se
předtím choval uraženě, tak se omlouvám, ale pochopte člověk na tom
dělá ve dne v noci jak nejlíp umí čtvrt roku a když to vypustí do světa,
tak mu lidi, který ani nezná řeknou, že je to celý špatně, neberte to
zle, ale kdo by se neurazil, nebo z toho nebyl alespoň trochu mrzutej...
SQL dotazy se řeší alespoň tak, že tu fci mysql_real_escape_string()
píšeš do všech parametrů přímo do dotazů. Jedině tak na nic
nezapomeneš. Ty ale používáš mysqli ovladač, tam se už parametry
předávají jiným způsobem. Oprav si to tedy alespoň na to, že budeš
všude do dotazů psát tu funkci. Abys s databází mohl pracovat na nějaké
lepší úrovni, potřebuješ nějakou statickou třídu (ano, objekty, bez nich
to nejde). Nicméně můžeš si tu třídu stáhnout z místních tutoriálů a
používat jí aniž bys věděl jak to vůbec funguje. Od použití funkcí se
to příliš neliší.
PHP má šablonou syntaxi, nemá smysl v šablonách něco echovat. Je také
vysvětlena v tutoriálech.
Teď jsem si uvědomil, že jsem sice real_escape_string použil v
administraci ale na šablonu jsem zapomněl, napravím. Takže u šablon(y) je
už vlastně problém jenom v tom, že echuju a nepoužívám doporučenou
syntaxi? Mysqli používám, protože nejnovější verze PHP už obyčejnej
mysql (údajně) nepodporuje.
Pokud máš soubor, kde je z většiny HTML, tak použiješ šablonou
syntaxi. Pokud máš naopak skript, kde je většina logiky, použiješ
klasické PHP. V šabloně by se ideálně neměly třeba vůbec objevit SQL
dotazy, měl bys na ně mít funkce a ty z šablony volat. Jinak totiž vaříš
špagety (máš zamotané HTML, SQL, PHP, JS a všechny jazyky dohromady).
Chtěl bych ještě upozornit, že jednou jsme dělali ve škole takový
úplně superjednoduchý CMSko jako samostatnou práci a já ho celý dokázal
nacpat do jednoho jedinýho souboru včetně administrace a CSS, takže když se
mi chce tak jsem schopnej vytvořit neuvěřitelný zvěrstva (je trochu
žalostné, že tahle prasárna fungovala nejlíp ze všech ve třídě), ale
ono to bylo spíš ze srandy, tohle chci brát vážně... a pokud možno
profesionálně...
No, do soutěže bych se rovnou nepouštěl, ale určitě se pokusím ten
kód trochu "učesat". Navíc včera jsem nastoupil na vysokou (FIT) takže bych
se nerad účastnil něčeho co má nějaký termín odevzdání, škola je
hlavní a nevím, jestli bych to pak všechno stíhal.
Ahoj, po delší době se hlásím, projekt ještě neumřel, ale pořád
ještě nejsem spokojen se všemi funkcemi, takže zatím nevydávám finální
verzi, nicméně už mám systém nasazený na pár webech a nevypadá to že by
byly nějaké problémy.
Teď jsem se vás ale chtěl zeptat, co si myslíte o novém vzhledu
administrace, vychází z původního ale dopnil jsem barvičky a ikony a
celkově jsem upravil barevné schéma, aby nevypadalo tak "vyblitě".
Neboj, myslím, že v
porovnání třeba s WP nebo Joomlou je to hodně minimalistický, no a kdybych
to přeci jen v jednom člověku nějak víc rozvinul, tak pořád můžu
požádat sdraca o přejmenování vlákna...
Díky Zirko.
Dobré zprávy vespolek! Po půl roce mám hotovou finální verzi, takže
kdo chcete, můžete zkoušet. Napište mi prosím nějaký ten feedback a kdyby
se někdo chtěl podílet na tvorbě šablon, budu taky rád.
Prázdné heslo nemůže být kvůli bezpečnosti, to je asi celkem
samozřejmé a pretty URLs plánuji do další verze. Jinak, doufám, že
správa souborů a nápověda jsou snadno pochopitelné...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.