membuat input field yang berupa form tambahan yang input field di dalam nya bisa ditentukan sendiri, sedangkan hasil posting dari user HARUS dimasukkan ke dalam table database lain
includes/lib/pea/form/FormMultiform.php
membuat input field yang berupa form tambahan yang input field di dalam nya bisa ditentukan sendiri, sedangkan hasil posting dari user HARUS dimasukkan ke dalam table database lain
Contoh penggunaan (yang diawali # adalah optional):
$form->edit->addInput('NAMABEBAS','multiform'); $form->edit->input->NAMABEBAS->setTitle('JUDUL INPUT'); $form->edit->input->NAMABEBAS->setReferenceTable('film'); $form->edit->input->NAMABEBAS->setReferenceField( 'ref_id', 'film_id' ); #form->edit->input->NAMABEBAS->setReferenceCondition( 'active=1' ); #form->edit->input->NAMABEBAS->setToogle(false); $form->edit->input->NAMABEBAS->addInput('NAMAFIELD_1', 'INPUT_TYPE_1', 'PLACEHOLDER_1'); $form->edit->input->NAMABEBAS->addInput('NAMAFIELD_2', 'INPUT_TYPE_2', 'PLACEHOLDER_2');Jika anda ingin meng-custom input field NAMAFIELD_1 atau NAMAFIELD_1 anda bisa menggunakan object input seperti biasa, contoh
$form->edit->input->NAMAFIELD_1->setCaption('LABEL');tetapi jika field multiform ini digunakan lebih dari sekali dalam satu form maka anda harus menggunakan: (menjadi huruf kecil)
$form->edit->input->namabebas_namafield_1->setCaption('LABEL');Atau juga bisa menggunakan alternatif di bawah untuk lebih aman nya:
$form->edit->input->NAMABEBAS->elements->NAMAFIELD_1->setCaption('LABEL');
untuk menentukan nama table yang akan dijadikan untuk menyimpan hasil input dari user
setReferenceTable( $str_reference_table );
menentukan nama field yang akan dijadikan field penyambung antara table database dari setReferenceTable dengan table utama
setReferenceField( $reference_id, $table_id='id' );
menentukan query tambahan untuk clause WHERE ketika meng-query table yang ada di setReferenceTable
setReferenceCondition($value);
`active`=1
menambahkan input field yang nantinya akan digabungkan ke dalam multiform ini
addInput( $inputName, $inputType = 'text', $inputTitle='' );
membuat output dari multiform akan berbentuk toogle (collapsible)
setToogle($show = false);
menentukan string pemisah antara input satu dengan yang lainya yg ditentukan oleh method addInput
setDelimiter( $str_delimiter = '
' );
menentukan hasil output semua input yang ditambahkan dengan addInput akan menjadi plaintext atau tidak. Jika iya (TRUE) maka user hanya bisa melihat dan tidak bisa merubah data
setPlaintext( $bool_is_plaintext = false );
menambahkan field tambahan dengan value yang sudah ditentukan ketika form disubmit
addExtraField( $field = '', $value = '', $formType='' );
menentukan object bbcSQL
setDbObject( $db );
menentukan variable object untuk database, hampir sama seperti setDbObject bedanya yang dimasukkan adalah nama variable nya
setDB($string_db);
menentukan judul dari input field
setTitle( $str_title );
menentukan label dari input field
setCaption( $str_caption='' );
menentukan icon yang digunakan jika jenis input field yang dibuat membutuhkan icon
setIcon( $str_caption = 'edit', $str_alt = '' );
menentukan posisi input field [depricated]
setAlign( $str_align = "center" );
menentukan nama field dalam database table utama
setFieldName( $str_field_name );
menentukan nama field dari input field di form
setName( $str_name );
menentukan prefix yang digunakan dalam penamaan field
setFormName( $str_form_name );
menentukan apakah input field ini menggunakan fitur multilanguage ataukah tidak
setLanguage($isMultiLanguage=true);
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);
$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:
menentukan ukuran input field [depricated]
setSize( $int_size );
menentukan default value dari input field
setDefaultValue( $str_default_value );
menentukan attribut tambahan pada tag HTML di input field
setExtra( $str_extra );
menentukan input field akan di validasi sebelum form disubmit
setRequire( $is_input_require = 'any', $is_mandatory = 1 );
menentukan input field ini adalah tipe header ataukah tidak
setIsHeader( $bool_header );
menentukan apakah input field ini termasuk multiinput ataukah tidak
setIsMultiInput( $bool_multi );
untuk menandai input field ini di panggil dari tipe form apa
setActionType( $str_action_type );
untuk menyembunyikan input field
setHidden( $bool_hidden = true );
menandai apakah input field masuk kedalam baris form atau tidak
setIsInsideRow( $bool_inside );
menandai apakah input field masuk ke dalam cell tag HTML dari kolom ataukah tidak
setIsInsideCell( $bool_inside );
menandai apakah input field membutuhkan object dari class yang memanggil atau tidak
setIsNeedDbObject( $bool_need = true );
menentukan nama dari table yang di gunakan dalam database
setTableName( $str_table_name );
menentukan nama field primary dalam database table
setTableId( $str_table_id );
menentukan query MySQL tambahan dalam input field
setSqlCondition( $sql_condition );
menentukan object parent apabila input field ini masuk kedalam multiinput
setParent($obj);
apakah input field ini masuk kedalam query SELECT ketika form dibuat
setIsIncludedInSelectQuery( $bool_included );
apakah input field ini masuk kedalam query UPDATE ketika form disubmit
setIsIncludedInUpdateQuery( $bool_included );
apakah input field ini masuk kedalam query DELETE ketika form di hapus (jika ada tombol hapus)
setIsIncludedInDeleteQuery( $bool_included );
menandai apakah input field ini masuk ke dalam report ketika di export (jika ada tombol export)
setIsIncludedInReport( $bool_included );
apakah input field ini masuk kedalam query pencarian ketika form disubmit dan digunakan oleh phpSearchAdmin
setIsIncludedInSearch( $bool_included );
mengambil query MySQL tambahan ketika form di submit jika ditampilkan oleh phpRollAdmin dan phpEditAdmin sedangkan setIsIncludedInUpdateQuery bernilai TRUE
getRollUpdateQuery( $i = '' );
menentukan query MySQL tambahan jika form di submit sedangkan setIsIncludedInUpdateQuery bernilai TRUE
getRollUpdateSQL( $i = '' );
mengambil query MySQL ketika form di submit jika ditampilkan oleh phpAddAdmin sedangkan setIsIncludedInUpdateQuery bernilai TRUE
getAddQuery();
mengeksekusi proses tambahan ketika form di submit, hanya berlaku jika input field menggunakan phpAddAdmin
getAddAction($db, $Insert_ID);
mengambil query MySQL tambahan ketika form di hapus jika ditampilkan oleh phpRollAdmin dan phpEditAdmin sedangkan setIsIncludedInDeleteQuery bernilai TRUE
getDeleteQuery($ids);
menentukan apakah input field ini menggunakan equal (=) ataukah LIKE dalam query MySQL jika digunakan dalam phpSearchAdmin
setSearchQueryLike($bool_like);
menentukan query MySQL yang digunakan untuk pencarian jika digunakan dalam phpSearchAdmin
getSearchQuery();
menentukan query MySQL tambahan jika form di submit sedangkan setIsIncludedInUpdateQuery bernilai TRUE dan digunakan dalam phpAddAdmin
getAddSQL();
menentukan query MySQL tambahan jika form di hapus (jika ada tombol hapus) sedangkan setIsIncludedInDeleteQuery bernilai TRUE
getDeleteSQL($ids);
membersihkan text dari karakter yang akan merusak query MySQL hasil dari input field
cleanSQL($q);
men-check apakah input field yang di buat merupakan Plaintext ataukah tidak
checkIsPlaintext( $str_value = '', $str_name = '', $str_extra = '' );
mengambil output dari input field ketika kondisi checkIsPlaintext adalah TRUE
getPlaintexOutput( $str_value = '', $str_name = '', $str_extra = '' );
mengambil output dari input field ketika form di export
getReportOutput( $str_value = '' );
mengambil tag HTML dari input field
getOutput( $str_value = '', $str_name = '', $str_extra = '' );
dipanggil oleh getOutput untuk menentukan tag wrapper / pembungkus dari input field
getReturn($value);
menentukan text bantuan yang akan muncul jika dihover
setHelp( $value = '' );
menentukan text notes yang muncul di bawah input field
setTip( $value = '' );
menambahkan text pada text bantuan yang muncul ketika di hover
addHelp( $value = '' );
menambahkan text pada text bantuan yang muncul di bawah input field
addTip( $value = '' );
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);
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);
$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
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);
$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