mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-03-28 17:42:57 +01:00
feature 564: logs in the history table each user login
feature 562: possibility to log page visits for any combination of administrators/users/guests git-svn-id: http://piwigo.org/svn/trunk@1565 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -46,22 +46,6 @@ else
|
||||
{
|
||||
$page['section'] = $_GET['section'];
|
||||
}
|
||||
//------------------------------------------------------ $conf reinitialization
|
||||
$result = pwg_query('SELECT param,value FROM '.CONFIG_TABLE);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
$conf[$row['param']] = $row['value'];
|
||||
// if the parameter is present in $_POST array (if a form is submited), we
|
||||
// override it with the submited value
|
||||
if (isset($_POST[$row['param']]))
|
||||
{
|
||||
$conf[$row['param']] = $_POST[$row['param']];
|
||||
if ( 'page_banner'==$row['param'] )
|
||||
{ // should we do it for all ?
|
||||
$conf[$row['param']] = stripslashes( $conf[$row['param']] );
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------ verification and registration of modifications
|
||||
if (isset($_POST['submit']))
|
||||
{
|
||||
@@ -74,6 +58,10 @@ if (isset($_POST['submit']))
|
||||
{
|
||||
array_push($page['errors'], $lang['conf_gallery_url_error']);
|
||||
}
|
||||
$_POST['log'] = empty($_POST['log'])?'false':'true';
|
||||
$_POST['history_admin'] = empty($_POST['history_admin'])?'false':'true';
|
||||
$_POST['history_guest'] = empty($_POST['history_guest'])?'false':'true';
|
||||
$_POST['login_history'] = empty($_POST['login_history'])?'false':'true';
|
||||
break;
|
||||
}
|
||||
case 'comments' :
|
||||
@@ -119,7 +107,7 @@ if (isset($_POST['submit']))
|
||||
// updating configuration if no error found
|
||||
if (count($page['errors']) == 0)
|
||||
{
|
||||
// echo '<pre>'; print_r($_POST); echo '</pre>';
|
||||
//echo '<pre>'; print_r($_POST); echo '</pre>';
|
||||
$result = pwg_query('SELECT * FROM '.CONFIG_TABLE);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
@@ -147,6 +135,13 @@ UPDATE '.CONFIG_TABLE.'
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------ $conf reinitialization
|
||||
$result = pwg_query('SELECT param,value FROM '.CONFIG_TABLE);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
$conf[$row['param']] = $row['value'];
|
||||
}
|
||||
|
||||
//----------------------------------------------------- template initialization
|
||||
$template->set_filenames( array('config'=>'admin/configuration.tpl') );
|
||||
|
||||
@@ -171,16 +166,20 @@ switch ($page['section'])
|
||||
{
|
||||
$html_check='checked="checked"';
|
||||
|
||||
$history_yes = ($conf['log']=='true')?'checked="checked"':'';
|
||||
$history_no = ($conf['log']=='false')?'checked="checked"':'';
|
||||
$lock_yes = ($conf['gallery_locked']=='true')?'checked="checked"':'';
|
||||
$lock_no = ($conf['gallery_locked']=='false')?'checked="checked"':'';
|
||||
$history_users = ($conf['log']=='true')?$html_check:'';
|
||||
$history_admin = ($conf['history_admin']=='true')?$html_check:'';
|
||||
$history_guest = ($conf['history_guest']=='true')?$html_check:'';
|
||||
$login_history = ($conf['login_history']=='true')?$html_check:'';
|
||||
|
||||
$template->assign_block_vars(
|
||||
'general',
|
||||
array(
|
||||
'HISTORY_YES'=>$history_yes,
|
||||
'HISTORY_NO'=>$history_no,
|
||||
'HISTORY_USERS'=>$history_users,
|
||||
'HISTORY_ADMIN'=>$history_admin,
|
||||
'HISTORY_GUEST'=>$history_guest,
|
||||
'LOGIN_HISTORY'=>$login_history,
|
||||
'GALLERY_LOCKED_YES'=>$lock_yes,
|
||||
'GALLERY_LOCKED_NO'=>$lock_no,
|
||||
($conf['rate']=='true'?'RATE_YES':'RATE_NO')=>$html_check,
|
||||
|
||||
@@ -64,6 +64,7 @@ SELECT '.$conf['user_fields']['id'].' AS id,
|
||||
$remember_me = true;
|
||||
}
|
||||
log_user($row['id'], $remember_me);
|
||||
pwg_log_login( $username );
|
||||
redirect(empty($redirect_to) ? make_index_url() : $redirect_to);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -430,9 +430,6 @@ $conf['upload_maxwidth_thumbnail'] = 150;
|
||||
// nb_logs_page : how many logs to display on a page
|
||||
$conf['nb_logs_page'] = 300;
|
||||
|
||||
// history_admin : history admin visits ?
|
||||
$conf['history_admin'] = false;
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | urls |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
@@ -384,15 +384,40 @@ function pwg_log( $file, $category, $picture = '' )
|
||||
{
|
||||
global $conf, $user;
|
||||
|
||||
if ($conf['log'])
|
||||
if ( is_admin() )
|
||||
{
|
||||
$doit=$conf['history_admin'];
|
||||
}
|
||||
elseif ( $user['is_the_guest'] )
|
||||
{
|
||||
$doit=$conf['history_guest'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$doit = $conf['log'];
|
||||
}
|
||||
|
||||
if ($doit)
|
||||
{
|
||||
if (($conf['history_admin']) or ((! $conf['history_admin'])
|
||||
and (!is_admin())))
|
||||
{
|
||||
$login = ($user['id'] == $conf['guest_id'])
|
||||
? 'guest' : addslashes($user['username']);
|
||||
insert_into_history($login, $file, $category, $picture);
|
||||
}
|
||||
}
|
||||
|
||||
$query = '
|
||||
function pwg_log_login( $username )
|
||||
{
|
||||
global $conf;
|
||||
if ( $conf['login_history'] )
|
||||
{
|
||||
insert_into_history($username, 'login', '', '');
|
||||
}
|
||||
}
|
||||
|
||||
// inserts a row in the history table
|
||||
function insert_into_history( $login, $file, $category, $picture)
|
||||
{
|
||||
$query = '
|
||||
INSERT INTO '.HISTORY_TABLE.'
|
||||
(date,login,IP,file,category,picture)
|
||||
VALUES
|
||||
@@ -403,9 +428,7 @@ INSERT INTO '.HISTORY_TABLE.'
|
||||
\''.addslashes(strip_tags($category)).'\',
|
||||
\''.addslashes($picture).'\')
|
||||
;';
|
||||
pwg_query($query);
|
||||
}
|
||||
}
|
||||
pwg_query($query);
|
||||
}
|
||||
|
||||
// format_date returns a formatted date for display. The date given in
|
||||
@@ -461,7 +484,7 @@ function format_date($date, $type = 'us', $show_time = false)
|
||||
return $formated_date;
|
||||
}
|
||||
|
||||
function pwg_stripslashes($value)
|
||||
function pwg_stripslashes($value)
|
||||
{
|
||||
if (get_magic_quotes_gpc())
|
||||
{
|
||||
@@ -470,7 +493,7 @@ function pwg_stripslashes($value)
|
||||
return $value;
|
||||
}
|
||||
|
||||
function pwg_addslashes($value)
|
||||
function pwg_addslashes($value)
|
||||
{
|
||||
if (!get_magic_quotes_gpc())
|
||||
{
|
||||
@@ -479,7 +502,7 @@ function pwg_addslashes($value)
|
||||
return $value;
|
||||
}
|
||||
|
||||
function pwg_quotemeta($value)
|
||||
function pwg_quotemeta($value)
|
||||
{
|
||||
if (get_magic_quotes_gpc()) {
|
||||
$value = stripslashes($value);
|
||||
@@ -699,7 +722,7 @@ function get_thumbnail_src($path, $tn_ext = '', $with_rewrite = true)
|
||||
function my_error($header)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
|
||||
$error = '<pre>';
|
||||
$error.= $header;
|
||||
$error.= '[mysql error '.mysql_errno().'] ';
|
||||
@@ -944,7 +967,7 @@ function get_available_upgrade_ids()
|
||||
function load_conf_from_db()
|
||||
{
|
||||
global $conf;
|
||||
|
||||
|
||||
$query = '
|
||||
SELECT param,value
|
||||
FROM '.CONFIG_TABLE.'
|
||||
@@ -959,7 +982,7 @@ SELECT param,value
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
$conf[ $row['param'] ] = isset($row['value']) ? $row['value'] : '';
|
||||
|
||||
|
||||
// If the field is true or false, the variable is transformed into a
|
||||
// boolean value.
|
||||
if ($conf[$row['param']] == 'true' or $conf[$row['param']] == 'false')
|
||||
|
||||
@@ -19,7 +19,9 @@ INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('gallery_url','ht
|
||||
INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('rate','true','Rating pictures feature is enabled');
|
||||
INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('rate_anonymous','true','Rating pictures feature is also enabled for visitors');
|
||||
INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('page_banner','<h1>PhpWebGallery demonstration site</h1><p>My photos web site</p>','html displayed on the top each page of your gallery');
|
||||
|
||||
INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('history_admin','false','keep a history of administrator visits on your website');
|
||||
INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('history_guest','true','keep a history of guest visits on your website');
|
||||
INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('login_history','true','keep a history of user logins on your website');
|
||||
-- Notification by mail
|
||||
INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('nbm_send_mail_as','','Send mail as param value for notification by mail');
|
||||
INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('nbm_send_detailed_content','true','Send detailed content for notification by mail');
|
||||
|
||||
52
install/db/30-database.php
Normal file
52
install/db/30-database.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | PhpWebGallery - a PHP based picture gallery |
|
||||
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $RCSfile$
|
||||
// | last update : $Date: 2006-07-23 14:17:00 +0200 (dim, 23 jui 2006) $
|
||||
// | last modifier : $Author: nikrou $
|
||||
// | revision : $Revision: 1492 $
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | This program is free software; you can redistribute it and/or modify |
|
||||
// | it under the terms of the GNU General Public License as published by |
|
||||
// | the Free Software Foundation |
|
||||
// | |
|
||||
// | This program is distributed in the hope that it will be useful, but |
|
||||
// | WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
||||
// | General Public License for more details. |
|
||||
// | |
|
||||
// | You should have received a copy of the GNU General Public License |
|
||||
// | along with this program; if not, write to the Free Software |
|
||||
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
|
||||
// | USA. |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
if (!defined('PHPWG_ROOT_PATH'))
|
||||
{
|
||||
die('Hacking attempt!');
|
||||
}
|
||||
|
||||
$upgrade_description = 'Add history_guest and login_history to #config';
|
||||
|
||||
$query = '
|
||||
INSERT INTO '.PREFIX_TABLE."config (param,value,comment) VALUES ('history_admin','false','keep a history of administrator visits on your website');";
|
||||
pwg_query($query);
|
||||
|
||||
$query = '
|
||||
INSERT INTO '.PREFIX_TABLE."config (param,value,comment) VALUES ('history_guest','true','keep a history of guest visits on your website');";
|
||||
pwg_query($query);
|
||||
|
||||
$query = '
|
||||
INSERT INTO '.PREFIX_TABLE."config (param,value,comment) VALUES ('login_history','true','keep a history of user logins on your website');";
|
||||
pwg_query($query);
|
||||
|
||||
echo
|
||||
"\n"
|
||||
. $upgrade_description
|
||||
."\n"
|
||||
;
|
||||
?>
|
||||
@@ -99,6 +99,7 @@ $lang['Link all category elements to a new category'] = 'Link all category eleme
|
||||
$lang['Link all category elements to some existing categories'] = 'Link all category elements to some existing categories';
|
||||
$lang['Linked categories'] = 'Linked categories';
|
||||
$lang['Lock gallery'] = 'Lock gallery';
|
||||
$lang['Login history'] = 'User login history';
|
||||
$lang['Maintenance'] = 'Maintenance';
|
||||
$lang['Manage permissions for a category'] = 'Manage permissions for a category';
|
||||
$lang['Manage permissions for group "%s"'] = 'Manage permissions for group "%s"';
|
||||
|
||||
@@ -21,12 +21,6 @@ page.</li>
|
||||
|
||||
<li><strong>Gallery URL</strong>: used for the RSS feed.</li>
|
||||
|
||||
<li><strong>History</strong>: visits on pages <span
|
||||
class="pwgScreen">category.php</span> and <span
|
||||
class="pwgScreen">picture.php</span> will be registered in
|
||||
<code>history</code> table. Visits will be shown in <span
|
||||
class="pwgScreen">Administration, General, History</span>.</li>
|
||||
|
||||
<li><strong>Lock gallery</strong>: Lock the entire gallery for
|
||||
maintenance. Only administrator users will be able to reach the
|
||||
gallery.</li>
|
||||
@@ -36,6 +30,20 @@ page.</li>
|
||||
<li><strong>Rating by guests</strong>: Even non registered users can
|
||||
rate images.</li>
|
||||
|
||||
<li><strong>History Users</strong>: visits by registrered users on pages <span
|
||||
class="pwgScreen">category.php</span> and <span
|
||||
class="pwgScreen">picture.php</span> will be saved in the
|
||||
<code>history</code> table. Visits will be shown in <span
|
||||
class="pwgScreen">Administration, General, History</span>.</li>
|
||||
|
||||
<li><strong>History Administrator</strong>: page visits by administrators
|
||||
will be saved.</li>
|
||||
|
||||
<li><strong>History Guests</strong>: page visits by guests will be saved.</li>
|
||||
|
||||
<li><strong>User login history</strong>: when a user logs in, it will be
|
||||
logged in the <code>history</code> table.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@ $lang['Link all category elements to a new category'] = 'Associer tous les
|
||||
$lang['Link all category elements to some existing categories'] = 'Associer tous les éléments de la catégorie à des catégories existantes';
|
||||
$lang['Linked categories'] = 'Catégories associées';
|
||||
$lang['Lock gallery'] = 'Verrouiller la galerie';
|
||||
$lang['Login history'] = 'Historique des connexions';
|
||||
$lang['Maintenance'] = 'Maintenance';
|
||||
$lang['Manage permissions for a category'] = 'Gérer les permissions pour une catégorie';
|
||||
$lang['Manage permissions for group "%s"'] = 'Gérer les permissions pour le groupe "%s"';
|
||||
|
||||
@@ -21,12 +21,6 @@ pages.</li>
|
||||
|
||||
<li><strong>URL de la galerie</strong>: utilisé pour le flux RSS.</li>
|
||||
|
||||
<li><strong>Historique</strong>: visites des pages <span
|
||||
class="pwgScreen">category.php</span> et <span
|
||||
class="pwgScreen">picture.php</span> sont enregistrées dans la table
|
||||
<code>history</code>. Les visites sont affichées dans l'écran <span
|
||||
class="pwgScreen">Administration, Général, Historique</span>.</li>
|
||||
|
||||
<li><strong>Verrouiller la galerie</strong>: Verrouiller l'ensemble de la
|
||||
galerie pour maintenance. Seul les administrateurs pourront accéder à la
|
||||
galerie.</li>
|
||||
@@ -36,6 +30,21 @@ galerie.</li>
|
||||
<li><strong>Notation par les visiteurs</strong>: Même les utilisateurs
|
||||
non enregistrés peuvent noter les images.</li>
|
||||
|
||||
<li><strong>Historique Utilisateurs</strong>: les visites des pages <span
|
||||
class="pwgScreen">index.php</span> et <span
|
||||
class="pwgScreen">picture.php</span> par les utilisateurs enregistrés sont
|
||||
enregistrées dans la table <code>history</code>. Les visites sont affichées
|
||||
dans l'écran <span class="pwgScreen">Administration, Général, Historique</span>.</li>
|
||||
|
||||
<li><strong>Historique Administrateur</strong>: les visites des pages
|
||||
par les administrateurs sont enregistrées.</li>
|
||||
|
||||
<li><strong>Historique Invités</strong>: les visites des pages
|
||||
par les invités sont enregistrées.</li>
|
||||
|
||||
<li><strong>Historique des connexions</strong>: chaque connexion
|
||||
utilisateur, est enregistrée dans la table <code>history</code>.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
@@ -48,7 +48,6 @@ if (isset($_POST['submit']))
|
||||
if (count($errors) == 0)
|
||||
{
|
||||
$user_id = get_userid($_POST['login']);
|
||||
log_user( $user_id, false);
|
||||
redirect(make_index_url());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,18 +34,12 @@
|
||||
<input type="text" maxlength="255" size="50" name="gallery_url" id="gallery_url" value="{general.CONF_GALLERY_URL}" />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class="property">{lang:History}</span>
|
||||
<label><input type="radio" class="radio" name="log" value="true" {general.HISTORY_YES} />{lang:Yes}</label>
|
||||
<label><input type="radio" class="radio" name="log" value="false" {general.HISTORY_NO} />{lang:No}</label>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class="property">{lang:Lock gallery}</span>
|
||||
<label><input type="radio" class="radio" name="gallery_locked" value="true" {general.GALLERY_LOCKED_YES} />{lang:Yes}</label>
|
||||
<label><input type="radio" class="radio" name="gallery_locked" value="false" {general.GALLERY_LOCKED_NO} />{lang:No}</label>
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<span class="property">{lang:Rating}</span>
|
||||
<label><input type="radio" class="radio" name="rate" value="true" {general.RATE_YES} />{lang:Yes}</label>
|
||||
@@ -57,6 +51,29 @@
|
||||
<label><input type="radio" class="radio" name="rate_anonymous" value="true" {general.RATE_ANONYMOUS_YES} />{lang:Yes}</label>
|
||||
<label><input type="radio" class="radio" name="rate_anonymous" value="false" {general.RATE_ANONYMOUS_NO} />{lang:No}</label>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<fieldset>
|
||||
<legend>{lang:History}</legend>
|
||||
<ul>
|
||||
<li>
|
||||
<label><span class="property">{lang:Users}</span><input type="checkbox" name="log" {general.HISTORY_USERS} /></label>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label><span class="property">{lang:user_status_admin}</span><input type="checkbox" name="history_admin" {general.HISTORY_ADMIN} /></label>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label><span class="property">{lang:Guests}</span><input type="checkbox" name="history_guest" {general.HISTORY_GUEST} /></label>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label><span class="property">{lang:Login history}</span><input type="checkbox" name="login_history" {general.LOGIN_HISTORY} /></label>
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<!-- END general -->
|
||||
|
||||
Reference in New Issue
Block a user