S0t4's Blog

Hanya Catatan dan Mencoba Untuk Berbagi

Saturday, December 24, 2011

Tambahkan Autocomplete Address di Squirrelmail

  Blogger Sejati       Saturday, December 24, 2011
Berikut langkah-langkah modifikasi compose email biar bisa menampilkan autocomplete berdasarkan address yang telah diinput ke database Mysql..(Untuk buat simpan address ke database Mysql bisa dibaca pada artikel sebelumnya)..

Ini karena plugins autocomplete yang di squirrelmail yang aku coba tidak mau jalan di squirrelmail 1.4.22...

Squirrelmail ini aku modifikasi sendiri dengan menggunakan script yang sudah ada (pakai actb popup yang maknyos) ke squirrelmail. Jadinya jangan protes kalau modifikasinya nanti sangat manual... tapi hasilnya maknyos....

Kalau nanti ada rekan-rekan yang bisa buat plugins-nya mohon dishare ya....


Screenshot :


Langkah :

1. Copy file javascript berikut ke folder functions dari folder squirrelmail . download disini

2. Modifikasi file functions/page_header.php

Tambahkan baris berikut :
---------------------------------------------
echo '<script type="text/javascript" language="JavaScript" src="actb.js"></script>'. "\n";
echo '<script type="text/javascript" language="JavaScript" src="common.js"></script>'."\n";
---------------------------------------------

3. Modifikasi functions/forms.php
Cari function addInputField

dibawah ($name !== null ? ' name="'.htmlspecialchars($name).'"' : '') .

tambahkan ($name !== null ? ' id="'.htmlspecialchars($name).'"' : '') .

Tujuannya agar name dan id dari field sama namanya..... karena saat popup address digunakan getElementById

tapi bisa juga tidak dimodifikasi , tapi nanti ganti getelemetById pakai getElemetByName..


4. Modifikasi file src/compose.php

Tambahkan baris berikut di dalam function showInputForm :


4.1. Tambahkan script koneksi ke database address squirrelmail yang sudah dibuat sebelumnya.

Asumsi koneksi mysql :
host =localhost
username=root
password=tanpa password
database=squirrelmail
tabel=address

---------------------------------------
if (mysql_connect("localhost","root","")) {
$connect=mysql_select_db("squirrelmail");
if (! $connect) { break; }
} else { break; }
mysql_close();
---------------------------------------


4.2. Tambahkan dibawahnya script popup address :

--------------------------------------------
$qlist=mysql_query("SELECT * FROM address WHERE owner='$username' ORDER BY email");
$listpopup='';
while ($listemail=mysql_fetch_array($qlist)) {
$listpopup .=" ' \"$listemail[firstname] $listemail[lastname]\"<".$listemail["email"]."> ', ";
}
$listpopup=substr($listpopup,0,strlen($listpopup)-1);

echo "\n". '<script>'."\n<!--\n" .
"var customarray = new Array($listpopup);" . "\n" .
"var obj = actb(document.getElementById(' "."send_to"." '),customarray);" ."\n" .
"// -->\n</script>\n\n";
echo "\n". '<script>'."\n<!--\n" .
"var customarray = new Array($listpopup);" . "\n" .
"var obj = actb(document.getElementById(' "."send_to_cc"." '),customarray);" ."\n" .
"// -->\n</script>\n\n";
echo "\n". '<script>'."\n<!--\n" .
"var customarray = new Array($listpopup);" . "\n" .
"var obj = actb(document.getElementById(' "."send_to_bcc"." '),customarray);" ."\n" .
"// -->\n</script>\n\n";
-----------------------------------------------

logoblog

Thanks for reading Tambahkan Autocomplete Address di Squirrelmail

Previous
« Prev Post

No comments: