Archive for October, 2009

Passing parameters di paging CakePHP

Sekian lama gwa ga sentuh2 CakePHP lagi ternyata sekarang ada kesempatan lagi buat megang CakePHP, ternyata setelah lama ga grepe2 CakePHP banyak codingan dan syntax2 yang gwa lupa dan salah satunya ada passing parameter ketika melakukan paging dan juga melimit jumlah row setiap halamannya.

jadi tanpa banyak cing cong seperti biasanya langsung saja ke codingan aja deh. Ceritanya gwa punya method dalam controller seperti ini.

	function index($id = null) {
		if(!$id) {
			$this->Session->setFlash(__('Invalid Question.', true));
		}
		else {
			$this->set('passedArgs',$id);
			$this->set('questions', $this->paginate(array('group_id' => $id)));
		}
	}

Jadi kalau dilihat dari method tersebut terlihat bahwa gwa mempassing parameter ke dalam method indexnya, dan gwa menggunakan parameter tersebut dalam paging gwa. Oleh karena itu gwa membuat satu variable lagi bernama passedArgs untuk menyimpan parameter yang ingin gwa passing ke dalam url paging nantinya ( dalam hal ini id yang ingin gwa passing ).

Setelah itu akan menambah codingan ke dalam viewnya yaitu

counter(array(
'format' => __('Page %page% of %pages%, showing %current% records out of %count% total, starting on record %start%, ending on %end%', true)
));
$paginator->options(array('url'=>$this->passedArgs));
?>

Jadi kita hanya perlu menambah codingan $paginator->options yang di dalamnya kita letakkan variable yang ingin kita passing. Mungkin pada bingung kenapa gwa harus passing variable itu ke dalam halaman paging, jika anda bingung berarti anda harus belajar banyak lagi :)

Sekalian bonus biar ntar kalo lupa bisa ingat :

	var $paginate = array(
			'limit'	=> 10
		);

Code di atas buat limit jumlah item dalam 1 page, diletakkannya di dalam controller. Semoga membantu :D

Hotlinking protection di web server Apache

Hari ini gwa disibukkan dengan berbagai banyak kerjaan, entah kenapa kalau masuk kantor itu kerjaan tiba-tiba aja datang bertubi-tubi. Tapi kerjaan utama yang gwa lakukan hari ada memproteksi server Bee Watch.

Yah, seperti yang kita ketahui bersama bahwa Bee Watch sangat menjadi incaran untuk di-embed ke web-web marketing kelas teri. Dimana siaran Bee Watch ( TV Online) digunakan sebagai penarik traffic ke website mereka dan di website mereka diletakkan bermacam-macam iklan entah darimana datangnya. Ada yang isinya iklan Joko Susilo lah, ada iklan google adsense la, dan iklan2 norak lainnya. Dan yang paling membuat gw prihatin adalah design website yang sangat kampungan dan acak-acakan ( sory kalo ini gwa ngomong jujur ).

Selama ini gwa telah melakukan berbagai macam proteksi terhadap Bee Watch. Mulai dari proteksi dari FMS nya, random folder tempat simpan playernya , dan yang terakhir memasang firewall. Tapi ternyata memang dasar maling, tetep saja mereka selalu menemukan cara untuk menembus pertahanan yang gwa buat.

Akhirnya gwa memutuskan membuat hotlink protection di web server Apache gwa dengan menggunakan .htaccess. Mungkin ada yang bertanya-tanya sebenarnya apa itu hotlink. Hotlink itu adalah sebuah istilah yang digunakan ketika sebuah website A yang menghosting katakanlah sebuah gambar yang berukuran 100 MB, kemudian secara tiba-tiba ada website B yang meng-link gambar tersebut ke website milik pribadinya untuk kepentingan dia sendiri.

Ketika ada user yang mengakses website B dan menampilkan gambar yang dihosting oleh website A. Tentu saja hal itu merugikan website A dimana bandwidth yang digunakan adalah bandwidth website A, sementara website B cuma menikmati hasilnya tanpa harus kehilangan bandwidth yang berharga.

Hal inilah yang terjadi dengan Bee Watch dimana ada beberapa website yang tidak bertanggung jawab dengan sengaja melakukan embed siaran Bee Watch untuk menarik traffic ke website mereka. Dan setelah googling-googling dan stress selama 1 jam memikirkan bagaimana cara mem-ban website tersebut akhirnya gwa menemukan sebuah fitur dari web apache yaitu disable hotlinking dengan .htaccess.

