Beispiel #1
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $horario = Horario::model()->findByPk($id);
     if (isset($_POST['Horario'])) {
         $horario->attributes = $_POST['Horario'];
         $horario->hora_inicio = date('Gi', strtotime($horario->hora_inicio));
         $horario->hora_fin = date('Gi', strtotime($horario->hora_fin));
         if ($horario->save()) {
             Yii::app()->user->setFlash('success', Horarios::getDiaSemana($horario->dia_semana) . ' ' . Horarios::hora($horario->hora_inicio) . ' guardado con éxito');
             $pgPrograma = PgPrograma::model()->with('pagina')->findByPk($horario->pg_programa_id);
             $this->redirect(array('programas/view', 'id' => $pgPrograma->pagina->micrositio_id));
         }
         //if($horario->save())
     }
     //if(isset($_POST['Horario']))
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     $this->render('modificar', array('model' => $horario));
 }
Beispiel #2
0
<?php

$this->pageTitle = 'Modificar horario ' . Horarios::getDiaSemana($model->dia_semana) . ' ' . Horarios::hora($model->hora_inicio);
$bc = array();
$bc['Padre'] = $this->createUrl('programas/view', array('id' => $model->pgPrograma->pagina->micrositio->id));
$bc[] = 'Editar';
$this->breadcrumbs = $bc;
?>
<div class="col-sm-12">
<?php 
echo $this->renderPartial('_form', array('model' => $model));
?>
</div>
Beispiel #3
0
<?php

$this->pageTitle = 'Modificar horario ' . Horarios::getDiaSemana($model->dia_semana) . ' ' . Horarios::hora($model->hora_inicio);
?>
<h1>Modificar horario <?php 
echo Horarios::getDiaSemana($model->dia_semana) . ' ' . Horarios::hora($model->hora_inicio) . ' a ' . Horarios::hora($model->hora_fin);
?>
</h1>

<?php 
echo $this->renderPartial('_form', array('model' => $model));
Beispiel #4
0
 public static function html_emision($emision)
 {
     $subitem = null;
     $html = '';
     $dias = '';
     //Ordeno por hora de inicio
     usort($emision, "Horarios::ob_hora_inicio");
     //Agrupo por horas
     $array_final = array();
     foreach ($emision as $e) {
         $hora = $e['hora_inicio'];
         $array_final[$hora][] = $e;
     }
     foreach ($array_final as $item) {
         //Este ciclo permite definir los días de la transmisión a una hora determinada
         foreach ($item as $subitem) {
             //Si es el primer día lo agrego limpio al html
             if ($subitem === reset($item)) {
                 $dias .= Horarios::getDiaSemana($subitem['dia_semana']) . ' ';
             }
             //Si es el segundo item y no hay más después, lo concateno con un "y" al inicio
             if ($subitem !== reset($item) && count($item) == 2) {
                 if ($subitem === end($item)) {
                     $dias .= ' y ' . Horarios::getDiaSemana($subitem['dia_semana']) . ' ';
                 }
             }
             //Si hay más de dos items
             if ($subitem !== reset($item) && count($item) > 2) {
                 $prev = prev($item);
                 //Si el item es contiguo lo concateno con una coma ", " (Por ejemplo, lunes, martes)
                 if ($subitem['dia_semana'] === $prev['dia_semana'] + 1) {
                     $dias .= ', ' . Horarios::getDiaSemana($subitem['dia_semana']) . ' ';
                 } else {
                     if ($subitem === end($item)) {
                         $dias .= ' a ' . Horarios::getDiaSemana($subitem['dia_semana']) . ' ';
                     }
                 }
             }
         }
         //Si no es el primer item, y tampoco el último agrego una coma para separarlo del anterior
         if ($item !== reset($array_final) && $item !== end($array_final)) {
             $html .= ', ';
         } else {
             if ($item === end($array_final) && $item !== reset($array_final)) {
                 $html .= ' y ';
             }
         }
         $html .= $dias;
         //Verifico si el patrón de los días de emisión se repite, (strpos)
         //por ejemplo lunes a viernes a las 4pm y lunes a viernes a las 8pm
         //en este caso se obviaría el segundo quedando lunes a viernes a las 4pm y a las 8pm.
         if ($subitem !== reset($item)) {
             $posicion_inicial = strpos($html, $dias);
             $posicion_final = strrpos($html, $dias);
             //Busco la primera y la última ocurrencia, si son diferentes es porque hay más de una
             //en cuyo caso obvio la segunda
             if ($posicion_inicial !== $posicion_final) {
                 $html = substr_replace($html, '', $posicion_final);
             }
             //También habría que mirar si son varios los que se repiten para poner el y o la coma (,)
         }
         $dias = '';
         //Limpio el html de días
         //Después de definir los días de la transmisión se pone la hora
         $html .= ' a la';
         //Si es entre la 1 y las 2, queda en singular (A la 1:30 pm)
         if ($subitem['hora_inicio'] >= 1300 && $subitem['hora_inicio'] < 1400) {
             $html .= ' ';
         } else {
             $html .= 's ';
         }
         //Concateno la hora de emisión formateada
         $html .= '<time>' . Horarios::hora($subitem['hora_inicio']) . '</time>';
     }
     return $html;
 }