Esempio n. 1
0
/**
 *    Check if user is authorized
 *
 * @return boolean true is access granted, false if no access
 */
function auth()
{
    global $perm, $AUTH_USER_ID;
    if (!isset($AUTHORIZE_BY)) {
        $AUTHORIZE_BY = 'User_ID';
    }
    $user = Authorize();
    if (!$user) {
        echo 'Not enough rights or Hack attempt!';
        exit;
    }
    if (!is_object($perm) || !$perm->accessToCKeditor()) {
        echo 'Not enough rights or Hack attempt!';
        exit;
    }
    return $AUTH_USER_ID;
}
Esempio n. 2
0
<?php

die;
$DONOTWEBSERVICE = true;
include_once 'KingdomService.php';
$K = new Kingdom();
$request = array('UserName' => 'admin', 'Password' => 'p455w0rd');
$r = Authorize($request);
$request = array('Token' => $r['Token'], 'Name' => 'test kingdom 3', 'Abbreviation' => 'T3', 'AveragePeriod' => '6', 'AttendancePeriodType' => 'month', 'AttendanceMinimum' => '1', 'AttendanceCreditMinimum' => '1', 'DuesPeriod' => '6', 'DuesPeriodType' => 'month', 'DuesAmount' => '10', 'KingdomDuesTake' => '3');
//print_r($K->CreateKingdom($request));
$c = new Common();
$c->create_officers(2, 0);
$c->create_officers(9, 0);
$c->create_officers(11, 0);
$c->create_officers(14, 0);
$c->create_officers(1, 1);
$c->create_officers(1, 2);
$c->create_officers(1, 5);
$c->create_officers(1, 39);
$c->create_officers(2, 3);
$c->create_officers(2, 4);
Esempio n. 3
0
if (!($classPreview > 0)) {
    die;
}
$NETCAT_FOLDER = join(strstr(__FILE__, "/") ? "/" : "\\", array_slice(preg_split("/[\\/\\\\]+/", __FILE__), 0, -4)) . (strstr(__FILE__, "/") ? "/" : "\\");
@(include_once $NETCAT_FOLDER . "vars.inc.php");
require_once $ADMIN_FOLDER . 'CheckUserFunctions.inc.php';
require_once $ADMIN_FOLDER . 'template.inc.php';
require_once $ADMIN_FOLDER . 'admin.inc.php';
# Загрузка файла локализации
$lang = $nc_core->lang->detect_lang();
require_once $ADMIN_FOLDER . "lang/" . $lang . ".php";
$nc_core->modules->load_env();
$classPreview += 0;
// для авторизации
$admin_mode = 1;
if (!Authorize()) {
    Refuse();
}
if (!$perm->isSupervisor()) {
    BeginHtml(NETCAT_MODERATION_ERROR_NORIGHTS);
    nc_print_status(NETCAT_MODERATION_ERROR_NORIGHTS, "error");
    EndHtml();
    die;
}
$postClass_ID = $_POST["ClassID"] + 0;
$ClassTemplate = $db->get_var("SELECT `ClassTemplate` FROM `Class` WHERE `Class_ID` = '" . $classPreview . "'");
if ($postClass_ID > 0 && $postClass_ID == $classPreview) {
    // Если в POST есть $ClassID - то это попытка передать нам редактируемый компонент для Preview.
    // Занесем его в сессию
    $_SESSION["PreviewClass"][$classPreview] = array("FormPrefix" => $_POST["FormPrefix"], "RecordTemplate" => $_POST["RecordTemplate"], "FormSuffix" => $_POST["FormSuffix"], "RecordsPerPage" => $_POST["RecordsPerPage"], "SortBy" => $_POST["SortBy"], "TitleTemplate" => $_POST["TitleTemplate"], "RecordTemplateFull" => $_POST["RecordTemplateFull"], "NL2BR" => $_POST["NL2BR"], "Settings" => $_POST["Settings"], "CustomSettingsTemplate" => $_POST["CustomSettingsTemplate"], "DaysToHold" => $_POST["DaysToHold"]);
}
Esempio n. 4
0
function nc_quickbar_permission()
{
    global $perm, $current_sub, $catalogue;
    if (!is_object($perm)) {
        Authorize();
    }
    if (!is_object($perm)) {
        return false;
    }
    $allow_id = (array) $perm->GetAllowSub($catalogue, MASK_ADMIN | MASK_MODERATE, false, true, true);
    if (in_array($current_sub['Subdivision_ID'], $allow_id) || $perm->isAnySubClassAdmin()) {
        return true;
    } else {
        return false;
    }
}
Esempio n. 5
0
function s_auth($cc_env, $action, $posting)
{
    global $nc_core;
    global $admin_mode, $AUTHORIZATION_TYPE, $user_table_mode;
    global $AUTH_USER_ID;
    // редактирование пользователя через лицевую часть
    if ($action == "change" && $user_table_mode && ($AUTH_USER_ID || Authorize())) {
        return true;
    }
    if ($action == "index" || $action == "full" || $action == "search") {
        $action = "read";
    }
    $cc = $cc_env["Sub_Class_ID"];
    $MODULE_VARS = $nc_core->modules->get_module_vars();
    // для модуля подписки версии 2 своя проверка прав
    if ($action == 'subscribe' && $MODULE_VARS['subscriber']['VERSION'] > 1) {
        try {
            $nc_s = nc_subscriber::get_object();
            $mailer_id = $nc_s->get_mailer_by_cc($cc, 'Mailer_ID');
            return $nc_s = $nc_s->check_rights($mailer_id);
        } catch (Exception $e) {
        }
    }
    // параметры текущего раздела
    $sub_env = $nc_core->subdivision->get_current();
    // Если нет сс, то права на доступ нужно взять из раздела
    $instance = is_array($cc_env) && $cc ? "cc_env" : "sub_env";
    switch ($action) {
        case "add":
            $f_access = ${$instance}["Write_Access_ID"];
            break;
        case "change":
            $f_access = ${$instance}["Edit_Access_ID"];
            break;
        case "subscribe":
            $f_access = ${$instance}["Subscribe_Access_ID"];
            break;
        case "comment":
            $f_access = ${$instance}["Comment_Access_ID"];
            break;
        case "moderate":
            $f_access = 3;
            break;
            //модерирование, надо провреить, не забанен ли, а потом проверить на наличие соответ. права
        //модерирование, надо провреить, не забанен ли, а потом проверить на наличие соответ. права
        default:
            $f_access = ${$instance}["Read_Access_ID"];
            break;
    }
    // действия с объектами (изменение, удаление) не доступно неавторизованным
    if ($f_access == 1 && $action == "change") {
        $f_access = 2;
    }
    switch ($f_access) {
        case 1:
            // все
            if ($admin_mode) {
                if (!Authorize()) {
                    return false;
                }
                if (!CheckUserRights($cc, $action, 1)) {
                    return false;
                }
            }
            break;
        case 2:
            // только зарегистрированные
            if (!Authorize()) {
                return false;
            }
            global $perm;
            if ($perm->isBanned($cc_env, $action)) {
                return false;
            }
            break;
        case 3:
            // только уполномочнные
            if (!Authorize()) {
                return false;
            }
            global $perm;
            if ($perm->isBanned($cc_env, $action)) {
                return false;
            }
            if (!CheckUserRights($cc, $action, $posting)) {
                return false;
            }
            break;
        default:
            break;
    }
    return true;
}
Esempio n. 6
0
<?php

