Пример #1
0
     $rgroups['grp_disabled'] = cot_import('rdisabled', 'P', 'BOL') ? 1 : 0;
     $rgroups['grp_maintenance'] = cot_import('rmtmode', 'P', 'BOL') ? 1 : 0;
     $rgroups['grp_skiprights'] = cot_import('rskiprights', 'P', 'BOL') ? 1 : 0;
     /* === Hook === */
     foreach (cot_getextplugins('admin.users.update') as $pl) {
         include $pl;
     }
     /* ===== */
     cot_check(empty($rgroups['grp_name']), 'adm_groups_name_empty', 'rname');
     cot_check(empty($rgroups['grp_title']), 'adm_groups_title_empty', 'rtitle');
     if (!cot_error_found()) {
         $db->update($db_groups, $rgroups, "grp_id={$g}");
         $was_rightless = $db->query("SELECT grp_skiprights FROM {$db_groups} WHERE grp_id = {$g}")->fetchColumn();
         if ($was_rightless && !$rgroups['grp_skiprights']) {
             // Add missing rights from default group
             cot_auth_add_group($grp_id, COT_GROUP_MEMBERS);
         } elseif (!$was_rightless && $rgroups['grp_skiprights']) {
             // Remove rights
             cot_auth_remove_group($g);
         }
         $cache && $cache->db->remove('cot_groups', 'system');
         cot_message('Updated');
     }
     cot_redirect(cot_url('admin', array('m' => 'users', 'n' => 'edit', 'g' => $g), '', true));
 } elseif ($a == 'delete' && $g > 5) {
     $sql = $db->delete($db_groups, "grp_id='{$g}'");
     $sql = $db->delete($db_groups_users, "gru_groupid='{$g}'");
     cot_auth_remove_group($g);
     /* === Hook === */
     foreach (cot_getextplugins('admin.users.delete') as $pl) {
         include $pl;
Пример #2
0
/* === Hook === */
foreach (cot_getextplugins('admin.rights.first') as $pl) {
    include $pl;
}
/* ===== */
if ($a == 'update') {
    $ncopyrightsconf = cot_import('ncopyrightsconf', 'P', 'BOL');
    $ncopyrightsfrom = cot_import('ncopyrightsfrom', 'P', 'INT');
    /* === Hook === */
    foreach (cot_getextplugins('admin.rights.update') as $pl) {
        include $pl;
    }
    /* ===== */
    if ($ncopyrightsconf && !empty($cot_groups[$ncopyrightsfrom]['name']) && $g > 5) {
        $db->delete($db_auth, "auth_groupid={$g}");
        cot_auth_add_group($g, $ncopyrightsfrom);
        cot_auth_clear('all');
        cot_message('Added');
    } elseif ($auth = cot_import('auth', 'P', 'ARR')) {
        $mask = array();
        $db->update($db_auth, array('auth_rights' => 0), "auth_groupid={$g}");
        foreach ($auth as $k => $v) {
            foreach ($v as $i => $j) {
                if (is_array($j)) {
                    $mask = 0;
                    foreach ($j as $l => $m) {
                        $mask += cot_auth_getvalue($l);
                    }
                    $db->update($db_auth, array('auth_rights' => $mask), "auth_groupid=? AND auth_code=? AND auth_option=?", array($g, $k, $i));
                }
            }
}
$group_exists = (bool) $db->query("SELECT grp_id FROM {$db_groups} WHERE grp_alias='employer'")->fetch();
if (!$group_exists) {
    $rgroups['grp_name'] = 'Работодатели';
    $rgroups['grp_title'] = 'Работодатель';
    $rgroups['grp_desc'] = '';
    $rgroups['grp_icon'] = '';
    $rgroups['grp_alias'] = 'employer';
    $rgroups['grp_level'] = 1;
    $rgroups['grp_disabled'] = 0;
    $rgroups['grp_maintenance'] = 0;
    $rgroups['grp_skiprights'] = 0;
    $rgroups['grp_ownerid'] = 1;
    $db->insert($db_groups, $rgroups);
    $employer_grp_id = $db->lastInsertId();
    cot_auth_add_group($employer_grp_id, 4);
    $db->update($db_auth, array('auth_rights' => 3), "auth_groupid=" . $employer_grp_id . " AND auth_code='projects'");
    // Устанавливаем права только на создание проектов
}
// Переносим настройки из плагина Freelancers, чтобы не потерялись на работающих сайтах
if (!empty($cfg['plugin']['freelancers']['roles'])) {
    $rconfig['config_value'] = $cfg['plugin']['freelancers']['roles'];
    $db->update($db_config, $rconfig, "config_cat='usergroupselector' AND config_name='groups'");
}
if (!empty($cfg['plugin']['freelancers']['rolereq'])) {
    $rconfig['config_value'] = $cfg['plugin']['freelancers']['rolereq'];
    $db->update($db_config, $rconfig, "config_cat='usergroupselector' AND config_name='required'");
}
if (!empty($cfg['plugin']['freelancers']['allowchange'])) {
    $rconfig['config_value'] = $cfg['plugin']['freelancers']['allowchange'];
    $db->update($db_config, $rconfig, "config_cat='usergroupselector' AND config_name='allowchange'");