$cbuff) { if (($cbuff['TYPE'] != 'noedit') and ($cbuff['TYPE'] != 'file') and ($cbuff['TYPE'] != 'md5')) { $res[] = $clabel; } $conf_listattr = implode(',',$res); } } if ($searchx) { $search = "(|(".$L->conf['baseattr']."=*".utf8_encode($searchx)."*) (displayName=*".utf8_encode($searchx)."*))"; $mquery = "&searchx=".urlencode($searchx); } else { $search = "(".$L->conf['baseattr']."=*)"; $mquery = ''; } $in = $info = $output = $outgood = ''; if ($id) { if ($action and $action == 'save') { $inst = $L->write_id($fes); if (is_array($inst)) { $view = 'form'; $id = ''; $output = $inst; } elseif ($inst) { $id = $fes[id]; $outgood[] = $inst; $action = 'modify'; } } if ($action and $action == 'modify') { $prov = $L->get_id($id); $minst = $L->write_all($fes); if (is_array($minst)) { $view = 'form'; $output = $minst; } elseif ($minst) { $outgood[] = $minst; } } elseif (isset($_POST['delgp'])) { $delit = array( $conf_groupattr => $conf_baseattr."=".$id.",".$conf_basedn); $groupdn = "$conf_membattr=$delgp,$conf_groupdn"; if (ldap_mod_del($conn,$groupdn,$delit)) { $outgood[] = "$id effacé du groupe $delgp."; } else { $output[] = "Effacement de $id du groupe $delgp impossible.
$groupdn
".print_r($delit); } /* // ROU 20030303 Suppression d'une adresse email } elseif (isset($_POST['delmail'])) { $delit = array( $conf['ludap']['mailattr'] => $delmail); $maildn = "{$conf['ludap']['membattr']}=$id,{$conf['ludap']['maildn']}"; if (ldap_mod_del($conn,$maildn,$delit)) { $outgood[] = "Adresse email $delmail effacé pour l'utilisateur $id."; } else { $output[] = "Effacement de l'adresse email $delmail pour l'utilisateur $id impossible.
$maildn
".print_r($delit); } // ROU 20030303 */ } elseif ($action and $action == 'newgroup') { if ($addgp and ($addgp != 'new')) { $groupdn = "$conf_membattr=".utf8_encode($addgp).",$conf_groupdn"; $addit = array( $conf_groupattr => $conf_baseattr."=".$id.",".$conf_basedn); if (ldap_mod_add($conn,$groupdn,$addit)) { $outgood[] = "$id ajouté au groupe $addgp."; } else { $output[] = "Ajout de $id dans le groupe $addgp impossible."; } } /* // ROU 20030303 Ajout d'une adresse mail } elseif ($action and $action == 'addmail' and isset($addmail)) { $i = ldap_search($conn,$conf['ludap']['maildn'],"cn=$id"); $info = ldap_get_entries($conn,$i); if ($info['count'] < 1) { $entrydn = "$conf_membattr=".utf8_encode($id).",$conf_maildn"; $objClasses = split(',',$conf['ludap']['mailobj']); foreach ($objClasses as $objClass) { $entry["objectclass"][] = $objClass; } $entry["$conf_membattr"] = utf8_encode($id); $entry["$conf_mailattr"] = utf8_encode($addmail); if (ldap_add($conn,$entrydn,$entry)) { $outgood[] = "Adresse email $addmail ajoutée."; } else { $output[] = "Ajout de l'adresse email $addmail impossible.$maildn".print_r($addit); } } else { $maildn = "{$conf['ludap']['membattr']}=".$id.",{$conf['ludap']['maildn']}"; $addit["{$conf['ludap']['mailattr']}"] = utf8_encode($addmail); if (ldap_mod_add($conn,$maildn,$addit)) { $outgood[] = "Adresse email $addmail ajoutée."; } else { $output[] = "Ajout de l'adresse email $addmail impossible.$maildn".print_r($addit); } } // ROU 20030303 */ } elseif (isset($_POST['action']) and $_POST['action'] == 'addgroup' and $addgroup) { $groupdn = "$conf_membattr=".utf8_encode($addgroup).",$conf_groupdn"; $grps = split(',',$conf_groupobj); foreach ($grps as $ps) { $addit["objectclass"][] = $ps; } $addit["$conf_membattr"] = utf8_encode($addgroup); $addit["$conf_groupattr"] = $conf_baseattr."=".$id.",".$conf_basedn; if (ldap_add($conn,$groupdn,$addit)) { $outgood[] = "Groupe $addgroup créé."; } else { $output[] = "Création du groupe $addgroup impossible.$groupdn".print_r($addit); } } $fres = $L->get_id($id); $f_gps = $L->get_groups($id); $f_mails = $L->get_mails($id); } else { if (isset($_POST['action']) and $_POST['action'] == 'del') { if ($confirm_action == 'yes') { if (ldap_delete($conn,$conf_baseattr."=".$delid.",".$conf_basedn)) { $outgood[] = "$delid deleted."; } else { $output[] = "Effacement $delid Impossible."; } } else { $output[] =<<<_END_
Etes-vous sur/e de vouloir effacer $delid ?
_END_; } } // ROU 20030303 Suppression d'une boite cyrus - Confirmation obligatoire elseif (isset($_POST['action']) and $_POST['action'] == 'cyrusdel') { if ($confirm_action == 'yes') { system("/usr/local/bin/cyrusdel $cyruid"); if (1) { $outgood[] = "Le compte cyrus pour $cyruid a été supprimé."; } else { $output[] = "Suppression du compte cyrus pour $cyruid Impossible."; } } else { $output[] =<<<_END_
Etes-vous sur/e de vouloir supprimer le compte cyrus pour $cyruid ?
_END_; } } // ROU 20030303 Création d'une boite cyrus - Confirmation obligatoire elseif (isset($_POST['action']) and $_POST['action'] == 'cyrusadd') { system("/usr/local/bin/cyrusadd $cyruid"); if (1) { $outgood[] = "Le compte cyrus pour $cyruid a été créé."; } else { $output[] = "Création du compte cyrus pour $cyruid Impossible."; } } $sr = ldap_search($L->conn,$L->conf['basedn'],$search,split(",",$L->conf['listattr'])); $info = ldap_get_entries($L->conn,$sr); if ($info['count'] == 1) { $id = $info[0]["{$L->conf['baseattr']}"][0]; $fres = $L->get_id($id); $f_gps = $L->get_groups($id); #$mquery = ''; $outgood[] = "Une réponse unique correspond à votre recherche."; } } if ($admin) { $a = 'a'; } $msg = ''; // header.tpl // topbar.tpl $S->assign('admin',$admin); $ladmin = false; if ($me and ($id == $me || $admin)) { $ladmin = true; } $S->assign('ladmin',$ladmin); $S->assign('me',$_SESSION['me']); $S->assign('id',$id); $S->assign('mquery',$mquery); $S->assign('searchx',$searchx); $S->assign('action',$action); $S->assign('schema_user', $L->schema_user); // templates display $S->display('header.tpl'); if ($output) { $S->assign('msgclass', 'msgbad'); $S->assign('messages', $output); $msg.= $S->fetch('msgbox.tpl'); } if ($outgood) { $S->assign('msgclass', 'msgok'); $S->assign('messages', $outgood); $msg.= $S->fetch('msgbox.tpl'); } $S->assign('msg', $msg); $S->display('topbar.tpl'); if ($view and $view == "form") { echo '
'; echo ''; if ($id) { echo ''; echo ''; } else { echo ''; $fres = $fes; } echo ''; echo ""; echo "\n"; $n = 0; foreach ($conf[human] as $clabel=>$cbuff) { $ncl = $n%2; list($cl,$ntxt,$ntype,$nfunc) = $cbuff; echo ""; $size = 42; if ($ntxt == "text") { if ($ntype == "md5") { echo ""; echo ""; echo ""; } elseif ((($ntype == "noedit") or ($ntype == "primary")) and $id) { echo ""; if ($ntype == "primary") { echo ""; } } elseif ($ntype == "multi") { if (is_array($fres[$clabel])) { foreach ($fres[$clabel] as $frc) { echo ""; } echo ""; } else { echo ""; } } elseif ($ntype == "big") { echo ""; } elseif ($ntype != "noedit") { echo ""; } else { echo ""; } } elseif ($ntxt == "list") { echo ""; } elseif ($ntxt == "image") { echo "'; echo "\n"; echo "
RETOUR"; echo ""; echo "
$cl"; if ($nfunc == 'mandatory') { echo " *"; } echo "
Confirmation
$fres[$clabel]
 
