[trick] Menambahkan Library ESC/POS di Codeigniter

Bismillah…

Kebetulah dikantor lagi dapet maenan baru, printer epson series tm-u220d kayak gini:

Terus, karena ngoding langsung pake RAW-TEXT dari printer ribet, contoh RAW-TEXT dari Vendor Zebra kayak gini neh:

^FN11 : NO Rekam medis
^FN12 : Nama Pasien
^FN13 : No Rekam medis bentuk barcode
^FN61 : Nama obat
^FN62 : kwantitas makan, brp tablet/kapsul perhari
^FN63 : sblm atau ssedh makan
^PQ  : kwantitas label identik

^XA
^XFE:PHARMA01.ZPL
^FN11^FD111212121212^FS
^FN12^FDKomarudin Ibrahim Saleh^FS
^FN13^FD>;111212121212^FS
^FN61^FDPanadol Expectoran 250mg^FS
^FN62^FD3 x 1 Tablet / hari^FS
^FN63^FDMinum Setelah Makan^FS
^PQ2,0,0
^XZ

Nah, karena yang dipake itu dari EPSON, akhirnya searching eh dapet deh di Github yang senang hati berbagi ini linknya:

https://github.com/mike42/escpos-php/tree/master

Ternyata TM-U220 didukung sama libarary ini, yaudah oprek deh, cara gunanya gampang banget, karena udah pake bootstrap auotloader, jadi yah tinggal load sebagai library … selebihnya bisa dicek di repo gw:

https://github.com/RSUP/ESC-POS

Gw Kagak fork, soalnya gw pake manual download dan upload file git nyah …. hehehe.

Have a nice day!

source:

  1. https://github.com/mike42/escpos-php/tree/master
  2. https://github.com/RSUP/ESC-POS

[trick] Rest Client Upload File Di PHP/ Codeigniter

Bismillah…

kalo muncul error kayak gini..

Disallowed Key Characters.

class MY_Input extends CI_Input {

    /**
     * Clean Keys
     *
     * This is a helper function. To prevent malicious users
     * from trying to exploit keys we make sure that keys are
     * only named with alpha-numeric text and a few other items.
     * 
     * Extended to allow: 
     *      - '.' (dot), 
     *      - '[' (open bracket),
     *      - ']' (close bracket)
     * 
     * @access  private
     * @param   string
     * @return  string
     */
    function _clean_input_keys($str) {
        // if (!preg_match("/^[a-z0-9:_\/\.\[\]\\s-]+$/i", $str)) {
        if (!preg_match("/^[a-z0-9:_\/-àâçéèêëîôùû]+$|/i", $str)) {

            /**
             * Check for Development enviroment - Non-descriptive 
             * error so show me the string that caused the problem 
             */
            if (getenv('ENVIRONMENT') && getenv('ENVIRONMENT') == 'DEVELOPMENT')
                var_dump($str);
            exit('Disallowed Key Characters.');
        }

        // Clean UTF-8 if supported
        if (UTF8_ENABLED === TRUE) {
            $str = $this->uni->clean_string($str);
        }

        return $str;
    }

}

Simpan di core, dengan nama MY_Input.php….

Kalo udah, ini rest server bisa ditest pake rest client apa ajah … ini yang php:

	function upload_post() {
	 $uploaddir = ROOTPATH.'/foto/full/'; //exit(var_dump($uploaddir));
	    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

	    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
	        $this->response($uploadfile, 200);       
	    } else {
	        $this->response(array('error' => strip_tags($this->upload->display_errors())), 404);        
	    }
	}
	
		$this->load->helper('layout');
		
		$uploadpath = ROOTPATH.'/foto/real/'; //realpath('assets/doc/img/real/');
		$filedata = $_FILES['filedata']['tmp_name'];
		$filename = $_POST['filename'];
		if ($filedata != '' && $filename != '')
		    copy($filedata,$uploadpath.$filename);

		$this->load->library('image_moo');

        // Take The Foto, and IMO WORK!
        $source = $uploadpath.$filename; //exit(dump($source));

        /* SIMPEN FILE */
        $full_des = ROOTPATH."/foto/full/".$filename;          
        $medi_des = ROOTPATH."/foto/medium/".$filename;
        $smal_des = ROOTPATH."/foto/small/".$filename;
        $thum_des = ROOTPATH."/foto/thumbnails/".$filename;

        $medi_h = 342;
        $medi_w = 342;            
        $smal_h = 152;
        $smal_w = 152;
        $thum_h = 62;
        $thum_w = 62;

		$this->image_moo
            // Full
	        ->load($source)
	        ->resize(2000,2000)
	        ->round(10)
	        ->save($full_des,true)
	        
	        // Thumbnails
	        ->load($source)
	        ->stretch($thum_w,$thum_h)
	        ->round(10)
	        ->save($thum_des,true)
	        
	        // Small
	        ->load($source)
	        ->stretch($smal_w,$smal_h)
	        ->round(10)
	        ->save($smal_des,true)
	        
	        // Medium
	        ->load($source)
	        ->stretch($medi_w,$medi_h)
	        ->round(10)
	        ->save($medi_des,true)
        ;

