Kamis, 23 Februari 2012

Sharing files dan folder dengan 2 komputer langsung menggunakan wifi

Yup menyambung artikel sebelumnya di sini sharing files dan folder menggunakan routers connection, Sekarang yang akan ane bahas jika kita ingin menggunakan ad hoc connection artinya kita ingin sharing langsung dengan menggunakan 2 komputer langsung tanpa menggunakan routers artinya kita sebagai penyedia wireless connection.

bagi yang belum lihat artikel saya sebelumnya mungkin bisa dilihat dulu pda link yang ane kasih di atas tadi. Langsung saja pada komputer servernya  Pilih Open Network and Sharing Center..

Setelah itu pilih Set up a wireless ad hoc

Sharing files dan folder menggunakan windows 7 dengan wifi routers

Yup artikel ini ane tulis sebagai bahan pengingat aja nanti bila suatu saat lupa. Nah pada kesempatan kali ini ane ingin memberikan sedikit tips untuk melakukan sharing folder ataupun files dengan menggunakan wifi. Mungkin banyak yang jarang memanfaatkan fitur ini karena mungkin masih terpaku pada "Pinjam flashdisk dong..." dan kata2 sejenisnya..

Oke langsung saja tutorial pada kesempatan kali ini ada 2 jenis koneksi yang akan ane share
1. Koneksi wifi dengan router sendiri (connect pada jaringan yang sama)
2. Koneksi add hoc antara 2 komputer langsung

Yups langsung saja ke tutorial yang dengan router dulu.. Nanti koneksi add hoc di post yang lain kepanjangan soalnya...
Gambar ini ane dapat dari addictive.com..
Pilih wireless untuk koneksi bareng dulu misalnya Nakodari wireless...

Nah setelah terkoneksi buka Open Network and Sharing Center kemudian tampak gambar seperti di bawah ini

Rabu, 22 Februari 2012

Membuat checkbox dengan fungsi ajax di yiiframework

Pada kesempatan ini ane ingin memberikan sedikit penjelasan menggnakan checkbox untuk digunakan sebagai komponen untuk memuat data dari url suatu controller dalam model kita. Nah untuk mendapatkan ini di yii sudah disediakan fungsi CHtml::checkbox atau CHtml::activeCheckbox.Agar dapat diberikan fungsi ajax kita dapat memberikan property ajax di dalam html optionnya. Tetapi setelah digunakan checkbox tersebut tidak dapat diklik nah ini masalah yang muncul karena pada waktu mengenerate code yii membuat fungsi di akhir statement javascript dengan return false, yang membuat checkbox ini tidak dapat dicheck.

Oleh karena itu kita dapat menggunakan salah satu cara dengan menggunakan modifikasi dari skrip kita sendiri.. Contoh yang ane implementasikan dapat dilihat sebagai berikut : (view)


<?php echo CHtml::checkBox("load_ajax",false,array('id'=>'load_risk_all'));echo "Load All Risk Child";
$url=CController::createUrl('project/vieweach',array('project_id'=>$model->project_id));
Yii::app()->clientScript->registerScript("check",
           '$("#load_risk_all").change(function(){
             if($(this).is(":checked")){
              $("#load_risk").load("'.$url.'");
              $("#load_risk").fadeIn();
             }else{
              $("#load_risk").html("");
             }
             })
          ',
           CClientScript::POS_READY);

?>
<div id="load_risk">
</div>

