[Pkg-owncloud-commits] [owncloud] 42/258: Using countUsers method to return true count of users

David Prévot taffit at moszumanska.debian.org
Sat Oct 11 17:22:18 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 9b99c81a9d36b83c90c36437668701e4794e0661
Author: Clark Tomlinson <fallen013 at gmail.com>
Date:   Fri Aug 29 11:27:23 2014 -0400

    Using countUsers method to return true count of users
---
 settings/ajax/geteveryonecount.php          | 49 +++++++++++++++++++++++++++++
 settings/js/users/groups.js                 | 11 +++++++
 settings/routes.php                         |  2 ++
 settings/templates/users/part.grouplist.php |  6 ++--
 settings/users.php                          | 35 ++++++++++-----------
 5 files changed, 82 insertions(+), 21 deletions(-)

diff --git a/settings/ajax/geteveryonecount.php b/settings/ajax/geteveryonecount.php
new file mode 100644
index 0000000..54fbd6e
--- /dev/null
+++ b/settings/ajax/geteveryonecount.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Clark Tomlinson
+ * @copyright 2014 Clark Tomlinson <clark at 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));
diff --git a/settings/js/users/groups.js b/settings/js/users/groups.js
index 84142a1..298879b 100644
--- a/settings/js/users/groups.js
+++ b/settings/js/users/groups.js
@@ -249,12 +249,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();
diff --git a/settings/routes.php b/settings/routes.php
index 1c8ad1b..d98497e 100644
--- a/settings/routes.php
+++ b/settings/routes.php
@@ -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')
diff --git a/settings/templates/users/part.grouplist.php b/settings/templates/users/part.grouplist.php
index 255f2a6..5b516bc 100644
--- a/settings/templates/users/part.grouplist.php
+++ b/settings/templates/users/part.grouplist.php
@@ -12,15 +12,15 @@
 		</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>
diff --git a/settings/users.php b/settings/users.php
index bc6c2ea..94dda43 100644
--- a/settings/users.php
+++ b/settings/users.php
@@ -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();

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list