id_db = $id_db; $this->titulo = $titulo; $this->desc = $desc; $this->categoria = $categoria; $this->categoria_desc = $cat_desc; $this->color = $color; $this->fecha = fechaGuion($fecha); $this->todo_dia = $todo_dia; $this->hora_ini = $hora_ini; $this->hora_fin = $hora_fin; $this->inscripciones = $inscripciones; $this->editable = $editable; $this->periodo = $periodo; $this->fechasArr = array(); $this->perfilesArr = array(); } function addPerfil($perf){ $this->perfilesArr[] = array("id"=>$perf["CalendarioPerfil_id"], "desc"=>$perf["CalendarioPerfil_desc"]); } //Fecha normal function addFecha($fecha){ $fecha = fechaGuion($fecha); if(strtotime($fecha)>= strtotime($this->fecha))//solo si la fecha es mayor a la fecha inicial $this->fechasArr[] = array("fecha_orig"=> $fecha, "fecha"=> $fecha, "todo_dia"=>$this->todo_dia, "hora_ini"=>$this->hora_ini, "hora_fin"=>$this->hora_fin); } //Fechas modificadas function replaceFecha($fecha_orig, $fecha_new, $hora_ini, $hora_fin){//fecha_orig en formato yyyy-mm-dd hh:mm:ss $fecha_busca = explode(" ", $fecha_orig);//quita horas $fecha_busca[0] = fechaGuion($fecha_busca[0]); $fecha_new = fechaGuion($fecha_new); for($i=0; $i< count($this->fechasArr); $i++){ if($this->fechasArr[$i]["fecha_orig"] == $fecha_busca[0]){ $this->fechasArr[$i]["fecha"] = $fecha_new; $this->fechasArr[$i]["hora_ini"] = $hora_ini; $this->fechasArr[$i]["hora_fin"] = $hora_fin; break;//solo 1 por fecha } } } //Excepciones function removeFecha($fecha_busca){ $tmp = explode(" ", $fecha_busca);//quita horas $fecha_busca = fechaGuion($tmp[0]); for($i=0; $i< count($this->fechasArr); $i++){ if($this->fechasArr[$i]["fecha_orig"] == $fecha_busca){ array_splice($this->fechasArr, $i, 1); break; } } } function hasFecha($fecha){ $fecha = fechaGuion($fecha); foreach($this->fechasArr as $fechaArr){ if($fechaArr["fecha"] == $fecha) return true; } return false; } //Obtiene listado de fechas y cada una con la descripicón del evento. //Filtra las fechas generadas por el mes y el año function getEventList($mes, $anho){ $arr = array(); foreach($this->fechasArr as $fecha){ if(intval(date("n", strtotime($fecha["fecha"]))) == intval($mes) && intval(date("Y", strtotime($fecha["fecha"]))) == intval($anho) ){ $arr[] = array( "id_db"=>$this->id_db, "titulo"=>$this->titulo, "desc"=>nl2br($this->desc), "categoria"=>$this->categoria, "categoria_desc"=>$this->categoria_desc, "color"=>$this->color, "fechas_total"=> count($this->fechasArr), "fecha_orig"=> fechaSlash($fecha["fecha_orig"]), "fecha"=> fechaSlash($fecha["fecha"]), "dia"=>intval(date("j", strtotime($fecha["fecha"]))),//solo para pintarlo "todo_dia"=>$this->todo_dia, "hora_ini_orig"=> substr($fecha["hora_ini"],0,5), "hora_ini"=> substr($fecha["hora_ini"],0,5), "hora_fin"=>substr($fecha["hora_fin"],0,5), "inscripciones"=>$this->inscripciones, "editable"=>$this->editable, "periodo"=>$this->periodo, "perfiles"=>$this->perfilesArr, ); } } return $arr; } function getEventList_All($fecha_ini, $fecha_fin){ $arr = array(); foreach($this->fechasArr as $fecha){ if(strtotime($fecha["fecha"]) >= strtotime($fecha_ini) && strtotime($fecha["fecha"]) <= strtotime($fecha_fin)){ $arr[] = array( "id_db"=>$this->id_db, "titulo"=>$this->titulo, "desc"=>nl2br($this->desc), "categoria"=>$this->categoria, "categoria_desc"=>$this->categoria_desc, "color"=>$this->color, //"fechas_total"=> count($this->fechasArr), //"fecha_orig"=> fechaSlash($fecha["fecha_orig"]), "fecha"=> fechaSlash($fecha["fecha"]), //"dia"=>intval(date("j", strtotime($fecha["fecha"]))),//solo para pintarlo "todo_dia"=>$this->todo_dia, //"hora_ini_orig"=> substr($fecha["hora_ini"],0,5), "hora_ini"=> substr($fecha["hora_ini"],0,5), "hora_fin"=>substr($fecha["hora_fin"],0,5), "inscripciones"=>$this->inscripciones, "editable"=>$this->editable, "periodo"=>$this->periodo, "perfiles"=>$this->perfilesArr, ); } } return $arr; } }