示例#1
0
/**
 * Exécute une requête et renvoie une erreur au besoin
 * @global string
 * @param string $requete La requête à traité
 * @return string l'erreur ou vide
 */
function traite_requete($requete = "") {
	global $pb_maj;
	$retour = "";
	$res = mysqli_query($GLOBALS["mysqli"], $requete);
	$erreur_no = ((is_object($GLOBALS["mysqli"])) ? mysqli_errno($GLOBALS["mysqli"]) : (($___mysqli_res = mysqli_connect_errno()) ? $___mysqli_res : false));
	if (!$erreur_no) {
		$retour = "";
	} else {
		switch ($erreur_no) {
			case "1060" :
				// le champ existe déjà : pas de problème
				$retour = "";
				break;
			case "1061" :
				// La clé existe déjà : pas de problème
				$retour = "";
				break;
			case "1062" :
				// Présence d'un doublon : création de la cléf impossible
				$retour = msj_erreur("Erreur (<strong>non critique</strong>) sur la requête : <i>" . $requete . "</i> (" . ((is_object($GLOBALS["mysqli"])) ? mysqli_errno($GLOBALS["mysqli"]) : (($___mysqli_res = mysqli_connect_errno()) ? $___mysqli_res : false)) . " : " . mysqli_error($GLOBALS["mysqli"]) . ")");
				$pb_maj = 'yes';
				break;
			case "1068" :
				// Des clés existent déjà : pas de problème
				$retour = "";
				break;
			case "1069" :
				// trop d'index existent déjà pour cette table
				$retour = msj_erreur("Erreur (<strong>critique</strong>) sur la requête : <i>" . $requete . "</i> (" . ((is_object($GLOBALS["mysqli"])) ? mysqli_errno($GLOBALS["mysqli"]) : (($___mysqli_res = mysqli_connect_errno()) ? $___mysqli_res : false)) . " : " . mysqli_error($GLOBALS["mysqli"]) . ")");
				$pb_maj = 'yes';
				break;
			case "1091" :
				// Déjà supprimé : pas de problème
				$retour = "";
				break;
			default :
				$retour = msj_erreur("Erreur sur la requête : <i>" . $requete . "</i> (" . ((is_object($GLOBALS["mysqli"])) ? mysqli_errno($GLOBALS["mysqli"]) : (($___mysqli_res = mysqli_connect_errno()) ? $___mysqli_res : false)) . " : " . mysqli_error($GLOBALS["mysqli"]) . ")");
				$pb_maj = 'yes';
				break;
		}
	}
	return $retour;
}
示例#2
0
/**
 *
 * @param type $tablename
 * @param type $indexname
 * @param type $indexcolumns
 * @return string 
 */
function add_index($tablename, $indexname, $indexcolumns) {
  $result = "&nbsp;->Ajout de l'index '$indexname' à la table $tablename<br />";
  $req_res=0;
  $req_test = mysqli_query($GLOBALS["mysqli"], "SHOW INDEX FROM $tablename");
  if (mysqli_num_rows($req_test)!=0) {
    while ($enrg = mysqli_fetch_object($req_test)) {
      if ($enrg-> Key_name == $indexname) {$req_res++;}
    }
  }
  if ($req_res == 0) {
    $query = mysqli_query($GLOBALS["mysqli"], "ALTER TABLE `$tablename` ADD INDEX $indexname ($indexcolumns)");
    if ($query) {
      $result .= msj_ok();
    } else {
      $result .= msj_erreur();
    }
  } else {
    $result .= msj_present("L'index existe déjà.");
  }
  return $result;
}
示例#3
0
	$result .= msj_present("Le champ existe déjà");
}

$result .= "&nbsp;-> Ajout d'un champ 'nom_prof' à la table 'archivage_disciplines'<br />";
$test_champ=mysqli_num_rows(mysqli_query($mysqli, "SHOW COLUMNS FROM archivage_disciplines LIKE 'nom_prof';"));
if ($test_champ==0) {
	$query = mysqli_query($mysqli, "ALTER TABLE archivage_disciplines ADD nom_prof VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER prof;");
	if ($query) {
			$result .= msj_ok("Ok !");
	} else {
			$result .= msj_erreur();
	}
} else {
	$result .= msj_present("Le champ existe déjà");
}

