示例#1
0
    }
}
?>

						<li><a href="index.php"><i class="fa fa-home"></i></a></li>
          </ul>
        </div>
        <!-- /.navbar-collapse -->
					<!-- Navbar Right Menu -->
					<div class="navbar-custom-menu">
						<ul class="nav navbar-nav">
							
							<!-- Notifications Menu -->
							<?php 
include './include/notificaciones.class.php';
$obj_notificaciones = new Notificaciones();
$contador_notificaciones = $obj_notificaciones->traerTotalNotificaciones($id);
?>
							<?php 
if ($tipo == 'persona') {
    ?>
								<li class="dropdown notifications-menu">
									<!-- Menu toggle button -->
									<a href="#" class="dropdown-toggle" data-toggle="dropdown">
										<i class="fa fa-bell-o"></i>
										<span class="label label-danger"><?php 
    echo $contador_notificaciones;
    ?>
</span>
									</a>
									<ul class="dropdown-menu">
示例#2
0
 /**
  * Usar una accion grupal
  *
  * @static
  * @param $usuario
  * @param $id_accion
  * @param $id_equipo
  * @param $res : recursos del jugador
  * @param $habilidad
  * @return int id de la nueva accion grupal
  */
 public static function usarGrupal($usuario, $id_accion, $id_equipo, $res, $habilidad)
 {
     $id_usuario = $usuario->id_usuario;
     /*
         Se deberia obtener la accion grupal mediante su PK (id_accion_grupal)
         Como $id_accion equivale $id_habilidad por como se redirige desde acciones/index
         para obtener la accion grupal debo buscar por id_equipo y id_habilidad
         NOTA: no se contempla la posibilidad de en un mismo equipo haya varias acciones iguales
         pero con distinto creador (aunque dicha posibilidad existe) ya que debe arreglarse la redireccion
     */
     $res['dinero'] -= $habilidad['dinero'];
     $res['animo'] -= $habilidad['animo'];
     $res['influencias'] -= $habilidad['influencias'];
     $res['influencias_bloqueadas'] += $habilidad['influencias'];
     //sumarselos al crear nueva accion grupal
     $accion_grupal = new AccionesGrupales();
     $accion_grupal->setAttributes(array('usuarios_id_usuario' => $id_usuario, 'habilidades_id_habilidad' => $id_accion, 'equipos_id_equipo' => $id_equipo, 'influencias_acc' => $habilidad['influencias'], 'animo_acc' => $habilidad['animo'], 'dinero_acc' => $habilidad['dinero'], 'jugadores_acc' => 1, 'finalizacion' => $habilidad['cooldown_fin'] + time(), 'completada' => 0));
     //guardar en los modelos
     $res->save();
     $accion_grupal->save();
     //Crear participación del creador
     $participacion = new Participaciones();
     $participacion->acciones_grupales_id_accion_grupal = $accion_grupal->id_accion_grupal;
     $participacion->usuarios_id_usuario = $id_usuario;
     $participacion->dinero_aportado = $habilidad['dinero'];
     $participacion->influencias_aportadas = $habilidad['influencias'];
     $participacion->animo_aportado = $habilidad['animo'];
     if (!$participacion->save()) {
         Yii::app()->user->setFlash('error', 'Participación no creada. (AccionesController,actionUsar.');
         throw new Exception("Participación no creada. (AccionesController,actionUsar)");
     }
     //Enviamos la notificación correspondiente
     $notificacion = new Notificaciones();
     $notificacion->fecha = time();
     $notificacion->mensaje = Usuarios::model()->findByPk($id_usuario)->nick . " ha abierto la acción " . Habilidades::model()->findByPk($id_accion)->nombre;
     $notificacion->imagen = "images/iconos/notificaciones/nueva_grupal.png";
     $notificacion->save();
     //Enviamos la notificación a la afición
     $componentes = Usuarios::model()->findAllByAttributes(array('equipos_id_equipo' => $id_equipo));
     foreach ($componentes as $componente) {
         $usrnotif = new Usrnotif();
         $usrnotif->notificaciones_id_notificacion = $notificacion->id_notificacion;
         $usrnotif->usuarios_id_usuario = $componente->id_usuario;
         $usrnotif->save();
     }
     // EXP: sumar experencia al usuario
     $usuario->sumarExp(Usuarios::MEDIA_EXP);
     return $accion_grupal['id_accion_grupal'];
 }
 public function executeEdit()
 {
     if ($this->getRequestParameter('layout', '')) {
         $this->setLayout('popup');
     }
     $this->tablaFicheros = TablaPeer::getTablaFicheros();
     $this->id_formulario_proviene = $this->getRequestParameter('id_formulario_proviene', null);
     $this->id_tabla_proviene = $this->getRequestParameter('id_tabla_proviene', null);
     $this->formulario = $this->getFormularioOrCreate();
     $this->items = $this->formulario->getArrayItems();
     if ($this->getRequest()->getMethod() == sfRequest::POST) {
         //GENERAMOS EL ID DEL FORMULARIO PARA QUE LO PUEDA COGER LA TAREA AL GUARDALA
         if ($this->formulario->getIdFormulario() == 0) {
             $this->saveFormulario($this->formulario);
         }
         $this->updateFormularioFromRequest();
         $this->saveFormulario($this->formulario);
         $this->getUser()->setFlash('notice', 'Las modificaciones se han guardado');
         if ($this->getRequestParameter('save_and_add')) {
             if ($this->id_formulario_proviene != null) {
                 return $this->redirect('formularios/create/?id_tabla=' . $this->formulario->getIdTabla() . "&id_formulario_proviene=" . $this->id_formulario_proviene);
             } else {
                 return $this->redirect('formularios/create/?id_tabla=' . $this->formulario->getIdTabla());
             }
         } else {
             if ($this->getRequestParameter('save_and_list')) {
                 /*$ruta=sfContext::getInstance()->getUser()->getAttribute('ruta_legedia',null);*/
                 $ruta = UsuarioPeer::getRuta();
                 if ($this->id_formulario_proviene != null) {
                     return $this->redirect('formularios/edit?id_formulario=' . $this->id_formulario_proviene);
                 } else {
                     $dir = $ruta . "/formularios/list/?filters[id_empresa]=" . $this->formulario->getTabla()->getIdEmpresa() . "&filters[id_tabla]=" . $this->formulario->getIdTabla() . "&filter=filter";
                     header("location: {$dir}");
                 }
                 exit;
                 //return $this->redirect('formularios/list');
             } else {
                 if ($this->id_formulario_proviene != null) {
                     return $this->redirect('formularios/edit?id_formulario=' . $this->id_formulario_proviene);
                 } else {
                     $pre = str_replace('formularios/edit', 'notificaciones/inscribir/id_fichero/', Notificaciones::selfURL());
                     if (isset($_POST['modelo']) && isset($_POST['sistema']) && isset($_POST['tip'])) {
                         header('Location: ' . $pre . $this->formulario->getIdFormulario() . '?model=' . $_POST['modelo'] . '&type=' . $_POST['tip'] . '&system=' . $_POST['sistema'] . '&redirect=1');
                     } elseif (isset($_POST['modelo']) && isset($_POST['sistema'])) {
                         header('Location: ' . $pre . $this->formulario->getIdFormulario() . '?model=' . $_POST['modelo'] . '&system=' . $_POST['sistema'] . '&redirect=1');
                     } else {
                         //echo "--".$this->formulario->getIdFormulario();exit();
                         return $this->redirect('formularios/edit?id_formulario=' . $this->formulario->getIdFormulario());
                     }
                 }
             }
         }
     } else {
         $this->tablas_auxiliares = array();
         if ($this->formulario->getIdFormulario() != 0) {
             //Obtengo si hay un campo de tipo Tabla cuya tabla sea esta y tenga el mostrar_en_padre
             $c = new Criteria();
             $c->AddJoin(CampoPeer::ID_CAMPO, RelCampoTablaPeer::ID_CAMPO, Criteria::JOIN);
             $c->AddJoin(RelCampoTablaPeer::ID_TABLA, TablaPeer::ID_TABLA, Criteria::JOIN);
             $id_empresa = sfContext::getInstance()->getUser()->getAttribute('idempresa', 0);
             $c->addAnd(TablaPeer::ID_EMPRESA, $id_empresa, Criteria::EQUAL);
             $c->addAnd(CampoPeer::TIPO, CampoPeer::ID_TABLA, Criteria::EQUAL);
             $c->addAnd(CampoPeer::MOSTRAR_EN_PADRE, 1, Criteria::EQUAL);
             $c->addAnd(CampoPeer::VALOR_TABLA, $this->formulario->getIdTabla(), Criteria::EQUAL);
             $campos_rel = CampoPeer::doSelect($c);
             foreach ($campos_rel as $campo_rel) {
                 //DEL CAMPO OBTENEMOS LA TABLA
                 $tablas_rel = $campo_rel->getRelCampoTablas();
                 $tabla_rel = $tablas_rel[0];
                 unset($tablas_rel);
                 $c = $this->getCriterio();
                 $c->addJoin(FormularioPeer::ID_FORMULARIO, ItemPeer::ID_FORMULARIO, Criteria::JOIN);
                 $c->addJoin(ItemPeer::ID_ITEM_BASE, ItemBasePeer::ID_ITEM_BASE, Criteria::JOIN);
                 $c->addAnd(ItemBasePeer::ID_CAMPO, $campo_rel->getIdCampo(), Criteria::EQUAL);
                 $c->addAnd(ItemPeer::ID_TABLA, $this->formulario->getIdFormulario(), Criteria::EQUAL);
                 $c->addAnd(FormularioPeer::ID_TABLA, $tabla_rel->getIdTabla(), Criteria::EQUAL);
                 $this->processSort(false);
                 $this->addSortCriteria($c);
                 $c->setDistinct();
                 $pager = new sfPropelPager('Formulario', sfConfig::get('app_listas_formularios'));
                 $pager->setPeerMethod('doSelectJoinTabla');
                 $pager->setCriteria($c);
                 $pager->setPage($this->getRequestParameter('page', 1));
                 $pager->init();
                 $this->tablas_auxiliares[] = array("forms" => $pager, "id_tabla" => $tabla_rel->getIdTabla());
             }
         }
         $this->labels = $this->getLabels();
     }
 }
示例#4
0
 /**
  * Elimina las notificaciones existentes
  *
  * @return void
  */
 public static function borrarNotificaciones()
 {
     //Borramos conexiones de notificaciones leidas
     Usrnotif::model()->deleteAllByAttributes(array('leido' => 1));
     //Cogemos todas las notificaciones
     $notificaciones = Notificaciones::model()->findAll();
     foreach ($notificaciones as $notificacion) {
         //si a alguna de las notificaciones ha sido leida por todos los usuarios se borra
         $u = Usrnotif::model()->findByAttributes(array('notificaciones_id_notificacion' => $notificacion->id_notificacion));
         if ($u === null) {
             $notificacion->delete();
         }
     }
 }
示例#5
0
    echo '<div id="_4">' . get_partial('04', array('action' => $action, 'notificacion' => $notificacion)) . '</div>';
    echo '<div id="_5">' . get_partial('05', array('action' => $action, 'notificacion' => $notificacion)) . '</div>';
    echo '<div id="_6">' . get_partial('06', array('action' => $action, 'notificacion' => $notificacion)) . '</div>';
    echo '<div id="_7">' . get_partial('07', array('action' => $action, 'notificacion' => $notificacion)) . '</div>';
    echo '<div id="_8">' . get_partial('08', array('notificacion' => $notificacion)) . '</div>';
    echo '<div id="_9">' . get_partial('09', array('action' => $action, 'notificacion' => $notificacion)) . '</div>';
    echo '<div id="_10">' . get_partial('10', array('action' => $action, 'notificacion' => $notificacion)) . '</div>';
    if ($notificacion->tipo == 'Supresion') {
        echo '<div id="_11">' . get_partial('11', array('action' => $action, 'notificacion' => $notificacion, 'codigo_agencia' => $codigo_agencia)) . '</div>';
    }
    ?>
</div>
        <div id="sf_admin_container"><div id="sf_admin_bar"><div class="sf_admin_filters">
            <ul class="sf_admin_actions"><?php 
    if (isset($insert) && $insert || $notificacion->procesado == '0') {
        $o = substr(Notificaciones::selfURL(), 0, strpos(Notificaciones::selfURL(), '/notificaciones'));
        $u = substr($o, 0, strrpos($o, '/')) . '/images/icons/';
        echo '<li>' . link_to(__('Enviar a la APD'), 'notificaciones/enviar?id_fichero=' . $id_fichero . '&id_notificacion=' . $notid, array('class' => 'sf_admin_action_save', 'style' => '
                                    text-decoration:none;
                                    float:right;
                                    background-color:#E3E3E3;
                                    border-color:-moz-use-text-color #999999 -moz-use-text-color -moz-use-text-color;
                                    border-style:none solid none none;
                                    border-width:0 4px 0 0;
                                    color:#333333;
                                    cursor:pointer;
                                    font-family:Arial,sans-serif;
                                    font-size:11px;
                                    padding:4px 3px 3px 20px;
                                    -moz-background-clip:border;
                                    -moz-background-inline-policy:continuous;
示例#6
0
<?php 
echo input_hidden_tag('id_file', $formulario->getPrimaryKey());
if ($formulario->getTabla()->getEsFicheros() && trim($formulario->getPrimaryKey()) != "") {
    ?>
        <div id="sf_admin_bar"><div class="sf_admin_filters"><fieldset id="notis_widget">
            <h2><?php 
    echo __('Notificaciones a la APD');
    ?>
</h2><?php 
    $c = new Criteria();
    $c->addAscendingOrderByColumn(NotificacionesPeer::FECHA);
    $notificaciones = $formulario->getNotificacioness($c);
    foreach ($notificaciones as $noti) {
        $date = substr($noti->getFecha(), 4, 4) . '-' . substr($noti->getFecha(), 2, 2) . '-' . substr($noti->getFecha(), 0, 2);
        $time = substr($noti->getHoraProceso(), 0, 2) . ':' . substr($noti->getHoraProceso(), 2, 2) . ':' . substr($noti->getHoraProceso(), 4, 2);
        $o = substr(Notificaciones::selfURL(), 0, strpos(Notificaciones::selfURL(), '/formularios'));
        $u = substr($o, 0, strrpos($o, '/')) . '/images/icons/';
        ?>
                <ul style="margin-left: 7%; clear: both">
                    <li style="list-style-image: url(<?php 
        echo $u . 'bullet_green.png';
        ?>
)">
                        <label style="float: none"><?php 
        echo format_date($date, 'p', 'es') . ', ' . format_date($time, 't') . ':';
        ?>
</label>
                        <label style="float: left; color: black"><?php 
        echo link_to($noti->getTipo(), 'notificaciones/consultar?id_fichero=' . $formulario->getIdFormulario() . '&id_notificacion=' . $noti->getNotid()) . '</label>';
        if (!$noti->getProcesado()) {
            ?>
<nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
    <div class="navbar-header">
        <a href="#" class="navbar-minimalize minimalize-styl-2 btn btn-primary"><i class="fa fa-bars"></i> </a>
    </div>

    <ul class="nav navbar-top-links navbar-right pull-right">
        <li class="dropdown">
            <a href="#" data-toggle="dropdown" class="dropdown-toggle count-info">
                <i class="fa fa-bell"></i>
                <?php 
$notificacion = Notificaciones::getNotificaciones();
?>
                <span id="count_user" class="label label-warning"><?php 
echo $notificacion['total'];
?>
</span>
            </a>

            <ul id="lista_notificaciones" class="dropdown-menu dropdown-alerts content mCustomScrollbar minimal-dark">
              <?php 
if (!empty($notificacion['notificaciones'])) {
    foreach ($notificacion['notificaciones'] as $oportunidad) {
        if ($oportunidad['tipo'] == 'nueva_oportunidad') {
            ?>
                            <li id="marcar_leido<?php 
            echo $oportunidad['id'];
            ?>
">
                          <a href="javascript:">
                              <div>
                                  <i class="fa fa-dollar fa-fw"></i> <?php 
                if (jQuery(this).attr('checked') == true) {
                    tipo = this.value;
                    return false;
                } else  tipo = '';
            });
            var sistema;
            jQuery('.docu').each(function() {
                if (jQuery(this).attr('checked') == true) {
                    sistema = this.value;
                    return false;
                } else  sistema = '';
            });
            for(var i = 0; i < c.length; i++) { jQuery(c[i]).hide(); }
            jQuery('#formulario').show();
            jQuery.get("<?php 
echo Notificaciones::selfURL();
?>
", { model: modelo, type: tipo, system: sistema },
                function (data) { jQuery('#append').append(data); });
            return false;
        });
    });
--></script>
<br />
<div style="width:50%; padding-left:25%;">
    <table class="quitar_borde">
        <tr>
            <td class="quitar_borde"><?php 
echo image_tag('nota.png');
?>
</td>
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      Notificaciones $value A Notificaciones object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(Notificaciones $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getNotid();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }
示例#10
0
 public function jugarse()
 {
     switch ($this->turno) {
         case self::PRIMER_TURNO:
             //Turno inicial (preparar partido)
             $this->inicializaEncuentro();
             $this->generaCronicaBase();
             $this->guardaEstado();
             break;
         case self::TURNO_DESCANSO:
             $this->generaEstadoDescanso();
             $this->generaCronicaDescanso();
             $this->guardaEstado();
             break;
         case $this->turno > self::PRIMER_TURNO && $this->turno < self::ULTIMO_TURNO && $this->turno != self::TURNO_DESCANSO:
             //Este apartado incluye el descanso del partido!
             //Turnos de partido
             $this->generar_estado();
             $this->guardaEstado();
             break;
         case self::ULTIMO_TURNO:
             //Turno para generar el estado y crónica finales
             $this->generar_estado();
             $this->generaCronicaUltimoTurno();
             /****/
             $this->finalizaEncuentro();
             /****/
             $this->guardaEstado();
             /****/
             $this->actualizaSiguientePartido($this->id_local);
             $this->actualizaSiguientePartido($this->id_visitante);
             $this->rellenaSiguientePartido($this->id_local);
             $this->rellenaSiguientePartido($this->id_visitante);
             $this->eliminaGrupales($this->id_local);
             $this->eliminaGrupales($this->id_visitante);
             //Creamos una notificación de fin de partido
             $notificacion = new Notificaciones();
             $notificacion->fecha = time();
             $notificacion->mensaje = Equipos::model()->findByPk($this->id_local)->nombre . " " . $this->goles_local . " - " . $this->goles_visitante . " " . Equipos::model()->findByPk($this->id_visitante)->nombre;
             $notificacion->imagen = "images/iconos/notificaciones/partido_terminado.png";
             $notificacion->save();
             //Enviamos la notificación a los interesados
             $componentes = Usuarios::model()->findAllByAttributes(array('equipos_id_equipo' => $this->id_local));
             foreach ($componentes as $componente) {
                 $usrnotif = new Usrnotif();
                 $usrnotif->notificaciones_id_notificacion = $notificacion->id_notificacion;
                 $usrnotif->usuarios_id_usuario = $componente->id_usuario;
                 $usrnotif->save();
                 //Devuelvo la influencia a los participantes7
                 $componente->recursos->influencias_partido_bloqueadas = 0;
                 $componente->recursos->save();
             }
             $componentes = Usuarios::model()->findAllByAttributes(array('equipos_id_equipo' => $this->id_visitante));
             foreach ($componentes as $componente) {
                 $usrnotif = new Usrnotif();
                 $usrnotif->notificaciones_id_notificacion = $notificacion->id_notificacion;
                 $usrnotif->usuarios_id_usuario = $componente->id_usuario;
                 $usrnotif->save();
                 //Devuelvo la influencia a los participantes
                 $componente->recursos->influencias_partido_bloqueadas = 0;
                 $componente->recursos->save();
             }
             /****/
             break;
             /*case self::ULTIMO_TURNO:
                 	//Turno para permitir visualizar el fin de partido durante un tiempo extra
                 	//y cambiar los datos del siguiente partido
             		$this->finalizaEncuentro();
             		$this->guardaEstado();
             		$this->actualizaSiguientePartido($this->id_local);
             		$this->actualizaSiguientePartido($this->id_visitante);
             		$this->rellenaSiguientePartido($this->id_local);
             		$this->rellenaSiguientePartido($this->id_visitante);
             		$this->eliminaGrupales($this->id_local);
             		$this->eliminaGrupales($this->id_visitante);
             		//Creamos una notificación de fin de partido
             		$notificacion = new Notificaciones;
             		$notificacion->fecha = time();
             		$notificacion->mensaje = Equipos::model()->findByPk($this->id_local)->nombre . "(local)" . " vs " . Equipos::model()->findByPk($this->id_visitante)->nombre . "(visitante)";
             		$notificacion->imagen = "images/iconos/notificaciones/partido_terminado.png";
             		$notificacion->save();
             		//Enviamos la notificación a los interesados
             		$componentes = Usuarios::model()->findAllByAttributes(array('equipos_id_equipo'=>$this->id_local));
             		foreach ($componentes as $componente){
             			$usrnotif = new Usrnotif;
             			$usrnotif->notificaciones_id_notificacion = $notificacion->id_notificacion;
             			$usrnotif->usuarios_id_usuario = $componente->id_usuario;
             			$usrnotif->save();
             		}
             		$componentes = Usuarios::model()->findAllByAttributes(array('equipos_id_equipo'=>$this->id_visitante));
             		foreach ($componentes as $componente){
             			$usrnotif = new Usrnotif;
             			$usrnotif->notificaciones_id_notificacion = $notificacion->id_notificacion;
             			$usrnotif->usuarios_id_usuario = $componente->id_usuario;
             			$usrnotif->save();
             		}
                 	break;*/
         /*case self::ULTIMO_TURNO:
             	//Turno para permitir visualizar el fin de partido durante un tiempo extra
             	//y cambiar los datos del siguiente partido
         		$this->finalizaEncuentro();
         		$this->guardaEstado();
         		$this->actualizaSiguientePartido($this->id_local);
         		$this->actualizaSiguientePartido($this->id_visitante);
         		$this->rellenaSiguientePartido($this->id_local);
         		$this->rellenaSiguientePartido($this->id_visitante);
         		$this->eliminaGrupales($this->id_local);
         		$this->eliminaGrupales($this->id_visitante);
         		//Creamos una notificación de fin de partido
         		$notificacion = new Notificaciones;
         		$notificacion->fecha = time();
         		$notificacion->mensaje = Equipos::model()->findByPk($this->id_local)->nombre . "(local)" . " vs " . Equipos::model()->findByPk($this->id_visitante)->nombre . "(visitante)";
         		$notificacion->imagen = "images/iconos/notificaciones/partido_terminado.png";
         		$notificacion->save();
         		//Enviamos la notificación a los interesados
         		$componentes = Usuarios::model()->findAllByAttributes(array('equipos_id_equipo'=>$this->id_local));
         		foreach ($componentes as $componente){
         			$usrnotif = new Usrnotif;
         			$usrnotif->notificaciones_id_notificacion = $notificacion->id_notificacion;
         			$usrnotif->usuarios_id_usuario = $componente->id_usuario;
         			$usrnotif->save();
         		}
         		$componentes = Usuarios::model()->findAllByAttributes(array('equipos_id_equipo'=>$this->id_visitante));
         		foreach ($componentes as $componente){
         			$usrnotif = new Usrnotif;
         			$usrnotif->notificaciones_id_notificacion = $notificacion->id_notificacion;
         			$usrnotif->usuarios_id_usuario = $componente->id_usuario;
         			$usrnotif->save();
         		}
             	break;*/
         default:
             // No debería llegar aquí
             echo "Jodimos algo";
     }
 }
        $resultado = mysqli_query($mysqli, $traer_numero);
        $contador = mysqli_num_rows($resultado);
        return $contador;
    }
    function traerNotificaciones($idUsuario)
    {
        include 'conexion.php';
        $traer_notificacion = "SELECT * from notificaciones where idUsuario={$idUsuario} ORDER BY fechaAgregada DESC";
        $resultado = $mysqli->query($traer_notificacion);
        while ($rows = $resultado->fetch_assoc()) {
            if ($rows['leido'] == 0) {
                echo "<li name='lista'><!-- start notification -->\n                    <a href='/avisos.php?accion=leer&id={$rows['idPublicacion']}' class='noti-a' value='{$rows['idNotificacion']}'>\n                        <input type='hidden' name='notificacion' value='{$rows['idNotificacion']}'>\n                        <i class='fa fa-users text-aqua'></i> {$rows['notificacion_texto']}\n                    </a>\n                </li>";
            } else {
                echo "<li class='btn-default' name='lista' value='{$rows['idNotificacion']}'><!-- start notification -->\n                    <a href='/avisos.php?accion=leer&id={$rows['idPublicacion']}' class='noti-a' value='{$rows['idNotificacion']}'>\n                        <input type='hidden' name='notificacion' value='{$rows['idNotificacion']}'>\n                        <i class='fa fa-users text-aqua'></i> {$rows['notificacion_texto']}\n                    </a>\n                </li>";
            }
        }
    }
    function agregarVisto($idNotificacion)
    {
        include 'conexion.php';
        $cambiar_visto = "UPDATE notificaciones set leido=1 WHERE idNotificacion={$idNotificacion};";
        mysqli_query($mysqli, $cambiar_visto);
        $count = mysqli_affected_rows($mysqli);
        mysqli_close($mysqli);
        return $count;
    }
}
if (isset($_POST['notificacion'])) {
    $obj = new Notificaciones();
    echo $obj->agregarVisto($_POST['notificacion']);
}
示例#12
0
?>
</h1>

<div id="sf_admin_header">
<?php 
include_partial('formularios/list_header', array('pager' => $pager));
include_partial('formularios/list_messages', array('pager' => $pager));
?>
</div>

<div id="sf_admin_content"><?php 
if ($formulario->getTabla() == 'Ficheros') {
    if (isset($_GET['i'])) {
        $pre = substr(Notificaciones::selfURL(), 0, strpos(Notificaciones::selfURL(), '&i'));
    } else {
        $pre = Notificaciones::selfURL();
    }
    ?>
    <ul class='sf_admin_actions' style="padding-bottom: 2%"><?php 
    echo "<li>" . button_to(__('Notificados'), $pre . '&i=1', array('class' => 'sf_admin_action_list', 'style' => 'float:left')) . "</li>";
    echo "<li>" . button_to(__('No Procesados'), $pre . '&i=0', array('class' => 'sf_admin_action_list', 'style' => 'float:left')) . "</li>";
    echo "<li>" . button_to(__('No Notificados'), $pre . '&i=2', array('class' => 'sf_admin_action_list', 'style' => 'float:left')) . "</li>";
    echo "<li>" . button_to(__('Todos'), $pre, array('class' => 'sf_admin_action_list', 'style' => 'float:left')) . "</li>";
    ?>
    </ul><?php 
}
if (!$pager->getNbResults()) {
    ?>
<blockquote class="warning"><p>
<?php 
    echo __('no hay resultados');
 /**
  * Guardar Formulario de Cliente Juridico
  *
  * @return boolean
  */
 function guardar_actividad()
 {
     if (Util::is_array_empty($_POST)) {
         return false;
     }
     //Init Fieldset variable
     $fieldset = array();
     //Remover el boton de submit que por default
     //viene con el valor "Guardar"
     unset($_POST["campo"]["guardar"]);
     $modulo_relacionado_con = $this->seleccionar_modulos_relacionado_con(array('valor' => $_POST['campo']['modulo_relacion']));
     if (!isset($_POST["campo"]["uuid_cliente"])) {
         $uuid_cliente = $this->seleccionar_cliente_de_oportunidad($_POST["campo"]["uuid_oportunidad"]);
         //$uuid_cliente= $uuid_cliente[0]['uuid_cliente'];
         $fieldset["uuid_cliente"] = $uuid_cliente[0]['uuid_cliente'];
     }
     unset($_POST["campo"]["modulo_relacion"]);
     //Recorrer arreglo e insertar los valores que no estan vacios
     //en el fieldset
     foreach ($_POST["campo"] as $fieldname => $fieldvalue) {
         if (empty($fieldvalue)) {
             continue;
         }
         //check if is an array
         if (is_array($fieldvalue)) {
             foreach ($fieldvalue as $name => $value) {
                 if ($value != "") {
                     if (strpos($name, 'uuid_') !== false) {
                         $fieldset["{$name} = UNHEX('{$value}')"] = NULL;
                     } else {
                         $fieldset[$name] = $this->security->xss_clean($value);
                     }
                 }
             }
         } else {
             if (strpos($fieldname, 'uuid_') !== false) {
                 $this->db->set($fieldname, "UNHEX('{$fieldvalue}')", FALSE);
             } else {
                 $fieldset[$fieldname] = $fieldvalue;
             }
         }
     }
     if (isset($_POST['campo']['completada'])) {
         if ($_POST['campo']['completada'] != 0 || $_POST['campo']['completada'] == "") {
             $fieldset["completada"] = 1;
         } else {
             $fieldset["completada"] = 0;
         }
     } else {
         $fieldset["completada"] = 0;
     }
     //Si el $fieldset es vacio
     if (Util::is_array_empty($fieldset)) {
         return false;
     }
     //
     // Begin Transaction
     // docs: https://ellislab.com/codeigniter/user-guide/database/transactions.html
     //
     $this->db->trans_start();
     $fieldset["creado_por"] = $this->session->userdata('id_usuario');
     $fieldset["fecha_creacion"] = date('Y-m-d H-i-s');
     $fieldset["relacionado_con"] = $modulo_relacionado_con[0]['id_cat'];
     $fieldset["fecha"] = date('Y-m-d H:i:s', strtotime($fieldset["fecha"]));
     //Campos adicionales
     $this->db->set('uuid_actividad', 'ORDER_UUID(uuid())', FALSE);
     //Guardar Actividad
     $this->db->insert('act_actividades', $fieldset);
     $idActividad = $this->db->insert_id();
     //---------------------------------------
     //End Transaction
     $this->db->trans_complete();
     $uuid_oportunidad = $_POST['campo']['uuid_oportunidad'];
     $uuid_tipo = $this->db->query("SELECT HEX(uuid_tipo_actividad) AS uuid_tipo,etiqueta FROM act_tipo_actividades WHERE etiqueta LIKE '%telefonica%'")->row_array();
     $tipo_actividad = $_POST['campo']['uuid_tipo_actividad'];
     $oportunidades = $this->db->query("select count(uuid_oportunidad) as oportunidades from act_actividades where HEX(uuid_oportunidad) ='" . $uuid_oportunidad . "'")->row_array();
     if ($this->is_redis_as_runnig && $oportunidades['oportunidades'] == 1 && $uuid_tipo['uuid_tipo'] != $tipo_actividad) {
         //armar datos
         $uuid_asignado = $_POST["campo"]["uuid_asignado"];
         $creado_por = CRM_Controller::$uuid_usuario;
         $datosOportunidad = $this->db->query("Select id_oportunidad, nombre from opp_oportunidades where HEX(uuid_oportunidad) = '" . $uuid_oportunidad . "' ")->row_array();
         $datos_notificaciones = array();
         $data_notificacion = array('id_oportunidad' => $datosOportunidad['id_oportunidad'], 'nombre' => $datosOportunidad['nombre'], 'tipo' => 'tiene_oportunidad');
         $datos_notificaciones['data'] = json_encode($data_notificacion);
         $notificacion = Notificaciones::guardar_notificaciones($datos_notificaciones, $uuid_asignado, $creado_por);
         $args = array('id' => $notificacion['id']);
         $schedules = Jobs::mostrar_jobs(array('id_job' => 3));
         $fecha_tarea = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s ') . $schedule['recurrencia']));
         $datetime = new DateTime($fecha_tarea, new DateTimeZone('America/Panama'));
         if (!empty($schedules)) {
             foreach ($schedules as $schedule) {
                 $schedule_usuarios = json_decode($schedule['uuid_usuarios']);
                 $args = array_merge($args, array('id_job_conf' => $schedule['id'], 'oportunidad_id' => $datosOportunidad['id_oportunidad'], 'tiempo_ejecucion' => $fecha_tarea, 'recurrencia' => $schedule['recurrencia']));
                 if (in_array($uuid_asignado, $schedule_usuarios->uuid_usuarios)) {
                     ResqueScheduler::enqueueAt($datetime, 'notificacion', 'Notificaciones', $args);
                 } else {
                     ResqueScheduler::enqueueAt($datetime, 'notificacion', 'Notificaciones', $args);
                 }
             }
         }
     }
     if ($this->is_redis_as_runnig && $oportunidades['oportunidades'] >= 5) {
         $oportunidades = $this->db->query("select HEX(uuid_tipo_actividad) as uuid_tipo_actividad from act_actividades where HEX(uuid_oportunidad) ='" . $uuid_oportunidad . "' LIMIT 5")->result_array();
         $tipo = $this->db->query("SELECT HEX(uuid_tipo_actividad) AS uuid_tipo FROM act_tipo_actividades WHERE  etiqueta LIKE '%reunion%' OR etiqueta LIKE '%visita%'")->result_array();
         $array5_opotunidad = array();
         $array_tipo = array();
         foreach ($oportunidades as $actividades) {
             array_push($array5_opotunidad, $actividades['uuid_tipo_actividad']);
         }
         foreach ($tipo as $actividades) {
             array_push($array_tipo, $actividades['uuid_tipo']);
         }
         $array_conciden = array_intersect($array5_opotunidad, $array_tipo);
         if (count($array_conciden) == 0) {
             //armar datos
             $uuid_asignado = $_POST["campo"]["uuid_asignado"];
             $creado_por = CRM_Controller::$uuid_usuario;
             $datosOportunidad = $this->db->query("Select id_oportunidad, nombre from opp_oportunidades where HEX(uuid_oportunidad) = '" . $uuid_oportunidad . "' ")->row_array();
             $datos_notificaciones = array();
             $data_notificacion = array('id_oportunidad' => $datosOportunidad['id_oportunidad'], 'nombre' => $datosOportunidad['nombre'], 'tipo' => 'tiene_actividad');
             $datos_notificaciones['data'] = json_encode($data_notificacion);
             $notificacion = Notificaciones::guardar_notificaciones($datos_notificaciones, $uuid_asignado, $creado_por);
             $args = array('id' => $notificacion['id']);
             $schedules = Jobs::mostrar_jobs(array('id_job' => 7));
             $fecha_tarea = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s ') . $schedule['recurrencia']));
             $datetime = new DateTime($fecha_tarea, new DateTimeZone('America/Panama'));
             if (!empty($schedules)) {
                 foreach ($schedules as $schedule) {
                     $schedule_usuarios = json_decode($schedule['uuid_usuarios']);
                     $args = array_merge($args, array('id_job_conf' => $schedule['id'], 'oportunidad_id' => $datosOportunidad['id_oportunidad'], 'tiempo_ejecucion' => $fecha_tarea, 'recurrencia' => $schedule['recurrencia']));
                     if (in_array($uuid_asignado, $schedule_usuarios->uuid_usuarios)) {
                         ResqueScheduler::enqueueAt($datetime, 'notificacion', 'Notificaciones', $args);
                     } else {
                         ResqueScheduler::enqueueAt($datetime, 'notificacion', 'Notificaciones', $args);
                     }
                 }
             }
         }
     }
     // Managing Errors
     if ($this->db->trans_status() === FALSE) {
         log_message("error", "MODULO: Actividades --> No se pudo guadar los datos de la actividad en DB.");
         return false;
     } else {
         /* Notifications::guardar_notificacion(
         			array(
         					"tipo_notificacion"=>'actualizacion',
         					"modulo"=>$_POST['campo']['relacionado_con'],
         					"id"=>$_POST['campo']['uuid_relacion'],
          			));*/
         //guardar el id en variable de session
         $this->session->set_userdata('uuid_actividad', $idActividad);
         return true;
     }
 }
 function __construct()
 {
     //Instancia de Codeigniter
     self::$ci =& get_instance();
     self::$uuid_usuario = CRM_Controller::$uuid_usuario;
 }
 public function ajax_notificaciones()
 {
     if ($this->input->is_ajax_request()) {
         $nodes = $this->input->post('sockets');
         echo Notificaciones::getNotificaciones($nodes);
         exit;
     }
 }
 /**
  * Actualizar Etapa de Oportunidad
  *
  * @param string $id_cliente
  * @return boolean
  */
 function ajax_actualizar_oportunidad($id_oportunidad = NULL)
 {
     $id_oportunidad = $this->input->post('id_oportunidad', true);
     $id_etapa = $this->input->post('id_etapa', true);
     //Si el $fieldset es vacio
     if (empty($id_oportunidad) || empty($id_etapa)) {
         return false;
     }
     //
     // Begin Transaction
     // docs: https://ellislab.com/codeigniter/user-guide/database/transactions.html
     //
     $this->db->trans_start();
     $fieldset = array("id_etapa_venta" => $id_etapa);
     $clause = array("uuid_oportunidad = UNHEX('{$id_oportunidad}')" => NULL);
     //Actualizar Cliente Potencial
     $this->db->where($clause)->update('opp_oportunidades', $fieldset);
     //-----------------
     // Verificar si la etapa fue actualiza a Vendido
     //-----------------
     $fields = array("ocat.valor AS etapa_venta", "HEX(opp.uuid_propiedad) AS uuid_propiedad");
     $clause = array("opp.uuid_oportunidad = UNHEX('{$id_oportunidad}')" => NULL);
     $checkEtapa = $this->db->select($fields)->distinct()->from('opp_oportunidades AS opp')->join('opp_oportunidades_cat AS ocat', 'ocat.id_cat = opp.id_etapa_venta', 'LEFT')->where($clause)->get()->result_array();
     //-----------------
     // Obtener los Estados de las Propiedades
     //-----------------
     $listaEstadosPropiedades = $this->db->select("id_cat AS id_estado_propiedad")->distinct()->from('rpo_propiedades_cat')->where("valor", "no_disponible")->get()->result_array();
     //verificar si la etapa fue actualiza a Vendido
     //si es vendido, cambiar la propiedad a No Disponible.
     if (!empty($checkEtapa) && !empty($checkEtapa[0]["etapa_venta"]) && $checkEtapa[0]["etapa_venta"] == "vendido") {
         //Actualizar Propiedad
         $fieldset = array("id_estado_propiedad" => $listaEstadosPropiedades[0]["id_estado_propiedad"]);
         $clause = array("uuid_propiedad = UNHEX('" . $checkEtapa[0]["uuid_propiedad"] . "')" => NULL);
         $this->db->where($clause)->update('rpo_propiedades', $fieldset);
     }
     //---------------------------------------
     //End Transaction
     $this->db->trans_complete();
     //redis
     if ($this->is_redis_as_runnig && ($checkEtapa[0]["etapa_venta"] != "vendido" && $checkEtapa[0]["etapa_venta"] != "venta_perdida")) {
         //verifica si el redis esta corriendo
         //armar datos
         $creado_por = CRM_Controller::$uuid_usuario;
         $datosOportunidad = $this->db->query("Select id_oportunidad, nombre, fecha_creacion,HEX(id_asignado) as id_asignado from opp_oportunidades where HEX(uuid_oportunidad) = '" . $id_oportunidad . "' ")->row_array();
         $datos_notificaciones = array();
         $data_notificacion = array('id_oportunidad' => $datosOportunidad['id_oportunidad'], 'nombre' => $datosOportunidad['nombre'], 'tipo' => 'oportunidad_actualizar_etapa', 'etapa' => $checkEtapa[0]["etapa_venta"]);
         $datos_notificaciones['data'] = json_encode($data_notificacion);
         $uuid_asignado = $datosOportunidad['id_asignado'];
         $notificacion = Notificaciones::guardar_notificaciones($datos_notificaciones, $uuid_asignado, $creado_por);
         $args = array('id' => $notificacion['id']);
         //$this->redis->publish('oportunidad',json_encode(array('id_asignado' =>$uuid_asignado, 'id_notificacion' => $notificacion['id'] )));
         $schedules = Jobs::mostrar_jobs(array('id_job' => 2));
         if (!empty($schedules)) {
             foreach ($schedules as $schedule) {
                 $fecha_tarea = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s ') . $schedule['recurrencia']));
                 $datetime = new DateTime($fecha_tarea, new DateTimeZone('America/Panama'));
                 $args = array_merge($args, array('id_job_conf' => $schedule['id'], 'oportunidad_id' => $datosOportunidad['id_oportunidad'], 'fecha_oportunidad' => $datosOportunidad['fecha_creacion'], 'tiempo_ejecucion' => $fecha_tarea, 'recurrencia' => $schedule['recurrencia']));
                 $schedule_usuarios = json_decode($schedule['uuid_usuarios']);
                 if (in_array($uuid_asignado, $schedule_usuarios->uuid_usuarios)) {
                     ResqueScheduler::enqueueAt($datetime, 'notificacion' . time(), 'Notificaciones', $args);
                 } else {
                     ResqueScheduler::enqueueAt($datetime, 'notificacion' . time(), 'Notificaciones', $args);
                 }
             }
         }
     }
     // Managing Errors
     if ($this->db->trans_status() === FALSE) {
         log_message("error", "MODULO: Oportunidades --> No se pudo actualizar la etapa de la oportunidad en DB.");
         return array("respuesta" => false, "mensaje" => "Hubo un error al tratar de actualizar la etapa de la oportunidad.");
     } else {
         //Limpiar cache
         @CRM_Controller::$cache->delete("infoOportunidad");
         @CRM_Controller::$cache->delete("listado_oportunidades");
         return array("respuesta" => true, "mensaje" => "Se ha cambiado la etapa de la oportunidad satisfactoriamente.");
     }
 }
示例#17
0
            return false;
        });
        // Hook up the print link.
        jQuery('.print-button').click(function() {  // Print the DIV.
            jQuery('#printable').css({'margin-left' : '1%'});
            jQuery('#printable').css({'margin-right' : '1%'});
            jQuery('head').append('<link rel="stylesheet" href="<?php 
echo substr(Notificaciones::selfURL(), 0, strpos(Notificaciones::selfURL(), 'web/') + 4) . '/css/principal.css';
?>
" type="text/css" media="print" />');
            jQuery('head').append('<link rel="stylesheet" href="<?php 
echo substr(Notificaciones::selfURL(), 0, strpos(Notificaciones::selfURL(), 'web/') + 4) . '/css/sfCssTabs.css';
?>
" type="text/css" media="print" />');
            jQuery('head').append('<link rel="stylesheet" href="<?php 
echo substr(Notificaciones::selfURL(), 0, strpos(Notificaciones::selfURL(), 'web/') + 4) . '/css/notificaciones.css';
?>
" type="text/css" media="print" />');
            jQuery('#printable').print();
            // Cancel click event.
            return false;
        });
    });
-->
</script>

<?php 
$dir = sfConfig::get('sf_upload_dir') . DIRECTORY_SEPARATOR . $id_fichero . '-' . $id_notificacion . '.xml';
$con = Propel::getConnection();
$query = "SELECT `notificaciones`.* FROM `notificaciones` WHERE `notificaciones`.`notid` = '" . $id_notificacion . "' AND `notificaciones`.`id_fichero` = '" . $id_fichero . "';";
$statement = $con->prepare($query);
 public function ajax_marcar_leido()
 {
     if ($this->input->is_ajax_request()) {
         $id = $this->input->post('id');
         Notificaciones::marcar_leido($id);
         exit;
     }
 }
示例#19
-1
 /** 
  * Suma la experiencia indicada al jugador
  *
  * Si el jugador sube de nivel, actualiza los valores de:
  *
  *  - indicadores de recursos
  *  - nivel
  *  - exp_necesaria
  *  - puntos_desbloqueo
  * 
  * > La funcion contempla la posibilidad de subir varios niveles de golpe
  * 
  * @param int $exp  experencia a sumar al jugador
  * @return boolean  indicador si el jugador ha subido de nivel (true si el jugador ha subido)
  */
 public function sumarExp($exp)
 {
     /* Experencia acumulada */
     $exp_acc = $this->exp + $exp;
     $this->setAttributes(array('exp' => $exp_acc));
     /* Comprobar si subimos de nivel */
     if ($exp_acc >= $this->exp_necesaria) {
         $nivel_actual = $this->nivel;
         $nivel_inicial = $nivel_actual;
         $exp_sig_nivel = $this->exp_necesaria;
         $puntos_desbloqueo = $this->puntos_desbloqueo;
         /* Posible subir varios niveles */
         while ($exp_acc >= $exp_sig_nivel) {
             $nivel_actual = $nivel_actual + 1;
             $puntos_desbloqueo += 1;
             Yii::app()->user->setFlash('nivel', 'Enhorabuena, has subido de nivel. Ahora tienes nivel ' . $nivel_actual);
             $exp_sig_nivel = Usuarios::expNecesaria($nivel_actual);
             //Creamos una notificacion para el nivel y otra para los puntos de desbloqueo
             $notificacionNivel = new Notificaciones();
             $notificacionNivel->fecha = time();
             $notificacionNivel->mensaje = " Enhorabuena, has subido de nivel. Ahora tienes nivel " . $nivel_actual;
             $notificacionNivel->imagen = "images/iconos/notificaciones/nivel.png";
             $notificacionNivel->save();
             $notificacionPuntos = new Notificaciones();
             $notificacionPuntos->fecha = time();
             $notificacionPuntos->mensaje = " Tus puntos de desbloqueo han aumentado. Ahora tienes " . $puntos_desbloqueo;
             $notificacionPuntos->imagen = "images/iconos/notificaciones/puntos_desbloqueo.png";
             $notificacionPuntos->save();
             //Guardamos las notificaciones en ursnotif
             $usrnotif = new Usrnotif();
             $usrnotif->notificaciones_id_notificacion = $notificacionNivel->id_notificacion;
             $usrnotif->usuarios_id_usuario = $this->id_usuario;
             $usrnotif->save();
             $usrnotifPuntos = new Usrnotif();
             $usrnotifPuntos->notificaciones_id_notificacion = $notificacionPuntos->id_notificacion;
             $usrnotifPuntos->usuarios_id_usuario = $this->id_usuario;
             $usrnotifPuntos->save();
         }
         /* Obtener los nuevos valores de los atributos del personaje:
          * ritmo de generacion de recursos 
          * valores maximos de los recursos */
         $nuevos_atributos = $this->actualizarAtributos($nivel_inicial, $nivel_actual);
         /* Guardamos los nuevos atributos del usuario */
         $this->setAttributes(array('nivel' => $nivel_actual, 'exp_necesaria' => $exp_sig_nivel, 'puntos_desbloqueo' => $puntos_desbloqueo));
         $this->recursos->setAttributes(array('dinero_gen' => $nuevos_atributos['dinero_gen'], 'animo_gen' => $nuevos_atributos['animo_gen'], 'influencias_gen' => $nuevos_atributos['influencias_gen'], 'animo_max' => $nuevos_atributos['animo_max'], 'influencias_max' => $nuevos_atributos['influencias_max'], 'influencias_bloqueadas' => $nuevos_atributos['influencias_bloqueadas']));
         $this->save();
         $this->recursos->save();
         return true;
     } else {
         /* No aumentamos de nivel: guardamos la nueva exp acumulada */
         $this->save();
         return false;
     }
 }