Your IP : 216.73.216.40


Current Path : /var/www/html/mmishra/indem/scripts/php/
Upload File :
Current File : /var/www/html/mmishra/indem/scripts/php/mailinglist_create.php

<?php

$ds = ldap_connect("ldap.iiita.ac.in");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

//fwrite(STDOUT, "Please enter mailing list name\n"); 
// Read the input 
echo "Enter List Name: ";
$listname = fgets(STDIN);
$listname = str_replace("\n","",$listname);//to remove \n character

echo "Enter Description: ";
$desc = fgets(STDIN);
$desc = str_replace("\n","",$desc);

echo "Moderation Required? [y/n]: ";
$mod = fgets(STDIN);
$mod = str_replace("\n","",$mod); //to remove \n character

echo "Proceed with Creation? [y/n]: ";
$confirm = fgets(STDIN);
$confirm = str_replace("\n","",$confirm);//to remove \n character

if ($confirm == "y"){
  echo $listname . " List creation in progress...\n";
  //$command = "rm -r /mail/lists/$listname";
  $command = "rm -r /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname";
  $output = shell_exec($command);
  echo "Mailstore removed... $command >> $output\n";
  //$command = "mkdir -p /mail/lists/$listname";
  $command = "mkdir -p /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname";
  $output = shell_exec($command);
  echo "Mailstore created... $command >> $output\n";

  if ($mod == "y") $options = "-fikmsty";
  else $options = "-fiksty";
  echo "Options set... $options\n";

  //$command = "/usr/local/bin/ezmlm/ezmlm-make $options -5 postmaster@lists.iiita.ac.in /mail/lists/$listname/list /mail/lists/$listname/.qmail $listname lists.iiita.ac.in";
  $command = "/usr/local/bin/ezmlm/ezmlm-make $options -5 postmaster@lists.iiita.ac.in /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname/list /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname/.qmail $listname lists.iiita.ac.in";
  $output = shell_exec($command);
  echo "Maillist created... $command >> $output\n";
  //$command = "/usr/local/bin/ezmlm/ezmlm-sub /mail/lists/$listname/list/mod postmaster@lists.iiita.ac.in";
  $command = "/usr/local/bin/ezmlm/ezmlm-sub /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname/list/mod postmaster@lists.iiita.ac.in";
  $output = shell_exec($command);
  echo "Postmaster registered... $command >> $output\n";
}else{
  exit("Aborted.");
}
exit;

//create ldap account
$ou = "ou=mailinglist,dc=iiita,dc=ac,dc=in";
if ($ds){
  echo "LDAP account creation for mailing list...\n";
  // bind with appropriate dn to give update access
  $r = ldap_bind($ds, "cn=Manager,dc=iiita,dc=ac,dc=in", "\$dollfinn");
  $dn = "uid=$listname,$ou";
  $r = ldap_delete($ds, $dn);
 
  //=========attributes to be added
  $info["accountStatus"] = "nopop";
  $info["cn"] = strtoupper($listname) . " Mailing List";
  $info["description"] = "$desc";
  $info["gidNumber"] = "9903";
  $info["homeDirectory"] = "/mail/lists/$listname";
  $info["mail"] = "$listname@lists.iiita.ac.in";
  $info["mailalternateaddress"] = "$listname-catchall@lists.iiita.ac.in";
  $info["mailHost"] = "mail.iiita.ac.in";
  $info["mailMessageStore"] = "/mail/lists/$listname";
  $info["noHomeDirectory"] = "/mail/lists/$listname";
  $info["objectClass"][0] = "top";
  $info["objectClass"][1] = "person";
  $info["objectClass"][2] = "posixAccount";
  $info["objectClass"][3] = "shadowAccount";
  $info["objectClass"][4] = "inetOrgPerson";
  $info["objectClass"][5] = "organizationalPerson";
  $info["objectClass"][6] = "ibm-auxAccount";
  $info["objectClass"][7] = "qmailUser";
  $info["objectClass"][8] = "mailingList";
  $info["qmailDotMode"] = "dotonly";
  $info["sn"] = "List";
  $info["uid"] = "$listname";
  $info["uidNumber"] = "9903001";

  $r = ldap_add($ds, $dn, $info);
      
  if ($r) echo $dn . " -- " . $listname . "@lists.iiita.ac.in successfully created.\n";
  else echo $dn . " -- " . $listname . "@lists.iiita.ac.in could not be created.\n";
}

ldap_close($ds);


?>