function getFechaDeAviso($periocidad = false, $fecha = false, $periodoInit = false, $periodoEnd = false) { $xF = new cFecha(); $dias = explode(",", strtoupper($this->mDiasDeAviso)); $diasSem = $xF->getDiasDeSemanaInArray(); $periocidad = $periocidad == false ? $this->getPeriocidadPref() : $periocidad; $fecha = $fecha == false ? fechasys() : $fecha; $result = null; $items = 1; foreach ($diasSem as $numero => $nombre) { /*if(isset($dias[$nombre]) ){ unset($dias[$nombre]); $dias[$numero] }*/ } foreach ($dias as $id => $dia) { } foreach ($dias as $id => $dia) { //limpiar if ($periocidad != CREDITO_TIPO_PERIOCIDAD_SEMANAL) { foreach ($diasSem as $numero => $nombre) { if ($dia == $nombre) { unset($dias[$id]); } } if (setNoMenorQueCero($dia) > $xF->getDiasDelMes() or setNoMenorQueCero($dia) == 0) { unset($dias[$id]); } switch ($periocidad) { case CREDITO_TIPO_PERIOCIDAD_DECENAL: if ($id > 3) { unset($dias[$id]); } break; case CREDITO_TIPO_PERIOCIDAD_CATORCENAL: if ($id > 2) { unset($dias[$id]); } break; case CREDITO_TIPO_PERIOCIDAD_QUINCENAL: if ($id > 2) { unset($dias[$id]); } break; case CREDITO_TIPO_PERIOCIDAD_MENSUAL: if ($id > 1) { unset($dias[$id]); } break; } } else { //convertir dias foreach ($diasSem as $numero => $nombre) { if ($dia == $nombre) { $dias[$id] = $numero; } } if (setNoMenorQueCero($dia) > 7 or setNoMenorQueCero($dia) == 0) { unset($dias[$id]); } if ($id > 1) { unset($dias[$id]); } } } //$items = count($dias); //encontrar el periodo cero switch ($periocidad) { case CREDITO_TIPO_PERIOCIDAD_DECENAL: break; case CREDITO_TIPO_PERIOCIDAD_CATORCENAL: break; case CREDITO_TIPO_PERIOCIDAD_QUINCENAL: break; case CREDITO_TIPO_PERIOCIDAD_MENSUAL: $xF1 = new cFecha(0, $fecha); $result = $xF1->anno() . "-" . $xF1->mes() . "-" . $dias[0]; break; case CREDITO_TIPO_PERIOCIDAD_SEMANAL: //$fechaInicial = $xF->setFechaPorSemana(); $xF1 = new cFecha(0, $fecha); $buscar = 1; foreach ($dias as $id => $cnt) { $buscar = $cnt; } $semana = date("W", $xF1->getInt()); $result = $xF1->setFechaPorSemana($semana, $buscar); /* $first_day_of_week = date('m-d-Y', strtotime('Last Monday', time())); $last_day_of_week = date('m-d-Y', strtotime('Next Sunday', time())); */ break; } return $result; }