<?php

/**
 * co_send_mail actions.
 *
 * @package    contratacion
 * @subpackage co_send_mail
 * @author     Manuel Enrique Paredes Lopez
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class co_send_mailActions extends sfActions {

     /**
     * Executes list action
     *
     * @param sfRequest $request A request object
     */
    public function executeList(sfWebRequest $request) {

        //Revisar que sea post
        //$this->forward404Unless($request->isMethod('post'));
        //Guardar los parametros del request en el log
        $this->logMessage("---BEGIN Logging request");
        foreach ($request->getPostParameters() as $key => $value) {
            $this->logMessage("request[$key] = $value");
        }
        $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('Entro en estado general');
                    
                     /*
             * (SGC-1, ANM-2, SGR-3, CYC-4, COL-5, INCI-6, LOCAL-7)
             */
            $array = sfYaml::load(dirname(__FILE__) . '/../../../config/app-gwt.yml');

            $int = 0;
            foreach ($array as $routeName => $routeData) {
                //echo $routeName . "\n";
                if ('entidad_cliente' == $routeName) {
                    foreach ($routeData as $key => $value) {
                        //echo $value . "\n";
                        if ($key == 'value') {
                            $entidadCliente = $value;
                        }
                    }
                }
                if ('correoEnvio' == $routeName) {
                    foreach ($routeData as $key => $value) {
                        //echo $value . "\n";
                        if ($key == 'value') {
                            $correoEnvio = $value;
                        }
                    }
                }
                if ('jasper_url' == $routeName) {
                    foreach ($routeData as $key => $value) {
                        //echo $value . "\n";
                        if ($key == 'value') {
                            $url_jasper = $value;
                        }
                    }
                }
                if('serviceHtml_url'==$routeName){
                    foreach ($routeData as $key =>$value){
                        if($key=='value'){
                            $url_html=$value;
                        }
                    }
                }
                
                
                $int++;
            }
                    
                    
                    
                    $this->logMessage('CONSULTO VARIABLES DE ARCHIVOS!!!');
                    
                    
                    
                    
                    if(isset($request['id_estudios_previos'])){
                        
                        $id_estudios_previos = $request['id_estudios_previos'];
                        
                    }else{
                        
                        
                        $id_estudios_previos= 0;
                        
                        
                    }
                    if($entidadCliente==2){
              
                    /*
                     * GENERAMOS Los dos reportes 
                     */
                        //BORRADOR EP
                        $nombreArchivo = "estudios_previos_".$id_estudios_previos;
                        $nombre_reporte_uno = $nombreArchivo.".pdf";
                        $this->logMessage("estudio_previo :".$nombreArchivo);
                        $this->logMessage("PHP URI:!!".$url_html);
                        //Generamos PDF JASPER
                        $url = $url_html;
                        $url = $url . 'co_pdf_ep/pdf_borrador';
                        $url = $url . '?id_estudios_previos=' .$id_estudios_previos;
                        $url = $url . '&save=true';//tag_adjunto_modulo
                        
                        $adjunto_nombre=$nombre_reporte_uno;
                        
                        
                                               
                        $this->logMessage('URISS!!!');
                        $this->logMessage('URL--'.$url);
                        $ch = curl_init($url);
                        
                        //Parametros de retorno en cURL
                        curl_setopt($ch, CURLOPT_HEADER, 0);

                        //Ejecuta la petición
                        $rta = curl_exec($ch);
                        //Se cierra la conexión
                        curl_close($ch); 
                        
                        
                         $this->logMessage('REGRESO');
                        
                        
                        
                        $this->logMessage(' PREPARO ENVIO');
            
                        $uploadDir = sfConfig::get("sf_upload_dir");
                        $adjunto = true;
                        $ruta = $uploadDir.'/adj_estudios_previos/';
                        $array_adjuntos = array(
                                    $adjunto_nombre => $adjunto_nombre
                                  // $nombre_reporte =>  $nombre_reporte
                        );
                          //$array_adjuntos=array();  
                        
                        
                        
              
              
              
                    
                    $this->conn = Doctrine_Manager::getInstance()->getCurrentConnection();
                    $this->conn->beginTransaction();
                
                                $sql = "
                     SELECT tab0.dia_sistema||' de '||tab0.mes_sistema||' del '||anho_sistema AS FECHA_SISTEMA
                        from(
                         select LPAD(to_char(sysdate,'dd'),2,'0') as dia_sistema,
                         trim(initcap(to_char(sysdate,'MONTH','nls_date_language=spanish'))) as mes_sistema,
                         TO_CHAR(sysdate,'yyyy') as anho_sistema
                         from dual
                     )tab0
                     ";

                    $records = CN_TABLE::executeSQL($sql);
                    $fecha_creacion = $records[0]['fecha_sistema'];
                    
                                        $sql = <<<EOD
                   select tab0.*, interc.mail from co_estudios_previos_v tab0 
                    left join INTERCEROS_DU_DIR_V interc ON tab0.id_supervisor=interc.id_mae_ter   
                    where tab0.id_estudios_previos = $id_estudios_previos
EOD;

                    $records = CN_TABLE::executeSQL($sql);
                    $nroestudio = $records[0]['id_estudios_previos'];
                    $responsable = $records[0]['nombre_responsable'];
                    $supervisor = $records[0]['razon_soc_sup'];
                    $area = $records[0]['area'];
                    $valor = $records[0]['valor'];
                    $valor = number_format($valor);
                    $modalidad = $records[0]['modalidad'];
                    $abogado = $records[0]['abogado'];
                    $proceso = $records[0]['proceso'];
                    $objeto = $records[0]['descripcion'];
                    $email_supervisor=$records[0]['mail'];
                    


                    $currentUri = "";
                
                     //PARAMETROS GENERALES

                    

                    if (!isset($request["email_envio"])) {
                        $request["email_envio"] = $correoEnvio;
                    }
                    //$adjunto = false;
                    //$ruta = "";
                    
                    /*
                     * Variable Memcache
                     */
                     
                    $progress_key = $request['progress_key'] . $request['username'];
                    $this->logMessage("Valor de progress_key: " . $progress_key);

                    //$array_adjuntos = array();
                    
                    $documento='ANM';
                    $tipo_doc='1';
                    $email='contratacion@anm.gov.co';
                    //$email='mparedes@sofhouse.net';
                    $nombre='Talento Humano';
                    $rol='Usuario de Talento Humano';
                
                    $parametros = $documento . ";".$tipo_doc.";" . $email . ";" . $nombre . ";Envio notificacion";

                        $datos_usuario = array();

                        if ($parametros != "") {
                            $datos_usuario = explode('/', $parametros);
                        }
                        
                        
                        
                        
                        $subject = "SOLICITUD CERTIFICADO INSUFICIENCIA DE PERSONAL";
                    
                    //CUERPO DEL MENSAJE
                        $body = "<html><body> </body></html>";
//Body
                        $body = <<<EOD
                <html><body> 
                <br/>
                Bogotá, $fecha_creacion
                <br/>
                <br/>
                Señor(a)<br/>
                $nombre<br/>
                $rol
                <br/><br/>
                Se registro el Estudio previo número $nroestudio con los siguientes datos; y por lo cual se solicita expedir el certificado de insuficiencia de personal.<br/><br/>
                <b>No. Estudio Previo</b> $nroestudio<br/><br/>
                <b>Valor Estudio Previo:</b> $valor<br/><br/>
                <b>Area:</b> $area<br/><br/>
                <b>Responsable:</b> $responsable<br/><br/>
                <b>Supervisor:</b> $supervisor<br/><br/>
                <b>Objeto o Contratista:</b> $objeto<br/><br/>
                <br/><br/>
                </body></html>
EOD;
                         CN_TABLE::envioCorreo($request, $datos_usuario, $subject, $currentUri, $ruta, $adjunto, $progress_key, $array_adjuntos, $body);
                
                         
                         
                         
                
                        if($email_supervisor!=null   && preg_match('/^([a-z0-9_\.-]+)@anm\.gov\.co$/', $email_supervisor)){
                            
                            
                            $documento='ANM';
                    $tipo_doc='1';
                    
                    $nombre='Supervisor';
                    //$rol='Usuario de Talento Humano';
                
                    $parametros = $documento . ";".$tipo_doc.";" . $email_supervisor . ";" . $nombre . ";Envio notificacion";

                        $datos_usuario = array();

                        if ($parametros != "") {
                            $datos_usuario = explode('/', $parametros);
                        }
                        
                        
                        
                        $subject='INFORME REGISTRO DE ESTUDIO PREVIO';
                        
                        //CUERPO DEL MENSAJE
                        $body = "<html><body> </body></html>";
//Body
                        $body = <<<EOD
                <html><body> 
                <br/>
                Bogotá, $fecha_creacion
                <br/>
                <br/>
                Señor(a)<br/>
                $supervisor<br/>
                <br/><br/>
                Se notifica que el dia de hoy ha sido realizado el registro del estudio Previo Número $nroestudio , al cual usted ha sido asignado como supervisor.<br/><br/>
                <b>No. Estudio Previo</b> $nroestudio<br/><br/>
                <b>Responsable:</b> $responsable<br/><br/>                
                <b>Valor Estudio Previo:</b> $valor<br/><br/>
                <b>Objeto o Contratista:</b> $objeto<br/><br/>
                <b>Puede verificar en la plataforma de contratación</b>
                <br/><br/>
                </body></html>
EOD;
                        $adjunto = false;
                        $array_adjuntos = array();
                        
                 CN_TABLE::envioCorreo($request, $datos_usuario, $subject, $currentUri, $ruta, $adjunto, $progress_key, $array_adjuntos, $body);        
                        
                        
                        
                        
                        
                        
                        
                        
                            
                        }
                        //$array_adjuntos = array();
                    
                    
                        
                        
                        
                    }
                        
                        
                        
           
           
        
            
            $record=array();


            $this->totalRows = count($record);
            $this->startRow = 0;
            $this->endRow = 0 + count($record);
            $this->list_data = $record;
            $this->logMessage("[co_send_mail] Envio exitoso.");
        } catch (Exception $e) {

            $this->status = 1;
            $this->totalRows = 0;
            $this->startRow = 0;
            $this->endRow = 0;
            $this->list_data = array();
            $this->logMessage("ERROR!!!");
            $this->logMessage($e->getMessage());
        }
    }
    
    
    
    



