Visualizzazione risultati 1 fino 5 di 5

Discussione: [PHP-Fusion] Far comparire il codice contatore solo nelle pagine non amministrative

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,232

    Predefinito [PHP-Fusion] Far comparire il codice contatore solo nelle pagine non amministrative

    Buonasera a tutti comunità di AlterVista,
    mi trovo alle prime armi con la modifica di un CMS, avrei bisogno di far comparire il codice contatore in fondo al sito solo se non ci troviamo in pagine amministrative, cosi che il contatore mi monitorizzi solo le pagine pubbliche.

    Per fare ciò so che devo modificare il file footer.php facendo in modo che se nell'URL del sito si trovi la parola "administration" non mostri il codice, mentre in caso contrario lo mostri.
    Per fare ciò mi sono servito di eregi ma non funziona, vi riporto il codice originale e quello modificato per cercare aiuto:
    Codice PHP:
    <?php
    /*---------------------------------------------------+
    | PHP-Fusion 6 Content Management System
    +----------------------------------------------------+
    | Copyright © 2002 - 2006 Nick Jones
    | http://www.php-fusion.co.uk/
    +----------------------------------------------------+
    | Released under the terms & conditions of v2 of the
    | GNU General Public License. For details refer to
    | the included gpl.txt file or visit http://gnu.org
    +----------------------------------------------------*/
    if (!defined("IN_FUSION")) { header("Location: index.php"); exit; }

    render_footer(false);

    echo
    "</body>\n</html>\n";

    if (
    iADMIN) {
    $result = dbquery("DELETE FROM ".$db_prefix."flood_control WHERE flood_timestamp < '".(time()-360)."'");
    $result = dbquery("DELETE FROM ".$db_prefix."thread_notify WHERE notify_datestamp < '".(time()-1209600)."'");
    $result = dbquery("DELETE FROM ".$db_prefix."captcha WHERE captcha_datestamp < '".(time()-360)."'");
    $result = dbquery("DELETE FROM ".$db_prefix."new_users WHERE user_datestamp < '".(time()-86400)."'");
    }

    mysql_close();

    ob_end_flush();
    ?>
    Modificato:
    Codice PHP:
    <?php
    /*---------------------------------------------------+
    | PHP-Fusion 6 Content Management System
    +----------------------------------------------------+
    | Copyright © 2002 - 2006 Nick Jones
    | http://www.php-fusion.co.uk/
    +----------------------------------------------------+
    | Released under the terms & conditions of v2 of the
    | GNU General Public License. For details refer to
    | the included gpl.txt file or visit http://gnu.org
    +----------------------------------------------------*/
    if (!defined("IN_FUSION")) { header("Location: index.php"); exit; }

    render_footer(false);
    $qui = $PHP_SELF;
    if(
    eregi($qui,"administration")){
    $cod = "</body>\n</html>\n";
    }else{
    $cod = "<!-- Codice Contatore -->\n</body>\n</html>\n";
    }
    echo
    "$cod";

    if (
    iADMIN) {
    $result = dbquery("DELETE FROM ".$db_prefix."flood_control WHERE flood_timestamp < '".(time()-360)."'");
    $result = dbquery("DELETE FROM ".$db_prefix."thread_notify WHERE notify_datestamp < '".(time()-1209600)."'");
    $result = dbquery("DELETE FROM ".$db_prefix."captcha WHERE captcha_datestamp < '".(time()-360)."'");
    $result = dbquery("DELETE FROM ".$db_prefix."new_users WHERE user_datestamp < '".(time()-86400)."'");
    }

    mysql_close();

    ob_end_flush();
    ?>
    Grazie a chi mi aiuta
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Guest

    Predefinito

    Secondo me, non è un "buon" metodo quello che stai cercando di applicare.
    La differenza tra pagine amministrative e non, è solo nell'indirizzo?

    Esiste almeno una "parte" (potrebbe anche essere una sezione qualunque, per esempio un menù o un footer diverso) "diversa" tra amministrazione e pagine pubbliche?

    Se trovi questa "parte" o casa la fà visualizzare/nascondere, hai trovato il modo di mettere il codice del contatore...

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,232

    Predefinito

    No mi dispiace, il footer è unico per tutte le pagine per questo sto utilizzando questo codice.
    Sto cercando di vedere se Google Analytics (codice contatore) riesce ad eliminare determinate cartelle dall'analisi visite cosi il problema sarebbe risolto.
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    Guest

    Predefinito

    Forse non mi sono spiegato bene.
    Per esempio, esiste un menù che viene visualizzato solo all'amministratore;
    Quello che devi chiederti è "perchè un utente non vede il menù, l'amministratore invece si?"
    Qual' è la variabile che viene controllata affinchè il menù sia visibile o meno?
    Probabilmente troverai una cosa del genere:
    Codice PHP:
    if ($privilegio=='admin'){
    //visualizza menù
    }
    Nel footer allora scriverai:
    Codice PHP:
    if ($privilegio!='admin'){
    //codice contatore
    }
    Ciao
    Ultima modifica di giuseppeiemma : 10-05-2008 alle ore 17.55.04

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,232

    Predefinito

    Il problema è che non so dove mettere mani, io a stento capisco un codice PHP scaricato, figuriamoci un CMS comunque ci proverò.
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •