Ejemplo n.º 1
0
 public static function horario_parser($horarios)
 {
     if (is_null($horarios)) {
         return false;
     }
     $datos = array();
     $html = '';
     foreach ($horarios as $horario) {
         //Obtengo los datos de cada horario de emisión y lo asigno en el array $datos
         $datos[] = array('dia_semana' => $horario->dia_semana, 'tipo_emision_id' => $horario->tipoEmision->id, 'tipo_emision' => $horario->tipoEmision->nombre, 'hora_inicio' => $horario->hora_inicio, 'hora_fin' => $horario->hora_fin);
     }
     //Agrupo los datos por tipo de emisión y día
     usort($datos, "Horarios::ob_tipo_emision_dia");
     for ($i = 0; $i < count($datos); $i++) {
         //Separo los horarios según el tipo de emisión por arrays
         switch ($datos[$i]['tipo_emision_id']) {
             case 1:
                 $en_vivo[] = $datos[$i];
                 break;
             case 2:
                 $diferido[] = $datos[$i];
                 break;
             case 3:
                 $reemision[] = $datos[$i];
                 break;
         }
     }
     //Verifico si hay emisiones "en vivo" y genero el html antes que los demás
     if (isset($en_vivo)) {
         $html .= "En vivo ";
         $html .= Horarios::html_emision($en_vivo);
     }
     //Verifico si hay emisiones "en diferido" y genero el html después de "en vivo" y antes que la reemisión
     if (isset($diferido)) {
         $html .= Horarios::html_emision($diferido);
     }
     //Por último verifico las reemisiones y genero el html
     if (isset($reemision)) {
         if (strlen($html)) {
             $html .= ', ';
         }
         $html .= "Reemisión ";
         $html .= Horarios::html_emision($reemision);
     }
     //Quito la coma (,) final que genera automáticamente Horarios::html_emision() y pongo el punto final
     //$html = substr($html, 0, -2) . '.';
     $html .= '.';
     //Pongo todo el texto en minúsculas y dejo la primera letra de todo el texto en mayúscula
     $html = ucfirst(strtolower($html));
     //Retorno el html
     return $html;
 }