97 |
} else { // Si mode modification ou suppression |
} else { // Si mode modification ou suppression |
98 |
// Clause where en fonction du type de la cle primaire |
// Clause where en fonction du type de la cle primaire |
99 |
if ($this->typeCle == "A") { |
if ($this->typeCle == "A") { |
100 |
$sql .= " where ".$this->clePrimaire." like '".$id."' "; |
$sql .= " where ".$this->table.".".$this->clePrimaire." like '".$id."' "; |
101 |
} else { |
} else { |
102 |
$sql .= " where ".$this->table.".".$this->clePrimaire." = ".$id." "; |
$sql .= " where ".$this->table.".".$this->clePrimaire." = ".$id." "; |
103 |
} |
} |
224 |
$this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE); |
$this->addToLog("ajouter() - end", EXTRA_VERBOSE_MODE); |
225 |
} |
} |
226 |
|
|
|
|
|
|
/** |
|
|
* |
|
|
* @param array $val |
|
|
* @param object $db Objet de connexion DB |
|
|
*/ |
|
|
function verifierAjout($val = array(), &$db = NULL) { |
|
|
|
|
|
// Verifier [verify] |
|
|
// la cle primaire est obligatoire |
|
|
// [primary key is compulsory] |
|
|
if ($this->valF[$this->clePrimaire] == "") { |
|
|
// |
|
|
$this->correct = false; |
|
|
// |
|
|
$this->addToMessage("<br/>"); |
|
|
$this->addToMessage( _("L'\"identifiant\" est obligatoire")." "); |
|
|
$this->addToMessage("[ "._($this->clePrimaire)." ]"); |
|
|
} |
|
|
if ($this->typeCle == "A") { |
|
|
$sql = "select count(*) from ".DB_PREFIXE.$this->table." "; |
|
|
$sql .= "where ".$this->clePrimaire."='".$this->valF[$this->clePrimaire]."' "; |
|
|
$nb = $db->getone($sql); |
|
|
$this->addToLog("verifierAjout(): db->getone(\"".$sql."\");", VERBOSE_MODE); |
|
|
if (database::isError($nb)) { |
|
|
$this->erreur_db($nb->getDebugInfo(), $nb->getMessage(), ''); |
|
|
}else{ |
|
|
if ($nb > 0) { |
|
|
$this->correct = false; |
|
|
$this->addToMessage($nb." "); |
|
|
$this->addToMessage( _("cle primaire existante")); |
|
|
$this->addToMessage(" ".$this->table."<br />"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
227 |
/** |
/** |
228 |
* Cette methode permet d'executer la modification (MODE 'update') de |
* Cette methode permet d'executer la modification (MODE 'update') de |
229 |
* l'objet dans la base de donnees. |
* l'objet dans la base de donnees. |
606 |
return $date->format('d/m/Y'); |
return $date->format('d/m/Y'); |
607 |
} |
} |
608 |
|
|
609 |
|
|
610 |
|
function init_select(&$form = null, &$db = null, $maj, $debug, $field, $sql, |
611 |
|
$sql_by_id, $om_validite = false) { |
612 |
|
|
613 |
|
if ($maj < 2) { |
614 |
|
|
615 |
|
$contenu = array(); |
616 |
|
$res = $db->query($sql); |
617 |
|
|
618 |
|
// logger |
619 |
|
$this->addToLog("setSelect()[gen/obj]: db->query(\"".$sql."\");", |
620 |
|
VERBOSE_MODE); |
621 |
|
|
622 |
|
// verification d'une eventuelle erreur |
623 |
|
if (database::isError($res)) { |
624 |
|
die($res->getMessage().$sql); |
625 |
|
} else { |
626 |
|
|
627 |
|
if ($debug == 1) { |
628 |
|
echo ' la requete '.$sql.' est executee'; |
629 |
|
echo "<br />"; |
630 |
|
} |
631 |
|
|
632 |
|
$contenu[0][0] = ''; |
633 |
|
$contenu[1][0] = _('choisir')." "._($field); |
634 |
|
|
635 |
|
$k=1; |
636 |
|
while($row =& $res->fetchRow()){ |
637 |
|
$contenu[0][$k] = $row[0]; |
638 |
|
$contenu[1][$k] = $row[1]; |
639 |
|
$k++; |
640 |
|
} |
641 |
|
|
642 |
|
// gestion des objets a date de validite |
643 |
|
if ($om_validite == true) { |
644 |
|
|
645 |
|
// ajout de la valeur manquante a $contenu si necessaire |
646 |
|
if ($maj == 1) { |
647 |
|
|
648 |
|
if (!in_array($this->form->val[$field], $contenu[0])) { |
649 |
|
|
650 |
|
// |
651 |
|
$this->getSelectOldValue($form, $maj, $db, $contenu, |
652 |
|
$sql_by_id, $field); |
653 |
|
} else { |
654 |
|
|
655 |
|
$empty = true; |
656 |
|
foreach ($this->form->val as $f => $value) { |
657 |
|
if (!empty($value)) { |
658 |
|
$empty = false; |
659 |
|
} |
660 |
|
} |
661 |
|
|
662 |
|
// |
663 |
|
if ($empty == true and |
664 |
|
$_POST[$field] != '') { |
665 |
|
|
666 |
|
$this->getSelectOldValue($form, $maj, $db, |
667 |
|
$contenu, $sql_by_id, |
668 |
|
$field, |
669 |
|
$_POST[$field]); |
670 |
|
} |
671 |
|
} |
672 |
|
} |
673 |
|
} |
674 |
|
|
675 |
|
$form->setSelect($field, $contenu); |
676 |
|
} |
677 |
|
} |
678 |
|
|
679 |
|
if ($maj == 2 or $maj == 3) { |
680 |
|
|
681 |
|
$contenu[0][0] = ''; |
682 |
|
$contenu[1][0] = ''; |
683 |
|
|
684 |
|
if (isset($this->form->val[$field]) and |
685 |
|
!empty($this->form->val[$field]) and $sql_by_id) { |
686 |
|
|
687 |
|
// ajout de l'identifiant recherche a la requete |
688 |
|
$sql_by_id = str_replace('<idx>', $this->form->val[$field], |
689 |
|
$sql_by_id); |
690 |
|
|
691 |
|
// execution |
692 |
|
$result = $db->query($sql_by_id); |
693 |
|
|
694 |
|
// logger |
695 |
|
$this->addToLog("setSelect()[gen/obj]: db->query(".$sql_by_id.");", |
696 |
|
VERBOSE_MODE); |
697 |
|
|
698 |
|
if (database::isError($result)) { |
699 |
|
die($result->getMessage().$sql_by_id); |
700 |
|
} |
701 |
|
|
702 |
|
$row =& $result->fetchRow(); |
703 |
|
$contenu[0][0] = $row[0]; |
704 |
|
$contenu[1][0] = $row[1]; |
705 |
|
|
706 |
|
$k=1; |
707 |
|
while($row =& $result->fetchRow()){ |
708 |
|
$contenu[0][$k] = $row[0]; |
709 |
|
$contenu[1][$k] = $row[1]; |
710 |
|
$k++; |
711 |
|
} |
712 |
|
} |
713 |
|
|
714 |
|
$form->setSelect($field, $contenu); |
715 |
|
} |
716 |
|
} |
717 |
} |
} |
718 |
|
|
719 |
?> |
?> |