čtvrtek 5. února 2009

SW3: Equilibrium

Sranda jak rychle to jde, když člověk navrhne dobrou architekturu stránky...
Na novém SW se k tomuto momentu dá: přihlásit, odhlásit, prohlížet si první stranu z equilibria (protože jsem jěště nedodělal stránkovací tlačítka), a prohlížet si komenty ke zpovědím.

Takže pro kompletní equi chybí jěště: možnost přidávání komentů, a možnost přidávání equi.
(Tagováním a filtrováním se budu zabývat po tom, co se mi povede dostat SW3 do stádia, kdy bude stejně funkční jako SW2 (to které momentálně používáte).

Po equi se pustím do deníku. Po deníku do profilu a pošty.

Co dál? Uvidíme na co budu mít chuť =).

Shadoworld 3

Už dlouho jsem sem nenapsal, tak to právě napravuju jednou dobrou zprávou:
Pracuju na další (v pořadí třetí) verzi Shadoworldu.

Proč?
Hlavně proto, že jsem se zase posunul o něco dál, takže ho dokážu udělat lepší, rychlejší, přehlednější, s prohlížeči kompatibilnější a korektnější.
A kromě toho, Shadoworld 2 (verze která je momentálně na webu) je obrovský bordel, co jsem zjistil když jsem se předevčírem o půlnoci pokusil na nástěnku rychle dodělat možnost automatické (ajaxové) aktualizace zpráv.

Nejsem zchopný ho dál udržovat, ne to jěště rozšiřovat, a protože jeho momentální stav není ani zdaleka verzí finální, tak ho musím (a chci, protože mě to baví) udělat odznovu.

Kromě toho jeho kód je asi tak 3 až 4-krát delší než by mohl být, kvůli cca třem vrstvám abstrakce, které probíhají mezi samotnou komunikací s databází a zobrazením stránky.
A to je vrcholně zbytečné.

Většina stránek na momentálním shadoworldu funguje takhle:
index.php volá funkci GetContent na objekty pravého a levého menu, a pak getcontent na objekt středu stránky (který objekt to je se rozhoduje podle parametru page v adrese), ten objekt většinou volá další objekt, který volá jěště jeden objekt, a až ten generuje html, které se pak po celé této cestě vrací zpátky k indexu, který ho vypíše...

Prostě hromada zbytečného bordelu. A kromě toho stránka v IE nefunguje a vypadá příšerně, rozpadává se, a tak...

Takže jěště jednou, oficiálně oznamuju, že vyvíjím Shadoworld 3.
Mezi jeho hlaví výhody bude patřit:
rychlost, přehlednost kódu, malý kód, snadné dělání změn, moderní ovládání, a beztabulkový layout který bude bezchybně fungovat v IE7 (a vyšších?), FireFoxu, Opeře, Safari a Chrome.

A co asi vás, jeho uživatele zajímá víc - jeho nové funkce:
  • konečně možnost editace deníkových záznamů, svých komentů, a příspěvků ve fóru (s určitými omezeními které budou mít zabránit kompletnímu přepsání textu příspěvku)
  • Oficiální a Uživatelské tituly pro občany
  • Automatické rozpoznávání čeho se týkají zpovědi a na jej základě zařazení zpovědí do kategorií / přiřazení tagů
  • Možnost filtrování/zobrazení zpovědí podle tagů nebo autora
  • FLASH zprávy (ne, není to to, co si myslíte... nechte se překvapit)
  • Chat (zdravím Rusty =))
  • Soukromé thready ve fóru se seznamem uživatel kteří mají do threadu povolený vstup (seznam bude možno kdykoliv měnit a uživatele do něj přidávat/z něj odstraňovat), nebo se vstupem na heslo (exkluzivně pro Kiowu ;-) )
  • Možnosti hromadného označení a editace (zchocholouškování) příspěvků ve vámi založeném threadu (tohle chtěl tuším taky Kiowa, nebo Havrane?)
  • Testy: na začátek Test deprese (Beckova stupnice) a test závislosti (mé díky Longinovi_Kandinskemu, který mi k nim dodal podklady), časem jakékoliv další ke kterým dostanu podklady.
  • Statistiky výsledků testů - každé vaše vyplnění si stránka zapamatuje, a budete si moct zobrazit grafy výsledků, například jak se poslední týden podle testů vyvíjí vaše deprese, atd... Taky bude možno nastavit, jestli jsou výsledky zobrazitelné jen vám, i přátelům, nebo všem registrovaným (výchozí nastavení bude jen vám)
  • nastavení sledování jakéhokoliv threadu ve fóru, nebo komentů při jakémkoliv článku/zpovědi
  • fotogalerie/galerie obrázků přímo na serveru SW! s nastavením pro koho jsou viditelné, samozřejmě, a jestli je možné se na ně odkazovat i z jiných stránek než SW, taky s přímým určením stránek které se na ně můžou/nemůžou odkazovat...
  • "Virtuální fotogalerie" - zobrazení všech obrázků a videí, které uživatel kdekoliv na SW embednul
  • Automatické embedování obrázků a youtube videí (žádné další [img], prostě skopírujete přímo odkaz, a pokud končí příponou obrázku (.jpg, .png, .gif, .bmp), zobrazí se přímo v příspěvku. Co se týče youtube videí, postačí zkopírovat adresu z prohlížeče, a video se taky zobrazí přímo v příspěvku.
  • ...fanfáry prosím...: Hřbitov jak jste jej jěště neviděli! Přistihnete se při tom, že se jím jen tak procházíte, že dokonce ani nečtete náhrobky. A jestli jste pohřbeného měli rádi nebo nesnášeli, ostatní to poznají podle toho, jak se o hrob staráte. =)
  • Ankety! Zakládané občany.
  • Hlasování ohledem samotného fungování SW!
  • Peklo, kam se budou zavírat uživatelé jen tak pro srandu, nebo pro neslušné chování/porušování pravidel SW. Budete moci určit na jak dlouho, popis co danému uživateli po tu dobu pekelníci dělají, a taky praktické omezení, jestli budete chtít (x dní se nemůže přihlásit/psát komentáře/zpovědi), a pokud vám to bude ve veřejném hlasování občanů odsouhlaseno, máte to mít!
...uf... to jsem se nějak rozohnil...
...no dobrá, tohle všechno vás čeká... Nebudu psát že "už brzo", protože bych tím na sebe vyvíjel nátlak. Chci aby třetí generace SW byla kvalitní, dobrá, a hlavně kompletní...
Samozřejmě že pokud budete mít návrhy na nové funkce/části stránky, tak je zrealizuju, jestli budou dobré, ale kompletní v tom smyslu, jak už si SW dlouho představuju, a jak chci aby vypadal...

Pro další informace/novinky z vývoje třetí generace Shadoworldu sledujte tento blog, budu ho teď updatovat často =).

pondělí 1. prosince 2008

SW je down

Právě v této chvíli, poprvé v historii placenýho hostingu, a ne mou chybou.
A už je zpátky...

Malý krůček pro SW...

Možná jste si všimli nového skinu SW. Doufám že se vám líbí. Je to vlastně pokus o co nejvěrnější kopii toho jak vypadalo MM... (kromě obrázků, samozřejmě, jejich počet chci v samotném layoutu udržet na nejnižií možné hranici)...

Měl jsem totiž stesk za MM, a uvědomil jsem si že jeho barevné schéma je fakt mnohem příjemnější na pohled, než to modré / modřefialové co sw mělo. Každopádně si můžete vybrat které se vám líbí víc, v Nastaveních.

A taky už bych konečně chtěl/mohl udělat Křivdy a Úspěchy, vymyslel jsem si k nim vtipnou věcičku, že v profilu člověka se bude zobrazovat, že má X Křivd a Y Úspěchů a bude při tom ikonka která bude nějak znázorňovat ten poměr... A taky vám přibyde jeden "titul" podle toho jak hlasujete při zpovědích, možnosti budou Milosrdný, Krutý a Neutrální.

Už to "jen" udělat.

A... děkuju vám, lidi...

Kiowa: nikdy to nebude stejný, tak proč to chceš kupovat? MM je konečně doopravdy mrtvý a z jeho popela povstal svět stínů.

Black.Fairy: MIDNIGHTE, nepropadej depresím. Jsme rádi, že SW máme, že se můžeme zase někde hádat a předávat si názory / zkušenosti aspoň virtuálně : ) chopil ses toho a dovedl jsi to až sem, i kdyby to takhle mělo zůstat napořád, tak jsi odvedl kus skvělý práce a my jsme ti všichni vděčný. I ta Bejunka, protože se má kde vykecat. Takže nevěš hlavu, na MM jen vzpomínej a nechtěj oživovat něco, co už má zůstat zakopáno.


MilujuBublinky: Midnight: panebože... jako vrátit se v čase.... strašně zvláštní..vrátit se tam, kde sem strávila tolik času.. a najendou to bylo v nedohlednu..tyjo..sem z toho úplně v prdeli.

Moc pro mě všechny vaše reakce na změny na SW (a na moje podivné nálady) znamenají...

Dobrá, ale trochu jiný věci jsem chtěl... Zaprvý, zajímá mě, kolik lidí si nechalo nastavený nový skin, a kolik se vrátilo k starému, takže si uděláme takovou malou tabulku:

SELECT Skin, COUNT(Owner) FROM swUserSettings GROUP BY Skin;
SkinPočet registrovaných
Shadoworld1
Nostalgie (MM skin)183

Takže... jo, myslel jsem si, ten MM skin je fakt příjemnější, přiznám se, že ten jeden člověk co má nastaven SW skin nejsem já...

Jěště jednou díky, vám všem, že jste se mnou, a díky tomu je mimo jiné SW velmi hodnotným příspěvkem do mého webprogramátorského portfolia... O:-)

Mám vás rád =)

čtvrtek 27. listopadu 2008

Pavlina19

Tak mě k tomu konečně dokopali.
Spojené síly ostatních uživatel, Pavliny samotné, a toho že jsem konečně měl zase trochu času způsobily, že jsem pavlině nastavil limit...

