Thera_Form_Element_FCK

Filed Under (Software, Web) by Jirka Helmich on 09-08-2008

Tagged Under : , ,

Další milník pokořen, podařilo se mi do Thera Frameworku založeném na Zend Frameworku integrovat FCK Editor. Bylo třeba chvíli laborovat s umístěním souborů a způsobem implementace, ale myslím, že to za to stálo.

Stačilo PHP soubor umístit do /library/fckeditor/ a ten zbytek nasypat do složky /public/fckeditor. Aby vše fungovalo jednoduše, chtěl jsem, aby byl FCK Editor běžným Zend Form Elementem, aby na něj platily validátory a vše ostatní. V první fázi tedy bylo třeba vytvořit si vlastní Element, vzhledem k tomu, že to, co FCK doopravdy odesílá není Textarea, ale Hidden pole, zvolil jsem odpovídající variantu a extendoval jsem Zend_Form_Element_Text. Pak bylo třeba vytvořit helper. Jediné, co bylo třeba napsat byl konstruktor, kde vytvořím novou instanci FCK Editoru s příslušnými parametry a nechám si vypsat XHTML kód.

Vypadá to tedy následovně:

<?php
class Thera_Form_Element_FCK extends Zend_Form_Element_Text
{
    public $helper = ‘FCK’;
}
?>

 

<?php
class Zend_View_Helper_FCK extends Zend_View_Helper_FormElement
{
    public function FCK($name, $value = null, $attribs = null)
    {
        $info = $this->_getInfo($name, $value, $attribs);
        extract($info); // name, value, attribs, options, listsep, disable
        include_once(dirname(__FILE__).’/../../../../../library/fckeditor/fckeditor.php’);
        $oFCKeditor = new FCKeditor($this->view->escape($name)) ;
        $oFCKeditor->BasePath = ‘/public/fckeditor/’;
        $oFCKeditor->Value = $value;
        foreach ($attribs as $key => $value)
        {
            $oFCKeditor->Config[$key] = $value;
        }
        $xhtml = $oFCKeditor->CreateHtml();

        return $xhtml;
    }
}
?>

Považte, výše uvedné není nijak náročný kód. O mnoho jednodušší je pak přitom vložení celého FCKEditoru do formuláře:

$fck = new Thera_Form_Element_FCK(’fck’);
$fck->setLabel(’Editor’);
$form->addElement($fck);

Sandcastle - řešení některých problémů

Filed Under (Software) by Jirka Helmich on 24-07-2008

Tagged Under : ,

Dřív, než začnu popisovat, jak se Sandcastle pracovat, resp. řešit problémy, které s ním můžete mít, asi by se vám hodilo vědět, co to vůbec je. Jedná se o nástroj distribuovaný společností Microsoft, který vám usnadní vytvoření programátorské dokumentace. Po tom, co vyhasl život projektu nDoc, Microsoft se prý rozhodl podopořit právě Sandcastle, aby zpřístupnil programátorům pro platformu .NET podobně užitečný nástroj. Sandcastle na základě XML dokumentace (komentáře ///<sumarry>) vygeneruje HTML nápovědu kompilovanou do spustitelného souboru, případně složku plnou HTML souborů nebo dokonce ASP.NET dynamický web. A to vše jako by z oka vypadlo MSDN.

Read the rest of this entry »

GiddyGoat - zase o krok blíže

Filed Under (Software) by Jirka Helmich on 22-07-2008

Tagged Under : , ,

Přikládám pouze screenshot, není třeba to více komentovat.

image

image

GiddyGoat, úprava DNA směrem k eliminaci postižení

Filed Under (Software) by Jirka Helmich on 20-07-2008

Tagged Under : , , ,

Ano, přípravy GiddyGoat vrcholí, ladím bugy, dodělávám uživatelské rozhraní, začíná to fungovat (samozřejmě v mezích toho, jaký to má účel, řekněme, že se mi nechce psát vlastní RichTextBox, spokojím se s extendovanou variantou). V současné době vypadá GiddyGoat následovně, asi tušíte, co tomu ještě chybí ;-)

image

Assembla.com - software developement accelerator

Filed Under (Software, Web) by Jirka Helmich on 20-07-2008

Tagged Under : , ,

Pracujete na nějakém projektu, na vašem stole leží tuny počmáraných papírů, ztrácíte přehled o tom, co máte ještě udělat, přes žluté sticky papírky nevidíte na monitor, na tabuli máte podivný diagram, který musíte vyfotit a poslat mailem všem spolupracovníkům, sháníte webhosting se subversion repository…

image

Read the rest of this entry »

Proč to dělat jednoduše, když to jde složitě

Filed Under (Software) by Jirka Helmich on 18-07-2008

Tagged Under : , , ,

Tohle heslo je mi dobře známo už od základní školy, když jsme na hodinách matematiky něco dělali až příliš složitě a mě nikdy nebylo jasné, proč. Teď to konečně začínám chápat. Když člověk zná složitá řešení, ta jednoduchá ho mnohdy vůbec nenapadnou. Na to samé jsem před pár minutami narazil při vývoji GiddyGoat.

Když v jakémkoliv editoru píšete kód, přejete si, aby onen editor uměl alespoň tak základní věc, jakou je odsadit na novém řádku přesně o tolik, o kolik je odsazeno na předchozím. Banální myšlenka, banální kód, ale pro mě nakonec celkem anabáze. Kód mám v extendovaném RichTextBoxu, což je samo o sobě to nejhorší, co se mi mohlo stát, neboť

Read the rest of this entry »

GiddyGoat & SyntaxHighlight

Filed Under (Software) by Jirka Helmich on 14-07-2008

Tagged Under : , , ,

Napsat prográmek s okýnkem a pár tlačítky je naprosto jednoduché, zvládne to skoro každý, protože si ve Visual Studiu nakliká vzhled a sem tam i nějaké chování. Problém však nastává ve chvíli, kdy má vaše aplikace něco opravdu umět. Co se týče mého PHP IDE, zdánlivě těžký problém s taby jsem vyřešil jedním CodeHandlerem (třída sloužící k uchováníí objektů typu code) a využítím vlastnosti Tag objektu Button. Ovšem o dost slabší je to se syntax highlightem. Lexikální gramatika mi nic neříká a termín se blíží, tudy cesta nevede. Nasadil jsem tedy mnoha vývojáři oblíbené řešení - reguláry.

Všechno fungovalo báječně, měl jsem z toho velkou radost, jak snadné to bylo, ale pak jsem do programu nasypal seznam funkcí jazyka PHP. Začal se provádět regex se zhruba 1300 nebo a to už sakra trvá. Dokud se z tohoto místa nehnu (zkusím udělat více menších regexů), nemá cenu implementovat zjednoduššení highlightu pro editaci běžným psaním textu (při zmáčknutí mezery se nemusí obarvovat nic, při stisknutí písmenka zhruba asi jedna řádka, při paste nebo otevření souboru totálně všechno). Momentálně ale otevřu soubor, dám si kafe, zdřímnu si, přečtu si novinky, odpovím na pár příspěvků na fóru, chvilku se koukám z okna a kód je obarvený.

Read the rest of this entry »

GiddyGoat - postižené PHP IDE

Filed Under (Software) by Jirka Helmich on 09-07-2008

Tagged Under : , , ,

Nevím, co jsem to dostal za šílený nápad, ale jako zápočtovou práci z programování jsem si vybral PHP IDE - tak trochu mrzáka, podivnou aplikaci se zvýrazněním PHP kódu a mírně postiženým code assistem. Včera jsem ukončil meditace nad zpracováním a jal se cpát do Visual Studia nějaký ten kód psaný v jazyce C#.

Nejprve jsem dostal geniální myšlenku použít komponentu telerik Ribbon. Že neznáte? A pruh karet vám něco říká? Pokud se vám vybavil kancelářský balík Office 2007 a podivní panel v horní části okna, jste doma, přesně to je Ribbon. Společnost Telerik pak registrovaným uživatelům Visual C# 2008 zdarma přináší komponentu, díky které je možné tento panel poměrně jednoduše integrovat do vašich programů. Nicméně délka kompilace a paměťová náročnost prázdného okna s Ribbonem mě přesvědčily o tom, že myšlenka zas tak geniální nebyla, stačilo si vzpomenout, jak pěním při startu PSPadu, který Ribbon nemá. S klasickým MenuStripem je aplikace mnohonásobně rychlejší.

Read the rest of this entry »

Co je spyware a co ne?

Filed Under (Software) by Jirka Helmich on 06-07-2008

Tagged Under : , ,

Projíždím kámošce log z Hijackthis a u leckterých procesů tápu, jestli je to spyware, virus nebo něco “užitečného”. Budiž tedy tento spot malým pomocníkem do budoucna, třeba pomůže i někomu z vás. Problém se vyskytl na Windows XP, do počítače se dostal šotek jménem BAT/Fake.Privdanger, který se snaží stahovat install_privacy_danger.bat. Celý tenhle nesmysl se vám snaží namluvit, že máte nezabezpečený počítač (no to očividně ano) a že si máte stáhnout antivirus od jejich společnosti (tady už bych tolik nesouhlasil).

Je třeba promazat složku C:/Documents and Settings/{uživatelské_jméno}/Local Settings/Temp a vůbec všechny temporary (dočasné) složky a soubory na disku, k tomu vám pomůže CCleaner, v tomto případě však ne stoprocentně, neřád zmizí jen naoko. Nástrojem, který mnoha lidem s tímto problémem pomohl je Superantispyware, konkrétně trial jeho placené Professional verze.

Bohužel, věci tohoto typu se velmi rády zašívají do adresáře nástroje Obnovení systému a jsou tak sofistikované, že se v systému objeví i po provedení obnovení do stavu, kdy v počítači rozhodně nebyly. V takovém případě je na místě obnovení systému odvolat, tento nástroj vypnout tak, aby se složka obnovení systému promazala a následně spustit antispyware a hloubkovou kontrolu antivirového programu, v současné době bych doporučil Nod 32.

Read the rest of this entry »

Opera 9.51 RC2 opět nenadchla

Filed Under (Software, Web) by Jirka Helmich on 30-06-2008

Tagged Under :

S každým dalším snapshotem Opery 9.51 se těším na to, že budu konečně moci normálně používat Google Analytics a že mi nebude zamrzat panel rychlého spuštění. Bohužel, ani jeden z těchto problémů ještě vývojáři nevyřešili, a tak i dva dny starý build obsahuje poměrně nepříjemné “vlastnosti”. Naštěstí byl z nového buildu odstraněn bug, který způsoboval nenačítání CSS stylů při prohlížení historie, to byla také jedna z chyb, za kterou by člověk nejraději pověsil někoho do průvanu.

Co mě ale na nových buildech vyloženě štve je, že člověku nutí defaultní rozložení klávesnice. S Operou 9.5 se nám dostalo nejen nového skinu, ale také rozložení klávesnice, které se velmi podobá “Firefoxímu” (jazyk český promine). Například CTRL+U na zobrazení zdrojového kódu (původně CTRL+F3) nebo CTRL+J pro zobrarazení transferů (dříve příznačně CTRL+T), které perfektně koliduje s AMIP pro WinAmp. Navíc jsem si nastavil UNIXáckou zkratku Alt+F11 na schování menubaru i pro Windows, proto je přemazání klávesových zkratek instalátorem věru nepříjemná věc.

Read the rest of this entry »