<?
//-- Telefon Rehberi --
// rehber.php
// Arama formunu ve sonuclari uretir. LDAP tabanli.
// Turkce karakterleri siralama destegi henuz yok.
// Yazan: Mustafa Hadi Dilek, Subat 2000
//-------------
  
require("common.php");
 
  if(!isset(
$cn)) $cn="";
  if(!isset(
$telephonenumber)) $telephonenumber="";
  if(!isset(
$roomnumber)) $roomnumber="";
  if(!isset(
$mail)) $mail="";

  
CommonHeader("Ulakbim Telefon Rehberi");

  if (
ValidateHOST()) $footer_links["login.php"] ="LDAP Kaydı Değiştirme";
//-------------
?>

<FORM ACTION="rehber.php" METHOD="post" ENCTYPE="application/x-www-form-urlencoded">
<INPUT TYPE="hidden" NAME="query" VALUE="YES">

<!-- Eski hali
<?
//-------------
  
echo "<TABLE WIDTH=\""._WIDTH."\" BORDER=\"0\" CELLSPACING=\"1\" CELLPADDING=\"1\">\n";
//-------------
?>
<TR>
    <TD ALIGN="right" WIDTH="100"></A><? echo $ldap_attr_str["cn"]; ?></TD>
    <TD><? echo "<INPUT TYPE=\"text\" NAME=\"cn\" VALUE=\"$cn\">"?></TD>
</TR>
<TR>
    <TD ALIGN="right"><? echo $ldap_attr_str["telephonenumber"]; ?></TD>
    <TD><? echo "<INPUT TYPE=\"text\" NAME=\"telephonenumber\" VALUE=\"$telephonenumber\">"?></TD>
</TR>
<TR>
    <TD ALIGN="right"><? echo $ldap_attr_str["roomnumber"]; ?></TD>
    <TD><? echo "<INPUT TYPE=\"text\" NAME=\"roomnumber\" VALUE=\"$roomnumber\">"?></TD>
</TR>
<TR>
    <TD ALIGN="right"><? echo $ldap_attr_str["mail"]; ?></TD>
    <TD><? echo "<INPUT TYPE=\"text\" NAME=\"mail\" VALUE=\"$mail\">"?></TD>
</TR>
<TR>
    <TD>&nbsp;</TD>
    <TD><INPUT TYPE="submit" NAME="Ara" VALUE="Ara"></TD>
</TR>
</TABLE>
-->

<FIELDSET>
<?
//-------------
  
echo "<TABLE WIDTH=\""._WIDTH."\" BORDER=\"0\" CELLSPACING=\"1\" CELLPADDING=\"1\">\n";
//-------------
?>
<TR>
    <TD CLASS="formlabel">
    <label accesskey="a" for="fcn"><? echo $ldap_attr_str["cn"]; ?></label>
  </TD>
    <TD CLASS="formvalue">
    <? echo "<INPUT TYPE=\"text\" NAME=\"cn\" ID=\"fcn\" VALUE=\"$cn\">"?> ve
  </TD>
</TR>
<TR>
    <TD CLASS="formlabel"><label accesskey="t" for="ftelephonenumber">
    <? echo $ldap_attr_str["telephonenumber"]; ?></label>
  </TD>
    <TD CLASS="formvalue">
    <? echo "<INPUT TYPE=\"text\" NAME=\"telephonenumber\" ID=\"ftelephonenumber\" VALUE=\"$telephonenumber\">"?> ve
  </TD>
</TR>
<TR>
    <TD CLASS="formlabel"><label accesskey="o" for="froomnumber">
    <? echo $ldap_attr_str["roomnumber"]; ?></label>
  </TD>
    <TD CLASS="formvalue">
    <? echo "<INPUT TYPE=\"text\" NAME=\"roomnumber\" ID=\"froomnumber\" VALUE=\"$roomnumber\">"?> ve
  </TD>
</TR>
<TR>
    <TD CLASS="formlabel"><label accesskey="m" for="fmail">
    <? echo $ldap_attr_str["mail"]; ?></label>
  </TD>
    <TD CLASS="formvalue">
    <? echo "<INPUT TYPE=\"text\" NAME=\"mail\" ID=\"fmail\" VALUE=\"$mail\">"?>
  </TD>
</TR>
<TR>
    <TD CLASS="formlabel">&nbsp;</TD>
    <TD CLASS="formvalue"><INPUT TYPE="submit" NAME="Ara" VALUE="Ara"></TD>
</TR>
</TABLE>
</FIELDSET>
</FORM>

<?
//-------------
  
if (!isset($query)) {
    
CommonFooter($footer_links);
    exit;
  }
//-------------

?>
  <DIV CLASS="title">Arama Sonuçları</DIV>
<?

//-------------
  
$my_con=@ldap_connect(_LDAP_HOST,_LDAP_PORT);  // ! this must be a valid LDAP server !

  
if (!$my_con) {
    echo 
"Hata. LDAP sunucu baglantısı saglanamadı.<BR>Sorun yetkililere iletildi...";
    
mail(getenv("SERVER_ADMIN"), // Target address
      
"Ulakbim Telefon Rehberi'nde hata!!!",  // Subject
      
"LDAP sunucusuna erisim basarisiz. Script: "._FILE_."\nErisim parametreleri:\nSunucu: "._LDAP_HOST."\nPort:" ._LDAP_PORT."\nSunucu calismiyor olabilir ya da erisim parametrelerinde hata var..."// Message body
      
"From: ".getenv("SERVER_ADMIN")."\nX-Mailer: PHP/" phpversion());
    
CommonFooter($footer_links);
    exit;
  }
  
  @
ldap_bind($my_con);      // this is an "anonymous" bind, typically read-only access
  
$base_dn _ORG;

  if (empty(
$cn) && empty($telephonenumber) && empty($roomnumber) && empty($mail)) {
    
$filter "objectclass=*inetorgperson*";
  }
  else {
    
$filter "(&(objectclass=*inetorgperson*)";
    if (!empty(
$cn))              $filter .= "(cn=*".$cn."*)";
    if (!empty(
$telephonenumber)) $filter .= "(telephonenumber=*".$telephonenumber."*)";
    if (!empty(
$roomnumber))      $filter .= "(roomnumber=*".$roomnumber."*)";
    if (!empty(
$mail))            $filter .= "(mail=*".$mail."*)";
    
$filter .= ")";
  }
           
  
$search_res ldap_search($my_con$base_dn$filter);
  
$info ldap_get_entries($my_con$search_res);

  if (
$info["count"] == 0) {
    echo 
"Aranan kriterlere uygun bir kayit bulunamadi...";
    
CommonFooter($footer_links);
    exit;
  }

  echo 
"<TABLE WIDTH=\""._WIDTH."\" BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"1\">\n";
  echo 
"<TR>\n";
  
  echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["cn"]."</TH>\n";
  echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["telephonenumber"]."</TH>\n";
  echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["roomnumber"]."</TH>\n";
  echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["ou"]."</TH>\n";
  echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["mail"]."</TH>\n";

  if (
ValidateHOST()) {
    echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["mobile"]."</TH>\n";
    echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["homephone"]."</TH>\n";
    echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["homepostaladdress"]."</TH>\n";
    echo 
"<TH ALIGN=\"left\" NOWRAP>".$ldap_attr_str["labeleduri"]."</TH>\n";
    echo 
"<TH ALIGN=\"left\" NOWRAP>&nbsp;</TH>\n";
  }
  
  echo 
"</TR>";
  
  for (
$i=0$i<$info["count"]; $i++) {          // Siralama hadisesi
    
$sorted[(string)$i]=@$info[$i]["cn"][0];
  }
  
  
asort($sorted);
  
  
reset($sorted);    
  while(list(
$idx$val)=each($sorted)) {
    echo 
"<TR>\n";
    echo 
"  <TD NOWRAP>".GetAttr(@$info[$idx]["cn"])."</TD>\n";
    echo 
"  <TD NOWRAP>".GetAttr(@$info[$idx]["telephonenumber"])."</TD>\n";
    echo 
"  <TD NOWRAP>".GetAttr(@$info[$idx]["roomnumber"])."</TD>\n";
    echo 
"  <TD NOWRAP>".FormatLinks(GetAttr(@$info[$idx]["ou"]))."</TD>\n";
    echo 
"  <TD NOWRAP>".FormatLinks(GetAttr(@$info[$idx]["mail"]))."</TD>\n";
  
    if (
ValidateHOST()) {
      echo 
"<TD NOWRAP>".GetAttr(@$info[$idx]["mobile"])."</TD>\n";
      echo 
"<TD NOWRAP>".GetAttr(@$info[$idx]["homephone"])."</TD>\n";
      echo 
"<TD NOWRAP>".GetAttr(@$info[$idx]["homepostaladdress"])."</TD>\n";
      echo 
"<TD NOWRAP>".FormatLinks(GetAttr(@$info[$idx]["labeleduri"]))."</TD>\n";
      echo 
"<TD ALIGN=\"center\" NOWRAP><A HREF=\"login.php?user=".GetAttr(@$info[$idx]["uid"])."\"><IMG SRC=\"edit_pen.gif\" WIDTH=\"15\" HEIGHT=\"10\" BORDER=\"0\" ALT=\"".GetAttr(@$info[$idx]["cn"])."\"></A></TD>\n";
    }

    echo 
"</TR>\n";
  }

  echo 
"</TABLE>\n";

  
ldap_close($my_con);
  
CommonFooter($footer_links);
?>