function IntegridadFamilia() { $lang = $this->getLang(); $oFamilia = new Familia(); $IdFamilia = intval($this->get("IdFamilia")); $IdSubFamilia = intval($this->get("IdSubFamilia")); if (!$IdFamilia or !$IdSubFamilia) { $this->setFallo(_("Familia o subfamilia incorrecta")); return false; } //Si la familia no existe, no tiene sentido utilizarla. $sql = "SELECT Id FROM ges_familias WHERE IdFamilia='{$IdFamilia}' "; $row = queryrow($sql, "Existe la familia?"); if (!$row) { $this->setFallo(_("Familia incorrecta")); return false; } $sql = "SELECT Id FROM ges_subfamilias WHERE IdFamilia = '{$IdFamilia}' AND IdSubFamilia = '{$IdSubFamilia}'"; $row = queryrow($sql, 'Existe la subfamilia?'); if (!is_array($row)) { // //A peticion del cliente, se quiere que la gestion de subfamilias se autocorrija. //asi que haremos que el fallo aqui no sea fatal. $sql = "SELECT MIN(IdSubFamilia) as IdSubFamilia, SubFamilia\n\t\t\t\t\tFROM ges_subfamilias\n\t\t\t\t\tWHERE IdFamilia = '{$IdFamilia}'\n\t\t\t\t\tAND Eliminado = 0\n\t\t\t\t\tAND IdIdioma = '{$lang}'"; $row = queryrow($sql, "Intentamos un arreglo de subfamilia"); if (!$row or !$row["IdSubFamilia"]) { $this->setFallo(_("Subfamilia incorrectos")); return false; } $this->set("IdSubFamilia", $row["IdSubFamilia"], FORCE); return true; } if (!$oFamilia->LoadSub($row["Id"])) { $this->setFallo(_("Subfamilia incorrecta")); return false; } return true; }