Arsip

Archive for the ‘PHP’ Category

Integrasikan Web Anda dengan Yahoo User Interface (YUI) Calendar

Dalam menciptakan sebuah web, kita kadang dituntut untuk dapat membuat user interface yang mudah untuk digunakan oleh user, contohnya seperti Popup Calendar. Yahoo menyediakan komponen-komponen yang dapat Anda integrasikan pada web yang Anda buat, yang dikenal dengan nama Yahoo User Interface (YUI). Salah satunya adalah Yahoo Calendar, yang digunakan untuk membuat Popup Calendar, seperti halnya Date Picker yang merupakan istilah dari beberapa bahasa pemrograman.

Dalam menciptakan sebuah web, kita kadang dituntut untuk dapat membuat user interface yang mudah untuk digunakan oleh user, contohnya seperti Popup Calendar. Yahoo menyediakan komponen-komponen yang dapat Anda integrasikan pada web yang Anda buat, yang dikenal dengan nama Yahoo User Interface (YUI). Salah satunya adalah Yahoo Calendar, yang digunakan untuk membuat Popup Calendar, seperti halnya Date Picker yang merupakan istilah dari beberapa bahasa pemrograman.
Dengan menggunakan komponen ini, kita sebagai pengembang web, dapat memberikan kemudahan kepada user dalam mengisikan field tanggal, yaitu hanya dengan memilih tanggal pada popup yang diberikan.
Berikut langkah-langkah dalam pembuatan Popup Calendar menggunakan YUI versi 2.2.2:
a. Siapkan pustaka YUI.
b. Buatlah sebuah halaman web, sebagai contoh Anda dapat melihat pada kode sumber berikut:

