Exemplo n.º 1
0
 public function memberships_update($params = null)
 {
     // aka join board
     if ($params && isset($params["__partial"])) {
         return null;
     }
     if ($params === null) {
         $this->requireRequestType("POST");
         $current_user = $this->requireLogin("You must be logged in to join a board");
         $params = $_POST;
         $userid = $_GET["userid"];
         $boardid = $_GET["boardid"];
         $params["receives_emails"] = intval(isset($params["receives_emails"]));
         //$params["boardid"] = SC::getParam("boardid");
         //$params["userid"] = SC::getParam("userid");
         //$params["receives_emails"] = SC::getParam("receives_emails");
     }
     if ($params["membershipid"]) {
         $membership = new SCMembership($params["membershipid"]);
     } else {
         if ($userid && $boardid) {
             $membership = new SCMembership($userid, $boardid);
         } else {
             throw new APIException("Membership id or userid/boardid pair missing", 400);
         }
     }
     if (intval($membership->userid) != intval($current_user->userid)) {
         throw new APIException("You may only attempt to update your own memberships", 403);
     }
     $membership->updateAttributes($params)->save();
     SC::updateSessionUser();
     return $membership;
 }