Actualizacion y limpieza logica

parent 8b609832
......@@ -18,10 +18,20 @@
<meta property="og:description" content="{{comentarioFinal}}" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image" content="https://test-inovage.gearlabs.cl/uploads/users/{{idp}}_comparacion.png"/>
<meta property="og:image" content="https://test-inovage.gearlabs.cl/uploads/users/{{idp}}_comparacion.png"/
{%endif%}
<link href="{{asset('frontend/css/camara.css')}}" rel="stylesheet" />
<script>
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id))
return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/es_ES/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
{% endblock %}
{% block body %}
<div class="row">
......@@ -114,27 +124,14 @@
var usuarioNutraPharm = "{{idp}}"; //por defecto
var tipoUsuarioFormulario = 3; //Segunda vez que entra por link de invitacion
{%else%}
var usuarioNutraPharm = "none"; //por defecto
var tipoUsuarioFormulario = 1;
var usuarioNutraPharm = "none"; //por defecto
var tipoUsuarioFormulario = 1;
{%endif%}
var upload;
var url = 'https://test-inovage.gearlabs.cl/nutrapharm/index?idp={{idp}}&fa={{fa}}&r=0';
var description = $("#comentarioFotoUsuario").val();
</script>
<script>
var url = 'https://test-inovage.gearlabs.cl/nutrapharm/index?idp={{idp}}&fa={{fa}}&r=0';
var description = $("#comentarioFotoUsuario").val();
</script>
<script>
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id))
return;
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/es_ES/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
</script>
<script>
window.fbAsyncInit = function () {
......@@ -198,8 +195,7 @@
$("#imgInp").change(function () {
readURL(this);
});
</script>
<script>
var Upload = function (file) {
this.file = file;
};
......
......@@ -9,6 +9,7 @@ class UsuarioNutrapharm extends BaseUsuarioNutrapharm
const ESTADO_FOTO_INICIAL = 1;
const ESTADO_FOTO_ACTUALIZADA = 2;
const ESTADO_FOTO_FINAL = 3;
const ESTADO_NO_VALIDO = 0;
const ELIMINADO_TRUE = 1;
const ELIMINADO_FALSE = 0;
}
......@@ -26,21 +26,25 @@ class DefaultController extends Controller {
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:indexAction', 'nutrapharm/index');
$ua = $request->headers->get('User-Agent');
$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....");
$idPersona = $request->get("idp", null);
$firstAttempt = $request->get("fa", 1);
$reset = $request->get("r", 0);
$comentarioFinal = "";
$log->debug("Paràmetros de entrada Usuario : $idPersona | Intento : $firstAttempt | Resetear = $reset....");
if ($idPersona == null) {
$id = "none";
$ext = "png";
$firstAttempt = 1;
$log->debug("No se encontro id usuario...seteando parametros por defecto Usuario : $id | Extension archivo : $ext | Intento : $firstAttempt .....");
} else {
$id = $idPersona;
$usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idPersona)->findOne();
$ext = $usuario->getUnuExtInicial();
$comentarioFinal = $usuario->getUnuComentarioFinal();
$log->debug("Se encontro id usuario $idPersona...seteando parametros por defecto Usuario : $id | Extension archivo : $ext | Intento : $firstAttempt | comentario final : $comentarioFinal.....");
}
return $this->render('producto/landing_producto.html.twig', array("idp" => $id, "extInicial" => $ext, "extFinal" => "", "comentarioFinal" => $comentarioFinal, "fa" => $firstAttempt, "r" => $reset));
......@@ -50,31 +54,33 @@ class DefaultController extends Controller {
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:uploadAction', 'nutrapharm/index');
$ua = $request->headers->get('User-Agent');
$ip = $request->getClientIp();
$log->debug("Ingresando al landing de Nutrapharm... IP : $ip | UA : $ua....");
$tipo = $request->get("tipoUsuarioFormulario", null);
$nombre = $request->get("nombreUsuario", null);
$correo = $request->get("mailUsuario", null);
$comentario = $request->get("comentarioFotoUsuario", null);
$idUsuarioNutraPharm = $request->get("usuarioNutraPharm", null);
$tipo = $request->get("tipoUsuarioFormulario", null);
$uploadFile = $request->get("upload_file", 0);
$log->debug("valor upload :".$uploadFile);
$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
//TODO
if ($uploadFile == 1) {//foto subida
$log->debug("Creando variable de archivo...");
$file = $request->files->get('imagen');
if (empty($file)) {
$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...");
$file = $request->get("imagen", null);
}
$log->debug("tipo de accion: $tipo");
$log->debug("guardando datos de ip $ip...");
$log->debug("Iniciando analisis de datos...");
if ($tipo == UsuarioNutrapharm::ESTADO_FOTO_INICIAL) { //Usuario Nuevo
$log->debug("Iniciando Creacion de Usuario Nuevo...");
$usuarioNutraPharm = new UsuarioNutrapharm();
$usuarioNutraPharm->setUnuNombre($nombre);
$usuarioNutraPharm->setUnuCorreo($correo);
......@@ -91,24 +97,26 @@ class DefaultController extends Controller {
$usuarioNutraPharm->setUnuPathFotoInicial($uploadDir . '/' . $idNutrapharm);
$usuarioNutraPharm->setUnuIdNutrapharm($idNutrapharm);
$log->debug("Iniciando generación de archivo asociado al nuevo usuario...");
if ($uploadFile == 1) {
$log->debug("Procesando archivo fisico subido...");
$usuarioNutraPharm->setUnuExtInicial($file->getClientOriginalExtension());
$usuarioNutraPharm->save();
$filename = $idNutrapharm . "." . $file->getClientOriginalExtension();
$file->move($uploadDir, $filename);
} else {
$log->debug("Procesando archivo tomado con dispositivo...");
$data = $this->getBase64Image($file);
$usuarioNutraPharm->setUnuExtInicial($data[1]);
$usuarioNutraPharm->save();
$filename = $idNutrapharm . "." . $data[1];
$fpc = file_put_contents("$uploadDir/$filename", $data[0]);
$log->debug("Estado archivo generado desde data : $fpc");
}
$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!", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA, "usuario" => $idNutrapharm), Response::HTTP_OK, ['content-type' => 'application/json']);
} else if ($tipo == UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA && $idUsuarioNutraPharm != null) {
//Actualizar informacion ya existente
$log->debug("id usuario a actualizar : $idUsuarioNutraPharm");
$log->debug("Iniciando Actualizacion de Usuario $idUsuarioNutraPharm...");
$usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idUsuarioNutraPharm)->findOne();
$usuario->setUnuNombre($nombre);
$usuario->setUnuCorreo($correo);
......@@ -123,25 +131,32 @@ class DefaultController extends Controller {
$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("Procesando archivo fisico subido...");
$filename = $idNutrapharm . "." . $file->getClientOriginalExtension();
$usuario->setUnuExtInicial($file->getClientOriginalExtension());
$usuario->save();
$file->move($uploadDir, $filename);
} else {
$log->debug("Procesando archivo tomado con dispositivo...");
$data = $this->getBase64Image($file);
if ($data == -1) {
$usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_NO_VALIDO);
$usuario->save();
$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();
$filename = $idNutrapharm . "." . $data[1];
$fpc = file_put_contents("$uploadDir/$filename", $data[0]);
$log->debug("Estado archivo generado desde data : $fpc");
}
$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']);
} elseif ($tipo == UsuarioNutrapharm::ESTADO_FOTO_FINAL && $idUsuarioNutraPharm != null) {
//Unir fotos del usuario en base al usuarioNutraPharm
//Actualizar informacion ya existente
$log->debug("id usuario a actualizar con segunda foto : $idUsuarioNutraPharm");
$log->debug("Iniciando Actualizacion Final de Usuario $idUsuarioNutraPharm...");
$usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idUsuarioNutraPharm)->findOne();
$usuario->setUnuComentarioFinal($comentario);
$usuario->setUnuUa($ua);
......@@ -153,29 +168,41 @@ class DefaultController extends Controller {
$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("Procesando archivo fisico subido...");
$filename = $idNutrapharm . "_final." . $file->getClientOriginalExtension();
$usuario->setUnuExtFinal($file->getClientOriginalExtension());
$usuario->save();
$file->move($uploadDir, $filename);
} else {
$log->debug("Procesando archivo tomado con dispositivo...");
$data = $this->getBase64Image($file);
if ($data == -1) {
$log->debug("No se pudo procesar la imagen tomada por el usuario...");
$usuario->setUnuEstado(UsuarioNutrapharm::ESTADO_NO_VALIDO);
$usuario->save();
$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();
$filename = $idNutrapharm . "_final." . $data[1];
$fpc = file_put_contents("$uploadDir/$filename", $data[0]);
$log->debug("Estado archivo generado desde data : $fpc");
}
$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");
$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']);
}
}
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);
// Get dimensions for specified images
......@@ -187,19 +214,19 @@ class DefaultController extends Controller {
$image = imagecreatetruecolor($width_x + $width_y, $height_x);
// Load images and then copy to destination image
if($fileType_x == "png" || $fileType_x == "PNG" ){
if ($fileType_x == "png" || $fileType_x == "PNG") {
$image_x = imagecreatefrompng($filename_x);
}elseif($fileType_x == "jpeg" || $fileType_x == "JPEG" ){
} elseif ($fileType_x == "jpeg" || $fileType_x == "JPEG") {
$image_x = imagecreatefromjpeg($filename_x);
}
// Load images and then copy to destination image
if($fileType_y == "png" || $fileType_y == "PNG"){
if ($fileType_y == "png" || $fileType_y == "PNG") {
$image_y = imagecreatefrompng($filename_y);
}elseif($fileType_y == "jpeg" || $fileType_y == "JPEG" ){
} 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);
......@@ -236,20 +263,6 @@ class DefaultController extends Controller {
return new Response($file, 200, $headers);
}
public function createSendFileResponseAction(Request $request) {
$file_name = $request->get("file_name", null);
$base_path = $this->getParameter('upload_dir');
$full_path = $base_path . '/' . $file_name;
$file = readfile($full_path);
$response = StreamedResponse::create(function() use ($file) {
readfile($file);
});
//$response->headers->set('Content-Type', $file->getMimeType());
return $response;
}
protected function getBase64Image($data) {
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) {
$data = substr($data, strpos($data, ',') + 1);
......
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