<?php

/**
 * envio_correo actions.
 *
 * @package    contratacion
 * @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 executeList(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 Notificacion de Nuevo Proceso";
            }

            //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"])) {


                //Obtenemos la entidad
                $array = sfYaml::load(dirname(__FILE__) . '/../../../../api/config/app-gwt.yml');
                $int = 0;
                foreach ($array as $routeName => $routeData) {
                    //echo $routeName . "\n";
                    if ('correoEnvio' == $routeName) {
                        foreach ($routeData as $key => $value) {
                            //echo $value . "\n";
                            if ($key == 'value') {
                                $email_envio = $value;
                            }
                        }
                    }
                    $int++;
                }

                $request["email_envio"] = $email_envio;
            }

            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 = "Notificacion de Creación de Proceso";

            $adjunto = false;

            /*
             * 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());
        }
    }

}
