/** * 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í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); }