Pagina 1 di 1

Vietato ai Minori

Inviato: 09/02/2012, 12:20
da MarcoG
Ciao a tutti.
Avrei una domanda da porvi per un problema che credo sia di facile soluzione.

Nel mio sito hanno intenzione di scrivere dei racconti particolarmente violenti (horror) e affini e mi chiedevo se ci fosse un modo per bloccare dei singoli topic a chi è minore di 18 anni (i visitatori dovrebbero ricevere un avviso a registrarsi)...

nella mia testa ho pensato a creare una sezione nascosta ai visitatori (visibile ma inaccessibile se non si è registrati) con una restrizione per il gruppo minorenni.
C'è solo un problema a questa soluzione: non posso accatastare materiale di diversa natura (racconti e altro), quindi si tratterebbe di ammassare il materiale in questa sezione inserendo poi dei topic ombra nelle sezioni normali (cliccandoci sopra si viene reindirizzati nella sezione limitata con avviso a registrarsi o divieto in quanto non si è maggiorenni). Questa soluzione non mi piace per il disordine che si verrebbe a creare nella sezione vietata (che poi mi toccherebbe fornire di mille sotto-forum per tenerla in ordine, con buona pace per l'indicizzazione di questi racconti che sarebbe sballata).

Ora, prima di mettermi a creare una sezione (strada che alla peggio mi tocca comunque seguire), mi chiedevo se qualcuno di voi conosce una mod bella e pronta per bloccare (tipo spoiler o affini) un semplice topic ai minori... credo che basterebbe anche un bbcode in fondo: che mostrasse un invito a registrarsi e un divieto se si è registrati o minorenni...

grazie a chiunque vorrà aiutarmi ;)

Re: Vietato ai Minori

Inviato: 09/02/2012, 16:20
da Angolo
O crei un gruppo con a richiesta, tale che con la richiesta di adesione, dichiarano di essere maggiorenni, e il forum in questione sarà accessibile solo a quel gruppo; oppure crei un forum con password. Oppure ancora l'una e l'altra. Cercando sul forum, dovresti trovare info adeguate per come fare il tutto.

Re: Vietato ai Minori

Inviato: 09/02/2012, 23:26
da MarcoG
creare una sezione apposita è la soluzione più usuale, e lo so fare tranquillamente, senza neanche la necessità di creare gruppi... tuttavia cercavo qualcosa di più semplice

guardate questa mod:
http://www.phpbb.com/community/viewtopi ... &t=1402445

questa mod fa vedere un messaggio che invita a registrarsi agli utenti visitatori, nascondendo il testo incluso nel bbcode... a me serve aggiungere una funzione if che verifichi il gruppo e mostri un avviso analogo (solo che di semplice divieto) se rileva che chi sta visualizzando è iscritto al gruppo utenti minorenni...

volendo, senza modificare tutto il codice della mod, basterebbe fare una piccola modifica a questa pare di codice, sempre se ho ben capito come funziona la mod:

Codice: Seleziona tutto

