Annonce

  •  » Plugins
  •  » [Plug-in] Adult_content

#1 2007-07-10 19:13:46

flop25
Équipe Piwigo
2006-07-06
6544

[Plug-in] Adult_content

--------------------+
Téléchargement   ¦
--------------------+

[extension by flop25] Adult_content

----------------+
Qu'est ce ?     ¦
----------------+

Adult_content sert à protéger les enfants des images à caractères pornographiques et/ou érotiques présentées sur votre site : gestion des visteurs et des inscrits selon leur age.
_______________________________________
Adult_content protect children. Indeed the mature or adult pictures are filtred according to the age.


----------------+
Aperçu           ¦
----------------+

http://www.planete-flop.fr/gallerie

----------------+
Installation     ¦
----------------+

=>Placer le dossier adult_content dans :

.../(dossier d'installation de pwg)/plugin/

=>Installer normalement le plug-in
=>Gérer les droits de vos catégories litigieuses de cette façon :

groupe "+18": tout contenu
groupe "16-17": contenu érotique

Quant aux utilisateurs inscrits, ils se mettent eux-mêmes dans le groupe leur correspondant

=>Activer le plugin

_______________________________________________

évolution :

-[à l'étude] : Construction d'une page admin pour activer un block contenant un disclaimer directement en page d'accueil : utile si la galerie ne contient que de images adultes
- [version actuelle] 2.1.2:  compatible piwigo 2.1.2
- [version actuelle] 2.0.1:  ES et floOS
-  2.0.0:  Compatibilité Smarty
- 1.5.4 :  Compatibilité Menubar manager
- 1.5.2 :  Correction bug d'affichage
- 1.5.1 :  Correction bug ie avec yoga // code de maintain.inc rectifié
- 1.5 :  Gestion des utilisateurs à leur inscription (gestion rétroactive aussi : si des utilisateurs s'étaient enregistré avant l'installation du plugin)/Plus de manip à faire si vous utilisez flop_pure_design/correction bug generic (mis pour l'activation)
- 1.4 :  Gestion des inscrits / création du groupe nothing, du fichier var.inc.php / à l'activation vérifie les groupes et user
- 1.3 :  les inscrits sont gérer par deux groupes
- 1.2.1 :  messages compatible flop_pure_design / amélioration du code
- 1.2 :  le message d'avertissement peut être réduit / amélioration de la présentation du code
- 1.1 : utilisateurs 18 et 16 créé et supprimé automatiquement
- 1.0 : utilisateurs 18 et 16 à créer soi-même

Dernière modification par flop25 (2011-03-06 14:14:37)

Hors ligne

#2 2007-07-10 19:48:12

Nicco
Membre
Paris - Val de Marne
2006-05-12
1794

Re: [Plug-in] Adult_content

pour la creation et la suppression ... je dirai une requete sql ql pour ajouté tes infos dans les tables users

sinon alors tu as fais comment ? tu as utilisé la methode dont on avait parlé ensemble ou autre chose ?

a+


Nicco Starrrr ..... voici ma galerie http://gallery-nicco.no-ip.org & ma passion http://bd-nicco.no-ip.org
version PWG 1.7.1 + de nombreux plugins actifs (trop pour les énumérer)

Hors ligne

#3 2007-07-10 19:57:22

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Plug-in] Adult_content

quel con a force de coder 100% php on oublie le sql.. pfff ..
Mais comment traduire en code "à l'installation" et "à la désinstall"


En fait

si visiteur : affichage message d'avertissement  "contenu..." avec un lien qui renvoie vers une page marquant les mentions légal et 3 bouton dont deux sont des connexions user hidden .L'autre c'est un retour arriere
ensuite en tant que user 18 ou 16, le <dl identification ne s'affiche plus et laisse place à un message "vous avez 18 ans" plus un lien pour se déconnecter

si enregistré : pas de message, l'admin gère de lui même

voilà le principe !

évolution en cours : un lien "ne plus afficher" pour le message d'avertissement gérer par cookie

Hors ligne

#4 2007-07-10 21:08:41

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Plug-in] Adult_content

flop25 a écrit:

quel con a force de coder 100% php on oublie le sql.. pfff ..
Mais comment traduire en code "à l'installation" et "à la désinstall"

Il faut créer un fichier maintain.inc.php à la racine de ton plugin.
Il devra contenir une fonction plugin_install et une fonction plugin_uninstall qui seront appelée lors de l'instalation (et la désinstalation).
C'est ici que tu peux lancer une requete sql pour ajouter (et supprimer) une table.

Note: il existe aussi 2 fonctions qui s'executent à l'activation et la désactivation du plug: plugin_activate et plugin_desactivate.
Tout est ici: http://phpwebgallery.net/doc/doku.php/en:plugins

Attention! rub et vincent vont pas etre super joisses en voyant la structure de ton plugin!!!
cf:  http://forum.phpwebgallery.net/viewtopi … 891#p63891
et: http://forum.phpwebgallery.net/viewtopi … 957#p63957

Je n'ai pas encore testé! j'attend que tu nous mette un maintain.inc.php: c'est le minimum quand meme! ;-)

Dernière modification par P@t (2007-07-10 21:23:43)


P@t

Hors ligne

#5 2007-07-11 07:22:37

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Plug-in] Adult_content

