summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-09-11 16:51:00 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-09-11 16:51:00 +0000
commit1d059dc06d24e02c858c43d70eaa70453d51cdff (patch)
treed29378c81ec8a9498a33ed7276722031c1f12981 /services
parentbfdc6bd7380fda2d5d8ca78a462047069c4020bc (diff)
downloadsemanticscuttle-1d059dc06d24e02c858c43d70eaa70453d51cdff.tar.gz
semanticscuttle-1d059dc06d24e02c858c43d70eaa70453d51cdff.tar.bz2
New Feature: add users admin page with delete function
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@146 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'services')
-rw-r--r--services/bookmark2tagservice.php20
-rw-r--r--services/bookmarkservice.php11
-rw-r--r--services/tag2tagservice.php14
-rw-r--r--services/userservice.php29
4 files changed, 68 insertions, 6 deletions
diff --git a/services/bookmark2tagservice.php b/services/bookmark2tagservice.php
index 121ba8d..31ae4d2 100644
--- a/services/bookmark2tagservice.php
+++ b/services/bookmark2tagservice.php
@@ -179,6 +179,26 @@ class Bookmark2TagService {
return true;
}
+ /* Allow deletion in admin page */
+ function deleteTagsForUser($uId) {
+ $qmask = 'DELETE FROM %s USING %s, %s WHERE %s.bId = %s.bId AND %s.uId = %d';
+ $query = sprintf($qmask,
+ $this->getTableName(),
+ $this->getTableName(),
+ $GLOBALS['tableprefix'].'bookmarks',
+ $this->getTableName(),
+ $GLOBALS['tableprefix'].'bookmarks',
+ $GLOBALS['tableprefix'].'bookmarks',
+ $uId);
+
+ if (!($dbresult =& $this->db->sql_query($query))) {
+ message_die(GENERAL_ERROR, 'Could not delete tags', '', __LINE__, __FILE__, $query, $this->db);
+ return false;
+ }
+
+ return true;
+ }
+
function &getTagsForBookmark($bookmarkid) {
if (!is_int($bookmarkid)) {
message_die(GENERAL_ERROR, 'Could not get tags (invalid bookmarkid)', '', __LINE__, __FILE__, $query);
diff --git a/services/bookmarkservice.php b/services/bookmarkservice.php
index 2cd42e2..150abc3 100644
--- a/services/bookmarkservice.php
+++ b/services/bookmarkservice.php
@@ -416,6 +416,17 @@ class BookmarkService {
return true;
}
+ function deleteBookmarksForUser($uId) {
+ $query = 'DELETE FROM '. $GLOBALS['tableprefix'] .'bookmarks WHERE uId = '. intval($uId);
+
+ if (!($dbresult = & $this->db->sql_query($query))) {
+ message_die(GENERAL_ERROR, 'Could not delete bookmarks', '', __LINE__, __FILE__, $query, $this->db);
+ return false;
+ }
+
+ return true;
+ }
+
function countOthers($address) {
if (!$address) {
return false;
diff --git a/services/tag2tagservice.php b/services/tag2tagservice.php
index bf4f866..f24ef79 100644
--- a/services/tag2tagservice.php
+++ b/services/tag2tagservice.php
@@ -234,15 +234,17 @@ class Tag2TagService {
}
function removeLinkedTags($tag1, $tag2, $relationType, $uId) {
- if($tag1 == $tag2 || strlen($tag1) == 0 || strlen($tag2) == 0
- || ($relationType != ">" && $relationType != "=")) {
+ if(($tag1 != '' && $tag1 == $tag2) ||
+ ($relationType != ">" && $relationType != "=" && $relationType != "") ||
+ ($tag1 == '' && $tag2 == '' && $relationType == '' && $uId == '')) {
return false;
}
$query = 'DELETE FROM '. $this->getTableName();
- $query.= ' WHERE tag1 = "'. $tag1 .'"';
- $query.= ' AND tag2 = "'. $tag2 .'"';
- $query.= ' AND relationType = "'. $relationType .'"';
- $query.= ' AND uId = "'. $uId .'"';
+ $query.= ' WHERE 1=1';
+ $query.= strlen($tag1)>0 ? ' AND tag1 = "'. $tag1 .'"' : '';
+ $query.= strlen($tag2)>0 ? ' AND tag2 = "'. $tag2 .'"' : '';
+ $query.= strlen($relationType)>0 ? ' AND relationType = "'. $relationType .'"' : '';
+ $query.= strlen($uId)>0 ? ' AND uId = "'. $uId .'"' : '';
if (!($dbresult =& $this->db->sql_query($query))) {
message_die(GENERAL_ERROR, 'Could not remove tag relation', '', __LINE__, __FILE__, $query, $this->db);
diff --git a/services/userservice.php b/services/userservice.php
index 3d2058f..f620735 100644
--- a/services/userservice.php
+++ b/services/userservice.php
@@ -336,6 +336,35 @@ class UserService {
return true;
}
+ function getAllUsers ( ) {
+ $query = 'SELECT * FROM '. $this->getTableName();
+
+ if (! ($dbresult =& $this->db->sql_query($query)) ) {
+ message_die(GENERAL_ERROR, 'Could not get users', '', __LINE__, __FILE__, $query, $this->db);
+ return false;
+ }
+
+ $rows = array();
+
+ while ( $row = $this->db->sql_fetchrow($dbresult) ) {
+ $rows[] = $row;
+ }
+
+ return $rows;
+ }
+
+ function deleteUser($uId) {
+ $query = 'DELETE FROM '. $this->getTableName() .' WHERE uId = '. intval($uId);
+
+ if (!($dbresult = & $this->db->sql_query($query))) {
+ message_die(GENERAL_ERROR, 'Could not delete user', '', __LINE__, __FILE__, $query, $this->db);
+ return false;
+ }
+
+ return true;
+ }
+
+
function sanitisePassword($password) {
return sha1(trim($password));
}