} $rub = new rubriques($id_rub); $rub->num_budget = $id_bud; $rub->num_parent = $id_parent; $rub->libelle = $libelle; $rub->commentaires = $comment; if (isset($mnt)) { $rub->montant = $mnt; } $rub->num_cp_compta = $ncp; if (is_array($user_aut)) { $rub->autorisations = ' ' . implode(' ', $user_aut) . ' '; } else { $rub->autorisations = ''; } $rub->save(); $bud = new budgets($id_bud); if ($bud->type_budget == TYP_BUD_RUB) { //màj des rubriques supérieures rubriques::maj($id_parent, TRUE); //recalcul du montant global de budget budgets::calcMontant($id_bud); } else { //màj des rubriques supérieures sans recalcul rubriques::maj($id_parent, FALSE); } if ($id_parent) { $rub_parent = new rubriques($id_parent); show_rub_form($id_bud, $id_parent, $rub_parent->num_parent); } else { show_budg_form($id_bibli, $id_bud);
static function maj($num_parent = 0, $calcul = TRUE) { global $dbh; if ($calcul) { if ($num_parent) { $q = "select sum(montant) from rubriques where num_parent = '" . $num_parent . "' "; $r = mysql_query($q, $dbh); $total = mysql_result($r, 0, 0); $parent = new rubriques($num_parent); $parent->montant = $total; $parent->num_cp_compta = ''; $parent->autorisations = ''; $parent->save(); rubriques::maj($parent->num_parent); } } else { if ($num_parent) { $parent = new rubriques($num_parent); $parent->num_cp_compta = ''; $parent->autorisations = ''; $parent->save(); rubriques::maj($parent->num_parent, FALSE); } } }
static function duplicate($id_budget = 0) { global $dbh; $new_bud = new budgets($id_budget); $new_bud->id_budget = 0; $lib = $new_bud->libelle . '_'; $l_lib = strlen($lib); $q = "select if(max(substring(libelle, " . $l_lib . "+1)) is null, 1, max(substring(libelle, " . $l_lib . "+1))+1) from budgets "; $q .= "where substring(libelle, 1, " . $l_lib . ") = '" . addslashes($lib) . "' "; $q .= "and substring(libelle, " . $l_lib . "+1) regexp '^[0-9]+\$' "; $r = mysql_query($q, $dbh); $n = mysql_result($r, 0, 0); $new_bud->libelle = $lib . $n; $new_bud->statut = STA_BUD_PRE; $new_bud->save(); $id_new_bud = $new_bud->id_budget; $q = budgets::listAllRubriques($id_budget); $r = mysql_query($q, $dbh); $tab_p = array(); while ($obj = mysql_fetch_object($r)) { $new_rub = new rubriques($obj->id_rubrique); $new_rub->num_budget = $id_new_bud; $new_rub->id_rubrique = 0; if ($obj->num_parent) { $new_rub->num_parent = $tab_p[$obj->num_parent]; } $new_rub->save(); $id_new_rub = $new_rub->id_rubrique; $tab_p[$obj->id_rubrique] = $id_new_rub; } return $id_new_bud; }