/**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Programacion();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Programacion'])) {
         $model->attributes = $_POST['Programacion'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
 public function editpartido_post($codcampeonato, $codtorneo, $codfixture)
 {
     $codEscenario = Input::get('escenario');
     $fixture = Fixture::find($codfixture);
     $equipo1 = $fixture->codEquipo1;
     $nombre1 = Equipo::find($equipo1)->nombre;
     $nombre1 = substr($nombre1, 0, 3);
     $equipo2 = $fixture->codEquipo2;
     $nombre2 = Equipo::find($equipo2)->nombre;
     $nombre2 = substr($nombre2, 0, 3);
     $nrofecha = $fixture->nroFecha;
     $horaincio = $fixture->hora;
     $hora = substr($horaincio, 0, 2);
     $min = substr($horaincio, 3, 2);
     $horaI = (int) $hora;
     $minI = (int) $min;
     $horaI = $horaI + 1;
     $siguiente = $horaI . ":" . $minI;
     $fecha = DB::table('tfecha')->where('nroFecha', '=', $nrofecha)->where('codRueda', '=', $codtorneo)->first();
     $nro = DB::table('tprogramacion')->count();
     $idfecha = $fecha->idFecha;
     $cop = "PRO" . $idfecha . ($nro + 1);
     $programacion = new Programacion();
     $programacion->codProgramacion = $cop;
     $programacion->idFecha = $idfecha;
     $programacion->diaPartido = $fecha->diaFecha;
     $programacion->nroPartido = $fixture->nroPartido;
     $programacion->codEscenario = $codEscenario;
     $programacion->save();
     $partido = new Partido();
     $cP = "PA" . $nombre1 . $nombre2;
     $partido->codPartido = $cP;
     $partido->codProgramacion = $cop;
     $partido->horaInicio = $horaincio;
     $partido->horaFin = $siguiente;
     $partido->tipoPartido = "normal";
     $partido->save();
     return Redirect::to('/fecha/edit/' . $codcampeonato . '/' . $codtorneo . '/' . $fecha->nroFecha);
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCrear()
 {
     date_default_timezone_set('America/Bogota');
     setlocale(LC_ALL, 'es_ES.UTF-8');
     $programacion = new Programacion();
     if (isset($_POST['Programacion'])) {
         $programacion->attributes = $_POST['Programacion'];
         date_default_timezone_set('America/Bogota');
         setlocale(LC_ALL, 'es_ES.UTF-8');
         $programacion->hora_inicio = strtotime($programacion->hora_inicio);
         $programacion->hora_fin = strtotime($programacion->hora_fin);
         if ($programacion->save()) {
             Yii::app()->user->setFlash('success', 'Programación ' . $programacion->micrositio->nombre . ' guardada con éxito');
             $this->redirect('index');
         }
     }
     //if(isset($_POST['Programacion']))
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     $this->render('crear', array('model' => $programacion));
 }
 public function run($args)
 {
     $horarios = Horario::model()->with('pgPrograma')->findAll(array('order' => 'dia_semana ASC, hora_inicio ASC', 'condition' => 'pgPrograma.estado = 2'));
     foreach ($horarios as $horario) {
         $pagina = Pagina::model()->findByPk($horario->pgPrograma->pagina_id);
         $micrositio_id = $pagina->micrositio_id;
         $tipo_emision_id = $horario->tipo_emision_id;
         $dia_semana = $horario->dia_semana;
         $hora_inicio = $horario->hora_inicio;
         $hora_fin = $horario->hora_fin;
         $estado = 1;
         date_default_timezone_set('America/Bogota');
         setlocale(LC_ALL, 'es_ES.UTF-8');
         $sts = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
         // set current date
         // parse about any English textual datetime description into a Unix timestamp
         $ts = $sts;
         // calculate the number of days since Monday
         $dow = date('w', $ts);
         $offset = $dow - 1;
         if ($offset < 0) {
             $offset = 6;
         }
         // calculate timestamp for the Monday
         $ts = $ts - $offset * 86400;
         $semana = array();
         // loop from Monday till Sunday
         for ($i = 0; $i < 7; $i++, $ts += 86400) {
             $semana[] = $ts;
         }
         $hora_inicio = $semana[$dia_semana - 1] + Horarios::hora_a_timestamp($hora_inicio);
         $hora_fin = $semana[$dia_semana - 1] + Horarios::hora_a_timestamp($hora_fin);
         /* PILAS AQUÍ, FESTIVO /**/
         $tts = mktime(0, 0, 0, date('m', $hora_inicio), date('d', $hora_inicio), date('Y', $hora_inicio));
         if ($tts == mktime(0, 0, 0, 3, 23, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 4, 2, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 4, 3, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 5, 1, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 5, 18, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 6, 8, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 6, 15, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 6, 29, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 7, 20, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 8, 7, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 8, 17, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 10, 12, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 11, 2, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 11, 16, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 12, 8, date('Y'))) {
             continue;
         }
         if ($tts == mktime(0, 0, 0, 12, 25, date('Y'))) {
             continue;
         }
         $p = new Programacion();
         if (!$p->exists(array('condition' => 'hora_inicio=' . $hora_inicio . ' AND hora_fin=' . $hora_fin . ' AND estado=1'))) {
             $p->micrositio_id = $micrositio_id;
             $p->hora_inicio = $hora_inicio;
             $p->hora_fin = $hora_fin;
             $p->tipo_emision_id = $tipo_emision_id;
             $p->estado = $estado;
             $p->save();
             if ($p) {
                 echo '+ Guardado ' . $pagina->nombre . ' ' . $hora_inicio . '<br />' . "\r\n";
             }
         } else {
             echo '- Existía ' . $pagina->nombre . '<br />' . "\r\n";
         }
     }
     return 0;
 }