Difference between revisions of "NATS3 Member Logging"

From TMM Wiki
Jump to navigationJump to search
m
 
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{NATS4 Manual
 
| show_members_admin_section = true
 
}}
 
 
{{NATS3 Manual
 
{{NATS3 Manual
 
| show_members_admin_section = true
 
| show_members_admin_section = true
Line 35: Line 32:
 
</pre>
 
</pre>
  
To show login information for all of your sites, use the nosite
+
To ignore the siteid and add the log to the first matching member , use the nosite
 
parameter:
 
parameter:
  
Line 41: Line 38:
 
$url="http://www.server.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&nosite=1&ip=$_SERVER[REMOTE_ADDR]";
 
$url="http://www.server.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&nosite=1&ip=$_SERVER[REMOTE_ADDR]";
 
</pre>
 
</pre>
 +
 +
== CARMA ==
 +
If you are using CARMA and NATS and you don't have access to an authentication system that lets you set up posts to remote systems, you can use a smarty plugin like this to post the login to CARMA.
 +
 +
 +
<pre>
 +
<?
 +
function smarty_function_loginlog($params, &$smarty) {
 +
 +
if($_SESSION['login_post_ok'])  //already posted login
 +
return;
 +
 +
//build url for post
 +
$url="http://www.server.com/special/loginlog.php?username={$_SERVER['REMOTE_USER']}&siteid=1&ip={$_SERVER['REMOTE_ADDR']}";
 +
 +
//post to the nats loginlog script
 +
if(@file($url) !== FALSE)
 +
$_SESSION['login_post_ok'] = true;  //save post to session
 +
 +
return;
 +
 +
}
 +
?>
 +
</pre>
 +
 +
To use this plugin you need to do the following:
 +
* Replace ''www.server.com'' with the URL to your NATS installation
 +
* Save this file in the 'carma/includes/smarty/plugins''  directory as ''function.loginlog.php''
 +
* Add a call to the plugin in your members header like this ''{loginlog}''
 +
  
 
[[Category:Also NATS4 Article]]
 
[[Category:Also NATS4 Article]]

Latest revision as of 12:21, 8 October 2010

NATS 3
Members Admin
MySQL Auth
Members Admin
Member
ID Numbers
Expired Members
Creating Trial Members
Member Delete
Member Logging
Trial Member

You can tell NATS to keep a log of member logins. Send a HTTP GET request from your server to the PHP script, /special/loginlog.php with the site's ID number and the member's username. For example, you can add the following code to a PHP script and then run the script:

$url="http://www.example.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&siteid=123&ip=$_SERVER[REMOTE_ADDR]";

@file($url);

To access this secure feature, the IP address of the server making the request must be in the following $config['SECURE_IPS'] configuration file setting. For example,

$config['SECURE_IPS'] = Array('123.123.123.123');

Replace 123.123.123.123 with your server's IP address.

After activating this feature, the member's logins show up in the Members Admin's members details.

Extra Features

To add more than one site, use the siteids parameter:

$url="http://www.server.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&siteids=5,64,2&ip=$_SERVER[REMOTE_ADDR]";

To ignore the siteid and add the log to the first matching member , use the nosite parameter:

$url="http://www.server.com/special/loginlog.php?username=$_SERVER[REMOTE_USER]&nosite=1&ip=$_SERVER[REMOTE_ADDR]";

CARMA

If you are using CARMA and NATS and you don't have access to an authentication system that lets you set up posts to remote systems, you can use a smarty plugin like this to post the login to CARMA.


<?
	function smarty_function_loginlog($params, &$smarty) {
	
		if($_SESSION['login_post_ok'])  //already posted login
			return;
			
				//build url for post
		$url="http://www.server.com/special/loginlog.php?username={$_SERVER['REMOTE_USER']}&siteid=1&ip={$_SERVER['REMOTE_ADDR']}";
			
			//post to the nats loginlog script
		if(@file($url) !== FALSE)
			$_SESSION['login_post_ok'] = true;  //save post to session
			
		return;
		
	}
?>

To use this plugin you need to do the following:

  • Replace www.server.com with the URL to your NATS installation
  • Save this file in the 'carma/includes/smarty/plugins directory as function.loginlog.php
  • Add a call to the plugin in your members header like this {loginlog}