Exemplo n.º 1
0
 }
 $q = $db->simple_select('users', 'uid,username,email,language', $sqlwhere);
 while ($recipient = $db->fetch_array($q)) {
     // First we check if the user's a super admin: if yes, we don't care about permissions
     $is_super_admin = is_super_admin($recipient['uid']);
     if (!$is_super_admin) {
         // Include admin functions
         if (!file_exists(MYBB_ROOT . $mybb->config['admin_dir'] . "/inc/functions.php")) {
             continue;
         }
         require_once MYBB_ROOT . $mybb->config['admin_dir'] . "/inc/functions.php";
         // Verify if we have permissions to access user-users
         require_once MYBB_ROOT . $mybb->config['admin_dir'] . "/modules/user/module_meta.php";
         if (function_exists("user_admin_permissions")) {
             // Get admin permissions
             $adminperms = get_admin_permissions($recipient['uid']);
             $permissions = user_admin_permissions();
             if (array_key_exists('users', $permissions['permissions']) && $adminperms['user']['users'] != 1) {
                 continue;
                 // No permissions
             }
         }
     }
     // Load language
     if ($recipient['language'] != $mybb->user['language'] && $lang->language_exists($recipient['language'])) {
         $reset_lang = true;
         $lang->set_language($recipient['language']);
         $lang->load("member");
     }
     $subject = $lang->sprintf($lang->newregistration_subject, $mybb->settings['bbname']);
     $message = $lang->sprintf($lang->newregistration_message, $recipient['username'], $mybb->settings['bbname'], $user['username']);
Exemplo n.º 2
0
 // Only worth checking if we are here because we have ACP permissions and the other condition fails
 if ($mybb->usergroup['cancp'] == 1 && !($mybb->user['ismoderator'] && $mybb->usergroup['canmodcp'] == 1 && $mybb->usergroup['canmanagereportedcontent'] == 1)) {
     // First we check if the user's a super admin: if yes, we don't care about permissions
     $can_access_moderationqueue = true;
     $is_super_admin = is_super_admin($recipient['uid']);
     if (!$is_super_admin) {
         // Include admin functions
         if (!file_exists(MYBB_ROOT . $mybb->config['admin_dir'] . "/inc/functions.php")) {
             $can_access_moderationqueue = false;
         }
         require_once MYBB_ROOT . $mybb->config['admin_dir'] . "/inc/functions.php";
         // Verify if we have permissions to access forum-moderation_queue
         require_once MYBB_ROOT . $mybb->config['admin_dir'] . "/modules/forum/module_meta.php";
         if (function_exists("forum_admin_permissions")) {
             // Get admin permissions
             $adminperms = get_admin_permissions($mybb->user['uid']);
             $permissions = forum_admin_permissions();
             if (array_key_exists('moderation_queue', $permissions['permissions']) && $adminperms['forum']['moderation_queue'] != 1) {
                 $can_access_moderationqueue = false;
             }
         }
     }
 } else {
     $can_access_moderationqueue = false;
 }
 if ($can_access_moderationqueue || $mybb->user['ismoderator'] && $mybb->usergroup['canmodcp'] == 1 && $mybb->usergroup['canmanagereportedcontent'] == 1) {
     // Read the reported content cache
     $reported = $cache->read('reportedcontent');
     // 0 or more reported items currently exist
     if ($reported['unread'] > 0) {
         // We want to avoid one extra query for users that can moderate any forum
Exemplo n.º 3
0
    if (!empty($admin_options['cplanguage']) && file_exists(MYBB_ROOT . "inc/languages/" . $admin_options['cplanguage'] . "/admin/home_dashboard.lang.php")) {
        $cp_language = $admin_options['cplanguage'];
        $lang->set_language($cp_language, "admin");
        $lang->load("global");
        // Reload global language vars
        $lang->load("messages", true);
    }
    if (!empty($admin_options['cpstyle']) && file_exists(MYBB_ADMIN_DIR . "/styles/{$admin_options['cpstyle']}/main.css")) {
        $cp_style = $admin_options['cpstyle'];
    }
    // Update the session information in the DB
    if ($admin_session['sid']) {
        $db->update_query("adminsessions", array('lastactive' => TIME_NOW, 'ip' => $db->escape_binary(my_inet_pton(get_ip()))), "sid='" . $db->escape_string($admin_session['sid']) . "'");
    }
    // Fetch administrator permissions
    $mybb->admin['permissions'] = get_admin_permissions($mybb->user['uid']);
}
// Include the layout generation class overrides for this style
if (file_exists(MYBB_ADMIN_DIR . "/styles/{$cp_style}/style.php")) {
    require_once MYBB_ADMIN_DIR . "/styles/{$cp_style}/style.php";
}
// Check if any of the layout generation classes we can override exist in the style file
$classes = array("Page" => "DefaultPage", "SidebarItem" => "DefaultSidebarItem", "PopupMenu" => "DefaultPopupMenu", "Table" => "DefaultTable", "Form" => "DefaultForm", "FormContainer" => "DefaultFormContainer");
foreach ($classes as $style_name => $default_name) {
    // Style does not have this layout generation class, create it
    if (!class_exists($style_name)) {
        eval("class {$style_name} extends {$default_name} { }");
    }
}
$page = new Page();
$page->style = $cp_style;
Exemplo n.º 4
0
         case "pgsql":
         case "sqlite":
             $query = $db->query("\n\t\t\t\t\tSELECT u.uid, u.username, g.cancp, g.gid\n\t\t\t\t\tFROM " . TABLE_PREFIX . "users u\n\t\t\t\t\tLEFT JOIN " . TABLE_PREFIX . "usergroups g ON (((','|| u.additionalgroups|| ',' LIKE '%,'|| g.gid|| ',%') OR u.usergroup = g.gid))\n\t\t\t\t\tWHERE u.uid='{$uid}'\n\t\t\t\t\tAND g.cancp=1\n\t\t\t\t\tLIMIT 1\n\t\t\t\t");
             break;
         default:
             $query = $db->query("\n\t\t\t\tSELECT u.uid, u.username, g.cancp, g.gid\n\t\t\t\tFROM " . TABLE_PREFIX . "users u\n\t\t\t\tLEFT JOIN " . TABLE_PREFIX . "usergroups g ON (((CONCAT(',', u.additionalgroups, ',') LIKE CONCAT('%,', g.gid, ',%')) OR u.usergroup = g.gid))\n\t\t\t\tWHERE u.uid='{$uid}'\n\t\t\t\tAND g.cancp=1\n\t\t\t\tLIMIT 1\n\t\t\t");
     }
     $admin = $db->fetch_array($query);
     $permission_data = get_admin_permissions($uid, $admin['gid']);
     $title = $admin['username'];
     $page->add_breadcrumb_item($lang->user_permissions, "index.php?module=user-admin_permissions");
 } elseif ($uid < 0) {
     $gid = abs($uid);
     $query = $db->simple_select("usergroups", "title", "gid='{$gid}'");
     $group = $db->fetch_array($query);
     $permission_data = get_admin_permissions("", $gid);
     $title = $group['title'];
     $page->add_breadcrumb_item($lang->group_permissions, "index.php?module=user-admin_permissions&amp;action=group");
 } else {
     $query = $db->simple_select("adminoptions", "permissions", "uid='0'");
     $permission_data = my_unserialize($db->fetch_field($query, "permissions"));
     $page->add_breadcrumb_item($lang->default_permissions);
     $title = $lang->default;
 }
 if ($uid != 0) {
     $page->add_breadcrumb_item($lang->edit_permissions . ": {$title}");
 }
 $page->output_header($lang->edit_permissions);
 if ($uid != 0) {
     $sub_tabs['edit_permissions'] = array('title' => $lang->edit_permissions, 'link' => "index.php?module=user-admin_permissions&amp;action=edit&amp;uid={$uid}", 'description' => $lang->edit_permissions_desc);
     $page->output_nav_tabs($sub_tabs, 'edit_permissions');