


+-------------------------------------------------------------------------------------------------+
| 1.  admin/user.php,  :                                                        |
+-------------------------------------------------------------------------------------------------+
  $user=$DB_site->query_first("SELECT user.*,FROM_UNIXTIME(joindate) AS joindate,FROM_UNIXTIME(lastvisit) AS lastvisit,FROM_UNIXTIME(lastactivity) AS lastactivity,FROM_UNIXTIME(lastpost) AS lastpost,
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
  //hack: Password Expiration Policies
  $user=$DB_site->query_first("SELECT user.*,FROM_UNIXTIME(passwordchange) AS passwordchange,FROM_UNIXTIME(joindate) AS joindate,FROM_UNIXTIME(lastvisit) AS lastvisit,FROM_UNIXTIME(lastactivity) AS lastactivity,FROM_UNIXTIME(lastpost) AS lastpost,

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 2.  admin/user.php,   :                                                        |
+-------------------------------------------------------------------------------------------------+
	  makeinputcode("Password<br>Leave blank unless you want to change it","apassword");
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
	  makeinputcode("Password<br>Leave blank unless you want to change it","apassword");
	  makeinputcode("Password expires in <br>(Format yyyy-mm-dd hh:mm:ss, leave blank for NOW)","passwordchange",$user[passwordchange],0); //hack: Password Expiration Policies

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 3. !!!!!!  admin/user.php, replace the SECOND INSTANCE of this code:             |
+-------------------------------------------------------------------------------------------------+
  if ($joindate=="") {
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
//hack: Password Expiration Policies
  if ($passwordchange=="") {
    $passwordchange=time();
  } else {
    $passwordchange="UNIX_TIMESTAMP('".addslashes($passwordchange)."')";
  }
//hack: Password Expiration Policies

  if ($joindate=="") {

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 4.  admin/user.php, :                                                        |
+-------------------------------------------------------------------------------------------------+
  $DB_site->query("UPDATE user SET birthday='$birthday',options='$options',usergroupid='$usergroupid',username='".addslashes(htmlspecialchars($ausername))."'$pwdinclude,email='".addslashes(htmlspecialchars($email))."',styleid='$userstyleid',parentemail='".addslashes(htmlspecialchars($parentemail))."',coppauser=$coppauser,homepage='".addslashes(htmlspecialchars($homepage))."',icq='".addslashes(htmlspecialchars($icq))."',aim='".addslashes(htmlspecialchars($aim))."',yahoo='".addslashes(htmlspecialchars($yahoo))."',signature='".addslashes($signature)."',adminemail=$adminemail,showemail=$showemail,invisible=$invisible,usertitle='".addslashes($usertitle)."',customtitle=$customtitle,joindate=$joindate,cookieuser=$cookieuser,nosessionhash=$nosessionhash,daysprune='$daysprune',lastvisit=$lastvisit,lastactivity=$lastactivity,lastpost=$lastpost,posts='$posts',timezoneoffset='$timezoneoffset',emailnotification=$emailnotification,receivepm='$receivepm',emailonpm='$emailonpm',ipaddress='".addslashes($aipaddress)."',pmpopup=IF(pmpopup=2 AND $pmpopup=1,pmpopup,'$pmpopup') WHERE userid=$userid");
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
  $DB_site->query("UPDATE user SET birthday='$birthday',options='$options',usergroupid='$usergroupid',username='".addslashes(htmlspecialchars($ausername))."'$pwdinclude,passwordchange=$passwordchange,email='".addslashes(htmlspecialchars($email))."',styleid='$userstyleid',parentemail='".addslashes(htmlspecialchars($parentemail))."',coppauser=$coppauser,homepage='".addslashes(htmlspecialchars($homepage))."',icq='".addslashes(htmlspecialchars($icq))."',aim='".addslashes(htmlspecialchars($aim))."',yahoo='".addslashes(htmlspecialchars($yahoo))."',signature='".addslashes($signature)."',adminemail=$adminemail,showemail=$showemail,invisible=$invisible,usertitle='".addslashes($usertitle)."',customtitle=$customtitle,joindate=$joindate,cookieuser=$cookieuser,nosessionhash=$nosessionhash,daysprune='$daysprune',lastvisit=$lastvisit,lastactivity=$lastactivity,lastpost=$lastpost,posts='$posts',timezoneoffset='$timezoneoffset',emailnotification=$emailnotification,receivepm='$receivepm',emailonpm='$emailonpm',ipaddress='".addslashes($aipaddress)."',pmpopup=IF(pmpopup=2 AND $pmpopup=1,pmpopup,'$pmpopup') WHERE userid=$userid"); //hack: Password Expiration Policies

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 5.  admin/usergroup.php, :                                                   |
+-------------------------------------------------------------------------------------------------+
  makeyesnocode("Can modify profile","canmodifyprofile",$usergroup[canmodifyprofile]);
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
  makeyesnocode("Can modify profile","canmodifyprofile",$usergroup[canmodifyprofile]);
  makeyesnocode("Password expires","passwordexpires",$usergroup[passwordexpires]); //hack: Password Expiration Policies

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 6.  admin/usergroup.php,:                                                   |
+-------------------------------------------------------------------------------------------------+
  $DB_site->query("UPDATE usergroup SET title='".addslashes($title)."',usertitle='".addslashes($usertitle)."',cancontrolpanel=$cancontrolpanel,canmodifyprofile=$canmodifyprofile,canviewmembers=$canviewmembers,canview=$canview,showgroup=".intval($showgroup).",cansearch=$cansearch,canemail=$canemail,canpostnew=$canpostnew,canmove=$canmove,canopenclose=$canopenclose,candeletethread=$candeletethread,canreplyown=$canreplyown,canreplyothers=$canreplyothers,canviewothers=$canviewothers,caneditpost=$caneditpost,candeletepost=$candeletepost,canusepm=$canusepm,canpostpoll=$canpostpoll,canvote=$canvote,canpostattachment=$canpostattachment,ismoderator=$ismoderator,canpublicedit=$canpublicedit,canpublicevent=$canpublicevent,canthreadrate=$canthreadrate,cantrackpm=$cantrackpm,candenypmreceipts=$candenypmreceipts,maxbuddypm=$maxbuddypm,maxforwardpm=$maxforwardpm,canwhosonline=$canwhosonline,canwhosonlineip=$canwhosonlineip,cangetattachment=$cangetattachment WHERE usergroupid=$usergroupid");
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
  $DB_site->query("UPDATE usergroup SET title='".addslashes($title)."',usertitle='".addslashes($usertitle)."',cancontrolpanel=$cancontrolpanel,canmodifyprofile=$canmodifyprofile,canviewmembers=$canviewmembers,canview=$canview,showgroup=".intval($showgroup).",cansearch=$cansearch,canemail=$canemail,canpostnew=$canpostnew,canmove=$canmove,canopenclose=$canopenclose,candeletethread=$candeletethread,canreplyown=$canreplyown,canreplyothers=$canreplyothers,canviewothers=$canviewothers,caneditpost=$caneditpost,candeletepost=$candeletepost,canusepm=$canusepm,canpostpoll=$canpostpoll,canvote=$canvote,canpostattachment=$canpostattachment,ismoderator=$ismoderator,canpublicedit=$canpublicedit,canpublicevent=$canpublicevent,canthreadrate=$canthreadrate,cantrackpm=$cantrackpm,candenypmreceipts=$candenypmreceipts,maxbuddypm=$maxbuddypm,maxforwardpm=$maxforwardpm,canwhosonline=$canwhosonline,canwhosonlineip=$canwhosonlineip,cangetattachment=$cangetattachment,passwordexpires=$passwordexpires WHERE usergroupid=$usergroupid"); //hack: Password Expiration Policies

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 7.  global.php, :                                                            |
+-------------------------------------------------------------------------------------------------+
unset($templatecache);
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
$templatesused.=',expiredpassword,head_expirypassword'; //hack: Password Expiration Policies
unset($templatecache);

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 8.  global.php, :                                                            |
+-------------------------------------------------------------------------------------------------+
$logincode=makelogincode();
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
$logincode=makelogincode();

//hack: Password Expiration Policies
if ($bbuserinfo['passwordchange']<=$ourtimenow && $bbuserinfo['userid']!='0' && $permissions['passwordexpires']) {
	if (substr($currentscript,-strlen('register.php'))!='register.php' and substr($currentscript,-strlen('member.php'))!='member.php') {
    eval("dooutput(\"".gettemplate("expiredpassword")."\");");
    exit;
	} elseif ($action!="activate" and $action!="logout" and $action!="lostpw" and $action!="emailpassword" and $a!="act" and $a!="ver" and $action!="resetpassword" and $a!="pwd" and $action!="updatepassword") {
    eval("dooutput(\"".gettemplate("expiredpassword")."\");");
    exit;
  }
} else if (substr($currentscript,-strlen('member.php'))=='member.php' && $action=="login" && $expirywarnusers  && $permissions['passwordexpires']) {
	if (isset($username) && isset($password) && $bbuserinfo['userid']=='0') {
  	$userinfo=$DB_site->query_first("SELECT userid,password,passwordchange FROM user WHERE LCASE(username)='".addslashes(htmlspecialchars(strtolower($username)))."'");
		if (md5($password)==$userinfo['password'] && ($userinfo['passwordchange']>$ourtimenow)) {
      $expirytime=floor(($userinfo['passwordchange']-$ourtimenow)/(60*60*24));
      if ($expirytime<0) {$expirytime=0;}
      if ($expirytime<=$expirywarnusersdays) {
        $newpmmsg=1;
        eval("\$headnewpm = \"".gettemplate('head_expirypassword')."\";");
        eval("\$headinclude = \"".gettemplate('headinclude')."\";");
      }
    }
    unset($userinfo);
  }
}
//hack: Password Expiration Policies

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 9.  member.php, :                                                            |
+-------------------------------------------------------------------------------------------------+
  $templatesused = 'error_wrongpassword,error_passwordmismatch,redirect_updatethanks';
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
  $templatesused = 'error_wrongpassword,error_passwordmismatch,redirect_updatethanks,error_samepassword'; //hack: Password Expiration Policies

+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 10.  member.php, :                                                           |
+-------------------------------------------------------------------------------------------------+
  $DB_site->query("UPDATE user SET password='".addslashes(md5($newpassword))."',usergroupid='$bbuserinfo[usergroupid]' WHERE userid='$bbuserinfo[userid]'");
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
//hack: Password Expiration Policies
  $allpasswords = split("\n", trim($bbuserinfo['oldpasswords']));
  $passwordcount = 0;
  $badpassword = false;
  $anewpassword = md5($newpassword);
  if ($anewpassword==$bbuserinfo['password']) {
    $badpassword = true;
  }
  while ((list($key,$val)=each($allpasswords)) && $passwordcount<($expiryoldpasswords-1) && !$badpassword) {
    if ($anewpassword == $val) {
      $badpassword = true;
    }
    if ($passwordcount == 0) {
      $passwordsql = $anewpassword."\n";
    }
    
    if (($expiryoldpasswords-1)==$passwordcount) {
      $passwordsql .= $val;
    } else {
      $passwordsql .= $val."\n";
    }
    $passwordcount++;
  }
  if ($badpassword) {
    $useforumjump=false;
    eval("standarderror(\"".gettemplate("error_samepassword")."\");");
    exit;
  }
    

  $DB_site->query("UPDATE user SET password='".addslashes($anewpassword)."',usergroupid='$bbuserinfo[usergroupid]',passwordchange='".(time()+(60*60*24*$expirydays))."',oldpasswords='$passwordsql' WHERE userid='$bbuserinfo[userid]'");
//hack: Password Expiration Policies


+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 11.  register.php, :                                                         |
+-------------------------------------------------------------------------------------------------+
  $DB_site->query("INSERT INTO user (userid,username,password,email,".$newstylefield."parentemail,coppauser,homepage,icq,aim,yahoo,signature,adminemail,showemail,invisible,usertitle,joindate,cookieuser,daysprune,lastvisit,lastactivity,usergroupid,timezoneoffset,emailnotification,receivepm,emailonpm,options,birthday,maxposts,startofweek,ipaddress,pmpopup,referrerid,nosessionhash,avatarid) VALUES (NULL,'".addslashes(htmlspecialchars($username))."','".addslashes(md5($password))."','".addslashes(htmlspecialchars($email))."',".$newstyleval."'".addslashes(htmlspecialchars($parentemail))."','$coppauser','".addslashes(htmlspecialchars($homepage))."','".addslashes(htmlspecialchars($icq))."','".addslashes(htmlspecialchars($aim))."','".addslashes(htmlspecialchars($yahoo))."','".addslashes($signature)."','$adminemail','$showemail','$invisible','".addslashes($usertitle)."','".time()."','$cookieuser','".addslashes($prunedays)."','".time()."','".time()."','$newusergroupid','".addslashes($timezoneoffset)."','$emailnotification','$receivepm','$emailonpm','$options','".addslashes($birthday)."','".addslashes($umaxposts)."','".addslashes($startofweek)."','".addslashes($ipaddress)."','$pmpopup','".addslashes($testreferrerid['userid'])."','$nosessionhash','$avatarid')");
+-------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------+
| :                                                                                 |
+-------------------------------------------------------------------------------------------------+
 $DB_site->query("INSERT INTO user (userid,username,password,passwordchange,email,".$newstylefield."parentemail,coppauser,homepage,icq,aim,yahoo,signature,adminemail,showemail,invisible,usertitle,joindate,cookieuser,daysprune,lastvisit,lastactivity,usergroupid,timezoneoffset,emailnotification,receivepm,emailonpm,options,birthday,maxposts,startofweek,ipaddress,pmpopup,referrerid,nosessionhash,avatarid) VALUES (NULL,'".addslashes(htmlspecialchars($username))."','".addslashes(md5($password))."','".(time()+(60*60*24*$expirydays))."','".addslashes(htmlspecialchars($email))."',".$newstyleval."'".addslashes(htmlspecialchars($parentemail))."','$coppauser','".addslashes(htmlspecialchars($homepage))."','".addslashes(htmlspecialchars($icq))."','".addslashes(htmlspecialchars($aim))."','".addslashes(htmlspecialchars($yahoo))."','".addslashes($signature)."','$adminemail','$showemail','$invisible','".addslashes($usertitle)."','".time()."','$cookieuser','".addslashes($prunedays)."','".time()."','".time()."','$newusergroupid','".addslashes($timezoneoffset)."','$emailnotification','$receivepm','$emailonpm','$options','".addslashes($birthday)."','".addslashes($umaxposts)."','".addslashes($startofweek)."','".addslashes($ipaddress)."','$pmpopup','".addslashes($testreferrerid['userid'])."','$nosessionhash','$avatarid')"); //hack: Password Expiration Policies


+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 12.     "error_expiredpassword"  :                              |
+-------------------------------------------------------------------------------------------------+
<HTML DIR="RTL" LANG="AR-SA">
     ,      .

<form action="member.php" method="post">
<input type="hidden" name="s" value="$session[sessionhash]">

<table cellpadding="{tableouterborderwidth}" cellspacing="0" border="0" bgcolor="{tablebordercolor}" {tableouterextra} width="{contenttablewidth}" align="center"><tr><td>
<table cellpadding="4" cellspacing="{tableinnerborderwidth}" border="0" {tableinnerextra} width="100%">
<tr>
	<td bgcolor="{tableheadbgcolor}" colspan="2"><normalfont color="{tableheadtextcolor}" class="thtcolor"><b>   - $bbuserinfo[username]</b></normalfont></td>
</tr>
<tr>
	<td bgcolor="{firstaltcolor}"><normalfont><b>  :</b></normalfont></td>
	<td bgcolor="{firstaltcolor}"><normalfont><input type="password" class="bginput" name="currentpassword" size="30" maxlength="50" tabindex="1"></normalfont>
	<smallfont><a href="member.php?s=$session[sessionhash]&action=lostpw">  ѿ</a></smallfont></td>
</tr>
<tr>
	<td bgcolor="{secondaltcolor}"><normalfont><b>  :</b></normalfont></td>
	<td bgcolor="{secondaltcolor}"><normalfont><input type="password" class="bginput" name="newpassword" size="30" maxlength="50" tabindex="2"></normalfont></td>
</tr>
<tr>
	<td bgcolor="{secondaltcolor}"><normalfont><b>  :</b></normalfont></td>
	<td bgcolor="{secondaltcolor}"><normalfont><input type="password" class="bginput" name="newpasswordconfirm" size="30" maxlength="50" tabindex="3"></normalfont></td>
</tr>
</table>
</td></tr></table>

<br>

<table cellpadding="2" cellspacing="0" border="0" width="{contenttablewidth}" {tableinvisibleextra} align="center">
<tr>
	<td align="center"><normalfont>
	<input type="hidden" name="action" value="updatepassword">
	<input type="submit" class="bginput" name="" value="Submit Modifications" accesskey="s" tabindex="4">
	<input type="reset" class="bginput" name="" value="Reset Fields" tabindex="5">
	</normalfont></td>
</tr>
</table>

</form>
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 13.     "error_samepassword"  :                                 |
+-------------------------------------------------------------------------------------------------+
<HTML DIR="RTL" LANG="AR-SA">
       ,    .
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 14.     "expiredpassword"  :                                    |
+-------------------------------------------------------------------------------------------------+
<HTML DIR="RTL" LANG="AR-SA">
{htmldoctype}
<html>
<head>
<title>$bbtitle -   </title>
$headinclude
</head>
<body>
$header

&nbsp;</td></tr></table>

<table width="100%" height="50%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF" align="center">
<tr>
	<td>


<form action="member.php" method="post">
<input type="hidden" name="s" value="$session[sessionhash]">

<table cellpadding="{tableouterborderwidth}" cellspacing="0" border="0" bgcolor="{tablebordercolor}" {tableouterextra} width="70%" align="center"><tr><td>
<table cellpadding="4" cellspacing="{tableinnerborderwidth}" border="0" {tableinnerextra} width="100%">
<tr>
	<td bgcolor="{tableheadbgcolor}" colspan="2"><normalfont color="{tableheadtextcolor}" class="thtcolor"><b>     $bbuserinfo[username]</b></normalfont><br>
  <smallfont color="{tableheadtextcolor}">     ,     .</smallfont></td>
</tr>
<tr>
	<td bgcolor="{firstaltcolor}"><normalfont><b>  :</b></normalfont></td>
	<td bgcolor="{firstaltcolor}"><normalfont><input type="password" class="bginput" name="currentpassword" size="30" maxlength="50" tabindex="1"></normalfont>
	<smallfont><a href="member.php?s=$session[sessionhash]&action=lostpw">  ѿ</a></smallfont></td>
</tr>
<tr>
	<td bgcolor="{secondaltcolor}"><normalfont><b>  :</b></normalfont></td>
	<td bgcolor="{secondaltcolor}"><normalfont><input type="password" class="bginput" name="newpassword" size="30" maxlength="50" tabindex="2"></normalfont></td>
</tr>
<tr>
	<td bgcolor="{secondaltcolor}"><normalfont><b>  :</b></normalfont></td>
	<td bgcolor="{secondaltcolor}"><normalfont><input type="password" class="bginput" name="newpasswordconfirm" size="30" maxlength="50" tabindex="3"></normalfont></td>
</tr>
</table>
</td></tr></table>

<br>

<table cellpadding="2" cellspacing="0" border="0" width="{contenttablewidth}" {tableinvisibleextra} align="center">
<tr>
	<td align="center"><normalfont>
	<input type="hidden" name="action" value="updatepassword">
	<input type="submit" class="bginput" name="" value="Submit Modifications" accesskey="s" tabindex="4">
	<input type="reset" class="bginput" name="" value="Reset Fields" tabindex="5">
	</normalfont></td>
</tr>
</table>

	</td>
</tr>
</table>


<table bgcolor="#FFFFFF" width="100%" cellpadding="10" cellspacing="0" border="0">
<tr>
  <td>

</form>


<!--logincode-->
<p align="center">
<table border="0" bgcolor="{tablebordercolor}" cellpadding="4" cellspacing="1" align="center">
$logincode
</table>
</p>

$footer

</body>
</html>
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 15.     "head_expirypassword"  :                                |
+-------------------------------------------------------------------------------------------------+
<HTML DIR="RTL" LANG="AR-SA">
<script language="JavaScript">
<!--
function confirm_newpm() {
	expirytime=$expirytime;
	expiryplural="";
	if (expirytime>1) {
		expiryplural="s";
	}
	if (expirytime>0) {
		expirycomment=expirytime + " "+ expiryplural;
	} else {
		expirycomment="   24 ";
	}
	input_box=confirm("     "+expirycomment+".    .");
	if (input_box==true) { // Output when OK is clicked
		window.location="member.php?s=$session[sessionhash]&action=editpassword";
		
	} else {
	// Output when Cancel is clicked
	}
}
// -->
</script>
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 16.         :                                                                |
+-------------------------------------------------------------------------------------------------+
ALTER TABLE `user` ADD `passwordchange` INT(10) UNSIGNED DEFAULT '0' NOT NULL
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 17.    :                                                                |
+-------------------------------------------------------------------------------------------------+
ALTER TABLE `user` ADD `oldpasswords` MEDIUMTEXT NOT NULL
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 18. :                                                                |
+-------------------------------------------------------------------------------------------------+
ALTER TABLE `usergroup` ADD `passwordexpires` SMALLINT( 6 ) DEFAULT '0' NOT NULL
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 19.    admin/setting.php?action=addgroup   :                |
+-------------------------------------------------------------------------------------------------+
Title: Password Expiration
Display Order: 40

 SAVE CHANGES
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 20.    admin/setting.php?action=add   :                     |
+-------------------------------------------------------------------------------------------------+
Setting Category: Password Expiration
Title: Force a Password change every XX Days
Variable Name: expirydays
Value: 15
Description: Every user will be prompted to change their password XX days after their last password change. Click <a href='expiry.php?action=resetexpirations'>here</a> to change the expirations dates of <i>all</i> users according to this setting.
Display Order: 1

 SAVE CHAGES
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 21.    admin/setting.php?action=add   :                     |
+-------------------------------------------------------------------------------------------------+
Setting Category: Password Expiration
Title: Warn users
Variable Name: expirywarnusers
Value: 1
Description: Warn users before password expires?
Code to generate option: yesno
Display Order: 2

and press SAVE CHAGES
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 22.    admin/setting.php?action=add   :                     |
+-------------------------------------------------------------------------------------------------+
Setting Category: Password Expiration
Title: Days before warning
Variable Name: expirywarnusersdays
Value: 3
Description: Warn users XX days before the password expires. It only warn users when they login to the forums (ex. when they type their login and password).
Display Order: 3

 SAVE CHAGES
+-------------------------------------------------------------------------------------------------+

                                                 +
                                                +++
                                                 +

+-------------------------------------------------------------------------------------------------+
| 23.    admin/setting.php?action=add   :                     |
+-------------------------------------------------------------------------------------------------+
Setting Category: Password Expiration
Title: How many old password do you want to store?
Variable Name: expiryoldpasswords
Value: 3
Description: You can specify how many old passwords to store in the database to prevent users from reusing them
Display Order: 4

 SAVE CHAGES
+-------------------------------------------------------------------------------------------------+


,   admin/expiry.php   admin.