Zkrátka to její floodování Equilibria už bylo moc... A nedala si říct a nedala. A furt jí všichni do komentů nadávali...

No, prostě odteď může přidat Equi jen když od toho minulého přidání uběhlo sedm dní a více...

Ale abych ti udělal alespoň trochu radost Beju, jsi navěky (nebo alespoň než se mi bude chtít naprogramovat to lépe a korektněji) zapsaná v samotném zdrojovém kódu SW:


//ak je user Pavlina19, tak skontroluj poslednú spoveď
//(temporary code, malo by byť robené všeobecnejšie, aby sa to dalo
//aplikovať na akéhokoľvek usera cez db)
if($Login->Get() == "Pavlina19")
{
$qr = mysql_query("SELECT * FROM swEquilibrium WHERE (Owner = 'Pavlina19') AND (OwnerRegistered = 1) ORDER BY DateAdded DESC LIMIT 1;");
$fqr = mysql_fetch_assoc($qr);

//ak je dátum pridania starší ako 7 dní, nesprav nič, ak novší, tak vypíš hlášku a returnni
if($fqr["DateAdded"] > date("Y-m-d H:i:s", strtotime("-1 week")))
{
$le = date("d.m. Y, H:i", strtotime($fqr["DateAdded"]));
$ne = date("d.m. Y, H:i", strtotime($fqr["DateAdded"]) + 60*60*24*7);

$res =
...[snip: html kód zprávy která se jí zobrazí]...

return $res;
}//koniec ifu ak je limit v platnosti
}//koniec ifu ak je user Pavlina19

pondělí 8. září 2008

Konečně!

Lidi, budeme mít články!
Konečně jsem našel co jsem hledal.
Webový WYSIWYG RTF... tedy spíš HTML (ale to není až tak podstatné) editor...

Ehm, laicky řečeno, něco jako takové malé okénko wordu na stránce - a díky němu budete moct formátovat text který píšete - nastavit mu písmo, velikost, barvu, zarovnání, jednoduše vkládat odkazy, obrázky, a dokonce i videa nebo flashové animace!

Říká si to tinyMCE, a je to udělaný kompletně v JavaScriptu, a já sice netuším jak, ale jeho tvůrce obdivuju...

Jo, a proč o tom mluvím v souvislosti s články?
Protože v mém konceptu se takovýto editor s články vždy spojoval...
Už dávno jsem vám mohl dát další textarea, kam by jste ty "články" psali, ale nebylo by to ono... Byl by to zase jen obyčejnej text, bez všech těch možností, které měla editace článků na původním MM, a to mi přišlo nepřípustné.
Tak jsem hledal.
A teď, asi po třech měsících jsem našel!

Takže články budou, tak do dvou týdnů.
(Přeci jen to není jenom o tom editorku, chce to taky novou tabulku, pár nových PHP tříd, udělat schvalování a výpis, a tak.)

Avšak editor už je vlastně plně funkční, a můžete si jej klidně vyzkoušet, tady.
Po tom, co si vyhrajete se vším možným, stiskněte uložit (hned první tlačítko, klasická disketka), a text se zatím sice nikam neuloží, ale zobrazí se vám téměř tak, jak by se zobrazil v článcích...
(Akorát že bude na celou stránku, a v článcích bude jenom ve středovém panelu. A taky si budu muset promyslet defaultní barvu pozadí, písma, atakdál... Ale i přes to si je budete moci změnit...)

Zabavte se, doufejte že se mi to povede, a držte palce =)

středa 3. září 2008

SAKRA! Aktivační maily!

...až teď mi to došlo, když jsem se rozhodl podívat do registrační classy... až teď jsem si uvědomil, proč nějak stoupal počet lidí stěžujících si na nemožnost přihlášení/nefunkční registraci...

Nechodili jim aktivační maily! A když přišly, tak tam byla špatná adresa, jěště na starej server!

...ale už je to opravený. A taky už konečně funguje diakritika, a je to hezkej HTML mail, a taky subject a mail-from, a tak...

Jo, a taky jedna minoritní chybička - když jste jako host přidali zpověď, a do Nicku jste zadali jméno existujícího uživatele, v hlavičce spovědi to k vám přiřadilo status toho registrovaného, i když to nebyl link na jeho profil...

Problém byl, že podmínka kontrolovala jestli je nastavenej status, a když ne, tak ho nastavila na "Host". Ale status nastavenej byl - protože z DB jsem tahal záznamy o Equi a pároval je se záznamy o uživatelech na základě uživatelského jména, takže pokud se jména shodovaly, status prostě nastavený byl. O kus dál však podmínka, která rozhodovala jestli z jména udělat link na profil nebo ne, kontrolovala jestli OwnerRegistered při zpovědi je true nebo false, a fungovala správně.

Nevím co to bylo za nápad s tou první podmínkou, ale přepsal jsem ji taky na if(!OwnerRegistered){Status = "Host";}, a běhá to správně.

To by bylo nadnes vše, zítra snad něco o obyvatelstvu, a událostech na SW samotném, ne v jeho kódu.