/* $Id: showpreview.php 7863 2012-07-30 15:18:50Z lemonade $ */
$NETCAT_FOLDER = join(strstr(__FILE__, "/") ? "/" : "\\", array_slice(preg_split("/[\\/\\\\]+/", __FILE__), 0, -4)) . (strstr(__FILE__, "/") ? "/" : "\\");
include_once $NETCAT_FOLDER . "vars.inc.php";
require $INCLUDE_FOLDER . "index.php";
$error = false;
$id = (int) $_GET['id'];
# если пользователь не зарегистрирован или не объявлен $perm
if (!$current_user || !class_exists("Permission") || !is_object($perm)) {
    $error = NETCAT_MODERATION_ERROR_NORIGHT;
} else {
    # права администратора
    $AdmRights = $perm->isDirector() || $perm->isSupervisor();
    # если есть какие либо из этих прав, доступ разрещён
    if (!$AdmRights) {
        $error = NETCAT_MODERATION_ERROR_NORIGHT;
    }
}
// if no auth module, object $perm not instantiated and error is true
// try to authorize and unset error or error is really true
if ($error && Authorize()) {
    if (is_object($perm) && ($perm->isDirector() || $perm->isSupervisor())) {
        unset($error);
    }
}
echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>\n<html>\n<head>\n<meta http-equiv='content-type' content='text/html; charset=" . $nc_core->NC_CHARSET . "'>\n<title>" . (!$error ? NETCAT_MODULE_CALENDAR_PREVIEW : $error) . "</title>\n" . (!$error ? nc_set_calendar($id) : "") . "\n</head>\n<body>\n" . (!$error ? "<table cellspacing='1' cellpadding='1' border='0' style='width:100%; height:100%'>\n<tr valign='middle'>\n<td align='center'>\n" . nc_show_calendar($id, 0, date('Y-m-d'), 'Created', true, false, true) . "\n</td>\n</tr>\n</table>" : $error) . "\n</body>\n</html>";
Esempio n. 7
0
function CheckUserRights($SubClassID, $action, $posting)
{
    global $db;
    global $perm;
    # значения action
    #   1 - read
    #   2 - add
    #   4 - change
    #   8 - subscribe
    #  16 - moderate
    if (!$perm) {
        Authorize();
    }
    if (!is_object($perm)) {
        return 0;
    }
    if ($perm->isSupervisor()) {
        return 1;
    }
    switch ($action) {
        case "read":
            $mask = MASK_READ | MASK_MODERATE;
            //moderator can read all
            break;
        case "comment":
            $mask = MASK_COMMENT;
            break;
        case "add":
            $mask = MASK_ADD;
            break;
        case "change":
            global $delete, $checked;
            // нужно точно узнать, какое изменение происходит
            $mask = MASK_MODERATE;
            // в любом случае модератор может все
            switch (true) {
                case isset($delete):
                    $mask |= MASK_DELETE;
                    break;
                case isset($checked):
                    $mask |= MASK_CHECKED;
                    break;
                default:
                    $mask |= MASK_EDIT;
            }
            break;
        case "subscribe":
            $mask = MASK_SUBSCRIBE;
            break;
        case "moderate":
            $mask = MASK_MODERATE;
            break;
        default:
            $mask = MASK_READ | MASK_MODERATE;
            break;
    }
    if ($perm->isGuest()) {
        // право гость
        //дает просматривать без записи в БД
        return $posting == 0 || $mask == 1;
    }
    #сообственно, проверка прав
    //случай, когда в разделе есть компонент
    if ($SubClassID) {
        return $perm->isSubClass($SubClassID, $mask, true);
    }
    // Возможен случай, когда в разделе нет компонента, в этом случае надо проеврить
    // на доступ к разделу.
    global $current_sub;
    return $perm->isSubdivision($current_sub['Subdivision_ID'], $mask);
}
Esempio n. 8
0
    }
    // нужна ли каптча
    if ($AuthPhase && $AUTH_USER && $nc_auth->need_captcha() && !nc_captcha_verify_code($nc_core->input->fetch_get_post('nc_captcha_code'))) {
        $nc_auth->set_invalid_captcha();
        $AuthPhase = 0;
    }
}
// Admin Interface Initialization
$admin_mode = true;
LoadSettings();
$nc_token_login = $nc_core->input->fetch_get_post('nc_token_login');
$nc_token_signature = $nc_core->input->fetch_get_post('nc_token_signature');
if ($nc_token_login && $nc_token_signature) {
    $nc_core->user->authorize_by_token($nc_token_login, $nc_token_signature, $_SESSION['nc_token_rand']);
}
Authorize(0, null, null, 1);
if (!$AUTH_USER_ID) {
    Refuse();
    exit;
}
// Использовать паттерн POST-REDIRECT-GET после авторизации
if ($nc_core->input->fetch_post('AuthPhase') == 1 && $nc_core->input->fetch_post('AUTH_USER')) {
    header("Location: " . htmlspecialchars_decode($_SERVER['REQUEST_URI']), true, 302);
    exit;
}
# Загрузка файла локализации
if ($lang) {
    $AUTH_LANG = $lang;
    $db->query("UPDATE `User` SET `Language` = '" . $db->escape($lang) . "' WHERE `User_ID` = '" . $AUTH_USER_ID . "'");
}
// установить заголовок с кодировкой, чтобы избежать проблем с