[tutorial] #2 Install CMS Canvas Untuk Website Profile Perusahaan

Bismillah…

Kali ini gw lagi pengen nulis teknik install cms canvas, just Info, halaman utama CMS Canvas sudah tidak ditemukan, alhamdulillah berhasil menemukan developer yang mengembangkan, yaitu pagestudiocms.com bisa diakses ya, next tutoral ke #3 bakal gw jelasin perbedaan yang lumayan banyak dari CMS Canvas dan PageStudio CMS, tapi kalo sekarang kita akan bahas CMSCanvas berbasis Codeigniter.

Upload seluruh folder di localhost/ hosting yang ada, kurang lebih nanti tampilannya seperti ini:

todo … proses upload ke hosting.

Advertisements

[share] Menambahkan Fungsi OTP Di SMS Gateway Gratisan Zenziva.NET

Bismillah…

Selagi santai dikantor dengan bejibun module yang sudah ada, iseng research and development tentang SMS Gateway yang Gratis dari Zenziva.net bisa gunakan API (Application Programable Interface) dimana kita bisa kirim sms geratis tapi dengan nomor random dari Web Zenziva (orang geratisan, haha) eh, keingetan dengan Fitur dari TokoCash.com Tokopedia, dimana mengirimkan kode OTP (One Time Password)  ke nomor handphone yang sudah didaftarkan, ibaratnya ada validasinya … keren keren … oya, sebelumnya penulis topidesta yaitu uda rifki juga pernah share tentang sms gateway bisa baca disini.

Nah, akhirnya jajal dulu, API dari Zenziva kalo kirim sms gimana, terus bisa!!… silahkan dilihat di github:

https://github.com/RSUP/ZENZIVA-PHP

nah, kan targetnya biar bisa OTP (One Time Password) akhirnya ubek ubek source github tentang otp-php … kan pake PHP test nya hahha, terdamparlah di sini:

https://github.com/anoopsg/Otp-php

Ternyata kagak langsung bisa coy, butuh oprek lagi … nah ada beberapa baris yang gw ubah (gw fork dulu githubnya),  berikut bbrp yang gw ubah, sedikit sih

public function __construct(){
		$this->url = "https://reguler.zenziva.net/apps/smsapi.php";
		$this->userkey = "USERKEY";       //include api key here
		$this->passkey = "PASSKEY";		
		$this->message = urlencode($this->message);
		$this->otp = 4;			
	}

udah kan ya, oya kalo butuh userkey dan passkey bisa daftar di zenziva langsung:

https://reguler.zenziva.net/

Okaylah, silahkan unduh/ fork github gw yang udah gw ubah ada dialamat ini:

https://github.com/RSUP/Otp-php/

Kagak usah gw jelasain ya, baca postingan uda rifki aja yang udah jelasin SMS GATEWAY.. kalo pada bingung komentar ajah, kalo sempet gw bales, maaf kalo lama bales, kadang males buka blog soalnya… hahaha

Have a Nice Day

[trick] Download File di Google Drive Yang Terkena Limit (Batasan)

Bismillah…

Pernah download file, tapi muncul kalimat seperti ini:

Maaf, Anda tidak dapat melihat atau mendownload file ini sekarang.

Baru-baru ini terlalu banyak pengguna yang telah melihat atau mendownload file ini. Harap akses kembali file nanti. Jika file yang Anda coba akses terlalu besar atau digunakan oleh banyak orang, butuh waktu 24 jam agar sebelum file dapat dilihat atau didownload. Jika Anda masih tidak dapat melihat file setelah 24 jam, hubungi administrator domain.

atau seperti gambar ini:

Ada beberapa langkah, diantaranya:

  1. Pilih tombol “Cetak”
  2. Akan muncul “Dialog Print” …,
  3. Pilih “Cancel” di menu dialog print
  4. Pilih tomobl “Download”.
  5. Selesai.

Akhirnya kita punya File yang sudah terlimit oleh Google Drive.

BONUS! VIDEO (GIF VERSION)

 

 

Have A Nice Day…

 

[trick] Pemanfaatan DropzoneJS dengan Codeigniter 2

Bismillah…

Kali ini ada trick memanfaatkan plugin js ke module API Prima SIMRS … berikut contoh video GIF singkatnya:

*Catatan: Divideo saya menggunakan Plugin Facebox.js untuk popup seperti itu.

Ikuti ajah tutorialnya disini ya:

  1. https://www.sandro.id/artikel/26-tutorial-upload-multiple-foto-dengan-ajax-dan-codeigniter-dropzone-js (Pemahaman Awal)
  2. https://www.startutorial.com/articles/view/dropzonejs-php-how-to-display-existing-files-on-server (Advanced)
  3. https://github.com/edomaru/ci_dropzone (Advanced)