Dan pastikan bahwa pada waktu memanggil url yang kita inginkan tersebut kita menggunakan fungsi renderPartial agar html yang kita inginkan sesuai. Kita juga dapat mengganti fungsi load() dengan menggunakan fungsi jquery $.ajax apabila kita ingin mengirimkannya berserta data kita. Bisa diihat di controller kita di ProjectController misalnya jangan lupa untuk menambahkan rules untuk hak aksesnya..
public function accessRules()
    {
        return array(
        array('allow',  // allow all users to perform 'index' and 'view' actions
                'actions'=>array('index','view','vieweach'),//tambahkan view each disini
                'users'=>array('@'),
        ),

Nah ini untuk controllernya

public actionViewEach($project_id){ 
  $criteria=new CDbCriteria();
  $criteria->addColumnCondition(array('project_id'=>$project_id)); 
  $provider=new CActiveDataProvider('Project',array('criteria'=>$criteria));
  $this->renderPartial('/risk/view_each',array('provider'=>$provider),false,true);
} 


Anda juga dapat menggunakan onChange pada property html di checkbox untuk memberikan fungsi javascirpt anda sendiri

<?php echo CHtml::checkbox("load risk",false,array("onChange"=>"js:yourcustomfunction()")); ?> //jangan lupa untuk meregister yourcustomfunction menggunakan registerScript


Selamat mencoba

Membuat dropdown list di yiiframework


Pada kesempatan kali ini ane ingin memberikan tutorial bagaimana kita dapat membuat dropdown list dengan mudah di yii framework


Pada yiiframework telah diberikan fungsi sebagai berikut yaitu CHtml::dropdownListbox

Pada kasus kali ini anggap anda mempunyai tabel sebagai berikut


country_name | id
Indonesia        | 1
USA               | 2


Dan anda ingin membuat tampilan dropdown dengan menggunakan tabel tersebut sebagai dasar dalam membuat dropdown menu. Masuk ke view di _form anda kemudian tambahkan kode sebagai berikut..
       <div class="row">
  <?php echo $form->dropDownList($model,'country_id',
   CHtml::listData(Country::model()->findAll(), 'id', 'country_name'),
   array('empty'=>'Select Country'))?>
 </div>
Yup itu aja yang ditambahkan untuk membuat dropdown list di yii

Kamis, 16 Februari 2012

Menambahkan dan mengurangi date di php

Yang sering memakai php mungkin bagi yang belum tahu nih ada cara bagaimana kita dapat menambahkan hari ataupun minggu ke dalam sebuah variabel date yang kita miliki..

Nah kali ini ane ingin membahasnya bagaimana caranya kita dapat mendapatkan hasil yang kita inginkan.
Langsung saja

$date = "2012-02-16";
$newdate = strtotime ( '-3 day' , strtotime ( $date ) ) ; //mengurangi 3 hari hasilnya 2012-02-13
$newdate2 = strtotime ( '+3 week' , strtotime ( $date ) ) ;//menambahkan 3 minggu 
$newdate3 = strtotime ( '-3 year' , strtotime ( $date ) ) ;//mengurangi 3 tahun
$newdate = date ( 'Y-m-j' , $newdate ); //untuk menyimpan ke dalam variabel baru
echo $newdate;

Contoh lain

$d = mktime(0,0,0,$month,$day,$year);
$end_date = date("Y m d",strtotime("+2 days",$d));
//To add days to current date
date('Y-m-d', strtotime("+2 days"));


YUp itu aja sekedar tulisan hari ini

Rabu, 15 Februari 2012

Membuat fungsi yang dipakai semua controller pada yii

Sedikit tips saja bagi yang sering menggunakan yii..

Jika kita menggunakan fungsi yang sering diulang - ulang misalnya dalam sebuah datepicker dengan menggunakan CJuiDatePicker pastinya kita akan  menuliskan menggunakan dengan seperti ini :


$this->widget('zii.widgets.jui.CJuiDatePicker',
 array(
  // you must specify name or model/attribute
  //'model'=>$model,
  //'attribute'=>'projectDateStart',
  'name'=>'Project[projectDateStart]',

  // optional: what's the initial value/date?
  //'value' => $model->projectDateStart
  'value' => '08/20/2010',

  // optional: change the language
  //'language' => 'de',
  //'language' => 'fr',
  //'language' => 'es',
  'language' => 'pt-BR',

  /* optional: change visual
   * themeUrl: "where the themes for this widget are located?"
   * theme: theme name. Note that there must be a folder under themeUrl with the theme name
   * cssFile: specifies the css file name under the theme folder. You may specify a
   *          single filename or an array of filenames
   * try http://jqueryui.com/themeroller/
  */
  'themeUrl' => Yii::app()->baseUrl.'/css/jui' ,
  'theme'=>'pool', //try 'bee' also to see the changes
  'cssFile'=>array('jquery-ui.css' /*,anotherfile.css, etc.css*/),


  //  optional: jquery Datepicker options
  'options' => array(
   // how to change the input format? see http://docs.jquery.com/UI/Datepicker/formatDate
   'dateFormat'=>'mm/dd/yy',

   // user will be able to change month and year
   'changeMonth' => 'true',
   'changeYear' => 'true',

   // shows the button panel under the calendar (buttons like "today" and "done")
   'showButtonPanel' => 'true',

   // this is useful to allow only valid chars in the input field, according to dateFormat
   'constrainInput' => 'false',

   // speed at which the datepicker appears, time in ms or "slow", "normal" or "fast"
   'duration'=>'fast',

   // animation effect, see http://docs.jquery.com/UI/Effects
   'showAnim' =>'slide',
  ),


  // optional: html options will affect the input element, not the datepicker widget itself
  'htmlOptions'=>array(
  'style'=>'height:30px;
   background:#ffbf00;
   color:#00a;
   font-weight:bold;
   font-size:0.9em;
   border: 1px solid #A80;
   padding-left: 4px;'
  )
 )
);

Minggu, 12 Februari 2012

CodeIgniter vs YiiFramework

Sekedar opini aja dari penulis setelah bermigrasi dari CodeIgniter terus ke Yiiframework.

Judulnya

Codeigniter vs YiiFramework

Kedua duanya merupakan framework php yang sangat bisa membantu kita dalam mendevelop aplikasi web kita. Tetapi beberapa perbedaan yang signifikan yang ane temukan adalah :

  1. YiiFramework menggunakan konsep generate code
    Nah fitur ini yang membuat ane kepincut pada framework yang satu ini salah satu fitur yang sangat mempercepat kerjaan kita. Kita tinggal gunakan GII yang ada pada yiiframework dan dalam sekejap kita dapat membuat Controller, Model, bahkan fungsi CRUD secara sekaligus dengan menggunakan alat ini. Sampai ke fungsi paging halaman update dan validasi juga digenerate dari deklarasi kita waktu kita buat dengan menggunakan GII. Hal yang harus dibayar kerja keras kalau kita harus membuat di CodeIgniter dimana kita masih harus membuat satu per satu dari masing - masing bagian MVC berikut.
  2. YiiFramework telah diintergrasikan dengan aspek security yang baik
    Nah fitur ini juga yang membuat yii terasa lebih bagus. Dari mulai untuk pencegahan SQL-injections, XSS attact apalah ane juga kurang ngerti bahkan untuk fungsi login pun udah ditanganin ama yii ini. Kita tinggal lihat sample blog applications kita dapat membuat halaman login beserta sessionnya secara cepat, hal yang tidak mudah apabila kita gunakan CodeIgniter.
  3. CodeIgniter dokumentasinya lebih baik
    Nah ini nih yang ane masih bisa nilai + untuk codeigniter, dokumentasinya dapat dibaca dengan baik sampai mempraktikannya ke latihan. Untuk yiiframework sendiri dokumentasinya banyak tetapi waktu masuk untuk mempraktikannya kadang masih bingung dan harus cari ke forum dulu baru ketemu jawabannya. Mungkin karena banyaknya fungsi yang ada di yiiframwork mungkin ya.. jadi gak kebahas satu per satu. Tetapi satu nilai plus untuk yii komunitasnya semakin bertambah besar. Jadi jangan malu malu untuk bertanya..
  4. Yiiframework seneng banget pake Array
    Jadi yang terbiasa pake yii jangan heran nantinya akan dihadapkan pada banyak array yang kita gunakan. Jadi pahami lebih mendalam tentang array low mau pake yii ini
  5. Yiiframework banyak widget yang langsung bisa digunakan
    Ini juga fitur yang dapat kita pakai kalo kita menggunakan yii. Kita dapat dengan mudah menggunakan widget - widget yang telah diintergrasikan dengan jquery dan jqueryui termasuk jquery autocomplete, datepicker, treeview yang diimplementasikan pada beberapa widget di  yii seperti CAutoComplete, CJuiDatePicker, CMenu, CPortlet, CJuiButton dan apalagi banyak extensions yang sangat membantu dalam membuat pekerjaan
  6. Kekurangan YiiFramework
    Nah ini nih yang mungkin ane rasain kekurangannya sendiri menurut ane framework ini kurang begitu cocok untuk pemula, karena biasanya pemula belum tahu dasar dari phpnya atau untuk urusan yang belum pernah menyentuh CSS,Javascript, ataupun html secara langsung biasanya nanya terus ke forum untuk mencari solusi yang diinginkan. Padahal kalo kita mengerti alurnya kita dapat memodifikasi sendiri yang kita inginkan. Tetapi gak apa apa mungkin bisa sambil belajar kan bisa belajar dasarnya juga kan.. Dan seringnya kalo make yiiframework terjadi bentrok CSS yang kita inginkan jadi pandai - pandai menentukan CSS yang belum ada pada yiiframework kita..

It's just my opinions, Jika punya pandangan lain monggo dibahas.. mungkin ane ada yang salah bisa sharing ilmu lagi nanti CMIIW... ^^

Memakai Emultiselect di yiiframework

Yaps akhirnya ane make YiiFramework juga. Setelah temen - temen ane yang make framework ini udah banyak dan baru sekarang ane make and then terbukti membuat ane terpesona dengan smua fungsi yang ada di Yiiframework..

Coz udah banyak sample coding yiiframework di tempat blog temen ane di sabitlabscode.wordpress.com. Sekedar nambahin aja biar gak lupa dikemudian hari makanya ane publish disini..

Langsung saja pada kesempatan kali ini ane ingin membuat post tentang bagaimana cara membuat tampilan multiple selections dengan menggunakan dropdown list di yii..

Lihat bagaimana hasil yang kita inginkan nantinya seperti ini..

http://www.yiiframework.com/extension/emultiselect/

Nah untuk membuat tampilan pilihan pada gambar seperti diatas download extensi pada url yang ane kasih di atas. Kemudian extract isinya ke protected/extensions/ . 

Nah untuk menggunakannya sangatlah mudah tinggal tambahin kode pada view form anda sebagai berikut ini.

<?php $this->widget('application.extensions.emultiselect.EMultiSelect',
            array('sortable'=>true/true, 'searchable'=>true/true));?>

dan kemudian tambahkan class multiselect ke dalam dropdwonlist anda

<?php echo $form->dropDownList(new TProjectHasTUnit(),'unit_id_FK',$list,
       array('multiple'=>'multiple',
       'key'=>'unit_id', 'class'=>'multiselect')
     ); ?>


Note :


Nah untuk yang update kan harus ngeload dulu data yang kita pilih sebelumnya.. Kemudian bagaimana caranya untuk menampilkannya kembali butuh sedikit modifikasi kode agar yang terseleksi terpilih dengan benar waktu perintah update nantinya..

Untuk menggunakan ini ane kasih sample code yang ane pakai


<?php $this->widget('application.extensions.emultiselect.EMultiSelect',
            array('sortable'=>true/true, 'searchable'=>true/true));
    $m=TUnit::model()->findAll();
    $list=CHtml::listData($m,'unit_id','name');
    if($model->isNewRecord){
     echo $form->dropDownList(new TProjectHasTUnit(),'id_unit_kerja_FK',$list,
       array('multiple'=>'multiple',
       'key'=>'unit_id', 'class'=>'multiselect')
     );
    }else{
     
     $selected_scope=TProjectHasTUnit::model()->findAllByAttributes(array('project_id_FK'=>$model->project_id));
     $selected_key_scope=array();
     foreach ($selected_scope as $val){
      $selected_key_scope[]=$val->id_unit_kerja_FK;
     }
     echo $form->dropDownList(new TProjectHasTUnit(),'id_unit_kerja_FK',$list,
       array('multiple'=>'multiple',
             'key'=>'unit_id', 'class'=>'multiselect','options'=>$this->createOptions($selected_key_scope))
     );
    }
  ?>

Jangan lupa untuk menambahkan fungsi $this->createOptions() di protected/components/Controller.php untuk dapat digunakan ditempat lainnya



public function createOptions($arraySelectedValue){
  $selected_attr=array('selected'=>'selected');
  $all=array();
  foreach($arraySelectedValue as $val){
   $all["$val"]=$selected_attr;
  }
  return $all;
 }

Sip itu dulu post yiiframework pertama ane.. Maklum buat posting kalo lagi ada yang mau dishare aja..

YII isROck