aboutsummaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
Diffstat (limited to 'services')
-rw-r--r--services/bookmark2tagservice.php7
-rw-r--r--services/tag2tagservice.php18
-rw-r--r--services/userservice.php10
3 files changed, 29 insertions, 6 deletions
diff --git a/services/bookmark2tagservice.php b/services/bookmark2tagservice.php
index 99c97af..918fb5b 100644
--- a/services/bookmark2tagservice.php
+++ b/services/bookmark2tagservice.php
@@ -330,13 +330,10 @@ class Bookmark2TagService {
function &getAdminTags($limit = 30, $logged_on_user = NULL, $days = NULL) {
// look for admin ids
$userservice = & ServiceFactory :: getServiceInstance('UserService');
- $admins = array();
- foreach($GLOBALS['admin_users'] as $adminName) {
- $admins[] = $userservice->getIdFromUser($adminName);
- }
+ $adminIds = $userservice->getAdminIds();
// ask for their tags
- return $this->getPopularTags($admins, $limit, $logged_on_user, $days);
+ return $this->getPopularTags($adminIds, $limit, $logged_on_user, $days);
}
function &getContactTags($user, $limit = 30, $logged_on_user = NULL, $days = NULL) {
diff --git a/services/tag2tagservice.php b/services/tag2tagservice.php
index 1547daf..6069880 100644
--- a/services/tag2tagservice.php
+++ b/services/tag2tagservice.php
@@ -43,6 +43,16 @@ class Tag2TagService {
return true;
}
+ // Return linked tags just for admin users
+ function getAdminLinkedTags($tag, $relationType, $inverseRelation = false, $stopList = array()) {
+ // look for admin ids
+ $userservice = & ServiceFactory :: getServiceInstance('UserService');
+ $adminIds = $userservice->getAdminIds();
+
+ //ask for their linked tags
+ return $this->getLinkedTags($tag, $relationType, $adminIds, $inverseRelation, $stopList);
+ }
+
// Return the target linked tags. If inverseRelation is true, return the source linked tags.
function getLinkedTags($tag, $relationType, $uId = null, $inverseRelation = false, $stopList = array()) {
// Set up the SQL query.
@@ -63,7 +73,13 @@ class Tag2TagService {
if($relationType) {
$query.= " AND relationType = '". $relationType ."'";
}
- if($uId != null) {
+ if(is_array($uId)) {
+ $query.= " AND ( 1=0 "; //tricks always false
+ foreach($uId as $u) {
+ $query.= " OR uId = '".$u."'";
+ }
+ $query.= " ) ";
+ } elseif($uId != null) {
$query.= " AND uId = '".$uId."'";
}
//die($query);
diff --git a/services/userservice.php b/services/userservice.php
index a4ed3ac..d0eb96a 100644
--- a/services/userservice.php
+++ b/services/userservice.php
@@ -429,6 +429,16 @@ class UserService {
}
$this->db->sql_freeresult($dbresult);
return $rows;
+ }
+
+ // Returns an array with admin uIds
+ function getAdminIds() {
+ $admins = array();
+ foreach($GLOBALS['admin_users'] as $adminName) {
+ if($this->getIdFromUser($adminName) != NULL)
+ $admins[] = $this->getIdFromUser($adminName);
+ }
+ return $admins;
}
function deleteUser($uId) {