function smiley_text($text, $force_option = false)
{
	global $config, $user, $phpbb_root_path, $phpEx, $template;

/* ==================================================================================
*
* @package Guest Hide BBCode MOD PHP code
* @version 1.4.0 of 14.04.2009
* @copyright (c) By Shapoval Andrey Vladimirovich (AllCity) ~ http://allcity.net.ru/
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
================================================================================== */ 
  if (!defined('INCLUDE_GUEST_HIDE_BBCODE_MOD'))
  {
    define('INCLUDE_GUEST_HIDE_BBCODE_MOD', true);
      /* === SETTING === */
      define('GUEST_HIDE_BBCODE_MOD_ENABLED', true);  /* Enable this MOD? (true = YES, false = NO) */
      define('GUEST_HIDE_BBCODE_MOD_BOT', false); /* Enable hide the text from bots? (true = YES, false = NO) */
      define('GUEST_HIDE_BBCODE_MOD_REG_LINK', true); /* Enable link to regestration or (login - if regestration disable)? (true = YES, false = NO) */
      define('HideBlockAOpen', '<div class="HideBlockA">'); /* Open HTML tag A. (FOR USER) */
      define('HideBlockAClose', '</div>'); /* Close HTML tag A. (FOR USER) */
      define('HideBlockBOpen', '<div class="HideBlockB">'); /* Open HTML tag B. (FOR GUEST) */
      define('HideBlockBClose', '</div>'); /* Close HTML tag B. (FOR GUEST) */
      define('HideBlockCLine', '<hr class="HideBlockLine" />'); /* The separation line. */
      /* =============== */
      define('HideBlockDOpen', '<!-- GuestHideBBCodeMODStart -->'); /* Open HTML replacement - Only for experts! (Do not use the # symbol) */
      define('HideBlockDClose', '<!-- GuestHideBBCodeMODEnd -->'); /* Close HTML replacement - Only for experts! (Do not use the # symbol) */
      /* === SETTING === */
    if (GUEST_HIDE_BBCODE_MOD_ENABLED)
    {
      $user->add_lang('mods/guest_hide_bbcode_mod');
      $template->assign_vars(array('GUEST_HIDE_BBCODE_MOD' => true));
    }
  }
  /* === Do not change anything below this line === */
  if (GUEST_HIDE_BBCODE_MOD_ENABLED)
  {
      if ($user->data['user_id'] == ANONYMOUS || GUEST_HIDE_BBCODE_MOD_BOT && $user->data['is_bot'])
      {
      $replace_hide = HideBlockBOpen.$user->lang['HIDE_ON'].HideBlockCLine;
        if (GUEST_HIDE_BBCODE_MOD_REG_LINK && $config['require_activation'] == USER_ACTIVATION_DISABLE)
        {
        $replace_hide .= '<a href="'.append_sid("{$phpbb_root_path}ucp.$phpEx",'mode=login').'">'.$user->lang['HIDE_REG'].'</a>';
          }
          else if (GUEST_HIDE_BBCODE_MOD_REG_LINK && $config['require_activation'] != USER_ACTIVATION_DISABLE)
          {
        $replace_hide .= '<a href="'.append_sid("{$phpbb_root_path}ucp.$phpEx",'mode=register').'">'.$user->lang['HIDE_REG'].'</a>';
          }
          else
          {
        $replace_hide .= $user->lang['HIDE_REG'];
        }
      $replace_hide .= HideBlockBClose;
        }
        else
        {
      $replace_hide = HideBlockAOpen.$user->lang['HIDE_OFF'].HideBlockCLine.'$1'.HideBlockAClose;
      }
    $text = preg_replace('#'.HideBlockDOpen.'(.*?)'.HideBlockDClose.'#', $replace_hide, $text);
  }
/* =============================================================================== */
si tratta di aggiungere alla funzione il gruppo "utenti minori", bloccando il testo e facendo apparire la scritta "vietato l'accesso ai minorenni" se l'utente che sta leggendo è nel gruppo utenti minori, lasciando il resto invariato...

purtroppo non sono abbastanza smanettone da saperlo fare...

Re: Vietato ai Minori

Inviato: 10/02/2012, 7:03
da Barrnet
MMM scusa la domanda ma.. è proprio necessario? alla fine sono solo racconti horror, visto quello che gira oggigiorno nei cellulari di "bambini" di 11\12 anni io non mi preoccuperei poi molto se leggessero un contenuto vietato ai minori, oltretutto una modifica del genere avrebbe l'utilità del tasto leave di un sito porno: chi mai lo ha premuto?
Secondo me ti basta un avviso nella sezione in cui si raccomanda l'uso della stessa solo ai maggiorenni...
Oppure potresti modificare un bbcode "spoiler" mettendo come testo "Cliccando sul seguente bottone dichiari di essere maggiorenne".

Re: Vietato ai Minori

Inviato: 10/02/2012, 14:41
da MarcoG
in realtà si tratta prettamente di un horror piuttosto violento e volevo comunque tutelarmi il più possibile, e non parlo a livello legale quanto a livello di immagine...

non si tratterebbe di un semplice tasto leave: chi vuole vedere il contenuto si deve registrare e nel modulo di registrazione (o nel pannello utente) deve inserire una data fasulla... è una tutela maggiore che mi sento di dare se possibile ai miei utenti (che spesso sono persone adulte con figli).

Interessante l'idea dello spoiler con la modifica, grazie dell'idea che adopererò per i casi meno "pesanti".
Per il resto se nessun altro ha in mente come fare quello che chiedo mi rassegnerò e farò una sezione.

Grazie per essere intervenuti in mio aiuto ;)