ΠšΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ Π·Π° Π’Π•Π‘ адрСси PHP + LDAP

Π’Π°ΠΊΠ° сС случи Π΅Π΄Π½Π° (Ρ€Π΅Π»Π°Ρ‚ΠΈΠ²Π½ΠΎ) Π³ΠΎΠ»Π΅ΠΌΠ° кампања Π΄Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΠ΄Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΈ ΠΊΠ°Π½Ρ†Π΅Π»Π°Ρ€ΠΈΠΈ со пристоСн Π±Ρ€ΠΎΡ˜ корисници. Π‘ΠΈΡ‚Π΅ ΠΊΠ°Π½Ρ†Π΅Π»Π°Ρ€ΠΈΠΈ сС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ Π²ΠΎ Π΅Π΄Π½Π° ΠΌΡ€Π΅ΠΆΠ° со Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ Π΄ΠΎΠΌΠ΅Π½, сСкоја ΠΊΠ°Π½Ρ†Π΅Π»Π°Ρ€ΠΈΡ˜Π° бСшС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° Π²ΠΎ Active Directory (Π²ΠΎ ΠΏΠΎΠ½Π°Ρ‚Π°ΠΌΠΎΡˆΠ½ΠΈΠΎΡ‚ тСкст AD) ΠΊΠ°ΠΊΠΎ ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡΠΊΠ° Π΅Π΄ΠΈΠ½ΠΈΡ†Π° (OU), Π²ΠΎ која вСќС Π±Π΅Π° ΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΈ корисници.

НСопходно бСшС Π΄Π° ΠΈΠΌ сС Π΄Π°Π΄Π΅ моТност Π½Π° корисницитС Π±Ρ€Π·ΠΎ ΠΈ Π±Π΅Π· Π½Π°ΠΏΠΎΡ€ Π΄Π° Π³ΠΈ Π΄ΠΎΠ±ΠΈΡ˜Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ Π½Π° Π±Π°Ρ€Π°Π½ΠΈΠΎΡ‚ Π²Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΠ΄ АД, Π° систСмскитС администратори Π΄Π° сС ослободат ΠΎΠ΄ Ρ€ΡƒΡ‚ΠΈΠ½Π°Ρ‚Π° Π½Π° ΡƒΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° тСкстуална Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΡˆΡ‚ΠΎ ΠΈΠ³Ρ€Π°ΡˆΠ΅ ΡƒΠ»ΠΎΠ³Π° Π½Π° адрСсар.

НСмашС Π³ΠΎΡ‚ΠΎΠ²ΠΈ соодвСтни ΠΎΠΏΡ†ΠΈΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚, ΠΏΠ° ΠΌΠΎΡ€Π°Π² Π΄Π° Π½Π°ΠΏΡ€Π°Π²Π°ΠΌ сè со свои Ρ€Π°Ρ†Π΅ ΠΈ Π³Π»Π°Π²Π°.

Π”Π° ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ со Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° ΠΏΡ€Π²ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΎΠ΄Π»ΡƒΡ‡ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π΄Π° користитС, Сдноставно Π΅ - ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΈΠΎΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌ Π±ΠΈΠ΄Π΅ достапСн Π½Π° ситС корисници Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ‚ ΠΏΡ€Π΅ΠΊΡƒ прСлистувач. ΠŸΡ€Π²ΠΎΡ‚ΠΎ Π½Π΅ΡˆΡ‚ΠΎ ΡˆΡ‚ΠΎ ΠΌΠΈ ΠΏΠ°Ρ“Π° Π½Π° ΡƒΠΌ Π΅ PHP Π²ΠΎ врска со ldap, ΠΈ Π½ΠΈΠ΅ ќС Π³ΠΈ користимС. Π‘ΠΌΠ΅Ρ‚Π°ΠΌ Π΄Π΅ΠΊΠ° Π³ΠΎΠ»Π΅ΠΌΠ°Ρ‚Π° прСдност Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° PHP Π΅ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Ρ€Π΅Π»Π°Ρ‚ΠΈΠ²Π½Π° Сдноставност - сСкој систСмски администратор со ΠΌΠ°ΠΊΠ°Ρ€ ΠΌΠ°Π»ΠΊΡƒ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡšΠ΅ ќС ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ‚, Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, Π±Π΅Π· особСно ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅.

Π—Π½Π°Ρ‡ΠΈ, Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅. ΠŸΡ€Π²ΠΎ, Π΄Π° Π³ΠΈ поставимС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ со Π΄ΠΎΠΌΠ΅Π½ΠΎΡ‚:

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

Π‘Π»Π΅Π΄Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π΅ Π΄Π° ΠΎΠ΄Ρ€Π΅Π΄ΠΈΠΌΠ΅ Π²ΠΎ која ОУ ќС Π±Π°Ρ€Π°ΠΌΠ΅ корисници. Ова ќС Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠ΅ со ΠΏΡ€Π΅ΡΡ€Π΅Ρ‚Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° врСдноститС ΠΎΠ΄ $_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 Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° врСдноста - Π΄Π°Π»ΠΈ смС Π³ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π»Π΅ ОУ Π²ΠΎ ΠΊΠΎΠ΅ ќС Π±Π°Ρ€Π°ΠΌΠ΅ корисници ΠΈΠ»ΠΈ Π½Π΅. Ако Π½Π΅ΠΌΠ° ΡΠΎΠ²ΠΏΠ°Ρ“Π°ΡšΠ° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ β€ž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>
";

Π“ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°ΠΌΠ΅ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ΠΏΠΎ АД ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° ОУ:

$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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€