diff options
Diffstat (limited to 'services')
-rw-r--r-- | services/bookmark2tagservice.php | 7 | ||||
-rw-r--r-- | services/tag2tagservice.php | 18 | ||||
-rw-r--r-- | services/userservice.php | 10 |
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) {
|