Notizie flash
realizzazione moduli amministratore per joomla 1.0.xx parte 2 Stampa
Valutazione attuale: / 0
ScarsoOttimo 
Scritto da Administrator   
Lunedì 25 Maggio 2009 23:13

Nella parte precedente abbiamo visto come e' composto il file

mod_nome_modulo.xml

in questa vedremo come realizzare l' altro file, quello relativo al codice eseguibile vero e proprio,

 mod_nome_modulo.php

 

di preciso vedremo il codice del file 

mod_rss_stat.php 

scritto per visualizzare nel lato amministratore del sito le statistiche su quante persone scaricano giornamente i feed rss e che agent (programma) usano per vederle

 

 

 

 

 

 

 

<?php
/**
* @version $Id: mod_jvtempo.php 2007-04-28 22:22:22Z Lisboa $
* @package Joomla
* @copyright Copyright (C) 2006 Joao vieira. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
global $mosConfig_offset, $mosConfig_cachepath;
//require_once( $mosConfig_absolute_path .'/administrator/includes/pageNavigation.php' );

// $primo_parametro = $params->def( 'primo_parametro' );
// $secondo_parametro = $params->def( 'secondo_parametro' );

// creazione della tabella
// parametri in tabella rss_stat
// data , conterra la data serializzata
// ip conterra l' ip dell' utente
// agent conterra l' agent dell' utente

$query    =    "CREATE TABLE IF NOT EXISTS #__rss_stat (id int(11) NOT NULL AUTO_INCREMENT, data int(11) NOT NULL , ip varchar(16) NOT NULL default '0.0.0.0', agent VARCHAR( 255 ) NOT NULL DEFAULT 'sconosciuto', PRIMARY KEY (`id`))";
    $database->setQuery($query);
    $database->query();

//calcolo della data

    $day             =    date('d');
    $month             =    date('n');
    $year             =    date('Y');
    $daystart         =    mktime(0,0,0,$month,$day,$year);
    $data             =    time();


// quindi vanno contati gli ip per giorno , giorni e settimane
// se si vuole si puo' aggiungere in altra tabella i totali per giorno, settimana e user agent
// deve essere visualizzato la statistica contenente gli ip e gli user agent
// deve essere visualizzata la statistica user agent piu' frequenti

// eliminazione dei record troppo vecchi (2 giorni)
    $temp=$daystart - 172800;
   
        $query         =  "DELETE FROM #__rss_stat WHERE data<'$temp'";
        $database->setQuery($query);
        $database->query();
   
// rss visti 2 giorni fa'
        $temp=$daystart - 86400;
        $query         =  "select count(*) FROM #__rss_stat WHERE data<'$temp'";
        $database->setQuery($query);
        $two_days     =    $database->loadResult();

// rss visti da 2 giorni fa'
       
        $query         =  "select count(*) FROM #__rss_stat";
        $database->setQuery($query);
        $last_days     =    $database->loadResult();



$query         =  "select * FROM #__rss_stat order by id asc";
$database->setQuery( $query );
$rows = $database->loadObjectList();

?>

<table class="adminlist">
<tr><td>
   
<?

echo "daystart ".$daystart."<br>"."data ".$data."<br>"."temp ".$temp."<br>"."due giorni fa' ".$two_days."<br>"."da due giorni fa' ".$last_days;

foreach ($rows as $row) {
    $indirizzo = '<br>IP: '. $row->ip;
    $user_agent= ' <br>Agent :'.$row->agent.'<br>';   

    echo $indirizzo.$user_agent;
    }

    echo "</td></tr>";



    echo "</table>";

?>

 

 

 <?php
/**
* @version $Id: mod_rss_stat.php 2008-05-10 Z Palermo-Italia $
* @package Joomla
* @copyright Copyright (C) 2008 Davide Ammirata. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL,
*/

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
global $mosConfig_offset, $mosConfig_cachepath;
//require_once( $mosConfig_absolute_path .'/administrator/includes/pageNavigation.php' );

// $primo_parametro = $params->def( 'primo_parametro' );
// $secondo_parametro = $params->def( 'secondo_parametro' );

// creazione della tabella
// parametri in tabella rss_stat
// data , conterra la data serializzata
// ip conterra l' ip dell' utente
// agent conterra l' agent dell' utente

$query    =    "CREATE TABLE IF NOT EXISTS #__rss_stat (id int(11) NOT NULL AUTO_INCREMENT, data int(11) NOT NULL , ip varchar(16) NOT NULL default '0.0.0.0', agent VARCHAR( 255 ) NOT NULL DEFAULT 'sconosciuto', PRIMARY KEY (`id`))";
    $database->setQuery($query);
    $database->query();

//calcolo della data

    $day             =    date('d');
    $month             =    date('n');
    $year             =    date('Y');
    $daystart         =    mktime(0,0,0,$month,$day,$year);
    $data             =    time();


// quindi vanno contati gli ip per giorno , giorni e settimane
// se si vuole si puo' aggiungere in altra tabella i totali per giorno, settimana e user agent
// deve essere visualizzato la statistica contenente gli ip e gli user agent
// deve essere visualizzata la statistica user agent piu' frequenti

// eliminazione dei record troppo vecchi (2 giorni)
    $temp=$daystart - 172800;
   
        $query         =  "DELETE FROM #__rss_stat WHERE data<'$temp'";
        $database->setQuery($query);
        $database->query();
   
// rss visti 2 giorni fa'
        $temp=$daystart - 86400;
        $query         =  "select count(*) FROM #__rss_stat WHERE data<'$temp'";
        $database->setQuery($query);
        $two_days     =    $database->loadResult();

// rss visti da 2 giorni fa'
       
        $query         =  "select count(*) FROM #__rss_stat";
        $database->setQuery($query);
        $last_days     =    $database->loadResult();



$query         =  "select * FROM #__rss_stat order by id asc";
$database->setQuery( $query );
$rows = $database->loadObjectList();

?>

<table class="adminlist">
<tr><td>
   
<?

echo "daystart ".$daystart."<br>"."data ".$data."<br>"."temp ".$temp."<br>"."due giorni fa' ".$two_days."<br>"."da due giorni fa' ".$last_days;

foreach ($rows as $row) {
    $indirizzo = '<br>IP: '. $row->ip;
    $user_agent= ' <br>Agent :'.$row->agent.'<br>';   

    echo $indirizzo.$user_agent;
    }

    echo "</td></tr>";



    echo "</table>";

?>

 
Make Text Bigger Make Text Smaller Reset Text Size
Home Informatica Joomla realizzazione moduli amministratore per joomla 1.0.xx parte 2

JoomlaWatch Visitors



Nazione di provenienza

89.2%ITALY ITALY
2.2%UNITED STATES UNITED STATES
1.6%GERMANY GERMANY
0.9%JAPAN JAPAN
0.8%UNITED KINGDOM UNITED KINGDOM

Numero di visitatori

Oggi: 1
Ieri: 32
Questa settimana: 123
Scorsa settimana: 213
Questo mese: 840
Scorso mese: 689
Totale: 2683


JoomlaWatch Stats 1.2.9 by Matej Koval
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counteroggi8
mod_vvisit_counterieri50
mod_vvisit_counterquesta settimana205
mod_vvisit_counterQuesto mese1198
mod_vvisit_counterdal 08/08/200912041
Visitors Counter 1.0.3
davidea.it