Actualizacion

parent 5dd428bf
......@@ -5,7 +5,7 @@
<meta property="og:url" content="https://test-inovage.gearlabs.cl/nutrapharm/index?idp={{idp}}&fa={{fa}}&r=0" />
<meta property="og:type" content="website" />
<meta property="og:title" content="NutraPharm" />
<meta property="og:description" content="Producto Nutrapharm" />
<meta property="og:description" content="Producto Nutrapharm - Sacate una foto y compara en 30 días!" />
<meta property="og:image:type" content="image/png"/>
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
......@@ -15,7 +15,7 @@
<meta property="og:url" content="https://test-inovage.gearlabs.cl/nutrapharm/index?idp={{idp}}&fa={{fa}}&r=0" />
<meta property="og:type" content="website" />
<meta property="og:title" content="NutraPharm Comparacion Foto" />
<meta property="og:description" content="Producto Nutrapharm - Foto " />
<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}}.{{extInicial}}"/>
......@@ -222,6 +222,7 @@
if(imagenTomada == true && imagenSubida == false){
formData.append("upload_file", false);
formData.append("imagen", $("#imagenUsuario").attr('src'));
}else if(imagenSubida == true && imagenTomada == true){
formData.append("upload_file", true);
}
......
......@@ -29,36 +29,43 @@ class DefaultController extends Controller {
$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);
$reset = $request->get("r", 0);
$comentarioFinal = "";
if ($idPersona == null) {
$id = "none";
$ext = "png";
$firstAttempt = 1;
}
else {
} else {
$id = $idPersona;
$usuario= UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idPersona)->findOne();
$usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($idPersona)->findOne();
$ext = $usuario->getUnuExtInicial();
$comentarioFinal = $usuario->getUnuComentarioFinal();
}
return $this->render('producto/landing_producto.html.twig', array("idp" => $id, "extInicial" => $ext, "extFinal"=>"" ,"fa" => $firstAttempt, "r" => $reset));
return $this->render('producto/landing_producto.html.twig', array("idp" => $id, "extInicial" => $ext, "extFinal" => "", "comentarioFinal" => $comentarioFinal, "fa" => $firstAttempt, "r" => $reset));
}
public function uploadAction(Request $request) {
$log = Utiles::setLog('NutraPharmBundle\Controller\DefaultController:uploadAction', 'nutrapharm/index');
$ua = $request->headers->get('User-Agent');
$ip = $request->getClientIp();
$file = $request->files->get('imagen');
$tipo = $request->get("tipoUsuarioFormulario", null);
$nombre = $request->get("nombreUsuario", null);
$correo = $request->get("mailUsuario", null);
$comentario = $request->get("comentarioFotoUsuario", null);
$usuarioNutraPharm = $request->get("usuarioNutraPharm", null);
$uploadFile = $request->get("upload_file", null);
if ($uploadFile) {//foto subida
$file = $request->files->get('imagen');
} else {//foto tomada
$file = $request->get("imagen", null);
}
$log->debug("guardando datos de ip $ip...");
//validacion datos entrada
if (empty($file)) {
return new JsonResponse(array("msg" => "No se subio una imagen", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_INICIAL), Response::HTTP_BAD_REQUEST, ['content-type' => 'text/plain']);
......@@ -66,7 +73,6 @@ class DefaultController extends Controller {
if ($tipo == UsuarioNutrapharm::ESTADO_FOTO_INICIAL) { //Usuario Nuevo
//$filename = $file->getClientOriginalName();
$usuarioNutraPharm = new UsuarioNutrapharm();
$usuarioNutraPharm->setUnuNombre($nombre);
$usuarioNutraPharm->setUnuCorreo($correo);
......@@ -76,22 +82,51 @@ class DefaultController extends Controller {
$usuarioNutraPharm->setUnuEstado(UsuarioNutrapharm::ESTADO_FOTO_INICIAL);
$usuarioNutraPharm->setUnuEliminado(UsuarioNutrapharm::ELIMINADO_FALSE);
$usuarioNutraPharm->save();
$uploadDir = $this->getParameter('upload_dir');
$idNutrapharm = explode("@", $usuarioNutraPharm->getUnuCorreo())[0] . $usuarioNutraPharm->getUnuId();
$usuarioNutraPharm->setUnuPathFotoInicial($uploadDir . '/' . $idNutrapharm);
$usuarioNutraPharm->setUnuIdNutrapharm($idNutrapharm);
$usuarioNutraPharm->setUnuExtInicial($file->getClientOriginalExtension());
$usuarioNutraPharm->save();
$filename = $idNutrapharm .".".$file->getClientOriginalExtension();
$file->move($uploadDir, $filename);
return new JsonResponse(array("msg" => "La informacion ha sido ingresada con exito!", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA), Response::HTTP_OK, ['content-type' => 'text/plain']);
if($uploadFile){
$filename = $idNutrapharm . "." . $file->getClientOriginalExtension();
$file->move($uploadDir, $filename);
}else{
$data = $this->getBase64Image($file);
file_put_contents("$filename.$data[1]", $data[0]);
}
return new JsonResponse(array("msg" => "La informacion ha sido ingresada con exito!", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA), Response::HTTP_OK, ['content-type' => 'application/json']);
} else if ($tipo == UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA && $usuarioNutraPharm != null) {
//Actualizar informacion ya existente
//Actualizar informacion ya existente
$usuario = UsuarioNutrapharmQuery::create()->filterByUnuIdNutrapharm($usuarioNutraPharm)->findOne();
$usuario->setUnuNombre($nombre);
$usuario->setUnuCorreo($correo);
$usuario->setUnuComentarioInicial($comentario);
$usuario->setUnuUa($ua);
$usuario->setUnuIp($ip);
$usuarioNutraPharm->setUnuEstado(UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA);
$usuarioNutraPharm->save();
$uploadDir = $this->getParameter('upload_dir');
$idNutrapharm = explode("@", $usuarioNutraPharm->getUnuCorreo())[0] . $usuarioNutraPharm->getUnuId();
$usuarioNutraPharm->setUnuPathFotoInicial($uploadDir . '/' . $idNutrapharm);
$usuarioNutraPharm->setUnuIdNutrapharm($idNutrapharm);
$usuarioNutraPharm->setUnuExtInicial($file->getClientOriginalExtension());
$usuarioNutraPharm->save();
$filename = $idNutrapharm . "." . $file->getClientOriginalExtension();
if($uploadFile){
$filename = $idNutrapharm . "." . $file->getClientOriginalExtension();
$file->move($uploadDir, $filename);
}else{
$data = $this->getBase64Image($file);
file_put_contents("$filename.$data[1]", $data[0]);
}
return new JsonResponse(array("msg" => "La información se ha actualizado!", "tipo" => UsuarioNutrapharm::ESTADO_FOTO_ACTUALIZADA), Response::HTTP_OK, ['content-type' => 'application/json']);
} elseif ($tipo == UsuarioNutrapharm::ESTADO_FOTO_FINAL && $usuarioNutraPharm != null) {
//Unir fotos del usuario en base al usuarioNutraPharm
//Unir fotos del usuario en base al usuarioNutraPharm
}
}
......@@ -131,6 +166,32 @@ class DefaultController extends Controller {
return $response;
}
protected function getBase64Image($data) {
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) {
$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');
return -1;
}
$data = base64_decode($data);
if ($data === false) {
//throw new \Exception('base64_decode failed');
return -1;
}
} else {
//throw new \Exception('did not match data URI with image data');
return -1;
}
//file_put_contents("img.{$type}", $data);
return array($data,$type);
}
protected function getMimeType($file) {
if ('jpg' === substr($file, -3)) {
$best_guess = 'jpeg';
......
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