示例#1
0
function action_supprimer_champ_sql($table, $champ)
{
    // recuperer les descriptions
    // pour verifier que le champ n'est pas declare par quelqu'un
    include_spip('inc/cextras');
    $champs = extras_champs_anormaux();
    if (isset($champs[$table][$champ])) {
        // suppression
        extras_log("Suppression du champ {$table}/{$champ} par auteur " . $GLOBALS['auteur_session']['id_auteur'], true);
        sql_alter("TABLE {$table} DROP COLUMN " . $champ);
    }
}
示例#2
0
/**
 * Liste les tables et les champs que le plugin et spip savent gérer
 * mais qui ne sont pas déclarés à SPIP
 * 
 * @param string $connect
 *     Nom du connecteur de base de données
 * @return array
 *     Tableau (table => couples(colonne => description SQL))
 */
function extras_champs_utilisables($connect = '')
{
    $tout = extras_champs_anormaux($connect);
    $objets = cextras_objets_valides();
    $utilisables = array_intersect_key($tout, $objets);
    ksort($utilisables);
    return $utilisables;
}
示例#3
0
function extras_champs_utilisables($connect='') {
	$tout = extras_champs_anormaux($connect);
	$objets = cextras_objets_valides();

	$tables_utilisables = array();
	foreach ($objets as $o){$tables_utilisables[] = $o['table'];}
	foreach ($tout as $table=>$champs) {
		if (!in_array($table, $tables_utilisables)) {
			unset($tout[$table]);
		}
	}
	return $tout;
}