Senin, 08 Maret 2010

CKEditor config.js

Terkadang kita memang senang dengan suatu produk apabila fungsi kustomisasi ditambahkan pada produk tersebut. Hal yang sama terjadi pada banyak produk Open Source, dimana dengan tersedianya kode sumber memungkinkan kita untuk membuat aplikasi tersebut sesuai dengan keinginan kita. CKEDITOR yang merupakan produk OpenSource ini menyediakan berbagai macam plugins ataupun parameter-parameter konfigurasi yang dapat digunakan untuk mengatur / mengkustom CKEDITOR. Untuk dapat menggunakan konfigurasi custom ini terdapat beberapa langkah yang mesti dimabil :
- membuat definisi file config.js yang biasanya satu lokasi dengan file ckeditor.js. Berikut ini merupakan contoh aplikasi tersebut.
CKEDITOR.editorConfig = function( config )
{
config.toolbar = 'Surat';

config.toolbar_Surat =
[
['Cut','Copy','Paste','PasteText','PasteFromWord'],
['Undo','Redo','-','SelectAll','RemoveFormat'],
['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],
'/',
['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
['Link','Unlink','Anchor'],
'/',
['Styles','Format','Font','FontSize'],
['TextColor','BGColor'],
['Maximize', 'ShowBlocks','-','About']
];
};

- cara menggunakannya pada file html seperti berikut ini :
< type="text/javascript" src="lokasi/file/ckeditor.js">
< type="text/javascript" src="lokasi/file/config.js">

< type="text/javascript">
CKEDITOR.config.customConfig = 'blah/ckeditor/ckeditor_config.js';
CKEDITOR.replace(Story);
< / script >

Yang perlu diperhatikan bahwa penentuan konfigurasi kustom mesti dilakukan sebelum membuat instan dari CKEDITOR (CKEDITOR.replate()).


referensi
http://cksource.com/forums/viewtopic.php?f=11&t=15881&start=0

Rabu, 03 Maret 2010

PHP Obfuscator: Bugs POBS 0.99

Terdapat banyak aplikasi yang dapat digunakan untuk mendeploy program PHP salah satu yang opensource dan terkenal paling ramah adalah POBS - PHP Obfuscator yang dikembangkan oleh Frank Karsten (http://www.walhalla.nl). Untuk sumber aplikasi terbarunya, versi 0.99 yang dirilis Agustus 2003 lalu, dapat didownload pada alamat http://pobs.mywalhalla.net.

Setelah mendownload aplikasi ini dan mencobanya pada program web PHP yang dikembangkan ternyata terdapat beberapa kendala yang ditemui diantaranya :
1. fitur case-sensitive antara PHP dan Javascript belum diperhatikan sepenuhnya walaupun telah menggunakan preg_replace yang peduli dengan case.
2. fitur untuk mengganti nilai parameter yang juga merupakan nama variabel. Contoh :
$nama = ambil('nama');
3. fitur untuk menangani variabel runtime yang dihasilkan melalui fungsi extract dari PHP.

untuk fitur 1 bisa diselesaikan dengan menggunakan perbaikan pada baris berikut ini :
if ( strlen($Key) && strpos(strtolower($contents), strtolower($Key)) !== FALSE ) // to speed up things, check if variable name is, in any way, present in the file

diganti menjadi :

if ( strlen($Key) && strpos($contents, $Key) !== FALSE ) // to speed up things, check if variable name is, in any way, present in the file

untuk fitur ke-2 sedang mencari cara terbaik selain solusi statis yang penulis gunakan untuk pengembangan aplikasi Web PHP ini ;-)

semoga bisa membantu...