[share] Error yang sering muncul dalam pengembangan aplikasi web Laravel

Bismillah…

Kali ini, tentang error yang sering terjadi dalam pengembangan web application berbasis laravel and the gank.. oya dulu juga gw pernah share tentang codeigniter juga, error yang sering muncul ini dia, haduh belum apa apa gw udah kesulitan haha, oya spesifikasi os, pakai debian 9, dari distribusi Q4OS semua searching aja di google, ada semua!, oke, diantara error yang muncul saat mau install laravel dengan perintah laravel ini:

$ laravel

bash: laravel: command not found

nah, ada tricknya ternyata:

  1. Cari tahu dimana compser/ php berada dengan printah : whereis composer/vendor/bin
  2. terus ketik diterminal, $ echo $PATH;
  3. https://stackoverflow.com/a/26376773 dijelaskan dimana path composer berada
  4. https://stackoverflow.com/a/27915343 dan dijelaskan cara melakukan path ke autoload bash
  5. kalo kagak berhasil coba langkah ini: https://stackoverflow.com/a/41476969
500 Internal server error
Error in exception handler.

itu kalo di linux, permission forlder, ketik printah ini:

chgrp -R www-data app/storage
</code>AND<code>chmod -R 775 app/storage
sumber:<a href="https://stackoverflow.com/a/23207524">https://stackoverflow.com/a/23207524</a>

The bootstrap/cache directory must be present and writable.

 

composer update && php artisan cache:clear
sumber: <a href="https://stackoverflow.com/a/43810756">https://stackoverflow.com/a/43810756</a>
kenapa .env gak ada? 
1. Update laravel installer, gunakan composer untuk create project
2. lakukan printah ini: cp .env.example .env && php artisan key:generate (copy file .env terus generate)
sumber: <a href="https://stackoverflow.com/a/29915688">https://stackoverflow.com/a/29915688</a>
Advertisements

[share] Laravel kita icip icip untuk Project Selanjutnya

Bismillah…

Karena ada project dari temen yang butuh pengembangan dengan teknologi laravel, vuejs dan nodejs … akhirnya gw belajar laravel, pokoknya trick and trip tentang laravel akan menambah wawasan blog ini, oya termasuk vuejs dan nodejs ya…

instalasi laravel bisa diakses disini (laravel 5.4):

  1. https://laravel.com/docs/5.4
  2. https://stackoverflow.com/questions/26376516/laravel-php-command-not-found

nah itu sekedar informasi sederhana, next akan ada trick and trip (insyaAllah).

Have a nice day!

 

[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.

[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!

Advertisements