[SPIP Zone] [Spip-zone-commit] r19192 - in /_plugins_/_dev_/squeezecrire: ./ squeeze_zone/ squeeze_zone/action/ squeeze_zone/balise/ squeeze_zone/formulaires/ squeeze_zone/images/ squeeze_zone/lang/

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: 19192

Log:
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.html

Added: _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("&amp;","&",$redirect));
+}
+?>
\ No newline at end of file

Added: _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 file

Added: _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

* Drouet quentin tapuscrivait, le 17/03/2008 23:12:

Bon ...

Me tapez pas sur les doigts (pour le log) ... je m'a gouré

Oups, j'ai dégainé trop vite.
Merci pour cette explication.

--
RealET

* Drouet quentin tapuscrivait, le 17/03/2008 23:12:

Celui ci permet de créer des zones (Accès restreint) et d'ajouter des auteurs à ces zones depuis l'espace public

Cela concerne le plugin accès restreint ?
Ca marche en 1.9.3 ?

--
RealET

Ah oui j'oubliais dans le mail précédent :

Toute doc et autre SAD ne se fera qu'après la sortie de la prochaine version stable de spip...

Ce n'est compat qu'avec une svn (voir plugin.xml)

Si des gens veulent en causer c'est IRC et pas par mail pour moi

kent1

Le 17 mars 08 à 23:21, RealET a écrit :

* Drouet quentin tapuscrivait, le 17/03/2008 23:12:

Celui ci permet de créer des zones (Accès restreint) et d'ajouter des
auteurs à ces zones depuis l'espace public

Cela concerne le plugin accès restreint ?
Ca marche en 1.9.3 ?

--
RealET

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone