Esempio n. 1
0
 /** 
  * lista de pruebas abiertas.
  * As select but not sort criteria and show only open contests. Used in combogrids
  * @param {object} $am AuthManager object
  */
 function enumerate($am = null)
 {
     $this->myLogger->enter();
     // retrieve number of inscriptions for this contest
     if ($am == null) {
         $am = new AuthManager("Pruebas::enumerate");
     }
     $limit = $am->getUserLimit();
     $inscritos = $this->__select("Prueba, count(*) AS Inscritos", "Inscripciones", "1 GROUP BY Prueba", "", "");
     // evaluate search criteria for query
     $q = http_request("q", "s", null);
     $where = "(Pruebas.Club=Clubes.ID) AND ( Pruebas.Cerrada=0 ) ";
     if ($q !== "") {
         $where = "{$where} AND ( (Pruebas.Nombre LIKE '%{$q}%' ) OR (Clubes.Nombre LIKE '%{$q}%') OR (Pruebas.Observaciones LIKE '%{$q}%') )";
     }
     // retrieve result from parent __select() call
     $result = $this->__select("Pruebas.ID AS ID, Pruebas.Nombre AS Nombre, Pruebas.Club AS Club,Clubes.Nombre AS NombreClub,\n\t\t\t\t\t\t\tPruebas.Ubicacion AS Ubicacion, Pruebas.Triptico AS Triptico, Pruebas.Cartel AS Cartel, \n\t\t\t\t\t\t\tPruebas.RSCE AS RSCE, Pruebas.Selectiva AS Selectiva, Pruebas.Cerrada AS Cerrada,\n\t\t\t\t\t\t\tPruebas.Observaciones AS Observaciones, {$limit} as UserLimit", "Pruebas,Clubes", $where, "ID DESC", "");
     // parse result and add inscriptions count
     foreach ($result['rows'] as &$item) {
         // pass by reference
         $item['Inscritos'] = 0;
         foreach ($inscritos['rows'] as $data) {
             if ($data['Prueba'] == $item['ID']) {
                 $item['Inscritos'] = $data['Inscritos'];
             }
         }
     }
     // return composed array
     $this->myLogger->leave();
     return $result;
 }