Kamis, 28 November 2013

Day 5– Upload File ke Folder Tertentu di Google Drive

Upload dokumen ke folder terntentu di google drive. Bagaimana caranya ?, terlebih dahulu login ke akun google drive masing-masing –> drive.google.com

1. Setelah itu, buat sebuah folder di google drive. Klik tanda centang –> Pilih More –> Share –> Share..Pada bagian Who has Access, Pilih Sharing Settings yang diinginkan, misalnya memilih Public on The Web. Copy link share dan simpan di notepad

2. Download google api php client library di –> https://code.google.com/p/google-api-php-client/ . Pilih latest release

3. Buat susunan file seperti ini, kumpulkan dalam satu folder proyek

image

4. isi file index.php dengan code berikut

<?php

session_start();
$url_array = explode('?', 'http://'.$_SERVER ['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$url = $url_array[0];

require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_DriveService.php';

$client = new Google_Client();
$client->setClientId('Client Id Anda');
$client->setClientSecret('Client Secret Anda');
$client->setRedirectUri($url);
$client->setScopes(array('https://www.googleapis.com/auth/drive'));

if (isset($_GET['code'])) {
    $_SESSION['accessToken'] = $client->authenticate($_GET['code']);
    header('location:'.$url);exit;
} elseif (!isset($_SESSION['accessToken'])) {
    $client->authenticate();
}


if (!empty($_POST)) {

    $fileName = $_FILES['dokumen']['name'];    

    if (move_uploaded_file($_FILES['dokumen']['tmp_name'], $fileName)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

    $client->setAccessToken($_SESSION['accessToken']);
    $service = new Google_DriveService($client);
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $parentId="Id Folder Anda di Google Drive";
    $file_path = str_replace('/','\\',dirname($_SERVER['SCRIPT_FILENAME'])).'/'.$fileName;
    $mime_type = finfo_file($finfo, $file_path);

//function insertFile($service, $title, $description, $parentId, $mimeType, $filename) {
  $file = new Google_DriveFile();
  $file->setTitle($fileName);
  $file->setDescription('This is a '.$mime_type.' document');
  $file->setMimeType($mime_type);

  // Set the parent folder.
  if ($parentId != null) {
    $parent = new Google_ParentReference();
    $parent->setId($parentId);
    $file->setParents(array($parent));
  }

  try {
    $data = file_get_contents($fileName);

    $createdFile = $service->files->insert($file, array(
      'data' => file_get_contents($file_path),
      'mimeType' => $mime_type,
    ));

    // Uncomment the following line to print the File ID
    // print 'File ID: %s' % $createdFile->getId();

    return $createdFile;
  } catch (Exception $e) {
    print "An error occurred: " . $e->getMessage();
  }
//}
    finfo_close($finfo);
    unlink($fileName);
    header('location:'.$url);exit;

}
include 'index.phtml';
?>

5. isi file index.phtml dengan form upload

<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8">
        <title>Google Drive Example App</title>
    </head>
    <body>
                <form method="post" action="<?php echo $url; ?>">
            <input type="submit" value="enviar" name="submit">
        </form>
    </body>
</html>

Selesai

image

image

Bila mengalami kendala dalam pembuatan, bisa tengok google drive API Reference –> https://developers.google.com/drive/v2/reference/

Rabu, 27 November 2013

Day 4– Membuat Modul PDF Online UnDownloaded

Tugas membuat modul pdf online yang hanya dapat dibaca tapi tidak bisa didownload..

Status: in Progress

Belum mendapatkan tutorial yang sesuai. Baru mendapatkan contoh code untuk otentikasi di google drive.

Tutorial dapat diilhat di –> http://www.eduardocasas.com/blog/05-12-2012/subiendo-archivos-a-google-drive-con-php

Source code dapat didownload di –> https://codeload.github.com/eduardocasas/Google-Drive-PHP-API-Simple-App-Example/zip/master

Contoh Hasil Aplikasi yang dijalankan:

image

image

image

nb:

Ada juga tutorial dasar dari google developer –> https://developers.google.com/drive/quickstart-php

Selasa, 26 November 2013

Day 3– Menyelesaikan Modul Customer Service Dinamis

Menyelesaikan modul customer service untuk fashion store

Backend:

image

image

Frontend:

image

notes:

browser itu memiliki cache untuk menyimpan data sementara. Celakanya kalau kita sedang editing web, terkadang ketika terjadi kesalahan seperti salah ketik atau melakukan perubahan, website masih tampil normal-normal saja. Akan tetapi ketika kita jalankan di online, ternyata eror..Misal Tampilan di online menjadi blank, padahal di offline tampilan normal (kemungkinan karena cache browser yang aktif).

Bila sudah terlanjur, coba lakukan tracing dengan menambahkan syntax sederhana, misal <?php echo “ok” ?>..Lakukan tracing secara berurutan dan berpindah-pindah bagian hingga eror ditemukan.

Aktifkan display_errors di php.ini , sehingga bila terjadi error ada error message-nya. Bila sudah final, atau diserah terima ke end-user, baru error message di nonaktifkan kembali agar tidak menggangu pemandangan.

Senin, 25 November 2013

Day 2–Membuat Widget Customer Service Statis

Membuat Widget Customer Service Statis

<div class="box">
<h4>Customer Service</h4>
<table border="0" cellpadding="4" cellspacing="0">
<tr><td>sen-Jum<td>8:00-16:30</td>
<tr><td>sabtu<td>8:00-15:00</td></tr>
<tr><td>admin</td><td><a href="ymsgr:sendIM?fashionstore">
<img src="http://opi.yahoo.com/online?u=fashionstore&m=g&t=1&rand=5292d14262f86" width=64 height=16 border=0 align="absmiddle"></a></td></tr>
<tr><td>telp<td>021-6621291/92</td></tr>
<tr><td>HP<td>021-6621282</td></tr>
<tr><td>BB<td>021-6621282</td></tr>
<tr><td>fax<td>021-6621282</td></tr>
<tr>
<td colspan="2"><a href="mailto:admin@fashionstore.com">admin@fashionstore.com</a></td>
</tr>
</table>
</div>

Result:

image

Sabtu, 23 November 2013

Day 1 - Belajar Code Igniter Lagi


Sebelumnya saya ucapkan terima kasih kepada mas Zaim selaku CEO Duxeos yang telah bersedia menerima saya untuk magang di perusahaannya :)
Setelah lama tidak coding krn lebih maen ke social media dan tulis menulis, hehe sebenarnya juga jarang coding..ingin rasanya kembali bisa coding..mengingat tuntutan kedepan yang cenderung menuju ke arah cloud computing..apa itu cloud computing ?, itu kurang lebih aplikasi kedepan akan semakin banyak yang dibuat agar bisa saling terkoneksi satu sama lain..bisa terhubung satu sama lain. Contoh: sekarang ini banyak aplikasi yang tak perlu mendaftar lagi karena sudah terhubung dengan facebook maupun google+, bepergian tak perlu repot2 bawa hardisk, karena untuk file-file penting bisa kita taruh di media penyimpan online seperti google drive, dropbox, dan kawan-kawannya. Ya kurang lebih seperti itu.


Back to topik, hari pertama belajar lagi mengenai code igniter, oleh mas zaim diberikan ebook panduan terkait pemrograman web (termasuk code igniter) untuk dibaca-baca, dipahami, diresapi, dan diamalkan..


Task day 1. Membuat Modul Tambahan Testimoni
Lupa-lupa inget dan baru baca-baca sedikit, dengan dibimbing oleh senior programmer Toto, modul mendekati hampir jadi.
Status : On Progress




tambahan tips.
* Salah satu background yang bisa dijadikan pilihan di notepad++ adalah Obsidian. terlihat soft, namun warna untuk pembeda syntax html, javascript, maupun php tetap terlihat jelas.