Pour créer/supprimer des users, il y a les fonctions:
  o register_user (include\functions_user.inc.php)
  o delete_user (admin\include\functions.php)

Hors ligne

#6 2007-07-11 07:24:54

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Plug-in] Adult_content

P@t a écrit:

Attention! rub et vincent vont pas etre super joisses en voyant la structure de ton plugin!!!
cf:  http://forum.phpwebgallery.net/viewtopi … 891#p63891
et: http://forum.phpwebgallery.net/viewtopi … 957#p63957

Et quoi exactement?

En regardant vite fait, ca va.
Sauf que l'indentation n'est pas top, donc on n'a pas l'impression d'être dans une classe et les personal_xxx devrait mieux être renommés (même si pas de conflit car ceux sont des méthodes de class)

Hors ligne

#7 2007-07-11 09:25:49

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Plug-in] Adult_content

rub a écrit:

Sauf que l'indentation n'est pas top, donc on n'a pas l'impression d'être dans une classe et les personal_xxx devrait mieux être renommés (même si pas de conflit car ceux sont des méthodes de class)

Sinon ca va! ;-)


P@t

Hors ligne

#8 2007-07-11 10:04:54

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Plug-in] Adult_content

P@t a écrit:

rub a écrit:

Sauf que l'indentation n'est pas top, donc on n'a pas l'impression d'être dans une classe et les personal_xxx devrait mieux être renommés (même si pas de conflit car ceux sont des méthodes de class)

Sinon ca va! ;-)

P@t, tu vas devenir le checker/manager/controleur/vérification des plugins? Afin que tous les plugins puissent cohabiter entre eux et qu'ils soient écrit de manière optimal!

Hors ligne

#9 2007-07-11 11:24:56

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Plug-in] Adult_content

rub a écrit:

P@t a écrit:

rub a écrit:

Sauf que l'indentation n'est pas top, donc on n'a pas l'impression d'être dans une classe et les personal_xxx devrait mieux être renommés (même si pas de conflit car ceux sont des méthodes de class)

Sinon ca va! ;-)

P@t, tu vas devenir le checker/manager/controleur/vérification des plugins? Afin que tous les plugins puissent cohabiter entre eux et qu'ils soient écrit de manière optimal!

Oui c'est vrai que j'ai tendance à coder à la barbare : c "embêtant" la hiérarchisation des balises et codes, surtout avec dreamweaver qui ne fait pas trop d'effort sur ce point

Sinon, merci d'aider à optimiser !
J'ai penser à un probleme avec language_switch :
si un américain se connecte en tant que user 18, et dans le même temps un français aussi. L'américain change la langue : le français se retrouve en anglais !! Donc faudrait utiliser les cookies comme pour le cas où isguest.
Je vois comment modifier mais je l'intègre comment : faire un lisezmoi.txt avec le code à remplacer ou carrément donner une autre version du fichier ?

Hors ligne

#10 2007-07-11 13:41:25

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Plug-in] Adult_content

flop25 a écrit:

J'ai penser à un probleme avec language_switch :
si un américain se connecte en tant que user 18, et dans le même temps un français aussi. L'américain change la langue : le français se retrouve en anglais !! Donc faudrait utiliser les cookies comme pour le cas où isguest.
Je vois comment modifier mais je l'intègre comment : faire un lisezmoi.txt avec le code à remplacer ou carrément donner une autre version du fichier ?

=> pas de réponse ?

je pense qu'il faut mettre aux lignes 20 et 39 de language_switch.inc.php

if ($user['is_the_guest'] or $user['username'] == '18' or $user['username'] == '16')

à la place de

if ($user['is_the_guest'])

autrement version 1.1

Dernière modification par flop25 (2007-07-11 13:46:45)

Hors ligne

#11 2007-07-11 14:01:11

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [Plug-in] Adult_content

Si tes users 16 et 18 sont de type "Générique", je ne pense pas que cela soit un problème.
A vérifier.

Concernant ton plugin, tant que l'indentation n'est pas correcte, je ne ferai pas d'effort de relecture (ou devrais-je dire que je ne remonterai pas d'autre observation).

Excepté sur ce que j'ai réussi à lire!
8-)

Come par exemple:
WHERE username ="18" OR username ="16"

qu'il vaudrait mieux coder:
WHERE username IN ("16", "18")

et même:
WHERE username IN (\'16\', \'18\')

8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#12 2007-07-11 14:07:24

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Plug-in] Adult_content

a vérifier, ok mais maintenant je peut mettre en lien mon site ? vu que c'est protégé ? quand même ... sinon pour les test ca va être dur ( faut deux user en meme temps)

pour le where perso je vois pas ce que ça change mais c'est normal vu mon niveau

pff l'indentation...

Hors ligne

