unset($idarray[$keyToDelete]); } //ID's deleted if (count($idarray) < 1) { echo "Error - all the people invited were duplicates"; } else { if ($check && $groupexists->rowCount() > 0) { $currentarray = []; $currentarray[$profid] = $idarray; $current = serialize($currentarray); $postsql = $connectinfo->prepare("UPDATE Groups SET people_added = :current WHERE id = :groupid"); $postsql->execute(array(':current' => $current, ':groupid' => $groupid)); foreach ($idarray as $id) { CreateNotification(1, $connectinfo, $id, $profid, $groupid); //Send them a notification $connection->AddtoList($connectinfo, 0, $groupid, "people_requested", $id); } } else { if ($check) { echo "Error - group doesn't exist"; } else { echo "Error - original user was not a part of this group"; } } } } else { echo "Error - authorization mismatch"; } } else { echo 'Error - invalid supplied post data (not enough info?). Alternatively, no people were added?'; }
} if ($safe) { $authenticated = $connection->Verify($connectinfo, $profid, $token); if ($authenticated) { //Do only if user has notification $check = $connection->ListCheck($connectinfo, 1, $profid, "groups_pending", $groupid); $checkdeclined = $connection->ListCheck($connectinfo, 2, $profid, "groups_declined", $groupid); $checkleft = $connection->ListCheck($connectinfo, 2, $profid, "groups_left", $groupid); if ($check == true || $checkdeclined == true || $checkleft == true) { $targetvalues = $connection->GetValue($connectinfo, 0, $groupid, "people_added"); $targetvaluesarray = unserialize($targetvalues); $targetid = ReturnTargetID($targetvaluesarray, $profid); $connection->RemoveItemfromList($connectinfo, 1, $profid, "groups_pending", "groupid:" . strval($groupid), "data"); if ($accepted) { //Add on to people accepted $connection->AddtoList($connectinfo, 0, $groupid, "people_accepted", $profid); //Add to group list of accepted friends $connection->AddtoList($connectinfo, 2, $profid, "groups_accepted", $groupid); //Add to profile list of accepted groups //(Notify group inviter that a new user has accepted group request? if ($checkdeclined == false && $checkleft == false) { CreateNotification(2, $connectinfo, $targetid, $profid, $groupid, TRUE); } else { //Remove from list of left groups if ($checkleft) { $connection->RemovefromList($connectinfo, 2, $profid, "groups_left", $groupid); } if ($checkdeclined) { $connection->RemovefromList($connectinfo, 2, $profid, "groups_declined", $groupid); } }
$token = filter_input(INPUT_POST, 'token'); } else { $safe = false; } if ($safe) { $authenticated = $connection->Verify($connectinfo, $profid, $token); if ($authenticated) { try { $starter = $idarray[0]; $starterid = intval($starter); $prepsql = $connectinfo->prepare("INSERT INTO `Groups` (`name`, `people_requested`, `people_accepted`, `starter`) VALUES (:name,:idstring,:starter,:starterid)"); $prepsql->execute(array(':name' => $name, ':idstring' => $idstring, 'starter' => $starter, ':starterid' => $starterid)); $groupid = $connectinfo->lastInsertId(); echo $groupid; //Add group to thread starter's list of groups $connection->AddtoList($connectinfo, 2, $starter, "groups_accepted", $groupid); //Notify users of new group array_shift($idarray); //Knock thread starter off! $added = array($starter => $idarray); //Setup added list $addedstring = serialize($added); $postsql = $connectinfo->prepare("UPDATE Groups SET people_added = :addedstring WHERE id = :groupid"); $postsql->execute(array(':addedstring' => $addedstring, ':groupid' => $groupid)); foreach ($idarray as $id) { $params = ["groupid" => $groupid, "sourceid" => $profid, "date" => time()]; //Add to notifications for that particular id CreateNotification(1, $connectinfo, $id, $starter, $groupid); } } catch (PDOException $e) { echo 'Error ' . $e->GetMessage();