Java – Get Current URL in Liferay

Di Liferay ada beberapa macam URL yang bisa dimanfaatkan untuk keperluan membuat Custom Portlet atau modifikasi lainnya. Berikut adalah contoh source code untuk mengambil / mendapatkan beberapa jenis URL di Liferay :

HttpServletRequest servletRequest = PortalUtil.getHttpServletRequest(request);
String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(servletRequest);

try {
	String renderCurrentURL 			= PortalUtil.getCurrentURL(request);
	String servletRequestCurrentURL 	= PortalUtil.getCurrentURL(servletRequest);
	String canonicalURL					= PortalUtil.getCanonicalURL(currentCompleteUrl, themeDisplay, themeDisplay.getLayout());
	String homeURL						= PortalUtil.getHomeURL(servletRequest);
	String currentPageURL				= PortalUtil.getPortalURL(themeDisplay)+themeDisplay.getLayout().getFriendlyURL();
	String portalUrl 					= PortalUtil.getPortalURL(request);
	String servletRequestPortalUrl 		= PortalUtil.getPortalURL(servletRequest);
	String themedisplayPortalUrl  		= PortalUtil.getPortalURL(themeDisplay);
	String themedisplaylayoutPortalUrl 	= PortalUtil.getPortalURL(themeDisplay.getLayout(), themeDisplay);
	String portalWebDir 				= PortalUtil.getPortalWebDir();
	String portalLibDir 				= PortalUtil.getPortalLibDir();
	
	System.out.println("currentCompleteUrl: "+currentCompleteUrl);
	System.out.println("renderCurrentURL: "+renderCurrentURL);
	System.out.println("servletRequestCurrentURL: "+servletRequestCurrentURL);
	System.out.println("canonicalURL: "+canonicalURL);
	System.out.println("homeURL: "+homeURL);
	System.out.println("currentPageURL: "+currentPageURL);
	System.out.println("portalUrl: "+portalUrl);
	System.out.println("servletRequestPortalUrl: "+servletRequestPortalUrl);
	System.out.println("themedisplayPortalUrl: "+themedisplayPortalUrl);
	System.out.println("themedisplaylayoutPortalUrl: "+themedisplaylayoutPortalUrl);
	System.out.println("portalWebDir: "+portalWebDir);
	System.out.println("portalLibDir: "+portalLibDir);
} catch (Exception e) {
	e.printStackTrace();
}

Source code java tersebut diatas silahkan dimasukkan ke dalam Package di environment development Liferay kalian. Dan jangan lupa mengganti atau menghapus System.out.println(); jika ingin deploy ke Liferay Portal kalian. Script tersebut hanya digunakan jika kalian perlu menampilkan langsung di console sebelum deploy ke server.
Berikut contoh hasil dari source diatas :

/**
currentCompleteUrl: http://localhost:8080/organization?selectedCard=Organization&cardViewState=Listview
renderCurrentURL: /organization?selectedCard=Organization&cardViewState=Listview
servletRequestCurrentURL: /organization?selectedCard=Organization&cardViewState=Listview
canonicalURL: http://localhost:8080/organization?selectedCard=Organization&cardViewState=Listview
homeURL: http://localhost:8080/web/guest
currentPageURL: http://localhost:8080/organization
portalUrl: http://localhost:8080
servletRequestPortalUrl: http://localhost:8080
themedisplayPortalUrl: http://localhost:8080
themedisplaylayoutPortalUrl: http://localhost:8080
portalWebDir: /opt/liferay/tomcat-7.0.42/webapps/ROOT/
portalLibDir: /opt/liferay/tomcat-7.0.42/webapps/ROOT/WEB-INF/lib/
**/

Semoga bermanfaat ūüôā

Check If User Already Login in Liferay

Ada beberapa metode / cara untuk mengecek apakah user dalam posisi login (signed in) atau belum di Liferay Portal. Bisa melalui JSP, VM File (Template / Theme), Java, Web Content Template dan Javascript, berikut detail dari masing-masing metode diatas untuk melakukan pengecekan apakah user Liferay Portal sudah login atau belum.

VM File (Template / Theme Code)

 
#if (!$is_signed_in) 
SUDAH LOGIN 
#else 
BELUM LOGIN 
#end

JSP File (Portlet)

 
<!-- Import Object From Theme --> 
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %> 
<liferay-theme:defineObjects /> 

<!-- Sample --> 
<% 
String kgScreenName = ""; 
if (themeDisplay.isSignedIn()) { 
kgScreenName = UserLocalServiceUtil.getUser(PortalUtil.getUserId(request)).getScreenName(); 
} 
%>

<div><%=kgScreenName%></div>

Java

 
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); 
boolean signedIn = themeDisplay.isSignedIn();

kemudian kalian bisa manfaatkan variabel signedIn diatas untuk keperluan file jsp di portlet yang kalian punya dengan cara berikut :

<% String signedIn = (String) request.getAttribute("signedIn"); %>

Web Content Template

 
#set ($isSignedIn = $request.get("remote-user"))
#if ($isSignedIn!='') 
#else 
#end 

Javascript

 
$(document).ready(function(){ 
if((Liferay.ThemeDisplay.isSignedIn())){ 
alert('Sudah Login'); 
} 
});

Semoga bermanfaat ūüôā

PostgreSQL Query List All Tables & Get Total Record / Row

Jika¬†kalian mempunyai suatu database PostgreSQL dengan banyak tabel di dalam schema databasenya, dan ingin mengetahui berapa total record / row dari masing-masing tabel tersebut, cukup pakai query postgre yang sangat simple namun sarat makna ūüėÄ dibawah :

List All Tables

Continue reading

Atasi Masalah Loading Lama Kirim Email Menggunakan SENDMAIL

Kirim Email PHP

Tempo hari saya ada tugas untuk setting mail service di satu server milik teman, kebetulan dia pakai OS Ubuntu yang belum bisa digunakan untuk mengirim email dari servernya.

Dia sudah membuat sebuah aplikasi berbasis PHP untuk mengirim email broadcast ke seluruh pelanggan di aplikasinya, namun masih gagal. Setelah saya bantu cek ternyata memang service untuk mail di Ubuntu miliknya belum pernah diinstall & konfigurasi.

Kemudian saya coba install modul sendmail terlebih dahulu di Server Ubuntu miliknya melalui terminal / command line menggunakan perintah ini : Continue reading

Pengolahan Citra Digital PHP

Pengolahan Citra Digital Dengan PHP – Part 4

Terkait respon dari pengunjung yang akhir-akhir ini kembali membludak terkait postingan sebelumnya yaitu Source Code Olah Citra Digital dengan PHP Part 3, maka bersama dengan postinga Part 4 ini saya ingin kembali membagikan Source Code Full PHP untuk contoh Pengolahan Citra Digital dengan berbagai efek yang sama dengan Part 2, fitur-fitur yang ada di dalam Olah Citra Digital versi terbaru ini diantaranya adalah :

  1. Histogram Standar
  2. Histogram Ekualisasi
  3. Logical Operation
  4. Image Flip
  5. Cropping
  6. Noise Elimination
  7. Threshold
  8. Edge Detection
  9. Gaussian Blur
  10. Emboss Image
  11. Sharpen Image

olah_citra_digital_php

Apa Yang BARU?

  1. Support PHP Versi Terbaru
  2. Bug Fix
  3. Dilengkapi Contoh

Semua fitur diatas menggunakan pemrograman PHP, yang bisa kalian pelajari lebih lanjut dengan Download Source Code Pengolahan Citra Digital Terbaru ini (Tanpa Survey). Selamat mencoba dan silahkan dikembangkan. Jika ada yang ingin ditanyakan mengenai metode atau mekanisme kerjanya seperti apa, silahkan komentar dibawah ini.

download_source_code_pcd_php