–Zend Framework– Send mail without setting your own mail server
Jika kita diminta untuk membuat aplikasi yang di dalamnya ada urusannya dengan kirim mengirim email, tapi ceritanya kita tak punya mail server, atau kita tak mau berpusing2 mikirin setting mail server, kita bisa menggunakan alternatif cara ini. Di Zend Framework, kita bisa memakai Zend_Mail_Transport_Smtp library, dan memanfaatkan smtp server yang sudah dipercaya, seperti punya Gmail misalnya. Yang perlu kita punya hanyalah account di Web Mail kepercayaan kita itu, dan kita tahu network protokol dan port-nya. Setelah itu, kita aktifkan openssl di php.ini kita, uncomment extension=php_openssl.dll . Kalau sudah, langsung deh kita coba :
<?php //isi port dengan port smtp , username & password dengan username&password account kita $config = array('ssl' => 'tls','port' => 587, 'auth' => 'login', 'username' => 'usernameaccountkita', 'password' => 'passwordaccountkita'); $transport = new Zend_Mail_Transport_Smtp("smtp.gmail.com", $config); $mail=new Zend_Mail(); //isi content email... $mail->setBodyText("Hai...., ini test kirim email dengan Zend Framework"); //isi pengirim... $mail->setFrom("kamu@domainkamu.com","NamaKamu(Bisa dikosongkan)"); //isi tujuan... $mail->addTo("emailtujuan@domain.com","NamaTujuan(Bisa dikosongkan)"); //isi subject $mail->setSubject("Test Kirim email dengan Zend Framework"); //kirim... $mail->send($transport); ?>
backup and restore di mysql via command line
Karena keterbatasan phpmyadmin dalam mengeksekusi stored procedure , view, dan trigger, maka kita bisa menggunakan cara lama, yaitu via command line, he.he..
Untuk Linux(dengan web container lampp, kita harus setting dulu, bisa ditambahkan di rc.local )
mkdir /var/run/mysqld
ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
mkdir /var/lib/mysql
ln -s /opt/lampp/var/mysql/mysql.sock /var/lib/mysql/mysql.sock
Untuk mysqldump :
a. di windows :
b. di Linux
Untuk restore :
a. di windows :
b. di Linux:
Menangani blank screen pada saat switch user (Jaunty – ubuntu 9.04)
Fyuh…, ternyata permasalahan bukan cuma display, sound, dan wifi. Kemarin pada saat saya coba untuk switch user, eh.., ternyata malah jadi blank screen. Akhirnya harus secara paksa dimatiin tuh kompie, hua..hua….. Setelah mencari berhari2, akhirnya saya menemukan solusinya di web : https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/112518 .
Solusinya begini :
1. Ubah konfigurasi /etc/X11/xorg.conf dengan menambahkan :
Load “extmod”
SubSection “extmod”
Option “omit sync”
EndSubSection
2. Restart configurasinya : sudo dpkg-reconfigure -phigh xserver-xorg
——
Sekarang, coba switch user 🙂
Menangani desktop Effect yg ga jalan pada Ubuntu 9.04
Ternyata, the newer is not always better ya, kadang ada berbagai kendala yang justru itu akan merepotkan kita. Contohnya, lagi-lagi pada saat saya install ubuntu 9.04, desktop effect ga mau jalan, pada saat saya mengganti visual effect ke extra, malah ada peringatan, desktop effect could not be enabled. Setelah cari-cari jalan seharian di google, saya menemukan caranya , yaitu dengan menulis sebuah file di dalam $HOME/.config/compiz bernama compiz-manager, caranya tinggal ketikkan perintah seperti berikut :
root@samsonasik-laptop:~# mkdir -p $HOME/.config/compiz && echo SKIP_CHECKS=yes >> $HOME/.config/compiz/compiz-manager
Kenapa harus relax ?
Bagi professional muda yang hidupnya dinamis, tentulah terbiasa dengan tantangan, apalagi yang bekerja di perusahaan swasta, tentulah terbiasa dengan DEADLINE serta segala sesuatu yang suddenly datang menghadang :), Hm.., apa yang terjadi ketika ada perintah untuk menyelesaikan pekerjaan mendadak dan harus beres dalam waktu yang relative singkat ?
He.he.., yang terjadi adalah kita jadi tergesa-gesa, dan apa hasilnya, konsentrasi jadi buyar, kesalahan terjadi di mana-mana. Kenapa ? karena disitulah pintu masuk SETAN.
Semua perbuatan itu harus diniatkan ibadah, dan tentu saja dengan ketenangan, sehingga mata hati terbuka, jika tidak,maka SETAN akan mudah masuk, dan buyarlah semuanya. Maka dari itu, niat ibadah dan ketenangan hati adalah kuncinya,
Bukankah Rasululloh pernah bersabda :
“Tergesa-gesa termasuk perbuatan setan dan hati-hati adalah dari Allah SWT.”
Dalam menghadapi masalah/target/deadline (atau apalah itu) , kita harus tenang, kalem, dan jangan panik :d ( Niru kata bos saya dulu) , karena jika kita panik, pikiran jadi pendek, dan hal-hal yang mungkin keliru peluangnya akan sangat besar terjadi,
Jadi ? harus relax di semua keadaan.
semoga bisa menjadi renungan buat semuanya (termasuk saya yang kadang2 juga sering riweuh sendiri 🙂 )
Library ORM dari KohanaPHP (Framework 2)
Ini adalah framework no 2 yang ingin saya bahas dalam blog saya. Kohana merupakan turunan dari CodeIgniter, jadi untuk pembahasan MVC -nya tentu tidak perlu dibahas lagi.
Kalau di CodeIgniter, kita harus mendownload library lain untuk fungsi ORM, maka di Kohana sudah disediakan.
Contoh, kita punya table2 yang saling berhubungan sebagai berikut :
Dibutuhkan program untuk menampilkan seperti ini misalnya :
Kalau kita mengandalkan query , tentu terbayang query yang rumit2, hm…, tp dengan ORM, kita bisa menyederhanakannya.
kita tinggal buat 4 kelas Model yang merepresentasikan 4 table di atas :
//barang.php class Barang_Model extends ORM{ protected $has_many = array('details'); }
——————–
//orang.php class Orang_Model extends ORM{ protected $has_many = array('transacts'); }
——————-
//transact.php class Transact_Model extends ORM{ protected $belongs_to = array('orang'); }
——————–
//detail.php class Detail_Model extends ORM{ protected $belongs_to = array('barang', 'orang'); }
——————-
Untuk Controllernya :
........................... $transact = ORM::factory('transact')->find_all(); $data = array(); $data['transact'] = $transact; $arrayorangpertanggal = array(); $arraytanggalperorang = array(); $idpertanggal = array(); $i = -1; $tgl = ""; foreach($transact as $key=>$val) { if($tgl==$val->tgl) { $i++; }else{ $i=0; $arraytanggalperorang[] = $val->tgl; } $tgl = $val->tgl; $arrayorangpertanggal[$val->tgl][$i] = $val->orang_id; $idpertanggal[$val->tgl][$i]['id_transact'] = $val->id; $idpertanggal[$val->tgl][$i]['id_orang'] = $val->orang_id; } $data['arrayorangpertanggal'] = $arrayorangpertanggal; $data['arraytanggalperorang'] = $arraytanggalperorang; $data['idpertanggal'] = $idpertanggal; $view = new View('test_orm_view'); $view->dataTransact = $data; $view->render(TRUE); ...........................
—————-
Nah, untuk view-nya :
<table border=1> <tr> <td>Tanggal transaksi</td> <td>Pembeli</td> </tr> <?php foreach($dataTransact['arraytanggalperorang'] as $key=>$val) { ?> <tr> <td valign="top"><?=$val?></td> <td valign="top"> <ul><?php sort($dataTransact['arrayorangpertanggal'][$val]); ?> <?php foreach($dataTransact['arrayorangpertanggal'][$val] as $key2=>$val2){ ?> <?php $objOrang = ORM::factory('orang', $val2) ?> <li><?=$objOrang->nama_orang?></li> <ul> <li type="square">Barang Yang Dibeli</li> <hr></ul> <ul> <?php foreach($dataTransact['idpertanggal'][$val] as $key3=>$val3){ ?> <?php if ($val3['id_orang']==$objOrang->id){ ?> <?php $objDetail = ORM::factory('detail')->find_all(); foreach($objDetail as $detail) { if ($detail->transact_id == $val3['id_transact']){ ?> <blockquote> <li type="circle"> <?php $b = ORM::factory('barang', $detail->barang_id); ?> <?php echo $b->nama_brg; ?></li> </blockquote> <? } } ?> <?php } ?> <?php } ?></ul> <?php ?> <?php } ?></ul> </td> </tr> <?php } ?></table>
——————————-
Selesai deh, selamat mencoba 🙂
Tentang Kesombongan
Abul Laits Assamarqandi meriwayatkan dengan sanadnya dari Ka’bul Ahbar berkata: “Orang yang sombong itu akan datang pada hari kiamat berupa orang sekecil semut diliputi oleh kehinaan dari segala tempat, mereka masuk neraka dan diberi minum dari thinatul khabaal, yakni darah bercampur nanah dari ahli neraka.”
(more…)
Javascript cek TextField Numeric
Code: |
<script> //cek numeric : http://codingforums.com/archive/index.php?t-75239.html function valid(f) { var re = /^[0-9]*$/; if (!re.test(f.value)) { f.value = f.value.replace(/[^0-9]/g,””); } } </script> |
<input type=”text” name=”no_hp” id=”no_hp” maxlength=”20″ onkeyup=”valid(this)“>
—————–
atau pakai yang ini 🙂
Code: |
<script> function jsOnlyNumber(evn) { var keynum; var validKeyCode = new Array(8,9,13,16,17,18 ,27,32,35,36,37,38,39,40,46, 48,49,50,51,52,53,54,55,56,57, 96,97,98,99,100,101,102,103,104,105);if (evn.shiftKey == 1) { return false; } if (window.event) { keynum = evn.keyCode } //IE euy if (arguments.length > 1) { for (var i=0; i< validKeyCode.length; i++) { return false; |
<input type=”text” name=”no_hp” id=”no_hp” maxlength=”20″ onkeydown=”return jsOnlyNumber(event)”>
Modul VB
modul1_vb.pdf
modul2_vb.pdf
File Lengkap dapat didownload di http://samsonasik.phpnet.us
Setting path Sql server minimize
sering kita terjebak pada sql server yang belum enterprise, dalam artian masih personal edition, nah, cara supaya sql server kita bisa diremote oleh komputerlain dalam satu jaringan, kita perlu setting path-nya, caranya, di komputer server, start–>all programs–>microsoft Sql server–>Client Network Utility–>alias–>add–>server alias (nama komputer server), server name(nama komputer server), pipe name(\\nama komputer server\pipe\sql\query
sekarang, remote dari komputer tersebut, selamat mencoba.
4 comments