Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ дирСктория с ΡƒΠ΅Π± адрСси PHP + LDAP

Π‘Π»ΡƒΡ‡ΠΈ сС Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ (сравнитСлно) голяма кампания имашС ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈ офиси с ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π΅Π½ Π±Ρ€ΠΎΠΉ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Всички офиси са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ Π² Π΅Π΄Π½Π° ΠΌΡ€Π΅ΠΆΠ° с ΠΎΠ±Ρ‰ Π΄ΠΎΠΌΠ΅ΠΉΠ½, всСки офис Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ Π² Active Directory (Π½Π°Ρ€ΠΈΡ‡Π°Π½ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ AD) ΠΊΠ°Ρ‚ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π° (OU), Π² която Π²Π΅Ρ‡Π΅ са създадСни ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ.

Π‘Π΅ΡˆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС Π΄Π°Π΄Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π±ΡŠΡ€Π·ΠΎ ΠΈ Π±Π΅Π· усилиС Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ информацията Π·Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ Π½Π° нСобходимия слуТитСл ΠΎΡ‚ AD, Π° систСмнитС администратори Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ освободСни ΠΎΡ‚ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΎΡ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° тСкстов Ρ„Π°ΠΉΠ», ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ³Ρ€Π°Π΅ΡˆΠ΅ ролята Π½Π° адрСсна ΠΊΠ½ΠΈΠ³Π°.

НямашС Π³ΠΎΡ‚ΠΎΠ²ΠΈ подходящи Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° направя всичко със собствСнитС си Ρ€ΡŠΡ†Π΅ ΠΈ Π³Π»Π°Π²Π°.

НСка Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅, просто Π΅ - ΠΊΡ€Π°ΠΉΠ½Π°Ρ‚Π° дирСктория трябва Π΄Π° бъдС Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π·Π° всички ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° Ρ‡Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·ΡŠΡ€. ΠŸΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ΄Π²Π° Π½Π° ΡƒΠΌ, Π΅ PHP във Π²Ρ€ΡŠΠ·ΠΊΠ° с ldap ΠΈ Π½ΠΈΠ΅ Ρ‰Π΅ Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. Бмятам, Ρ‡Π΅ голямото прСдимство Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° PHP Π΅ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° относитСлна простота - всСки систСмСн администратор, ΠΊΠΎΠΉΡ‚ΠΎ Π΄ΠΎΡ€ΠΈ ΠΈ ΠΌΠ°Π»ΠΊΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°, Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π°, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π±Π΅Π· особСно Π½Π°ΠΏΡ€Π΅ΠΆΠ΅Π½ΠΈΠ΅.

И Ρ‚Π°ΠΊΠ°, Π΄Π° Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅. ΠŸΡŠΡ€Π²ΠΎ, Π½Π΅ΠΊΠ° Π·Π°Π΄Π°Π΄Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ към Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°:

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

БлСдващият ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π² ΠΊΠΎΠΈ OU Ρ‰Π΅ Ρ‚ΡŠΡ€ΡΠΈΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Π©Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…Π²Π°Π½Π΅ΠΌ стойности ΠΎΡ‚ $_GET['place']. НапримСр, Π°ΠΊΠΎ потрСбитСлят ΠΎΡ‚ΠΈΠ΄Π΅ Π½Π° адрСса ΡΡŠΡ€Π²ΡŠΡ€/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, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ‚ΡŠΡ€ΡΠΈΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π½Π΅. Ако няма съвпадСния, ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ Π² β€œswitch-case”, Ρ‚ΠΎΠ³Π°Π²Π° $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/ '>

НиС Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ стиловС Π·Π° ΠΏΠΎ-приятСн външСн Π²ΠΈΠ΄ (Π΄Π°, Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ css Ρ„Π°ΠΉΠ», Π½ΠΎ някои вСрсии Π½Π° 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>";

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ потрСбитСлски Π΄Π°Π½Π½ΠΈ Π² Ρ†ΠΈΠΊΡŠΠ», Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π·Π° Π΄Π° скриСм някои (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сСрвизни) Π°ΠΊΠ°ΡƒΠ½Ρ‚ΠΈ, просто въвСТдамС β€žΡΠΊΡ€ΠΈΠΉβ€œ Π² ΠΏΠΎΠ»Π΅Ρ‚ΠΎ β€žΡΡ‚Π°Ρβ€œ Π² Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° потрСбитСля Π² 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, Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΡ‡Π΅Ρ€ΠΊ

ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Π°ΠΊΠΎ трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ стойността Π½Π° Π΄Ρ€ΡƒΠ³ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, Π·Π°ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅ (Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ):
Π² заявката ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠ°Π»ΠΊΠ° Π±ΡƒΠΊΠ²Π° писма, ΠΈΠ½Π°Ρ‡Π΅ няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ.

И Π²ΠΌΡŠΠΊΠ½Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π°:

    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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€