(á¡áá±á¬áºáá±áž) ááŒá®ážáá¬ážáá±á¬ áááºááááºážáá áºáá¯ááœáẠá¡áá¯á¶ážááŒá¯áá° á¡áá±á¡ááœáẠááá·áºááá·áºáá±á¬ áá±ážáá¶áá±á«ááºáá®áá±á¬ áá¯á¶ážáá»á¬ážá áœá¬ááŸááá±á¬ááŒá±á¬áá·áº ááá¯ááá¯á·ááŒá áºáá²á·ááááºá áá¯á¶ážáááºážá¡á¬ážáá¯á¶ážááᯠáá¯á¶ááá¯ááááºážáá áºáá¯ááŒáá·áº ááœááºáááºáá áºáá¯ááá¯á· áá»áááºáááºáá¬ážááŒá®ážá áá¯á¶ážáááºážáá áºáá¯á á®ááᯠá¡áá¯á¶ážááŒá¯áá°áá»á¬áž áááºáá®ážááŒá®ážáá±á¬ á¡ááœá²á·á¡á ááºážáá°áá Ạ(OU) á¡ááŒá ẠActive Directory (áá±á¬ááºááœáẠAD á¡ááŒá ẠáááºááœáŸááºážáááº) ááœáẠáááºááŸááºáá¬ážáááºá
á¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡á¬áž AD á០ááá¯á¡ááºáá±á¬ áááºáááºážá áááºááœááºááẠá¡áá»ááºá¡áááºáá»á¬ážááᯠáá»ááºááŒááºá
áœá¬ áá
áá¯ááºáá¯ááºááá² ááŸáá·áº ááááºá
á¬á
á¬á¡á¯ááºá á¡áááºážááá¹áá០áá«áááºááá·áº á
á¬áá¬ážááá¯ááºááᯠáááºážááŒááºááá·áº áá¯á¶ááŸááºá
áá
áºá០á¡ááá²á· á
áá
áºá
á®áá¶ááá·áºááœá²áá°áá»á¬ážááᯠá¡ááá²á·áááŸáááẠá¡ááœáá·áºá¡áá±ážáá±ážááẠááá¯á¡ááºáá«áááºá
ááŒá¿áá¬ááá¯ááŒá±ááŸááºážááẠá¡áááºááá·áºáá¯ááºáá¬ážááá·áº ááá·áºáá»á±á¬áºáá±á¬ááœá±ážáá»ááºá áá¬áá»á¬ážáááŸááá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáá»áœááºá¯ááºáááá¯ááºááá¯ááºáááºá áá±á«ááºážááŒáá·áºááŒá¯áá¯ááºááááºááŒá áºáá«áááºá
áá¬ááá¯áá¯á¶ážááááºááá¯áᬠá¡áááºáá¯á¶ážáá¯á¶ážááŒááºáááŸá¬á ááá¯ážááŸááºážáá«ááẠ- áá±á¬ááºáá¯á¶ážáááºážááœáŸááºááᯠbrowser áá áºáá¯ááá±áá áºááá·áº domain á¡áá¯á¶ážááŒá¯áá°á¡á¬ážáá¯á¶ážá¡ááœáẠáááá¯ááºááá·áºáá«áááºá ááááá¯á¶áž áááááááá¬ááá±á¬á· PHP á ldap áá²á·ááœá²ááŒá®ážáá±á¬á· á¡á²áá«ááœá±ááᯠáá¯á¶ážáááºá PHP ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážáááŒá®ážáá¬ážáá±á¬á¡á¬ážáá¬áá»ááºááá¯áááºážáááŸáá¯ááºážáááá¯ážááŸááºážááŸá¯áá¯áá»áœááºá¯ááºáá°áááẠ- á¡áá°ážá¡ááŒááºá¡áááºážáááŸááá²ááá¯á¡ááºáá±á¬áá¬ážáááºááŸá¯á¡áááºážáááºááŸááá±á¬á áá áºá á®áá¶ááá·áºááœá²áá°áááºááá·áºáá¯ááºááá¯áááá¯ááá¯á¡ááºáá±á¬á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááá¯ááŒá¯áá¯ááºááá¯ááºáááá·áºáááºá
áá«ááᯠá ááá¯ááºáá¡á±á¬ááºá áŠážá áœá¬á ááá¯ááááºážááá¯á· áá»áááºáááºáááºá¡ááœáẠáá±á¬ááºáá»á¬ážááᯠáááºááŸááºááŒáá«á áá¯á·á
$srv ="SERVER";
$srv_domain ="DOMAIN.COM";
$srv_login ="USERNAME@".$srv_domain;
$srv_password ="PASSWORD";
áá±á¬ááºáá
áºáá¯ááá±á¬á· ááẠOU á áá¯á¶ážá
áœá²áá°ááœá±ááᯠááŸá¬ááœá±ááá²ááá¯áᬠáá¯á¶ážááŒááºááá¯á·áá«áá²á $_GET['place'] á០áááºááá¯ážáá»á¬ážááᯠááŒá¬ážááŒááºááŒá®áž áááºážááᯠáá¯ááºáá±á¬ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá¯á¶ážááŒá¯áá°áááºááááºá
á¬ááá¯á·ááœá¬ážáá»áŸááº
$place = (@$_GET['place']);
$doscript=true;
switch($place){
case "first" :
$dn ="OU=ou1,OU=DOMAIN,dc=DOMAIN,dc=COM";
break;
case "second":
$dn ="OU=ou2,OU=DOMAIN,dc=DOMAIN,dc=COM";
break;
//зЎеÑÑ ÐŒÐŸÐ¶ÐœÐŸ ЎПбавОÑÑ ÐµÑÑ ÑÑлПвОй.
default:
$doscript=false;
break;
}
if (!$doscript) include "main_table.html";
Variable $doscript á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááá¯ááŸá¬ááœá±ááá·áº OU ááá¯áááºááŸááºáá¬ážáááºááŒá áºá á± áá»áœááºá¯ááºááá¯á·ááẠáááºááá¯ážááá¯ááááºážáááºážááẠááá¯á¡ááºáá«áááºá âswitch-caseâ ááœááºáá±á¬áºááŒáá¬ážáá±á¬ááá¯ááºáá®ááŸá¯áááŸááá«á $doscript=falseá script áá¡áááá¡á áááºá¡ááá¯ááºážááá¯áá¯ááºáá±á¬ááºáááºááá¯ááºáá«á ááŸáá·áºá áááºá á¬áá»ááºááŸá¬ âmain_table.htmlâ ááá¯ááŒááá«ááẠ(áá»áœááºá¯ááºá¡ááŒá±á¬ááºážááŒá±á¬ááŒáá«áááºá á¡áá¯á¶ážááŸá¬)á
á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠOU áá áºáá¯ááᯠáááºááŸááºááŒá®ážáá«áá ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºááẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáááºáááºáá¯ááºáá±á¬ááºáááº- áá»áœááºá¯ááºááá¯á·ááẠá¡áá¯á¶ážááŒá¯áá°á¡ááœáẠáááºážááœáŸááºá á¬áá»ááºááŸá¬ááᯠá áááºáá±ážááœá²áááº-
else if ($doscript) {
{echo "
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<link rel='shortcut icon' href='ico.png'>
<meta charset='windows-1251/ '>
ááá¯ááá¯áá¬áá¬áá±á¬á¡ááœááºá¡ááŒááºá¡ááœáẠá ááá¯ááºáá»á¬ážáá«áááºááẠ(áá¯ááºáá²á·á áááºážááá¯á·ááᯠcss ááá¯ááºáá áºáá¯á¡ááŒá Ạááá·áºááœááºážááá¯ááºáá±á¬áºáááºáž á¡áá»áá¯á·áá±á¬ IE áá¬ážááŸááºážáá»á¬ážááẠá€áááºážááŒáá·áº áááºááŸááºáá¬ážáá±á¬á ááá¯ááºáá»á¬ážááᯠáááºááá¶ááá¯áá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááᯠscript ááœáẠááá¯ááºááá¯ááºáá±ážááẠááá¯á¡ááºáááº-
<style>
*{text-align: center; font-family:tahoma; font-size:14px;}
a{text-decoration: none; color: #000;}
a:hover{text-decoration: underline; color: #0059FF;}
#bold{text-decoration: none; font-weight: 600;font-size:20px;}
#table,tr,td{border-style:solid;border-width:1px; border-collapse:collapse;padding:5px; height:22px;border-color:#7d7d7d;}
/* ÐеÑеÑÐœÑе ÑÑÑПкО */#table tbody tr:nth-child(odd){background: #fff;}
/* ЧеÑÐœÑе ÑÑÑПкО */ #table tbody tr:nth-child(even){background: #F7F7F7;}
#noborder{border-width: 0 px; border-style: none;}
#sp30px{text-indent: 30px;text-align: justify;}
#smallsize{font-family:tahoma; text-indent: 5px; text-align:left; font-size:12px;}
#top {background: #ffffff;
text-align: center;
left:0;
top:0px;
table-layout: fixed;
border-style:solid;
border-width:0px;
border-collapse:collapse;
padding:0px;
height:22px;
border: 0px;
z-index: 99999;
display:block;
width:80px;
opacity: 0.6;
filter: alpha(Opacity=60);
height:100%;
position:fixed;}
#top:hover{background: #afafaf;opacity: 100;filter: alpha(Opacity=100);text-decoration: none;color: #000000;}
.smalltext{padding-top: 1px;
padding-bottom: 1px;
text-align: bottom;
font-family:tahoma;
color: #a0a0a0;
line-height: 7px;
font-size: 10px;}
.smalltext:hover{color: #0000ff;}
.transition-rotate {position: relative;
z-index: 2;
margin: 0 auto;
padding: 5px;
text-align: center;
max-width: 500px;
cursor: pointer;
transition: 0.1s linear;}
.transition-rotate:hover {-webkit-transform: rotate(-2deg); transform: rotate(-2deg);}
#lineheight{
text-align: left;
line-height: 1px;
text-decoration: none;
font-weight: 600;
font-size:20px;}
</style>
á ááá¯ááºáá»á¬ážááŒáá·áº áá»áœááºá¯ááºááá¯á· ááŒá®ážáá«ááŒá®á ááᯠáá»áœááºá¯ááºááá¯á·ááẠáááºááºá áá±á«ááºážá ááºááᯠáá±ážáá¬ážááŒá®áž áááºáá á¬áá»ááºááŸá¬ááá¯á· ááŒááºááœá¬ážááẠá¡áááºááŒá±áá±á¬ ááá·áºááºáá áºáá¯ááᯠáá±ážááœá²áá«áááºá
<title>Adressbook of «YourMegaCompanyName»</title>
</head>
<body style='background-color:#ffffff;'>";
}
echo "
<table id='top'><tr><td id='top'>
<a href='index.php?place=main' id='top' >
<br><br><br>
<img src='back_to_main.png' alt='' border='0' width='75' height='60'/>
<p>Ðа главМÑÑ</p></a>
</td></tr></table>
";
áá»áœááºá¯ááºááá¯á·ááẠááŸá¬ááœá±ááŸá¯á á áºáá¯ááºááŸá¯áá»á¬ážááᯠAD ááŒáá·áºáááºááŸááºááŒá®áž OU ááŸáá·áºáááºáááºáá±á¬áá±áá¬ááá¯ááá°áááº-
$filter ="(&(objectcategory=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"; //вÑе пПлÑзПваÑелО, кÑПЌе ПÑклÑÑеММÑÑ
.
$filter2 ="(objectCategory=OrganizationalUnit)"; // ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ ÐžÐœÑПÑЌаÑОО П OU
$ds=ldap_connect($srv);
if ($ds) {
$r=ldap_bind($ds,$srv_login,$srv_password);;
ldap_set_option($ds,LDAP_OPT_REFERRALS, 0);
ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);
$sr=ldap_search($ds,$dn ,$filter );
ldap_sort($ds,$sr, "givenname");
$info = ldap_get_entries($ds, $sr);
$sr2=ldap_search($ds,$dn ,$filter2 );
$placeinfo = ldap_get_entries($ds, $sr2);
$PlaceName = $placeinfo[0]["l"][0]; // name of place
$PlaceAddres = $placeinfo[0]["street"][0]; // address of place
$PlaceMail = $placeinfo[0]["description"][0]; // mail of place
$PlacePhone = $placeinfo[0]["st"][0]; // phone of plase
áá±á¬ááºáá áºáá¯ááá±á¬á· á á¬áá»ááºááŸá¬áá²á· á¡áá±á«áºáá¯á¶ážááᯠáá®ááá¯ááºážááœá²áá«á
echo"<table align='center' height = '80'>
<td id='noborder' ><div id='lineheight'>". $PlaceName ."</div></td></tr>
<tr><td id='noborder' >". $PlaceAddres ."</td></tr>
</table>
<table align='center' id='table'>
<tr><td width='35' bgcolor = #f0f0e4> â </td>
<td width='300' bgcolor = #f0f0e4> Name </td>
<td width='250' bgcolor = #f0f0e4> E-mail </td>
<td width='60' bgcolor = #f0f0e4> Phone </td>
<td width='150' bgcolor = #f0f0e4> Mobile </td></tr>
<tr><td></td><td> ÐаММÑе OU </td><td>";
echo "<div class='transition-rotate'><a href=mailto:" . $PlaceMail .">" . $PlaceMail ." </a></div>";
echo "</td><td width='150'> " . $PlacePhone ." </td><td> - </td></tr>";
ááá¯á·áá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá¯á¶ážááŒá¯áá°áá±áá¬ááᯠá¡ááá¯ááºážáá áºáá¯á¡ááœááºáž áááºáá¶ááá°ááŒá®áž á á®áá¶áá±á¬ááºááœááºáá±áá»áááºááœáẠá¡áá»áá¯á·áá±á¬ (á¥ááá¬á áááºáá±á¬ááºááŸá¯) á¡áá±á¬áá·áºáá»á¬ážááᯠááŸááºáá¬ážáááºá¡ááœáẠAD ááŸá á¡áá¯á¶ážááŒá¯áá°á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááŸá âá¡áááºážâ á¡ááœááºááœáẠâááŸááºâ ááœááºáááºááœáẠâááŸááºâ ááœááºáááºááᯠááá¯ááºááá·áºááá¯ááºáá¯á¶ááŒáá·áº ááá¯áá²á·ááá¯á·áá±á¬ áá¯á¶ážá áœá²áá°áá»á¬áž ááŸááááºááá¯ááºáá«á áááºážááœáŸááºááœááºááŒááá¬ážáááº-
for ($i=0; $i<$info["count"];$i++) {
$UserHide = $info[$i]["physicaldeliveryofficename"][0];
if ($UserHide != 'hide') {
$UserName = $info[$i]["cn"][0]; //ÐÐŒÑ Ð¿ÐŸÐ»ÑзПваÑелÑ
$UserPosition = $info[$i]["title"][0]; // ÐПлжМПÑÑÑ
$UserMail = $info[$i]["mail"][0]; //mail
if (!$UserMail)) $UserMail = "-"; //еÑлО ÐœÐµÑ ÐŽÐ°ÐœÐœÑÑ
П ÑÑОке в AD, ÑП ПÑПбÑажаеЌ пÑПÑеÑк
$UserIpPhone = $info[$i]["ipphone"][0]; //ip phone
if (!$UserIpPhone) $UserIpPhone = "-"; //еÑлО ÐœÐµÑ ÐŽÐ°ÐœÐœÑÑ
П ÑÑОке в AD, ÑП ПÑПбÑажаеЌ пÑПÑеÑк
$UserMobile = $info[$i]["mobile"][0]; //mobile
if (!$UserMobile) $UserMobile = "-"; //еÑлО ÐœÐµÑ ÐŽÐ°ÐœÐœÑÑ
П ÑÑОке в AD, ÑП ПÑПбÑажаеЌ пÑПÑеÑк
á
áá¬ážáá
ááºá áááºááẠá¡ááŒá¬ážáá±á¬ attribute ááááºááá¯ážááᯠááá°ááá¯áá«áá áááááá« (áá«á á¡áá±ážááŒá®ážáááº)á
áá±á¬ááºážááá¯ááŸá¯ááœáẠáá»áœááºá¯ááºááá¯á·ááẠattribute á¡áááºááᯠáá±ážáá±á¬ááºáááºá á
á¬áá¯á¶ážáá±áž á¡áá¹ááá¬áá»á¬ážááá¯ááºááẠá¡áá¯ááºáááŒá
áºáá°ážá
ááŒá®ážáá»áŸáẠáááŸááá¬áá±á¬áá±áá¬ááᯠááá¬ážáá²ááá¯á· ááá·áºáá«-
echo "<tr>
<td>". $n+=1 ."</td>
<td> ". $UserName ."<br> <div class='smalltext'>". $UserPosition ."</div></td><td>"; // ÐÐŒÑ Ð¿ÐŸÐ»ÑзПваÑÐµÐ»Ñ Ðž ЎПлжМПÑÑÑ
if ($UserMail !='-') echo "<div class='transition-rotate'><a href=mailto:'$UserMail'>$UserMail </a></div>"; // еÑлО Ñ Ð¿ÐŸÐ»ÑзПваÑÐµÐ»Ñ ÐµÑÑÑ e-mail ÑПзЎаÑÐŒ ÑÑÑÐ»ÐºÑ ÐœÐ° ПÑпÑÐ°Ð²ÐºÑ Ð¿ÐžÑÑЌа
else echo "-"; //еÑлО ÐœÐµÑ e-mail - ÑÑавОЌ пÑПÑеÑк.
echo "<td> ". $UserIpPhone ." </td>
<td> ". $UserMobile ." </td></tr>";
}
}
echo "</table>";
ááá¯á·áá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠldap áá»áááºáááºááŸá¯ááᯠááááºáá«á ááá¯á·ááá¯áẠáá¬áá¬ááá¯á· áá»áááºáááºááẠáááŒá áºááá¯ááºááŒá±á¬ááºáž áááºáá±á·áá»áºááᯠááŒááááº-
ldap_close($ds);
}
else echo "<h4>Unable to connect to LDAP server</h4>";
echo '<br><br><br></body></html>';}
á¡ááœááºážá០âmain_table.htmlâ ááá¯ááºááẠááá·áºááºáá»á¬ážáá«áá±á¬ ááá¯ážááŸááºážáá±á¬ html á á¬áá»ááºááŸá¬ááŒá áºááŒá®ážá á€áá²á·ááá¯á· áá áºá á¯á¶áá áºáᯠááŒááºááœá±á·ááááº-
<head>
<link rel="shortcut icon" href="ico.png"/>
<meta charset="windows-1251"/>
<title>Adressbook of «YourMegaCompanyName»</title>
</head>
<body style='background-color:#ffffff;'>
<center><a href=index.php><IMG border="none" src="logo.png"/></a></center>
<center><b>Places and offices</b></center>
<br>
<table border="0" width="450" bgcolor="#dddddd" align="center" valign="middle" CELLSPACING="0">
<tr id="space"><td></td></tr>
<tr><td align="left" id="abz"><a href="index.php?place=ou1">OU1</a></td></tr>
<tr id="space"><td></td></tr>
<tr><td align="left" id="abz"><a href="index.php?place=ou2">OU2</a></td></tr>
</table></body></html>
áá«á·áá¯ááºá áááºáá°á·ááá¯áááᯠáá°áá®áá±ážááẠáá«áááºážáá¬áá«áááºá áá¯á¶ážáá«á
áááºááá¹áááŸáááá·áºá¡ááá¯ááºáž áááºážááᯠááœááºáááºá áœá¬áááºážááŒááºááá¯ááºááẠ(ááá¯ážáááºáááº/ááá¯ááá¯ážáááº) ááŸáá·áº áááºážááᯠáááºááá·áºáááºážááŒáá·áºáááᯠááŒáá·áºáá±ááá¯ááºáááºá
СпаÑОбПзавМОЌаМОе!
source: www.habr.com