Commit 290b5e88 authored by Cristian Mauricio Diaz Canales's avatar Cristian Mauricio Diaz Canales 💬

Merge branch 'disenoNuevo' into 'master'

Merge rama disenoNuevo en Master 28-08-2019

See merge request !1
parents 63f30cee bebcbe67
###FRONTEND###
front_index:
front_index:
path: /
controller: App\FrontendBundle\Controller\IndexController::presentacion
controller: App\FrontendBundle\Controller\IndexController::index
methods: [GET,POST]
salir:
path: /logout
controller: App\FrontendBundle\Controller\CuentaController::logout
methods: [GET]
mostrar_reproductor:
path: /reproductor
controller: App\FrontendBundle\Controller\ReproductorController::mostrarReproductor
methods: [GET]
front_validar_msisdn:
path: app/musica/validar/msisdn
controller: App\FrontendBundle\Controller\IndexController::validarMsisdn
......@@ -24,13 +35,23 @@ front_canciones_lista_no_contratadas:
front_canciones_contratar:
path: app/lista/canciones/contratar
controller: App\FrontendBundle\Controller\ListadoController:contratar
controller: App\FrontendBundle\Controller\SuscripcionController:contratar
methods: [POST]
front_mostrar_contratar:
path: app/lista/mostrarContratar
controller: App\FrontendBundle\Controller\SuscripcionController:mostrarContratar
methods: [GET]
front_confirmar_contratar:
path: app/lista/confirmarContratar
controller: App\FrontendBundle\Controller\SuscripcionController:confirmarContratar
methods: [POST]
front_canciones_descontratar:
path: app/lista/canciones/descontratar
controller: App\FrontendBundle\Controller\ListadoController::desuscribir
methods: [POST]
controller: App\FrontendBundle\Controller\SuscripcionController::desuscribir
methods: [GET]
front_listas_contratadas:
path: app/listas/contratadas
......@@ -42,15 +63,9 @@ front_listas_no_contratadas:
methods: [POST]
front_mi_cuenta:
path: mi/cuenta
controller: App\FrontendBundle\Controller\IndexController::miCuenta
controller: App\FrontendBundle\Controller\CuentaController::miCuenta
methods: GET
front_datos_usuario:
path: mi/cuenta/datos/actualizar
controller: App\FrontendBundle\Controller\IndexController::actualizarDatos
controller: App\FrontendBundle\Controller\CuentaController::actualizarDatos
methods: POST
front_prueba:
path: app/musica/fake
controller: App\FrontendBundle\Controller\IndexController::fake
front_test:
path : app/musica/test
controller: App\FrontendBundle\Controller\IndexController::test
\ No newline at end of file
......@@ -23,4 +23,4 @@ services:
# as action arguments even if you don't extend any base controller class
App\FrontendBundle\Controller\:
resource: '../src/FrontendBundle/Controller'
tags: ['controller.service_arguments']
\ No newline at end of file
tags: ['controller.service_arguments']
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
header h2 {
color: #f09f8b;
text-align: center;
}
/* HTML5 Audio player with playlist styles */
/* https://github.com/codovate/MINImusic-Player */
.example,
.example2,
.example3 {
margin: 30px auto 0;
}
.player {
background: #25aade;
height: 220px;
position: relative;
width: 100%;
z-index: 2;
}
.title,
.artist {
font-family: verdana;
left: 135px;
position: absolute;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.title {
color: #ffffff;
font-size: 14px;
font-weight: bold;
top: 20px;
}
.artist {
color: #eeeeee;
font-size: 12px;
top: 43px;
}
.pl {
background: url(../img/control/playlist.png) no-repeat;
cursor: pointer;
height: 40px;
left: 330px;
position: absolute;
top: 20px;
width: 39px;
}
.pl:hover {
top: 21px;
}
.cover {
border-radius: 3px 3px;
height: 85px;
left: 20px;
position: absolute;
top: 30px;
width: 85px;
}
.controls {
cursor: pointer;
left: 0px;
position: absolute;
top: 65px;
left: 122px;
}
.controls .play,
.controls .pause {
width: 40px;
height: 40px;
margin: 5px 5px 5px 5px;
}
.controls .play,
.controls .pause,
.controls .rew,
.controls .fwd,
.controls .stop {
text-indent: -10000px;
border: none;
float: left;
}
.controls .rew,
.controls .fwd,
.controls .stop {
width: 40px;
height: 40px;
margin: 5px 5px 5px 5px;
}
.controls .play {
background: url(../img/control/play.svg) no-repeat;
background-size: 40px 40px;
}
.controls .pause {
background: url(../img/control/pause.svg) no-repeat;
background-size: 40px 40px;
display: none;
}
.controls .rew {
background: url(../img/control/rewind.svg) no-repeat;
background-size: 40px 40px;
}
.controls .fwd {
background: url(../img/control/next.svg) no-repeat;
background-size: 40px 40px;
}
.controls .stop {
background: url(../img/control/stop.svg) no-repeat;
background-size: 40px 40px;
}
.hidden {
display: none;
}
.controls .visible {
display: block;
}
.volume {
height: 11px;
left: 30px;
position: absolute;
top: 142px;
width:80%;
}
.mute .volume-btn {
background: url(../img/control/volume-off.svg) no-repeat;
background-size: 20px 20px;
}
.volume-btn {
background: url(../img/control/volume-up.svg) no-repeat;
background-size: 20px 20px;
height: 20px;
width: 20px;
float: left;
position: relative;
top: -4px;
margin-right: 15px;
}
.volume-adjust {
height: 11px;
position: relative;
width: 50%;
background: #fff;
float: left;
}
.volume-adjust > div > div {
height: 11px;
background: #151b48;
}
.progressbar {
background-color: #fff;
cursor: pointer;
z-index: 1;
right: 6.875em; /* 110 */
height: 15px;
left: 0px;
position: absolute;
width: 90%;
top: 170px;
margin: 0px 5%;
}
.novolume .progressbar {
right: 4.375em; /* 70 */
}
.progressbar div {
width: 0%;
height: 15px;
position: absolute;
left: 0;
top: 0;
}
.bar-loaded {
background-color: #f1f1f1;
z-index: 1;
}
.bar-played {
background: #151b48;
z-index: 2;
}
.timeHolder {
color: #ffffff;
font-size: 14px;
font-weight: bold;
bottom: 10px;
position: absolute;
margin: 0px 5%;
width: 90%;
}
.time-current,
.time-duration,
.time-separator {
color: #ffffff;
font-size: 14px;
font-weight: bold;
float: left;
}
.volume .ui-slider-handle {
background: url("../images/spr.png") no-repeat scroll -201px -188px
rgba(0, 0, 0, 0);
height: 13px;
width: 13px;
}
.playlist {
display: none;
background-color: #fff;
list-style-type: none;
margin: -10px 0 0 2px;
padding-bottom: 10px;
padding-top: 15px;
position: relative;
width: 95%;
z-index: 1;
margin: 0px auto;
}
.playlist li,
.playlist div {
color: #151b48;
cursor: pointer;
margin: 0 0 5px 15px;
}
.playlist li > a,
.playlist div > a {
color: #151b48;
text-decoration: none;
}
.playlist li.active,
.playlist div.active {
font-weight: bold;
}
/* .slick-dots {
bottom: 5px !important;
}
.slick-dots li button:before {
font-size: 8px !important;
} */
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g>
<path class="st0" d="M24,5.9c-10,0-18.1,8.1-18.1,18.1c0,9.6,7.7,18,18.1,18c10.2,0,18.1-8.2,18.1-18.1C42,13.8,33.9,5.9,24,5.9z
M33.2,20c-4,4-8,8-12,12c-0.4,0.4-0.7,0.4-1.1,0c-2.4-2.4-4.8-4.8-7.2-7.2c-0.4-0.4-0.5-0.7,0-1.1c0.8-0.7,1.6-1.5,2.3-2.3
c0.4-0.5,0.7-0.4,1.1,0c1.2,1.2,2.4,2.4,3.6,3.6c0.2,0.2,0.5,0.4,0.8,0.7c0.4-0.3,0.7-0.6,1-0.9c2.7-2.7,5.4-5.4,8-8.1
c0.5-0.5,0.9-0.6,1.4,0c0.7,0.8,1.5,1.5,2.2,2.2C33.6,19.3,33.6,19.6,33.2,20z"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 48 48" xml:space="preserve">
<polygon fill="#25AADE" points="33.69,23.99 33.69,23.99 17.7,8 14.29,11.41 26.89,24.01 14.31,36.59 17.72,40 33.71,24.01 "/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" viewBox="0 0 40 40" xml:space="preserve">
<g id="background">
<circle fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-miterlimit="10" cx="20" cy="20" r="19"/>
</g>
<g id="play" display="none">
<path display="inline" fill="#FFFFFF" d="M13.07,8.94v22.13L32.93,20L13.07,8.94z M14.59,11.52L29.82,20l-15.23,8.49V11.52z"/>
</g>
<g id="pause" display="none">
<g display="inline">
<rect x="14.3" y="9.08" fill="#FFFFFF" width="2.65" height="21.84"/>
<rect x="23.05" y="9.08" fill="#FFFFFF" width="2.65" height="21.84"/>
</g>
</g>
<g id="stop" display="none">
<rect x="14.5" y="14.5" display="inline" fill="#FFFFFF" width="11" height="11"/>
</g>
<g id="Capa_5">
<path fill="#FFFFFF" d="M26.65,11.39v7.76L11.69,10.8V29.2l14.97-8.34v7.76h1.66V11.39H26.65z M13.35,26.37V13.63L24.78,20
L13.35,26.37z"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 40 40" xml:space="preserve">
<g id="background">
<circle fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-miterlimit="10" cx="20" cy="20" r="19"/>
</g>
<g id="play" display="none">
<path display="inline" fill="#FFFFFF" d="M13.07,8.94v22.13L32.93,20L13.07,8.94z M14.59,11.52L29.82,20l-15.23,8.49V11.52z"/>
</g>
<g id="pause">
<g>
<rect x="14.3" y="11.93" fill="#FFFFFF" width="2.65" height="16.15"/>
<rect x="23.05" y="11.93" fill="#FFFFFF" width="2.65" height="16.15"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 40 40" xml:space="preserve">
<g id="background">
<circle fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-miterlimit="10" cx="20" cy="20" r="19"/>
</g>
<g>
<path fill="#FFFFFF" d="M13.43,10.17v19.66L31.08,20L13.43,10.17z M14.78,12.46L28.31,20l-13.54,7.54V12.46z"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" viewBox="0 0 40 40" xml:space="preserve">
<g id="background">
<circle fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-miterlimit="10" cx="20" cy="20" r="19"/>
</g>
<g id="play" display="none">
<path display="inline" fill="#FFFFFF" d="M13.07,8.94v22.13L32.93,20L13.07,8.94z M14.59,11.52L29.82,20l-15.23,8.49V11.52z"/>
</g>
<g id="pause" display="none">
<g display="inline">
<rect x="14.3" y="9.08" fill="#FFFFFF" width="2.65" height="21.84"/>
<rect x="23.05" y="9.08" fill="#FFFFFF" width="2.65" height="21.84"/>
</g>
</g>
<g id="stop" display="none">
<rect x="14.5" y="14.5" display="inline" fill="#FFFFFF" width="11" height="11"/>
</g>
<g id="next" display="none">
<path display="inline" fill="#FFFFFF" d="M26.65,11.39v7.76L11.69,10.8V29.2l14.97-8.34v7.76h1.66V11.39H26.65z M13.35,26.37V13.63
L24.78,20L13.35,26.37z"/>
</g>
<g id="rewind">
<path fill="#FFFFFF" d="M13.35,28.61v-7.76l14.97,8.34V10.8l-14.97,8.34v-7.76h-1.66v17.23H13.35z M26.65,13.63v12.74L15.22,20
L26.65,13.63z"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 40 40" xml:space="preserve">
<g id="background">
<circle fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-miterlimit="10" cx="20" cy="20" r="19"/>
</g>
<g id="play" display="none">
<path display="inline" fill="#FFFFFF" d="M13.07,8.94v22.13L32.93,20L13.07,8.94z M14.59,11.52L29.82,20l-15.23,8.49V11.52z"/>
</g>
<g id="pause" display="none">
<g display="inline">
<rect x="14.3" y="9.08" fill="#FFFFFF" width="2.65" height="21.84"/>
<rect x="23.05" y="9.08" fill="#FFFFFF" width="2.65" height="21.84"/>
</g>
</g>
<g id="Capa_4">
<rect x="14.5" y="14.5" fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-miterlimit="10" width="11" height="11"/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 20 20" xml:space="preserve">
<g id="background" display="none">
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-miterlimit="10" cx="10" cy="10" r="19"/>
</g>
<g id="play" display="none">
<path display="inline" fill="#FFFFFF" d="M3.07-1.06v22.13L22.93,10L3.07-1.06z M4.59,1.52L19.82,10L4.59,18.49V1.52z"/>
</g>
<g id="pause" display="none">
<g display="inline">
<rect x="4.3" y="-0.92" fill="#FFFFFF" width="2.65" height="21.84"/>
<rect x="13.05" y="-0.92" fill="#FFFFFF" width="2.65" height="21.84"/>
</g>
</g>
<g id="stop" display="none">
<rect x="4.5" y="4.5" display="inline" fill="#FFFFFF" width="11" height="11"/>
</g>
<g id="next" display="none">
<path display="inline" fill="#FFFFFF" d="M16.65,1.39v7.76L1.69,0.8v18.4l14.97-8.34v7.76h1.66V1.39H16.65z M3.35,16.37V3.63
L14.78,10L3.35,16.37z"/>
</g>
<g id="rewind" display="none">
<path display="inline" fill="#FFFFFF" d="M3.35,18.61v-7.76l14.97,8.34V0.8L3.35,9.14V1.38H1.69v17.23
C1.69,18.61,3.35,18.61,3.35,18.61z M16.65,3.63v12.74L5.22,10L16.65,3.63z"/>
</g>
<g id="volume_up">
<g>
<path fill="#FFFFFF" d="M0.91,6.81v6.37h3.85l5.05,3.64V3.17L4.76,6.81H0.91z M1.84,7.74h2.61v4.53H1.84V7.74z M8.89,15.02
l-3.52-2.54V7.51l3.52-2.54V15.02z"/>
<polygon fill="#FFFFFF" points="18.19,7.02 17.64,6.48 14.82,9.24 12.01,6.48 11.45,7.02 14.27,9.78 11.45,12.54 12.01,13.08
14.82,10.33 17.64,13.08 18.19,12.54 15.38,9.78 "/>
</g>
</g>
<g id="volume" display="none">
<g display="inline">
<path fill="#FFFFFF" d="M-0.61,6.28v7.44h4.49l5.9,4.25V2.03l-5.9,4.25C3.88,6.28-0.61,6.28-0.61,6.28z M0.47,7.36h3.05v5.29H0.47
V7.36z M8.7,15.86L4.59,12.9V7.09L8.7,4.13V15.86z"/>
</g>
<polygon display="inline" fill="#FFFFFF" points="22,5.74 21.24,5 17.4,8.76 13.56,5 12.8,5.74 16.64,9.51 12.8,13.27 13.56,14.01
17.4,10.25 21.24,14.01 22,13.27 18.16,9.51 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 20 20" xml:space="preserve">
<g id="background" display="none">
<circle display="inline" fill="none" stroke="#FFFFFF" stroke-width="1.5" stroke-miterlimit="10" cx="10" cy="10" r="19"/>
</g>
<g id="play" display="none">
<path display="inline" fill="#FFFFFF" d="M3.07-1.06v22.13L22.93,10L3.07-1.06z M4.59,1.52L19.82,10L4.59,18.49V1.52z"/>
</g>
<g id="pause" display="none">
<g display="inline">
<rect x="4.3" y="-0.92" fill="#FFFFFF" width="2.65" height="21.84"/>
<rect x="13.05" y="-0.92" fill="#FFFFFF" width="2.65" height="21.84"/>
</g>
</g>
<g id="stop" display="none">
<rect x="4.5" y="4.5" display="inline" fill="#FFFFFF" width="11" height="11"/>
</g>
<g id="next" display="none">
<path display="inline" fill="#FFFFFF" d="M16.65,1.39v7.76L1.69,0.8v18.4l14.97-8.34v7.76h1.66V1.39H16.65z M3.35,16.37V3.63
L14.78,10L3.35,16.37z"/>
</g>
<g id="rewind" display="none">
<path display="inline" fill="#FFFFFF" d="M3.35,18.61v-7.76l14.97,8.34V0.8L3.35,9.14V1.38H1.69v17.23
C1.69,18.61,3.35,18.61,3.35,18.61z M16.65,3.63v12.74L5.22,10L16.65,3.63z"/>
</g>
<g id="volume_up">
<g>
<path fill="#FFFFFF" d="M0.91,6.81v6.37h3.85l5.05,3.64V3.17L4.76,6.81C4.76,6.81,0.91,6.81,0.91,6.81z M1.84,7.74h2.61v4.53H1.84
V7.74z M8.89,15.02l-3.52-2.54V7.51l3.52-2.54V15.02z"/>
<path fill="#FFFFFF" d="M12.25,6.35l-0.8,0.47l0.23,0.39c0.5,0.84,0.76,1.8,0.76,2.78c0,0.98-0.27,1.94-0.76,2.78l-0.23,0.39
l0.8,0.47l0.23-0.39c0.58-0.98,0.89-2.11,0.89-3.25c0-1.15-0.31-2.27-0.89-3.25L12.25,6.35z"/>
<path fill="#FFFFFF" d="M14.69,4.91l-0.8,0.47l0.23,0.39c0.75,1.28,1.16,2.73,1.16,4.22c0,1.48-0.4,2.95-1.16,4.22l-0.23,0.39
l0.8,0.47l0.23-0.39c0.84-1.41,1.28-3.04,1.28-4.69s-0.45-3.27-1.28-4.69L14.69,4.91z"/>
<path fill="#FFFFFF" d="M17.4,3.84l-0.23-0.39l-0.8,0.47l0.23,0.39C17.62,6.03,18.16,8,18.16,10s-0.54,3.97-1.56,5.69l-0.23,0.39
l0.8,0.47l0.23-0.39c1.1-1.86,1.69-3.99,1.69-6.16C19.09,7.83,18.51,5.7,17.4,3.84z"/>
</g>
</g>
<g id="volume" display="none">
<g display="inline">
<path fill="#FFFFFF" d="M-0.61,6.28v7.44h4.49l5.9,4.25V2.03l-5.9,4.25C3.88,6.28-0.61,6.28-0.61,6.28z M0.47,7.36h3.05v5.29H0.47
V7.36z M8.7,15.86L4.59,12.9V7.09L8.7,4.13V15.86z"/>
</g>
<polygon display="inline" fill="#FFFFFF" points="22,5.74 21.24,5 17.4,8.76 13.56,5 12.8,5.74 16.64,9.51 12.8,13.27 13.56,14.01
17.4,10.25 21.24,14.01 22,13.27 18.16,9.51 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 52 52" xml:space="preserve">
<g>
<polygon fill="#25AADE" points="40.04,26 11.96,6.75 11.96,45.25 "/>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<polygon class="st0" points="38.7,26 35.2,22.5 35.2,22.5 16.8,4.1 13.3,7.7 31.7,26 13.3,44.3 16.8,47.9 35.2,29.5 35.2,29.5
38.7,26 38.7,26 "/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 100 100" xml:space="preserve">
<g>
<g>
<path fill="#099DCA" d="M17.14,62.21L17.14,62.21c-1.04,0-1.89-0.85-1.89-1.89V10.2c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v50.12C19.03,61.36,18.18,62.21,17.14,62.21z"/>
<path fill="#099DCA" d="M27.26,62.21L27.26,62.21c-1.04,0-1.89-0.85-1.89-1.89V10.2c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v50.12C29.15,61.36,28.3,62.21,27.26,62.21z"/>
<path fill="#099DCA" d="M37.38,42.93L37.38,42.93c-1.04,0-1.89-0.85-1.89-1.89V17.98c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v23.06C39.27,42.08,38.42,42.93,37.38,42.93z"/>
<path fill="#099DCA" d="M47.51,38.75L47.51,38.75c-1.04,0-1.89-0.85-1.89-1.89v-14.7c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v14.7C49.39,37.9,48.54,38.75,47.51,38.75z"/>
<path fill="#099DCA" d="M57.63,38.75L57.63,38.75c-1.04,0-1.89-0.85-1.89-1.89v-14.7c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v14.7C59.52,37.9,58.67,38.75,57.63,38.75z"/>
<path fill="#099DCA" d="M67.75,42.93L67.75,42.93c-1.04,0-1.89-0.85-1.89-1.89V17.98c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v23.06C69.64,42.08,68.79,42.93,67.75,42.93z"/>
<path fill="#099DCA" d="M77.87,62.21L77.87,62.21c-1.04,0-1.89-0.85-1.89-1.89V10.2c0-1.04,0.85-1.89,1.89-1.89l0,0
c1.04,0,1.89,0.85,1.89,1.89v50.12C79.76,61.36,78.91,62.21,77.87,62.21z"/>
<path fill="#099DCA" d="M88,62.21L88,62.21c-1.04,0-1.89-0.85-1.89-1.89V10.2c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v50.12C89.88,61.36,89.03,62.21,88,62.21z"/>
</g>
<g>
<path fill="#099DCA" d="M5.06,74.03v13.45c0,1.27,0.59,1.69,1.52,1.69c0.94,0,1.53-0.42,1.53-1.69V74.03h2.78V87.3
c0,2.82-1.5,4.38-4.39,4.38c-2.89,0-4.39-1.57-4.39-4.38V74.03H5.06z"/>
<path fill="#099DCA" d="M33.98,86.41l2.01-12.38h4.09v17.44h-2.78V78.96l-2.03,12.51h-2.78l-2.19-12.33v12.33h-2.57V74.03h4.09
L33.98,86.41z"/>
<path fill="#099DCA" d="M50.37,74.03v13.45c0,1.27,0.59,1.69,1.52,1.69c0.94,0,1.53-0.42,1.53-1.69V74.03h2.78V87.3
c0,2.82-1.5,4.38-4.39,4.38c-2.89,0-4.39-1.57-4.39-4.38V74.03H50.37z"/>
<path fill="#099DCA" d="M67.52,73.83c2.89,0,4.33,1.57,4.33,4.39v0.55h-2.78v-0.72c0-1.27-0.54-1.72-1.47-1.72
s-1.47,0.45-1.47,1.72c0,1.2,0.64,2.07,1.5,2.87c0.43,0.42,0.88,0.82,1.39,1.22c0.96,0.82,1.87,1.77,2.43,2.99
c0.29,0.62,0.43,1.35,0.43,2.17c0,2.82-1.5,4.38-4.39,4.38c-2.89,0-4.39-1.57-4.39-4.38v-1.07h2.78v1.25
c0,1.27,0.59,1.69,1.53,1.69c0.94,0,1.52-0.42,1.52-1.69c0-1.2-0.64-2.07-1.5-2.89c-0.43-0.4-0.88-0.8-1.36-1.22
c-0.99-0.8-1.9-1.74-2.46-2.96c-0.29-0.62-0.43-1.35-0.43-2.17C63.19,75.4,64.63,73.83,67.52,73.83z"/>
<path fill="#099DCA" d="M78.92,74.03h2.94v17.44h-2.94V74.03z"/>
<path fill="#099DCA" d="M97.88,84.96v2.32c0,2.82-1.5,4.38-4.39,4.38c-2.89,0-4.39-1.57-4.39-4.38v-9.07
c0-2.82,1.5-4.39,4.39-4.39c2.89,0,4.39,1.57,4.39,4.39v1.69H95.1v-1.87c0-1.27-0.59-1.72-1.52-1.72c-0.94,0-1.53,0.45-1.53,1.72
v9.42c0,1.27,0.59,1.69,1.53,1.69c0.94,0,1.52-0.42,1.52-1.69v-2.49H97.88z"/>
</g>
</g>
</svg>
This diff is collapsed.
!function(t,e,s,i){"use strict";var n="musicPlayer",o={playlistItemSelector:"li",autoPlay:!1,volume:80,loop:!1,timeSeparator:" / ",playerAbovePlaylist:!0,infoElements:["title","artist"],elements:["artwork","information","controls","progress","time","volume"],timeElements:["current","duration"],controlElements:["backward","play","forward","stop"],onLoad:function(){},onPlay:function(){},onPause:function(){},onStop:function(){},onFwd:function(){},onRew:function(){},volumeChanged:function(){},seeked:function(){},trackClicked:function(){},onMute:function(){}},l="ontouchstart"in e,a=l?"touchstart":"mousedown",r=l?"touchmove":"mousemove",d=l?"touchcancel":"mouseup";function u(e,s){this.element=e,this.settings=t.extend({},o,s),this._defaults=o,this._name=n,this.init()}t.extend(u.prototype,{init:function(){var e,s="",i="",n="",o="",l="",a="",r="",d="",u="",h="",c="",m="",v="",f=this;for(var p in this.settings.elements)if("volume"==this.settings.elements[p])o+="<div class='volume'><div class='volume-btn' title='Volume'></div><div class=' volume-adjust'><div><div></div></div></div></div>";else if("progress"==this.settings.elements[p])o+="<div class='progressbar'><div class='bar-loaded' ></div><div class='bar-played'></div></div>";else if("artwork"==this.settings.elements[p])o+="<div class='cover'></div>";else if("information"==this.settings.elements[p]){l="-1"!=t.inArray("title",this.settings.infoElements)?"<div class='title'></div>":" ",a="-1"!=t.inArray("artist",this.settings.infoElements)?"<div class='artist'></div>":" ";for(var g in this.settings.infoElements)"title"==this.settings.infoElements[g]?n+=l:"artist"==this.settings.infoElements[g]&&(n+=a);o+="<div class='info' >"+n+"</div>"}else if("time"==this.settings.elements[p]){c="-1"!=t.inArray("current",this.settings.timeElements)?"<div class='time-current'></div>":" ",m="-1"!=t.inArray("duration",this.settings.timeElements)?"<div class='time-duration'></div>":" ",v="<div class='time-separator'>"+this.settings.timeSeparator.replace(/\s/g,"&nbsp;")+"</div>";for(var g in this.settings.timeElements)1==g&&(i+=v),"current"==this.settings.timeElements[g]?i+=c:"duration"==this.settings.timeElements[g]&&(i+=m);o+="<div class='timeHolder'>"+i+"</div>"}else if("controls"==this.settings.elements[p]){r="-1"!=t.inArray("backward",this.settings.controlElements)?"<div class='rew'></div>":" ",d="-1"!=t.inArray("forward",this.settings.controlElements)?"<div class='fwd'></div>":" ",u="-1"!=t.inArray("stop",this.settings.controlElements)?"<div class='stop'></div>":" ",h="-1"!=t.inArray("play",this.settings.controlElements)?"<div class='play'></div><div class='pause'></div>":" ";for(var g in this.settings.controlElements)"backward"==this.settings.controlElements[g]?s+=r:"play"==this.settings.controlElements[g]?s+=h:"forward"==this.settings.controlElements[g]?s+=d:"stop"==this.settings.controlElements[g]&&(s+=u);o+="<div class='controls'>"+s+"</div>"}e=t("<div class='player' >"+o+"</div>"),this.settings.playerAbovePlaylist?t(e).insertBefore(t(this.element).find(".playlist")):t(e).insertAfter(t(this.element).find(".playlist")),this.playlistItemSelector=this.settings.playlistItemSelector,this.playlistHolder=t(this.element).children(".playlist"),this.playerHolder=t(this.element).children(".player"),this.song="",this.theBar=this.playerHolder.find(".progressbar"),this.barPlayed=this.playerHolder.find(".bar-played"),this.barLoaded=this.playerHolder.find(".bar-loaded"),this.timeCurrent=this.playerHolder.find(".time-current"),this.timeDuration=this.playerHolder.find(".time-duration"),this.timeSeparator=this.settings.timeSeparator,this.volumeInfo=this.playerHolder.find(".volume"),this.volumeButton=this.playerHolder.find(".volume-btn"),this.volumeAdjuster=this.playerHolder.find(".volume-adjust > div"),this.volumeValue=this.settings.volume/100,this.volumeDefault=0,this.trackInfo=this.playerHolder.find(".info"),this.coverInfo=this.playerHolder.find(".cover"),this.controlsInfo=this.playerHolder.find(".controls"),this.controlPlay=t(this.controlsInfo).find(".play"),this.controlPause=t(this.controlsInfo).find(".pause"),this.controlStop=t(this.controlsInfo).find(".stop"),this.controlFwd=t(this.controlsInfo).find(".fwd"),this.controlRew=t(this.controlsInfo).find(".rew"),this.cssClass={playing:"playing",mute:"mute"},/iPad|iPhone|iPod/.test(navigator.userAgent)&&t(this.volumeInfo).hide(),this.initAudio(t(this.playlistHolder.find(this.playlistItemSelector+":first"))),this.song.volume=this.volumeValue,this.timeDuration.html("&hellip;"),this.timeCurrent.text(this.secondsToTime(0)),t(this.controlPlay).click(function(t){t.preventDefault(),f.playAudio()}),t(this.controlPause).click(function(t){t.preventDefault(),f.stopAudio(),f.settings.onPause()}),t(this.controlFwd).click(function(e){e.preventDefault(),f.stopAudio();var s=f.getSong(!0);0==s.length&&(s=t(f.playlistHolder).find(f.playlistItemSelector+":first")),f.loadNewSong(s),f.playAudio(),f.settings.onFwd()}),t(this.controlRew).click(function(e){e.preventDefault(),f.stopAudio();var s=f.getSong(!1);0==s.length&&(s=t(f.playlistHolder).find(f.playlistItemSelector+":last")),f.loadNewSong(s),f.playAudio(),f.settings.onRew()}),t(this.controlStop).click(function(t){t.preventDefault(),f.stopAudio(),f.song.currentTime=0,f.settings.onStop()}),t(this.playlistHolder).find(this.playlistItemSelector).click(function(e){e.preventDefault(),f.stopAudio(),f.loadNewSong(t(this)),f.playAudio(),f.settings.trackClicked()})},secondsToTime:function(t){var e=Math.floor(t/3600),s=Math.floor(t%3600/60),i=Math.ceil(t%3600%60);return(0==e?"":e>0&&e.toString().length<2?"0"+e+":":e+":")+(s.toString().length<2?"0"+s:s)+":"+(i.toString().length<2?"0"+i:i)},adjustVolume:function(t){var e=l?t.originalEvent.touches[0]:t;this.song.volume=Math.abs((e.pageX-this.volumeAdjuster.offset().left)/this.volumeAdjuster.width())},adjustCurrentTime:function(t){var e=l?t.originalEvent.touches[0]:t;this.song.currentTime=Math.round(this.song.duration*(e.pageX-this.theBar.offset().left)/this.theBar.width())},initAudio:function(e){var s=e.children("a:first-child").attr("href"),i=e.text(),n=e.attr("data-cover"),o=e.attr("data-artist"),l=this;t(this.trackInfo).children(".title").text(i),t(this.trackInfo).children(".artist").text(o),t(this.coverInfo).css("background-image","url("+n+")"),this.song=new Audio(s),this.song.load(),this.song.addEventListener("loadeddata",function(){t(l.timeDuration).html(l.secondsToTime(this.duration)),t(l.volumeAdjuster).find("div").width(100*this.volume+"%"),l.volumeDefault=this.volume},!1),this.song.addEventListener("progress",function(){t(l.barLoaded).width(this.buffered.end(0)/this.duration*100+"%")}),this.song.addEventListener("timeupdate",function(){t(l.timeCurrent).text(l.secondsToTime(this.currentTime)),t(l.barPlayed).width(this.currentTime/this.duration*100+"%")}),this.song.addEventListener("volumechange",function(){Number(Math.round(100*this.volume+"e1")+"e-1")<=.4&&(this.volume=0),t(l.volumeAdjuster).find("div").width(100*this.volume+"%"),this.volume>0&&l.playerHolder.hasClass(l.cssClass.mute)&&l.playerHolder.removeClass(l.cssClass.mute),this.volume<=0&&!l.playerHolder.hasClass(l.cssClass.mute)&&l.playerHolder.addClass(l.cssClass.mute),l.volumeValue=this.volume}),this.song.addEventListener("ended",function(){l.settings.autoPlay?l.autoPlayNext():(l.playerHolder.removeClass(l.cssClass.playing),t(l.controlPlay).removeClass("hidden"),t(l.controlPause).removeClass("visible"))}),t(this.volumeButton).on("click",function(){return t(l.playerHolder).hasClass(l.cssClass.mute)?(t(l.playerHolder).removeClass(l.cssClass.mute),l.song.volume=l.volumeDefault):(t(l.playerHolder).addClass(l.cssClass.mute),l.volumeDefault=l.song.volume,l.song.volume=0,l.settings.onMute()),!1}),t(this.volumeAdjuster).on(a,function(t){l.adjustVolume(t),l.volumeAdjuster.on(r,function(t){l.adjustVolume(t)}),l.settings.volumeChanged()}).on(d,function(){l.volumeAdjuster.unbind(r)}),t(this.theBar).on(a,function(t){l.adjustCurrentTime(t),l.theBar.on(r,function(t){l.adjustCurrentTime(t)})}).on(d,function(){l.theBar.unbind(r),l.settings.seeked()}),t(this.playlistHolder).find(l.playlistItemSelector).removeClass("active"),e.addClass("active"),this.settings.onLoad(),this.settings.autoPlay&&this.playAudio()},playAudio:function(){this.song.play(),this.playerHolder.addClass(this.cssClass.playing),"-1"!=t.inArray("controls",this.settings.elements)&&"-1"!=t.inArray("play",this.settings.controlElements)&&(t(this.controlPlay).addClass("hidden"),t(this.controlPause).addClass("visible")),this.settings.onPlay()},stopAudio:function(){this.song.pause(),this.playerHolder.removeClass(this.cssClass.playing),"-1"!=t.inArray("controls",this.settings.elements)&&"-1"!=t.inArray("play",this.settings.controlElements)&&(t(this.controlPlay).removeClass("hidden"),t(this.controlPause).removeClass("visible"))},autoPlayNext:function(){this.stopAudio();var e=this.getSong(!0);0==e.length&&this.settings.loop?(e=t(this.playlistHolder).find(this.playlistItemSelector+":first"),this.loadNewSong(e),this.playAudio()):0==!e.length&&(this.loadNewSong(e),this.playAudio())},getSong:function(e){var s=t(this.playlistHolder).find(this.playlistItemSelector),i=t(this.playlistItemSelector+".active");return e?s.eq(s.index(i)+1):s.eq(s.index(i)-1)},loadNewSong:function(t){this.volumeValue=this.song.volume,this.initAudio(t),this.song.volume=this.volumeValue,this.volumeAdjuster.find("div").width(100*this.volumeValue+"%"),this.barPlayed.width(0),this.barLoaded.width(0)}}),t.fn[n]=function(e){return this.each(function(){t.data(this,"plugin_"+n)||t.data(this,"plugin_"+n,new u(this,e))})}}(jQuery,window,document);
\ No newline at end of file
This diff is collapsed.
/*script para reproductor de audio */
$(".example").musicPlayer({
elements: ['artwork', 'information', 'controls', 'progress', 'time', 'volume'], // ==> This will display in the order it is inserted
//elements: [ 'controls' , 'information', 'artwork', 'progress', 'time', 'volume' ],
//controlElements: ['backward', 'play', 'forward', 'stop'],
//timeElements: ['current', 'duration'],
//timeSeparator: " : ", // ==> Only used if two elements in timeElements option
//infoElements: [ 'title', 'artist' ],
//volume: 10,
//autoPlay: true,
//loop: true,
});
$('.example3 .playlist').on('init', function (event, slick) {
$(".example3").musicPlayer({
playlistItemSelector: '.slick-slide:not(.slick-cloned) .song-item',
elements: ['artwork', 'information', 'controls', 'progress', 'time', 'volume'], // ==> This will display in the order it is inserted
//elements: [ 'controls' , 'information', 'artwork', 'progress', 'time', 'volume' ],
//controlElements: ['backward', 'play', 'forward', 'stop'],
//timeElements: ['current', 'duration'],
//timeSeparator: " : ", // ==> Only used if two elements in timeElements option
//infoElements: [ 'title', 'artist' ],
//volume: 10,
autoPlay: true,
loop: true,
onPlay: function () {
$('body').css('background', 'black');
},
onPause: function () {
$('body').css('background', 'green');
},
onStop: function () {
$('body').css('background', '#141942');
},
onFwd: function () {
$('body').css('background', 'white');
slideToActive();
},
onRew: function () {
$('body').css('background', 'blue');
slideToActive();
},
volumeChanged: function () {
$('body').css('background', 'red');
},
seeked: function () {
$('body').css('background', 'orange');
},
trackClicked: function () {
$('body').css('background', 'brown');
},
onMute: function () {
$('body').css('background', 'grey');
},
});
});
//slick slider initialisation
/* $(".example3 .playlist").slick({
arrows: false,
dots: false
});*/
slideToActive = function () {
var slideIndex = $('.slick-slide:not(.slick-cloned) .song-item.active').closest('.slick-slide').attr('data-slick-index');
$('.example .playlist').slick('slickGoTo', slideIndex);
}
$('.slick-dots button').click(function () {
var index = $(this).text() - 1;
index = '[data-slick-index="' + index + '"]';
$('.slick-slide:not(.slick-cloned)' + index + ' .song-item a').click();
});
$(".example2").musicPlayer({
//volume: 10,
//elements: ['artwork', 'controls', 'progress', 'time', 'volume'],
//playerAbovePlaylist: false,
// autoPlay: true,
// loop: true,
onLoad: function () {
//Add Audio player
plElem = "<div class='pl'></div>";
$('.example2').find('.player').append(plElem);
// show playlist
$('.pl').click(function (e) {
e.preventDefault();
$('.example2').find('.playlist').toggleClass("hidden");
});
},
});
......@@ -61,7 +61,9 @@ class PluListaRepository extends EntityRepository {
$qb = $this->getEntityManager()->createQueryBuilder();
$fechaActual = new \DateTime();
$listasUsuario = self::getListasUsuario($msisdn);
//$listasUsuario = self::getListasUsuario($msisdn);
$listasUsuario = '';
$qb->select(array('p'))
->from('App:PluLista', 'p')
......@@ -126,7 +128,19 @@ class PluListaRepository extends EntityRepository {
$result[] = $object->getLisId()->getLisId();
}
$idListas = implode(", ", $result);
return $idListas;
return $idListas;
}
public function getCantListaSuscrita($msisdn, $listid){
$fechaActual = new \DateTime();
$sql = "SELECT count(*) as cantidad
FROM plu_suscripcion AS plusus
WHERE plusus.sus_vigente = 1 and plusus.lis_id = " . $listid ." and plusus.sus_msisdn= " . $msisdn . " and plusus.sus_Ultimo_Tipo_Xml = 1 and plusus.sus_inicio <= '". $fechaActual->format('Y-m-d H:i:s')."' and plusus.sus_fin >= '". $fechaActual->format('Y-m-d H:i:s')."'";
$stmt = $this->getEntityManager()->getConnection()->prepare($sql);
$stmt->execute();
$cantidad = $stmt->fetch(\PDO::FETCH_ASSOC);
return $cantidad["cantidad"];
}
......
<?php
namespace App\FrontendBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController ;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\PluRelacionesListas;
use App\Entity\PluLista;
use App\Entity\PluImagen;
use App\Entity\PluCancion;
use App\Entity\PluSuscripcion;
use App\Utilities\Utiles;
use App\Utilities\EntelVPW;
use App\Entity\PluUsuarioMovil;
class CuentaController extends AbstractController
{
public function miCuenta(Request $request): response {
$log = Utiles::setLog('App\FrontendBundle\Controller::CuentaController::miCuenta', 'app/frontend/micuenta');
$em = $this->getDoctrine()->getManager('default');
$ua = $request->headers->get('User-Agent');
$host = $request->getSchemeAndHttpHost();
$ip = $request->getClientIp();
$session = $this->get("session");
$msisdnSesion = $session->get('msisdn');
$msisdnEntrante = $request->get("msisdn");
$log->debug("entrando...HOST : $host |IP : $ip |MSISDN ENTRANTE: $msisdnEntrante| MSISDN SESION : $msisdnSesion");
/*Busca listas vigentes*/
$listas = $em->getRepository(PluLista::class)->getListasVigentes($msisdnSesion);
/**/
if ($msisdnEntrante != $msisdnSesion || !Utiles::isMsisdn($msisdnEntrante)) {
$log->debug("el msisdn entrante no cumple con el formato o es distinto al obtenido de la sesion...");
//$url = $this->generateUrl('front_index', array('msisdn' => $msisdnSesion));
$url = $this->container->get('router')->generate('front_index', array('msisdn' => $msisdnSesion, "listas" => $listas));
$statusCode = 302;
return new RedirectResponse($url, $statusCode);
}
$log->debug("obteniendo el historial de suscripciones para el usuario $msisdnEntrante");
$suscripciones = $em->getRepository(PluSuscripcion::class)->findBy(array("susMsisdn" => $msisdnEntrante, "susVigente" => 1));
$log->debug("obteniendo el usuario asociado al msisdn $msisdnEntrante");
$usuario = $em->getRepository(PluUsuarioMovil::class)->findOneBy(array("umoMsisdn" => $msisdnEntrante));
//$session->clear();//prueba
return $this->render('frontend/paginas/mi_cuenta.html.twig', [
"suscripciones" => $suscripciones,
"usuario" => $usuario,
"listas"=>$listas,
"msisdn" => $msisdnSesion
]);
}
public function actualizarDatos(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::CuentaController::actualizarDatos', 'app/frontend/datosUsuario');
$msisdn = $request->get("msisdn");
$email = $request->get("email");
$ua = $request->headers->get('User-Agent');
$ip = $request->getClientIp();
$em = $this->getDoctrine()->getManager('default');
$json = new JsonResponse();
$log->debug("$ua | $msisdn | $ip...");
//CHEQUEAR EMAIL
if (Utiles::validarCorreo($email) == 0) {
$log->debug("Mail Invalido $email...");
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST, 'Correo ingresado inválido.');
$json->setData(array('errors' => 'El correo ingresado no es válido.'));
return $json;
}
if ($em->getRepository(PluUsuarioMovil::class)->countBy(array("umoMail" => $email)) > 0) {
$log->debug("Mail $email ya registrado...");
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST, 'El email ingresado ya se encuenrra registrado en nuestros sistemas.');
$json->setData(array('errors' => 'El correo ingresado ya se encuentra registrado.'));
return $json;
}
$usuario = $em->getRepository(PluUsuarioMovil::class)->findOneBy(array("umoMsisdn" => $msisdn));
$log->debug("actualizando datos de usuario...");
$usuario->setUmoMail($email);
$em->persist($usuario);
$em->flush();
$log->debug("datos actualizados correctamente para usuario ".$usuario->getUmoId());
$log->debug("retornando...");
$json->setStatusCode(JsonResponse::HTTP_OK, 'OK');
$json->setData(array("mail" => $usuario->getUmoMail()));
return $json;
}
public function logout(Request $request): Response {
$log = Utiles::setLog('App\FrontendBundle\Controller::CuentaController::presentacion', 'app/frontend/logout');
$em = $this->getDoctrine()->getManager('default');
$session = $this->get("session");
$session->clear();
$url = $this->container->get('router')->generate('front_index');
return new RedirectResponse($url, 302);
}
}
<?php
namespace App\FrontendBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController ;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\PluRelacionesListas;
use App\Entity\PluLista;
use App\Entity\PluImagen;
use App\Entity\PluCancion;
use App\Entity\PluSuscripcion;
use App\Utilities\Utiles;
use App\Utilities\EntelVPW;
class ReproductorController extends AbstractController
{
public function mostrarReproductor(Request $request): Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::canciones', 'app/frontend/reproductor');
$id = $request->get("lisId");
$ua = $request->headers->get('User-Agent');
$log->debug("Mostrando reproductor de la lista $id...");
$em = $this->getDoctrine()->getManager('default');
$lista = $em->getRepository(PluLista::class)->find($id);
$cancionesLista = $this->getDoctrine()->getRepository(PluLista::class)->getCancionesLista($id);
/*Busca listas vigentes*/
$listas = $em->getRepository(PluLista::class)->getListasVigentes($msisdn);
/**/
return $this->render('frontend/paginas/reproductor.html.twig', array("cancionesLista"=>$cancionesLista, "IdentificadorListaCanciones"=>$id, "lista" => $lista, "listas"=>$listas,"isChrome" => Utiles::isWindowsChrome($ua)));
}
}
This diff is collapsed.
......@@ -34,7 +34,13 @@ class PluCodigoPinRepository extends ServiceEntityRepository {
->andWhere('p.cpiEliminado = :eliminado')
->setParameters($parameters);
$query = $qb->getQuery();
return $query->getResult(\Doctrine\ORM\Query::HYDRATE_OBJECT)[0];
if (isset($query->getResult(\Doctrine\ORM\Query::HYDRATE_OBJECT)[0]))
return $query->getResult(\Doctrine\ORM\Query::HYDRATE_OBJECT)[0];
else
return null;
}
// /**
......
......@@ -22,29 +22,14 @@ class PluParametroConfiguracionRepository extends ServiceEntityRepository
// /**
// * @return PluParametroConfiguracion[] Returns an array of PluParametroConfiguracion objects
// */
/*
public function findByExampleField($value)
public function getParametroConfiguracion($value)
{
return $this->createQueryBuilder('p')
->andWhere('p.exampleField = :val')
->andWhere('p.pcoNombre = :val')
->setParameter('val', $value)
->orderBy('p.id', 'ASC')
->setMaxResults(10)
->getQuery()
->getResult()
->getResult(\Doctrine\ORM\Query::HYDRATE_OBJECT)[0]
;
}
*/
/*
public function findOneBySomeField($value): ?PluParametroConfiguracion
{
return $this->createQueryBuilder('p')
->andWhere('p.exampleField = :val')
->setParameter('val', $value)
->getQuery()
->getOneOrNullResult()
;
}
*/
}
......@@ -22,11 +22,13 @@ class EntelVPW {
CONST URL_VPW = "http://vpwproxy.vas.entelpcs.cl/vpw.php?#PARAMETROS";
CONST URL_EXTERNAL_VPW_SUSCRIBIR = "http://smanager.gearlabs.cl/hitsahora/suscribir.php?#PARAMETROS";
CONST URL_EXTERNAL_VPW_DESUSCRIBIR = "http://smanager.gearlabs.cl/hitsahora/desinscribir.php?#PARAMETROS";
#CONST URL_EXTERNAL_VPW_SUSCRIBIR = "http://dev.newcontenidos.gearlabs.cl/suscribir.php?#PARAMETROS";
#CONST URL_EXTERNAL_VPW_DESUSCRIBIR = "http://dev.newcontenidos.gearlabs.cl/desinscribir.php?#PARAMETROS";
/**
* Realiza la suscripcion a una Lista en ENTEL
*
* @param String $msisdn
# * @param String $msisdn
* @param \App\Entity\PluSuscripcion $suscripcion
* @param EntityManager $em
* @return type
......@@ -43,12 +45,16 @@ class EntelVPW {
'service' => $lista->getLisVpwService(),
'code' => $lista->getLisVpwCode()
);
$xml = "<?xml version='1.0' encoding='UTF-8'?><subscribe><entry>56" . $msisdn . "</entry></subscribe>";
$url = self::URL_EXTERNAL_VPW_SUSCRIBIR;
$url = str_replace('#PARAMETROS', http_build_query($params), $url);
//if(!Utiles::getParametroConfiguracion("isProd")){
//$url = $url."&desa";
//}
$status_code = null;
$desc = '';
$xmlOutput = '';
......@@ -129,7 +135,11 @@ class EntelVPW {
$url = self::URL_EXTERNAL_VPW_DESUSCRIBIR;
$url = str_replace('#PARAMETROS', http_build_query($params), $url);
//if(!Utiles::getParametroConfiguracion("isProd")){
//$url = $url."&desa";
//}
$status_code = null;
$desc = '';
$xmlOutput = '';
......
......@@ -5,6 +5,7 @@ namespace App\Utilities;
use Monolog\Logger;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\StreamHandler;
use App\Entity\PluParametroConfiguracion;
/*
* To change this license header, choose License Headers in Project Properties.
......@@ -29,6 +30,21 @@ class Utiles {
$log->pushHandler($handler);
return $log;
}
public static function getParametroConfiguracion($nombre,$em) {
$str_valor = '';
$parametro = $em->getRepository(PluParametroConfiguracion::class)->getParametroConfiguracion($nombre);
print_r($parametro);
exit;
if ($parametro)
$str_valor = $parametro->getPcoValor();
return $str_valor;
}
public static function isMsisdn($msisdn) {
if (strlen($msisdn) != 9 || !is_numeric($msisdn)) {
......
......@@ -12,25 +12,30 @@
<!-- Bootstrap core CSS -->
<link href="{{asset('frontend/vendor/bootstrap/css/bootstrap.min.css')}}" rel="stylesheet">
<link href="{{asset('backend/template/vendor/fontawesome-free/css/all.min.css')}}" rel="stylesheet" type="text/css">
<script defer src="{{asset('backend/js/fontawesome.js')}}"></script>
<!-- Custom fonts for this template -->
<link href="https://fonts.googleapis.com/css?family=Catamaran:100,200,300,400,500,600,700,800,900" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900i" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="{{asset('frontend/css/one-page-wonder.min.css')}}" rel="stylesheet">
{#<link href="{{asset('frontend/css/one-page-wonder.min.css')}}" rel="stylesheet">#}
<link href="{{asset('frontend/css/style.css')}}" rel="stylesheet">
{% block stylesheets %}{% endblock %}
</head>
<body>
{%include 'frontend/includes/navbar.html.twig' %}
{%block body %}{% endblock %}
<!-- Footer -->
<footer class="py-5 bg-black">
<div class="container">
<p class="m-0 text-center text-white small">Copyright &copy; Gearlabs {{ "now"|date('Y') }}</p>
<p class="m-0 text-center text-white small">Copyright &copy; Universal Music Entertaiment Todos los derechos reservados Gearlabs {{ "now"|date('Y') }}</p>
</div>
<!-- /.container -->
</footer>
......@@ -39,6 +44,30 @@
<script src="{{asset('frontend/vendor/jquery/jquery.min.js')}}"></script>
<script src="{{asset('frontend/vendor/bootstrap/js/bootstrap.bundle.min.js')}}"></script>
<script src="{{asset('frontend/js/html5slider.js')}}"></script>
<script src="{{asset('frontend/js/musicplayer.js')}}"></script>
<script src="{{asset('frontend/js/jquery-1.7.2.min.js')}}"></script>
<script>
function openNav() {
document.getElementById("myNav").style.height = "100%";
}
function closeNav() {
document.getElementById("myNav").style.height = "0%";
}
</script>
<!-- código para filas clickeables -->
<script>
$('*[data-href]').on("click",function(){
window.location = $(this).data('href');
return false;
});
$("td > a").on("click",function(e){
e.stopPropagation();
});
</script>
{% block javascripts %}{% endblock %}
</body>
......
<!-- Modal -->
<div class="modal fade" id="modalSongListContratada" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleListContratada" class="modal-title modalTitleCustom"></h4>
<button onclick="closeCurrentList(event)" type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyContratada" class="modal-body">
<div id="modalBodyContentContratada" style="display:none">
{%include 'frontend/paginas/canciones.html.twig'%}
</div>
</div>
<div class="modal-footer">
{#<button onclick="showUnsuscribeList(event)" type="button" class="btn btn-danger" data-dismiss="modal">Cancelar Suscripcion</button> #}
<button onclick="closeCurrentList(event)" type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalSongList" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleList" class="modal-title modalTitleCustom"></h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBody" class="modal-body">
<div id="modalBodyContent" style="display:none">
{%include 'frontend/paginas/canciones_no_contratadas.html.twig' %}
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="showModalVerificarMsisdnContratar(event)" class="btn btn-success">Contratar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalContratarMsisdn" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleContratarMsisdn" class="modal-title modalTitleCustom">Contratar</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyCompra" class="modal-body">
<div id="modalBodyContratarContent">
<p>Contrata tu lista por un precio de <span id="precioContratar" style="font-weight: bold;">0</span> CLP</p>
<div class="row">
<div class="col-md-12">
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" id="btnContratarLista" onclick="contratarLista(event)" class="btn btn-success">Contratar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalContratarMsisdnFallida" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleContratarMsisdnFallida" class="modal-title modalTitleCustom">Contratar</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyContratarFallida" class="modal-body">
<div id="message-container-contratacion-fallida"></div>
<div id="modalBodyContratarContentFallida">
<p>Tu lista <span id="nombreListaContratarFallida"></span> por un precio de <span id="precioContratarFallida" style="font-weight: bold;"></span> CLP, No pudo ser contratada. </p>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalContratarMsisdnVerificada" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleContratarMsisdnVerificada" class="modal-title modalTitleCustom">Contratar</h4>
<button type="button" class="close modalCloseCustom"></button>
</div>
<div id="modalBodyContratarVerificada" class="modal-body">
<div id="modalBodyContratarContentVerificada">
<p>La contratacón de la lista <span id="nombreListaContratarVerificada"></span> por un precio de <span id="precioContratarVerificada" style="font-weight: bold;"></span> CLP, ha sido realizada con exito!</p>
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="recargarListas(event)" class="btn btn-success">Actualizar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalDatosUsuario" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleDatosUsuario" class="modal-title modalTitleCustom">Datos Personales</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyDatosUsuario" class="modal-body">
<div id="message-container-datos-usuario"></div>
<div id="modalBodyDatosUsuarioContent">
<form class="form-horizontal" action="/" method="post">
<div class="form-group">
<div class="col-md-12">
<input class="form-control focused" id="mailUsuario" name="mailUsuario" value="{{usuario.getUmoMail()}}" type="text" placeholder="Ej:correo@mail.com">
</div>
</div>
</form>
</div>
</div>
<div class="modal-footer">
<button id="btnActualizarDatos" type="button" onclick="actualizarDatos(event)" class="btn btn-success">Actualizar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalDescontratarLista" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleDescontratarLista" class="modal-title modalTitleCustom">Cancelar Suscripción</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyDescontratar" class="modal-body">
<div id="message-container-descontratacion"></div>
<div id="modalBodyDesContratarContent">
<p>Estas a punto de cancelar la suscripcion a la lista <span id="nombreListaContratada"></span></p>
<p>Esta seguro de realizar esta operación?</p>
</div>
</div>
<div class="modal-footer">
<button id="btnDescontratar" type="button" onclick="unsuscribe(event)" class="btn btn-success">Aceptar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalDesContratarRealizada" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleDescontratarRealizada" class="modal-title modalTitleCustom">Cancelar Suscripcion</h4>
<button type="button" class="close modalCloseCustom"></button>
</div>
<div id="modalBodyDescontratarRealizada" class="modal-body">
<div id="modalBodyDescontratarRealizadaContent">
<p>Se ha realizado la cancelacion de la suscripcion a la lista <span id="nombreListaContratarVerificada"></span> con exito.</p>
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="recargarListas(event)" class="btn btn-success">Actualizar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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