Risultati da 1 a 5 di 5

Discussione: Forzare gli utenti a leggere un topic

  1. #1
    Account disattivato
    Data Registrazione
    Mar 2008
    Messaggi
    234

    Forzare gli utenti a leggere un topic

    Ho installato questo plugin: Force user to read a thread

    Il problema è che se mi trovo nel forum (http://www.esempio.it/forum) mi restituisce il link corretto alla discussione (http://www.esempio.it/forum/showthread)...se invece mi trovo nel portale (www.esempio.it) mi restituisce il link errato (www.esempio.it/showthread) mancando della cartella forum...volevo sapere come poter ovviare a questo problema...
    Guardando un pò tra i template ho visto che non ne utilizza nessuno di suo, ma utilizza il template ERROR per inviare un flusso di errore che poi compare...il mio problema è quello di poter beccare il link prima che compaia a video, e di aggiungerci "$vboptions[bburl]/" così il link dovunque mi trovi sia corretto.

  2. #2
    Borg L'avatar di y2ksw
    Data Registrazione
    Nov 2004
    Località
    Bologna, Italia
    Età
    63
    Messaggi
    9,026
    Forse lo puoi fare nel hook global_complete con un plugin di tua scelta. Il contenuto dll'intera pagina è nella variabile $output. Quindi se sai un po' di PHP e sai cosa vuoi sostituire esattamente, puoi farlo in questo luogo.
    Giovanni
    http://www.trimelli.com/

    Per favore non mandatemi PM, ma scrivete sul forum. Vi sarà risposto prima.

  3. #3
    Account disattivato
    Data Registrazione
    Mar 2008
    Messaggi
    234
    cioè?

  4. #4
    Account disattivato
    Data Registrazione
    Mar 2008
    Messaggi
    234
    Se puoi essere d'aiuto il codice del plugin è:

    Codice:
    if (!($vbulletin->options['forcereadthread_enableforguests'] == 0 && $vbulletin->userinfo['userid'] == 0) && !($vbulletin->options['forcereadthread_disable_file'] != '' && in_array(substr($_SERVER['PHP_SELF'], (strrpos($_SERVER['PHP_SELF'], '/') + 1)), explode("\r\n", $vbulletin->options['forcereadthread_disable_file']))) && !($vbulletin->options['forcereadthread_disable_this_script'] != '' && in_array(THIS_SCRIPT, explode("\r\n", $vbulletin->options['forcereadthread_disable_this_script']))))
    {
        $where_usergroups[] = "force_read_usergroups = ''";
    
        $force_usergroupids = fetch_membergroupids_array($vbulletin->userinfo);
    
        foreach ($force_usergroupids AS $force_usergroupid)
        {
            $where_usergroups[] = "force_read_usergroups LIKE '%-$force_usergroupid-%'";
        }
    
        $where_forums[] = "force_read_forums = ''";
    
        if ($foruminfo)
        {
            $force_forumids = explode(',', $foruminfo['parentlist']);
    
            foreach ($force_forumids AS $force_forumid)
            {
                if ($force_forumid != '-1')
                {
                    $where_forums[] = "force_read_forums LIKE '%-$force_forumid-%'";
                }
            }
        }
    
        if ($vbulletin->userinfo['userid'] == 0)
        {
            $force_thread = $db->query_first("
                SELECT *
                FROM " . TABLE_PREFIX . "thread AS thread
                LEFT JOIN " . TABLE_PREFIX . "force_read_guests AS force_read_guests ON (thread.threadid = force_read_guests.force_read_threadid AND force_read_guests.force_read_idhash = '".SESSION_IDHASH."')
                WHERE thread.force_read = '1' AND (thread.force_read_expire_date = '0' OR thread.force_read_expire_date > '".TIMENOW."') AND (". implode(' OR ', $where_usergroups) .") AND (". implode(' OR ', $where_forums) .") AND force_read_guests.force_read_idhash IS NULL
                ORDER BY force_read_order ASC
            ");
        }
        else
        {
            $force_thread = $db->query_first("
                SELECT *
                FROM " . TABLE_PREFIX . "thread AS thread
                LEFT JOIN " . TABLE_PREFIX . "force_read_users AS force_read_users ON (thread.threadid = force_read_users.force_read_threadid AND force_read_users.force_read_userid = '".$vbulletin->userinfo['userid']."')
                WHERE thread.force_read = '1' AND (thread.force_read_expire_date = '0' OR thread.force_read_expire_date > '".TIMENOW."') AND (". implode(' OR ', $where_usergroups) .") AND (". implode(' OR ', $where_forums) .") AND force_read_users.force_read_userid IS NULL
                ORDER BY force_read_order ASC
            ");
        }
    
        if ($force_thread)
        {
            if ($threadinfo)
            {
                $force_thread_active = $db->query_first("
                    SELECT *
                    FROM " . TABLE_PREFIX . "thread AS thread
                    WHERE force_read = '1' AND threadid = '$threadinfo[threadid]'
                ");
            }
    
            $force_forumperms = fetch_permissions($force_thread['forumid']);
    
            if (($force_forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) && ($force_forumperms & $vbulletin->bf_ugp_forumpermissions['canviewthreads']) && !($force_thread_active))
            {
                eval(standard_error(fetch_error('forceusersreadthread_read_thread', $force_thread['threadid'])));
            }
            else
            {
                if ($force_thread_active)
                {
                    $force_thread['forumid'] = $threadinfo['threadid'];
                }
    
                if ($vbulletin->userinfo['userid'] == 0)
                {
                    $force_already = $db->query_first("
                        SELECT *
                        FROM " . TABLE_PREFIX . "force_read_guests AS force_read_guests
                        WHERE force_read_idhash = '".SESSION_IDHASH."' AND force_read_threadid = '$force_thread[forumid]'
                    ");
    
                    if (!($force_already))
                    {
                        $db->query_write("
                            INSERT INTO " . TABLE_PREFIX . "force_read_guests
                                (force_read_idhash, force_read_threadid)
                            VALUES
                                ('".SESSION_IDHASH."', '$force_thread[forumid]')
                        ");
                    }
                }
                else
                {
                    $force_already = $db->query_first("
                        SELECT *
                        FROM " . TABLE_PREFIX . "force_read_users AS force_read_users
                        WHERE force_read_userid = '".$vbulletin->userinfo['userid']."' AND force_read_threadid = '$force_thread[forumid]'
                    ");
    
                    if (!($force_already))
                    {
                        $db->query_write("
                            INSERT INTO " . TABLE_PREFIX . "force_read_users
                                (force_read_userid, force_read_threadid)
                            VALUES
                                ('".$vbulletin->userinfo['userid']."', '$force_thread[forumid]')
                        ");
                    }
                }
            }
        }
    }

  5. #5
    Account disattivato
    Data Registrazione
    Mar 2008
    Messaggi
    234
    risolto modificando $vbphrase[forceusersreadthread_read_thread] (la frase in pratica) così:

    Codice:
    Gli amministratori vogliono che tu legga questa discussione prima di continuare la navigazione....<br />
    <br />
    Puoi vedere la discussione <b><a href="http://esempio.it/forum/showthread.php?t={1}">QUI</a></b>...buona lettura...
    al posto di

    Codice:
    Gli amministratori vogliono che tu legga questa discussione prima di continuare la navigazione....<br />
    <br />
    Puoi vedere la discussione <b><a href="showthread.php?t={1}">QUI</a></b>...buona lettura...
    In pratica ho messo l'url completo...nn ci avevo minimamente pensato che si poteva risolvere così...

Discussioni Simili

  1. vBulletin 3.6.x Problema utenti sospetti
    Di Forgo nel forum VBulletin 3
    Risposte: 15
    Ultimo Messaggio: 03-03-2009, 10:32
  2. vBulletin 3.6.x apertura topic
    Di iettafune nel forum VBulletin 3
    Risposte: 6
    Ultimo Messaggio: 08-01-2008, 23:40
  3. vBulletin 3.6.x Modifica del titolo di una discussione da parte degli utenti
    Di RedFoxy nel forum VBulletin 3
    Risposte: 3
    Ultimo Messaggio: 28-11-2007, 22:45
  4. vBulletin 3.6.x Gruppo utenti, promozioni in base al contapost
    Di The Lord of Diplomacy nel forum VBulletin 3
    Risposte: 19
    Ultimo Messaggio: 01-04-2007, 16:12
  5. vBulletin 3.0.x Leggere pvt degli utenti
    Di piero06 nel forum VBulletin 3
    Risposte: 7
    Ultimo Messaggio: 30-05-2005, 11:19

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •