<?php
/**
 * Joomla! 1.5 component simpleimage
 *
 * @version $Id: controller.php 2010-06-09 12:02:32 svn $
 * @author Darlinton Prauchner
 * @package Joomla
 * @subpackage simpleimage
 * @license GNU/GPL
 *
 * Componente para o envio de imagens com legenda e redimensionamento automático.
 *
 * This component file was created using the Joomla Component Creator by Not Web Design
 * http://www.notwebdesign.com/joomla_component_creator/
 *
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

jimport( 'joomla.application.component.controller' );
if (FRONT_PAGE_VIEW === true)
{
    require_once( JPATH_COMPONENT_ADMINISTRATOR.DS.'helpers'.DS.'SimpleImage.php' );
    require_once( JPATH_COMPONENT_ADMINISTRATOR.DS.'models'.DS.'simpleimage.php' );
}
/**
 * simpleimage Controller
 *
 * @package Joomla
 * @subpackage simpleimage
 */
class SimpleimageController extends JController {
    /**
     * Constructor
     * @access private
     * @subpackage simpleimage
     */
    function __construct() {
        //Get View

		if(JRequest::getCmd('view') == '') {
			JRequest::setVar('view', 'default');
		}
		$this->item_type = 'Default';
		parent::__construct();

    }
	
	function upload()
	{
		global $mainframe;
		if ($_POST["tipoEnvio"] == "categoria")
		{
			$destino = ABSOLUTE_STORIES_DIR.$_POST['nomeCategoria'].DS.date(Y).DS.date(m).DS;
		}
		else
		{
			if ($_POST["tipoEnvio"] == "galeria")
			{
				if (trim($_POST['nomeNovaGaleria']) != '')
				{
					$nome = JFilterOutput::stringURLSafe($_POST['nomeNovaGaleria']);
					$destino = ABSOLUTE_GALERIA_DIR.$nome.DS;
				}
				else
				{
					$destino = ABSOLUTE_GALERIA_DIR.$_POST['galeriaExistente'].DS;
				}
			}
			
			if ($_POST["tipoEnvio"] == "banner")
			{
				$destino = ABSOLUTE_BANNER_DIR;
			}
		}
		
		if (!is_dir($destino))
			mkdir($destino, 0777, true);


		$upload = new SimpleImage();
		$files = $_FILES;
		$usuarioSelecionouPeloMenosUmaImagem = false;
		for ($x = 0; $x<count($files["imagem"]["name"]); $x++)
		{
			if (in_array($files["imagem"]["type"][$x], array('image/jpeg', 'image/pjpeg', 'image/png', 'image/gif', 'image/jpg')))
			{
				$usuarioSelecionouPeloMenosUmaImagem = true;
				$upload->load($files["imagem"]["tmp_name"][$x]);
				$nomeimagem = JFilterOutput::stringURLSafe($files["imagem"]["name"][$x]).date("his");
	
				if ($upload->getWidth() > $_POST["redimensionamento"][$x] && $_POST["redimensionamento"][$x] != 0)
				{
					$upload->resizeToWidth($_POST["redimensionamento"][$x]);
				}
				$upload->save($destino.$nomeimagem."_gr.jpg");
													 
				if ($_POST["tipoEnvio"] == "categoria")
				{
					if ($upload->getWidth() > $_POST["miniatura"][$x] && $_POST["miniatura"][$x] != 0)
					{
						$upload->resizeToWidth($_POST["miniatura"][$x]);
					}
					$upload->save($destino.$nomeimagem.".jpg");
				}
				if ($_POST["descricao"][$x])
				{
					file_put_contents($destino.$nomeimagem."_gr.txt", htmlspecialchars($_POST["descricao"][$x]));
				}
			}
			else
			{
				if ($files["imagem"]["name"][$x])
					$erro .= "'".$files["imagem"]["name"][$x]. "', ";
			}
		}
		
		$erro = substr($erro, 0, strlen($erro)-2);

		if ($erro)
		{
			$msg = JText::_( 'THE_FILE_EXTENSIONS').$erro.JText::_( 'IS_NOT_ALLOW');
		}
		else
		{
			if (!$usuarioSelecionouPeloMenosUmaImagem)
			{
				$msg = JText::_( 'SELECT_ONE_FILE');
			}
			else
			{
				if ($_POST["tipoEnvio"] == "galeria")
					$galeria = str_replace(COM_SIMPLEIMAGE_STORIES_DIR.DS, "", str_replace(ABSOLUTE_GALERIA_DIR, COM_SIMPLEIMAGE_GALERIA_DIR, $destino));
				$msg = JText::_( 'FILE_SAVE_SUCESS');
			}
		}


		JRequest::setVar("msg", $msg);
		JRequest::setVar("galeria", $galeria);
		
		if (FRONT_PAGE_VIEW === true)
		{
			$menu = &JSite::getMenu();
			$items	= $menu->getItems('link', 'index.php?option=com_simpleimage&view=default');
			$itemid = isset($items[0]) ? '&Itemid='.$items[0]->id : '';
			$mainframe->redirect(JRoute::_('index.php?option=com_simpleimage'.$itemid.'&msg='.$msg.'&galeria='.$galeria, false));
		}
		else
		{
			$mainframe->redirect('index.php?option=com_simpleimage&msg='.$msg.'&galeria='.$galeria);	
		}
	}
}
?>