function deleteUser($blogid = null, $userid, $clean = true) { global $database; if ($blogid == null) { $blogid = getBlogId(); } POD::execute("UPDATE {$database['prefix']}Entries\n\t\t\tSET userid = " . User::getBlogOwner($blogid) . "\n\t\t\tWHERE blogid = " . $blogid . " AND userid = " . $userid); // Delete ACL relation. if (!POD::execute("DELETE FROM {$database['prefix']}Privileges WHERE blogid='{$blogid}' and userid='{$userid}'")) { return false; } // And if there is no blog related to the specific user, delete user. if ($clean && !POD::queryAll("SELECT * FROM {$database['prefix']}Privileges WHERE userid = '{$userid}'")) { User::removePermanent($userid); } return true; }
function cancelInvite($userid, $clean = true) { $pool = DBModel::getInstance(); $pool->reset('Users'); $pool->setQualifier('userid', 'eq', $userid); $pool->setQualifier('lastlogin', 'eq', 0); if ($pool->getCount() === 0) { return false; } $pool->unsetQualifier('lastlogin'); $pool->setQualifier('host', 'eq', getUserId()); if ($pool->getCount() === 0) { return false; } $blogidWithOwner = User::getOwnedBlogs($userid); foreach ($blogidWithOwner as $blogids) { if (deleteBlog($blogids) === false) { return false; } } $pool->reset('Privileges'); $pool->setQualifier('userid', 'eq', $userid); if ($clean && !$pool->getAll()) { User::removePermanent($userid); } return true; }
function deleteUser($blogid = null, $userid, $clean = true) { $context = Model_Context::getInstance(); $pool = DBModel::getInstance(); if ($blogid == null) { $blogid = getBlogId(); } $pool->reset("Entries"); $pool->setAttribute("userid", User::getBlogOwner($blogid)); $pool->setQualifier("blogid", "eq", $blogid); $pool->setQualifier("userid", "eq", $userid); $pool->update(); // Delete ACL relation. $pool->reset("Privileges"); $pool->setQualifier("blogid", "eq", $blogid); $pool->setQualifier("userid", "eq", $userid); if (!$pool->delete()) { return false; } // And if there is no blog related to the specific user, delete user. $pool->reset("Privileges"); $pool->setQualifier("userid", "eq", $userid); if ($clean && !$pool->getAll()) { User::removePermanent($userid); } return true; }
function cancelInvite($userid, $clean = true) { global $database; requireModel('blog.user'); if (POD::queryCell("SELECT count(*) FROM {$database['prefix']}Users WHERE userid = {$userid} AND lastlogin = 0") == 0) { return false; } if (POD::queryCell("SELECT count(*) FROM {$database['prefix']}Users WHERE userid = {$userid} AND host = " . getUserId()) === 0) { return false; } $blogidWithOwner = User::getOwnedBlogs($userid); foreach ($blogidWithOwner as $blogids) { if (deleteBlog($blogids) === false) { return false; } } if ($clean && !POD::queryAll("SELECT * FROM {$database['prefix']}Privileges WHERE userid = {$userid}")) { User::removePermanent($userid); } return true; }
<?php /// Copyright (c) 2004-2015, Needlworks / Tatter Network Foundation /// All rights reserved. Licensed under the GPL. /// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT) $IV = array('POST' => array('email' => array('email'), 'name' => array('string', 'default' => ''), 'identify' => array('string'), 'comment' => array('string', 'default' => ''), 'senderName' => array('string', 'default' => ''), 'senderEmail' => array('email'))); require ROOT . '/library/preprocessor.php'; importlib('model.blog.user'); requireStrictRoute(); if ($service['type'] == 'single' || !Acl::check("group.creators")) { Respond::ResultPage(false); } $useradd = User::add($_POST['email'], $_POST['name']); if ($useradd !== true && $useradd != 9) { Respond::ResultPage($useradd); } $blogadd = addBlog(null, User::getUserIdByEmail($_POST['email']), $_POST['identify']); if ($blogadd !== true) { if ($useradd != 9) { // If user is created at this time, delete that user. User::removePermanent(User::getUserIdByEmail($_POST['email'])); } Respond::ResultPage($blogadd); } if (User::getEmail() == $_POST['email']) { $result = array('error' => 0, 'message' => _t('이 계정에 새로운 블로그를 추가하였습니다.')); Respond::ResultPage($result); } else { $result = sendInvitationMail(null, User::getUserIdByEmail($_POST['email']), $_POST['name'], $_POST['comment'], $_POST['senderName'], $_POST['senderEmail']); Respond::ResultPage($result); }