001 /** 002 * Implements the CFML Function getprofilestring 003 */ 004 package railo.runtime.functions.system; 005 006 import java.io.IOException; 007 008 import railo.commons.io.ini.IniFile; 009 import railo.commons.io.res.Resource; 010 import railo.commons.io.res.util.ResourceUtil; 011 import railo.runtime.PageContext; 012 import railo.runtime.exp.PageException; 013 import railo.runtime.ext.function.Function; 014 import railo.runtime.op.Caster; 015 016 public final class GetProfileString implements Function { 017 public static String call(PageContext pc , String fileName, String section, String key) throws PageException { 018 try { 019 Resource res = ResourceUtil.toResourceNotExisting(pc,fileName); 020 if(!res.isFile()) return ""; 021 022 IniFile ini = new IniFile(res); 023 String str=ini.getKeyValueEL(section, key); 024 if(str==null) return ""; 025 return str; 026 } 027 catch (IOException e) { 028 throw Caster.toPageException(e); 029 } 030 } 031 }