<?php
App::uses('Component', 'Controller');

/**
 * Helper para tratamento de caracteres especiais enviados por URL
 *
 * @author  Fabricio S Costa <fabriciojf@gmail.com> 
 * @since   13/03/2015   
 * @version 1.0
 */
class URLEscapeCodeComponent extends Component {
	
	/**
	 * Ajuste os parametros do default
	 * ele eh utilizado para envio pelo sistema
	 */
	public $codes = array(
			"=C2" => "<", 
			"=C3" => ">",
			"=C4" =>"#",
			"=C5" =>"{",
			"=C6" =>"{", 
			"=C7" =>"|", 
			"=C8" =>"\\", 
			"=C9" =>"^", 
			"=C0" =>"~", 
			"=D1" =>"[", 
			"=D2" =>"]", 
			"=D3" =>"`", 
			"=D4" =>";", 
			"=D5" =>"/", 
			"=D6" =>"?", 
			"=D7" =>":", 
			"=D8" =>"@", 
			"=D9" =>"*", 
			"=D0" => "&", 
			"=E1" =>"$", 
			"=E2" => "%",
			"=E3" => "(",
			"=E4" => ")",
			"=E5" => "!",
	);
	
	/**
	 * Decodifica a URL no padrao do sistema SMS em Java
	 * @param unknown $str
	 * @return unknown
	 */
	public function decode($str) {		
		foreach ($this->codes as $code => $value) {
		    $str = str_replace($code, $this->codes[$code], $str);
		}
		return $str;
	}
	
}