[PHP] Smiley Table Generator

[PHP] Smiley Table Generator

Karena begitu banyak teman-teman yang ingin saya (drubicza, -red) untuk menuliskan source code dari koleksi smiley saya, maka sesuai dengan janji saya tersebut, saya akan menuliskan semua source code yang saya gunakan :) Saya harap bisa berguna untuk teman-teman yang sangat membutuhkan :D

Oh iya, sebelum saya menulis nya, mohon perhatikan himbauan dan persetujuan berikut ini :

  1. Servis semacam ini akan SANGAT memakan resource CPU dan Bandwith, jadi sebelum Anda memasang script ini dan semua koleksi yang Anda punya, pertimbangkan lebih matang.
  2. Script ini belum dinyatakan sebagai final release atau pun stable, karena masih sederhana, siapa pun boleh mengembangkannya di bawah lisensi GPL v2 :)
  3. Bagi Anda yang berniat untuk meng-upload dalam server shared hosting, kami tidak bertanggung jawab atas semua hal yang menyebabkan account Anda tersuspend :)

Sekarang ada beberapa files yang harus Anda persiapkan sebelum membuat script ini berjalan dengan sempurna. Pertama, buat file dot.js yang berisi sebagai berikut :

function cpy(field) {
    var host = window.location.host; // get host
	var protocol = window.location.protocol;
	var pathname = window.location.pathname;
	var url = protocol + "//" + host + pathname + field, o;

    o = document.getElementById('imgcode');
	o.value='[URL=http://www.yourdomain.com][IMG]' + url + '[/IMG][/URL]';
	o = document.getElementById('dlcode');
	o.value = url;

	url = '<a href="http://www.yourdomain.com"><img src="' + url + '"  border="0"></a>';
	o = document.getElementById('bbcode');
	o.value = url;
	hl(o);
	kopi(o);
}

function kopi(ini){
//swf autocopier
    var urlSwf = "http:// ' + host + ' /_clipboard.swf"; //
    // Copy the text inside the text box to the user's clipboard
    var flashcopier = 'flashcopier';
    var divholder = document.createElement('div');
    divholder.id = flashcopier;
    document.body.appendChild(divholder);

    divholder.innerHTML = '';
    var divinfo = '<embed src="' + urlSwf + '" FlashVars="clipboard='+escape(ini.value)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    divholder.innerHTML = divinfo;
    hl(ini);
	window.status = 'Copied text to clipboard';
    return false;

}

Pada bagian www.yourdomain.com, silakan ganti dengan URL Anda. Dan sekarang buat file style.css, fungsinya untuk memperindah ajah, tanpa ini pun ga masalah kok, tapi keliatannya kurang sempurna gitu :p

table {
 background: #cccccc;
}
th {
 background: #ddeeff;
 line-height: 200%;
 font-size: 10pt;
}
td {
 background: #ffffff;
}
body,input {
 background: #ffffff;
 font-family: verdana,arial,helvetica;
 font-size: 8pt;
}
.ttxt {
 border: 1px solid #cccccc;
 background: #ffffff;
 text-align: center;
 font-weight: bold;
 font-size: 8pt;
 color: #3399ff;
}

Setelah dua file di atas selesai, sekarang mari kita masuk ke bagian inti dari generatornya B-) Nah, sebelum saya memberikan inti dari generator tersebut, ada baiknya saya memberikan flow-chart sederhana mengenai cara kerja dari script ini. Silakan lihat flow-chartnya di bawah ini :

Legend :
/ = root

Flow-Chart :
/dot.js
/style.css
/main/index.php
/main/smiley

Di atas adalah sedikit gambaran mengenai peletakkan script dan file pendukung generator smiley. Sekarang saya akan memberikan inti dari generator tersebut yang saya beri nama index.php.

<?php
/*
+ ----------------------------------------------------------------------------+
|     Smiley Table Generator
|
|     ©drubicza [k] 2007-2008
|     http://www.xtremenitro.org
|     drubicza@xtremenitro.org
|
|     Released under the terms and conditions of the
|     GNU General Public License (http://gnu.org).
|
|     $Source: /src/www/xtremenitro/org/mega/,v $
|     $Revision: 1.1 $
|     $Date: 2008/08/25 04:20:28 $
|     $Author: NitrouZ $
+----------------------------------------------------------------------------+
*/

