--------------------+
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
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+
Hors ligne
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
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)
Hors ligne
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
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
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! ;-)
Hors ligne
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
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
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
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-)
Hors ligne
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
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
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.
Hors ligne
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