Generator RSS menggunakan Codeigniter

Tadi kepikiran untuk menambahkan fitur RSS pada website yang baru saja dibuat yaitu Loker Greatnesia. Awalnya ingin mencari library yang bisa digabungkan dengan codeigniter saja biar lebih gampang. Setelah browsing beberapa tutorial, ternyata tidak terlalu sulit, akhirnya diputuskanlah untuk buat sendiri saja. Tutorial yang saya jadikan patokan dapat dilihat di web ini : Build a RSS 2.0 feed with CodeIgniter?.

Setelah selesai, saya coba validasi dengan menggunakan w3c validator. Ternyata hasil tutorial diatas tidak lulus validasi di w3c. Ada 3 kesalahan validasi yang muncul. Namun setelah mengikuti saran yang diberikan di validator tersebut, berhasil juga menjadi valid. Bagi yang butuh contoh yang sudah saya buat sila cek di github.

Integrasi CodeIgniter dan phpBB

Long time no posting. Kali ini masih seputar codeigniter. Ide awalnya ingin menambahkan fitur forum di Portal Ripiu. Karena tidak ingin pusing dan ribet kalau harus dibangun dari awal, jatuhlah pilihan untuk menggunakan open source.

Pilihan pertama jatuh kepada SMF (simple machine forum). Alasannya karena tertarik dengan namanya (simple gitu loh :d ) . Setelah dibaca – baca instruksi, dan dengan modal nekat dicoba melakukan integrasi. Kendala pertama yang dihadapi, so pasti masalah account. Keinginannya adalah account yang sudah terdaftar di ripiu agar tidak perlu lagi mendaftar di forum nantinya. Dengan bantuan om google ditemukanlah SMF API. Tapi sayang sekali, API yang begitu bagus, tidak disertakan dengan dokumentasi cara pemakaiaanya dan tidak ada sedikit contoh pun yang disertakan. Walhasil, gatot alias gagal total. Cari – cari di forum codeigniter pun, ternyata memang belum ada yang buat SMF library untuk codeigniter. Ya sudahlah!

Baca lebih lanjut

Base URL Codeigniter

Beberapa bulan terakhir ini, lagi asyik – asyik nya buat ngutak – ngatik framework Codeigniter. Selain dikarenakan oleh tuntutan pekerjaan, framework ini ternyata sangat simple dan enak untuk dipelajari, bahkan bagi yang belum terbiasa menggunakan framework sekalipun.

Satu hal yang menjadi kewajiban ketika kita hendak menggunakan framework ini, adalah dengan menyesuaikan setingan standar terhadap lingkungan server yang kita gunakan. Meskipun hal tersebut sebenarnya bukanlah sebuah masalah, namun agak sedikit merepotkan, terutama bagi saya yang harus mengubah setingan tersebut ketika si aplikasi akan dipindah tempatkan ke live server.

Dalam setingan config file tersebut, ternyata ada beberapa setingan yang bisa dibuat otomatisasi, sehingga kita tidak perlu lagi mengubahnya ketika berpindah server. Salah satunya adalah settingan base_url. Hal ini saya dapatkan dari milis codeigniter indonesia (Thanks to mas Jogi atas ilmunya).

Jika biasanya kita harus mengganti base_url tersebut setiap kali lingkungan servernya berubah. Maka kali ini tidak perlu. Cukup dengan mengganti script pada baris config[‘base_url’] dengan perintah berikut :

[php]
$config[‘base_url’] = ((isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] == "on" ) ? "https" : "http" );
$config[‘base_url’] .= "://".$_SERVER[‘HTTP_HOST’];
$config[‘base_url’] .= str_replace(basename($_SERVER[‘SCRIPT_NAME’]),"",$_SERVER[‘SCRIPT_NAME’]);
[/php]

Semoga Bermanfaat !

Transparansi image png Codeigniter

Mudah-mudahan tidak banyak yang mengalami kejengkelan yang serupa dengan masalah ini . Bagi yang pernah mengalami pasti sudah mengetahui maksud judul tulisan diatas. 😀

Ya, benar sekali, jika saudara – saudari sekalian menggunakan class image_lib yang disertakan oleh framework codeigniter, akan besar kemungkinan untuk mendapati bahwa jika kita melakukan resizing (perubahan ukuran) terhadap file gambar dengan extensi png, file yang diresize akan berubah transparan nya menjadi warna hitam (tidak transparan lagi). Setelah mencoba menelurusi permasalahan tersebut dengan bantuan mbah google, didapati bahwa permasalahan tersebut lebih besar dikarenakan oleh library dari php nya sendiri, bukan dari codeigniternya.

Untuk mengatasi permasalahan tersebut, terdapat sebuah cara yang cukup simple agar kita tetap dapat menikmati transparansi dari file png setelah dilakukan resizing. Berikut langkah yang dapat diikuti :

  • Cari file Image_lib.php yang terdapat dalam folder system/libraries.
  • Untuk lebih amannya backup file tersebut terlebih dahulu sebelum diutak atik.
  • Cari baris perintah berikut (dalam CI versi 1.7.2 berada di baris 515) :
    [php]$dst_img = $create($this->width, $this->height);[/php]
  • Tambahkan code dibawah ini setelah baris perintah diatas :
    [php] $transparent_index = imagecolortransparent($src_img);
    imagepalettecopy($src_img, $dst_img);
    imagefill($dst_img, 0, 0, $transparent_index);
    imagecolortransparent($dst_img, $transparent_index);
    imagetruecolortopalette($dst_img, true, 256); [/php]

  • Simpan file tersebut, dan lakukan pengetesan resizing terhadap file png.

Semoga Bermanfaat.

Cronjob controller codeigniter di cpanel

Ketika sedang asik melakukan tambal pada sistem ripiu, terbesit ide yang membutuhkan cronjob pada fitur tertentu. Pada awalnya masih cuek bebek untuk larut dalam menyelesaikan codingannya. Setelah beres barulah ketemu masalahnya :D. Cronjob untuk menjalankan controller di codeigniter gimana yah ?. Masalahnya cronjob hanya mengeksekusi sebuah file, sedangkan sebuah controller di codeigniter akan turut serta dan memerlukan file lain agar si controller tersebut berjalan dengan sempurna. Nah lo !.

Setelah nanya sama mbah gugel, akhirnya diberi wangsit untuk mendownload file ini. Upload file tersebut diserver hosting anda. Edit file tersebut pada baris ke 24 :
ubah agar sesuai dengan tempat dimana file index.php si codeigniter kita diletakkan. Kurang lebih hasilnya seperti ini :
[php]
define(‘CRON_CI_INDEX’, ‘/home/abcd/public_html/xyz/index.php’); // Your CodeIgniter main index.php file
[/php]
abcd adalah merupakan username untuk login ke cpanel.
sedangkan xyz merupakan folder tempat codeigniter bermukim.

setelah di edit. ganti permision file tersebut dengan a+x
[php]
chmod a+x cron.php
[/php]

Lalu tambahkan sebuah cronjob untuk menjalankan file cron tersebut
[php]
php -q /home/abcd/public_html/xyz/cron.php –run=/backup/daily
[/php]
backup merupakan nama controller yang ingin dijalankan.
sedangkan daily merupakan mehodnya.

Tunggu deh hasilnya 😀