Inget, sampai faham betul yah ikutin… kalo kali ini gw cuman share trick ajah, berupa script potongan. Kalo ikutin tutorial di Point 1 pasti akan menemukan script js berikut ini:

	Dropzone.autoDiscover = false;

	var foto_upload= new Dropzone(".dropzone",{
		url: "upload.php",
		maxFilesize: 2,
		method:"post",
		acceptedFiles:"image/*",
		paramName:"userfile",
		dictInvalidFileType:"Type file ini tidak dizinkan",
		addRemoveLinks:true,
	});


	//Event ketika Memulai mengupload
	foto_upload.on("sending",function(a,b,c){
		a.token=Math.random();
		c.append("token_foto",a.token); //Menmpersiapkan token untuk masing masing foto
	});


	//Event ketika foto dihapus
	foto_upload.on("removedfile",function(a){
		var token=a.token;
		$.ajax({
			type:"post",
			data:{token:token},
			url: "remove.php",
			cache:false,
			dataType: 'json',
			success: function(){
				console.log("Foto terhapus");
			},
			error: function(){
				console.log("Error");

			}
		});
	});

Ternyata script tersebut berhasil tapi yang gw butuhin tuh habis upload terus refresh halaman foto sebelumnya muncul lagi, nah ternyata ada di Point 3 script tersebut, berikut scriptnya:

// source: https://github.com/edomaru/ci_dropzone/
Dropzone.autoDiscover = false;

var myDropzone = new Dropzone(".dropzone", {
	url: "upload.php",
	acceptedFiles: "image/*",
	maxFilesize: 2,
	paramName:"userfile",
	dictInvalidFileType:"Type file ini tidak dizinkan",
	addRemoveLinks: true,
    // previewTemplate: document.querySelector('#preview-template').innerHTML,
    clickable: true,

	sending: function(a,b,c) {
		a.token 	= Math.random();
		c.append("token_foto",a.token); //Menmpersiapkan token untuk masing masing foto
	},

	removedfile: function(file) {

		var token= file.token;

		$.ajax({
			type: "post",
			url: "remove.php"+token,
			data:{token:token},
			dataType: 'json',
			cache:false,
		});
		// remove the thumbnail
		var previewElement;
		return (previewElement = file.previewElement) != null ? (previewElement.parentNode.removeChild(file.previewElement)) : (void 0);
	},

	init: function() {
		var me = this;
		$.get("<?php echo site_url();?>api/website/dokter/list_foto/", function(data) { //alert(data);
			// if any files already in server show all here
			if (data.length > 0) {
				$.each(data, function(key, value) {
					var mockFile = value;
					me.emit("addedfile", mockFile);
					me.emit("thumbnail", mockFile, "<?php echo ROOTURL; ?>/foto/real/" + value.name);
					me.emit("complete", mockFile);

				    var a = document.createElement('a');
				    a.setAttribute('href',"<?php echo ROOTURL; ?>/foto/real/" + value.name);
				    a.innerHTML = "Download<b>";
				    value.previewTemplate.appendChild(a);

				});
			}
		});
	}
});

Nah udah deh, foto yang pernah ke upload keliatan juga akhirnya.

Done.

Have a Nice Day!

[trick] Load CSS dan JS di Github

Bismillah…

Trick ini digunakan untuk menghemat bandwith dan meload data js/ css berdasarkan server terdekat, tanpa langsung ke hosting kita, yang mengakibatkan ‘high load trafic‘ dengan memanfaatkan github kita bisa menambahkan kecepatan dan kehematan sekitar 25% lebih, berdasarakn web tools pingdoms.

https://tools.pingdom.com/

Caranya?

  1. Siapkan File CSS/ JS.
  2. Buat akun github, upload file CSS/ JS yang sudah siap.
  3. Copy file URL dari github, baik css/ js.
  4. Paste file URL ke rawgit
  5. Selesai

Simple kan!?nah, ternyata ada kelebihan dan kekurangannya…

Kekurangan:

  1. Data menjadi public jika diset jadi public (free version).
  2. Setiap perubahan content file, harus men-generate ulang ke rawgithub
  3. Sourcecode HTML bisa dipakai orang lain.

Pasti ada kelebihan:

  1. Load trafic hosting kecil.
  2. Load data website cepat
  3. Kita fokus ke content data.
  4. dll

Itu aja sih yang gw tahu, dan sepengalaman ajah…

Have A Nice Day!

Credit:

  1. Github.com
  2. RawGit.com
  3. Tools.pingdom.com

 

[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