$result .= "&nbsp;-> Ajout d'un champ 'prenom_prof' à la table 'archivage_disciplines'<br />";
$test_champ=mysqli_num_rows(mysqli_query($mysqli, "SHOW COLUMNS FROM archivage_disciplines LIKE 'prenom_prof';"));
if ($test_champ==0) {
	$query = mysqli_query($mysqli, "ALTER TABLE archivage_disciplines ADD prenom_prof VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER nom_prof;");
	if ($query) {
			$result .= msj_ok("Ok !");
	} else {
			$result .= msj_erreur();
	}
} else {
	$result .= msj_present("Le champ existe déjà");
}

?>
示例#4
0
	$correction=virer_accents_html_setting('ImpressionFicheEleve');
	if($correction==0) {
		$result .= msj_present("Pas d'accents HTML dans la Fiche Bienvenue élève.");
	}
	elseif($correction==1) {
		$result .= msj_ok("Conversion des accents HTML dans la Fiche Bienvenue élève effectuée.");
	}
	else {
		$result .= msj_erreur("Erreur lors de la conversion des accents HTML dans la Fiche Bienvenue élève.");
	}
	saveSetting('conv_html_fiche_bienvenue_eleves','fait');
}

$sql="SELECT 1=1 FROM setting WHERE name='conv_html_fiche_bienvenue_responsables';";
$test=mysqli_query($GLOBALS["mysqli"], $sql);
if(mysqli_num_rows($test)==0) {
	$correction=virer_accents_html_setting('ImpressionFicheParent');
	if($correction==0) {
		$result .= msj_present("Pas d'accents HTML dans la Fiche Bienvenue responsable.");
	}
	elseif($correction==1) {
		$result .= msj_ok("Conversion des accents HTML dans la Fiche Bienvenue responsable effectuée.");
	}
	else {
		$result .= msj_erreur("Erreur lors de la conversion des accents HTML dans la Fiche Bienvenue responsable.");
	}
	saveSetting('conv_html_fiche_bienvenue_responsables','fait');
}

?>
示例#5
0
		if($temoin_erreur_migration=="n") {
			$result .= "<strong>Suppression de l'ancienne table 'tempo_utilisateurs_resp' :</strong><br />";
			$sql="DROP TABLE tempo_utilisateurs_resp;";
			$result_inter = traite_requete($sql);
			if ($result_inter == '') {
				$result .= msj_ok("SUCCES !");
			}
			else {
				$result .= msj_erreur("ECHEC !");
				$temoin_erreur_migration="y";
			}
		}
	}
}

$req_test=mysqli_query($GLOBALS["mysqli"], "SELECT value FROM setting WHERE name = 'utiliserMenuBarre'");
$res_test=mysqli_num_rows($req_test);
if ($res_test==0){
  $result_inter = traite_requete("INSERT INTO setting VALUES ('utiliserMenuBarre', 'no');");
  if ($result_inter == '') {
    $result.=msj_ok("Définition du paramètre utiliserMenuBarre : Ok !");
  } else {
    $result.=msj_erreur("Définition du paramètre utiliserMenuBarre : Erreur !");
  }
} else {
  $result .= msj_present("Le paramètre utiliserMenuBarre existe déjà dans la table setting.");
}

?>
示例#6
0
if ($test == -1) {
	$result_inter = traite_requete("CREATE TABLE IF NOT EXISTS tempo3 (
		id int(11) NOT NULL auto_increment,
		col1 VARCHAR(255) NOT NULL,
		col2 TEXT,
		PRIMARY KEY  (id)
		) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;");
	if ($result_inter == '') {
		$result .= msj_ok("SUCCES !");
	}
	else {
		$result .= msj_erreur("ECHEC !" );
	}
}

