id_db = $id_db; $this->titulo = $titulo; $this->desc = $desc; $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(); $this->atributosArr = array(); $this->insigniasTotal = 0; $this->inscripcionesArr = array(); } function addInsignia($id, $tipo, $tipo_desc, $tipo_color, $puesto, $puesto_desc, $tiene_evidencia, $evidencia, $insc_ini, $insc_fin){ $this->inscripciones = ($insc_ini!="")?true:false; $this->insigniaArr = array( "insignia_id"=>$id, "tipo"=>$tipo, "tipo_desc"=>$tipo_desc, "tipo_color"=>$tipo_color, "puesto"=>$puesto, "puesto_desc"=>$puesto_desc, "tiene_evidencia"=>$tiene_evidencia, "evidencia"=>$evidencia, "insc_ini"=>fechaSlash($insc_ini), "insc_fin"=>date("d/m/Y", strtotime($insc_fin)), "insc_hora_fin"=>date("H:i", strtotime($insc_fin)), ); } function addPerfil($perf_rs){ $this->perfilesArr[] = array("id"=>$perf_rs["CalendarioPerfil_id"], "desc"=>$perf_rs["CalendarioPerfil_desc"]); } function addAtributo($atr_rs){ $this->atributosArr[] = array("id"=>$atr_rs["AtributoEgresoGeneral_id"], "nivel"=>$atr_rs["AtributoNivel_id"]); } function addTotalInsignias($total){ $this->insigniasTotal = $total; } function addInscripciones($fechaI, $fechaF, $evidencias){ $this->inscripcionesArr = array( "fecha_inicio"=>fechaSlash($fechaI), "fecha_final"=>fechaSlash($fechaF), "evidencia"=>$evidencias ); } //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), "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, "insignia"=>$this->insigniaArr, "atributos"=>$this->atributosArr, "insignias_total"=>$this->insigniasTotal, ); } } 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), //"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, "insignia"=>$this->insigniaArr, "atributos"=>$this->atributosArr, "insignias_total"=>$this->insigniasTotal, ); } } return $arr; } }