Bon ...
Me tapez pas sur les doigts (pour le log) ... je m'a gouré
Alors ca c'est la première brique d'une suite de plugin qui s'appelle squeeze ecrire/
qui me sert à me passer plus ou moins de l'espace privé
Celui ci permet de créer des zones (Accès restreint) et d'ajouter des auteurs à ces zones depuis l'espace public
++
kent1
Le 17 mars 08 à 22:56, kent1@arscenic.info a écrit :
Author: kent1@arscenic.info
Date: Mon Mar 17 22:55:58 2008
New Revision: 19192Log:
hop...Added:
_plugins_/_dev_/squeezecrire/
_plugins_/_dev_/squeezecrire/squeeze_zone/
_plugins_/_dev_/squeezecrire/squeeze_zone/action/
_plugins_/_dev_/squeezecrire/squeeze_zone/action/zone_del_people.php
_plugins_/_dev_/squeezecrire/squeeze_zone/ajouter_zone.html
_plugins_/_dev_/squeezecrire/squeeze_zone/balise/
_plugins_/_dev_/squeezecrire/squeeze_zone/balise/formulaire_ajouter_zone.php
_plugins_/_dev_/squeezecrire/squeeze_zone/formulaires/
_plugins_/_dev_/squeezecrire/squeeze_zone/formulaires/ajouter_zone.html
_plugins_/_dev_/squeezecrire/squeeze_zone/images/
_plugins_/_dev_/squeezecrire/squeeze_zone/images/squeeze_delete.png (with props)
_plugins_/_dev_/squeezecrire/squeeze_zone/images/squeeze_lock_add.png (with props)
_plugins_/_dev_/squeezecrire/squeeze_zone/images/squeeze_lock_open.png (with props)
_plugins_/_dev_/squeezecrire/squeeze_zone/lang/
_plugins_/_dev_/squeezecrire/squeeze_zone/lang/squeezezone_fr.php
_plugins_/_dev_/squeezecrire/squeeze_zone/plugin.xml
_plugins_/_dev_/squeezecrire/squeeze_zone/selecteur_people.html
_plugins_/_dev_/squeezecrire/squeeze_zone/zone_del_people.htmlAdded: _plugins_/_dev_/squeezecrire/squeeze_zone/action/zone_del_people.php
--- _plugins_/_dev_/squeezecrire/squeeze_zone/action/zone_del_people.php (added)
+++ _plugins_/_dev_/squeezecrire/squeeze_zone/action/zone_del_people.php Mon Mar 17 22:55:58 2008
@@ -0,0 +1,72 @@
+<?php
+/*
+
+ *
+ * Auteurs :
+ * kent1
+ * © 2007 - Distribue sous licence GNU/GPL
+ *
+ */
+
+function action_zone_del_people(){
+ global $auteur_session;
+
+ // Qui est on?
+ $id_auteur = $auteur_session['id_auteur'];
+
+ include_spip("inc/actions");
+
+ // La personne a virer
+ $newauteur = _request('id_auteur');
+
+ // La zone concernee
+ $id = _request('id_rubrique');
+
+ // URL de retour
+ $redirect = urldecode(_request('redirect_del_auteur'));
+ $delete = _request('supprimer_people');
+
+ // supprimer le mot ?
+ if ($delete
+ AND $s = sql_select("*","spip_zones_auteurs","id_zone=".$id." AND id_auteur=".$delete)
+ AND $t = sql_fetch($s)) {
+ $zone_rub = sql_select("id_rubrique","spip_zones_rubriques","id_zone=".$id);
+ $rub = sql_fetch($zone_rub);
+ $liste_articles = sql_select("id_article","spip_articles","id_rubrique=".$rub['id_rubrique']);
+ spip_log("rubrique = ".$rub['id_rubrique'], 'squeeze_zone');// On logue tout cela
+ while($articles = sql_fetch($liste_articles)){
+ $tous_auteurs = sql_select("id_auteur","spip_auteurs_articles","id_article=".$articles['id_article']);
+ spip_log("article = ".$articles['id_article'], 'squeeze_zone');// On logue tout cela
+ $nb_auteur = sql_count($tous_auteurs);
+ while($auteur = sql_fetch($tous_auteurs)){
+ spip_log("auteur = ".$auteur['id_auteur'], 'squeeze_zone');// On logue tout cela
+ if (($nb_auteur < 2 ) && ($delete == $auteur['id_auteur'])){
+ spip_log("Nombre d'auteurs : ".$nb_auteur." : id_auteur = ".$auteur['id_auteur'], 'squeeze_zone');// On logue tout cela
+ $erreur = _T('vous_plus_auteur');
+ $supprimer_auteur = 1;
+ spip_log("erreur : il n'y a qu'un seul auteur pour l'article".$articles['id_article'], 'squeeze_zone');// On logue tout cela
+ }
+ else if($auteur['id_auteur'] == $delete){
+ sql_delete("spip_auteurs_articles","id_article =".$articles['id_article']." AND id_auteur = ".$delete);
+ $supprimer_auteur = 1;
+ spip_log("suppression auteur (id_auteur = $delete) de l'article".$articles['id_article'], 'squeeze_zone');// On logue tout cela
+ }
+ }
+ }
+ if ($supprimer_auteur != 1){
+ sql_delete("spip_zones_auteurs","id_auteur=".$delete." AND id_zone=".$id); // on efface l'auteur associé a la rubrique
+ spip_log("suppression personne (id_auteur = $delete) de la zone $id", 'squeeze_zone');// On logue tout cela
+ }
+ else{
+ $redirect = parametre_url($redirect, 'erreur', $erreur);
+ }
+ $invalider = true;
+ }
+ if ($invalider) {
+ include_spip('inc/invalideur');
+ suivre_invalideur("0",true);
+ spip_log('invalider', 'squeeze_zone');
+ }
+ redirige_par_entete(str_replace("&","&",$redirect));
+}
+?>
\ No newline at end of fileAdded: _plugins_/_dev_/squeezecrire/squeeze_zone/ajouter_zone.html
--- _plugins_/_dev_/squeezecrire/squeeze_zone/ajouter_zone.html (added)
+++ _plugins_/_dev_/squeezecrire/squeeze_zone/ajouter_zone.html Mon Mar 17 22:55:58 2008
@@ -0,0 +1,66 @@
+#CACHE{0}
+<script type="text/javascript">
+ function deletepeople(auteur){
+ var id = auteur.substr(7);
+ jQuery('#supprimer_people').val(id);
+ jQuery('#formulaire_zone_del_people input[@type=submit]').click();
+ return false;
+ }
+</script>
+<BOUCLE_zone(ZONES_RUBRIQUES){id_rubrique=#ENV{id_rubrique}}>
+ <form action="[(#EVAL{zone_del_people}|generer_url_action)]" method="post" id="formulaire_zone_del_people" onsubmit="return AjaxSqueeze(this,'del_people','',event)" class="formulaire_spip">
+ <div>
+ <h4><:squeezezone:personnes_autorisees:></h4>
+ <div id="del_people">
+ <BOUCLE_article(ARTICLES){id_rubrique}>
+ <B_autart>
+ <p><strong>[(#TOTAL_BOUCLE|=={1}|?{<:squeezezone:zone_auteur:>,<:squeezezone:zone_auteurs:>})]</strong></p>
+ <ul>
+ <BOUCLE_autart(AUTEURS){id_article}{tout}{doublons}>
+ [(#ID_AUTEUR|=={#SESSION{id_auteur}}|?{' '})
+ <li>
+ #NOM [((#LOGIN))]
+ <a href="#" class="deletepeople supprimer" style="display:inline" onclick="if(confirm('<:squeezezone:supprimer_zone_sure:>'))return deletepeople('people-#ID_AUTEUR');else return false;" id="people-#ID_AUTEUR" title="<:squeezezone:delete:>">
+ <img src="#CHEMIN{images/squeeze_delete.png}" alt="<:squeezezone:delete:>" />
+ </a>
+ </li>]
+ [(#ID_AUTEUR|=={#SESSION{id_auteur}}|?{'',' '})
+ <li>
+ #NOM [((#LOGIN))]
+ <a href="#" class="deletepeople supprimer" style="display:inline" onclick="if(confirm('<:squeezezone:supprimer_zone_auteur:>'))return deletepeople('people-#ID_AUTEUR');else return false;" id="people-#ID_AUTEUR" title="<:squeezezone:delete:>">
+ <img src="#CHEMIN{images/squeeze_delete.png}" alt="<:squeezezone:delete:>" />
+ </a>
+ </li>]
+ </BOUCLE_autart>
+ </ul>
+ </B_autart>
+ </BOUCLE_article>
+ <B_zauteur>
+ <p><strong><:squeezezone:zone_users:></strong></p>
+ <ul>
+ <BOUCLE_zauteur(AUTEURS zones_auteurs){id_zone}{doublons}{tout}>
+ [(#SESSION{id_auteur}|=={#ID_AUTEUR}|?{' ',''})
+ <li>#NOM_FAMILLE #PRENOM [((#LOGIN))]</li>
+ ]
+ [(#SESSION{id_auteur}|=={#ID_AUTEUR}|?{'',' '})
+ <li>
+ #NOM [((#LOGIN))]
+ <a href="#" class="deletepeople supprimer" style="display:inline" id="people-#ID_AUTEUR" onclick="if(confirm('<:squeezezone:supprimer_zone_autorise:>'))return deletepeople('people-#ID_AUTEUR');else return false;" title="<:squeezezone:delete:>">
+ <img src="#CHEMIN{images/squeeze_delete.png}" alt="<:squeezezone:delete:>" /></a>
+ </li>]
+ </BOUCLE_zauteur>
+ </ul>
+ </B_zauteur>
+ </div>
+ <input type="hidden" name="supprimer_people" id="supprimer_people" value="" />
+ <input type="hidden" name="id_rubrique" id="id_rubrique" value="[(#ID_ZONE)]" />
+ <input type="hidden" name="redirect_del_auteur" value="[(#URL_PAGE{zone_del_people}|parametre_url{id_zone,#ID_ZONE}|parametre_url{id_rubrique,#ID_RUBRIQUE})]" />
+ <p class="spip_bouton nodisplay">
+ <input type="submit" name="add_tags" value="<:bouton_valider:>" class="valider" />
+ </p>
+ <br style="clear:both" />
+ </div>
+ </form>
+</BOUCLE_zone>
+
+[(#FORMULAIRE_AJOUTER_ZONE)]
\ No newline at end of fileAdded: _plugins_/_dev_/squeezecrire/squeeze_zone/balise/formulaire_ajouter_zone.php
--- _plugins_/_dev_/squeezecrire/squeeze_zone/balise/formulaire_ajouter_zone.php (added)
+++ _plugins_/_dev_/squeezecrire/squeeze_zone/balise/formulaire_ajouter_zone.php Mon Mar 17 22:55:58 2008
@@ -0,0 +1,137 @@
+<?php
+
+if (!defined("_ECRIRE_INC_VERSION")) return; #securite
+
+include_spip ("inc/meta");
+include_spip ("inc/session");
+include_spip ("inc/autoriser");
+include_spip('base/abstract_sql');
+
+function balise_FORMULAIRE_AJOUTER_ZONE ($p) {
+ $p = calculer_balise_dynamique($p,'FORMULAIRE_AJOUTER_ZONE', array('id_article'));
+ return $p;
+}
+
+function balise_FORMULAIRE_AJOUTER_ZONE_dyn($id_article) {
+
+ //verifier si la personne en question a le droit de creer un acces prive (s'il est l'auteur de l'article)
+ if (!autoriser('modifier','article', $id_article)) {
+ return;
+ }
+
+ //on recupere les infos de l'article necessaires
+ $art = sql_select("*","spip_articles","id_article = "._q($id_article));
+ $artinfos = sql_fetch($art);
+
+ $id_rub_orig = $artinfos["id_rubrique"];
+ $id_secteur = $artinfos["id_secteur"];
+ $titre = $artinfos["titre"];
+ $lang = $artinfos["lang"];
+
+ // Si on est deja dans une zone on recup l'id_zone pour le supprimer plus tard
+ $zone = sql_select("id_zone","spip_zones_rubriques","id_rubrique ="._q($id_rub_orig));
+ $z = sql_fetch($zone);
+ $id_zone = $z['id_zone'];
+
+ // Si on est deja dans une zone on aura besoin de la rubrique parente de la rubrique
+ $rub_parente = sql_select("*","spip_rubriques","id_rubrique = "._q($id_rub_orig));
+ $a = sql_fetch($rub_parente);
+ $id_rub_parente = $a['id_parent'];
+
+ //recuperer les donnees qui nous interessent
+ $creer_zone = _request('creer_zone'); // true ou false = checkbox
+ $supprimer_zone = _request('supprimer_zone'); // true ou false = checkbox
+
+ $add_as_auteur = _request('add_as_auteur');[... 371 lines stripped ...]
_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit