+ * @param DB $db DB donde guardar.
+ *
+ * @return PEAR_Error
+ * @access public
+ */
+ function guardar($db) // ~X2C
+ {
+ $servicio = intval($this->servicio);
+ $where = '';
+ $datos = array(
+ 'servicio_padre' => intval($this->servicio_padre),
+ 'nombre' => $this->nombre,
+ 'descripcion' => $this->descripcion,
+ 'icono' => $this->icono,
+ 'link' => $this->link,
+ 'link_ayuda' => $this->link_ayuda,
+ 'necesita_logueo' => $this->necesita_logueo ? 1 : 0,
+ 'habilitado' => $this->habilitado ? 1 : 0,
+ );
+ if ($servicio) {
+ $accion = DB_AUTOQUERY_UPDATE;
+ $where = "servicio = $servicio";
+ } else {
+ $accion = DB_AUTOQUERY_INSERT;
+ $servicio = $db->nextId('servicio');
+ if (DB::isError($servicio)) {
+ return $servicio;
+ }
+ // Asigno el nuevo id de servicio.
+ $this->servicio = $servicio;
+ $datos['servicio'] = $servicio;
+ }
+ $res = $db->autoExecute('servicio', $datos, $accion, $where);
+ if (DB::isError($res)) {
+ return $res;
+ }
+ return true;
+ }
+ // -X2C
+
+ // +X2C Operation 456
+ /**
+ * @param DB $db DB de donde borrar.