protected function loadComponentesCurricularesForMatricula($matriculaId)
 {
     $componentesCurriculares = array();
     $componenteCurricularId = $this->getRequest()->componente_curricular_id;
     $_componentesCurriculares = App_Model_IedFinder::getComponentesPorMatricula($matriculaId, null, null, $componenteCurricularId);
     foreach ($_componentesCurriculares as $_componente) {
         $componente = array();
         $componente['id'] = $_componente->get('id');
         $componente['nome'] = $this->safeString(strtoupper($_componente->get('nome')), false);
         $componente['nota_atual'] = $this->getNotaAtual($etapa = null, $componente['id']);
         $componente['nota_exame'] = $this->getNotaExame($componente['id']);
         $componente['falta_atual'] = $this->getFaltaAtual($etapa = null, $componente['id']);
         $componente['parecer_atual'] = $this->getParecerAtual($componente['id']);
         $componente['situacao'] = $this->getSituacaoMatricula($componente['id']);
         $componente['nota_necessaria_exame'] = $componente['situacao'] == 'Em Exame' ? $this->getNotaNecessariaExame($componente['id']) : null;
         if (!empty($componente['nota_necessaria_exame'])) {
             $this->createOrUpdateNotaExame($matriculaId, $componente['id'], $componente['nota_necessaria_exame']);
         } else {
             $this->deleteNotaExame($matriculaId, $componente['id']);
         }
         //buscando pela área do conhecimento
         $area = $this->getAreaConhecimento($componente['id']);
         $nomeArea = ($area->secao != '' ? $area->secao . ' - ' : '') . $area->nome;
         $componente['area_id'] = $area->id;
         $componente['area_nome'] = $this->safeString(strtoupper($nomeArea), false);
         //criando chave para ordenamento temporário
         //área de conhecimento + componente curricular
         $componente['my_order'] = Portabilis_String_Utils::unaccent(strtoupper($nomeArea)) . Portabilis_String_Utils::unaccent(strtoupper($_componente->get('nome')));
         $componentesCurriculares[] = $componente;
     }
     //ordenando pela chave temporária criada
     $componentesCurriculares = Portabilis_Array_Utils::sortByKey('my_order', $componentesCurriculares);
     //removendo chave temporária
     $len = count($componentesCurriculares);
     for ($i = 0; $i < $len; $i++) {
         unset($componentesCurriculares[$i]['my_order']);
     }
     return $componentesCurriculares;
 }
Beispiel #2
0
 public static function _valueSorter($a, $b)
 {
     if (is_string($a)) {
         $a = Portabilis_String_Utils::unaccent($a);
     }
     if (is_string($b)) {
         $b = Portabilis_String_Utils::unaccent($b);
     }
     if ($a == $b) {
         return 0;
     }
     return $a < $b ? -1 : 1;
 }