#13 2007-07-11 14:14:26

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Plug-in] Adult_content

C'est mieux comme ça :

if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
$plugin_name = basename(dirname(__FILE__));
$plugin_path = dirname(__FILE__).'/';

class Adultcontent
{
  var $plugin_name, $plugin_path;
 
  function Adultcontent($plugin_name, $plugin_path)
  {
    // Args
    $this->plugin_name = $plugin_name;
    $this->plugin_path = $plugin_path;
    // handler
   // $this->initialize_event_handler();
  }


  function placer_identification()
  {

////////////[fonction défaut du plug]//////////////
    function personal_remove_tpl_code($tlp_handle, $str_begin, $str_end)
    {
      global $template;

      $template->loadfile($tlp_handle);

      $p_beg = strpos($template->uncompiled_code[$tlp_handle], $str_begin);
      $p_end = strpos($template->uncompiled_code[$tlp_handle], $str_end) + strlen($str_end);
      $s = substr($template->uncompiled_code[$tlp_handle], $p_beg, $p_end - $p_beg);

      $template->uncompiled_code[$tlp_handle] =
      substr_replace($template->uncompiled_code[$tlp_handle], '', $p_beg, $p_end - $p_beg);

      return $s;
    }
    function personal_add_before_tpl_code($tlp_handle, $insert_before, $code)
    {
      global $template;

      $template->loadfile($tlp_handle);
      $template->uncompiled_code[$tlp_handle] = str_replace($insert_before, $code.$insert_before, $template->uncompiled_code[$tlp_handle]);
    }
///////////////////////[début du plug]////////////////////
    $this->loading_lang();
    global $user;
    global $page;
    if ($user['is_the_guest'])
    {
      personal_add_before_tpl_code('menubar','<!-- BEGIN links -->','<dl id="mbIdentification">
<dd>
      <fieldset style="padding:0;text-align:center">
        <legend>{lang:ac_title_menu}</legend>
        <p>
        {lang:ac_text}
        <br>
        <a href="'.get_root_url().'plugins/'.$this->plugin_name.'/charte.php">{lang:ac_lien}</a>
        <br>
        <a href="{F_IDENTIFY}">{lang:ac_identif}</a>
        </p>
    </fieldset>
</dd>
</dl>');
    }//fin if guest
    elseif ($user['username'] == '18')
    { 
      personal_remove_tpl_code('menubar', '<dl id="mbIdentification">', '<!-- END quickconnect -->

  </dd>
</dl>');
 
      personal_add_before_tpl_code('menubar','<!-- BEGIN tags -->','<dl id="mbIdentification">
<dt>Adult content</dt>
<dd>
  <form method="post" action="{F_IDENTIFY}" class="filter" id="quickconnect">
     <fieldset>
        <label>
        {lang:ac_user_text_18} <a href="{U_LOGOUT}">{lang:ac_logout}</a>
        </label>
    </fieldset>
    </form>
</dd>
</dl>');

    }//fin if 18 ans
    elseif ($user['username'] == '16')
    {
      personal_remove_tpl_code('menubar', '<dl id="mbIdentification">', '<!-- END quickconnect -->

  </dd>
</dl>');
 
      personal_add_before_tpl_code('menubar','<!-- BEGIN tags -->','<dl id="mbIdentification">
<dt>Adult content</dt>
<dd>
  <form method="post" action="{F_IDENTIFY}" class="filter" id="quickconnect">
     <fieldset>
        <label>
        {lang:ac_user_text_16} <a href="{U_LOGOUT}">{lang:ac_logout}</a>
        </label>
    </fieldset>
    </form>
</dd>
</dl>');

    }//fin if 16-17 ans


  }//fin placer_identification
 
    function loading_lang()
    {
      global $lang;
      include(get_language_filepath('plugin.lang.php', $this->plugin_path));
    } 
 
}//fin class

//$obj = new adult_content();
$adult_content = new Adultcontent($plugin_name, $plugin_path);

add_event_handler('loc_begin_menubar', array(&$adult_content, 'placer_identification') ); 
set_plugin_data($adult_content->plugin_name, $adult_content);

Hors ligne

#14 2007-07-11 14:18:51

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [Plug-in] Adult_content

Le lien? C'est Ok pour moi.

(Vérifie le coup du générique quand même, ce n'est pas le remède miracle peut être, alors ton diagnostique sera le bienvenu).

Ton double va être sanctionné si tu ne lui conseilles pas de mettre en oeuvre rapidement ton plugin.
8-)

En plus, tu indentes sinon je te fais sucrer la mention.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#15 2007-07-11 14:21:28

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Plug-in] Adult_content

En plus, tu indentes sinon je te fais sucrer la mention.

tu veux dire hiérarchiser comme je viens de le montrer non ?

et mon double a en fait créer une deuxième gallerie à laquelle on accède par une mention légale donc ..

Dernière modification par flop25 (2007-07-11 14:23:11)

Hors ligne

  •  » Plugins
  •  » [Plug-in] Adult_content

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact