<?php

/**
 * envio_correo actions.
 *
 * @package    nomina
 * @subpackage envio_correo
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class envio_correoActions extends sfActions {

    /**
     * Carga el archivo adjunto
     * 
     * @param sfWebRequest $request
     */
    public function executeIndex(sfWebRequest $request) {

        $this->logMessage("---BEGIN Logging request");
        foreach ($request->getPostParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
            if ($value == 'null') {
                unset($request[$key]);
            }
        }
        $this->logMessage("--------------------------------------------------*  Ip: " . $_SERVER['REMOTE_ADDR']);
        foreach ($request->getGetParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $this->logMessage("---END Logging request");


        try {
            $this->logMessage(">>>> envio_correo");

            $ruta = getcwd() . "/uploads/modelos";

            $this->logMessage("[envio_correo] Ruta: " . $ruta);

            /**
             * Variables
             */
            $i = 0;

            //Mensaje
            if (!isset($request["mensaje"])) {
                $request["mensaje"] = "Envió de Notificación de Funciones.";
            }

            //Email Para
            if (!isset($request["email"])) {
                $request["email"] = $request["email_envio"];
            } else {
                if ($request["email"] == null || $request["email"] == '' || $request["email"] == 'null') {
                    $request["email"] = $request["email_envio"];
                }
            }
            //Email Envio
            if (!isset($request["email_envio"])) {
                $request["email_envio"] = "sofhouse@sofhouse.net";
            }

            if (!isset($request['progress_key'])) {
                $request['progress_key'] = 'progress_key';
            }

            if (!isset($request['username'])) {
                $request['username'] = 'sofhouse';
            }

            //si teien mensaje extra en datos_usuario
//            $request["mensaje_extra"] = "";

            /*
             * For parametros
             */
            $datos_usuario = array();
            if (isset($request["parametros"])) {
                $datos_usuario = explode('/', $request["parametros"]);
            }

            $subject = $request["subject"];

            $adjunto = true;

            /*
             * Variable Memcache
             */
            $progress_key = $request['progress_key'] . $request['username'];
            $this->logMessage("Valor de progress_key: " . $progress_key);

            $array_adjuntos = array(
                '1-Funciones empleo Director Tecnico Asuntos Nucleares.docx' => 'cargo/1- Funciones empleo Director Tecnico Asuntos Nucleares.docx',
                '2-Competencias comunes.docx' => 'nivel/2- Competencias comunes.docx',
                '3-Competencias nivel directivo.docx' => 'nivel/3-Competencias nivel directivo.docx'
            );

            /**
             * Envio de correo
             */
            $currentUri = "";
            CN_TABLE::envioCorreo($request, $datos_usuario, $subject, $currentUri, $ruta, $adjunto, $progress_key, $array_adjuntos);

            MemcacheHandler::getInstance()->set($progress_key, 100);
            $this->logMessage("Fin de envio de correos.");


            $this->status = 0;
            $this->list_data = array(array('Envio de correo terminado'));
            echo 'Envio de correo terminado';
            exit();
        } catch (Exception $e) {
            $this->status = 1;
            $this->mensajeError = "ERROR!!!";
            $this->logMessage("ERROR!!!");
            $this->logMessage($e->getMessage());
        }
    }

}
