Ejemplo n.º 1
0
 /**
  * Buscar($activa, $limit, $order, $order_by, $query, $start)
  *
  * Mostrar todas la empresas en el sistema. Por default no se mostraran las empresas ni sucursales inactivas. 
  *
  * @author Juan Manuel Garc&iacute;a Carmona <*****@*****.**>
  * @param activa bool Verdadero para mostrar solo las empresas activas. En caso de false, se mostraran ambas.
  * @param limit string Indica hasta que registro se desea obtener a partir del conjunto de resultados productos de la bsqueda.
  * @param order string Indica si se ordenan los registros de manera Ascendente ASC, o descendente DESC.
  * @param order_by string Indica por que campo se ordenan los resultados.
  * @param query string Valor que se buscara en la consulta
  * @param start string Indica desde que registro se desea obtener a partir del conjunto de resultados productos de la bsqueda.
  * @return resultados json Arreglo de objetos que contendr las empresas de la instancia
  * @return numero_de_resultados int 
  **/
 public static function Buscar($activa = false, $limit = null, $order = null, $order_by = null, $query = null, $start = null)
 {
     if ($activa !== NULL && is_bool($activa) === false) {
         Logger::error("Buscar() verifique el valor especificado en activa, se esperaba boolean, se encontro : (" . gettype($activa) . ") {$activa}");
         return array("success" => false, "reason" => "Buscar() verifique el valor especificado en activa, se esperaba boolean, se encontro : (" . gettype($activa) . ") {$activa}");
     }
     if ($order !== NULL && !($order === "ASC" || $order === "DESC")) {
         Logger::error("Buscar() verifique el valor especificado en order, se esperaba ASC || DESC, se encontro : (" . gettype($order) . ") {$order}");
         return array("success" => false, "reason" => "Buscar() verifique el valor especificado en order, se esperaba ASC || DESC, se encontro : (" . gettype($order) . ") {$order}");
     }
     if ($order_by === NULL) {
         $order_by = "razon_social";
     }
     if ($limit !== NULL && !(is_numeric($limit) && $limit >= 0)) {
         Logger::error("Buscar() verifique el valor especificado en limit, se esperaba un int >= 0, se encontro : (" . gettype($limit) . ") {$limit}");
         return array("success" => false, "reason" => "Buscar() verifique el valor especificado en limit, se esperaba un int >= 0, se encontro : (" . gettype($limit) . ") {$limit}");
     }
     if ($start !== NULL && !(is_numeric($start) && $start >= 0)) {
         Logger::error("Buscar() verifique el valor especificado en start, se esperaba un int >= 0, se encontro : (" . gettype($start) . ") {$start}");
         return array("success" => false, "reason" => "Buscar() verifique el valor especificado en start, se esperaba un int >= 0, se encontro : (" . gettype($start) . ") {$start}");
     }
     if ($start !== NULL && $limit === NULL) {
         Logger::error("Buscar() esta especificando un valor de start, pero no especifica un limit, solo el valor limit se puede usar sin start.");
         return array("success" => false, "reason" => "Buscar() esta especificando un valor de start, pero no especifica un limit, solo el valor limit se puede usar sin start.");
     }
     if (!($start === NULL && $limit === NULL) && $start > $limit) {
         Logger::error("Buscar() el valor de start debe ser <= que el valor de limit, se encontro start = {$start}, limit = {$limit}");
         return array("success" => false, "reason" => "Buscar() el valor de start debe ser <= que el valor de limit, se encontro start = {$start}, limit = {$limit}");
     }
     $empresas = EmpresaDAO::buscar($activa, $limit, $order, $order_by, $query, $start);
     return array("success" => true, "numero_de_resultados" => count($empresas), "resultados" => $empresas);
 }