diff options
Diffstat (limited to 'services')
| -rw-r--r-- | services/bookmarkservice.php | 26 | ||||
| -rw-r--r-- | services/userservice.php | 5 | 
2 files changed, 29 insertions, 2 deletions
| diff --git a/services/bookmarkservice.php b/services/bookmarkservice.php index e77e40d..635d8ed 100644 --- a/services/bookmarkservice.php +++ b/services/bookmarkservice.php @@ -71,8 +71,30 @@ class BookmarkService {  		return $this->_getbookmark('bHash', $hash, true);  	} -	function countBookmarks($uId) { - +	/* Counts bookmarks for a user. $range = {'public', 'shared', 'private', 'all'}*/ +	function countBookmarks($uId, $range = 'public') { +		$sql = 'SELECT COUNT(*) FROM '. $GLOBALS['tableprefix'] .'bookmarks'; +		$sql.= ' WHERE uId = '.$uId; +		switch ($range) { +			case 'all': +			//no constraints +			break; +			case 'private': +			$sql.= ' AND bStatus = 2'; +			break; +			case 'shared': +			$sql.= ' AND bStatus = 1'; +			break;			 +			case 'public': +			default: +			$sql.= ' AND bStatus = 0'; +			break; +		}			 +		 +		if (!($dbresult = & $this->db->sql_query($sql))) { +			message_die(GENERAL_ERROR, 'Could not get vars', '', __LINE__, __FILE__, $sql, $this->db); +		} +		return $this->db->sql_fetchfield(0, 0);  	}  	function editAllowed($bookmark) { diff --git a/services/userservice.php b/services/userservice.php index 7f0382d..a4ed3ac 100644 --- a/services/userservice.php +++ b/services/userservice.php @@ -592,5 +592,10 @@ class User {  		}  		return $this->isAdmin;  	} +	 +	function getNbBookmarks($range = 'public') { +		$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService'); +		return $bookmarkservice->countBookmarks($this->getId(), $range); +	}  }  ?> | 
