Se agrega url de terminos y condiciones por BD

Se agrega parametro de dias a correo
parent 0c70264b
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" /> <meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="x-apple-disable-message-reformatting" /> <meta name="x-apple-disable-message-reformatting" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" rel="stylesheet">
<title></title> <title></title>
<style type="text/css"> <style type="text/css">
/* /\/\/\/\/\/\/\/\/ CLIENT-SPECIFIC STYLES /\/\/\/\/\/\/\/\/ */ /* /\/\/\/\/\/\/\/\/ CLIENT-SPECIFIC STYLES /\/\/\/\/\/\/\/\/ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
/* /\/\/\/\/\/\/\/\/ CLIENT-SPECIFIC STYLES /\/\/\/\/\/\/\/\/ */ /* /\/\/\/\/\/\/\/\/ CLIENT-SPECIFIC STYLES /\/\/\/\/\/\/\/\/ */
#outlook a{padding:0;} #outlook a{padding:0;}
.ReadMsgBody{width:100%;} .ExternalClass{width:100%;} .ReadMsgBody{width:100%;} .ExternalClass{width:100%;}
.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;}
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;} body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;}
table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;} table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;}
img{-ms-interpolation-mode:bicubic;} img{-ms-interpolation-mode:bicubic;}
/* /\/\/\/\/\/\/\/\/ RESET STYLES /\/\/\/\/\/\/\/\/ */ /* /\/\/\/\/\/\/\/\/ RESET STYLES /\/\/\/\/\/\/\/\/ */
body{margin:0; padding:0;} body{margin:0; padding:0;}
img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;} img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;}
table{border-collapse:collapse !important;} table{border-collapse:collapse !important;}
body, #bodyTable, #bodyCell{height:100% !important; margin:0; padding:0; width:100% !important;} body, #bodyTable, #bodyCell{height:100% !important; margin:0; padding:0; width:100% !important;}
/* /\/\/\/\/\/\/\/\/ TEMPLATE STYLES /\/\/\/\/\/\/\/\/ */ /* /\/\/\/\/\/\/\/\/ TEMPLATE STYLES /\/\/\/\/\/\/\/\/ */
/* ========== Page Styles ========== */ /* ========== Page Styles ========== */
#bodyCell{padding:20px;} #bodyCell{padding:20px;}
#templateContainer{width:600px;} #templateContainer{width:600px;}
body, #bodyTable{ body, #bodyTable{
background-color:#f1f1f1; background-color:#f1f1f1;
} }
/* /\/\/\/\/\/\/\/\/ MOBILE STYLES /\/\/\/\/\/\/\/\/ */ /* /\/\/\/\/\/\/\/\/ MOBILE STYLES /\/\/\/\/\/\/\/\/ */
@media only screen and (max-width: 480px){ @media only screen and (max-width: 480px){
/* /\/\/\/\/\/\/ CLIENT-SPECIFIC MOBILE STYLES /\/\/\/\/\/\/ */ /* /\/\/\/\/\/\/ CLIENT-SPECIFIC MOBILE STYLES /\/\/\/\/\/\/ */
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:none !important;} body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:none !important;}
body{width:100% !important; min-width:100% !important;} body{width:100% !important; min-width:100% !important;}
/* /\/\/\/\/\/\/ MOBILE RESET STYLES /\/\/\/\/\/\/ */ /* /\/\/\/\/\/\/ MOBILE RESET STYLES /\/\/\/\/\/\/ */
#bodyCell{padding:10px !important;} #bodyCell{padding:10px !important;}
/* /\/\/\/\/\/\/ MOBILE TEMPLATE STYLES /\/\/\/\/\/\/ */ /* /\/\/\/\/\/\/ MOBILE TEMPLATE STYLES /\/\/\/\/\/\/ */
/* ======== Page Styles ======== */ /* ======== Page Styles ======== */
#templateContainer{ #templateContainer{
max-width:480px !important; max-width:480px !important;
width:100% !important; width:100% !important;
} }
/* ======== Header Styles ======== */ /* ======== Header Styles ======== */
.flexibleImages{ .flexibleImages{
height:auto !important; height:auto !important;
max-width:600px !important; max-width:600px !important;
width:100% !important; width:100% !important;
} }
.btn{font-size: 18px !important;} .btn{font-size: 18px !important;}
.footerLogo{max-width: 150px !important;height: auto !important;} .footerLogo{max-width: 150px !important;height: auto !important;}
} }
</style> </style>
</head> </head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"> <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0">
<center> <center>
<table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable"> <table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable">
<tr> <tr>
<td align="center" valign="top" id="bodyCell"> <td align="center" valign="top" id="bodyCell">
<!-- BEGIN TEMPLATE // --> <!-- BEGIN TEMPLATE // -->
<table align="center" border="0" cellpadding="0" cellspacing="0" id="templateContainer" width="600" bgcolor="#FFFFFF" style="background-color: #FFFFFF;"> <table align="center" border="0" cellpadding="0" cellspacing="0" id="templateContainer" width="600" bgcolor="#FFFFFF" style="background-color: #FFFFFF;">
<!-- BEGIN --> <!-- BEGIN -->
<tr> <tr>
<td align="center" valign="top" style="padding-left: 40px;padding-right: 40px;"> <td align="center" valign="top" style="padding-left: 40px;padding-right: 40px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td valign="top" style="text-align: center;padding-bottom: 4px;padding-top: 25px;"> <td valign="top" style="text-align: center;padding-bottom: 4px;padding-top: 25px;">
<a href="#" target="_blank"><img src="{{url_sitio}}nutrapharm/img/email/DESAFIO_TERMINADO.png" width="355" height="auto" style="max-width:355px;height:auto;" class="flexibleImages"/></a> <a href="#" target="_blank"><img src="{{url_sitio}}nutrapharm/img/email/DESAFIO_TERMINADO.png" width="355" height="auto" style="max-width:355px;height:auto;" class="flexibleImages"/></a>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" style="padding-left: 40px;padding-right: 40px;"> <td align="center" valign="top" style="padding-left: 40px;padding-right: 40px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td valign="top" style="text-align: center;"> <td valign="top" style="text-align: center;">
<a href="#" target="_blank"><img src="{{url_sitio}}nutrapharm/img/email/Click-Selfie-Test.png" width="370" height="auto" style="max-width:370px;height:auto;" class="flexibleImages"/></a> <a href="#" target="_blank"><img src="{{url_sitio}}nutrapharm/img/email/Click-Selfie-Test.png" width="370" height="auto" style="max-width:370px;height:auto;" class="flexibleImages"/></a>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" style="padding-left: 30px;padding-right: 30px;"> <td align="center" valign="top" style="padding-left: 30px;padding-right: 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td valign="top" style="font-family: 'Montserrat', Verdana, Helvetica, sans-serif;color: #737373;font-size: 18px;text-align: center;padding-top: 12px;"> <td valign="top" style="font-family: 'Montserrat', Verdana, Helvetica, sans-serif;color: #737373;font-size: 18px;text-align: center;padding-top: 12px;">
Ya han pasado 30 días Ya han pasado {{dias}} días
</td> </td>
</tr> </tr>
<tr> <tr>
<td valign="top" style="font-family: 'Montserrat', Verdana, Helvetica, sans-serif;color: #f5a801;font-size: 30px;text-align: center;font-weight: 700;"> <td valign="top" style="font-family: 'Montserrat', Verdana, Helvetica, sans-serif;color: #f5a801;font-size: 30px;text-align: center;font-weight: 700;">
<strong>¿Lista para ver el cambio?</strong> <strong>¿Lista para ver el cambio?</strong>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
<tr><td height="40" style="height: 40px;line-height: 40px;">&nbsp;</td></tr> <tr><td height="40" style="height: 40px;line-height: 40px;">&nbsp;</td></tr>
<tr> <tr>
<td align="center" valign="top" style="padding-left: 30px;padding-right: 30px;"> <td align="center" valign="top" style="padding-left: 30px;padding-right: 30px;">
<table border="0" cellpadding="0" cellspacing="0" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td valign="top" style="font-family: 'Montserrat', Verdana, Helvetica, sans-serif;color: #737373;font-size: 18px;text-align: center;padding-bottom: 4px;"> <td valign="top" style="font-family: 'Montserrat', Verdana, Helvetica, sans-serif;color: #737373;font-size: 18px;text-align: center;padding-bottom: 4px;">
Pincha aquí Pincha aquí
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top"> <td align="center" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"> <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td align="center" valign="top"> <td align="center" valign="top">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="236"> <table align="center" border="0" cellpadding="0" cellspacing="0" width="236">
<tr> <tr>
<td align="center" style="border-radius: 26px; background-color: #f2b521;"> <td align="center" style="border-radius: 26px; background-color: #f2b521;">
<a href="{{url_sitio}}{{seccion}}?idp={{id_usuario}}" target="_blank" class="btn" style="font-size: 22px; font-family: 'Montserrat', Verdana, Helvetica, sans-serif; letter-spacing: 1px; color: #ffffff; text-decoration: none; border-radius: 26px; background-color: #f2b521; padding-top: 4px;padding-right: 10px;padding-bottom: 4px;padding-left: 10px; border-top: 1px solid #f2b521;border-right: 1px solid #f2b521;border-bottom: 1px solid #f2b521;border-left: 1px solid #f2b521; display: block;"><strong>SELFIE DÍA 30</strong></a> <a href="{{url_sitio}}{{seccion}}?idp={{id_usuario}}" target="_blank" class="btn" style="font-size: 22px; font-family: 'Montserrat', Verdana, Helvetica, sans-serif; letter-spacing: 1px; color: #ffffff; text-decoration: none; border-radius: 26px; background-color: #f2b521; padding-top: 4px;padding-right: 10px;padding-bottom: 4px;padding-left: 10px; border-top: 1px solid #f2b521;border-right: 1px solid #f2b521;border-bottom: 1px solid #f2b521;border-left: 1px solid #f2b521; display: block;"><strong>SELFIE DÍA 30</strong></a>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top"> <td align="center" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td valign="top" style="text-align: center;"> <td valign="top" style="text-align: center;">
<img src="{{url_sitio}}nutrapharm/img/email/upper_footer.png" width="600" height="auto" style="max-width:600px;height:auto;display: block;" class="flexibleImages"/> <img src="{{url_sitio}}nutrapharm/img/email/upper_footer.png" width="600" height="auto" style="max-width:600px;height:auto;display: block;" class="flexibleImages"/>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="center" valign="top" bgcolor="#f5a801" style="background-color: #f5a801;"> <td align="center" valign="top" bgcolor="#f5a801" style="background-color: #f5a801;">
<table border="0" cellpadding="0" cellspacing="0" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr> <tr>
<td valign="top" style="text-align: center;padding-bottom: 30px;"> <td valign="top" style="text-align: center;padding-bottom: 30px;">
<a href="#" target="_blank"><img src="{{url_sitio}}nutrapharm/img/email/Inovage.png" class="footerLogo" width="200" height="auto" style="width: 200px;height: auto;"></a> <a href="#" target="_blank"><img src="{{url_sitio}}nutrapharm/img/email/Inovage.png" class="footerLogo" width="200" height="auto" style="width: 200px;height: auto;"></a>
</td> </td>
</tr> </tr>
</table> </table>
</td> </td>
</tr> </tr>
</table> </table>
<!-- // END TEMPLATE --> <!-- // END TEMPLATE -->
</td> </td>
</tr> </tr>
</table> </table>
</center> </center>
</body> </body>
</html> </html>
{% extends 'producto_final/base_final.html.twig' %} {% extends 'producto_final/base_final.html.twig' %}
{% block stylesheets %} {% block stylesheets %}
<link rel="stylesheet" href="{{asset('manuel/css/camera.css')}}"> <link rel="stylesheet" href="{{asset('manuel/css/camera.css')}}">
{% endblock %} {% endblock %}
{% block head %} {% block head %}
<meta property="fb:app_id" content="{{facebookAppId}}" /> <meta property="fb:app_id" content="{{facebookAppId}}" />
<meta property="og:url" content="{{urlSitio}}{{seccionInicio}}" /> <meta property="og:url" content="{{urlSitio}}{{seccionInicio}}" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:title" content="NutraPharm" /> <meta property="og:title" content="NutraPharm" />
<meta property="og:description" content="Producto Nutrapharm - Sacate una foto y compara en {{dias}} días!" /> <meta property="og:description" content="Producto Nutrapharm - Sacate una foto y compara en {{dias}} días!" />
<meta property="og:image:type" content="image/png"/> <meta property="og:image:type" content="image/png"/>
<meta property="og:image:width" content="1200" /> <meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" /> <meta property="og:image:height" content="630" />
<meta property="og:image" content="{{urlSitio}}imagenes/template/logo.png"/> <meta property="og:image" content="{{urlSitio}}imagenes/template/logo.png"/>
<script> <script>
(function (d, s, id) { (function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0]; var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) if (d.getElementById(id))
return; return;
js = d.createElement(s); js = d.createElement(s);
js.id = id; js.id = id;
js.src = "//connect.facebook.net/es_ES/sdk.js"; js.src = "//connect.facebook.net/es_ES/sdk.js";
fjs.parentNode.insertBefore(js, fjs); fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk')); }(document, 'script', 'facebook-jssdk'));
</script> </script>
<div class="header-top"> <div class="header-top">
<img class="img-responsive" src="{{asset('manuel/images/header-i.jpg')}}" alt="INOVAGE Selfie Nutrapharm" /> <img class="img-responsive" src="{{asset('manuel/images/header-i.jpg')}}" alt="INOVAGE Selfie Nutrapharm" />
</div> </div>
{% endblock %} {% endblock %}
{% block body %} {% block body %}
<div class="app-container"> <div class="app-container">
<img class="img-responsive logo-app" src="{{asset('manuel/images/atrevete-desafio.png')}}" alt="Atrévete al desafío" /> <img class="img-responsive logo-app" src="{{asset('manuel/images/atrevete-desafio.png')}}" alt="Atrévete al desafío" />
{#CODIGO OCULTO#} {#CODIGO OCULTO#}
{{ include('producto_final/camera_logic.html.twig') }} {{ include('producto_final/camera_logic.html.twig') }}
{#CODIGO OCULTO#} {#CODIGO OCULTO#}
<div class="botonera-fotos"> <div class="botonera-fotos">
<div> <div>
<button id="tomarFoto" name="tomarFoto" class="tomarFoto" onclick="mostrarTomarFoto(event)">Tomar Foto</button> <button id="tomarFoto" name="tomarFoto" class="tomarFoto" onclick="mostrarTomarFoto(event)">Tomar Foto</button>
<label class=" control-label">Toma una foto con tu cámara aquí</label> <label class=" control-label">Toma una foto con tu cámara aquí</label>
</div> </div>
<div> <div>
<button id="subirFoto" name="subirFoto" class="subirFoto" onclick="mostrarSubirFoto(event)">Subir Foto <button id="subirFoto" name="subirFoto" class="subirFoto" onclick="mostrarSubirFoto(event)">Subir Foto
</button> </button>
<label class=" control-label">Sube una foto desde tu galería </br>o desde tu PC</label> <label class=" control-label">Sube una foto desde tu galería </br>o desde tu PC</label>
</div> </div>
</div> </div>
<div id="containerFormulario" class="container-form" style="display:none"> <div id="containerFormulario" class="container-form" style="display:none">
<div> <div>
<p class="control-label b txt-center">Comenta tu foto al <strong>Inicio del tratamiento</strong></p> <p class="control-label b txt-center">Comenta tu foto al <strong>Inicio del tratamiento</strong></p>
<!-- <input id="comentarioFotoUsuario" class="barra-comentario" type="textarea" placeholder="Comentario..." /> --> <!-- <input id="comentarioFotoUsuario" class="barra-comentario" type="textarea" placeholder="Comentario..." /> -->
<textarea id="comentarioFotoUsuario" class="barra-comentario" name="mytextarea" placeholder="Escribe tu Comentario"></textarea> <textarea id="comentarioFotoUsuario" class="barra-comentario" name="mytextarea" placeholder="Escribe tu Comentario"></textarea>
</div> </div>
<div class="grilla-datos"> <div class="grilla-datos">
<div> <div>
<input id="nombreUsuario" class="nombre-e" type="text" placeholder="Ingresa tu nombre" /> <input id="nombreUsuario" class="nombre-e" type="text" placeholder="Ingresa tu nombre" />
</div> </div>
<div> <div>
<input id="mailUsuario" class="mail-e" type="text" placeholder="Ingresa tu email" /> <input id="mailUsuario" class="mail-e" type="text" placeholder="Ingresa tu email" />
</div> </div>
</div> </div>
{#MENSAJES EXITO ERROR#} {#MENSAJES EXITO ERROR#}
{{ include('producto_final/mensaje-exito-error.html.twig') }} {{ include('producto_final/mensaje-exito-error.html.twig') }}
{#MENSAJES EXITO ERROR#} {#MENSAJES EXITO ERROR#}
<button id="btnGuardar" class="btn-guardar">Finalizar</button> <button id="btnGuardar" class="btn-guardar">Finalizar</button>
</div> </div>
<div class="terminos-condiciones"> <div class="terminos-condiciones">
<a href="#">Términos y Condiciones de <strong>NUTRAPHARM</strong></a> <a href="{{terminos_condiciones}}">Términos y Condiciones de <strong>NUTRAPHARM</strong></a>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
{% block javascripts %} {% block javascripts %}
<script src="{{asset('frontend/js/capture-2.js')}}"></script> <script src="{{asset('frontend/js/capture-2.js')}}"></script>
<script> <script>
var imagenSubida = false; var imagenSubida = false;
var imagenTomada = false; var imagenTomada = false;
var usuarioNutraPharm = "none"; var usuarioNutraPharm = "none";
var tipoUsuarioFormulario = 1; var tipoUsuarioFormulario = 1;
var upload; var upload;
var preUpload; var preUpload;
</script> </script>
<script> <script>
var fileUpload = $("#imgInp"); var fileUpload = $("#imgInp");
function mostrarTomarFoto(event) { function mostrarTomarFoto(event) {
event.preventDefault(); event.preventDefault();
//var fotoActual = $("#tomarFotoContainer"); //var fotoActual = $("#tomarFotoContainer");
//fotoActual.css("background-image", "url('')"); //fotoActual.css("background-image", "url('')");
$("#imagen_carga").attr('src', ""); $("#imagen_carga").attr('src', "");
console.log("mostrando tomar foto..."); console.log("mostrando tomar foto...");
$("#tomarFotoContainer").show(); $("#tomarFotoContainer").show();
$("#cameraContainer").show(); $("#cameraContainer").show();
$("#startbutton").show(); $("#startbutton").show();
$("#subirFotoContainer").hide(); $("#subirFotoContainer").hide();
$("#output_img_inovage").hide(); $("#output_img_inovage").hide();
$("#imagenUsuario").attr('src', ""); $("#imagenUsuario").attr('src', "");
$("#imagenUsuario").hide(); $("#imagenUsuario").hide();
$("#imagen_carga").hide(); $("#imagen_carga").hide();
imagenTomada = true; imagenTomada = true;
imagenSubida = false; imagenSubida = false;
} }
function mostrarSubirFoto(event) { function mostrarSubirFoto(event) {
event.preventDefault(); event.preventDefault();
openSeleccionadorArchivos(event); openSeleccionadorArchivos(event);
console.log("mostrando subir foto..."); console.log("mostrando subir foto...");
$("#imagen_carga").show(); $("#imagen_carga").show();
$("#tomarFotoContainer").hide(); $("#tomarFotoContainer").hide();
$("#cameraContainer").hide(); $("#cameraContainer").hide();
$("#startbutton").hide(); $("#startbutton").hide();
$('#imagen_carga').attr('src', {%if isMobile == 1 %} "{{asset('manuel/images/selfie-alto-630px.jpg')}}" {% else %} "{{asset('manuel/images/selfie-ancho-630px.jpg')}}" {% endif %}); $('#imagen_carga').attr('src', {%if isMobile == 1 %} "{{asset('manuel/images/selfie-alto-630px.jpg')}}" {% else %} "{{asset('manuel/images/selfie-ancho-630px.jpg')}}" {% endif %});
//$("#subirFotoContainer").show(); //$("#subirFotoContainer").show();
$("#output_img_inovage").hide(); $("#output_img_inovage").hide();
$("#tomarFoto").html("Toma una foto con tu cámara aquí"); $("#tomarFoto").html("Toma una foto con tu cámara aquí");
imagenTomada = false; imagenTomada = false;
imagenSubida = true; imagenSubida = true;
} }
function openSeleccionadorArchivos(event) { function openSeleccionadorArchivos(event) {
event.preventDefault(); event.preventDefault();
$("#imgInp").trigger("click"); $("#imgInp").trigger("click");
} }
function readURL(input) { function readURL(input) {
if (input.files && input.files[0]) { if (input.files && input.files[0]) {
var reader = new FileReader(); var reader = new FileReader();
reader.onload = function (e) { reader.onload = function (e) {
$('#imagenUsuario').attr('src', e.target.result); $('#imagenUsuario').attr('src', e.target.result);
$('#imagen_carga').attr('src', e.target.result); $('#imagen_carga').attr('src', e.target.result);
//generateUrlBackground(e.target.result, "data"); //generateUrlBackground(e.target.result, "data");
//upload.doPreUpload();//por ahora asi //upload.doPreUpload();//por ahora asi
} }
reader.readAsDataURL(input.files[0]); // convert to base64 string reader.readAsDataURL(input.files[0]); // convert to base64 string
//$('#imagenUsuario').show(); //$('#imagenUsuario').show();
} }
} }
fileUpload.on('change', function () { fileUpload.on('change', function () {
$("#containerFormulario").show(); $("#containerFormulario").show();
$("#output_img_inovage").hide(); $("#output_img_inovage").hide();
readURL(this); readURL(this);
}); });
var Upload = function (file) { var Upload = function (file) {
this.file = file; this.file = file;
}; };
Upload.prototype.getType = function () { Upload.prototype.getType = function () {
return this.file.type; return this.file.type;
}; };
Upload.prototype.getSize = function () { Upload.prototype.getSize = function () {
return this.file.size; return this.file.size;
}; };
Upload.prototype.getName = function () { Upload.prototype.getName = function () {
if (this.file != null) if (this.file != null)
return this.file.name; return this.file.name;
else else
return ""; return "";
}; };
Upload.prototype.doUpload = function () { Upload.prototype.doUpload = function () {
var that = this; var that = this;
var url = "{{ path('nutrapharm_upload') }}"; var url = "{{ path('nutrapharm_upload') }}";
var formData = new FormData(); var formData = new FormData();
$("#btnGuardar").prop("disabled", true); $("#btnGuardar").prop("disabled", true);
$("#btnGuardar").html("Procesando..."); $("#btnGuardar").html("Procesando...");
if (imagenTomada == true && imagenSubida == false) { if (imagenTomada == true && imagenSubida == false) {
formData.append("upload_file", 0); formData.append("upload_file", 0);
formData.append("imagen", $("#photo").attr('src')); formData.append("imagen", $("#photo").attr('src'));
} else if (imagenSubida == true && imagenTomada == false) { } else if (imagenSubida == true && imagenTomada == false) {
formData.append("upload_file", 1); formData.append("upload_file", 1);
} }
console.log(this.file); console.log(this.file);
if (this.file != null) { if (this.file != null) {
formData.append("imagen", this.file, this.getName()); formData.append("imagen", this.file, this.getName());
} }
formData.append("nombreUsuario", $("#nombreUsuario").val()); formData.append("nombreUsuario", $("#nombreUsuario").val());
formData.append("mailUsuario", $("#mailUsuario").val()); formData.append("mailUsuario", $("#mailUsuario").val());
formData.append("comentarioFotoUsuario", $("#comentarioFotoUsuario").val()); formData.append("comentarioFotoUsuario", $("#comentarioFotoUsuario").val());
formData.append("tipoUsuarioFormulario", tipoUsuarioFormulario); formData.append("tipoUsuarioFormulario", tipoUsuarioFormulario);
formData.append("usuarioNutraPharm", usuarioNutraPharm); formData.append("usuarioNutraPharm", usuarioNutraPharm);
$.ajax $.ajax
({ ({
type: "POST", type: "POST",
url: url, url: url,
data: formData, data: formData,
async: true, async: true,
cache: false, cache: false,
contentType: false, contentType: false,
processData: false, processData: false,
timeout: 60000, timeout: 60000,
statusCode: { statusCode: {
400: function (respuesta) { 400: function (respuesta) {
console.log(respuesta.responseText); console.log(respuesta.responseText);
var respuestaJson = JSON.parse(respuesta.responseText); var respuestaJson = JSON.parse(respuesta.responseText);
writeMessage(respuestaJson.msg, "error"); writeMessage(respuestaJson.msg, "error");
$("#btnGuardar").prop("disabled", false); $("#btnGuardar").prop("disabled", false);
}, },
500: function (respuesta) { 500: function (respuesta) {
console.log(respuesta.responseText); console.log(respuesta.responseText);
var respuestaJson = JSON.parse(respuesta.responseText); var respuestaJson = JSON.parse(respuesta.responseText);
writeMessage(respuestaJson.msg, "error"); writeMessage(respuestaJson.msg, "error");
$("#btnGuardar").prop("disabled", false); $("#btnGuardar").prop("disabled", false);
} }
}, },
success: function (data) { success: function (data) {
if (data.tipo === 2) { if (data.tipo === 2) {
tipoUsuarioFormulario = data.tipo; tipoUsuarioFormulario = data.tipo;
usuarioNutraPharm = data.usuario; usuarioNutraPharm = data.usuario;
} }
writeMessage(data.msg, "success"); writeMessage(data.msg, "success");
$("#btnGuardar").hide(); $("#btnGuardar").hide();
}, },
complete: function (data) { complete: function (data) {
$("#btnGuardar").prop("disabled", false); $("#btnGuardar").prop("disabled", false);
$("#btnGuardar").html("Finalizar"); $("#btnGuardar").html("Finalizar");
} }
}); });
}; };
Upload.prototype.doPreUpload = function(){ Upload.prototype.doPreUpload = function(){
var that = this; var that = this;
var url = "{{ path('nutrapharm_pre_upload') }}"; var url = "{{ path('nutrapharm_pre_upload') }}";
var formData = new FormData(); var formData = new FormData();
var idTemp = Math.random()+Math.random(); var idTemp = Math.random()+Math.random();
if (imagenTomada == true && imagenSubida == false) { if (imagenTomada == true && imagenSubida == false) {
formData.append("upload_file", 0); formData.append("upload_file", 0);
formData.append("imagen", $("#photo").attr('src')); formData.append("imagen", $("#photo").attr('src'));
} else if (imagenSubida == true && imagenTomada == false) { } else if (imagenSubida == true && imagenTomada == false) {
formData.append("upload_file", 1); formData.append("upload_file", 1);
} }
formData.append("paso", "primer"); formData.append("paso", "primer");
formData.append("id", idTemp); formData.append("id", idTemp);
console.log(this.file); console.log(this.file);
if (this.file != null) { if (this.file != null) {
formData.append("imagen", this.file, this.getName()); formData.append("imagen", this.file, this.getName());
} }
$.ajax $.ajax
({ ({
type: "POST", type: "POST",
url: url, url: url,
data: formData, data: formData,
async: true, async: true,
cache: false, cache: false,
contentType: false, contentType: false,
processData: false, processData: false,
timeout: 60000, timeout: 60000,
statusCode: { statusCode: {
400: function (respuesta) { 400: function (respuesta) {
console.log(respuesta.responseText); console.log(respuesta.responseText);
var respuestaJson = JSON.parse(respuesta.responseText); var respuestaJson = JSON.parse(respuesta.responseText);
}, },
500: function (respuesta) { 500: function (respuesta) {
console.log(respuesta.responseText); console.log(respuesta.responseText);
var respuestaJson = JSON.parse(respuesta.responseText); var respuestaJson = JSON.parse(respuesta.responseText);
} }
}, },
success: function (data) { success: function (data) {
$('#imagen_carga').attr('src', data.url); $('#imagen_carga').attr('src', data.url);
console.log("imagen pre-actualizada"); console.log("imagen pre-actualizada");
}, },
complete: function (data) { complete: function (data) {
} }
}); });
} }
$("#btnGuardar").click(function (e) { $("#btnGuardar").click(function (e) {
e.preventDefault(); e.preventDefault();
if (imagenSubida == false && imagenTomada == false) { if (imagenSubida == false && imagenTomada == false) {
writeMessage("Debe seleccionar o tomar una imagen!", "error"); writeMessage("Debe seleccionar o tomar una imagen!", "error");
return false; return false;
} }
if (typeof upload == "undefined") { if (typeof upload == "undefined") {
upload = new Upload(null); upload = new Upload(null);
} }
upload.doUpload(); upload.doUpload();
}); });
$("#imgInp").on("change", function (e) { $("#imgInp").on("change", function (e) {
e.preventDefault(); e.preventDefault();
if ($(this)[0].files.length != 0) { if ($(this)[0].files.length != 0) {
var file = $(this)[0].files[0]; var file = $(this)[0].files[0];
upload = new Upload(file); upload = new Upload(file);
console.log(upload) console.log(upload)
imagenSubida = true; imagenSubida = true;
} else } else
upload = new Upload(null); upload = new Upload(null);
}); });
function writeMessage(msg, type) { function writeMessage(msg, type) {
if (type === "success") { if (type === "success") {
$("#error-content-nutrapharm").html(""); $("#error-content-nutrapharm").html("");
$("#error-nutrapharm").hide(); $("#error-nutrapharm").hide();
$("#exito-content-nutrapharm").html(msg); $("#exito-content-nutrapharm").html(msg);
$("#exito-nutrapharm").show(); $("#exito-nutrapharm").show();
} else { } else {
$("#exito-content-nutrapharm").html(""); $("#exito-content-nutrapharm").html("");
$("#exito-nutrapharm").hide(); $("#exito-nutrapharm").hide();
$("#error-content-nutrapharm").html(msg); $("#error-content-nutrapharm").html(msg);
$("#error-nutrapharm").show(); $("#error-nutrapharm").show();
} }
} }
function generateUrlBackground(source, type) { function generateUrlBackground(source, type) {
if (type == "url") { if (type == "url") {
var fotoActual = $("#imagen_carga"); var fotoActual = $("#imagen_carga");
var img = new Image(); var img = new Image();
img.src = source; img.src = source;
fotoActual.attr("src", img.src); fotoActual.attr("src", img.src);
fotoActual.show(); fotoActual.show();
} else { } else {
var fotoActual = $("#imagen_carga"); var fotoActual = $("#imagen_carga");
var img = new Image(); var img = new Image();
img.src = source; img.src = source;
fotoActual.css("src", img.src.replace(/(\r\n|\n|\r)/gm, "")); fotoActual.css("src", img.src.replace(/(\r\n|\n|\r)/gm, ""));
fotoActual.show(); fotoActual.show();
} }
} }
window.onorientationchange = function () { window.onorientationchange = function () {
var orientation = window.orientation; var orientation = window.orientation;
switch (orientation) { switch (orientation) {
case 0: case 0:
case 90: case 90:
case - 90: case - 90:
console.log("modo horizontal"); console.log("modo horizontal");
//window.location.reload(); //window.location.reload();
break; break;
} }
}; };
</script> </script>
{% endblock %} {% endblock %}
\ No newline at end of file
<?php <?php
namespace NutrapharmBundle\Command; namespace NutrapharmBundle\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use AppBundle\Lib\Utiles; use AppBundle\Lib\Utiles;
use AppBundle\Lib\TiempoTranscurrido; use AppBundle\Lib\TiempoTranscurrido;
use AppBundle\Model\UsuarioNutrapharm; use AppBundle\Model\UsuarioNutrapharm;
use AppBundle\Model\UsuarioNutrapharmQuery; use AppBundle\Model\UsuarioNutrapharmQuery;
use AppBundle\Model\EnvioCorreoUsuario; use AppBundle\Model\EnvioCorreoUsuario;
use AppBundle\Model\EnvioCorreoUsuarioQuery; use AppBundle\Model\EnvioCorreoUsuarioQuery;
class EnviarLinkCommand extends ContainerAwareCommand { class EnviarLinkCommand extends ContainerAwareCommand {
const ENVIO_NO_APLICA = 0; const ENVIO_NO_APLICA = 0;
const ENVIO_NUEVO = 1; const ENVIO_NUEVO = 1;
const ENVIO_ACTUALIZAR = 2; const ENVIO_ACTUALIZAR = 2;
protected function configure() { protected function configure() {
$this $this
->setName('enviar-link') ->setName('enviar-link')
->setDescription('command que envia correo a los usuarios en los cuales haya transcurrido 30 dias') ->setDescription('command que envia correo a los usuarios en los cuales haya transcurrido 30 dias')
; ;
} }
protected function execute(InputInterface $input, OutputInterface $output) { protected function execute(InputInterface $input, OutputInterface $output) {
$log = Utiles::setLog('EnviarLinkCommand:enviar-link', 'command/enviar-link'); $log = Utiles::setLog('EnviarLinkCommand:enviar-link', 'command/enviar-link');
$log->debug('**************************INICIO***************************************'); $log->debug('**************************INICIO***************************************');
$tt = new TiempoTranscurrido(); $tt = new TiempoTranscurrido();
$diasComparacion = Utiles::getParametroConfiguracion("dias_comparacion"); $diasComparacion = Utiles::getParametroConfiguracion("dias_comparacion");
$fechaActual = new \DateTime(); $fechaActual = new \DateTime();
$dataMail = []; $dataMail = [];
$log->debug("=======Fecha Actual : " . $fechaActual->format("Y-m-d H:i:s")); $log->debug("=======Fecha Actual : " . $fechaActual->format("Y-m-d H:i:s"));
$log->debug("=======Dias a considerar : " . $diasComparacion); $log->debug("=======Dias a considerar : " . $diasComparacion);
$email_soporte = Utiles::getParametroConfiguracion("mail_soporte"); $email_soporte = Utiles::getParametroConfiguracion("mail_soporte");
$usuarios = UsuarioNutrapharmQuery::create()->filterByUnuEliminado(UsuarioNutrapharm::ELIMINADO_FALSE)->find(); $usuarios = UsuarioNutrapharmQuery::create()->filterByUnuEliminado(UsuarioNutrapharm::ELIMINADO_FALSE)->find();
foreach ($usuarios as $usuario): foreach ($usuarios as $usuario):
$enviarCorreo = $this->chequearFechaEnviarCorreo($fechaActual, $usuario->getCreatedAt(), $usuario->getUnuId(), $diasComparacion); $enviarCorreo = $this->chequearFechaEnviarCorreo($fechaActual, $usuario->getCreatedAt(), $usuario->getUnuId(), $diasComparacion);
$log->debug("respuesta enviar correo a usuario ".$usuario->getUnuId()." : $enviarCorreo"); $log->debug("respuesta enviar correo a usuario ".$usuario->getUnuId()." : $enviarCorreo");
if ($enviarCorreo == self::ENVIO_NUEVO): if ($enviarCorreo == self::ENVIO_NUEVO):
$log->debug("enviando correo a ".$usuario->getUnuCorreo()); $log->debug("enviando correo a ".$usuario->getUnuCorreo());
$correo = \Swift_Message::newInstance() $correo = \Swift_Message::newInstance()
->setSubject(str_replace("#USUARIO", $usuario->getUnuNombre(), Utiles::getParametroConfiguracion("subject_mail_producto"))) ->setSubject(str_replace("#USUARIO", $usuario->getUnuNombre(), Utiles::getParametroConfiguracion("subject_mail_producto")))
->setFrom($email_soporte) ->setFrom($email_soporte)
->setTo($usuario->getUnuCorreo()); ->setTo($usuario->getUnuCorreo());
$dataMail["id_usuario"] = $usuario->getUnuIdNutrapharm(); $dataMail["id_usuario"] = $usuario->getUnuIdNutrapharm();
$dataMail["url_sitio"] = Utiles::getParametroConfiguracion("url_sitio"); $dataMail["url_sitio"] = Utiles::getParametroConfiguracion("url_sitio");
$dataMail["seccion"] = Utiles::getParametroConfiguracion("seccion_formulario_comparacion"); $dataMail["seccion"] = Utiles::getParametroConfiguracion("seccion_formulario_comparacion");
$dataMail["dias"] = Utiles::getParametroConfiguracion("dias_comparacion");
$correo->setBody(
$this->getContainer()->get('templating')->render( $correo->setBody(
'email/aviso-mail-comparacion.html.twig', $dataMail $this->getContainer()->get('templating')->render(
), 'text/html'); 'email/aviso-mail-comparacion.html.twig', $dataMail
), 'text/html');
if ($this->getContainer()->get('mailer')->send($correo)){
$log->info('mensaje enviado correctamente a :' . $usuario->getUnuCorreo()); if ($this->getContainer()->get('mailer')->send($correo)){
$traza = new EnvioCorreoUsuario(); $log->info('mensaje enviado correctamente a :' . $usuario->getUnuCorreo());
$traza->setUsuarioNutrapharm($usuario); $traza = new EnvioCorreoUsuario();
$traza->setEcuEstado(EnvioCorreoUsuario::ESTADO_ENVIADO); $traza->setUsuarioNutrapharm($usuario);
$traza->save(); $traza->setEcuEstado(EnvioCorreoUsuario::ESTADO_ENVIADO);
$log->debug("se creo una traza de envio correo asociada a :". $usuario->getUnuId()); $traza->save();
}else{ $log->debug("se creo una traza de envio correo asociada a :". $usuario->getUnuId());
$log->info('no se pudo enviar mensaje a:' . $usuario->getUnuCorreo()); }else{
$traza = new EnvioCorreoUsuario(); $log->info('no se pudo enviar mensaje a:' . $usuario->getUnuCorreo());
$traza->setUsuarioNutrapharm($usuario); $traza = new EnvioCorreoUsuario();
$traza->setEcuEstado(EnvioCorreoUsuario::ESTADO_PENDIENTE); $traza->setUsuarioNutrapharm($usuario);
$traza->save(); $traza->setEcuEstado(EnvioCorreoUsuario::ESTADO_PENDIENTE);
} $traza->save();
endif; }
endif;
if($enviarCorreo == self::ENVIO_ACTUALIZAR):
$log->debug("re-intentando envio correo a ".$usuario->getUnuCorreo()); if($enviarCorreo == self::ENVIO_ACTUALIZAR):
$correo = \Swift_Message::newInstance() $log->debug("re-intentando envio correo a ".$usuario->getUnuCorreo());
->setSubject(str_replace("#USUARIO", $usuario->getUnuNombre(), Utiles::getParametroConfiguracion("subject_mail_producto"))) $correo = \Swift_Message::newInstance()
->setFrom($email_soporte) ->setSubject(str_replace("#USUARIO", $usuario->getUnuNombre(), Utiles::getParametroConfiguracion("subject_mail_producto")))
->setTo($usuario->getUnuCorreo()); ->setFrom($email_soporte)
->setTo($usuario->getUnuCorreo());
$dataMail["dias"] = $diasComparacion;
$dataMail["nombre_usuario"] = $usuario->getUnuNombre(); $dataMail["dias"] = $diasComparacion;
$dataMail["id_usuario"] = $usuario->getUnuIdNutrapharm(); $dataMail["nombre_usuario"] = $usuario->getUnuNombre();
$dataMail["url_sitio"] = Utiles::getParametroConfiguracion("url_sitio"); $dataMail["id_usuario"] = $usuario->getUnuIdNutrapharm();
$dataMail["seccion"] = Utiles::getParametroConfiguracion("seccion_formulario_comparacion"); $dataMail["url_sitio"] = Utiles::getParametroConfiguracion("url_sitio");
$dataMail["seccion"] = Utiles::getParametroConfiguracion("seccion_formulario_comparacion");
$correo->setBody(
$this->getContainer()->get('templating')->render( $correo->setBody(
'email/aviso-mail-comparacion.html.twig', $dataMail $this->getContainer()->get('templating')->render(
), 'text/html'); 'email/aviso-mail-comparacion.html.twig', $dataMail
), 'text/html');
if ($this->getContainer()->get('mailer')->send($correo)){
$log->info('mensaje re-enviado correctamente a :' . $usuario->getUnuCorreo()); if ($this->getContainer()->get('mailer')->send($correo)){
$traza = EnvioCorreoUsuarioQuery::obtenerTraza($usuario->getUnuId()); $log->info('mensaje re-enviado correctamente a :' . $usuario->getUnuCorreo());
$traza->setEcuEstado(EnvioCorreoUsuario::ESTADO_ENVIADO); $traza = EnvioCorreoUsuarioQuery::obtenerTraza($usuario->getUnuId());
$traza->save(); $traza->setEcuEstado(EnvioCorreoUsuario::ESTADO_ENVIADO);
$log->debug("se actualizao la traza de envio correo asociada a :". $usuario->getUnuId()); $traza->save();
}else{ $log->debug("se actualizao la traza de envio correo asociada a :". $usuario->getUnuId());
$log->info('no se pudo re-enviar mensaje a:' . $usuario->getUnuCorreo().", se mantiene en estado pendiente..."); }else{
} $log->info('no se pudo re-enviar mensaje a:' . $usuario->getUnuCorreo().", se mantiene en estado pendiente...");
endif; }
endif;
endforeach;
endforeach;
$output->writeln('Command ejecutado.');
$log->debug(' '); $output->writeln('Command ejecutado.');
$log->debug('*****************Fin | TIEMPO: ' . $tt->getTiempoTranscurrido() . ' Seg. ******************'); $log->debug(' ');
} $log->debug('*****************Fin | TIEMPO: ' . $tt->getTiempoTranscurrido() . ' Seg. ******************');
}
private function chequearFechaEnviarCorreo($fechaActual, $fechaUsuario, $id, $dias) {
private function chequearFechaEnviarCorreo($fechaActual, $fechaUsuario, $id, $dias) {
$diferencia = $fechaUsuario->diff($fechaActual);
if ($diferencia->d >= $dias) { $diferencia = $fechaUsuario->diff($fechaActual);
$poseeTraza = EnvioCorreoUsuarioQuery::poseeTrazaEnvio($id); if ($diferencia->d >= $dias) {
if ($poseeTraza >= 1) { $poseeTraza = EnvioCorreoUsuarioQuery::poseeTrazaEnvio($id);
$traza = EnvioCorreoUsuarioQuery::obtenerTraza($id); if ($poseeTraza >= 1) {
if ($traza->getEcuEstado() == EnvioCorreoUsuario::ESTADO_PENDIENTE) { $traza = EnvioCorreoUsuarioQuery::obtenerTraza($id);
return self::ENVIO_ACTUALIZAR; if ($traza->getEcuEstado() == EnvioCorreoUsuario::ESTADO_PENDIENTE) {
} else if ($traza->getEcuEstado() == EnvioCorreoUsuario::ESTADO_ENVIADO) { return self::ENVIO_ACTUALIZAR;
return self::ENVIO_NO_APLICA; } else if ($traza->getEcuEstado() == EnvioCorreoUsuario::ESTADO_ENVIADO) {
} return self::ENVIO_NO_APLICA;
} else { }
return self::ENVIO_NUEVO; } else {
} return self::ENVIO_NUEVO;
} }
}
return self::ENVIO_NO_APLICA;
} return self::ENVIO_NO_APLICA;
}
}
}
<?php <?php
namespace NutrapharmBundle\Controller; namespace NutrapharmBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use AppBundle\Lib\Utiles; use AppBundle\Lib\Utiles;
use Treinetic\ImageArtist\lib\Overlays\Overlay; use Treinetic\ImageArtist\lib\Overlays\Overlay;
use Treinetic\ImageArtist\lib\Text\Color; use Treinetic\ImageArtist\lib\Text\Color;
use Treinetic\ImageArtist\lib\Shapes\PolygonShape; use Treinetic\ImageArtist\lib\Shapes\PolygonShape;
use Treinetic\ImageArtist\lib\Commons\Node; use Treinetic\ImageArtist\lib\Commons\Node;
use Treinetic\ImageArtist\lib\Image; use Treinetic\ImageArtist\lib\Image;
use Treinetic\ImageArtist\lib\Shapes\Square; use Treinetic\ImageArtist\lib\Shapes\Square;
use AppBundle\Model\UsuarioNutrapharm; use AppBundle\Model\UsuarioNutrapharm;
use AppBundle\Model\UsuarioNutrapharmQuery; use AppBundle\Model\UsuarioNutrapharmQuery;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser; use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\HttpFoundation\StreamedResponse; use Symfony\Component\HttpFoundation\StreamedResponse;
class DefaultController extends Controller { class DefaultController extends Controller {
public function inicioAction(Request $request) { public function inicioAction(Request $request) {
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:indexAction', 'nutrapharm/index'); $log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:indexAction', 'nutrapharm/index');
$ua = $request->headers->get('User-Agent'); $ua = $request->headers->get('User-Agent');
$ip = $request->getClientIp(); $ip = $request->getClientIp();
$log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua...."); $log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua....");
$facebookAppId = Utiles::getParametroConfiguracion("facebook_app_id"); $facebookAppId = Utiles::getParametroConfiguracion("facebook_app_id");
$seccionInicio = Utiles::getParametroConfiguracion("seccion_formulario_inicial"); $seccionInicio = Utiles::getParametroConfiguracion("seccion_formulario_inicial");
$dias = Utiles::getParametroConfiguracion("dias_comparacion"); $dias = Utiles::getParametroConfiguracion("dias_comparacion");
$terminosCondiciones = Utiles::getParametroConfiguracion("terminos_condiciones");
$isMobile = Utiles::isMobile($request);
$log->debug("Es Movil : $isMobile"); $isMobile = Utiles::isMobile($request);
$log->debug("Es Movil : $isMobile");
return $this->render('producto_final/landing_producto.html.twig', array("urlSitio" => Utiles::getParametroConfiguracion("url_sitio"), "facebookAppId" => $facebookAppId, "seccionInicio" => $seccionInicio, "dias" => $dias, "isMobile" => $isMobile));
} return $this->render('producto_final/landing_producto.html.twig', array("urlSitio" => Utiles::getParametroConfiguracion("url_sitio"), "facebookAppId" => $facebookAppId, "seccionInicio" => $seccionInicio, "dias" => $dias, "isMobile" => $isMobile, "terminos_condiciones" => $terminosCondiciones));
}
public function subirCambioAction(Request $request) {
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:subirCambioAction', 'nutrapharm/index'); public function subirCambioAction(Request $request) {
$ua = $request->headers->get('User-Agent'); $log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:subirCambioAction', 'nutrapharm/index');
$ip = $request->getClientIp(); $ua = $request->headers->get('User-Agent');
$log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua...."); $ip = $request->getClientIp();
$facebookAppId = Utiles::getParametroConfiguracion("facebook_app_id"); $log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua....");
$id = $request->get("idp", null); $facebookAppId = Utiles::getParametroConfiguracion("facebook_app_id");
$seccionGenerarCambios = Utiles::getParametroConfiguracion("seccion_formulario_comparacion"); $id = $request->get("idp", null);
$seccionComparacion = Utiles::getParametroConfiguracion("seccion_landing_comparacion"); $seccionGenerarCambios = Utiles::getParametroConfiguracion("seccion_formulario_comparacion");
$seccionComparacion = Utiles::getParametroConfiguracion("seccion_landing_comparacion");
$log->debug("buscando usuario en base a id : $id");
$usuario = UsuarioNutrapharmQuery::obtenerUsuarioNutraPharm($id); $log->debug("buscando usuario en base a id : $id");
$usuario = UsuarioNutrapharmQuery::obtenerUsuarioNutraPharm($id);
if(!$usuario){
$log->err('el usuario no existe..'); if(!$usuario){
$this->get('session')->getFlashBag()->add( $log->err('el usuario no existe..');
'error', 'Ha ocurrido un error. con su solicitud. Contactese con el soporte de la página.' $this->get('session')->getFlashBag()->add(
); 'error', 'Ha ocurrido un error. con su solicitud. Contactese con el soporte de la página.'
);
return $this->redirectToRoute('nutrapharm_error');
} return $this->redirectToRoute('nutrapharm_error');
}
$ext = $usuario->getUnuExtInicial();
$ext = $usuario->getUnuExtInicial();
return $this->render('producto_final/landing_producto_generar_comparacion.html.twig', array("idp" => $id, "extInicial" => $ext,"seccionGenerarCambios" => $seccionGenerarCambios ,"seccionComparacion" => $seccionComparacion, "urlSitio" => Utiles::getParametroConfiguracion("url_sitio"), "facebookAppId" => $facebookAppId));
} return $this->render('producto_final/landing_producto_generar_comparacion.html.twig', array("idp" => $id, "extInicial" => $ext,"seccionGenerarCambios" => $seccionGenerarCambios ,"seccionComparacion" => $seccionComparacion, "urlSitio" => Utiles::getParametroConfiguracion("url_sitio"), "facebookAppId" => $facebookAppId));
}
public function comparacionAction(Request $request) {
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:comparacionAction', 'nutrapharm/index'); public function comparacionAction(Request $request) {
$ua = $request->headers->get('User-Agent'); $log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:comparacionAction', 'nutrapharm/index');
$ip = $request->getClientIp(); $ua = $request->headers->get('User-Agent');
$log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua...."); $ip = $request->getClientIp();
$facebookAppId = Utiles::getParametroConfiguracion("facebook_app_id"); $log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua....");
$id = $request->get("idp", null); $facebookAppId = Utiles::getParametroConfiguracion("facebook_app_id");
$seccionComparacion = Utiles::getParametroConfiguracion("seccion_landing_comparacion"); $id = $request->get("idp", null);
$seccionInicial = Utiles::getParametroConfiguracion("seccion_formulario_inicial"); $seccionComparacion = Utiles::getParametroConfiguracion("seccion_landing_comparacion");
$log->debug("buscando usuario en base a id : $id"); $seccionInicial = Utiles::getParametroConfiguracion("seccion_formulario_inicial");
$usuario = UsuarioNutrapharmQuery::obtenerUsuarioNutraPharm($id); $log->debug("buscando usuario en base a id : $id");
$us = $request->get("us",1); $usuario = UsuarioNutrapharmQuery::obtenerUsuarioNutraPharm($id);
$us = $request->get("us",1);
if(!$usuario){
$log->err('el usuario no existe..'); if(!$usuario){
$this->get('session')->getFlashBag()->add( $log->err('el usuario no existe..');
'error', 'Ha ocurrido un error. con su solicitud. Contactese con el soporte de la página.' $this->get('session')->getFlashBag()->add(
); 'error', 'Ha ocurrido un error. con su solicitud. Contactese con el soporte de la página.'
);
return $this->redirectToRoute('nutrapharm_error');
} return $this->redirectToRoute('nutrapharm_error');
$comentarioFinal = $usuario->getUnuComentarioFinal(); }
$ext = $usuario->getUnuExtComparacion(); $comentarioFinal = $usuario->getUnuComentarioFinal();
$ext = $usuario->getUnuExtComparacion();
return $this->render('producto_final/landing_comparacion_cambios.html.twig', array("idp" => $id, "extComparacion" => $ext ,"seccionComparacion" => $seccionComparacion, "seccionInicial" => $seccionInicial, "comentarioFinal" => $comentarioFinal , "urlSitio" => Utiles::getParametroConfiguracion("url_sitio"), "facebookAppId" => $facebookAppId, "us"=>$us));
} return $this->render('producto_final/landing_comparacion_cambios.html.twig', array("idp" => $id, "extComparacion" => $ext ,"seccionComparacion" => $seccionComparacion, "seccionInicial" => $seccionInicial, "comentarioFinal" => $comentarioFinal , "urlSitio" => Utiles::getParametroConfiguracion("url_sitio"), "facebookAppId" => $facebookAppId, "us"=>$us));
}
public function errorAction(Request $request){
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:indexAction', 'nutrapharm/index'); public function errorAction(Request $request){
$ua = $request->headers->get('User-Agent'); $log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:indexAction', 'nutrapharm/index');
$ip = $request->getClientIp(); $ua = $request->headers->get('User-Agent');
$log->debug("Ingresando al landing de error... IP : $ip | UA : $ua...."); $ip = $request->getClientIp();
$facebookAppId = Utiles::getParametroConfiguracion("facebook_app_id"); $log->debug("Ingresando al landing de error... IP : $ip | UA : $ua....");
$seccionInicio = Utiles::getParametroConfiguracion("seccion_formulario_inicial"); $facebookAppId = Utiles::getParametroConfiguracion("facebook_app_id");
$seccionError = Utiles::getParametroConfiguracion("seccion_error"); $seccionInicio = Utiles::getParametroConfiguracion("seccion_formulario_inicial");
return $this->render('producto/landing_error.html.twig', array("urlSitio" => Utiles::getParametroConfiguracion("url_sitio"), "facebookAppId" => $facebookAppId, "seccionInicio" => $seccionInicio, "seccionError" => $seccionError)); $seccionError = Utiles::getParametroConfiguracion("seccion_error");
} return $this->render('producto/landing_error.html.twig', array("urlSitio" => Utiles::getParametroConfiguracion("url_sitio"), "facebookAppId" => $facebookAppId, "seccionInicio" => $seccionInicio, "seccionError" => $seccionError));
}
public function preUploadAction(Request $request){
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:preUploadAction', 'nutrapharm/index'); public function preUploadAction(Request $request){
$ua = $request->headers->get('User-Agent'); $log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:preUploadAction', 'nutrapharm/index');
$ip = $request->getClientIp(); $ua = $request->headers->get('User-Agent');
$uploadFile = $request->get("upload_file", 0); $ip = $request->getClientIp();
$idNutrapharm = $request->get("id", null); $uploadFile = $request->get("upload_file", 0);
$paso = $request->get("paso",null); $idNutrapharm = $request->get("id", null);
$uploadDir = $this->getParameter('upload_dir'); $paso = $request->get("paso",null);
$uploadDir = $this->getParameter('upload_dir');
$log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua| UPLOAD FILE : $uploadFile....");
if ($uploadFile == 1) {//foto subida $log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua| UPLOAD FILE : $uploadFile....");
$log->debug("Creando variable de archivo..."); if ($uploadFile == 1) {//foto subida
$file = $request->files->get('imagen'); $log->debug("Creando variable de archivo...");
if (empty($file)) { $file = $request->files->get('imagen');
$log->debug("No se subio un archivo de imagen válido..."); if (empty($file)) {
return new JsonResponse(array("msg" => "No se subio una imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_INICIAL), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("No se subio un archivo de imagen válido...");
} return new JsonResponse(array("msg" => "No se subio una imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_INICIAL), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
} else {//foto tomada }
$log->debug("Creando variable de archivo en base a foto tomada por el usuario..."); } else {//foto tomada
$file = $request->get("imagen", null); $log->debug("Creando variable de archivo en base a foto tomada por el usuario...");
} $file = $request->get("imagen", null);
}
$log->debug("Iniciando generación de archivo asociado al nuevo usuario...");
if ($uploadFile == 1) { $log->debug("Iniciando generación de archivo asociado al nuevo usuario...");
$log->debug("Procesando archivo fisico subido..."); if ($uploadFile == 1) {
$filename = $idNutrapharm ."temp_$paso". "." . $file->getClientOriginalExtension(); $log->debug("Procesando archivo fisico subido...");
$file->move($uploadDir, $filename); $filename = $idNutrapharm ."temp_$paso". "." . $file->getClientOriginalExtension();
} else { $file->move($uploadDir, $filename);
$log->debug("Procesando archivo tomado con dispositivo..."); } else {
$data = $this->getBase64Image($file); $log->debug("Procesando archivo tomado con dispositivo...");
$filename = $idNutrapharm ."temp_$paso". "." . $data[1]; $data = $this->getBase64Image($file);
$fpc = file_put_contents("$uploadDir/$filename", $data[0]); $filename = $idNutrapharm ."temp_$paso". "." . $data[1];
} $fpc = file_put_contents("$uploadDir/$filename", $data[0]);
}
$log->debug("escalando imagen en registro nuevo...");
$this->scaleAndCrop("$uploadDir/$filename"); $log->debug("escalando imagen en registro nuevo...");
$url = Utiles::getParametroConfiguracion("ruta_archivos_url"); $this->scaleAndCrop("$uploadDir/$filename");
$log->debug("Retornando Respuesta a Usuario | Respuesta : " . Response::HTTP_OK); $url = Utiles::getParametroConfiguracion("ruta_archivos_url");
return new JsonResponse(array("id" => $idNutrapharm ,"url" => $url."".$filename), Response::HTTP_OK, ['content-type' => 'application/json']); $log->debug("Retornando Respuesta a Usuario | Respuesta : " . Response::HTTP_OK);
return new JsonResponse(array("id" => $idNutrapharm ,"url" => $url."".$filename), Response::HTTP_OK, ['content-type' => 'application/json']);
}
}
public function uploadAction(Request $request) {
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:uploadAction', 'nutrapharm/index'); public function uploadAction(Request $request) {
$ua = $request->headers->get('User-Agent'); $log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:uploadAction', 'nutrapharm/index');
$ip = $request->getClientIp(); $ua = $request->headers->get('User-Agent');
$log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua...."); $ip = $request->getClientIp();
$log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua....");
$tipo = $request->get("tipoUsuarioFormulario", null);
if($tipo == UsuarioNutrapharm::ESTADO_FOTO_INICIAL || $tipo == UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA){ $tipo = $request->get("tipoUsuarioFormulario", null);
$nombre = $request->get("nombreUsuario", null); if($tipo == UsuarioNutrapharm::ESTADO_FOTO_INICIAL || $tipo == UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA){
$correo = strtolower($request->get("mailUsuario", null)); $nombre = $request->get("nombreUsuario", null);
}else{ $correo = strtolower($request->get("mailUsuario", null));
$nombre = "Dummy"; }else{
$correo = "no@mail.cl"; $nombre = "Dummy";
} $correo = "no@mail.cl";
}
$comentario = $request->get("comentarioFotoUsuario", null);
$idUsuarioNutraPharm = $request->get("usuarioNutraPharm", null); $comentario = $request->get("comentarioFotoUsuario", null);
$uploadFile = $request->get("upload_file", 0); $idUsuarioNutraPharm = $request->get("usuarioNutraPharm", null);
$log->debug("Paràmetros de entrada Guardado o Actualizacion Subida Archivo : $uploadFile | Tipo Guardado : $tipo | Nombre : $nombre | Correo : $correo | Comentario = $comentario | Usuario : $idUsuarioNutraPharm...."); $uploadFile = $request->get("upload_file", 0);
$log->debug("Paràmetros de entrada Guardado o Actualizacion Subida Archivo : $uploadFile | Tipo Guardado : $tipo | Nombre : $nombre | Correo : $correo | Comentario = $comentario | Usuario : $idUsuarioNutraPharm....");
//VERIFICAR DATOS DE ENTRADA
//VERIFICAR DATOS DE ENTRADA
/* Verificacion Mail */
if($tipo == UsuarioNutrapharm::ESTADO_FOTO_INICIAL){ /* Verificacion Mail */
if(UsuarioNutrapharmQuery::correoRegistrado($correo)){ if($tipo == UsuarioNutrapharm::ESTADO_FOTO_INICIAL){
$log->debug("El correo $correo ingresado ya se encuentra registrado en el sistema..."); if(UsuarioNutrapharmQuery::correoRegistrado($correo)){
return new JsonResponse(array("msg" => "El correo ingresado ya se ha registrado en el sistema!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("El correo $correo ingresado ya se encuentra registrado en el sistema...");
} return new JsonResponse(array("msg" => "El correo ingresado ya se ha registrado en el sistema!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
}else if($tipo == UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA){ }
$usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idUsuarioNutraPharm)->findOne() ; }else if($tipo == UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA){
$correoActual = $usuario->getUnuCorreo(); $usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idUsuarioNutraPharm)->findOne() ;
if($correoActual != $correo && UsuarioNutrapharmQuery::correoRegistrado($correo)){ $correoActual = $usuario->getUnuCorreo();
$log->debug("El correo $correo ingresado ya se encuentra registrado en el sistema..."); if($correoActual != $correo && UsuarioNutrapharmQuery::correoRegistrado($correo)){
return new JsonResponse(array("msg" => "El correo ingresado ya se ha registrado en el sistema!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("El correo $correo ingresado ya se encuentra registrado en el sistema...");
} return new JsonResponse(array("msg" => "El correo ingresado ya se ha registrado en el sistema!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
} }
}
if (!Utiles::validarCorreo($correo)) {
$log->debug("El correo no es válido o no posee un formato correcto..."); if (!Utiles::validarCorreo($correo)) {
return new JsonResponse(array("msg" => "El correo ingresado no es válido!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("El correo no es válido o no posee un formato correcto...");
} return new JsonResponse(array("msg" => "El correo ingresado no es válido!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
}
/* Vrificacion String Nombre */
if ($nombre == "" || $nombre == null) { /* Vrificacion String Nombre */
$log->debug("El nombre ingresado no es válido..."); if ($nombre == "" || $nombre == null) {
return new JsonResponse(array("msg" => "Nombre ingresado no es válido!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("El nombre ingresado no es válido...");
} return new JsonResponse(array("msg" => "Nombre ingresado no es válido!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
}
/* Verificacion String Comentarios */
if ($comentario == "" || $comentario == null) { /* Verificacion String Comentarios */
$log->debug("El comentario ingresado no es válido..."); if ($comentario == "" || $comentario == null) {
return new JsonResponse(array("msg" => "El comentario ingresado no es válido!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("El comentario ingresado no es válido...");
} return new JsonResponse(array("msg" => "El comentario ingresado no es válido!"), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
}
if ($uploadFile == 1) {//foto subida
$log->debug("Creando variable de archivo..."); if ($uploadFile == 1) {//foto subida
$file = $request->files->get('imagen'); $log->debug("Creando variable de archivo...");
if (empty($file)) { $file = $request->files->get('imagen');
$log->debug("No se subio un archivo de imagen válido..."); if (empty($file)) {
return new JsonResponse(array("msg" => "No se subio una imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_INICIAL), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("No se subio un archivo de imagen válido...");
} return new JsonResponse(array("msg" => "No se subio una imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_INICIAL), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
} else {//foto tomada }
$log->debug("Creando variable de archivo en base a foto tomada por el usuario..."); } else {//foto tomada
$file = $request->get("imagen", null); $log->debug("Creando variable de archivo en base a foto tomada por el usuario...");
} $file = $request->get("imagen", null);
}
$log->debug("Iniciando analisis de datos...");
if ($tipo == UsuarioNutrapharm::ESTADO_FOTO_INICIAL) { //Usuario Nuevo $log->debug("Iniciando analisis de datos...");
$log->debug("Iniciando Creacion de Usuario Nuevo..."); if ($tipo == UsuarioNutrapharm::ESTADO_FOTO_INICIAL) { //Usuario Nuevo
$usuarioNutraPharm = new UsuarioNutrapharm(); $log->debug("Iniciando Creacion de Usuario Nuevo...");
$usuarioNutraPharm->setUnuNombre($nombre); $usuarioNutraPharm = new UsuarioNutrapharm();
$usuarioNutraPharm->setUnuCorreo($correo); $usuarioNutraPharm->setUnuNombre($nombre);
$usuarioNutraPharm->setUnuComentarioInicial($comentario); $usuarioNutraPharm->setUnuCorreo($correo);
$usuarioNutraPharm->setUnuUa($ua); $usuarioNutraPharm->setUnuComentarioInicial($comentario);
$usuarioNutraPharm->setUnuIp($ip); $usuarioNutraPharm->setUnuUa($ua);
$usuarioNutraPharm->setUnuEstado(UsuarioNutrapharm::ESTADO_FOTO_INICIAL); $usuarioNutraPharm->setUnuIp($ip);
$usuarioNutraPharm->setUnuEliminado(UsuarioNutrapharm::ELIMINADO_FALSE); $usuarioNutraPharm->setUnuEstado(UsuarioNutrapharm::ESTADO_FOTO_INICIAL);
$usuarioNutraPharm->save(); $usuarioNutraPharm->setUnuEliminado(UsuarioNutrapharm::ELIMINADO_FALSE);
$usuarioNutraPharm->save();
$uploadDir = $this->getParameter('upload_dir');
$idNutrapharm = explode("@", $usuarioNutraPharm->getUnuCorreo())[0] . $usuarioNutraPharm->getUnuId(); $uploadDir = $this->getParameter('upload_dir');
$idNutrapharm = explode("@", $usuarioNutraPharm->getUnuCorreo())[0] . $usuarioNutraPharm->getUnuId();
$usuarioNutraPharm->setUnuPathFotoInicial($uploadDir . '/' . $idNutrapharm);
$usuarioNutraPharm->setUnuIdNutrapharm($idNutrapharm); $usuarioNutraPharm->setUnuPathFotoInicial($uploadDir . '/' . $idNutrapharm);
$usuarioNutraPharm->setUnuIdNutrapharm($idNutrapharm);
$log->debug("Iniciando generación de archivo asociado al nuevo usuario...");
if ($uploadFile == 1) { $log->debug("Iniciando generación de archivo asociado al nuevo usuario...");
$log->debug("Procesando archivo fisico subido..."); if ($uploadFile == 1) {
$usuarioNutraPharm->setUnuExtInicial($file->getClientOriginalExtension()); $log->debug("Procesando archivo fisico subido...");
$usuarioNutraPharm->save(); $usuarioNutraPharm->setUnuExtInicial($file->getClientOriginalExtension());
$filename = $idNutrapharm . "." . $file->getClientOriginalExtension(); $usuarioNutraPharm->save();
//$filename_temp = $idNutrapharm . "_temp." . $file->getClientOriginalExtension(); $filename = $idNutrapharm . "." . $file->getClientOriginalExtension();
$file->move($uploadDir, $filename); //$filename_temp = $idNutrapharm . "_temp." . $file->getClientOriginalExtension();
//$file->move($uploadDir, $filename_temp); $file->move($uploadDir, $filename);
} else { //$file->move($uploadDir, $filename_temp);
$log->debug("Procesando archivo tomado con dispositivo..."); } else {
$data = $this->getBase64Image($file); $log->debug("Procesando archivo tomado con dispositivo...");
$usuarioNutraPharm->setUnuExtInicial($data[1]); $data = $this->getBase64Image($file);
$usuarioNutraPharm->save(); $usuarioNutraPharm->setUnuExtInicial($data[1]);
$filename = $idNutrapharm . "." . $data[1]; $usuarioNutraPharm->save();
//$filename_temp = $idNutrapharm . "_temp." . $data[1]; $filename = $idNutrapharm . "." . $data[1];
//$filename_temp = $idNutrapharm . "_temp." . $data[1];
$fpc = file_put_contents("$uploadDir/$filename", $data[0]);
//$fpc_temp = file_put_contents("$uploadDir/$filename_temp", $data[0]); $fpc = file_put_contents("$uploadDir/$filename", $data[0]);
} //$fpc_temp = file_put_contents("$uploadDir/$filename_temp", $data[0]);
}
$log->debug("escalando imagen en registro nuevo...");
$this->scaleAndCrop("$uploadDir/$filename"); $log->debug("escalando imagen en registro nuevo...");
$this->scaleAndCrop("$uploadDir/$filename");
$log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA . " | Usuario : $idNutrapharm | Respuesta : " . Response::HTTP_OK);
return new JsonResponse(array("msg" => "La informacion ha sido ingresada con exito! \n En 30 días más recibiras un correo para poder comparar tus cambios. ", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA, "usuario" => $idNutrapharm), Response::HTTP_OK, ['content-type' => 'application/json']); $log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA . " | Usuario : $idNutrapharm | Respuesta : " . Response::HTTP_OK);
} else if ($tipo == UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA && $idUsuarioNutraPharm != null) { return new JsonResponse(array("msg" => "La informacion ha sido ingresada con exito! \n En 30 días más recibiras un correo para poder comparar tus cambios. ", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA, "usuario" => $idNutrapharm), Response::HTTP_OK, ['content-type' => 'application/json']);
//Actualizar informacion ya existente } else if ($tipo == UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA && $idUsuarioNutraPharm != null) {
$log->debug("Iniciando Actualizacion de Usuario $idUsuarioNutraPharm..."); //Actualizar informacion ya existente
$usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idUsuarioNutraPharm)->findOne(); $log->debug("Iniciando Actualizacion de Usuario $idUsuarioNutraPharm...");
$usuario->setUnuNombre($nombre); $usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idUsuarioNutraPharm)->findOne();
$usuario->setUnuCorreo($correo); $usuario->setUnuNombre($nombre);
$usuario->setUnuComentarioInicial($comentario); $usuario->setUnuCorreo($correo);
$usuario->setUnuUa($ua); $usuario->setUnuComentarioInicial($comentario);
$usuario->setUnuIp($ip); $usuario->setUnuUa($ua);
$usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA); $usuario->setUnuIp($ip);
$usuario->save(); $usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA);
$usuario->save();
$uploadDir = $this->getParameter('upload_dir');
$idNutrapharm = explode("@", $usuario->getUnuCorreo())[0] . $usuario->getUnuId(); $uploadDir = $this->getParameter('upload_dir');
$usuario->setUnuPathFotoInicial($uploadDir . '/' . $idNutrapharm); $idNutrapharm = explode("@", $usuario->getUnuCorreo())[0] . $usuario->getUnuId();
$usuario->setUnuIdNutrapharm($idNutrapharm); $usuario->setUnuPathFotoInicial($uploadDir . '/' . $idNutrapharm);
$usuario->setUnuIdNutrapharm($idNutrapharm);
$log->debug("Iniciando generación de archivo asociado a la actualizacion del usuario $idUsuarioNutraPharm...");
if ($uploadFile == 1) { $log->debug("Iniciando generación de archivo asociado a la actualizacion del usuario $idUsuarioNutraPharm...");
$log->debug("Procesando archivo fisico subido..."); if ($uploadFile == 1) {
$filename = $idNutrapharm . "." . $file->getClientOriginalExtension(); $log->debug("Procesando archivo fisico subido...");
$usuario->setUnuExtInicial($file->getClientOriginalExtension()); $filename = $idNutrapharm . "." . $file->getClientOriginalExtension();
$usuario->save(); $usuario->setUnuExtInicial($file->getClientOriginalExtension());
$file->move($uploadDir, $filename); $usuario->save();
} else { $file->move($uploadDir, $filename);
$log->debug("Procesando archivo tomado con dispositivo..."); } else {
$data = $this->getBase64Image($file); $log->debug("Procesando archivo tomado con dispositivo...");
if ($data == -1) { $data = $this->getBase64Image($file);
$usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_NO_VALIDO); if ($data == -1) {
$usuario->save(); $usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_NO_VALIDO);
$log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_FINAL . " | Usuario : $idUsuarioNutraPharm | Respuesta : " . Response::HTTP_BAD_REQUEST); $usuario->save();
return new JsonResponse(array("msg" => "Ha ocurrido un error con el procesamiento de la imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_FINAL, "usuario" => $idNutrapharm), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_FINAL . " | Usuario : $idUsuarioNutraPharm | Respuesta : " . Response::HTTP_BAD_REQUEST);
} return new JsonResponse(array("msg" => "Ha ocurrido un error con el procesamiento de la imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_FINAL, "usuario" => $idNutrapharm), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
}
$usuario->setUnuExtInicial($data[1]);
$usuario->save(); $usuario->setUnuExtInicial($data[1]);
$filename = $idNutrapharm . "." . $data[1]; $usuario->save();
$fpc = file_put_contents("$uploadDir/$filename", $data[0]); $filename = $idNutrapharm . "." . $data[1];
$fpc = file_put_contents("$uploadDir/$filename", $data[0]);
$log->debug("escalando imagen en actualizacion...");
$this->scaleAndCrop("$uploadDir/$filename"); $log->debug("escalando imagen en actualizacion...");
} $this->scaleAndCrop("$uploadDir/$filename");
$log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA . " | Usuario : $idUsuarioNutraPharm | Respuesta : " . Response::HTTP_OK); }
return new JsonResponse(array("msg" => "La información se ha actualizado!", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA, "usuario" => $idNutrapharm), Response::HTTP_OK, ['content-type' => 'application/json']); $log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA . " | Usuario : $idUsuarioNutraPharm | Respuesta : " . Response::HTTP_OK);
} elseif ($tipo == UsuarioNutrapharm::ESTADO_FOTO_FINAL && $idUsuarioNutraPharm != null) { return new JsonResponse(array("msg" => "La información se ha actualizado!", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA, "usuario" => $idNutrapharm), Response::HTTP_OK, ['content-type' => 'application/json']);
$log->debug("Iniciando Actualizacion Final de Usuario $idUsuarioNutraPharm..."); } elseif ($tipo == UsuarioNutrapharm::ESTADO_FOTO_FINAL && $idUsuarioNutraPharm != null) {
$usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idUsuarioNutraPharm)->findOne(); $log->debug("Iniciando Actualizacion Final de Usuario $idUsuarioNutraPharm...");
$usuario->setUnuComentarioFinal($comentario); $usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idUsuarioNutraPharm)->findOne();
$usuario->setUnuUa($ua); $usuario->setUnuComentarioFinal($comentario);
$usuario->setUnuIp($ip); $usuario->setUnuUa($ua);
$usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_FOTO_FINAL); $usuario->setUnuIp($ip);
$usuario->setUnuCompartidoFacebook(0); $usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_FOTO_FINAL);
$usuario->save(); $usuario->setUnuCompartidoFacebook(0);
$usuario->save();
$uploadDir = $this->getParameter('upload_dir');
$idNutrapharm = explode("@", $usuario->getUnuCorreo())[0] . $usuario->getUnuId(); $uploadDir = $this->getParameter('upload_dir');
$usuario->setUnuPathFotoFinal($uploadDir . '/' . $idNutrapharm . "_final"); $idNutrapharm = explode("@", $usuario->getUnuCorreo())[0] . $usuario->getUnuId();
$usuario->setUnuPathFotoFinal($uploadDir . '/' . $idNutrapharm . "_final");
$log->debug("Iniciando generación de archivo final asociado a la actualizacion del usuario $idUsuarioNutraPharm...");
if ($uploadFile == 1) { $log->debug("Iniciando generación de archivo final asociado a la actualizacion del usuario $idUsuarioNutraPharm...");
$log->debug("Procesando archivo fisico subido..."); if ($uploadFile == 1) {
$filename = $idNutrapharm . "_final." . $file->getClientOriginalExtension(); $log->debug("Procesando archivo fisico subido...");
$usuario->setUnuExtFinal($file->getClientOriginalExtension()); $filename = $idNutrapharm . "_final." . $file->getClientOriginalExtension();
$usuario->save(); $usuario->setUnuExtFinal($file->getClientOriginalExtension());
$file->move($uploadDir, $filename); $usuario->save();
} else { $file->move($uploadDir, $filename);
$log->debug("Procesando archivo tomado con dispositivo..."); } else {
$data = $this->getBase64Image($file); $log->debug("Procesando archivo tomado con dispositivo...");
if ($data == -1) { $data = $this->getBase64Image($file);
$log->debug("No se pudo procesar la imagen tomada por el usuario..."); if ($data == -1) {
$usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_NO_VALIDO); $log->debug("No se pudo procesar la imagen tomada por el usuario...");
$usuario->save(); $usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_NO_VALIDO);
$log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_FINAL . " | Usuario : $idUsuarioNutraPharm | Respuesta : " . Response::HTTP_BAD_REQUEST); $usuario->save();
return new JsonResponse(array("msg" => "Ha ocurrido un error con el procesamiento de la imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_FINAL, "usuario" => $idNutrapharm), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_FINAL . " | Usuario : $idUsuarioNutraPharm | Respuesta : " . Response::HTTP_BAD_REQUEST);
} return new JsonResponse(array("msg" => "Ha ocurrido un error con el procesamiento de la imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_FINAL, "usuario" => $idNutrapharm), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
$usuario->setUnuExtFinal($data[1]); }
$usuario->save(); $usuario->setUnuExtFinal($data[1]);
$filename = $idNutrapharm . "_final." . $data[1]; $usuario->save();
$fpc = file_put_contents("$uploadDir/$filename", $data[0]); $filename = $idNutrapharm . "_final." . $data[1];
} $fpc = file_put_contents("$uploadDir/$filename", $data[0]);
}
$log->debug("escalando imagen en actualizacion final...");
$this->scaleAndCrop("$uploadDir/$filename"); $log->debug("escalando imagen en actualizacion final...");
$this->scaleAndCrop("$uploadDir/$filename");
$log->debug("Iniciando union de fotos subidas por el usuario $idUsuarioNutraPharm...");
$this->merge($usuario->getUnuPathFotoInicial() . "." . $usuario->getUnuExtInicial(), $usuario->getUnuExtInicial(), $uploadDir . '/' . $filename, $usuario->getUnuExtFinal(), $uploadDir . '/' . $idNutrapharm . "_comparacion.png"); $log->debug("Iniciando union de fotos subidas por el usuario $idUsuarioNutraPharm...");
$this->merge($usuario->getUnuPathFotoInicial() . "." . $usuario->getUnuExtInicial(), $usuario->getUnuExtInicial(), $uploadDir . '/' . $filename, $usuario->getUnuExtFinal(), $uploadDir . '/' . $idNutrapharm . "_comparacion.png");
$usuario->setUnuFotoComparacion($uploadDir . '/' . $idNutrapharm . "_comparacion");
$usuario->setUnuExtComparacion("png"); $usuario->setUnuFotoComparacion($uploadDir . '/' . $idNutrapharm . "_comparacion");
$usuario->save(); $usuario->setUnuExtComparacion("png");
$usuario->save();
$log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_FINAL . " | Usuario : $idUsuarioNutraPharm | Respuesta : " . Response::HTTP_OK);
return new JsonResponse(array("msg" => "Se ha generado la comparación, compartelo en las redes sociales!", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_FINAL, "usuario" => $idNutrapharm), Response::HTTP_OK, ['content-type' => 'application/json']); $log->debug("Retornando Respuesta a Usuario | Tipo : " . UsuarioNutrapharm::ESTADO_FOTO_FINAL . " | Usuario : $idUsuarioNutraPharm | Respuesta : " . Response::HTTP_OK);
} return new JsonResponse(array("msg" => "Se ha generado la comparación, compartelo en las redes sociales!", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_FINAL, "usuario" => $idNutrapharm), Response::HTTP_OK, ['content-type' => 'application/json']);
} }
}
public function registrarEnFacebookAction(Request $request) {
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:registrarEnFacebookAction', 'nutrapharm/index'); public function registrarEnFacebookAction(Request $request) {
$ua = $request->headers->get('User-Agent'); $log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:registrarEnFacebookAction', 'nutrapharm/index');
$ip = $request->getClientIp(); $ua = $request->headers->get('User-Agent');
$log->debug("Ingresando a registrar compartir facebook ... IP : $ip | UA : $ua...."); $ip = $request->getClientIp();
$idUsuarioNutraPharm = $request->get("idUsuarioNutrapharm", null); $log->debug("Ingresando a registrar compartir facebook ... IP : $ip | UA : $ua....");
$log->debug("Usuario NutraPharm entrante : $idUsuarioNutraPharm..."); $idUsuarioNutraPharm = $request->get("idUsuarioNutrapharm", null);
$log->debug("Usuario NutraPharm entrante : $idUsuarioNutraPharm...");
$usuario = UsuarioNutrapharmQuery::obtenerUsuarioNutraPharm($idUsuarioNutraPharm);
$usuario = UsuarioNutrapharmQuery::obtenerUsuarioNutraPharm($idUsuarioNutraPharm);
if (!$usuario) {
$log->debug("id de usuario $idUsuarioNutraPharm no ecnontrado"); if (!$usuario) {
return new JsonResponse(array("msg" => "Ha ocurrido un error, el usuario no se encontró", "usuario" => $idUsuarioNutraPharm), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']); $log->debug("id de usuario $idUsuarioNutraPharm no ecnontrado");
} return new JsonResponse(array("msg" => "Ha ocurrido un error, el usuario no se encontró", "usuario" => $idUsuarioNutraPharm), Response::HTTP_BAD_REQUEST, ['content-type' => 'application/json']);
$log->debug("se ha actualizado el estado de compartir en facebook para el usuario $idUsuarioNutraPharm..."); }
return new JsonResponse(array("msg" => "Se registro el compartir mensaje de facebook"), Response::HTTP_OK, ['content-type' => 'application/json']); $log->debug("se ha actualizado el estado de compartir en facebook para el usuario $idUsuarioNutraPharm...");
} return new JsonResponse(array("msg" => "Se registro el compartir mensaje de facebook"), Response::HTTP_OK, ['content-type' => 'application/json']);
}
protected function scaleAndCrop($filename){
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:scaleAndCrop', 'nutrapharm/index'); protected function scaleAndCrop($filename){
$rutaFotos = Utiles::getParametroConfiguracion('ruta_base_servidor_fotos'); $log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:scaleAndCrop', 'nutrapharm/index');
$arrayDimension = $this->dimensionImage($filename); $rutaFotos = Utiles::getParametroConfiguracion('ruta_base_servidor_fotos');
$arrayOuput = array(); $arrayDimension = $this->dimensionImage($filename);
$arrayOuputCrop = array(); $arrayOuput = array();
$stringSalida = ""; $arrayOuputCrop = array();
$stringSalidaCrop = ""; $stringSalida = "";
$argument = ""; $stringSalidaCrop = "";
$argumentCrop = ""; $argument = "";
$esVertical = 0; $argumentCrop = "";
$esHorizontal = 0; $esVertical = 0;
$parameterWidth = Utiles::getParametroConfiguracion("scale_width"); $esHorizontal = 0;
$parameterHeight = Utiles::getParametroConfiguracion("scale_height"); $parameterWidth = Utiles::getParametroConfiguracion("scale_width");
$coordenada = NULL; $parameterHeight = Utiles::getParametroConfiguracion("scale_height");
$coordenada = NULL;
$filename = $rutaFotos.str_replace('../',"", $filename);
$filename = $rutaFotos.str_replace('../',"", $filename);
$log->debug("Archivo Entrante : $filename");
$log->debug("Ancho Imagen ".$arrayDimension["width"]." | Largo Imagen ".$arrayDimension["height"]); $log->debug("Archivo Entrante : $filename");
$log->debug("Ancho Imagen ".$arrayDimension["width"]." | Largo Imagen ".$arrayDimension["height"]);
//Escalado
if($arrayDimension["width"] > $arrayDimension["height"]){ //Escalado
$log->debug("Foto Horizontal Ancho > Largo"); if($arrayDimension["width"] > $arrayDimension["height"]){
$argument = "-y -i $filename -vf scale=-1:$parameterHeight $filename"; $log->debug("Foto Horizontal Ancho > Largo");
$log->debug("Comando a ejecutar : ffmpeg $argument "); $argument = "-y -i $filename -vf scale=-1:$parameterHeight $filename";
exec("ffmpeg $argument ", $arrayOuput, $stringSalida); $log->debug("Comando a ejecutar : ffmpeg $argument ");
$log->debug("Codigo Salida : $stringSalida"); exec("ffmpeg $argument ", $arrayOuput, $stringSalida);
$esHorizontal = 1; $log->debug("Codigo Salida : $stringSalida");
}else if($arrayDimension["width"] < $arrayDimension["height"]){ $esHorizontal = 1;
$log->debug("Foto Vertical Largo > Ancho"); }else if($arrayDimension["width"] < $arrayDimension["height"]){
$argument = "-y -i $filename -vf scale=$parameterWidth:-1 $filename"; $log->debug("Foto Vertical Largo > Ancho");
$log->debug("Comando a ejecutar : ffmpeg $argument "); $argument = "-y -i $filename -vf scale=$parameterWidth:-1 $filename";
exec("ffmpeg $argument ", $arrayOuput, $stringSalida); $log->debug("Comando a ejecutar : ffmpeg $argument ");
$log->debug("Codigo Salida : $stringSalida"); exec("ffmpeg $argument ", $arrayOuput, $stringSalida);
$esVertical = 1; $log->debug("Codigo Salida : $stringSalida");
}else if($arrayDimension["width"] == $arrayDimension["height"]){ $esVertical = 1;
$log->debug("Foto Perfecta Ancho = Largo"); }else if($arrayDimension["width"] == $arrayDimension["height"]){
$argument = "-y -i $filename -vf scale=-1:$parameterHeight $filename"; $log->debug("Foto Perfecta Ancho = Largo");
$log->debug("Comando a ejecutar : ffmpeg $argument "); $argument = "-y -i $filename -vf scale=-1:$parameterHeight $filename";
exec("ffmpeg $argument ", $arrayOuput, $stringSalida); $log->debug("Comando a ejecutar : ffmpeg $argument ");
$log->debug("Codigo Salida : $stringSalida"); exec("ffmpeg $argument ", $arrayOuput, $stringSalida);
$esHorizontal = 1; $log->debug("Codigo Salida : $stringSalida");
} $esHorizontal = 1;
}
//Variable a buscar de la nueva imagen escalada
//Variable a buscar de la nueva imagen escalada
$arrayDimensionScaled = $this->dimensionImage($filename);
$log->debug("Ancho Imagen Escalada ".$arrayDimensionScaled["width"]." | Largo Imagen Escalada ".$arrayDimensionScaled["height"]); $arrayDimensionScaled = $this->dimensionImage($filename);
$log->debug("Ancho Imagen Escalada ".$arrayDimensionScaled["width"]." | Largo Imagen Escalada ".$arrayDimensionScaled["height"]);
if($esHorizontal == 1 && $esVertical == 0){
$coordenada = ($arrayDimensionScaled["width"] - $parameterHeight) / 2; if($esHorizontal == 1 && $esVertical == 0){
$log->debug("Coordenada Calculada Horizontal : $coordenada"); $coordenada = ($arrayDimensionScaled["width"] - $parameterHeight) / 2;
}else if($esHorizontal == 0 && $esVertical == 1){ $log->debug("Coordenada Calculada Horizontal : $coordenada");
$coordenada = ($arrayDimensionScaled["height"] - $parameterWidth) / 2; }else if($esHorizontal == 0 && $esVertical == 1){
$log->debug("Coordenada Calculada Vertical : $coordenada"); $coordenada = ($arrayDimensionScaled["height"] - $parameterWidth) / 2;
} $log->debug("Coordenada Calculada Vertical : $coordenada");
}
//Cortado
//Cortado
if($esHorizontal == 1 && $esVertical == 0){
$log->debug("Cortando horizontalmente en coordenada : $coordenada,0"); if($esHorizontal == 1 && $esVertical == 0){
$argumentCrop = "-y -i $filename -vf crop=$parameterWidth:$parameterHeight:$coordenada:0 $filename"; $log->debug("Cortando horizontalmente en coordenada : $coordenada,0");
$log->debug("Comando a ejecutar : ffmpeg $argumentCrop "); $argumentCrop = "-y -i $filename -vf crop=$parameterWidth:$parameterHeight:$coordenada:0 $filename";
exec("ffmpeg $argumentCrop ", $arrayOuputCrop, $stringSalidaCrop); $log->debug("Comando a ejecutar : ffmpeg $argumentCrop ");
$log->debug("Codigo Salida : $stringSalidaCrop"); exec("ffmpeg $argumentCrop ", $arrayOuputCrop, $stringSalidaCrop);
}else if($esHorizontal == 0 && $esVertical == 1){ $log->debug("Codigo Salida : $stringSalidaCrop");
$log->debug("Cortando verticalmente en coordenada :0,$coordenada"); }else if($esHorizontal == 0 && $esVertical == 1){
$argumentCrop = "-y -i $filename -vf crop=$parameterWidth:$parameterHeight:0:$coordenada $filename"; $log->debug("Cortando verticalmente en coordenada :0,$coordenada");
$log->debug("Comando a ejecutar : ffmpeg $argumentCrop "); $argumentCrop = "-y -i $filename -vf crop=$parameterWidth:$parameterHeight:0:$coordenada $filename";
exec("ffmpeg $argumentCrop ", $arrayOuputCrop, $stringSalidaCrop); $log->debug("Comando a ejecutar : ffmpeg $argumentCrop ");
$log->debug("Codigo Salida : $stringSalidaCrop"); exec("ffmpeg $argumentCrop ", $arrayOuputCrop, $stringSalidaCrop);
} $log->debug("Codigo Salida : $stringSalidaCrop");
}
$log->debug("Terminando proceso de escalado y cortado $filename...");
} $log->debug("Terminando proceso de escalado y cortado $filename...");
}
protected function dimensionImage($filename){
list($width, $height) = getimagesize($filename); protected function dimensionImage($filename){
return array("width" => $width, "height" =>$height); list($width, $height) = getimagesize($filename);
} return array("width" => $width, "height" =>$height);
}
protected function merge($filename_x, $fileType_x, $filename_y, $fileType_y, $filename_result) {
protected function merge($filename_x, $fileType_x, $filename_y, $fileType_y, $filename_result) {
if (file_exists($filename_result)) {
imagedestroy($filename_result); if (file_exists($filename_result)) {
} imagedestroy($filename_result);
// Get dimensions for specified images }
// Get dimensions for specified images
list($width_x, $height_x) = getimagesize($filename_x);
list($width_y, $height_y) = getimagesize($filename_y); list($width_x, $height_x) = getimagesize($filename_x);
list($width_y, $height_y) = getimagesize($filename_y);
// Create new image with desired dimensions
// Create new image with desired dimensions
$image = imagecreatetruecolor($width_x + $width_y, $height_x);
$image = imagecreatetruecolor($width_x + $width_y, $height_x);
// Load images and then copy to destination image
if ($fileType_x == "png" || $fileType_x == "PNG") { // Load images and then copy to destination image
$image_x = imagecreatefrompng($filename_x); if ($fileType_x == "png" || $fileType_x == "PNG") {
} elseif ($fileType_x == "jpeg" || $fileType_x == "JPEG") { $image_x = imagecreatefrompng($filename_x);
$image_x = imagecreatefromjpeg($filename_x); } elseif ($fileType_x == "jpeg" || $fileType_x == "JPEG") {
}else{ $image_x = imagecreatefromjpeg($filename_x);
$image_x = imagecreate($filename_x); }else{
} $image_x = imagecreate($filename_x);
}
// Load images and then copy to destination image
if ($fileType_y == "png" || $fileType_y == "PNG") { // Load images and then copy to destination image
$image_y = imagecreatefrompng($filename_y); if ($fileType_y == "png" || $fileType_y == "PNG") {
} elseif ($fileType_y == "jpeg" || $fileType_y == "JPEG") { $image_y = imagecreatefrompng($filename_y);
$image_y = imagecreatefromjpeg($filename_y); } elseif ($fileType_y == "jpeg" || $fileType_y == "JPEG") {
} $image_y = imagecreatefromjpeg($filename_y);
}
imagecopy($image, $image_x, 0, 0, 0, 0, $width_x, $height_x);
imagecopy($image, $image_y, $width_x, 0, 0, 0, $width_y, $height_y); imagecopy($image, $image_x, 0, 0, 0, 0, $width_x, $height_x);
imagecopy($image, $image_y, $width_x, 0, 0, 0, $width_y, $height_y);
// Save the resulting image to disk (as JPEG)
// Save the resulting image to disk (as JPEG)
imagepng($image, $filename_result);
imagepng($image, $filename_result);
// Clean up
// Clean up
imagedestroy($image);
imagedestroy($image_x); imagedestroy($image);
imagedestroy($image_y); imagedestroy($image_x);
} imagedestroy($image_y);
}
public function downloadAction(Request $request) {
public function downloadAction(Request $request) {
$file_name = $request->get("file_name", null);
$file_name = $request->get("file_name", null);
$base_path = $this->getParameter('upload_dir');
$full_path = $base_path . '/' . $file_name; $base_path = $this->getParameter('upload_dir');
$full_path = $base_path . '/' . $file_name;
$fs = new Filesystem();
if (!$fs->exists($full_path)) { $fs = new Filesystem();
throw $this->createNotFoundException(); if (!$fs->exists($full_path)) {
} throw $this->createNotFoundException();
}
$file_name = basename($full_path);
$mime_type = $this->getMimeType($full_path); $file_name = basename($full_path);
$mime_type = $this->getMimeType($full_path);
$file = readfile($full_path);
$headers = array( $file = readfile($full_path);
'Content-Type' => $mime_type, $headers = array(
'Content-Disposition' => 'inline; filename="' . $file_name . '"'); 'Content-Type' => $mime_type,
return new Response($file, 200, $headers); 'Content-Disposition' => 'inline; filename="' . $file_name . '"');
} return new Response($file, 200, $headers);
}
protected function getBase64Image($data) {
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { protected function getBase64Image($data) {
$data = substr($data, strpos($data, ',') + 1); if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) {
$type = strtolower($type[1]); // jpg, png, gif $data = substr($data, strpos($data, ',') + 1);
$type = strtolower($type[1]); // jpg, png, gif
if (!in_array($type, ['jpg', 'jpeg', 'gif', 'png'])) {
//throw new \Exception('invalid image type'); if (!in_array($type, ['jpg', 'jpeg', 'gif', 'png'])) {
return -1; //throw new \Exception('invalid image type');
} return -1;
}
$data = base64_decode($data);
$data = base64_decode($data);
if ($data === false) {
//throw new \Exception('base64_decode failed'); if ($data === false) {
return -1; //throw new \Exception('base64_decode failed');
} return -1;
} else { }
//throw new \Exception('did not match data URI with image data'); } else {
return -1; //throw new \Exception('did not match data URI with image data');
} return -1;
}
//file_put_contents("img.{$type}", $data);
return array($data, $type); //file_put_contents("img.{$type}", $data);
} return array($data, $type);
}
protected function getMimeType($file) {
if ('jpg' === substr($file, -3)) { protected function getMimeType($file) {
$best_guess = 'jpeg'; if ('jpg' === substr($file, -3)) {
} else { $best_guess = 'jpeg';
$guesser = MimeTypeGuesser::getInstance(); } else {
$best_guess = $guesser->guess($file); $guesser = MimeTypeGuesser::getInstance();
} $best_guess = $guesser->guess($file);
}
return $best_guess;
} return $best_guess;
}
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment