コード例 #1
0
ファイル: show_perms.php プロジェクト: zeroleo12345/freeIBS
function intAssignValues(&$smarty, $add_success, $err)
{
    $smarty->assign("category", $_REQUEST["category"]);
    $smarty->assign("category_name", "{#" . $_REQUEST["category"] . "#}");
    $smarty->assign("admin_username", $_REQUEST["admin_username"]);
    $smarty->assign("add_success", $add_success);
    $smarty->assign("can_change", canDo("CHANGE ADMIN PERMISSIONS"));
    intAssignMsgErr($smarty, $err);
    list($success, $perms) = getPermsOfCategory($_REQUEST["category"]);
    if (!$success) {
        $smarty->set_page_error($perms->getErrorMsgs());
    } else {
        intAssignSelectedPermVals($smarty);
        intAssignPerms($smarty, $perms);
    }
}
コード例 #2
0
ファイル: block.canDo.php プロジェクト: zeroleo12345/freeIBS
function smarty_block_canDo($params, $content, &$smarty, &$repeat)
{
    /*
        print block only if admin canDo "perm_name"
        if optional argument "username" is passed to this function it will checked with currently logged in user
        and block will be shown if "username" and authenticated user was the same. This is Useful 
        for pages that admin can see his info always, and other admin infos when he has permission.
        
        WARNING: perm.php and auth.php should be included by smarty object creator
    */
    if (is_null($content)) {
        if (isset($params["username"]) and getAuthUsername() == $params["username"]) {
            return;
        }
        if (canDo($params["perm_name"])) {
            return;
        }
        $repeat = FALSE;
    } else {
        return $content;
    }
}
コード例 #3
0
ファイル: search.php プロジェクト: Abilis/SPD
<?php