function show_smiley() {
	if (function_exists('glob')) {
		foreach (glob("*") as $path) {
			if (is_dir($path)) {
				echo "<table align=\"center\" cellspacing=\"1\" cellpadding=\"0\">\n<tr>\n";
				// header bagian atas - begin
				echo "<th colspan=\"10\" align=\"center\">Smiley Table</th>\n";
				// header bagian bawah - end
				echo "</tr>\n<tr>\n";
				$i = 1;
				foreach (glob($path . "/*.gif") as $file) {
					echo "<td><input type=\"image\" src=\"" . $file;
					echo "\" onclick=\"javascript:cpy('" . $file . "')\"></td>\n";
					if (($i % 9) == 0) { echo "</tr>\n<tr>\n"; }
					$i++;
				}
				$k = 11 - ($i % 9);
				if ($k > 0) { echo "<td colspan=\"" . $k . "\">&nbsp;</td>\n"; }
				// footer bagian bawah - begin
				echo "<tr><th colspan=\"10\" align=\"center\"><a href='http://www.xtremenitro.org/page9.html' target='_blank'>Smiley List & Guide</a> | <a href='http://www.xtremenitro.org/ascii' target='_blank'>ASCII Generator</a> | <a href='http://www.mail.xtremenitro.org' target='_blank'>Anonymous Mail Sender</a> | <a href='http://www.tv.xtremenitro.org' target='_blank'>TV Online</a></th></tr>\n</tr>\n";
				// footer bagian bawah - end
				echo "</tr>\n</table>\n<br>\n";
			}
			clearstatcache();
		}
	} else {
		echo "<p>PHP 4 Detected ! Upgrade to PHP5 can solve this problem !</p>";
	}
}
?>
<html>
<script language="JavaScript">
function hl(anu){
 anu.focus();
 anu.select();
}
</script>
<head>
	<link rel='stylesheet' href='../style.css' type='text/css' media='all' />
	<script language="JavaScript" src="../dot.js"></script>
</head>
<body>
<table width="600" border="0" cellspacing="0" cellpadding="0"><form name="linky">
  <tr>
    <th scope="col" width="200" height="19">HTML Code</th>
    <td width="400"><input type="text" size="75" name="bbcode" id="bbcode" class="ttxt" readonly onfocus="javascript:kopi(this)"></td>
  </tr>
  <tr>
    <th scope="row" width="200" height="19">IMG Code</th>
    <td width="400"><input type="text" size="75" name="bbcode" id="imgcode" class="ttxt" readonly onfocus="javascript:kopi(this)"></td>
  </tr>
  <tr>
    <th scope="row" width="200" height="19">Direct Link</th>
    <td width="400"><input type="text" size="75" name="bbcode" id="dlcode" class="ttxt" readonly onfocus="javascript:kopi(this)"></td>
  </tr>
</form></table>
<? show_smiley(); ?>
</body>
</html>

Setelah selesai, sekarang upload file-file ber-ekstensi *.GIF ke dalam directory smiley. (Lihat pada flow-chart di atas.) Setelah itu, sekarang coba jalankan file index.php yang ada pada /main/. Selamat mencoba :)

Note :
1 Bagi Anda yang tidak ingin account Anda ter-suspend akibat load yang berlebih, Anda cukup melakukan cara sebagai berikut. Buka smiley yang Anda suka dalam mirror IX atau IIX, lalu simpan halaman inti (tidak perlu files lainnya). Yang penting dapat halaman simpannya dan dapat URL-nya.

Setelah mendapat URL nya, Anda tinggal menghapus index.php dalam folder /main/ lalu menggantinya dengan file hasil penyimpanan tadi. Setelah itu, Anda tinggal memainkan backlink yang ada pada dot.js. Dengan begitu, Anda pun tidak akan menguras bandwith dan smiley tersebut langsung dari server saya (SMS Premium Mode ON)

tabs-top
bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark
tabs-top