"; } elseif ($ntype == "primary") { echo "
 
"; echo ""; echo "Mettez \"x\" pour effacer"; } $n++; } echo '
RETOUR"; echo ""; echo "
"; } elseif (isset($_GET['view']) and $_GET['view'] == "xml") { echo "
"; echo "
"; echo "
Export "; echo "LuDAP XML "; echo "QPE XML"; echo " Import "; echo ""; echo ""; echo ""; echo "
"; if ($xmlaction == 'importer') { if (is_file($xmlimport)) { $xfile = implode('',file($xmlimport)); $obj = domxml_xmltree($xfile); } else { } echo'
';print_r(get_defined_vars());echo'
'; } elseif ($xmltype == 'ludap') { $buffer = "\n\n\n\n"; $buffer.= "\n"; $buffer.= "\tGénéré le ".date(time())."\n"; $buffer.= "\tLuDAP $ludap_version\n"; if ($searchx) { $buffer.= "\t$searchx\n"; } $buffer.= "\n"; $buffer.= "\n"; for ($n = 0; $n < $info[count]; $n++) { $buffer.= "\t\n"; foreach ($conf[human] as $clabel=>$cbuff) { if ($info[$n][$clabel]) { array_shift($info[$n][$clabel]); $buffer.= "\t\t"; foreach ($info[$n][$clabel] as $val) { $buffer.= "".utf8_decode($val).""; } $buffer.= "\n"; } } $buffer.= "\t\n"; } /* $buffer.= "\n"; */ $buffer.= "\n\n\n"; echo "
"; } elseif ($xmltype == 'qpe') { $buffer = "\n\n"; $buffer.= " \n \n"; $buffer.= " \n"; for ($n = 0; $n < $info[count]; $n++) { $buffer.= ''."\n"; } $buffer.= " \n\n"; echo "
"; echo "
"; } echo "
"; } else { if ($id) { $S->assign('boxtitle','Liste des Groupes'); $S->display('box_header.tpl'); if ($admin) { $S->assign_by_ref('groups',$L->get_groups()); $S->display('box_admingroups.tpl'); } if (is_array($f_gps)) { $S->assign('groupsid', $f_gps); $S->display('box_list.tpl'); } if ($showgp) { $S->assign('showgp', $showgp); $S->assign('gpinfos', $L->get_gid($showgp, array_keys($L->schema_group))); $S->display('box_details.tpl'); } $S->display('box_footer.tpl'); $S->assign('userinfos', $fres); $S->display('details.tpl'); } else { $liste = split(',',$L->conf["simple"]); $list = array(); for ($n = 0; $n < $info['count']; $n++) { foreach ($liste as $lt) { if (isset($info[$n]["$lt"][0])) { $inf[$n][$lt] = $info[$n]["$lt"][0]; } else { $inf[$n][$lt] = ''; } $list["$lt"] = $L->schema_user["$lt"]['LABEL']; } $inf[$n]['id'] = $info[$n]["{$L->conf['baseattr']}"][0]; } if (isset($inf) and is_array($inf)) { if ($sort) { usort($inf, create_function('$a,$b','global $sort;if (isset($a[$sort])) return strcasecmp($a[$sort],$b[$sort]);')); } elseif ($rsort) { usort($inf, create_function('$a,$b','global $rsort;if (isset($a[$rsort])) return strcasecmp($b[$rsort],$a[$rsort]);')); } } $S->assign('info', $inf); $S->assign('list', $list); $S->assign('sort', $sort); $S->assign('rsort', $rsort); $S->assign('results',count($inf)); $S->assign('colspan',count($list)+1); $S->display('list.tpl'); } } $S->display('footer.tpl'); ldap_close($L->conn); /* echo'
';print_r(get_defined_vars());echo'
'; */ ?>