Jadi konsepnya sangatlah simple dimana dengan menggunakan script .htaccess kita untuk mendisable semua akses ke file-file kita ( contoh : gambar .gif, .jpg, .png atau .swf ) sehingga hanya beberapa url saja yang telah kita allow dapat mengakses file tersebut ( dalam kasus ini gwa hanya mengallow domain binus-access.com dan 202.58.181.204 ).

Jadi step-stepnya kira begini :

  • Generate file .htaccess di web ini
  • Upload file .htaccess ke root webserver kita ( misalnya /var/www ).
  • Testing hotlinking dari lokal

Jika benar maka seharusnya kita tidak dapat mengakses content website kita dari localhost. Kira-kira begitulah salah satu web security yang sangat penting jika kita ingin memproteksi website kita dari tangan-tangan jahil. Selamat mencoba :)

Memories…

Tanpa tersengaja tiba2 foobar di komputer gwa memainkan lagu maroon 5 dengan judul she will be loved, dan entah kenapa setiap gwa mendengar lagu itu gwa selalu teringat akan saat2 gwa berada di dalam mobil saudara gwa dan dalam perjalan pulang ke rumah mereka ketika gwa baru 1 minggu di Jakarta. Yah gwa baru 1 minggu di Jakarta, masih culunnya, masih cupunya, masih manjanya, masib bodohnya, dan masih2 yang lainnya.

Masih teringat jelas di ingatan gwa, posisi dimana gwa duduk dan mendengarkan lagu itu untuk pertama kalinya ( dan mengagumi betapa bagusnya lagunya pada saat itu ). Jika dilihat ke belakang ternyata banyak hal yang sudah terjadi, banyak hal yang sudah berubah, banyak hal yang gwa sesali, banyak hal yang gwa banggakan dan tentu saja banyak hal yang harus gwa kejar lagi.

Terkadang gwa selalu merasa orang yang tidak berguna dibandingkan orang lain, tetapi jika gwa lihat keadaan orang lain yang nasibnya kurang beruntung, tidak punya ruang lagi untuk berkembang dan mengejar kehidupan yang lebih baik maka gwa rasa keadaan gwa sekarang sudah cukup baik. Masih banyak hal yang masih gwa lakukan, gwa capai lagi.

Terkadang juga gwa merasa iri dengan orang lain, yah namanya juga manusia, tapi biasanya itu tidak berlangsung lama karena gwa pernah membaca sebuah artikel yang intinya mengatakan bahwa jika kita iri dengan nasib orang lain berarti bukan salah nasib atau takdir tapi lebih ke usaha kita yang kurang maksimal. Yah mungkin kata2nya ga seperti itu tapi intinya seperti lah… dan kalau dipikir-pikir ada benarnya seperti ketika gwa membaca buku Marketing is BullShit ! dimana ada satu pernyataan bahwa hoki itu ditopang oleh 2 pilar yaitu persiapan dan kesempatan.

Mungkin kita akan berpikir bahwa sebuah persiapan masih bisa kita persiapkan sementara sebuah kesempatan itu tidak bisa kita persiapkan dan kita duga. Yah kalau gwa selalu berpikir jika kita selalu melakukan persiapan pasti kesempatan akan selalu mendekati dan tentu saja hoki pun datang. Kenapa begitu ? anggapannya begini saja… kita pengen jadi seorang freelancer yang sukses tapi kita tidak pernah belajar untuk menjadi seorang freelancer… tidak pernah belajar teknologi baru… tidak pernah berusaha mencari-cari project-project freelance. Pada suatu ketika tiba2 ada teman menawari project dan ternyata kita tidak bisa mengerjakannya karena memang kita tidak ada kemampuan untuk mengerjakan itu maka dengan itu hilanglah kesempatan kita dan tentu saja hoki kita hilang.

Andaikan saja waktu itu kita mempersiapkan diri pasti kita dapat mengambil kesempatan itu dan hoki itu tentu datang. Maka sebenarnya semua itu adalah hal yang saling berkaitan. Jadi sebenarnya kita harus selalu berusaha mempersiapkan diri, mengembangkan diri terus menerus dan belajar terus menerus. Suatu hal yang sangat membosankan dan melelahkan tetapi selalu berakhir manis…

Yah perjalanan hidup masing panjang, masih banyak hal yang bisa diraih, dan tentu saja masih banyak potensi diri yang bisa ditingkatkan :D

Lagi pengen update blog !

Yap, setelah sekian lama ga update blog akhirnya hari ini, malam ini, jam ini, menit ini dan detik ini gwa memutuskan untuk update blog. Setelah melewati satu hari yang lumayan sibuk dan kerjaan yang rasanya ga abis2nya akhirnya gwa bisa meluangkan waktu untuk update blog ( sebelum memulai pekerjaan lagi tentunya ).

Dengan ditemani oleh biskuit Good Time yang udah nangkring di sebelah keyboard gwa ( yang entah sudah dari kapan dibeli tapi ga pernah dimakan ) mulailah gwa bercerita tidak jelas ( biar kesannya ga kosong aja dan ga up to date ini blog ). Sebenarnya dari kemarin-kemarin gwa sudah pengen update blog, dari mulai cerita-cerita liburan pas lebaran kemarin yang mengesankan, dimana gwa ketemu temen lama yang diduga dan yang tak terduga ( ketemu aja tiba2 ). Selain itu juga dapat beberapa pelajaran tentang kehidupan juga ( bahasa lebaynya ). Yang penting intinya gwa ternyata banyak belajar dari liburan gwa yang kemarin ( tapi kebanyakan udah lupa sih, lupa di dokumentasikan dalam blog sih hix ).

Padahal liburan kemarin gwa sudah merencanakan untuk meningkatkan skill gwa ( belajar drupal, blueprint, cakephp dan symfony ). Hohohoho tapi apa daya, ternyata makanan, jalan2, tua kang ( bahasanya ii gwa ), bantuin nyokap, jaga toko, jalan2 ke rumah saudara, dan yang paling utama adalah membantu pernikahan cc gwa lebih menarik untuk dikerjakan. Yah, karena alasan kenapa gwa akhirnya pulang pas lebaran dimana harga tiket sedang mahal2nya adalah karena cc gwa married tanggal 26 september 2009 ( selamat cc, i am happy for you dah ! moga2 ga suka marah2 lagi, tapi itu keknya suatu mukjizat ).

Setelah melewati 10 hari liburan di pekanbaru dengan tidak adanya pertambahan skill apa2 ( kecuali dengan adanya motivasi yang gwa rasakan sekarang sudah memudar ) akhirnya gwa kembali ke Jakarta, melewati hari-hari yang penuh tantangan lagi dan penuh kejutan karena ternyata pada hari seninnya gwa diharuskan mentraining orang dengan tidak adanya persiapan apa pun ( untuk ada cc lenny yang siap membantu, sujud2 dah ) dan ketika trainingnya kelar ternyata gwa musti harus pergi ke bandung hari jumat malamnya ( untung gwa cuma training hari Kamis aja jadi hari jumatnya ga gitu capek ).

Jadi jumat malamnya dengan semangat 45 pun gwa berangkat ke bandung ( biarpun hujan menerpa dan pilek melanda ). Malamnya gwa nginap di kos temen gwa ( abang Jasri, wah terima kasih atas tumpangannya abang Jasri ). Tapi ternyata ada yang berbeda dengan sosok abang Jasri sekarang yaitu ternyata sekarang dia merokok dan yang paling mengejutkan adalah TATOOOO !!!! Beh, kalo gwa mah masih pikir 3000x kali untuk punya tato tapi memang masing-masing manusia punya jalan dan nasib sendiri2.

Besoknya, setelah menghabiskan 1 malam berbincang-bincang dengan abang jasri gwa pun berangkat untuk ikut DISC 2009. Keseluruhan acara sih cuma dengerin seminar dan gwa diharuskan mempresentasikan skripsi gwa selama 7 menit… yah 7 menit untuk datang jauh2 dari bandung… tapi lumayan juga gwa dapat flash disk 2 GB gratis hohohoho dan tentu saja cuci mata melihat ce2 bandung… slurp…

Balik dari bandung ternyata kerjaan gwa belum habis dimana gwa harus menyelesaikan website untuk marketing binus dan juga website dikti yang tidak pernah kelar-kelar. Jadi sekarang tugas gwa minggu ini adalah cuma 2 itu, walaupun ternyata masih banyak kerjaan lagi antara lain :

  • Ngurusin IndoKaya
  • Bantuin webnya Agus dan Bahut
  • Ngupdate web team-cars
  • Tentu saja selesaikan web dikti dan web marketing

Diantara itu semua masih ada seminar dan mungkin workshop blackberry minggu depan + ada project baru. Keknya gwa bulan ini harus bekerja sangat keras dan kurangi waktu tidur + nonton Tom and Jerry. Jadi buat Tom and Jerry ku tunggu sebentar ya, gwa mo selesain kerjaan dulu hix.