20 Comments »

  1. avatar
    15:52:35 - December 13th, 2008: #1
    bagonk12 says:

    om klo di taruh di joomla bisa ngga

    comment-bottom
  2. avatar
    07:36:27 - December 14th, 2008: #2
    NitrouZ says:

    #1,
    bisa aja mau ditaruh di mana yang penting hasil mod nya jadi, gitu aja intinya :))

    comment-bottom
  3. avatar
    02:07:43 - December 24th, 2008: #3
    barra says:

    thankz om

    comment-bottom
  4. avatar
    03:09:15 - December 25th, 2008: #4
    redcap says:

    mas NitrouZ , ijin pake script dan grab smileynya ya :D , mo coba modif scriptnya , belum sempet :D

    comment-bottom
  5. avatar
    08:33:04 - December 25th, 2008: #5
    NitrouZ says:

    #3 & #4,
    silakan digunakan :)

    comment-bottom
  6. avatar
    11:13:13 - December 28th, 2008: #6
    newbie says:

    thanks for share bro :D
    ada yg eror nih
    pas smiley nya di klik linknya ngaco bro
    masa jadi kyk gini
    http://domainsaya.com/main/index.phpsmiley/1.gif

    harusnya kan
    http://domainsaya.com/main/smiley/1.gif

    kira² saya salah di mana ya bro?
    thanks bipor :)

    comment-bottom
  7. avatar
    17:05:23 - December 28th, 2008: #7
    NitrouZ says:

    #6,
    Posisi peletakan smileynya sudah benar bro ? Path nya sudah benar ? Kalau domainnya private, silakan mail ke saya aja :) Saya coba lihat bagian mana yang salah. :)

    comment-bottom
  8. avatar
    01:29:35 - January 6th, 2009: #8
    Xrvel says:

    Manjur markotop bro.

    comment-bottom
  9. avatar
    11:01:30 - February 22nd, 2009: #9
    wannabe says:

    Mas saya sudah coba… pas awalnya bisa muncul satu hari… tapi pas besoknya saya pake lagi kok gak nongol yah…. blank aja gitu, apa ada masalah chmodnya? atau masalah hosting saya

    comment-bottom
  10. avatar
    11:20:09 - February 22nd, 2009: #10
    NitrouZ says:

    #9,
    bisa lihat url nya ?

    comment-bottom
  11. avatar
    11:24:13 - February 22nd, 2009: #11
  12. avatar
    11:32:17 - February 22nd, 2009: #12
    NitrouZ says:

    #11,
    semua normal dan berjalan sesuai script yang ada kok. yg error di mana yah ?

    comment-bottom
  13. avatar
    11:34:10 - February 22nd, 2009: #13
    wannabe says:

    saya pasang di comment maaf (berkawan.us) dan forumnya juga tapi gak nongol gambarnya… Tapi klo saya pake smile lain dari web lain maksudnya bisa nongol

    comment-bottom
  14. avatar
    11:36:35 - February 22nd, 2009: #14
    NitrouZ says:

    #13,
    engine forumnya pakai apa ? tergantung dari enginenya, kalau support BBCode yang [IMG] ya pakai yang IMG :) silakan disesuaikan saja atau tambahkan beberapa baris code pada halaman smiley nya :)

    mungkin tidak support BBCode ?

    comment-bottom
  15. avatar
    11:39:38 - February 22nd, 2009: #15
    wannabe says:

    Ohhh pak baru kelihatan nih errornya dilinknya…. kan saya taruh gambar di folder smiley…. tapi kok linknya jadi index.phpsmiley itu error darimana yah?

    comment-bottom
  16. avatar
    11:42:03 - February 22nd, 2009: #16
    NitrouZ says:

    coba buka pakai link ini :
    http://qranne.110mb.com/smile/baby/

    comment-bottom
  17. avatar
    11:43:36 - February 22nd, 2009: #17
    wannabe says:

    Ohhh saya ngerti pak…. itu kesalahannya karena saya linkkan dibuat komplit index.php harusnya saya kasih linknya seperti ini http://qranne.110mb.com/smile/baby/
    jadi foldernya tidak berubah jadi index.phpsmiley….. klo saya kasih http://qranne.110mb.com/smile/baby/index.php maka pada saat generated folder smiley terbaca menjadi index.phpsmiley ….. kira2 ada cara buat tutup ini gak? supaya baby/ atau baby/index.php tergenerated hasilnya sama

    comment-bottom
  18. avatar
    11:46:18 - February 22nd, 2009: #18
    wannabe says:

    Terima Kasih pak…. sekalian mau tanya klo mo request dimana yah? … he he saya mau belajar banyak tentang PHP

    comment-bottom
  19. avatar
    11:49:24 - October 10th, 2009: #19

    gan bisa biatin comment section buat blogger g?
    thx

    http://riauraya.blogspot.com/

    comment-bottom
  20. avatar
    15:38:29 - April 23rd, 2010: #20
    beruang_kutub says:

    mas koq jadi gini ya http://tampanholic.110mb.com/Onion/

    waktu di klik smileyny gak keluar HTML Code, BBCOde & Direct Link

    comment-bottom

RSS feed for comments on this post. TrackBack URL

Leave a comment