Dasar dasar basic membuat aplikasi cmsid
Ok teman teman pasti yang sudah mencoba cmsid tertarik ingin membuat sebuah atau lebih aplikasi buatan sendiri, baik disini saya akan memberikan step by step pembuatan aplikasi sederhana pada cmsid.
Yang perlu diperhatikan dalam membuat aplikasi di cmsid adalah sebagai berikut: 1. File standar yang digunakan
File standar adalah file file yang distandari sasi oleh system cmsid dalam pembuatan aplikasi 2. Aksessibiliti
Digunakan untuk mencegahan file, ini adalah standar dari cmsid 3. Filterisasi
Diharapkan agar semua aplikasi dapat terfilter dengan baik 4. Standarisasi konektifitas
Ini adalah standar dari cmsid dalam menghubungkan fungsional dari system cmsid 5. Link SEO
Ini adalah standarisasi link dari system cmsid yang akan mengenerate link secara otomatis untuk halaman admin tidak mengunakan methode ini
Baiklah pasti anda tidak sabar ingin segera membuat aplikasi sederhana anda sendiri yang anda idam idamkan selama ini.
Misalkan kita akan membuat aplikasi “Note/Catatan” langkah yang harus anda lakukkan File standar
Semua file aplikasi akan disimpan pada direktori “icontent/applications/”, jadi aplikasinya akan seperti ini:
“icontent/applications/note/”
Lalu buat file file standarnya pada direktori aplikasi, file filenya adalah “note.php” -> halaman depan aplikasi yang dilihat oleh client
“init.php” -> untuk menu manager dan fungsi fungsi untuk manager “manager.php” -> halaman admin manager note
Aksessibiliti
Tulis code berikut pada file “note.php” hal ini untuk mencegah pengaksesan file lebih lanjut: <?php
if(!defined('_iEXEC')) exit;
Filterisasi
Tulis kode berikut setelah kode Aksessibiliti diatas, code function yang digunakan adalah filter_txt() atau filter_int() fungsi ini bisa anda lihat pada file “ilibs/function.php” atau “ilibs/filters.php” <?php
$view = filter_txt( $_GET[‘view’] ); $id = filter_id( $_GET[‘id’] ); ?>
Penulisan kode diatas tergantung dari penerapan aplikasi anda masing masing, yang dimaksud kode diatas adalah penerapan function filter_txt() atau filter_int()
Standarisasi Konektifitas
untuk standarisasi konetifitas bisa menggunakan database class yang kami sediakan pada library cara penulisannya adalah
misal kita mau menampilkan isi dari table “note” dengan field “id,judul,isi,status,tanggal” pengunaannya / penulisan codenya adalah sebagai berikut
menampilkan data multi / banyak <?php
global $db;
$sql = $db->select( ‘note’, array(‘status’=>1), ‘ORDER BY tanggal’ ) ; while( $data = $db->fetch_array($sql) ){
echo $data[‘judul’] . <br>’’; echo $data[‘isi’];
} ?>
Menampilkan data single berdasarkan “id” <?php
$sql = $db->select( ‘note’, array(‘status’=>1,’id’=>$id), ‘ORDER BY tanggal’ ) ; $data = $db->fetch_array($sql) ;
echo $data[‘judul’] . <br>’’; echo $data[‘isi’];
?>
Penulisan code diatas bisa anda lihat pada tautan brk: http://cmsid.org/item/fitur-fitur-dan-kelebihan-yang-diusung-cms-id-versi-terbaru.html
Link SEO
Link seo yaitu link yang kami buat sesederhana mungkin agar system cmsid lebih friendly lagi Cara penulisannya adalah sebagai berikut:
<?php
$data_link = array(
‘view’ => ‘detail’, ‘id’ => ‘1/2/3’
‘title’ => ‘judul yang digunakan’ );
echo do_links( $data_link); ?>
Penulisan code diatas bisa anda lihat pada tautan brk: http://cmsid.org/item/gimana-sie-cara-buat-link-generator-di-cmsid-versi-2-1-terbaru.html
Oke kalau begitu kita akan belajar styep by step cara menuliskan kode lengkapnya aplikasi “note”
note.php <?php
if(!defined('_iEXEC')) exit;
$view = filter_txt( $_GET['view'] ); $id = filter_int( $_GET['id'] );
global $db; switch($view){ default: ?>
<h1 class=border>My Note</h1>
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr style="border-bottom:1px solid #ddd;"> <td><strong>Judul</strong></td> <td><strong>Isi</strong></td> <td><strong>Tanggal</strong></td> <td><strong>Aksi</strong></td> </tr> <?php
$sql = $db->select( 'note', array('status'=>1), 'ORDER BY tanggal' ) ; while( $data = $db->fetch_array($sql) ){
?>
<tr style="border-bottom:1px solid #ddd;"> <td><?php echo $data['judul'];?></td> <td><?php echo $data['isi'];?></td>
<td> <?php
$data_link = array( 'view'=>'detail','id'=>$data['id'], 'title'=>$data['judul'] ); ?>
<a href="<?php echo do_links( 'note',$data_link );?>">Lihat Selengkapnya</a> </td> </tr> <?php }?> </table> <?php break; case'detail':
$sql = $db->select( 'note', array('status'=>1,'id'=>$id) ) ; $data = $db->fetch_array($sql) ;
echo '<h1 class=border>My Note Detail</h1>'; echo '<div class="border">';
echo '<p>'; echo $data['judul'] . '<br>'; echo $data['isi'] . '<br>'; echo $data['tanggal']; echo '</p>'; echo '</div>'; break; } ?>
Backend / halaman manager / administrator init.php <?php if(!defined('_iEXEC')) exit; if(!function_exists('menu')){ function menu(){ $r = array(); $r[] = array(
'title' => 'My Note',
'link' => '?admin&apps=note' );
$r[] = array(
'title' => 'Tambah Note',
'link' => '?admin&apps=note&go=add' ); return $r; } } if(!function_exists('perbaharui_data_note')){ function perbaharui_data_note($data,$id){ global $db;
} }
if(!function_exists('hapus_note')){ function hapus_note($data){
global $db;
return $db->delete( "note", $data ); } } if(!function_exists('simpan_data_note')){ function simpan_data_note($data){ global $db; extract($data, EXTR_SKIP); $msg = array();
if(empty($judul)) $msg[] ='<strong>ERROR</strong>: Judul kosong.'; if(empty($isi)) $msg[] ='<strong>ERROR</strong>: Isi kosong.';
if( $msg ){ foreach($msg as $error) _e('<div id="error">'.$error.'</div>'); } else { $judul = esc_sql($judul);
$isi = esc_sql($isi); $tanggal = date('Y-m-d H:i:s');
$data_simpan = compact('judul','isi','tanggal'); $sql = $db->insert( 'note', $data_simpan );
if($sql){
_e('<div id="success"><strong>SUCCESS</strong>: Berhasil di tambahkan</div>'); } } } } ?> manage.php <?php if(!defined('_iEXEC')) exit; require_once('init.php'); global $iw,$db; $go = filter_txt($_GET['go']); $act = filter_txt($_GET['act']); $pub = filter_txt($_GET['pub']);
$id = filter_int($_GET['id']);
$widget = array(
'menu' => menu(),
'help_desk' => 'Memungkinkan anda menambahkan catatan ke halaman website anda dengan mudah'
); ?>
<div class="box-head dotted">Note Manager</div> <div id="box-content">
<?php switch($go){ default:
if($act == 'pub'){
if ($pub == 'no') $stat =0; if ($pub == 'yes') $stat =1;
perbaharui_data_note(array('status'=>$stat),$id); } if($act == 'del'){ hapus_note(compact('id')); } ?>
<table id=table cellpadding="0" cellspacing="0"> <tr class="head">
<td class="depan" width="23%">Judul</td> <td class="depan" width="43%">Isi</td>
<td class="depan"><div align="center"><strong>Status</strong></div></td> <td class="depan"><div align="center"><strong>Aksi</strong></div></td>
</tr> <?php
$warna = '';
$sql = $db->select( 'note', null, 'ORDER BY tanggal' ) ; while( $data = $db->fetch_array($sql) ){
$warna = empty ($warna) ? ' bgcolor="#f1f6fe"' : ''; $status = ($data['status'] == 1) ? '<a class="enable" title="Enable"
href="?admin&apps=note&act=pub&pub=no&id='.$data['id'].'">Enable</a>' : '<a class="disable" title="Disable" href="?admin&apps=note&act=pub&pub=yes&id='.$data['id'].'">Disable</a>';
?>
<tr <?php _e($warna)?> class="isi">
<td valign="top"><?php echo $data['judul'];?></td> <td valign="top"><?php echo $data['isi'];?></td>
<td valign="top"><div align="center"><?php _e($status)?></div></td> <td valign="top">
<div align="center">
<a href="?admin&apps=note&go=edit&id=<?php echo $data['id'];?>" class="edit" title="edit">edit</a>
<a href="?admin&apps=note&act=del&id=<?php echo $data['id'];?>" class="delete" title="delete" onclick="return confirm('Are You sure delete this item?')">delete</a>
</div> </td> </tr> <?php }?> </table> <?php break;
case 'add':
if( isset($_POST['submit']) ){
$judul = filter_txt( $_POST['judul'] );
if(get_option('text_editor')=='classic'){ $isi = nl2br2($_POST['isi']); }else{ $isi = $_POST['isi']; } $data = compact('judul','isi'); simpan_data_note( $data ); } ?>
<form action="" method="post">
<input type="text" name="judul" style="width:250px;" /><br />
<textarea name="isi" id="editor" style="width:600px; height:250px"></textarea><br />
<button name="submit" class="primary"><span class="icon plus"></span>Simpan</button> <button name="Reset"><span class="icon loop"></span>Ulangi</button>
</form> <?php break; case 'edit':
if( isset($_POST['submit']) ){
$judul = filter_txt( $_POST['judul'] );
if(get_option('text_editor')=='classic'){ $isi = nl2br2($_POST['isi']);
}else{
$isi = $_POST['isi']; }
$data = compact('judul','isi'); perbaharui_data_note( $data, $id ); }
$sql = $db->select( 'note', array('id'=>$id) ); $data = $db->fetch_array( $sql );
?>
<form action="" method="post">
<input type="text" name="judul" value="<?php echo $data['judul']?>" style="width:250px;"/><br /> <textarea name="isi" id="editor" style="width:600px; height:250px"><?php echo
$data['judul']?></textarea><br />
<button name="submit" class="primary"><span class="icon plus"></span>Simpan</button> <button name="Reset"><span class="icon loop"></span>Ulangi</button>
</form> <?php break; } ?> </div>
Jika ingin mencoba aplikasi note diatas silahkan unduh disini
Semoga tutorial ini menjadi panduan kita dalam membuat aplikasi cmsid yang kita inginkan Saran dan kritik dari teman teman sangat diperlukan
Salam id By eko