<!-- Created by Robertus Lilik Haryanto (lilik.haryanto@gmail.com) !-->
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>YUI Calendar</title>
   <link rel="stylesheet" href="lib/calendar.css" type="text/css">
   <link rel="stylesheet" href="lib/examples.css" type="text/css"><script type="text/javascript" src="lib/YAHOO.js"></script>
   <script type="text/javascript" src="lib/event.js" ></script>
   <script type="text/javascript" src="lib/calendar.js"></script>
   <script>
   var cal, calFilter;

   function init() {
      cal = new YAHOO.widget.Calendar2up("cal", "calContainer");
      cal.setChildFunction("onSelect", setDate);
      cal.title = "Expired Date";
      cal.render();
      this.link = document.getElementById('dateLink');
   }

   function showCalendar() {
      cal.outerContainer.style.top = (link.offsetTop+link.offsetParent.offsetTop+link.height) + "px";
      cal.outerContainer.style.left = (link.offsetLeft+link.offsetParent.offsetLeft-104) + "px";
      cal.outerContainer.style.display = 'block';
   }

   function setDate() {
      var dt = cal.getSelectedDates()[0];
      var date = (dt.getDate() < 10) ? "0" + dt.getDate() : dt.getDate();
      var month = (dt.getMonth() < 10) ? "0" + (dt.getMonth()+1) : (dt.getMonth()+1);
      var year = dt.getYear();

      if (date.length == 3) date = date.substr(1, 2);
      if (month.length == 3) month = month.substr(1, 2);
      if (navigator.appName.indexOf("Netscape") > -1) {
         document.getElementById("txtDate").value = date + "/" + month + "/" + (year + 1900);
      } else if (navigator.appName.indexOf("Internet Explorer") > -1) {
         document.getElementById("txtDate").value = date + "/" + month + "/" + year;
         cal.hide();
      }

      window.onload = function() {
      init();
   }
   </script>
</head>
<body>
   <h2>YUI Calendar, oleh Robertus Lilik Haryanto</h2>
   <input type="text" name="txtDate" id="txtDate" size="10" maxlength="10" readonly="readonly" />
   <a href="#" onclick="showCalendar()"><img id="dateLink" src="lib/pdate.gif" border="0" style="vertical-align:middle;margin:5px"/></a>
   <input type="button" name="btnClearDate" id="btnClearDate" value="Reset" onClick="this.form.txtDate.value='';"/>
</body>
</html>
<span id="calContainer" style="position:absolute;display:none"></span>

c. Sesuaikan pustaka YUI yang telah Anda siapkan dengan path pada file html di atas (calendar.css, examples.css, YAHOO.js, event.js, calendar.js). Selain itu, sesuaikan pula file-file gambar pada file calendar.js.
d. Coba Anda jalankan web di atas.Calendare. Jika Anda mendapatkan tampilan seperti gambar di atas, Anda berarti telah berhasil membuat Popup Calendar ini.
f. Selamat mencoba, dan nikmatilah menggunakan komponen-komponen dari Yahoo User Interface lainnya.Untuk lebih memperdalam pengetahua mengenai Yahoo User Interface (YUI), Anda dapat membaca tutorial atau manual yang terdapat di http://developer.yahoo.co/yui/.

Pengiriman Email Pada PHP Menggunakan Swift Mailer

Dalam dunia internet pada saat ini, email bukanlah suatu hal yang sulit didapatkan. Bahkan email dijadikan suatu identitas yang dibutuhkan dalam proses registrasi. Pada pemrograman PHP, disediakan fungsi mail() yang berfungsi untuk melakukan pengiriman email ke suatu atau beberapa alamat email. Dengan menggunakan Swift Mailer, yang merupakan API untuk pengiriman email di PHP, code PHP yang dibuat akan semakin mudah.

Berikut cara pengiriman email menggunakan Swift Mailer:

1. Pengiriman Email Standard

<?php
//Load in the files we'll need
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";

//Start Swift
$swift =& new Swift(new Swift_Connection_SMTP("smtp.your-host.tld"));

//Create the message
$message =& new Swift_Message("My subject", "My body");

//Now check if Swift actually sends it
if ($swift->send($message, "foo@bar.tld", "me@mydomain.com")) echo "Sent";
else echo "Failed";
?>

2. Pengiriman Email Berbentuk HTML

<?php
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";

$swift =& new Swift(new Swift_Connection_SMTP("server.tld", 25));

$message =& new Swift_Message("Some subject", "Your message <u>here</u>", "text/html");

if ($swift->send($message, "recipient@domain.tld", "you@home.tld"))
{
    echo "Message sent";
}
else
{
    echo "Message failed to send";
}

//It's polite to do this when you're finished
$swift->disconnect();
?>

3. Penanganan Kesalahan Dalam Pengiriman

<?php
//Load in the files we'll need
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";

try {
  //Start Swift
  $swift = new Swift(new Swift_Connection_SMTP("smtp.your-host.tld"));

  //Create the message
  $message = new Swift_Message("My subject", "My body");

  //Now check if Swift actually sends it
  $swift->send($message, "foo@bar.tld", "me@mydomain.com");
  echo "Sent";
} catch (Swift_Connection_Exception $e) {
  echo "There was a problem communicating with SMTP: " . $e->getMessage();
} catch (Swift_Message_MimeException $e) {
  echo "There was an unexpected problem building the email:" . $e->getMessage();
}
?>

4. Pengiriman Attachment

<?php
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/NativeMail.php"; //There are various connections to use

$swift =& new Swift(new Swift_Connection_NativeMail());

$message =& new Swift_Message("My subject");
$message->attach(new Swift_Message_Part("I have attached a file to this message!"));

//Use the Swift_File class
$message->attach(new Swift_Message_Attachment(
  new Swift_File("foo.pdf"), "foo.pdf", "application/pdf"));

$swift->send($message, "my-friend@host.tld", "me@my-domain.tld");
?>

5. Menambahkan Gambar pada Email Berbentuk HTML

<?php
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";

$smtp =& new Swift_Connection_SMTP("your.smtp.tld", 25);

$swift =& new Swift($smtp);

$message =& new Swift_Message("Your subject");

$img =& new Swift_Message_Image(new Swift_File("/path/to/image.jpg"));

$src = $message->attach($img);

$body =& new Swift_Message_Part("This email contains this image:<br />
<img src=\"" . $src . "\" /><br />
which is embedded", "text/html");

$message->attach($body);

if ($swift->send($message, new Swift_Address("joe@bloggs.com", "Joe"), new Swift_Address("system@domain.tld", "System")))
{
    echo "Message sent";
}
else
{
    echo "Sending failed";
}

//recommended to do this
$swift->disconnect();
?>

Selain menggunakan Swift Mailer, masih banyak API untuk pengiriman email lainnya di lingkungan PHP, antara lain PHPMailer, Zend_Mail, PEAR Mail, dll. Selamat mencoba!

Categories: PHP

Aplikasi Zodiak Dengan Web Service di PHP

Konsep teknologi Web Service muncul untuk mendukung sistem terdistribusi yang berjalan pada infrastruktur yang berbeda. Dengan adanya kombinasi dari XML (eXtensible Markup Language) dan HTTP (HyperText Transport Protocol), Web Service yang berbasiskan XML sangat mungkin untuk diimplementasikan. Bahkan teknologi Web Service ini mampu menggantikan fungsi dari beberapa teknologi yang serupa yang telah berkembang yaitu CORBA (Common Object Request Broker Architecture), DCOM (Dynamic Component Object Model), dan Java RMI (Remote Method Invocation).

abstract.png

SOAP (Simple Object Appication Protocol) dan beberapa teknologi yang didukung seperti WSDL (Web Service Description Language) dan UDDI (Universal Description Discovery, and Integration) merupakan kombinasi dari XML yang dikirimkan melalui HTTP. SOAP menyediakan transmisi data yang sederhana dan fleksibel, pemanggilan fungsi, pengembalian nilai, multiplatform, dan dapat dikembangkan dengan menggunakan berbagai bahasa pemrograman… [selengkapnya]

Categories: PHP, XML dan JSON