public function defollow($id, $prj = false) { if (!$this->isLogged()) { return Utils::$REGISTER_DB_MESSAGE; } // defollow to remove from members, if member if ($prj) { $project = new Project($id); if (in_array($_SESSION['id'], $project->getMembers())) { return Db::query(['DELETE FROM "groups_members" WHERE "to" = :id AND "from" = :me', [':id' => $id, ':me' => $_SESSION['id']]], Db::FETCH_ERRSTR); } } $table = ($prj ? 'groups_' : '') . 'followers'; return Db::query(['DELETE FROM "' . $table . '" WHERE "to" = :id AND "from" = :me', [':id' => $id, ':me' => $_SESSION['id']]], Db::FETCH_ERRSTR); }
$user = new User(); $project = new Project(); ob_start(array('NERDZ\\Core\\Utils', 'minifyHTML')); $id = isset($_POST['id']) && is_numeric($_POST['id']) ? $_POST['id'] : false; if (!$user->isLogged() || !$id || !($info = $project->getObject($id)) || $project->getOwner($id) != $_SESSION['id']) { die($user->lang('ERROR')); } $vals = []; function sortbyusername($a, $b) { return strtolower($a) < strtolower($b) ? -1 : 1; } $vals['photo_n'] = $info->photo; $vals['website_n'] = $info->website; $vals['name_n'] = $info->name; $mem = $project->getMembers($info->counter); $vals['members_n'] = count($mem); $vals['members_a'] = []; foreach ($mem as &$uid) { $uid = User::getUsername($uid); } $vals['members_a'] = $mem; usort($vals['members_a'], 'sortbyusername'); $vals['tok_n'] = NERDZ\Core\Security::getCsrfToken('edit'); $vals['id_n'] = $info->counter; $vals['description_a'] = explode("\n", $info->description); foreach ($vals['description_a'] as &$val) { $val = trim($val); } $vals['goal_a'] = explode("\n", $info->goal); foreach ($vals['goal_a'] as &$val) {
switch (isset($_GET['action']) ? strtolower($_GET['action']) : '') { case 'del': $capt = new Captcha(); if (!$capt->check(isset($_POST['captcha']) ? $_POST['captcha'] : '')) { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('ERROR') . ': ' . $user->lang('CAPTCHA'))); } if (Db::NO_ERRNO != Db::query(['DELETE FROM "groups" WHERE "counter" = :id', [':id' => $id]], Db::FETCH_ERRNO)) { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('ERROR'))); } break; case 'update': //validate fields require_once $_SERVER['DOCUMENT_ROOT'] . '/pages/common/validateproject.php'; // Members $_POST['members'] = isset($_POST['members']) ? $_POST['members'] : ''; $oldmem = $project->getMembers($id); $m = array_filter(array_unique(explode("\n", $_POST['members']))); $newmem = []; $userMap = []; foreach ($m as $v) { $username = trim($v); $uid = $user->getId($username); if (is_numeric($uid) && $uid > 0) { $newmem[] = $uid; $userMap[$uid] = $username; } else { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('ERROR') . ': Invalid member - ' . $v)); } } //members to add $toadd = array_diff($newmem, $oldmem);