]> source.dussan.org Git - nextcloud-server.git/commitdiff
Using countUsers method to return true count of users
authorClark Tomlinson <fallen013@gmail.com>
Fri, 29 Aug 2014 15:27:23 +0000 (11:27 -0400)
committerClark Tomlinson <fallen013@gmail.com>
Fri, 5 Sep 2014 15:23:59 +0000 (11:23 -0400)
settings/ajax/geteveryonecount.php [new file with mode: 0644]
settings/js/users/groups.js
settings/routes.php
settings/templates/users/part.grouplist.php
settings/users.php

diff --git a/settings/ajax/geteveryonecount.php b/settings/ajax/geteveryonecount.php
new file mode 100644 (file)
index 0000000..54fbd6e
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Clark Tomlinson
+ * @copyright 2014 Clark Tomlinson <clark@owncloud.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+OC_JSON::callCheck();
+OC_JSON::checkSubAdminUser();
+
+$userCount = 0;
+
+$currentUser = \OC::$server->getUserSession()->getLoginName();
+
+if (!OC_User::isAdminUser($currentUser)) {
+       $groups = OC_SubAdmin::getSubAdminsGroups($currentUser);
+
+       foreach ($groups as $group) {
+               $userCount += count(OC_Group::usersInGroup($group));
+
+       }
+} else {
+
+       $userCountArray = \OC::$server->getUserManager()->countUsers();
+
+       if (!empty($userCountArray)) {
+               foreach ($userCountArray as $classname => $usercount) {
+                       $userCount += $usercount;
+               }
+       }
+}
+
+
+OC_JSON::success(array('count' => $userCount));
index 258b6aa7efd6f4dc45e8ea43dcee2ac11cfe185d..081842734f06d7d0255f155a20924acafaa27e04 100644 (file)
@@ -251,12 +251,23 @@ GroupList = {
 
        getElementGID: function (element) {
                return ($(element).closest('li').data('gid') || '').toString();
+       },
+       getEveryoneCount: function () {
+               $.ajax({
+                       type: "GET",
+                       dataType: "json",
+                       url: OC.generateUrl('/settings/ajax/geteveryonecount')
+               }).success(function (data) {
+                       $('#everyonegroup').data('usercount', data.count);
+                       $('#everyonecount').text(data.count);
+               });
        }
 };
 
 $(document).ready( function () {
        $userGroupList = $('#usergrouplist');
        GroupList.initDeleteHandling();
+       GroupList.getEveryoneCount();
 
        // Display or hide of Create Group List Element
        $('#newgroup-form').hide();
index 1c8ad1b3fe8801fad32d5ea40bd138bf5748c1ef..d98497ee61778f3a22b608924c0c7b202e1745a1 100644 (file)
@@ -27,6 +27,8 @@ $this->create('settings_ajax_userlist', '/settings/ajax/userlist')
        ->actionInclude('settings/ajax/userlist.php');
 $this->create('settings_ajax_grouplist', '/settings/ajax/grouplist')
        ->actionInclude('settings/ajax/grouplist.php');
+$this->create('settings_ajax_everyonecount', '/settings/ajax/geteveryonecount')
+       ->actionInclude('settings/ajax/geteveryonecount.php');
 $this->create('settings_ajax_createuser', '/settings/ajax/createuser.php')
        ->actionInclude('settings/ajax/createuser.php');
 $this->create('settings_ajax_removeuser', '/settings/ajax/removeuser.php')
index 255f2a6cf4550b3da5f913b64dc99cb549c7095c..5b516bc0e1675eca02491a9e88fe4e08e61a996a 100644 (file)
                </form>
        </li>
        <!-- Everyone -->
-       <li data-gid="_everyone" data-usercount="<?php p($_["usercount"]); ?>" class="isgroup">
+       <li id="everyonegroup" data-gid="_everyone" data-usercount="" class="isgroup">
                <a href="#">
                        <span class="groupname">
                                <?php p($l->t('Everyone')); ?>
                        </span>
                </a>
                <span class="utils">
-                       <span class="usercount">
-                               <?php p($_["usercount"]); ?>
+                       <span class="usercount" id="everyonecount">
+
                        </span>
                </span>
        </li>
index bc6c2ea7e7c26cf545e88d87ff0ed7435f09c8d6..94dda43c52360aa105178b00bfbdb869355157e9 100644 (file)
@@ -60,13 +60,13 @@ $defaultQuotaIsUserDefined=array_search($defaultQuota, $quotaPreset)===false
 
 // load users and quota
 foreach($accessibleUsers as $uid => $displayName) {
-       $quota=OC_Preferences::getValue($uid, 'files', 'quota', 'default');
-       $isQuotaUserDefined=array_search($quota, $quotaPreset)===false
-               && array_search($quota, array('none', 'default'))===false;
+       $quota = OC_Preferences::getValue($uid, 'files', 'quota', 'default');
+       $isQuotaUserDefined = array_search($quota, $quotaPreset) === false
+               && array_search($quota, array('none', 'default')) === false;
 
        $name = $displayName;
-       if ( $displayName !== $uid ) {
-               $name = $name . ' ('.$uid.')';
+       if ($displayName !== $uid) {
+               $name = $name . ' (' . $uid . ')';
        }
 
        $user = $userManager->get($uid);
@@ -82,17 +82,16 @@ foreach($accessibleUsers as $uid => $displayName) {
        );
 }
 
-$tmpl = new OC_Template( "settings", "users/main", "user" );
-$tmpl->assign( 'users', $users );
-$tmpl->assign( 'groups', $groups );
-$tmpl->assign( 'adminGroup', $adminGroup );
-$tmpl->assign( 'isAdmin', (int) $isAdmin);
-$tmpl->assign( 'subadmins', $subadmins);
-$tmpl->assign('usercount', count($users));
-$tmpl->assign( 'numofgroups', count($groups) + count($adminGroup));
-$tmpl->assign( 'quota_preset', $quotaPreset);
-$tmpl->assign( 'default_quota', $defaultQuota);
-$tmpl->assign( 'defaultQuotaIsUserDefined', $defaultQuotaIsUserDefined);
-$tmpl->assign( 'recoveryAdminEnabled', $recoveryAdminEnabled);
-$tmpl->assign( 'enableAvatars', \OC_Config::getValue('enable_avatars', true));
+$tmpl = new OC_Template("settings", "users/main", "user");
+$tmpl->assign('users', $users);
+$tmpl->assign('groups', $groups);
+$tmpl->assign('adminGroup', $adminGroup);
+$tmpl->assign('isAdmin', (int)$isAdmin);
+$tmpl->assign('subadmins', $subadmins);
+$tmpl->assign('numofgroups', count($groups) + count($adminGroup));
+$tmpl->assign('quota_preset', $quotaPreset);
+$tmpl->assign('default_quota', $defaultQuota);
+$tmpl->assign('defaultQuotaIsUserDefined', $defaultQuotaIsUserDefined);
+$tmpl->assign('recoveryAdminEnabled', $recoveryAdminEnabled);
+$tmpl->assign('enableAvatars', \OC::$server->getConfig()->getSystemValue('enable_avatars', true));
 $tmpl->printPage();