рд╡реЗрдм рдкрддреНрддрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ PHP + LDAP рддрдпрд╛рд░ рдХрд░рдгреЗ

рдЕрд╕реЗ рдШрдбрд▓реЗ рдХреА (рддреБрд▓рдиреЗрдиреЗ) рдореЛрдареНрдпрд╛ рдореЛрд╣рд┐рдореЗрдордзреНрдпреЗ рдмрд▒реНрдпрд╛рдЪ рджреВрд░рд╕реНрде рдХрд╛рд░реНрдпрд╛рд▓рдпреЗ рд╣реЛрддреА рдЬреНрдпрд╛рдд рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреА рд╕рднреНрдп рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА. рд╕рд░реНрд╡ рдХрд╛рд░реНрдпрд╛рд▓рдпреЗ рдПрдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдбреЛрдореЗрдирд╕рд╣ рдПрдХрд╛ рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдЬреЛрдбрд▓реЗрд▓реА рдЖрд╣реЗрдд, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрд╛рд▓рдпрд╛рдЪреА рд╡реНрдпрд╛рдЦреНрдпрд╛ ре▓рдХреНрдЯрд┐рд╡реНрд╣ рдбрд┐рд░реЗрдХреНрдЯреНрд░реАрдордзреНрдпреЗ (рдпрд╛рдкреБрдвреЗ AD рдореНрд╣рдгреВрди рд╕рдВрджрд░реНрднрд┐рдд) рдСрд░реНрдЧрдирд╛рдпрдЭреЗрд╢рди рдпреБрдирд┐рдЯ (OU) рдореНрд╣рдгреВрди рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЖрдзреАрдЪ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд.

рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ AD рдХрдбреВрди рдЖрд╡рд╢реНрдпрдХ рдХрд░реНрдордЪрд╛рд▒реНрдпрд╛рдВрдЪреА рд╕рдВрдкрд░реНрдХ рдорд╛рд╣рд┐рддреА рдЬрд▓рдж рдЖрдгрд┐ рд╕рд╣рдЬрддреЗрдиреЗ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ рдЖрдгрд┐ ре▓рдбреНрд░реЗрд╕ рдмреБрдХрдЪреА рднреВрдорд┐рдХрд╛ рдмрдЬрд╛рд╡рдгрд╛рд░реА рдордЬрдХреВрд░ рдлрд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдирд┐рддреНрдпрдХреНрд░рдорд╛рддреВрди рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ.

рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдгрддреЗрд╣реА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдпреЛрдЧреНрдп рдкрд░реНрдпрд╛рдп рдирд╡реНрд╣рддреЗ, рдореНрд╣рдгреВрди рдорд▓рд╛ рд╕рд░реНрд╡рдХрд╛рд╣реА рдорд╛рдЭреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рд╣рд╛рддрд╛рдВрдиреА рдЖрдгрд┐ рдбреЛрдХреНрдпрд╛рдиреЗ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ.

рдЪрд▓рд╛ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдкрд╛рд╕реВрди рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВрдпрд╛ рдХреА рдкреНрд░рдердо рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рд╣реЗ рдард░рд╡рд┐рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рддреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ - рдЕрдВрддрд┐рдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмреНрд░рд╛рдЙрдЭрд░рджреНрд╡рд╛рд░реЗ рдбреЛрдореЗрдирдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЕрд╕рд╛рд╡реА. рдкрд╣рд┐рд▓реА рдЧреЛрд╖реНрдЯ рдЬреА рдордирд╛рдд рдпреЗрддреЗ рддреА рдореНрд╣рдгрдЬреЗ ldap рдЪреНрдпрд╛ рд╕рдВрдпреЛрдЧрд╛рдиреЗ PHP, рдЖрдгрд┐ рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВ. рдореА PHP рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдореЛрдард╛ рдлрд╛рдпрджрд╛ рдореНрд╣рдгрдЬреЗ рддреНрдпрд╛рдЪреА рд╕рд╛рдкреЗрдХреНрд╖ рд╕рд╛рдзреЗрдкрдгрд╛ рдорд╛рдирддреЛ - рдЕрдЧрджреА рдереЛрдбрд╛рд╕рд╛ рд╕рдордЬ рдЕрд╕рд▓реЗрд▓рд╛ рдХреЛрдгрддрд╛рд╣реА рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рд╡рд┐рд╢реЗрд╖рдд: рддрд╛рдг рди рдШреЗрддрд╛, рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рдХреЛрдбрдордзреНрдпреЗ рдЖрд╡рд╢реНрдпрдХ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕реЗрд▓.

рддрд░, рдЪрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВрдпрд╛. рдкреНрд░рдердо, рдбреЛрдореЗрдирд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕реЗрдЯ рдХрд░реВрдпрд╛:

$srv ="SERVER";
$srv_domain ="DOMAIN.COM";
$srv_login ="USERNAME@".$srv_domain; 
$srv_password ="PASSWORD";

рдкреБрдврдЪрд╛ рдореБрджреНрджрд╛ рдореНрд╣рдгрдЬреЗ рдХреЛрдгрддреНрдпрд╛ OU рдордзреНрдпреЗ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╢реЛрдзреВ. рдЖрдореНрд╣реА рд╣реЗ $_GET['place'] рдордзреАрд▓ рдореВрд▓реНрдпреЗ рд░реЛрдЦреВрди рдХрд░реВ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдкрддреНрддреНрдпрд╛рд╡рд░ рдЧреЗрд▓рд╛ server/index.php?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";

рдЪрд▓ $doscript рдореВрд▓реНрдп рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ - рдЖрдореНрд╣реА OU рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рд╢реЛрдзреВ рдХрд┐рдВрд╡рд╛ рдирд╛рд╣реА. рдЬрд░ тАЬрд╕реНрд╡рд┐рдЪ-рдХреЗрд╕тАЭ рдордзреНрдпреЗ рдХреЛрдгрддреАрд╣реА рдЬреБрд│рдгреА рд╕реВрдЪреАрдмрджреНрдз рдирд╕реЗрд▓, рддрд░ $doscript=false, рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЪрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдкреНрд░рд╛рд░рдВрдн рдкреГрд╖реНрда тАЬ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/ '>

рдЕрдзрд┐рдХ рдЖрдирдВрджрджрд╛рдпреА рджрд┐рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рд╢реИрд▓реА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЛ (рд╣реЛрдп, рддреНрдпрд╛ рд╕реАрдПрд╕рдПрд╕ рдлрд╛рдЗрд▓ рдореНрд╣рдгреВрди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ IE рдЪреНрдпрд╛ рдХрд╛рд╣реА рдЖрд╡реГрддреНрддреНрдпрд╛ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕реЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╢реИрд▓реА рд╕реНрд╡реАрдХрд╛рд░реВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реАрдд, рдореНрд╣рдгреВрди рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛ рдереЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рд▓рд┐рд╣рд╛рд╡реНрдпрд╛ рд▓рд╛рдЧрддреАрд▓):

<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>";

рдкреБрдвреЗ, рдЖрдореНрд╣реА рд▓реВрдкрдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЛ, рдХрд╛рд╣реА (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реЗрд╡рд╛) рдЦрд╛рддреА рд▓рдкрд╡рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдлрдХреНрдд рдПрдбреА рдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдкрд╢реАрд▓рд╛рдВрдордзреНрдпреЗ "рдЦреЛрд▓реА" рдлреАрд▓реНрдбрдордзреНрдпреЗ "рд▓рдкрд╡рд╛" рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рддреЛ, рдЕрд╕реЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реАрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдкреНрд░рджрд░реНрд╢рд┐рдд:

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, ╤В╨╛ ╨╛╤В╨╛╨▒╤А╨░╨╢╨░╨╡╨╝ ╨┐╤А╨╛╤З╨╡╤А╨║

рддрд╕реЗ, рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рджреБрд╕рд▒реНрдпрд╛ рдЧреБрдгрдзрд░реНрдорд╛рдЪреЗ рдореВрд▓реНрдп рдорд┐рд│рд╡рд╛рдпрдЪреЗ рдЕрд╕реЗрд▓ рддрд░ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ (рд╣реЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ):
рд╡рд┐рдирдВрддреАрдордзреНрдпреЗ рдЖрдореНрд╣реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рд╡ рдкрд╛рд╕ рдХрд░рддреЛ рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░реЗ, рдЕрдиреНрдпрдерд╛ рддреЗ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.

рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рдЯреЗрдмрд▓рдордзреНрдпреЗ рдШрд╛рд▓рд╛:

    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>

рдЬрд░ рдорд╛рдЭрд╛ рдХреЛрдб рдХреЛрдгрд╛рд▓рд╛рд╣реА рдорджрдд рдХрд░рдд рдЕрд╕реЗрд▓ рддрд░ рдорд▓рд╛ рдЖрдирдВрдж рд╣реЛрдИрд▓, рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рд╛!

рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдЗрдЪреНрдЫреЗрдиреБрд╕рд╛рд░ рддреЗ рдореБрдХреНрддрдкрдгреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВ рд╢рдХрддрд╛ (рд╕реБрдзрд╛рд░рдгрд╛/рд╡рд╛рдИрдЯ) рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛.

рдЖрдкрдг рд▓рдХреНрд╖ рджрд┐рд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж!

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