$test = sql_query1("SHOW TABLES LIKE 'tempo3_cdt';");
if ($test == -1) {
	$result .= "<br /><strong>Ajout d'une table temporaire 'tempo3_cdt' :</strong><br />";

	$result_inter = traite_requete("CREATE TABLE IF NOT EXISTS tempo3_cdt (id_classe int(11) NOT NULL default '0', classe varchar(255) NOT NULL default '', matiere varchar(255) NOT NULL default '', enseignement varchar(255) NOT NULL default '', id_groupe int(11) NOT NULL default '0', fichier varchar(255) NOT NULL default '') ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;");
	if ($result_inter == '') {
		$result .= msj_ok("SUCCES !");
	}
	else {
		$result .= msj_erreur("ECHEC !" );
	}
}


?>
示例#7
0
	if (!saveSetting("output_mode_pdf", $output_mode_pdf)) {
		$result .= msj_erreur();
	} else {
		$result .= msj_ok("Ok !");
	}
}

$result .= "<br /><strong>Correction taille du champ 'num' de la table 'tempo' pour qu'il corresponde à celle du champ 'SESSION_ID' de la table 'log'&nbsp;:</strong><br />";
$test1 = mysqli_query($GLOBALS["mysqli"], "SHOW COLUMNS FROM tempo LIKE 'num'");
$test2 = mysqli_query($GLOBALS["mysqli"], "SHOW COLUMNS FROM log LIKE 'SESSION_ID'");

if (mysqli_num_rows($test1) != 0 && mysqli_num_rows($test2) != 0) {
   $obj_test1 = $test1->fetch_object();
   $obj_test2 = $test2->fetch_object();
   $result .= "Passage du champ à ".$obj_test2->Type."<br />";
   if ($obj_test1->Type != $obj_test2->Type) {
	  $querynp = mysqli_query($GLOBALS["mysqli"], "ALTER TABLE `tempo` CHANGE `num` `num` ".$obj_test2->Type." CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0';");
	  if ($querynp) {
		  $result .= msj_ok('Ok !');
	  } else {
		  $result .= msj_erreur('!');
	  }
	} else {
	   $result .= msj_present("Le champ a déjà la bonne taille");
	}
} else {
	$result .= msj_erreur("Un des champs n'existe pas<br />");
}

?>
示例#8
0
	$result_inter = traite_requete("INSERT INTO setting VALUES ('encodage_nom_photo', 'no');");
	if ($result_inter == '') {
		$result.=msj_ok("Définition du paramètre encodage_nom_photo : Ok !");
	} else {
		$result.=msj_erreur("Définition du paramètre encodage_nom_photo : Erreur !");
	}

	$titre="Encodage des photos";
	$texte="Une fonctionnalité d'encodage des photos est proposée pour éviter des téléchargements abusifs.<br />Voir <a href='./mod_trombinoscopes/trombinoscopes_admin.php#encodage'>Administration du module Trombinoscope</a>";
	$destinataire="administrateur";
	$mode="statut";
	enregistre_infos_actions($titre,$texte,$destinataire,$mode);

} else {
	$result .= msj_present("Le paramètre encodage_nom_photo existe déjà dans la table setting.");
}
$req_test=mysqli_query($GLOBALS["mysqli"], "SELECT value FROM setting WHERE name = 'alea_nom_photo'");
$res_test=mysqli_num_rows($req_test);
if ($res_test==0){
  $result_inter = traite_requete("INSERT INTO setting VALUES ('alea_nom_photo', MD5(UNIX_TIMESTAMP()));");
  if ($result_inter == '') {
    $result.=msj_ok("Définition du paramètre alea_nom_photo : Ok !");
  } else {
    $result.=msj_erreur("Définition du paramètre alea_nom_photo : Erreur !");
  }
} else {
  $result .= msj_present("Le paramètre alea_nom_photo existe déjà dans la table setting.");
}

?>