phpFormAdmin

class ini akan di extend oleh semua class yang ada di includes/lib/pea/form, jadi tidak bisa di panggil berdiri sendiri secara langsung

includes/lib/pea/phpFormAdmin.php

Form

Class yang diextends oleh semua class yang ada dalam folder includes/lib/pea/form/

setDbObject

menentukan object bbcSQL

setDbObject( $db );

setDB

menentukan variable object untuk database, hampir sama seperti setDbObject bedanya yang dimasukkan adalah nama variable nya

setDB($string_db);

setTitle

menentukan judul dari input field

setTitle( $str_title );

Jika method ini tidak dipanggil maka akan mengambil fieldname yang digunakan dengan merubah huruf pertama menjadi huruf kapital

setCaption

menentukan label dari input field

setCaption( $str_caption='' );

Jika method ini tidak dipanggil maka akan mengambil title dari method setTitle

setIcon

menentukan icon yang digunakan jika jenis input field yang dibuat membutuhkan icon

setIcon( $str_caption = 'edit', $str_alt = '' );

setAlign

menentukan posisi input field [depricated]

setAlign( $str_align = "center" );

setFieldName

menentukan nama field dalam database table utama

setFieldName( $str_field_name );

jika tidak di panggil maka fieldname akan menggunakan argument pertama ketika memanggil addInput pada phpEditAdmin, phpAddAdmin dan phpRollAdmin

setName

menentukan nama field dari input field di form

setName( $str_name );

setFormName

menentukan prefix yang digunakan dalam penamaan field

setFormName( $str_form_name );

setLanguage

menentukan apakah input field ini menggunakan fitur multilanguage ataukah tidak

setLanguage($isMultiLanguage=true);

setNoColumn

menentukan di kolom ke berapa input field ini akan ditampilkan jika form berbentu multi kolom, method ini hanya berlaku untuk phpEditAdmin dan phpAddAdmin. jadi kalo di gunakan untuk phpRollAdmin dan phpSearchAdmin tidak akan berpengaruh apapun.

setNoColumn($noColumn=1);

Contoh tampilan menggunakan multi column bisa dilihat pada phpEditAdmin::setColumn jika ingin menggunakan fitur ini, maka anda harus menentukan jumlah kolom yang ingin ditampilkan pada phpEditAdmin::setColumn tersebut. Berikut contoh scriptnya
$id = @intval($_GET['id']);
$form = _lib('pea',  'table_name');
$form->initEdit(!empty($id) ? 'WHERE id='.$id : '');
$form->edit->setColumn(2);

$form->edit->addInput('header','header');
$form->edit->input->header->setTitle(!empty($id) ? 'Edit Data' : 'Add Data');

$form->edit->addInput('title','text');
$form->edit->input->title->setTitle('Title');
$form->edit->input->title->setCaption('Masukkan Judul...');
$form->edit->input->title->setNoColumn(1);

$form->edit->addInput('detail','text');
$form->edit->input->detail->setTitle('Detail');
$form->edit->input->detail->setCaption('Masukkan Detail...');
$form->edit->input->detail->setNoColumn(2);

$form->edit->action();
echo $form->edit->getForm();
Script diatas akan menghasilkan output seperti ini:

setSize

menentukan ukuran input field [depricated]

setSize( $int_size );

dikarenakan menggunakan bootstrap 3 maka method ini tidak bisa diandalkan

setDefaultValue

menentukan default value dari input field

setDefaultValue( $str_default_value );

setExtra

menentukan attribut tambahan pada tag HTML di input field

setExtra( $str_extra );

setPlaintext

menentukan apakah input field ini bisa diubah valuenya ataukah tidak

setPlaintext( $bool_is_plaintext = false );

setRequire

menentukan input field akan di validasi sebelum form disubmit

setRequire( $is_input_require = 'any', $is_mandatory = 1 );

setIsHeader

menentukan input field ini adalah tipe header ataukah tidak

setIsHeader( $bool_header );

setIsMultiInput

menentukan apakah input field ini termasuk multiinput ataukah tidak

setIsMultiInput( $bool_multi );

setActionType

untuk menandai input field ini di panggil dari tipe form apa

setActionType( $str_action_type );

setHidden

untuk menyembunyikan input field

setHidden( $bool_hidden = true );

setIsInsideRow

menandai apakah input field masuk kedalam baris form atau tidak

setIsInsideRow( $bool_inside );

setIsInsideCell

menandai apakah input field masuk ke dalam cell tag HTML dari kolom ataukah tidak

setIsInsideCell( $bool_inside );

setIsNeedDbObject

menandai apakah input field membutuhkan object dari class yang memanggil atau tidak

setIsNeedDbObject( $bool_need = true );

setTableName

menentukan nama dari table yang di gunakan dalam database

setTableName( $str_table_name );

setTableId

menentukan nama field primary dalam database table

setTableId( $str_table_id );

setSqlCondition

menentukan query MySQL tambahan dalam input field

setSqlCondition( $sql_condition );

setParent

menentukan object parent apabila input field ini masuk kedalam multiinput

setParent($obj);

setIsIncludedInSelectQuery

apakah input field ini masuk kedalam query SELECT ketika form dibuat

setIsIncludedInSelectQuery( $bool_included );

setIsIncludedInUpdateQuery

apakah input field ini masuk kedalam query UPDATE ketika form disubmit

setIsIncludedInUpdateQuery( $bool_included );

setIsIncludedInDeleteQuery

apakah input field ini masuk kedalam query DELETE ketika form di hapus (jika ada tombol hapus)

setIsIncludedInDeleteQuery( $bool_included );

setIsIncludedInReport

menandai apakah input field ini masuk ke dalam report ketika di export (jika ada tombol export)

setIsIncludedInReport( $bool_included );

setIsIncludedInSearch

apakah input field ini masuk kedalam query pencarian ketika form disubmit dan digunakan oleh phpSearchAdmin

setIsIncludedInSearch( $bool_included );

getRollUpdateQuery

mengambil query MySQL tambahan ketika form di submit jika ditampilkan oleh phpRollAdmin dan phpEditAdmin sedangkan setIsIncludedInUpdateQuery bernilai TRUE

getRollUpdateQuery( $i = '' );

getRollUpdateSQL

menentukan query MySQL tambahan jika form di submit sedangkan setIsIncludedInUpdateQuery bernilai TRUE

getRollUpdateSQL( $i = '' );

getAddQuery

mengambil query MySQL ketika form di submit jika ditampilkan oleh phpAddAdmin sedangkan setIsIncludedInUpdateQuery bernilai TRUE

getAddQuery();

getAddAction

mengeksekusi proses tambahan ketika form di submit, hanya berlaku jika input field menggunakan phpAddAdmin

getAddAction($db, $Insert_ID);

getDeleteQuery

mengambil query MySQL tambahan ketika form di hapus jika ditampilkan oleh phpRollAdmin dan phpEditAdmin sedangkan setIsIncludedInDeleteQuery bernilai TRUE

getDeleteQuery($ids);

setSearchQueryLike

menentukan apakah input field ini menggunakan equal (=) ataukah LIKE dalam query MySQL jika digunakan dalam phpSearchAdmin

setSearchQueryLike($bool_like);

getSearchQuery

menentukan query MySQL yang digunakan untuk pencarian jika digunakan dalam phpSearchAdmin

getSearchQuery();

getAddSQL

menentukan query MySQL tambahan jika form di submit sedangkan setIsIncludedInUpdateQuery bernilai TRUE dan digunakan dalam phpAddAdmin

getAddSQL();

getDeleteSQL

menentukan query MySQL tambahan jika form di hapus (jika ada tombol hapus) sedangkan setIsIncludedInDeleteQuery bernilai TRUE

getDeleteSQL($ids);

cleanSQL

membersihkan text dari karakter yang akan merusak query MySQL hasil dari input field

cleanSQL($q);

getFieldName

mengambil nama field dari input field

getFieldName();

checkIsPlaintext

men-check apakah input field yang di buat merupakan Plaintext ataukah tidak

checkIsPlaintext( $str_value = '', $str_name = '', $str_extra = '' );

getPlaintexOutput

mengambil output dari input field ketika kondisi checkIsPlaintext adalah TRUE

getPlaintexOutput( $str_value = '', $str_name = '', $str_extra = '' );

getReportOutput

mengambil output dari input field ketika form di export

getReportOutput( $str_value = '' );

getOutput

mengambil tag HTML dari input field

getOutput( $str_value = '', $str_name = '', $str_extra = '' );

getReturn

dipanggil oleh getOutput untuk menentukan tag wrapper / pembungkus dari input field

getReturn($value);

setFocus

menentukan fokus kursor ketika form ditampilkan [depricated]

setFocus();

setHelp

menentukan text bantuan yang akan muncul jika dihover

setHelp( $value = '' );

setTip

menentukan text notes yang muncul di bawah input field

setTip( $value = '' );

addHelp

menambahkan text pada text bantuan yang muncul ketika di hover

addHelp( $value = '' );

addTip

menambahkan text pada text bantuan yang muncul di bawah input field

addTip( $value = '' );

setDisplayColumn

Menentukan apakah field ini akan di tampilkan di dalam table form ataukah tidak. Hanya bisa digunakan untuk phpRollAdmin, maka field tersebut akan menjadi kolom dalam table dan secara otomatis field/kolom ini akan menjadi pilihan bagi user mau ditampilkan atau tidak.

setDisplayColumn($boolean=false);

Ketika anda menggunakan fitur ini untuk field anda yang ada dalam phpRollAdmin, maka secara otomatis akan muncul opsi bagi user untuk memilih kolom mana saja yang akan ditampilkan. Berikut contoh gambarnyaApabila ada field yang tidak anda tambahkan method ini maka dia akan langsung muncul dalam table, dan tidak masuk dalam opsi kolom. Untuk menentukan judul kolom dalam opsi kolom tersebut, bisa menggunakan setCaption

setDisplayFunction

digunakan untuk mengolah data yang keluar dari database untuk ditampilkan baik itu dalam phpAddAdmin, phpEditAdmin maupun phpRollAdmin selama data ditampilkan dalam bentuk plaintext

setDisplayFunction($obj_func, $use_in_report=true);

function yang dibuat harus bisa menerima satu input argument dimana argument tersebut adalah data field dari pea sendiri
contoh:
$form->roll->input->fieldName->setDisplayFunction('oddEven');
function oddEven($value)
{return ($value%2) ? 'Ganjil' : 'Genap';
}
Atau langsung bisa dimasukkan object nya seperti berikut:
$form->roll->input->fieldName->setDisplayFunction(function ($value) {return ($value%2) ? 'Ganjil' : 'Genap';
});
jangan lupa method ini hanya berlaku jika field tersebut ditampilkan dalam bentuk plaintext bukan dalam bentuk form input, sedangkan untuk mebuat form bisa di export ke file, anda harus menggunakan method addReport atau addReportAll

setExportFunction

digunakan untuk mengolah data yang keluar dari database untuk ditampilkan dalam file hasil export,baik itu dalam phpEditAdmin maupun phpRollAdmin selama mengaktifkan addReport atau addReportAll

setExportFunction($obj_func);

function yang dibuat harus bisa menerima satu input argument dimana argument tersebut adalah data field dari pea sendiri, tetapi jika ada setDisplayFunction dengan argument ke 2 TRUE maka data yg diproses adalah hasil keluaran dr function yg ada di setDisplayFunction
contoh:
$form->roll->input->fieldName->setExportFunction('oddEven');
function oddEven($value)
{return ($value%2) ? 'Ganjil' : 'Genap';
}
Atau langsung bisa dimasukkan object nya seperti berikut:
$form->roll->input->fieldName->setExportFunction(function ($value) {return ($value%2) ? 'Ganjil' : 'Genap';
});
jangan lupa method ini hanya berlaku jika field tersebut ditampilkan dalam file hasil export baik excel dll, sedangkan untuk mebuat form bisa di export ke file, anda harus menggunakan method addReport atau addReportAll