public static function getCompanyNameLdapFilter() { $bookmark_name=LDAP::escapeFilterValue($GLOBALS['BOOKMARK_NAME']); $bookmark_attr=$GLOBALS['bookmark_attr']; if(($bookmark_name=="*") || ( (@$_POST['form_sent']) && (@!$GLOBALS['only_bookmark']) ) ) { foreach($GLOBALS['BOOKMARK_NAMES'] AS $key=>$value) { $bookmark_names=LDAP::escapeFilterValue(array_keys($value)); if($GLOBALS['BOOKMARK_NAME_EXACT_FIT'][$bookmark_attr]) $filters[]="|(".$key."=".implode(")(".$key."=", $bookmark_names).")"; else { $filter="|(".$key."=*".implode("*)(".$key."=*", $bookmark_names)."*)"; $filters[]=str_replace("***", "*", $filter); } } $filter="(&(".implode(")(", $filters)."))"; } else { if($GLOBALS['BOOKMARK_NAME_EXACT_FIT'][$bookmark_attr]) $filter="(".$bookmark_attr."=".$bookmark_name.")"; else $filter="(".$bookmark_attr."=*".$bookmark_name."*)"; } //echo $filter; return $filter; }
<form class="heads" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <?php //Получаем переменные для сортировки @$_GET['sortcolumn']=($_GET['sortcolumn'])?$_GET['sortcolumn']:"ФИО"; @$_GET['sorttype']=($_GET['sorttype'])?$_GET['sorttype']:"ASC"; ?> <div class="heads"> <?php if($BLOCK_VIS[$menu_marker]['birthdays']) include("./libs/birth.php"); if($BLOCK_VIS[$menu_marker]['search']) include("./libs/search.php"); if($BLOCK_VIS[$menu_marker]['profile']) include("./libs/profile.php"); if($BLOCK_VIS[$menu_marker]['fast_move']) { echo"<br/>"; Alphabet::printGeneralLetters(); //Печатаем буквы алфавита, для быстрого перехода на сотрудников } ?> </div> </form> <?php $ldap=new LDAP($LDAPServer, $LDAPUser, $LDAPPassword); //Соединяемся с сервером // Делаем фильтр для выборки сотрудников нужных компаний //------------------------------------------------------------------------------------------------------------- $CompanyNameLdapFilter=Application::getCompanyNameLdapFilter(); //-------------------------------------------------------------------------------------------------------------
if($GLOBALS['XMPP_ENABLE'] && $GLOBALS['XMPP_MESSAGE_LISTS_ENABLE'] && !empty($_COOKIE['dn'])) echo Application::getCollTitle(""); if($FAVOURITE_CONTACTS && $_COOKIE['dn']) echo Application::getCollTitle(""); if(empty($_COOKIE['dn']) && $ENABLE_DANGEROUS_AUTH) echo Application::getCollTitle(); //------------------------------------------------------------------------------------------------------------- $FavouriteDNs=$ldap->getAttrValue($_COOKIE['dn'], $LDAP_FAVOURITE_USER_FIELD); //Выводим пользователей, которые есть в избраном if($GLOBALS['FAVOURITE_CONTACTS'] && is_array($FavouriteDNs) && !empty($_COOKIE['dn'])) { $Filter="(&(".$LDAP_CN_FIELD."=*)".$DIS_USERS_COND."(|(".$LDAP_DISTINGUISHEDNAME_FIELD."=".implode(")(".$LDAP_DISTINGUISHEDNAME_FIELD."=", LDAP::escapeFilterValue($FavouriteDNs)).")))"; //echo "$Filter"; $Favourites=$ldap->getArray($OU, $Filter, $LdapListAttrs); if(is_array($Favourites)) { $row=0; foreach($Favourites[$LDAP_DISTINGUISHEDNAME_FIELD] AS $key=>$value) { $Vars['row_css']=($row%2) ? "even favourite" : "odd favourite"; $Vars['current_login']=$Login; $Vars['display_name']=$DisplayName; $Vars['ldap_conection']=$ldap; $Vars['favourite_dns']=$FavouriteDNs; $Vars['data_parent_id']=true; $Vars['id']=false;
} else { echo Staff::makeNameUrlFromDn($ManDN); } echo "</div>"; } if (isset($Manager)) { echo $Manager; } echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='2'>"; echo "<div class=\"staff\" id=\"people\"><h6>Подчиненные:</h6></div>"; $table = new LDAPTable($LDAPServer, $LDAPUser, $LDAPPassword, false, false); if ($USE_DISPLAY_NAME) { $table->addColumn($DISPLAY_NAME_FIELD . ", distinguishedname", "ФИО", true, 0, false, "ad_def_full_name"); } else { $table->addColumn("distinguishedname", "ФИО", true, 0, false, "ad_def_full_name"); } $table->addColumn($LDAP_INTERNAL_PHONE_FIELD, $L->l('intrenal_phone'), true); $table->addColumn("title", "Должность"); $table->addPregReplace("/^(.*)\$/eu", "Staff::makeNameUrlFromDn('\\1')", "ФИО"); $table->addPregReplace("/^\\.\\./u", "", "Должность"); $table->addPregReplace("/^\\./u", "", "Должность"); $table->addPregReplace("/^(.*)\$/eu", "Staff::makeInternalPhone('\\1')", $L->l('intrenal_phone')); echo "<div id=\"people_table\">"; $table->printTable($OU, "(&(company=*)(manager=" . LDAP::escapeFilterValue($dn) . ")" . $DIS_USERS_COND . ")"); echo "</div>"; echo "</td>"; echo "</tr>"; echo "</table>";
<form class="heads" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <?php @$_GET['sortcolumn']=($_GET['sortcolumn'])?$_GET['sortcolumn']:"ФИО"; @$_GET['sorttype']=($_GET['sorttype'])?$_GET['sorttype']:"ASC"; ?> <div class="heads"> <?php if($BLOCK_VIS[$menu_marker]['birthdays']) include("./libs/birth.php"); if($BLOCK_VIS[$menu_marker]['search']) include("./libs/search.php"); if($BLOCK_VIS[$menu_marker]['profile']) include("./libs/profile.php"); ?> </div> <?php //Печатаем контейнер в который JS будет класть ссылки для быстрого перехода на отделы if($BLOCK_VIS[$menu_marker]['fast_move']) { echo "<br/> <span id=\"ALPH_ITEM_IN_LINE\" class=\"h\">".$DEP_ITEM_IN_COL."</span> <fieldset id=\"move_to_dep\"> <legend>".$L->l('fast_move_to_department')."</legend> </fieldset> "; } ?> </form> <?php //=================================================================================================================
} if (is_array($_POST['resipients'])) { foreach ($_POST['resipients'] as $key => $value) { $conn->message(current(explode("@", $value)) . "@" . $XMPP_ACCOUNT_END, $message); } } if (is_array($_POST['groups'])) { $Filter = "(|(" . $LDAP_DISTINGUISHEDNAME_FIELD . "=" . implode(")(" . $LDAP_DISTINGUISHEDNAME_FIELD . "=", LDAP::escapeFilterValue($_POST['groups'])) . "))"; //echo $Filter; $Entries = $ldap->ldap_search($OU, $Filter, array($LDAP_MEMBER_FIELD)); for ($i = 0; $i < $Entries['count']; $i++) { if ($i == 0) { $Filter = "(|"; } for ($j = 0; $j < $Entries[$i][$LDAP_MEMBER_FIELD]['count']; $j++) { $Filter .= "(" . $LDAP_DISTINGUISHEDNAME_FIELD . "=" . LDAP::escapeFilterValue($Entries[$i][$LDAP_MEMBER_FIELD][$j]) . ")"; } } if ($j > 0) { $Filter .= ")"; $Entries = $ldap->ldap_search($OU, $Filter, array($LDAP_USERPRINCIPALNAME_FIELD)); for ($i = 0; $i < $Entries['count']; $i++) { $conn->message(current(explode("@", $Entries[$i][$LDAP_USERPRINCIPALNAME_FIELD][0])) . "@" . $XMPP_ACCOUNT_END, $message); } } } $conn->disconnect(); if (is_array($_COOKIE['xmpp_messages_list'])) { if (!in_array($_POST['message'], $_COOKIE['xmpp_messages_list'])) { $index = sizeof($_COOKIE['xmpp_messages_list']); if ($index >= $XMPP_NUM_OF_LAST_MESSAGES_PER_USER) {