X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fatompubshowmembership.php;h=16196917698ac5c8e2706929477329dab0de6064;hb=c18020561b8a01bbb2b3fc092694a7bb0fde70f9;hp=098cca8b3eb2dd26bf16d20c4a82432e1c4b0bb3;hpb=e98e443605cff0266dcf9b412641b42c82e45824;p=quix0rs-gnu-social.git diff --git a/actions/atompubshowmembership.php b/actions/atompubshowmembership.php index 098cca8b3e..1619691769 100644 --- a/actions/atompubshowmembership.php +++ b/actions/atompubshowmembership.php @@ -28,13 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { - // This check helps protect against security problems; - // your code file can't be executed directly from the web. - exit(1); -} - -require_once INSTALLDIR . '/lib/apiauth.php'; +if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { exit(1); } /** * Show (or delete) a single membership event as an ActivityStreams entry @@ -46,47 +40,34 @@ require_once INSTALLDIR . '/lib/apiauth.php'; * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ -class AtompubshowmembershipAction extends ApiAuthAction +class AtompubshowmembershipAction extends AtompubAction { - private $_profile = null; + private $_private = null; private $_group = null; private $_membership = null; - /** - * For initializing members of the class. - * - * @param array $argarray misc. arguments - * - * @return boolean true - */ - function prepare($argarray) + protected function atompubPrepare() { - parent::prepare($argarray); - - $profileId = $this->trimmed('profile'); + $this->_profile = Profile::getKV('id', $this->trimmed('profile')); - $this->_profile = Profile::staticGet('id', $profileId); - - if (empty($this->_profile)) { + if (!$this->_profile instanceof Profile) { // TRANS: Client exception. throw new ClientException(_('No such profile.'), 404); } - $groupId = $this->trimmed('group'); - - $this->_group = User_group::staticGet('id', $groupId); + $this->_group = User_group::getKV('id', $this->trimmed('group')); - if (empty($this->_group)) { + if (!$this->_group instanceof User_group) { // TRANS: Client exception thrown when referencing a non-existing group. throw new ClientException(_('No such group.'), 404); } $kv = array('group_id' => $groupId, - 'profile_id' => $profileId); + 'profile_id' => $this->_profile->id); $this->_membership = Group_member::pkeyGet($kv); - if (empty($this->_membership)) { + if (!$this->_membership instanceof Group_member) { // TRANS: Client exception thrown when trying to show membership of a non-subscribed group throw new ClientException(_('Not a member.'), 404); } @@ -94,29 +75,12 @@ class AtompubshowmembershipAction extends ApiAuthAction return true; } - /** - * Handler method - * - * @param array $argarray is ignored since it's now passed in in prepare() - * - * @return void - */ - function handle($argarray=null) - { - switch ($_SERVER['REQUEST_METHOD']) { - case 'GET': - case 'HEAD': - $this->showMembership(); - break; - case 'DELETE': - $this->deleteMembership(); - break; - default: - // TRANS: Client exception thrown when using an unsupported HTTP method. - throw new ClientException(_('HTTP method not supported.'), 405); - break; - } - return; + protected function handleGet() { + return $this->showMembership(); + } + + protected function handleDelete() { + return $this->deleteMembership(); } /** @@ -151,33 +115,11 @@ class AtompubshowmembershipAction extends ApiAuthAction " membership."), 403); } - if (Event::handle('StartLeaveGroup', array($this->_group, $this->auth_user))) { - Group_member::leave($this->_group->id, $this->auth_user->id); - Event::handle('EndLeaveGroup', array($this->_group, $this->auth_user)); - } + $this->auth_user->leaveGroup($this->_group); return; } - /** - * Return true if read only. - * - * MAY override - * - * @param array $args other arguments - * - * @return boolean is read only action? - */ - function isReadOnly($args) - { - if ($_SERVER['REQUEST_METHOD'] == 'GET' || - $_SERVER['REQUEST_METHOD'] == 'HEAD') { - return true; - } else { - return false; - } - } - /** * Return last modified, if applicable. * @@ -214,19 +156,4 @@ class AtompubshowmembershipAction extends ApiAuthAction $adminflag, $ctime)) . '"'; } - - /** - * Does this require authentication? - * - * @return boolean true if delete, else false - */ - function requiresAuth() - { - if ($_SERVER['REQUEST_METHOD'] == 'GET' || - $_SERVER['REQUEST_METHOD'] == 'HEAD') { - return false; - } else { - return true; - } - } }