error_reporting(E_ERROR);
//Сценарий для обработки запросов к БД из форм поисков
require_once 'functions/database.php';
require_once 'functions/functions.php';
require_once 'functions/access.php';
// подключение к БД
$link = startup();
//Определение текущего пользователя
$user = getCurrentUser($link);
//Определяем, может ли пользователь редактировать, добавлять, удалять записи и видеть панель администратора
$canDoEdit = canDo($link, $user, 'EDIT_ENTRY');
$canDoAdd = canDo($link, $user, 'ADD_ENTRY');
$canDoDelete = canDo($link, $user, 'DELETE_ENTRY');
$canDoViewAdminPanel = canDo($link, $user, 'ADMIN_PANEL');
//вытаскиваем полное число записей из БД
//$numEntriesAll = getEntriesAll($link);
if (!empty($_POST['numOrder'])) {
    //Поиск записей по номеру договора
    $entries = get_entry_by_order($link, $_POST['numOrder']);
    $searchStringNumOrder = $_POST['numOrder'];
} else {
    if (!empty($_POST['customer'])) {
        //Поиск записей по название клиента
        $entries = get_entries_by_customer($link, $_POST['customer']);
        $searchStringCustomer = $_POST['customer'];
    } else {
        if (!empty($_POST['ip_address'])) {
            //Поиск записей по IP-адресу
            $entries = get_entries_by_ip($link, $_POST['ip_address']);
コード例 #4
0
ファイル: admin.php プロジェクト: Abilis/SPD
//Определяем, может ли пользователь находиться в панели администратор
$canDoViewAdminPanel = canDo($link, $user, 'ADMIN_PANEL');
if (!$canDoViewAdminPanel) {
    header('Location: index.php');
    die('не положено!');
}
//Определяем, может ли пользователь добавлять записи
$canDoAdd = canDo($link, $user, 'ADD_ENTRY');
//Определяем, может ли пользователь делать импорт в БД файлов .cvs
$canDoImportInDb = canDo($link, $user, 'IMPORT_IN_DB');
//Определяем, может ли пользователь управлять пользователями (расширенный вариант)
$canDoSuperusersControl = canDo($link, $user, 'SUPERUSERS_CONTROL');
//Обработка правки сообщения дня
if ($_GET['action'] == 'edit') {
    //проверка, есть ли права на правку сообщение дня
    $canDoEditMotd = canDo($link, $user, 'EDIT_MOTD');
    if (!$canDoEditMotd) {
        header('Location: admin.php');
        die;
    } else {
        //Вытаскивание сообщения дня
        $motd = get_motd($link);
        //Разбираем массив в переменные
        $text = $motd['text'];
        $autor = $motd['autor'];
        $dt_modt = $motd['dt_motd'];
        //Выводим в шаблоны
        include_once 'views/v-header.php';
        include_once 'views/v-menu.php';
        include_once 'views/v-motd.php';
        include_once 'views/v-footer.php';
コード例 #5
0
ファイル: tariff_info.php プロジェクト: zeroleo12345/freeIBS
function intShowTariffInfo(&$smarty, $tariff_name)
{
    intSetTariffInfo($smarty, $tariff_name);
    $smarty->assign("can_change", canDo("CHANGE VOIP TARIFF"));
    $smarty->display("admin/charge/voip_tariff/tariff_info.tpl");
}
コード例 #6
0
ファイル: functions.php プロジェクト: Abilis/SPD
function changeTerminationPoint($link, $user, $vlanNumber, $newTerminationPoint)
{
    //проверка на наличие прав
    require_once 'access.php';
    $canDoEdit = canDo($link, $user, 'EDIT_ENTRY');
    if (!$canDoEdit) {
        header('Location: index.php');
        die;
    }
    //подготовка
    $vlanNumber = (int) $vlanNumber;
    if ($vlanNumber == 0) {
        $_SESSION['updateTerminationForVlan'] = "Некорректный номер влана!";
        header('Location: admin.php');
        die;
    }
    //узнаем текущую терминацию
    $queryForCurrentTerminationPoint = "SELECT termination_point FROM spd_table WHERE vlan_id={$vlanNumber}";
    $resultForCurrentTerminationPoint = mysqli_query($link, $queryForCurrentTerminationPoint);
    $currentTermination = mysqli_fetch_assoc($resultForCurrentTerminationPoint)['termination_point'];
    $newTerminationPoint = trim($newTerminationPoint);
    $newTerminationPoint = mysqli_real_escape_string($link, $newTerminationPoint);
    //запрос
    $query = "UPDATE spd_table SET termination_point='{$newTerminationPoint}' WHERE vlan_id='{$vlanNumber}'";
    $result = mysqli_query($link, $query);
    if (!$result) {
        die(mysqli_error($link));
    }
    $affected_rows = mysqli_affected_rows($link);
    //запись в сессию
    if ($affected_rows != 0) {
        $_SESSION['updateTerminationForVlan'] = "Терминация успешно изменена для " . $affected_rows . " записей! Влан " . $vlanNumber . " теперь терминируется на " . $newTerminationPoint . "!";
        //запись в лог действий
        //вытаскиваем имя текущего пользователя, чтобы можно было подставить значение в строку сообщения
        $userLogin = $user['login'];
        $dt_action = getCurrentDate();
        $message = "Пользователем {$userLogin} сменена точка терминации c \"{$currentTermination}\" на \"{$newTerminationPoint}\" для влана {$vlanNumber}.";
        //подключение файла с функцией логирования
        require_once 'logging.php';
        //выполняем логирование
        if (!loggingAction($link, $user, $message, $dt_action)) {
            //запись неиспешности в сессию
            $_SESSION['logging'] = 'Логирование действия не удалось!';
        }
    } else {
        $_SESSION['updateTerminationForVlan'] = "Не удалось сменить терминацию для влана " . $vlanNumber . ". Возможно, такого влана нет.";
        return false;
    }
    return true;
}
コード例 #7
0
function intShowSingleUserInfoAssignValues(&$smarty, $user_id, $user_info)
{
    $smarty->assign("can_change", canDo("CHANGE USER ATTRIBUTES", null, (int) $user_id, $user_info[0]["basic_info"]["owner_id"]));
    $smarty->assign("can_delete", canDo("DELETE USER", null, (int) $user_id, $user_info[0]["basic_info"]["owner_id"]));
    intSetSingleUserGroupAttrs($smarty, $user_info[0]);
}
コード例 #8
0
ファイル: fixQuotes.php プロジェクト: Abilis/SPD
<?php

require_once '../functions/database.php';
require_once '../functions/functions.php';
require_once '../functions/access.php';
//подключение к БД
$link = startup();
//Определение текущего пользователя
$user = getCurrentUser($link);
//Определяем, может ли пользователь делать импорт
$canDoImportInDb = canDo($link, $user, 'FIX_IN_DB');
if (!$canDoImportInDb) {
    $_SESSION['noAccessImportInDb'] = "Недостаточно прав для использования fixQuotes.php";
    header('Location: ../admin.php');
    die('не положено!');
}
//вытащить из БД все строки, где есть символы " и заменить их на &quot;
//вхождение " в поле customer
$searchString = '\\"';
$fixSubString = '\\"';
//устанавливаем счетчик строк
$num = 0;
//формируем запрос
$sql = "SELECT * FROM `spd_table` WHERE `customer` LIKE '%{$searchString}%' ORDER BY `id_entry` ASC";
//выполняем запрос
$result = mysqli_query($link, $sql);
//разбираем дескриптор в ассоциативный массив
$n = mysqli_num_rows($result);
$entriesForFix = array();
for ($i = 0; $i < $n; $i++) {
    $row = mysqli_fetch_assoc($result);
コード例 #9
0
ファイル: users.php プロジェクト: Abilis/SPD
<?php

//скрипт для создания, редактирования и удаления пользователей
require_once '../functions/database.php';
require_once '../functions/functions.php';
require_once '../functions/access.php';
// подключение к БД
$link = startup();
//Определение текущего пользователя
$user = getCurrentUser($link);
//Определяем, может ли пользователь управлять пользователями
$canDoUsersControl = canDo($link, $user, 'USERS_CONTROL');
if (!$canDoUsersControl) {
    header('Location: ../index.php');
    die('123');
}
//Обработка формы
if ($_POST['login'] != null && $_POST['password'] != null) {
    //если вбиты логин и пароль
    if (createNewUser($link, $user, $_POST['login'], $_POST['password'], $_POST['confirmPassword'], $_POST['username'], $_POST['access'])) {
        //если мы здесь, значит, пользователь успешно создался
        header('Location: ../admin.php');
    }
}
//если пустой - то делать тут нечего
header('Location: ../admin.php');
コード例 #10
0
ファイル: excelToMysql.php プロジェクト: Abilis/SPD
<?php

error_reporting(E_ERROR);
require_once '../functions/database.php';
require_once '../functions/functions.php';
require_once '../functions/access.php';
//подключение к БД
$link = startup();
//Определение текущего пользователя
$user = getCurrentUser($link);
//Определяем, может ли пользователь делать импорт
$canDoImportInDb = canDo($link, $user, 'IMPORT_IN_DB');
if (!$canDoImportInDb) {
    $_SESSION['noAccessImportInDb'] = "Недостаточно прав для импорта данных в БД!";
    header('Location: ../admin.php');
    die('не положено!');
}
//Загрузка файла
if ($_FILES['filename']['size'] > 3000000) {
    echo 'Слишком большой размер файла!';
    die;
}
if ($_FILES['filename']['type'] != application / vnd . ms - excel) {
    echo 'Некорректный тип файла! Файл должен быть в формате .csv';
    die;
}
//Установка переменных
$tmpName = $_FILES['filename']['tmp_name'];
$name = 'spd.csv';
if (!move_uploaded_file($tmpName, $name)) {
    die('Не получилось загрузить файл :(');
コード例 #11
0
function intSetVars(&$smarty, $admin_username, $err, $del_success, $del_val_success, $save_template_success, $load_template_success, $del_template_success)
{
    $can_change = canDo("CHANGE ADMIN PERMISSIONS");
    $smarty->assign("admin_username", $admin_username);
    $smarty->assign("can_change", $can_change);
    $smarty->assign("del_perm_success", $del_success);
    $smarty->assign("del_perm_val_success", $del_val_success);
    $smarty->assign_array(array("save_template_success" => $save_template_success, "load_template_success" => $load_template_success, "del_template_success" => $del_template_success));
    if ($can_change) {
        intSetTemplatesList($smarty);
    }
    if (!is_null($err)) {
        $smarty->set_page_error($err->getErrorMsgs());
    }
}
コード例 #12
0
ファイル: all_logs.php プロジェクト: Abilis/SPD
error_reporting(E_ERROR);
require_once 'functions/database.php';
require_once 'functions/functions.php';
require_once 'functions/access.php';
// подключение к БД
$link = startup();
//Определение текущего пользователя
$user = getCurrentUser($link);
//Определяем, может ли пользователь находиться в панели администратор
$canDoViewAdminPanel = canDo($link, $user, 'ADMIN_PANEL');
if (!$canDoViewAdminPanel) {
    header('Location: index.php');
    die('не положено!');
}
//Определяем, может ли пользователь добавлять записи
$canDoAdd = canDo($link, $user, 'ADD_ENTRY');
//получаем логи из БД для постраничной навигации
$logs_arr = get_logs_num_start($link);
//Разбираем полученный массив. Подробнее в functions.php
$logs = $logs_arr[0];
$page = $logs_arr[1];
//текущая страница
$total = $logs_arr[2];
//всего страниц
$num_rows = $logs_arr[3];
//количество логов на странице
//Достаем общее количество логов
$numLogs = getNumLogs($link);
//Форматирование вытащенных записей логов в удобный вид
$format_old_log = format_log($logs, 'entry_old_log', 50);
$format_new_log = format_new_log($logs, 'entry_new_log', 50);