kalo ini yang versi Codeigniter 2.x:

	function upload_post() {
	$status = "";
    $msg 	= "";
     
    if ($status != "error")
    {
        $config['upload_path'] = ROOTPATH.'/foto/full/';
        $config['allowed_types'] = 'gif|jpg|png|doc|txt';
        $config['max_size'] = 1024 * 8;
        $config['encrypt_name'] = FALSE;
 
        $this->load->library('upload', $config);
 
        if (!$this->upload->do_upload('userfile'))
        {
            $status = 'error';
            $msg = $this->upload->display_errors('', '');
        }
        else
        {
            $data = $this->upload->data();
            // $file_id = $this->files_model->insert_file($data['file_name'], $_POST['title']);
            if($data)
            {
                $status = "success";
                $msg = "File successfully uploaded";
            }
            else
            {
                unlink($data['full_path']);
                $status = "error";
                $msg = "Something went wrong when saving the file, please try again.";
            }
        }
        @unlink($_FILES[$file_element_name]);
    }
    echo json_encode(array('status' => $status, 'msg' => $msg));
	}

Udah Kelar!

source:

  1. http://stackoverflow.com/questions/7077666/codeigniter-and-restserver-how-to-upload-images/11163068#11163068
  2. http://toddish.co.uk/blog/ajax-file-upload-in-codeigniter-mvc/

[share] Addons Chrome Yang Dipakai Desta Untuk Development Web

Bismillah…

Kali ini bukan tulisan teknik, lebih kepada pengetahuan/ pemberitahuan addons browser chrome yang gw pake saat devel aplikasi web dengan php, diantaranya:

  1. Web Developer via http://chrispederick.com/work/web-developer/
  2. Poper Blocker via https://www.poperblocker.com/
  3. Wapplyzer via https://wappalyzer.com/download
  4. Postman
  5. PHP Docs-to-go (OFFLINE)
  6. Page Ruler
  7. WhatFont
  8. WindowResizer

Done.

Have a nice day!

 

[share] Cara Membuat Icon Tambahan Untuk Bootstrap

Bismillah…

Kali ini gw sedikit mau share kayak trick sih.. yang gw dapet dari link ini:

http://favbulous.com/post/1006/create-custom-icons-for-twitter-bootstrap-easily

Dari web tersebut kita akan disuruh membuka beberapa web sebagai tools/ alat pembuat icon diantaranya:

  1. http://www.famfamfam.com/lab/icons/silk/      <- ini icon sets
  2. http://spritegen.website-performance.org/    <– ini untuk generator css nyah

Langkah I, download icon set, bisa dari link diatas atau icon lainnya.. kurang lebih isi icon kayak gambar dibawah ini:

icon-1

Langkah II, upload semua icon ke link ke-2 kita ubah icon itu ke sprite (file image utuh) … nanti akan di generate sendiri oleh web itu menjadi code code css…  akan tercipta 2 file , png dan css nyah… kurang lebih hasilnya kayak gini:

sprite

Langkah III, kalo dari tutorial diatas kita disuruh perhatiin bbrpa point diantaranya:

  1. Gambar yang dibuat (generate) horizontal
  2. Horizontal Offset 5px
  3. Vertical Offset 5px
  4. Css Prefix rsp (terserah)

Kalo udah maka scriptnya akan keluar kayak gini:

.lang {
    background-image: url('image/url');
    background-repeat: no-repeat;
    display: block;
}
.lang-id { width: 16px; height: 11px; background-position: -5px -5px; }
.lang-us { width: 16px; height: 11px; background-position: -31px -5px; }

Langkah IV, kita mau integrasiin ke bootstrap,,, berikut codenyah (diambil dari script bootstrap):

/* icons */
[class^="rsp-"],
[class*=" rsp-"] {
  display: inline-block;
  width: 17px;
  height: 16px;
  *margin-right: .3em;
  line-height: 14px;
  vertical-align: text-top;
  background-image: url("icons/bahasa.png");
  background-position: 14px 14px;
  background-repeat: no-repeat;
}
[class^="rsp-"]:last-child,
[class*=" rsp-"]:last-child {
  *margin-left: 0;
}

.lang-id { width: 16px; height: 11px; background-position: -5px -5px; }
.lang-us { width: 16px; height: 11px; background-position: -31px -5px; }

DONE!

Gampang kok… kalo mu demo langsung aja ke sumber nyah … ini demo dari sumbernyah:

http://favbulous.com/demo/twitter-bootstrap-custom-icons/

[share] Ebook Python For Beginner – to – Entry or Like be Programmer Python

Bismillah…

Ini ada listnya:

  1. Python Dasar – POSS UPI
  2. Cepat Mahir Python – KuliahKomputer
  3. Membuat Aplikasi Bisnis Dengan Python (2003) – RAB
  4. Python Dasar – KuliahKomputer
  5. Plying With Pyhton – Indonesian Version
  6. Ptyhon Network Engginering – English Version
  7. intermediatepythongithubio

Gw juga baru 1 baca, yang pertama (1) haha..

Have A nice day!

[info] Author ‘desta’ bermain Python lagi

Bismillah..

Judulnya sedikit songong… huahaha.. yap, dulu sempet bermain python dan php, akhirnya milih php dulu karena kebutuhan dan kecepatan tanpa setting ini itu, yang akhirnya pilih php karena ada paket xampp yg sangat simple,, walaupun sempet juga share ngeyel bedanya python 2 dan 3 ada di alamat ini:

https://topidesta.wordpress.com/2011/01/23/python2-or-python3/

Tuh, tulisannya 2011 kan! heheheee… karena ilmu phpnya juga masih culun, gpp lah orang culun punya maenan baru lagi, yang pasti.. karena bekerja di depan komputer dengan lingkungan ‘web’ maka, javascript, html dan css wajib dipelajarin terus! aha, balik lagi gw ke python gegara di TIM gw juga lagi belajar python dannn… biar ada valueable kalo buat aplikasi web nantinya (si programmernya di hargai).

ternyata, searching sana sini lagi… bener bener lupa euy, python juga berkembang cepat, setelah beberapa programmer dunia menyadari bahwa mesin pencari google menggunakan python dan java sebagai logic searchingnya (mungkin, ilmu ngeyel lagi). akhirnya gw juga mau nyelem lagi dah ke python.. nah, berhubung gw suka sama standarisasi sebuah coding/ atau dengan kalimat bagusnya framework (standard kerja) yang artinya gw bisa fokus ke proses bisnis tanpa memikirkan style coding si programmer (jikalau nanti ada TIM nya), dan butuhlah kita ama yang namannya framework, kayak di PHP dulu, bener bener berguna dah kalo satu tim ada kerangka kerjanya.

Terus maksud tulisan ini apa? gak ada maksudnya, cuman mau ngasih tau, kali aja kita bisa sharing, sharing ilmu sharing project yang pake python.. bhahaaahbaah. Lagian, nubitol (newbie tolol) kayak gw mah jangan di anggep, kalo ibarat riak, gw salah satu jutaan riak itu, jadi gak ada ciri has bahkan bukan seorang yg bertalenta, cuman, bedanya gw cuman mau mencatat kejadian kejadian pembelajaran gw tentang teknik pemograman.

Doakan yah, semoga konsisten hingga akhir tahun, insyaAllah.. aamiin.

Have a nice day!