public function beforeAction($action) { if (!parent::beforeAction($action)) { return false; } if (isset(Yii::app()->user->usIdent)) { // Obtiene la clasificación de los equipos $clasificacion = Clasificacion::model()->with('equipos')->findAll(array('order' => 'posicion ASC')); Yii::app()->setParams(array('clasificacion' => $clasificacion)); // Obtiene la información del usuario $usuario = Usuarios::model()->with('recursos')->findByPK(Yii::app()->user->usIdent); Yii::app()->setParams(array('usuario' => $usuario)); // Obtiene la información de la mensajeria //Saca la lista de los emails recibidos por el usuario y que ademas no los haya leido $mensajeria = Emails::model()->findAllByAttributes(array('id_usuario_to' => Yii::app()->user->usIdent, 'leido' => 0)); $countmens = count($mensajeria); Yii::app()->setParams(array('countmens' => $countmens)); // Obtiene la información de las notificaciones //Saca la lista de las notinicaciones recibidas por el usuario y que ademas no haya leido $notificaciones = Usrnotif::model()->findAllByAttributes(array('usuarios_id_usuario' => Yii::app()->user->usIdent, 'leido' => 0)); $countnot = count($notificaciones); Yii::app()->setParams(array('countnot' => $countnot)); } Yii::app()->setParams(array('bgclass' => 'bg-estadio-fuera')); return true; }
function Guardar() { $clasificacion = new Clasificacion(); if (isset($_POST['nombre']) && $_POST['nombre'] != "") { $nombre = $_POST['nombre']; $estatus = $_POST['estatus']; if ($estatus == "on") { $clasificacion->Nueva_Clasificacion($nombre, "1"); } else { $clasificacion->Nueva_Clasificacion($nombre, "0"); } header("Location: index.php?oksave"); } else { header("Location: index.php?error"); } }
/** * Muestra la clasificacion de todos los equipos * * @route jugadorNum12/equipos * @return void */ public function actionIndex() { /* Actualizar datos de usuario (recuros,individuales y grupales) */ Usuarios::model()->actualizaDatos(Yii::app()->user->usIdent); /* Fin de actualización */ $modeloClasificacion = Clasificacion::model()->findAll(array('order' => 'posicion ASC')); if ($modeloClasificacion === null) { Yii::app()->user->setFlash('clasificacion', 'Clasificacion incorrecta. (actionIndex, EquiposController).'); } $this->render('index', array('modeloC' => $modeloClasificacion)); }
<?php include '../includes/bd/conexion.php'; include '../includes/clases/Clasificacion.php'; $area = new Clasificacion('', $_POST['descripcion'], $_POST['tipo']); $area->Registrar();
private function actualizaClasificacion() { try { $local = Clasificacion::model()->findByAttributes(array('equipos_id_equipo' => $this->id_local)); $visit = Clasificacion::model()->findByAttributes(array('equipos_id_equipo' => $this->id_visitante)); //Miro quien ha ganado el partido //Sumo los puntos y los goles a favor y en contra de cada equipo if ($this->goles_local > $this->goles_visitante) { $puntosLocal = $local->puntos; $puntosLocal = $puntosLocal + 3; $ganadosLocal = $local->ganados; $perdidosVisit = $visit->perdidos; $local->setAttributes(array('puntos' => $puntosLocal)); $local->setAttributes(array('ganados' => $ganadosLocal + 1)); $visit->setAttributes(array('perdidos' => $perdidosVisit + 1)); } else { if ($this->goles_local < $this->goles_visitante) { $puntosVisitante = $visit->puntos; $puntosVisitante = $puntosVisitante + 3; $ganadosVisit = $visit->ganados; $perdidosLocal = $local->perdidos; $local->setAttributes(array('perdidos' => $perdidosLocal + 1)); $visit->setAttributes(array('ganados' => $ganadosVisit + 1)); $visit->setAttributes(array('puntos' => $puntosVisitante)); } else { $puntosLocal = $local->puntos; $puntosLocal = $puntosLocal + 1; $puntosVisitante = $visit->puntos; $puntosVisitante = $puntosVisitante + 1; $empatadosVisit = $visit->empatados; $empatadosLocal = $local->empatados; $local->setAttributes(array('empatados' => $empatadosLocal + 1)); $visit->setAttributes(array('empatados' => $empatadosVisit + 1)); $local->setAttributes(array('puntos' => $puntosLocal)); $visit->setAttributes(array('puntos' => $puntosVisitante)); } } //una vez actualizado los puntos, toca actualizar las diferencia de goles $difPartidoLocal = $this->goles_local - $this->goles_visitante; $difPartidoVisit = $this->goles_visitante - $this->goles_local; $difTablaLocal = $local->diferencia_goles; $difTablaVisit = $visit->diferencia_goles; $local->setAttributes(array('diferencia_goles' => $difTablaLocal + $difPartidoLocal)); $visit->setAttributes(array('diferencia_goles' => $difTablaVisit + $difPartidoVisit)); $visit->save(); $local->save(); //Una vez hecho esto,voy a la clasificacion y recalculo las posiciones //Para ello voy a coger ahora todos los registros de clasificacion //Y utilizando ORDER BY en la consulta voy a ir colocando las posiciones //Con respecto a los puntos y a la diferencia de goles $criteria = new CDbCriteria(); $criteria->order = 'puntos DESC,diferencia_goles DESC'; /*Otra opcion puede ser esta $Puestos = Clasificacion::model()->findAll( array('order'=>'puntos ASC,diferencia_goles DESC'));*/ $puestos = Clasificacion::model()->findAll($criteria); $i = 1; foreach ($puestos as $puesto) { $puesto->posicion = $i; $i++; $puesto->save(); } } catch (Exception $exc) { throw new Exception("Error al recalcular la clasificación", 1); } }
echo $form->errorSummary($model); ?> <?php echo $form->textFieldRow($model, 'nombre', array('class' => 'span5', 'maxlength' => 100)); ?> <?php echo $form->textAreaRow($model, 'sinopsis', array('rows' => 6, 'cols' => 50, 'class' => 'span8')); ?> <?php echo $form->dropDownListRow($model, 'categoria_id', CHtml::listData(Categoria::model()->findAll(), 'id', 'nombre'), array('prompt' => 'Seleccione una Categoria', 'class' => 'span5')); ?> <?php echo $form->dropDownListRow($model, 'clasificacion_id', CHtml::listData(Clasificacion::model()->findAll(), 'id', 'nombre'), array('prompt' => 'Seleccione una Clasificacion', 'class' => 'span5')); ?> <?php echo $form->dropDownListRow($model, 'estado', array('1' => 'Activo', '0' => 'Desactivado'), array('class' => 'span5', 'prompt' => 'Seleccione una Estado')); ?> <div class="form-actions"> <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType' => 'submit', 'type' => 'primary', 'label' => $model->isNewRecord ? 'Creaar' : 'Guardar')); ?> </div> <?php $this->endWidget();
<?php include '../header.php'; $clasificacion = new Clasificacion($_GET['/'], '', ''); $clasificacion->Eliminar();
$partido = $partidos->getCurrent(); $partido->setGolesLocal(-1); $partido->setGolesVisitante(-1); $partido->persist(); $actual = $partidos->iterate(); } $jornada->setEstado("false"); $jornada->persist(); } else { $errorModificar = true; } $vista = "menu"; include 'vistas/menu.php'; } else { if (isset($_POST["clasificacion"])) { $clasificacion = Clasificacion::generateClasificacion($liga); $clasificacion->sortByProperty("nombre", "s"); $clasificacion->sortByProperty("difG", "nr"); $clasificacion->sortByProperty("puntos", "nr"); $vista = "clasificacion"; include 'vistas/clasificacion.php'; } else { if (isset($_POST["menu"])) { $vista = "menu"; include 'vistas/menu.php'; } else { $vista = "menu"; include 'vistas/menu.php'; } } }
/** * Crea los emparejamientos para los equipos dados por parametro * * Dada una lista de id_equipos, genera unos emparejamientos con el codigo se sam. * Ej : calendario(array(1,2,6,7,8)); -> emaprejamientos para los equipos_id = 1,2,3,6,7,8 (deja fuera al 4 y 5) * Si no se pasan paritcipantes, coje todos los equipos que haya en la tabla Clasificacion. * * @param int[] $participantes id de los equipos participantes * @return int[][] */ private function calendario($participantes = null) { if ($participantes === null) { //devolver una lista con todos los id_equipo $i = 0; $participantes = array(); $consulta = Clasificacion::model()->findAll(); foreach ($consulta as $row) { $participantes[$i++] = (int) $row['equipos_id_equipo']; } } $N = count($participantes); $calendario = array(); //https://github.com/samuelmgalan/CalendarioLiga/blob/master/src/src/Calendario.java $cont = 0; $cont2 = $N - 2; for ($i = 0; $i < $N - 1; $i++) { for ($j = 0; $j < $N / 2; $j++) { $eq0 = $participantes[$cont++]; if ($cont == $N - 1) { $cont = 0; } if ($j == 0) { $eq1 = $participantes[$N - 1]; } else { $eq1 = $participantes[$cont2--]; if ($cont2 < 0) { $cont2 = $N - 2; } } //Elaboro la matriz final de enfrentamientos por jornada if ($j == 0 && $i % 2 == 0) { //primera vuelta $calendario[$i][$j][0] = $eq1; $calendario[$i][$j][1] = $eq0; //segunda vuelta $calendario[$i + $N - 1][$j][0] = $eq0; $calendario[$i + $N - 1][$j][1] = $eq1; } else { //primera vuelta $calendario[$i][$j][0] = $eq0; $calendario[$i][$j][1] = $eq1; //segunda vuelta $calendario[$i + $N - 1][$j][0] = $eq1; $calendario[$i + $N - 1][$j][1] = $eq0; } } } return $calendario; }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = Clasificacion::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
function Muestra() { include "../../lib/php/messageResources.php"; $INDEXIDIOMA = $_SESSION["idiomausuario"]; $clasificacion = new Clasificacion(); if (isset($_GET['c_id'])) { $clasificacion_id = $_GET['c_id']; $clasificacion->Load_Clasificacion($clasificacion_id); } else { header("Location: index.php"); } $I = new Interfaz("Usuarios:: Editar Usuario", true); ?> <style type="text/css"> <!-- .Estilo1 {color: #FF0000} --> </style> <script src="../../lib/js/jquery/jquery-1.3.2.js" type="text/javascript"></script> <script src="../../lib/js/validateForm.js" type="text/javascript"></script> <script src="js/validaform.js" type="text/javascript"></script> <br><br> <form name="form1" method="post" action=""> <table width="80%" align="center" cellpadding="4" cellspacing="4" border="0" bgcolor="#f4f4f4" style="padding-top: 20px;"> <tr> <td align="right"> </td> <td><strong><?php echo $LABELINDEX[$INDEXIDIOMA][636]; ?> </strong></td> </tr> <tr> <td align="right"> </td> <td> <input type="hidden" name="c_id" id="c_id" value="<?php echo $clasificacion_id; ?> " readonly="readonly" style="border-color:#FFFFFF" /> </td> </tr> <tr> <td align="right" width="30%"><?php echo $LABELINDEX[$INDEXIDIOMA][327]; ?> <span class="Estilo1">*</span>: </td> <td> <input type="text" name="nombre" id="nombre" size="70" value="<?php echo $clasificacion->Get_dato("c_nombre"); ?> "/> </td> </tr> <tr> <td align="right" width="30%"><?php echo $LABELINDEX[$INDEXIDIOMA][28]; ?> : </td> <td> <?php if ($clasificacion->Get_dato("c_estatus") == "0") { ?> <input type="checkbox" name="estatus" id="estatus"/> <?php } else { ?> <input type="checkbox" name="estatus" id="estatus" checked /> <?php } ?> </td> </tr> <tr> <td colspan="2"> </td></tr> <tr> <td colspan="2" align="center"> <input type="submit" value="<?php echo $LABELINDEX[$INDEXIDIOMA][345]; ?> " name="Actualizar" onclick="return validate(); "> <input type="submit" value="<?php echo $LABELINDEX[$INDEXIDIOMA][219]; ?> " name="Cancelar"> </td> </tr> </table> </form> <?php $I->Footer(); }
$busqueda_value = ""; if (isset($_GET["name_clasificacion"])) { $clasificacion_name = $_GET["name_clasificacion"]; $busqueda_value = "name_clasificacion=" . $clasificacion_name; } $I = new Interfaz("Clasificacion", true); $L = new Lista($busqueda_value); $L->Cabeceras($LABELINDEX[$INDEXIDIOMA][327]); // Nombre $L->Cabeceras($LABELINDEX[$INDEXIDIOMA][412]); // Estatus $L->Herramientas("E", "./index.php?mode=edit&c_id="); include "../../lib/php/mnu_toolbar.php"; clasificacion_toolbar(); $query = "SELECT c_nombre, if(c_estatus=1,'" . $LABELINDEX[$INDEXIDIOMA][348] . "','" . $LABELINDEX[$INDEXIDIOMA][349] . "') as status,c_id FROM clasificacion c WHERE c_nombre LIKE '%" . $clasificacion_name . "%' ORDER BY c_id"; $L->muestra_lista($query, 2, false, 2); $I->Footer(); break; case "new": require_once "clasificacion_new.php"; break; case "edit": require_once "clasificacion_edit.php"; break; case "delete": $clasificacion_id = $_GET["c_id"]; $clasificacion = new Clasificacion(); $clasificacion->Delete_Clasificacion($clasificacion_id); header("Location: index.php"); break; }