Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nutrapharm_producto
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Cristian Mauricio Diaz Canales
nutrapharm_producto
Commits
c2fec9c7
Commit
c2fec9c7
authored
Jun 03, 2020
by
Cristian Mauricio Diaz Canales
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Actualizacion general
parent
e3fdf377
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
581 additions
and
0 deletions
+581
-0
app/Resources/views/email/aviso-mail-comparacion.html.twig
app/Resources/views/email/aviso-mail-comparacion.html.twig
+5
-0
app/Resources/views/producto/includes/alert.messages.html.twig
...esources/views/producto/includes/alert.messages.html.twig
+32
-0
app/Resources/views/producto/landing_comparacion_cambios.html.twig
...rces/views/producto/landing_comparacion_cambios.html.twig
+42
-0
app/Resources/views/producto/landing_error.html.twig
app/Resources/views/producto/landing_error.html.twig
+16
-0
app/Resources/views/producto/landing_producto_generar_comparacion.html.twig
...s/producto/landing_producto_generar_comparacion.html.twig
+325
-0
src/AppBundle/Lib/TiempoTranscurrido.php
src/AppBundle/Lib/TiempoTranscurrido.php
+26
-0
src/NutrapharmBundle/Command/EnviarLinkCommand.php
src/NutrapharmBundle/Command/EnviarLinkCommand.php
+135
-0
No files found.
app/Resources/views/email/aviso-mail-comparacion.html.twig
0 → 100644
View file @
c2fec9c7
<p>
Estimado
{{
nombre_usuario
}}
, ya han pasado
{{
dias
}}
desde que inicio el cambio con el producto xxx de nutrapharm.
</p>
<br>
<p>
Tomese una nueva foto y comparta sus cambios haciendo click
<a
href=
"
{{
url_sitio
}}{{
seccion
}}
?idp=
{{
id_usuario
}}
"
target=
"_blank"
>
aquí
</a></p>
app/Resources/views/producto/includes/alert.messages.html.twig
0 → 100644
View file @
c2fec9c7
{%
if
app.session.flashbag.has
(
'success'
)
%}
<div
class=
"alert alert-success"
>
<span
class=
"close"
data-dismiss=
"alert"
>
×
</span>
{%
for
flashMessage
in
app.session.flashbag.get
(
'success'
)
%}
{{
flashMessage
}}
<br>
{%
endfor
%}
</div>
{%
endif
%}
{%
if
app.session.flashbag.has
(
'error'
)
%}
<div
class=
"alert alert-danger"
>
<span
class=
"close"
data-dismiss=
"alert"
>
×
</span>
{%
for
flashMessage
in
app.session.flashbag.get
(
'error'
)
%}
{{
flashMessage
}}
<br>
{%
endfor
%}
</div>
{%
endif
%}
{%
if
app.session.flashbag.has
(
'info'
)
%}
<div
class=
"alert alert-info"
>
<span
class=
"close"
data-dismiss=
"alert"
>
×
</span>
{%
for
flashMessage
in
app.session.flashbag.get
(
'info'
)
%}
{{
flashMessage
}}
<br>
{%
endfor
%}
</div>
{%
endif
%}
{%
if
app.session.flashbag.has
(
'warning'
)
%}
<div
class=
"alert alert-warning"
>
<span
class=
"close"
data-dismiss=
"alert"
>
×
</span>
{%
for
flashMessage
in
app.session.flashbag.get
(
'warning'
)
%}
{{
flashMessage
}}
<br>
{%
endfor
%}
</div>
{%
endif
%}
\ No newline at end of file
app/Resources/views/producto/landing_comparacion_cambios.html.twig
0 → 100644
View file @
c2fec9c7
{%
extends
'base.html.twig'
%}
{%
block
head
%}
<meta
property=
"fb:app_id"
content=
"
{{
facebookAppId
}}
"
/>
<meta
property=
"og:url"
content=
"
{{
urlSitio
}}{{
seccionComparacion
}}
?idp=
{{
idp
}}
"
/>
<meta
property=
"og:type"
content=
"website"
/>
<meta
property=
"og:title"
content=
"NutraPharm - Comparación 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=
"
{{
urlSitio
}}
uploads/users/
{{
idp
}}
_comparacion.png"
/>
{%
endblock
%}
{%
block
body
%}
<div
class=
"row"
>
<div
class=
"col-lg-12"
>
<div
class=
"panel-body"
>
<label>
Foto Comparación
</label>
<img
src=
"
{{
urlSitio
}}
nutrapharm/get/photo?file_name=
{{
idp
}}
_comparacion.
{{
extComparacion
}}
"
/>
<div
class=
"form-group"
>
<span>
{{
comentarioFinal
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-lg-12"
>
<div
class=
"panel-body"
>
<button
class=
"btn"
onclick=
"iniciarProceso(event)"
>
Registra tu cambio
</button>
</div>
</div>
</div>
{%
endblock
%}
{%
block
javascripts
%}
<script>
var
urlSitio
=
"
{{
url_sitio
}}
"
;
var
seccionInicial
=
"
{{
seccionInicial
}}
"
;
function
iniciarProces
(
event
)
{
event
.
preventDefault
();
window
.
location
.
assign
(
urlSitio
+
seccionInicial
);
}
</script>
{%
endblock
%}
\ No newline at end of file
app/Resources/views/producto/landing_error.html.twig
0 → 100644
View file @
c2fec9c7
{%
extends
'base.html.twig'
%}
{%
block
head
%}
<meta
property=
"fb:app_id"
content=
"
{{
facebookAppId
}}
"
/>
<meta
property=
"og:url"
content=
"
{{
urlSitio
}}{{
seccionError
}}
"
/>
<meta
property=
"og:type"
content=
"website"
/>
<meta
property=
"og:title"
content=
"NutraPharm - Error"
/>
<meta
property=
"og:description"
content=
"Ha ocurrido un error en la solicitud"
/>
{%
endblock
%}
{%
block
body
%}
<div
class=
"row"
>
{{
include
(
'producto/includes/alert.messages.html.twig'
)
}}
</div>
{%
endblock
%}
{%
block
javascripts
%}
{%
endblock
%}
app/Resources/views/producto/landing_producto_generar_comparacion.html.twig
0 → 100644
View file @
c2fec9c7
{%
extends
'base.html.twig'
%}
{%
block
head
%}
<meta
property=
"fb:app_id"
content=
"
{{
facebookAppId
}}
"
/>
<meta
property=
"og:url"
content=
"
{{
urlSitio
}}{{
seccionGenerarCambios
}}
?idp=
{{
idp
}}
"
/>
<meta
property=
"og:type"
content=
"website"
/>
<meta
property=
"og:title"
content=
"NutraPharm - Comparación Foto"
/>
<meta
property=
"og:description"
content=
"Visualiza tus cambios!"
/>
<meta
property=
"og:image:width"
content=
"1200"
/>
<meta
property=
"og:image:height"
content=
"630"
/>
<meta
property=
"og:image"
content=
"
{{
urlSitio
}}
uploads/users/
{{
idp
}}
.
{{
extInicial
}}
"
/>
<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"
>
{{
include
(
'producto/includes/alert.messages.html.twig'
)
}}
</div>
<div
class=
"row"
>
<div
class=
"col-lg-12"
>
<label>
Foto Subida antes
</label>
<img
src=
"
{{
urlSitio
}}
nutrapharm/get/photo?file_name=
{{
idp
}}
.
{{
extInicial
}}
"
/>
<div
class=
"form-group"
>
<label
class=
"col-md-3 control-label"
>
Comentarios
</label>
<div
class=
"col-md-9"
>
<input
id=
"comentarioFotoUsuario"
type=
"textarea"
placeholder=
"Comentarios..."
/>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"panel-body"
>
<button
id=
"tomarFoto"
name=
"tomarFoto"
onclick=
"mostrarTomarFoto(event)"
>
Tomar Foto
</button>
<button
id=
"subirFoto"
name=
"subirFoto"
onclick=
"mostrarSubirFoto(event)"
>
Subir Foto
</button>
<div
id=
"tomarFotoContainer"
style=
"display:none"
>
<div
class=
"form-group"
>
<div
class=
"camera"
>
<video
id=
"video"
width=
"600"
height=
"315"
>
No se encuentra disponible una camara
</video>
<button
id=
"startbutton"
>
Tomar Foto
</button>
</div>
</div>
<div
class=
"form-group"
>
<canvas
id=
"canvas"
width=
"600"
height=
"315"
>
</canvas>
<div
class=
"output"
>
<img
id=
"photo"
width=
"600"
height=
"315"
alt=
"Preview"
src=
""
>
</div>
</div>
</div>
<div
id=
"subirFotoContainer"
style=
"display:none"
>
<div
class=
"form-group"
>
<input
type=
'file'
id=
"imgInp"
accept=
"image/*"
/>
<img
id=
"imagenUsuario"
width=
"200"
height=
"auto"
style=
"display:none"
src=
"#"
alt=
"Imagen subida"
/>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"panel-body"
>
<div
class=
"form-group"
>
<button
id=
"btnGuardar"
>
Guardar
</button>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"panel-body"
>
<div
class=
"form-group"
>
<span>
RELLENA TUS DATOS Y SUBE TU FOTO
</span>
<div
id=
"shareButtonContainer"
style=
"display:none"
>
<div
class=
"form-group"
>
<button
id=
"buttonShare"
class=
"btn"
>
Compartir En Facebook
</button>
</div>
</div>
</div>
</div>
</div>
{%
endblock
%}
{%
block
javascripts
%}
<script
src=
"
{{
asset
(
'frontend/js/capture.js'
)
}}
"
></script>
<script>
var
imagenSubida
=
false
;
var
imagenTomada
=
false
;
var
usuarioNutraPharm
=
"
{{
idp
}}
"
;
var
tipoUsuarioFormulario
=
3
;
var
upload
=
null
;
var
url
=
'
{{
urlSitio
}}{{
seccionComparacion
}}
?idp=
{{
idp
}}
'
;
</script>
<script>
window
.
fbAsyncInit
=
function
()
{
FB
.
init
({
appId
:
'
{{
facebookAppId
}}
'
,
status
:
true
,
xfbml
:
true
,
cookie
:
true
,
version
:
'
v7.0
'
});
}
function
countCompartirFacebook
(
idUsuario
)
{
var
url
=
"
{{
path
(
'nutrapharm_compartir_facebook'
)
}}
"
;
var
formData
=
new
FormData
();
$
.
ajax
({
type
:
"
POST
"
,
url
:
url
,
data
:
formData
,
async
:
true
,
cache
:
false
,
contentType
:
false
,
processData
:
false
,
timeout
:
60000
,
statusCode
:
{
400
:
function
(
respuesta
)
{
console
.
log
(
respuesta
.
responseText
);
var
respuestaJson
=
JSON
.
parse
(
respuesta
.
responseText
);
$
(
"
#mensaje-nutrapharm
"
).
removeClass
(
"
alert-success
"
);
$
(
"
#mensaje-nutrapharm
"
).
addClass
(
"
alert-danger
"
);
$
(
"
#mensaje-nutrapharm
"
).
html
(
respuestaJson
.
msg
);
$
(
"
#mensaje-nutrapharm
"
).
show
();
$
(
"
#btnGuardar
"
).
prop
(
"
disabled
"
,
false
);
},
500
:
function
(
respuesta
)
{
console
.
log
(
respuesta
.
responseText
);
var
respuestaJson
=
JSON
.
parse
(
respuesta
.
responseText
);
$
(
"
#mensaje-nutrapharm
"
).
removeClass
(
"
alert-success
"
);
$
(
"
#mensaje-nutrapharm
"
).
addClass
(
"
alert-danger
"
);
$
(
"
#mensaje-nutrapharm
"
).
html
(
respuestaJson
.
msg
);
$
(
"
#mensaje-nutrapharm
"
).
show
();
$
(
"
#btnGuardar
"
).
prop
(
"
disabled
"
,
false
);
}
},
success
:
function
(
data
)
{
$
(
"
#mensaje-nutrapharm
"
).
removeClass
(
"
alert-danger
"
);
$
(
"
#mensaje-nutrapharm
"
).
addClass
(
"
alert-success
"
);
$
(
"
#mensaje-nutrapharm
"
).
html
(
data
.
msg
);
$
(
"
#mensaje-nutrapharm
"
).
show
();
}
});
}
$
(
"
#buttonShare
"
).
click
(
function
()
{
console
.
log
(
"
compartiendo en facebook...
"
);
FB
.
ui
({
xfbml
:
true
,
method
:
'
share
'
,
href
:
url
},
function
(
response
)
{
if
(
response
&&
response
.
post_id
)
{
console
.
log
(
'
Comparación Compartido en Facebook.
'
);
countCompartirFacebook
(
usuarioNutraPharm
);
}
else
{
console
.
log
(
'
Comparación No Compartido en Facebook.
'
);
$
(
"
#mensaje-nutrapharm
"
).
removeClass
(
"
alert-success
"
);
$
(
"
#mensaje-nutrapharm
"
).
addClass
(
"
alert-danger
"
);
$
(
"
#mensaje-nutrapharm
"
).
html
(
"
No se pudo compartir en Facebook.Intente nuevamente.
"
);
$
(
"
#mensaje-nutrapharm
"
).
show
();
}
});
})
function
mostrarTomarFoto
(
event
)
{
event
.
preventDefault
();
console
.
log
(
"
mostrando tomar foto...
"
);
$
(
"
#tomarFotoContainer
"
).
show
();
$
(
"
#subirFotoContainer
"
).
hide
();
imagenTomada
=
false
;
imagenTomada
=
true
;
}
function
mostrarSubirFoto
(
event
)
{
event
.
preventDefault
();
console
.
log
(
"
mostrando subir foto...
"
);
$
(
"
#tomarFotoContainer
"
).
hide
();
$
(
"
#subirFotoContainer
"
).
show
();
imagenTomada
=
false
;
imagenSubida
=
true
;
}
function
readURL
(
input
)
{
if
(
input
.
files
&&
input
.
files
[
0
])
{
var
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
$
(
'
#imagenUsuario
'
).
attr
(
'
src
'
,
e
.
target
.
result
);
}
reader
.
readAsDataURL
(
input
.
files
[
0
]);
// convert to base64 string
$
(
'
#imagenUsuario
'
).
show
();
}
}
$
(
"
#imgInp
"
).
change
(
function
()
{
readURL
(
this
);
});
var
Upload
=
function
(
file
)
{
this
.
file
=
file
;
};
Upload
.
prototype
.
getType
=
function
()
{
return
this
.
file
.
type
;
};
Upload
.
prototype
.
getSize
=
function
()
{
return
this
.
file
.
size
;
};
Upload
.
prototype
.
getName
=
function
()
{
if
(
this
.
file
!=
null
)
return
this
.
file
.
name
;
else
return
""
;
};
Upload
.
prototype
.
doUpload
=
function
()
{
var
that
=
this
;
var
url
=
"
{{
path
(
'nutrapharm_upload'
)
}}
"
;
var
formData
=
new
FormData
();
$
(
"
#btnGuardar
"
).
prop
(
"
disabled
"
,
true
);
if
(
imagenTomada
==
true
&&
imagenSubida
==
false
)
{
formData
.
append
(
"
upload_file
"
,
0
);
formData
.
append
(
"
imagen
"
,
$
(
"
#photo
"
).
attr
(
'
src
'
));
}
else
if
(
imagenSubida
==
true
&&
imagenTomada
==
false
)
{
formData
.
append
(
"
upload_file
"
,
1
);
}
console
.
log
(
this
.
file
);
if
(
this
.
file
!=
null
)
{
formData
.
append
(
"
imagen
"
,
this
.
file
,
this
.
getName
());
}
formData
.
append
(
"
comentarioFotoUsuario
"
,
$
(
"
#comentarioFotoUsuario
"
).
val
());
formData
.
append
(
"
usuarioNutraPharm
"
,
usuarioNutraPharm
);
formData
.
append
(
"
tipoUsuarioFormulario
"
,
tipoUsuarioFormulario
);
$
.
ajax
({
type
:
"
POST
"
,
url
:
url
,
data
:
formData
,
async
:
true
,
cache
:
false
,
contentType
:
false
,
processData
:
false
,
timeout
:
60000
,
statusCode
:
{
400
:
function
(
respuesta
)
{
console
.
log
(
respuesta
.
responseText
);
var
respuestaJson
=
JSON
.
parse
(
respuesta
.
responseText
);
$
(
"
#mensaje-nutrapharm
"
).
removeClass
(
"
alert-success
"
);
$
(
"
#mensaje-nutrapharm
"
).
addClass
(
"
alert-danger
"
);
$
(
"
#mensaje-nutrapharm
"
).
html
(
respuestaJson
.
msg
);
$
(
"
#mensaje-nutrapharm
"
).
show
();
$
(
"
#btnGuardar
"
).
prop
(
"
disabled
"
,
false
);
},
500
:
function
(
respuesta
)
{
console
.
log
(
respuesta
.
responseText
);
var
respuestaJson
=
JSON
.
parse
(
respuesta
.
responseText
);
$
(
"
#mensaje-nutrapharm
"
).
removeClass
(
"
alert-success
"
);
$
(
"
#mensaje-nutrapharm
"
).
addClass
(
"
alert-danger
"
);
$
(
"
#mensaje-nutrapharm
"
).
html
(
respuestaJson
.
msg
);
$
(
"
#mensaje-nutrapharm
"
).
show
();
$
(
"
#btnGuardar
"
).
prop
(
"
disabled
"
,
false
);
}
},
success
:
function
(
data
)
{
$
(
"
#shareButtonContainer
"
).
show
();
if
(
data
.
tipo
===
2
)
{
tipoUsuarioFormulario
=
data
.
tipo
;
usuarioNutraPharm
=
data
.
usuario
;
}
$
(
"
#mensaje-nutrapharm
"
).
removeClass
(
"
alert-danger
"
);
$
(
"
#mensaje-nutrapharm
"
).
addClass
(
"
alert-success
"
);
$
(
"
#mensaje-nutrapharm
"
).
html
(
data
.
msg
);
$
(
"
#mensaje-nutrapharm
"
).
show
();
},
complete
:
function
(
data
)
{
$
(
"
#btnGuardar
"
).
prop
(
"
disabled
"
,
false
);
}
});
};
$
(
"
#btnGuardar
"
).
click
(
function
(
e
)
{
e
.
preventDefault
();
if
(
imagenSubida
==
false
&&
imagenTomada
==
false
)
{
$
(
"
#mensaje-nutrapharm
"
).
removeClass
(
"
alert-success
"
);
$
(
"
#mensaje-nutrapharm
"
).
addClass
(
"
alert-danger
"
);
$
(
"
#mensaje-nutrapharm
"
).
html
(
"
Debe seleccionar o tomar una imagen!
"
);
$
(
"
#mensaje-nutrapharm
"
).
show
();
return
false
;
}
if
(
typeof
upload
==
"
undefined
"
)
{
upload
=
new
Upload
(
null
);
}
upload
.
doUpload
();
});
$
(
"
#imgInp
"
).
on
(
"
change
"
,
function
(
e
)
{
e
.
preventDefault
();
if
(
$
(
this
)[
0
].
files
.
length
!=
0
)
{
var
file
=
$
(
this
)[
0
].
files
[
0
];
upload
=
new
Upload
(
file
);
console
.
log
(
upload
)
imagenSubida
=
true
;
}
else
upload
=
new
Upload
(
null
);
});
</script>
{%
endblock
%}
src/AppBundle/Lib/TiempoTranscurrido.php
0 → 100644
View file @
c2fec9c7
<?php
namespace
AppBundle\Lib
;
/**
* Clase para calcular Tiempos transcurridos.
*
* @author Luis Arcos
*/
class
TiempoTranscurrido
{
private
$inicio
;
public
function
__construct
()
{
$this
->
inicio
=
microtime
(
true
);
}
/**
*
* @return Tiempo en Segundos
*/
public
function
getTiempoTranscurrido
()
{
return
round
(
microtime
(
true
)
-
$this
->
inicio
,
4
);
}
}
src/NutrapharmBundle/Command/EnviarLinkCommand.php
0 → 100644
View file @
c2fec9c7
<?php
namespace
NutrapharmBundle\Command
;
use
Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand
;
use
Symfony\Component\Console\Input\InputArgument
;
use
Symfony\Component\Console\Input\InputInterface
;
use
Symfony\Component\Console\Input\InputOption
;
use
Symfony\Component\Console\Output\OutputInterface
;
use
AppBundle\Lib\Utiles
;
use
AppBundle\Lib\TiempoTranscurrido
;
use
AppBundle\Model\UsuarioNutrapharm
;
use
AppBundle\Model\UsuarioNutrapharmQuery
;
use
AppBundle\Model\EnvioCorreoUsuario
;
use
AppBundle\Model\EnvioCorreoUsuarioQuery
;
class
EnviarLinkCommand
extends
ContainerAwareCommand
{
const
ENVIO_NO_APLICA
=
0
;
const
ENVIO_NUEVO
=
1
;
const
ENVIO_ACTUALIZAR
=
2
;
protected
function
configure
()
{
$this
->
setName
(
'enviar-link'
)
->
setDescription
(
'command que envia correo a los usuarios en los cuales haya transcurrido 30 dias'
)
;
}
protected
function
execute
(
InputInterface
$input
,
OutputInterface
$output
)
{
$log
=
Utiles
::
setLog
(
'EnviarLinkCommand:enviar-link'
,
'command/enviar-link'
);
$log
->
debug
(
'**************************INICIO***************************************'
);
$tt
=
new
TiempoTranscurrido
();
$diasComparacion
=
Utiles
::
getParametroConfiguracion
(
"dias_comparacion"
);
$fechaActual
=
new
\DateTime
();
$dataMail
=
[];
$log
->
debug
(
"=======Fecha Actual : "
.
$fechaActual
->
format
(
"Y-m-d H:i:s"
));
$log
->
debug
(
"=======Dias a considerar : "
.
$diasComparacion
);
$email_soporte
=
Utiles
::
getParametroConfiguracion
(
"mail_soporte"
);
$usuarios
=
UsuarioNutrapharmQuery
::
create
()
->
filterByUnuEliminado
(
UsuarioNutrapharm
::
ELIMINADO_FALSE
)
->
filterByUnuEstado
(
UsuarioNutrapharm
::
ESTADO_FOTO_FINAL
)
->
find
();
foreach
(
$usuarios
as
$index
=>
$usuario
)
:
$enviarCorreo
=
$this
->
chequearFechaEnviarCorreo
(
$fechaActual
,
$usuario
->
getCreatedAt
(),
$usuario
->
getUnuId
());
if
(
$enviarCorreo
==
self
::
ENVIO_NUEVO
)
:
$log
->
debug
(
"enviando correo a "
.
$usuario
->
getUnuCorreo
());
$correo
=
\Swift_Message
::
newInstance
()
->
setSubject
(
str_replace
(
"#USUARIO"
,
$usuario
->
getUnuNombre
(),
Utiles
::
getParametroConfiguracion
(
"subject_mail_producto"
)))
->
setFrom
(
$email_soporte
)
->
setTo
(
$usuario
->
getUnuCorreo
());
$dataMail
[
"dias"
]
=
$diasComparacion
;
$dataMail
[
"nombre_usuario"
]
=
$usuario
->
getUnuNombre
();
$dataMail
[
"id_usuario"
]
=
$usuario
->
getUnuIdNutrapharm
();
$dataMail
[
"url_sitio"
]
=
Utiles
::
getParametroConfiguracion
(
"url_sitio"
);
$dataMail
[
"seccion"
]
=
Utiles
::
getParametroConfiguracion
(
"seccion_formulario_comparacion"
);
$correo
->
setBody
(
$this
->
getContainer
()
->
get
(
'templating'
)
->
render
(
'email/aviso-mail-comparacion.html.twig'
,
$dataMail
),
'text/html'
);
if
(
$this
->
getContainer
()
->
get
(
'mailer'
)
->
send
(
$correo
)){
$log
->
info
(
'mensaje enviado correctamente a :'
.
$usuario
->
getUnuCorreo
());
$traza
=
new
EnvioCorreoUsuario
();
$traza
->
setUsuarioNutrapharm
(
$usuario
);
$traza
->
setEcuEstado
(
EnvioCorreoUsuario
::
ESTADO_ENVIADO
);
$traza
->
save
();
$log
->
debug
(
"se creo una traza de envio correo asociada a :"
.
$usuario
->
getUnuId
());
}
else
{
$log
->
info
(
'no se pudo enviar mensaje a:'
.
$usuario
->
getUnuCorreo
());
$traza
=
new
EnvioCorreoUsuario
();
$traza
->
setUsuarioNutrapharm
(
$usuario
);
$traza
->
setEcuEstado
(
EnvioCorreoUsuario
::
ESTADO_PENDIENTE
);
$traza
->
save
();
}
endif
;
if
(
$enviarCorreo
==
self
::
ENVIO_ACTUALIZAR
)
:
$log
->
debug
(
"re-intentando envio correo a "
.
$usuario
->
getUnuCorreo
());
$correo
=
\Swift_Message
::
newInstance
()
->
setSubject
(
str_replace
(
"#USUARIO"
,
$usuario
->
getUnuNombre
(),
Utiles
::
getParametroConfiguracion
(
"subject_mail_producto"
)))
->
setFrom
(
$email_soporte
)
->
setTo
(
$usuario
->
getUnuCorreo
());
$dataMail
[
"dias"
]
=
$diasComparacion
;
$dataMail
[
"nombre_usuario"
]
=
$usuario
->
getUnuNombre
();
$dataMail
[
"id_usuario"
]
=
$usuario
->
getUnuIdNutrapharm
();
$dataMail
[
"url_sitio"
]
=
Utiles
::
getParametroConfiguracion
(
"url_sitio"
);
$dataMail
[
"seccion"
]
=
Utiles
::
getParametroConfiguracion
(
"seccion_formulario_comparacion"
);
$correo
->
setBody
(
$this
->
getContainer
()
->
get
(
'templating'
)
->
render
(
'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
());
$traza
=
EnvioCorreoUsuario
::
obtenerTraza
(
$usuario
->
getUnuId
());
$traza
->
setEcuEstado
(
EnvioCorreoUsuario
::
ESTADO_ENVIADO
);
$traza
->
save
();
$log
->
debug
(
"se actualizao la traza de envio correo asociada a :"
.
$usuario
->
getUnuId
());
}
else
{
$log
->
info
(
'no se pudo re-enviar mensaje a:'
.
$usuario
->
getUnuCorreo
()
.
", se mantiene en estado pendiente..."
);
}
endif
;
endforeach
;
$output
->
writeln
(
'Command ejecutado.'
);
$log
->
debug
(
' '
);
$log
->
debug
(
'*****************Fin | TIEMPO: '
.
$tt
->
getTiempoTranscurrido
()
.
' Seg. ******************'
);
}
private
function
chequearFechaEnviarCorreo
(
$fechaActual
,
$fechaUsuario
,
$id
)
{
$diferencia
=
$fechaUsuario
->
diff
(
$fechaActual
);
if
(
$diferencia
->
m
>=
1
)
{
$poseeTraza
=
EnvioCorreoUsuarioQuery
::
poseeTrazaEnvio
(
$id
);
if
(
$poseeTraza
==
1
)
{
$traza
=
EnvioCorreoUsuario
::
obtenerTraza
(
$id
);
if
(
$traza
->
getEcuEstado
()
==
EnvioCorreoUsuario
::
ESTADO_PENDIENTE
)
{
return
self
::
ENVIO_ACTUALIZAR
;
}
else
if
(
$traza
->
getEcuEstado
()
==
EnvioCorreoUsuario
::
ESTADO_ENVIADO
)
{
return
self
::
ENVIO_NO_APLICA
;
}
}
else
{
return
self
::
ENVIO_NUEVO
;
}
}
return
self
::
ENVIO_NO_APLICA
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment