Your IP : 216.73.216.40


Current Path : /var/www/html/mmishra/indem/old/indem/
Upload File :
Current File : /var/www/html/mmishra/indem/old/indem/mailalias.php.bak

<?php
include "header.php";
?>
<span id='header'>Mail-alias Registration Form</span>
<?php

$submit = $_POST["submit"];
$uid = $_POST["uid"];
$passwd = $_POST["passwd"];
$mailalias = $_POST["mailalias"];
$forward = $_POST["forward"];
$mobile = $_POST["mobile"];
$postaladdress = $_POST["postaladdress"];
$labeleduri = $_POST["labeleduri"];
$url = $_REQUEST["url"];

$source_ip = $_SERVER["REMOTE_ADDR"];
$dated = date("Y-m-d H:i:s");

session_start();
if ($submit == 'LOGOUT') {
        session_destroy();
        $uid = '';
        login($loginid);
        exit;
} else if ($submit == 'LOGIN' && $loginid) {
        $stat = authenticate($loginid, $passwd);
        if ($stat == "FAIL") {
                echo "<b id='alert'>Sorry</b> invalid login, try again but not again & again.<br>";
                login($loginid);
                exit;
        } else {
                $uid = $loginid;
                $_SESSION["uid"] = $loginid;
                //session_register("uid");
        }
}
session_start();
if (isset($_SESSION["uid"]))
        $uid = $_SESSION["uid"];
else {
        echo "<b id='alert'>Sorry</b> invalid login, session could not be created.<br>";
        login($loginid);
        exit;
}
//session created...proceed with registration form
$ds = ldap_connect("ldap.iiita.ac.in");  // must be a valid LDAP server!
if ($ds) {
        $z = ldap_bind($ds);
        $a = ldap_search($ds, "dc=iiita,dc=ac,dc=in", "uid=$uid");
        $b = ldap_get_entries($ds, $a);
        $dn = $b[0]["dn"];
} else {
        echo "<b id='alert'>Ldap error</b>";
        exit;
}

if ($submit == "SUBMIT" && $rollno && $uid) {
        if (strpos($forward, "iiita.ac.in")) {
                echo "Forwarding address must be <b id='alert'>External Email</b> only.<br>";
        } else if (!$forward) {
                echo "Forwarding address is mandatory and must be an <b id='alert'>external address</b> only.<br>";
        } else {
                $bd = ldap_bind($ds, "cn=Manager,dc=iiita,dc=ac,dc=in","aksr2it");
                if ($setmail == 'yes') $info0["mail"] = array();
                if ($clearalias == 'yes') $info0["mailAlternateAddress"] = array();
                $info0["mailForwardingAddress"] = array();
                $info0["displayName"] = array();
                $r = ldap_mod_del($ds, $dn, $info0);

                $info1["cn"][0] = $gecos . '-' . $rollno;
                $info1["gecos"][0] = $gecos;
                if ($rollno) $info1["employeeNumber"][0] = $rollno;
                if ($sn) $info1["sn"][0] = $sn;
                if ($setmail == 'yes') $info1["mail"][0] = $rollno . "@iiita.ac.in";
                if ($forward) $info1["mailForwardingAddress"][0] = $forward;
                if ($mobile) $info1["mobile"][0] = $mobile;
                if ($postaladdress) $info1["postalAddress"][0] = $postaladdress;
                if ($labeleduri) $info1["labeledURI"][0] = $labeleduri;
                $r = ldap_modify($ds, $dn, $info1);

                //foreach ($info1 as $inf) {
                //      echo $inf[0]."<br>";
                //}
                echo "Thanks <b id='alert'>$gecos!</b>, you have been registered successfully.<br>";
        }
}

if ($submit && $uid) {
    	$q = ldap_search($ds, "dc=iiita,dc=ac,dc=in", "(&(uid=$uid)(objectclass=posixAccount))");
    	$info = ldap_get_entries($ds, $q);
    	if ($info["count"] > 0) {
      		$uid1 = $info[0]["uid"][0];
      		$cn1 = strtoupper($info[0]["cn"][0]);
      		$name1 = ucwords(strtolower(strtr($info[0]["gecos"][0],"-"," ")));
      		$givenname1 = $info[0]["givenName"][0];
      		$sn1 = $info[0]["sn"][0];
      		if (strpos($name1, " ")) {
       			$fullname = explode(" ", $name1);
       			if ($fullname) {
       				if ($fullname[0]) $givenname1 = $fullname[0];
       				if ($fullname[2]) $sn1 = $fullname[2];
       				if (!$sn1) $givenname1 = $fullname[1];
       			}else {
       				$givenname1 = $info[0]["givenName"][0];
       				$sn1 = $info[0]["sn"][0];
       			}
      		}
      		$mail1 = $info[0]["mail"][0];
      		$mailalias1 = $info[0]["mailalternateaddress"][0];
      		$forward1 = $info[0]["mailforwardingaddress"][0];
      		$mobile1 = $info[0]["mobile"][0];
      		$postaladdress1 = $info[0]["postaladdress"][0];
      		$labeleduri1 = $info[0]["labeleduri"][0];
      		if ($submit == "SUBMIT") {
       			$mailalias = htmlsafe($mailalias);
       			$forward = htmlsafe($forward);
       			$mobile = htmlsafe($mobile);
       			$postaladdress = htmlsafe($postaladdress);
       			$labeleduri = htmlsafe($labeleduri);
       			if (strpos($labeleduri,"iiita.ac.in")) $labeleduri = "http://profile.iiita.ac.in/$uid1";
       			$dup = ldap_search($ds, "dc=iiita,dc=ac,dc=in", "(|(mail=$mailalias)(mailAlternateAddress=$mailalias))");
       			$dupmail = ldap_get_entries($ds, $dup);
       			if ($dupmail["count"] > 0 && $uid1 <> $dupmail[0]["uid"][0]){
       			echo "Mailalias is <b id='alert'>NOT Available</b>. Used by " . $dupmail[0]["mail"][0] . ". Try other.<br>";
       			ldapform($uid1,$passwd,$name1,$mail1,$mailalias,$forward,$mobile,$postaladdress,$labeleduri);
       		} else {
       			if (!strpos($mailalias, "iiita.ac.in")){
       				echo "Mailalias must be of <b id='alert'>IIITA mail server</b> only. Try other.<br>";
       				ldapform($uid1,$passwd,$name1,$mail1,$mailalias,$forward,$mobile,$postaladdress,$labeleduri);
       				exit;
       			}
       			if (strpos($forward, "iiita.ac.in")){
       				echo "Forwarding address must be <b id='alert'>External Email</b> only. Try other.<br>";
       				ldapform($uid1,$passwd,$name1,$mail1,$mailalias,$forward,$mobile,$postaladdress,$labeleduri);
       				exit;
       			}
          		$bd = ldap_bind($ds, "cn=Manager,dc=iiita,dc=ac,dc=in","aksr2it");//$dn, $passwd);
          		$info0["mailAlternateAddress"] = array();
          		$info0["mailForwardingAddress"] = array();
          		$info0["displayName"] = array();
          		$r = @ldap_mod_del($ds, $dn, $info0);

       			$info1["cn"][0] = $cn1;
       			$info1["gecos"][0] = $name1;
       			if ($givenname1) $info1["givenName"][0] = $givenname1;
       			if ($sn1) $info1["sn"][0] = $sn1;
       			if ($mailalias && !strpos($dn, "Alumni")) $info1["mailAlternateAddress"][0] = "$mailalias";
       			if ($forward) $info1["mailForwardingAddress"][0] = "$forward";
       			if ($mobile) $info1["mobile"][0] = "$mobile";
       			if ($postaladdress) $info1["postalAddress"][0] = "$postaladdress";
       			if ($labeleduri) $info1["labeledURI"][0] = "$labeleduri";
       			$r = ldap_modify($ds, $dn, $info1);

       			echo "Thanks <b id='alert'>$name1!</b> Mail-alias set successfully.<br>";
       			ldapform($uid1,$passwd,$name1,$mail1,$mailalias,$forward,$mobile,$postaladdress,$labeleduri);
      		}
  	}
}

if ($uid) {
        $r = ldap_bind($ds, $dn);
        if ($r) {
                $q = ldap_search($ds, "dc=iiita,dc=ac,dc=in", "(&(uid=$uid)(objectclass=posixAccount))");
                $info = ldap_get_entries($ds, $q);
                if ($info["count"] > 0) {
                        $cn = strtoupper($info[0]["cn"][0]);
                        $gecos = ucwords(strtolower(strtr($info[0]["gecos"][0],"-"," ")));
                        $rollno = $info[0]["employeenumber"][0];
                        $sn = $info[0]["sn"][0];
                        $mail = $info[0]["mail"][0];
                        $forward = $info[0]["mailforwardingaddress"][0];
                        $mobile = $info[0]["mobile"][0];
                        $postaladdress = $info[0]["postaladdress"][0];
                        $labeleduri = $info[0]["labeleduri"][0];
                } else {
                        echo "<b id='alert'>Sorry</b> your record not found in Alumni Database.<br>";
                        login($uid);
                        exit;
                }
        }
} else if (!$uid) {
        login($loginid);
        exit;
}

function ldapform($uid, $passwd, $name, $mail, $mailalias, $forward, $mobile, $postaladdress, $labeleduri){
  	echo "<b>LDAP Information</b>
       	<table class=normal border='0' bgcolor='white' cellspacing='0' width='100%'>
       	<tr><td>Login ID *</td><td><input readonly type='text' name='uid' value='$uid'></td></tr>
       	<tr valign='top'><td>Full Name</td><td><b>$name</b></td></tr>
       	<tr valign='top'><td>Mail Address</td><td><b>$mail</b></td></tr>
       	<tr valign='top'><td>Mail-alias</td><td><input type='text' name='mailalias' value='$mailalias' size='40'> must be of IIITA mail server with @iiita.ac.in or @mba.iiita.ac.in etc.</td></tr>
       	<tr valign='top'><td>Forwarding Address</td><td><input type='text' name='forward' value='$forward' size='40'> must be external email, mainly for ALUMNAE but other may also set</td></tr>
       	<tr valign='top'><td>Contact No.</td><td><input type='text' name='mobile' value='$mobile' size='40'></td></tr>
       	<tr valign='top'><td>Postal Address</td><td><textarea name='postaladdress' rows=3 cols=50>$postaladdress</textarea></td></tr>
       	<tr valign='top'><td>Homepage URL</td><td><input type='text' name='labeleduri' value='$labeleduri' size='40'> other than IIITA profile server URL (http://profile.iiita.ac.in/UID)</td></tr>
       	<tr><td></td><td><input type='submit' name='submit' value='SUBMIT'></td></tr>
       	</table></form>Edit information and press button to update.<br>";
  	note();
  	return;
}


function note(){
	echo "<ol>
      	<li>Blank fields may cause login problem on IIITA mail server.</li>
      	<li>Official mail address is not editable iand it will remain forever.</li>
      	<li>Only one mail-alias is provisioned at present and it should contain part of fullname.</li>
      	<li>Mail-alias of ALUMNI would be revoked at due course of time. So use official address.</li>
      	<li>Mail forwarding address is must for ALUMNI. If not set mail would be discarded.</li>
      	<li>Contact no. is useful in communication when mail is not accessible.</li>
      	<li>Homepage may be any url but could not be garbage.</li>
      	</ol><br><br>
      	<b><center>INDEM@IIITA</center></b>";
  	return;
}
?>