diff --git a/base/gamumail.php b/base/gamumail.php index 124272c..b24026c 100644 --- a/base/gamumail.php +++ b/base/gamumail.php @@ -47,15 +47,16 @@ function gamumail_declarer_tables_objets_sql($tables) { 'type' => 'gamumail', 'principale' => 'oui', 'field'=> array( - 'id_gamumail' => 'bigint(21) NOT NULL', - 'slug' => 'varchar(255) NOT NULL DEFAULT ""', - 'titre' => 'varchar(255) NOT NULL DEFAULT ""', - 'sujet' => 'varchar(255) NOT NULL DEFAULT ""', - 'texte' => 'text NOT NULL DEFAULT ""', - 'id_docs' => 'text NOT NULL DEFAULT ""', - 'statut' => 'varchar(20) DEFAULT "0" NOT NULL', - 'public' => 'varchar(20) DEFAULT "oui" NOT NULL', - 'maj' => 'TIMESTAMP' + 'id_gamumail' => 'bigint(21) NOT NULL', + 'slug' => 'varchar(255) NOT NULL DEFAULT ""', + 'titre' => 'varchar(255) NOT NULL DEFAULT ""', + 'sujet' => 'varchar(255) NOT NULL DEFAULT ""', + 'texte' => 'text NOT NULL DEFAULT ""', + 'id_docs' => 'text NOT NULL DEFAULT ""', + 'statut' => 'varchar(20) DEFAULT "0" NOT NULL', + 'public' => 'varchar(20) DEFAULT "oui" NOT NULL', + 'editable' => 'varchar(5) DEFAULT "oui" NOT NULL', + 'maj' => 'TIMESTAMP' ), 'key' => array( 'PRIMARY KEY' => 'id_gamumail', @@ -63,8 +64,8 @@ function gamumail_declarer_tables_objets_sql($tables) { ), 'titre' => 'slug AS titre, "" AS lang', #'date' => '', - 'champs_editables' => array('slug', 'sujet', 'texte','titre'), - 'champs_versionnes' => array('slug', 'sujet', 'texte','titre'), + 'champs_editables' => array('slug', 'sujet', 'texte','titre', 'editable'), + 'champs_versionnes' => array('slug', 'sujet', 'texte','titre', 'editable'), 'rechercher_champs' => array("slug" => 8), 'tables_jointures' => array(), 'statut'=> array( diff --git a/gamumail_administrations.php b/gamumail_administrations.php index d74c65d..09d2ce7 100644 --- a/gamumail_administrations.php +++ b/gamumail_administrations.php @@ -35,7 +35,7 @@ function gamumail_upgrade($nom_meta_base_version, $version_cible) { $maj['1.0.6'] = array(array('maj_tables', array('spip_gamumails'))); $maj['1.0.11'] = array( array('maj_tables', array('spip_gamumails'))); $maj['1.0.12'] = array(array('creer_compte_curl')); - $maj['1.0.13'] = array(array('maj_tables', array('spip_gamumails'))); + $maj['1.0.14'] = array(array('maj_tables', array('spip_gamumails'))); include_spip('base/upgrade'); maj_plugin($nom_meta_base_version, $version_cible, $maj); diff --git a/gamumail_autorisations.php b/gamumail_autorisations.php index 33d081f..e6e1edf 100644 --- a/gamumail_autorisations.php +++ b/gamumail_autorisations.php @@ -48,7 +48,14 @@ function autoriser_gamumail_configurer_dist($faire, $type, $id, $qui, $opt) { * uniquement les webmestres avec un mail en @gamuza.fr **/ function autoriser_gamumail_modifier_nom_slug_dist($faire, $type, $id, $qui, $opt) { - return - autoriser('webmestre') - and strpos($qui['email'], 'gamuza.fr') !== false; + if ( + intval($id) + and $editable = sql_getfetsel('editable', 'spip_gamumails', 'id_gamumail='.intval($id)) + and $editable === 'oui' + ) { + return + autoriser('webmestre') + and strpos($qui['email'], 'gamuza.fr') !== false; + } + return false; } diff --git a/inclure/gamumail_config.html b/inclure/gamumail_config.html index 0824289..31adea3 100644 --- a/inclure/gamumail_config.html +++ b/inclure/gamumail_config.html @@ -102,7 +102,7 @@