mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-26 07:49:28 +01:00
phpgw_access_log --> egw_access_log
This commit is contained in:
parent
f6e4328f85
commit
1f37f024ca
@ -14,35 +14,31 @@
|
|||||||
class soaccess_history
|
class soaccess_history
|
||||||
{
|
{
|
||||||
var $db;
|
var $db;
|
||||||
|
var $table = 'egw_access_log';
|
||||||
|
|
||||||
function soaccess_history()
|
function soaccess_history()
|
||||||
{
|
{
|
||||||
$this->db = clone($GLOBALS['egw']->db);
|
$this->db = clone($GLOBALS['egw']->db);
|
||||||
|
$this->db->set_app('phpgwapi');
|
||||||
}
|
}
|
||||||
|
|
||||||
function test_account_id($account_id)
|
function test_account_id($account_id)
|
||||||
{
|
{
|
||||||
if ($account_id)
|
if ($account_id)
|
||||||
{
|
{
|
||||||
return " where account_id='$account_id'";
|
return array('account_id' => $account_id);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function list_history($account_id,$start,$order,$sort)
|
function &list_history($account_id,$start,$order,$sort)
|
||||||
{
|
{
|
||||||
$where = $this->test_account_id($account_id);
|
$where = $this->test_account_id($account_id);
|
||||||
|
|
||||||
$this->db->limit_query("select loginid,ip,li,lo,account_id,sessionid from phpgw_access_log $where order by li desc",$start,__LINE__,__FILE__);
|
$this->db->select($this->table,'loginid,ip,li,lo,account_id,sessionid',$where,__LINE__,__FILE__,(int) $start,'ORDER BY li DESC');
|
||||||
while ($this->db->next_record())
|
while (($row = $this->db->row(true)))
|
||||||
{
|
{
|
||||||
$records[] = array(
|
$records[] = $row;
|
||||||
'loginid' => $this->db->f('loginid'),
|
|
||||||
'ip' => $this->db->f('ip'),
|
|
||||||
'li' => $this->db->f('li'),
|
|
||||||
'lo' => $this->db->f('lo'),
|
|
||||||
'account_id' => $this->db->f('account_id'),
|
|
||||||
'sessionid' => $this->db->f('sessionid')
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
return $records;
|
return $records;
|
||||||
}
|
}
|
||||||
@ -51,22 +47,20 @@
|
|||||||
{
|
{
|
||||||
$where = $this->test_account_id($account_id);
|
$where = $this->test_account_id($account_id);
|
||||||
|
|
||||||
$this->db->query("select count(*) from phpgw_access_log $where");
|
$this->db->select($this->table,'COUNT(*)',$where,__LINE__,__FILE__);
|
||||||
$this->db->next_record();
|
|
||||||
|
|
||||||
return $this->db->f(0);
|
return $this->db->next_record() ? $this->db->f(0) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
function return_logged_out($account_id)
|
function return_logged_out($account_id)
|
||||||
{
|
{
|
||||||
|
$where = array('lo != 0');
|
||||||
if ($account_id)
|
if ($account_id)
|
||||||
{
|
{
|
||||||
$where = "and account_id='$account_id'";
|
$where['account_id'] = $account_id;
|
||||||
}
|
}
|
||||||
|
$this->db->select($this->table,'COUNT(*)',$where,__LINE__,__FILE__);
|
||||||
$this->db->query("select count(*) from phpgw_access_log where lo!=0 $where");
|
|
||||||
$this->db->next_record();
|
return $this->db->next_record() ? $this->db->f(0) : 0;
|
||||||
|
|
||||||
return $this->db->f(0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,6 +104,11 @@
|
|||||||
* @var object holder for the database object
|
* @var object holder for the database object
|
||||||
*/
|
*/
|
||||||
var $db;
|
var $db;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var $access_table name of access-log table
|
||||||
|
*/
|
||||||
|
var $access_table = 'egw_access_log';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array publicly available methods
|
* @var array publicly available methods
|
||||||
@ -136,13 +141,14 @@
|
|||||||
function sessions_($domain_names=null)
|
function sessions_($domain_names=null)
|
||||||
{
|
{
|
||||||
$this->db = clone($GLOBALS['egw']->db);
|
$this->db = clone($GLOBALS['egw']->db);
|
||||||
|
$this->db->set_app('phpgwapi');
|
||||||
$this->sessionid = get_var('sessionid',array('GET','COOKIE'));
|
$this->sessionid = get_var('sessionid',array('GET','COOKIE'));
|
||||||
$this->kp3 = get_var('kp3',array('GET','COOKIE'));
|
$this->kp3 = get_var('kp3',array('GET','COOKIE'));
|
||||||
|
|
||||||
$this->phpgw_domains = $domain_names;
|
$this->phpgw_domains = $domain_names;
|
||||||
|
|
||||||
/* Create the crypto object */
|
/* Create the crypto object */
|
||||||
$GLOBALS['egw']->crypto = CreateObject('phpgwapi.crypto');
|
$GLOBALS['egw']->crypto =& CreateObject('phpgwapi.crypto');
|
||||||
if ($GLOBALS['egw_info']['server']['usecookies'])
|
if ($GLOBALS['egw_info']['server']['usecookies'])
|
||||||
{
|
{
|
||||||
$this->phpgw_set_cookiedomain();
|
$this->phpgw_set_cookiedomain();
|
||||||
@ -600,26 +606,30 @@
|
|||||||
{
|
{
|
||||||
$now = time();
|
$now = time();
|
||||||
|
|
||||||
if ($login != '')
|
if ($login)
|
||||||
{
|
{
|
||||||
if (strlen($login) > 30)
|
if (strlen($login) > 30)
|
||||||
{
|
{
|
||||||
$login = substr($login,0,30);
|
$login = substr($login,0,30);
|
||||||
}
|
}
|
||||||
$GLOBALS['egw']->db->query('INSERT INTO phpgw_access_log(sessionid,loginid,ip,li,lo,account_id)'
|
$GLOBALS['egw']->db->insert($this->access_table,array(
|
||||||
. " VALUES ('" . $sessionid . "','" . $this->db->db_addslashes($login). "','"
|
'sessionid' => $sessionid,
|
||||||
. $this->db->db_addslashes($user_ip) . "',$now,0," . (int)$account_id .')',__LINE__,__FILE__);
|
'loginid' => $login,
|
||||||
|
'ip' => $user_ip,
|
||||||
|
'li' => $now,
|
||||||
|
'lo' => 0,
|
||||||
|
'account_id'=> $account_id,
|
||||||
|
),__LINE__,__FILE__);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->db->query("UPDATE phpgw_access_log SET lo=" . $now . " WHERE sessionid='"
|
$GLOBALS['egw']->db->update($this->access_table,array('lo' => $now),array('sessionid' => $sessionid),__LINE__,__FILE__);
|
||||||
. $sessionid . "'",__LINE__,__FILE__);
|
|
||||||
}
|
}
|
||||||
if ($GLOBALS['egw_info']['server']['max_access_log_age'])
|
if ($GLOBALS['egw_info']['server']['max_access_log_age'])
|
||||||
{
|
{
|
||||||
$max_age = $now - $GLOBALS['egw_info']['server']['max_access_log_age'] * 24 * 60 * 60;
|
$max_age = $now - $GLOBALS['egw_info']['server']['max_access_log_age'] * 24 * 60 * 60;
|
||||||
|
|
||||||
$GLOBALS['egw']->db->query("DELETE FROM phpgw_access_log WHERE li < $max_age");
|
$GLOBALS['egw']->db->delete($this->access_table,"li < $max_age",__LINE__,__FILE__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -635,16 +645,22 @@
|
|||||||
$blocked = False;
|
$blocked = False;
|
||||||
$block_time = time() - $GLOBALS['egw_info']['server']['block_time'] * 60;
|
$block_time = time() - $GLOBALS['egw_info']['server']['block_time'] * 60;
|
||||||
|
|
||||||
$ip = $this->db->db_addslashes($ip);
|
$this->db->select($this->access_table,'COUNT(*)',array(
|
||||||
$this->db->query("SELECT count(*) FROM phpgw_access_log WHERE account_id=0 AND ip='$ip' AND li > $block_time",__LINE__,__FILE__);
|
'account_id = 0',
|
||||||
|
'ip' => $ip,
|
||||||
|
"li > $block_time",
|
||||||
|
),__LINE__,__FILE__);
|
||||||
$this->db->next_record();
|
$this->db->next_record();
|
||||||
if (($false_ip = $this->db->f(0)) > $GLOBALS['egw_info']['server']['num_unsuccessful_ip'])
|
if (($false_ip = $this->db->f(0)) > $GLOBALS['egw_info']['server']['num_unsuccessful_ip'])
|
||||||
{
|
{
|
||||||
//echo "<p>login_blocked: ip='$ip' ".$this->db->f(0)." trys (".$GLOBALS['egw_info']['server']['num_unsuccessful_ip']." max.) since ".date('Y/m/d H:i',$block_time)."</p>\n";
|
//echo "<p>login_blocked: ip='$ip' ".$this->db->f(0)." trys (".$GLOBALS['egw_info']['server']['num_unsuccessful_ip']." max.) since ".date('Y/m/d H:i',$block_time)."</p>\n";
|
||||||
$blocked = True;
|
$blocked = True;
|
||||||
}
|
}
|
||||||
$login = $this->db->db_addslashes($login);
|
$this->db->select($this->access_table,'COUNT(*)',array(
|
||||||
$this->db->query("SELECT count(*) FROM phpgw_access_log WHERE account_id=0 AND (loginid='$login' OR loginid LIKE '$login@%') AND li > $block_time",__LINE__,__FILE__);
|
'account_id = 0',
|
||||||
|
'(loginid = '.$this->db->quote($login).' OR loginid LIKE '.$this->db->quote($login.'@%').')',
|
||||||
|
"li > $block_time",
|
||||||
|
),__LINE__,__FILE__);
|
||||||
$this->db->next_record();
|
$this->db->next_record();
|
||||||
if (($false_id = $this->db->f(0)) > $GLOBALS['egw_info']['server']['num_unsuccessful_id'])
|
if (($false_id = $this->db->f(0)) > $GLOBALS['egw_info']['server']['num_unsuccessful_id'])
|
||||||
{
|
{
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
/* Basic information about this app */
|
/* Basic information about this app */
|
||||||
$setup_info['phpgwapi']['name'] = 'phpgwapi';
|
$setup_info['phpgwapi']['name'] = 'phpgwapi';
|
||||||
$setup_info['phpgwapi']['title'] = 'eGroupWare API';
|
$setup_info['phpgwapi']['title'] = 'eGroupWare API';
|
||||||
$setup_info['phpgwapi']['version'] = '1.0.1.024';
|
$setup_info['phpgwapi']['version'] = '1.0.1.025';
|
||||||
$setup_info['phpgwapi']['versions']['current_header'] = '1.28';
|
$setup_info['phpgwapi']['versions']['current_header'] = '1.28';
|
||||||
$setup_info['phpgwapi']['enable'] = 3;
|
$setup_info['phpgwapi']['enable'] = 3;
|
||||||
$setup_info['phpgwapi']['app_order'] = 1;
|
$setup_info['phpgwapi']['app_order'] = 1;
|
||||||
@ -27,7 +27,7 @@
|
|||||||
$setup_info['phpgwapi']['tables'][] = 'egw_preferences';
|
$setup_info['phpgwapi']['tables'][] = 'egw_preferences';
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_sessions';
|
$setup_info['phpgwapi']['tables'][] = 'egw_sessions';
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_app_sessions';
|
$setup_info['phpgwapi']['tables'][] = 'egw_app_sessions';
|
||||||
$setup_info['phpgwapi']['tables'][] = 'phpgw_access_log';
|
$setup_info['phpgwapi']['tables'][] = 'egw_access_log';
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_hooks';
|
$setup_info['phpgwapi']['tables'][] = 'egw_hooks';
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_languages';
|
$setup_info['phpgwapi']['tables'][] = 'egw_languages';
|
||||||
$setup_info['phpgwapi']['tables'][] = 'egw_lang';
|
$setup_info['phpgwapi']['tables'][] = 'egw_lang';
|
||||||
|
@ -112,7 +112,7 @@
|
|||||||
'ix' => array(),
|
'ix' => array(),
|
||||||
'uc' => array()
|
'uc' => array()
|
||||||
),
|
),
|
||||||
'phpgw_access_log' => array(
|
'egw_access_log' => array(
|
||||||
'fd' => array(
|
'fd' => array(
|
||||||
'sessionid' => array('type' => 'char','precision' => '32','nullable' => False),
|
'sessionid' => array('type' => 'char','precision' => '32','nullable' => False),
|
||||||
'loginid' => array('type' => 'varchar','precision' => '64','nullable' => False),
|
'loginid' => array('type' => 'varchar','precision' => '64','nullable' => False),
|
||||||
|
@ -861,4 +861,13 @@
|
|||||||
|
|
||||||
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.0.1.024';
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.0.1.024';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$test[] = '1.0.1.024';
|
||||||
|
function phpgwapi_upgrade1_0_1_024()
|
||||||
|
{
|
||||||
|
$GLOBALS['egw_setup']->oProc->RenameTable('phpgw_access_log','egw_access_log');
|
||||||
|
|
||||||
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'] = '1.0.1.025';
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -95,6 +95,8 @@
|
|||||||
{
|
{
|
||||||
$GLOBALS['egw_setup']->db->delete($table,'1=1');
|
$GLOBALS['egw_setup']->db->delete($table,'1=1');
|
||||||
}
|
}
|
||||||
|
/* Clear the access log, since these are all new users anyway */
|
||||||
|
$GLOBALS['egw_setup']->db->query('DELETE FROM egw_access_log');
|
||||||
}
|
}
|
||||||
/* Create the demo groups */
|
/* Create the demo groups */
|
||||||
$defaultgroupid = (int)$GLOBALS['egw_setup']->add_account('Default','Default','Group',False,False);
|
$defaultgroupid = (int)$GLOBALS['egw_setup']->add_account('Default','Default','Group',False,False);
|
||||||
@ -187,9 +189,6 @@
|
|||||||
$GLOBALS['egw_setup']->add_acl('phpgw_group',$admingroupid,$accountid);
|
$GLOBALS['egw_setup']->add_acl('phpgw_group',$admingroupid,$accountid);
|
||||||
$GLOBALS['egw_setup']->add_acl('phpgw_group',$defaultgroupid,$accountid);
|
$GLOBALS['egw_setup']->add_acl('phpgw_group',$defaultgroupid,$accountid);
|
||||||
|
|
||||||
/* Clear the access log, since these are all new users anyway */
|
|
||||||
$GLOBALS['egw_setup']->db->query('DELETE FROM phpgw_access_log');
|
|
||||||
|
|
||||||
$GLOBALS['egw_setup']->db->transaction_commit();
|
$GLOBALS['egw_setup']->db->transaction_commit();
|
||||||
|
|
||||||
Header('Location: index.php');
|
Header('Location: index.php');
|
||||||
|
Loading…
Reference in New Issue
Block a user