oriauth_id = $id; $this->getData(); } else { $this->oriauth_id = 0; $this->getData(); } } /* --------------------------------------------------------------- getData() : récupération des propriétés --------------------------------------------------------------- */ function getData() { global $dbh; if(!$this->oriauth_id) return; /* récupération des informations de l'origine de l'autorité */ $requete = 'SELECT id_origin_authorities, origin_authorities_name, origin_authorities_country, origin_authorities_diffusible FROM origin_authorities WHERE id_origin_authorities='.$this->oriauth_id.' '; $result = @mysql_query($requete, $dbh); if(!mysql_num_rows($result)) return; $data = mysql_fetch_object($result); $this->oriauth_nom = $data->origin_authorities_name; $this->oriauth_pays = $data->origin_authorities_country; $this->oriauth_diffusion = $data->origin_authorities_diffusible; } // --------------------------------------------------------------- // import() : import d'une origine d'autorité // --------------------------------------------------------------- function import($data) { // cette méthode prend en entrée un tableau constitué des informations suivantes : // $data['nom'] // $data['pays'] // $data['diffusion'] global $dbh; // check sur le type de la variable passée en paramètre if(!sizeof($data) || !is_array($data)) { // si ce n'est pas un tableau ou un tableau vide, on retourne 0 return 0; } // check sur les éléments du tableau $long_maxi = mysql_field_len(mysql_query("SELECT origin_authorities_name FROM origin_authorities "),0); $data['nom'] = rtrim(substr(preg_replace('/\[|\]/', '', rtrim(ltrim($data['nom']))),0,$long_maxi)); $long_maxi = mysql_field_len(mysql_query("SELECT origin_authorities_country FROM origin_authorities "),0); $data['pays'] = rtrim(substr(preg_replace('/\[|\]/', '', rtrim(ltrim($data['pays']))),0,$long_maxi)); if($data['diffusion']=="") $data['diffusion'] = 1; if($data['nom']=="") return 0; // préparation de la requête $key0 = addslashes($data['nom']); $key1 = addslashes($data['pays']); $key2 = $data['diffusion']; /* vérification que l'origine de l'autorité existe */ $query = "SELECT id_origin_authorities FROM origin_authorities WHERE origin_authorities_name='${key0}' and origin_authorities_country = '${key1}' LIMIT 1 "; $result = @mysql_query($query, $dbh); if(!$result) die("can't SELECT origin_authorities ".$query); $origin_authorities = mysql_fetch_object($result); /* l'origine de l'autorité existe, on retourne l'ID */ if($origin_authorities->id_origin_authorities) return $origin_authorities->id_origin_authorities; // id non-récupérée, il faut créer la forme. $query = "INSERT INTO origin_authorities SET "; $query .= "origin_authorities_name='".$key0."', "; $query .= "origin_authorities_country='".$key1."', "; $query .= "origin_authorities_diffusible='".$key2."' "; $result = @mysql_query($query, $dbh); if(!$result) die("can't INSERT into origin_authorities ".$query); return mysql_insert_id($dbh); } /* fin méthode import */ /* une fonction pour générer des combo Box paramètres : $selected : l'élément sélectionné le cas échéant retourne une chaine de caractères contenant l'objet complet */ static function gen_combo_box ( $selected ) { $requete="select id_origin_authorities, origin_authorities_name, origin_authorities_country from origin_authorities order by origin_authorities_name, origin_authorities_country "; $champ_code="id_origin_authorities"; $champ_info="origin_authorities_name"; $nom="id_origin_authorities"; $on_change=""; $liste_vide_code=""; $liste_vide_info=""; $option_premier_code=""; $option_premier_info=""; $gen_liste_str=""; $resultat_liste=mysql_query($requete); $gen_liste_str = "\n" ; return $gen_liste_str ; } /* fin gen_combo_box */ } /* fin de définition de la classe */ } /* fin de délaration */