X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/493cf2effdb418f10f2ae77cec0786c5cef0bbcc..5a7d316bd32d92dfdd72f118cd544e13a27b98cd:/lib/AI/Servicio.php?ds=inline diff --git a/lib/AI/Servicio.php b/lib/AI/Servicio.php index 9fb5e8c..eb39944 100644 --- a/lib/AI/Servicio.php +++ b/lib/AI/Servicio.php @@ -27,10 +27,7 @@ // $Id$ // -// +X2C includes require_once 'AI/DBTreeObject.php'; -// ~X2C - require_once 'AI/Error.php'; /** @@ -50,7 +47,6 @@ define('AI_SERVICIO_ORDEN_LONG_HIJOS', 1); */ define('AI_SERVICIO_ORDEN_LONG_NOMBRE', 2); -// +X2C Class 413 :AI_Servicio /** * Servicio. * @@ -128,30 +124,34 @@ class AI_Servicio extends AI_DBTreeObject { */ var $habilitado = true; - // ~X2C + /** + * Indica si debe abrirse en una ventana nueva. + * + * @var bool $ventana_nueva + * @access public + */ + var $ventana_nueva = false; - // +X2C Operation 465 /** * @param int $servicio ID del servicio. * * @return void * @access public */ - function AI_Servicio($servicio = 0) // ~X2C + function AI_Servicio($servicio = 0) { parent::AI_DBTreeObject($servicio, AI_SERVICIO_CONFFILE); } - // -X2C - // +X2C Operation 458 /** * @param DB $db DB donde guardar. - * @param bool $nuevo Si es true, se fuerza a guardar el Servicio como nuevo. + * @param bool $nuevo Si es true, se fuerza a guardar el Servicio como + * nuevo. * * @return PEAR_Error * @access public */ - function guardar($db, $nuevo = false) // ~X2C + function guardar($db, $nuevo = false) { $datos = array( 'servicio_padre' => intval($this->servicio_padre), @@ -162,26 +162,31 @@ class AI_Servicio extends AI_DBTreeObject { 'link_ayuda' => $this->link_ayuda, 'necesita_logueo' => $this->necesita_logueo ? 1 : 0, 'habilitado' => $this->habilitado ? 1 : 0, + 'ventana_nueva' => $this->ventana_nueva ? 1 : 0, ); $err = parent::guardar($db, $datos, $nuevo); if (PEAR::isError($err)) { return $err; } } - // -X2C - // +X2C Operation 539 /** - * Carga hijos de un servicio. Si hubo error devuelve un PEAR_Error, si no hubo error, devuleve un array de objetos (los hijos). + * Carga hijos de un servicio. + * Si hubo error devuelve un PEAR_Error, si no hubo error, devuleve un + * array de objetos (los hijos). * * @param mixed $db Base de datos o resultado a usar. - * @param bool $soloHabilitados Si es true, sólo trae los servicios habilitados. - * @param mixed $orden Indica el orden en que se deben traer los hijos. Puede ser AI_SERVICIO_ORDEN_CANT_HIJOS, AI_SERVICIO_ORDEN_LONG_NOMBRE o un campo arbitrario. + * @param bool $soloHabilitados Si es true, sólo trae los servicios + * habilitados. + * @param mixed $orden Indica el orden en que se deben traer los hijos. + * Puede ser AI_SERVICIO_ORDEN_CANT_HIJOS, + * AI_SERVICIO_ORDEN_LONG_NOMBRE o un campo + * arbitrario. * * @return mixed * @access public */ - function cargarHijos($db, $soloHabilitados = true, $orden = false) // ~X2C + function cargarHijos($db, $soloHabilitados = true, $orden = false) { if (!is_a($db, 'db_result')) { if (is_int($orden)) { @@ -190,7 +195,10 @@ class AI_Servicio extends AI_DBTreeObject { $id = intval($this->$id_field); if ($orden === AI_SERVICIO_ORDEN_LONG_HIJOS) { $query = " - SELECT A.*, SUM(CEIL(LENGTH(B.nombre) / 22)) as RENGLONES + SELECT + A.*, + count(1) as COUNT, + SUM(CEIL(LENGTH(B.nombre) / 22)) as RENGLONES FROM {$this->conf['base']}.{$this->conf['tabla']} AS A, {$this->conf['base']}.{$this->conf['tabla']} AS B WHERE A.$id_field = B.$id_padre @@ -198,7 +206,9 @@ class AI_Servicio extends AI_DBTreeObject { if ($soloHabilitados) { $query .= " AND A.{$this->conf['habilitado']} = 1"; } - $query .= " GROUP BY A.$id_field ORDER BY RENGLONES DESC"; + $query .= " + GROUP BY A.$id_field + ORDER BY RENGLONES DESC, COUNT DESC, A.nombre"; } elseif ($orden === AI_SERVICIO_ORDEN_LONG_NOMBRE) { $query = " SELECT * @@ -221,8 +231,7 @@ class AI_Servicio extends AI_DBTreeObject { } return parent::cargarHijos($db, $soloHabilitados, $orden); } - // -X2C -} // -X2C Class :AI_Servicio +} ?> \ No newline at end of file