public function executePhone(sfWebRequest $request) { $this->forward404Unless($this->getUser()->isAuthenticated()); $auth_key = $this->getUser()->getApiAuthKey(); $this->getSubredditId($request); $membership_data = Api::getInstance()->setUser($auth_key)->get('subredditmembership?sf_guard_user_id=' . $this->getUser()->getApiUserId() . '&subreddit_id=' . $this->subreddit_id, true); $this->membership = array_key_exists(0, $membership_data['body']) ? ApiDoctrine::createQuickObject($membership_data['body'][0]) : null; $this->forward404If(!$this->membership || !in_array($this->membership->getMembership()->getType(), array('admin')) && !$this->getUser()->isSuperAdmin()); $phone_data = Api::getInstance()->setUser($auth_key)->get('subreddittropo?subreddit_id=' . $this->subreddit_id, true); $this->phone_numbers = ApiDoctrine::createQuickObjectArray($phone_data['body']); $number = new SubredditTropoNumber(); $number->setSubredditId($this->subreddit_id); $this->form = new SubredditTropoNumberForm($number); unset($this->form['subreddit_id']); if ($request->isMethod(sfRequest::POST)) { $this->processTropoPhoneForm($request, $this->form); } }