예제 #1
0
파일: birth.php 프로젝트: kotkotofey/eight
    //Преобразуем колонку с ФИО в ссылку на полную инфу о сотруднике
    $B->addPregReplace("/^(.*)\$/eu", "Staff::makeNameUrlFromDn('\\1')", "ФИО");
    //В зависимости от формата хранения даты преобразуем дату дня рождения для последующего преобразования в удобно читаемый формат
    switch ($BIRTH_DATE_FORMAT) {
        case 'yyyy-mm-dd':
            $B->addPregReplace("/^([0-9]{4})-([0-9]{2})-([0-9]{2})\$/u", 'q\\3q\\2q\\1', "Дата");
            break;
        case 'dd.mm.yyyy':
            $B->addPregReplace("/^([0-9]{2})\\.([0-9]{2})\\.([0-9]{4})\$/u", 'q\\1q\\2q\\3', "Дата");
            break;
        default:
            $B->addPregReplace("/^([0-9]{2})\\.([0-9]{2})\\.([0-9]{4})\$/u", 'q\\1q\\2q\\3', "Дата");
    }
    //Преобразуем дату в удобно читаемый формат
    $B->addPregReplace("/([q]{1}[0-9]{2})([q]{1}[0-9]{2})([q]{1}[0-9]{4})/eu", 'getBD(\\1\\2)', "Дата");
    //Делаем фильтр необходимый для вывода ближайших дней рождения  // було так for($i=0; $i<$NUM_ALARM_DAYES; $i++)
    // Добавив $NUM_ALARM_DAYES_BEFORE для нагадування про минулі дні народження
    for ($i = $NUM_ALARM_DAYES_BEFORE; $i < $NUM_ALARM_DAYES; $i++) {
        @($Dates .= "(" . $LDAP_BIRTH_FIELD . "=*" . date($DateFormat, $time + $i * 24 * 60 * 60) . "*)");
    }
    //Добавляем в фильтр условия, что бы показывались сотрудники у которых соответствует компания
    if ($Dates) {
        $CompanyNameLdapFilter = Application::getCompanyNameLdapFilter();
        $B->printTable($OU, "(&" . $CompanyNameLdapFilter . "(|" . $Dates . ")" . $DIS_USERS_COND . ")");
    }
    //Если необходимо ограничивать вывод строк с ближайшими днями рождения, то пишим в тело html-документа соответствующую информацию
    if ($BIRTH_VIS_ROW_NUM) {
        echo "<div id=\"birth_vis_row_num\" class=\"hidden\">" . $BIRTH_VIS_ROW_NUM . "</div><a id=\"show_all_birth\" href=\"#\">&darr;</a>";
    }
    echo "</fieldset></div>";
}
예제 #2
0
        $table->addPregReplace("/^\$/u", "x", "Должность");
        $table->addPregReplace("/([\\w\\W]{1,})/u", "<textarea class=\"position\" name=\"Title\">\\1</textarea>", "Должность", 1, $Conditions2);
        $table->addPregReplace("/<textarea class=\"position\" name=\"Title\">x<\\/textarea>/u", "<textarea class=\"position\" name=\"Title\"></textarea>", "Должность", 1, $Conditions2);
        //-------------------------------------------------------------------------------------------------
        //Кнопка
        //-------------------------------------------------------------------------------------------------
        @$table->addPregReplace("/^(.*)\$/u", "<a href=\"?menu_marker=si_staffedit&dn=\\1&sortcolumn=" . $_GET['sortcolumn'] . "&sorttype=" . $_GET['sorttype'] . "&name=" . $Name . "&bookmark_attr=" . $bookmark_attr . "&bookmark_name=" . $BOOKMARK_NAME . "&only_bookmark=" . $only_bookmark . ($_GET['form_sent'] || $_POST['form_sent'] ? "&form_sent=1" : "") . "\"><img border=\"0\" src=\"./skins/" . $CURRENT_SKIN . "/images/vcard.png\" width=\"48\" height=\"33\" title=\"Редактировать\"/></a>", "Править", 1, $Conditions1);
        $table->addPregReplace("/^(.*)\$/u", "<input type=\"image\" src=\"./skins/" . $CURRENT_SKIN . "/images/vcard_check.png\" width=\"48\" height=\"41\" title=\"Применить изменения\"/><div id=\"IDForScroll\" ></div></form>", "Править", 1, $Conditions2);
        //-------------------------------------------------------------------------------------------------
        //Фото
        //-------------------------------------------------------------------------------------------------
        $table->addPregReplace("/^([\\w\\W]{1,}\$)/u", "Есть", "Фото", 1);
        $table->addPregReplace("/^\$/u", "x", "Фото", 1);
        $Conditions3[$LDAP_OBJECTCLASS_FIELD]['='] = "user";
        $Conditions3[$LDAP_DISTINGUISHEDNAME_FIELD]['='] = $dn;
        $table->addPregReplace("/^Есть\$/u", "<iframe allowtransparency=\"true\" src=\"./newwin.php?menu_marker=si_staff_add_photo&ButTitle=Изменить&dn=" . $dn . "\" frameborder=\"0\" scrolling=\"no\" width=\"70\" height=\"40\"></iframe>", "Фото", 1, $Conditions3);
        $table->addPregReplace("/^x\$/u", "<iframe allowtransparency=\"true\" src=\"./newwin.php?menu_marker=si_staff_add_photo&ButTitle=Добавить&dn=" . $dn . "\" frameborder=\"0\" scrolling=\"no\" width=\"70\" height=\"40\"></iframe>", "Фото", 1, $Conditions3);
        //-------------------------------------------------------------------------------------------------
        $cn = $Name == "*" ? "*" : "*" . $Name . "*";
        // Делаем фильтр для выборки сотрудников нужных компаний
        //-------------------------------------------------------------------------------------------------------------
        $CompanyNameLdapFilter = Application::getCompanyNameLdapFilter();
        //-------------------------------------------------------------------------------------------------------------
        $table->printTable($OU, "(&" . $CompanyNameLdapFilter . "(|(" . $LDAP_OBJECTCLASS_FIELD . "=user)(" . $LDAP_OBJECTCLASS_FIELD . "=contact))(|(" . $LDAP_CN_FIELD . "=" . $cn . ")(" . $LDAP_MAIL_FIELD . "=" . $cn . ")(" . $LDAP_INTERNAL_PHONE_FIELD . "=" . $cn . ")(" . $LDAP_CITY_PHONE_FIELD . "=" . $cn . ")(" . $LDAP_CELL_PHONE_FIELD . "=" . $cn . ")(" . $LDAP_TITLE_FIELD . "=" . $cn . ")(" . $LDAP_DEPARTMENT_FIELD . "=" . $cn . "))" . $DIS_USERS_COND . ")");
        if ($dn) {
            echo "\n\t\t<script type='text/javascript'>\n\t\tCalendar.setup({inputField:'Birthday', ifFormat:'%d.%m.%Y', button:'Birthday', firstDay:1, weekNumbers:false, showOthers:true});\n\t\t</script>\n\t\t";
        }
    }
} else {
    echo "У вас нет доступа для редактирования справочника.";
}
예제 #3
0
    } 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>";