NATS3 Member Logging

From TMMwiki
Jump to: navigation, search
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}