public function eliminar_acentos($cadena){
		
		//Reemplazamos la A y a
		$cadena = str_replace(
		array('Á', 'À', 'Â', 'Ä', 'á', 'à', 'ä', 'â', 'ª'),
		array('A', 'A', 'A', 'A', 'a', 'a', 'a', 'a', 'a'),
		$cadena
		);
 
		//Reemplazamos la E y e
		$cadena = str_replace(
		array('É', 'È', 'Ê', 'Ë', 'é', 'è', 'ë', 'ê'),
		array('E', 'E', 'E', 'E', 'e', 'e', 'e', 'e'),
		$cadena );
 
		//Reemplazamos la I y i
		$cadena = str_replace(
		array('Í', 'Ì', 'Ï', 'Î', 'í', 'ì', 'ï', 'î'),
		array('I', 'I', 'I', 'I', 'i', 'i', 'i', 'i'),
		$cadena );
 
		//Reemplazamos la O y o
		$cadena = str_replace(
		array('Ó', 'Ò', 'Ö', 'Ô', 'ó', 'ò', 'ö', 'ô'),
		array('O', 'O', 'O', 'O', 'o', 'o', 'o', 'o'),
		$cadena );
 
		//Reemplazamos la U y u
		$cadena = str_replace(
		array('Ú', 'Ù', 'Û', 'Ü', 'ú', 'ù', 'ü', 'û'),
		array('U', 'U', 'U', 'U', 'u', 'u', 'u', 'u'),
		$cadena );
 
		//Reemplazamos la N, n, C y c
		$cadena = str_replace(
		array('Ñ', 'ñ', 'Ç', 'ç'),
		array('N', 'n', 'C', 'c'),
		$cadena
		);
		
		return $cadena;
	

}

}





