public function actionIndex()
 {
     $model = new Invitations();
     if (isset($_POST['Invitations'])) {
         $model->attributes = $_POST['Invitations'];
         $model->guid = trim($model->guid);
         $isAvailable = Invitations::model()->checkAvaliable($model->guid);
         if (!$isAvailable) {
             Yii::app()->user->setFlash('error', Yii::t('AuthModule.main', 'Invitation is not available'));
             $this->renderIndex($model);
             return;
         }
         //invitation ok, redirect to registration
         Yii::app()->user->setFlash('info', Yii::t('AuthModule.main', 'Invitation is available'));
         Yii::app()->user->setState('invitationGuid', $model->guid);
         $this->redirect(array('user/registration'));
     } else {
         //new form
         $model = new Invitations();
         $this->renderIndex($model);
         return;
     }
 }
 public function actionRegistration()
 {
     $model = new Users();
     $useInvitations = AuthCommon::getParam('useInvitations');
     if ($useInvitations) {
         if (Yii::app()->user->hasState('invitationGuid')) {
             $invitationGuid = Yii::app()->user->getState('invitationGuid');
         } else {
             $invitationGuid = null;
         }
         if (empty($invitationGuid)) {
             //invitation is empty so we neet to show invitation enter page
             $this->redirect(array('invitations/index'));
         }
         $model->invitationGuid = $invitationGuid;
     }
     if (isset($_POST['Users'])) {
         //this is a second call this action but with form data,
         //so we need to update and save User model
         $model->attributes = $_POST['Users'];
         if ($model->termsSigned > 0) {
             $model->terms_version = 1;
         }
         if (!$model->validate()) {
             //have not pass validators
             Yii::app()->user->setFlash('error', Yii::t('AuthModule.main', 'Incorrect form data'));
             $this->render('change', array('model' => $model));
             return;
         }
         $model->created_manually = true;
         if (!$model->saveModel()) {
             $this->render('change', array('model' => $model));
             return;
         }
         if ($useInvitations) {
             //mark invintation used
             if (!Invitations::setUsed($model->invitationGuid, $model->username)) {
                 Yii::app()->user->setFlash('error', Yii::t('AuthModule.main', 'Invitation occupy error'));
                 $this->redirect(array('invitations/index'));
             }
             Yii::app()->user->setState('invitationGuid', null);
         }
         $email = $model->email;
         $user_id = $model->id;
         Yii::app()->user->setState('formUsername', $model->username);
         $guid = AuthCommon::getGUID();
         $validations = new Validations();
         $validations->guid = $guid;
         $validations->user_id = $user_id;
         $validations->email = $email;
         $validations->type = self::VALIDATOR_ACTIVATE;
         $date = new DateTime();
         $date->modify("+24 hours");
         $exp_time = $date->format(AuthCommon::getParam('dateFormat'));
         $validations->exp_datetime = $exp_time;
         $validations->comments = 'Activate new user';
         if (!$validations->validate() || !$validations->save()) {
             Yii::app()->user->setFlash('error', Yii::t('AuthModule.main', 'Form validation error'));
             $this->redirect(array('user/registration'));
         }
         if (AuthCommon::sendActivationtEmail($model->email, $guid, $model->username)) {
             Yii::app()->user->setFlash('success', sprintf(Yii::t('AuthModule.main', 'Activation email has been sent to address'), $email));
             $this->redirect(array('user/activation'));
         } else {
             Yii::app()->user->setFlash('error', sprintf(Yii::t('AuthModule.main', 'Error sending email'), $email));
             Helpers::showError('Ошибка отправки письма', 'Регистрация пользователя', true);
         }
     } else {
         $this->render('change', array('model' => $model));
     }
 }
Ejemplo n.º 3
0
 /**
  * Add an invitation for the given invitee, from the given inviter.
  * @param string $feature The feature to invite to.
  * @param object $invitee The user to be invited.
  * @param object $inviter The inviting user, or null for $wgUser.
  * @return integer One of the INVITE_RESULT constants.
  */
 public static function inviteUser($feature, $invitee, $inviter = null)
 {
     global $wgUser, $wgInvitationTypes;
     if ($inviter === null) {
         $inviter = $wgUser;
     }
     if (($res = Invitations::checkInviteOperation($feature, $invitee, $inviter)) != INVITE_RESULT_OK) {
         return $res;
     }
     // We /should/ be OK to go.
     $dbw = wfGetDB(DB_MASTER);
     $dbw->update('invite_count', array('ic_count=ic_count-1'), array('ic_user' => $inviter->getId(), 'ic_type' => $feature), __METHOD__);
     $dbw->insert('invitation', array('inv_invitee' => $invitee->getId(), 'inv_inviter' => $inviter->getId(), 'inv_type' => $feature), __METHOD__);
     // Log it.
     $log = new LogPage('invite');
     $log->addEntry('invite', $invitee->getUserPage(), '', array($feature));
     Invitations::insertCountRow($feature, $invitee);
 }
Ejemplo n.º 4
0
 function buildFeatureView($feature, $error = false, $success = false)
 {
     global $wgUser, $wgOut, $wgInvitationTypes, $wgLang;
     $friendlyname = wfMsg("invitation-type-{$feature}");
     $wgOut->setPageTitle(wfMsg('invitations-feature-pagetitle', $friendlyname));
     $wgOut->setRobotPolicy("noindex,nofollow");
     $wgOut->setArticleRelated(false);
     $wgOut->enableClientCache(false);
     if (Invitations::hasInvite($feature)) {
         $wgOut->addWikiMsg('invitations-feature-access', $friendlyname);
         $numleft = Invitations::getRemainingInvites($feature);
         $numLeftFmt = $wgLang->formatNum($numleft);
         if ($numleft > 0) {
             $allocation = $wgLang->formatNum($wgInvitationTypes[$feature]['reserve']);
             $wgOut->addWikiMsg('invitations-feature-numleft', $numleftFmt, $allocation);
         } else {
             if ($numleft == -1) {
                 # Do nothing.
             } else {
                 if (!Invitations::checkDelay($feature)) {
                     $wgOut->addWikiMsg('invitations-feature-noneyet');
                 } else {
                     $wgOut->addWikiMsg('invitations-feature-noneleft');
                 }
             }
         }
         // Successes and errors
         if ($error) {
             $wgOut->wrapWikiMsg('<div class="error">$1</div>', $error);
         } else {
             if ($success) {
                 $wgOut->wrapWikiMsg('<big>$1</big>', $success);
             }
         }
         // Invitation form
         if ($numleft != 0) {
             $wgOut->addHTML($this->buildInvitationForm($feature, $error));
         }
     } else {
         $wgOut->addWikiMsg('invitations-feature-notallowed', $friendlyname);
     }
 }
 protected final function process_request()
 {
     //	Process
     //
     if ($this->request_noun === REQUEST_NOUN_USERS) {
         if ($this->request_verb === 'show') {
             //	Show
             //
             if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_GET) {
                 Users::show($this->inputter, $this->outputter);
             } else {
                 $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
             }
         } else {
             if ($this->request_verb === 'search' && $this->http_method === HTTP_METHOD_GET) {
                 //	Search
                 //
                 Users::search($this->inputter, $this->outputter);
             } else {
                 if ($this->request_verb === 'lookup' && $this->http_method === HTTP_METHOD_GET) {
                     //	Lookup
                     //
                     Users::lookup($this->inputter, $this->outputter);
                 } else {
                     $this->invalid_process_verb();
                 }
             }
         }
     } else {
         if ($this->request_noun === REQUEST_NOUN_FRIENDS) {
             if ($this->request_verb === 'list' && $this->http_method === HTTP_METHOD_GET) {
                 //	List
                 //
                 Friends::_list($this->inputter, $this->outputter);
             } else {
                 if ($this->request_verb === 'ids' && $this->http_method === HTTP_METHOD_GET) {
                     //	User IDs
                     //
                     Friends::ids($this->inputter, $this->outputter);
                 } else {
                     $this->invalid_process_verb();
                 }
             }
         } else {
             if ($this->request_noun === REQUEST_NOUN_FOLLOWERS) {
                 if ($this->request_verb === 'list' && $this->http_method === HTTP_METHOD_GET) {
                     //	List
                     //
                     Followers::_list($this->inputter, $this->outputter);
                 } else {
                     if ($this->request_verb === 'ids' && $this->http_method === HTTP_METHOD_GET) {
                         //	User IDs
                         //
                         Followers::ids($this->inputter, $this->outputter);
                     } else {
                         $this->invalid_process_verb();
                     }
                 }
             } else {
                 if ($this->request_noun === REQUEST_NOUN_IN_PRODUCT_PROMOTIONS) {
                     if ($this->request_verb === 'show') {
                         //	Show
                         //
                         if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_GET) {
                             //	In Product Promotion ID
                             //
                             InProductPromotions::show($this->inputter, $this->outputter);
                         } else {
                             $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                         }
                     } else {
                         if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                             //	Create
                             //
                             InProductPromotions::create($this->inputter, $this->outputter);
                         } else {
                             if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                 //	Update
                                 //
                                 InProductPromotions::update($this->inputter, $this->outputter);
                             } else {
                                 if ($this->request_verb === 'destroy') {
                                     //	Destroy
                                     //
                                     if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_DELETE) {
                                         //	In Product Promotion ID
                                         //
                                         InProductPromotions::destroy($this->inputter, $this->outputter);
                                     } else {
                                         $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                     }
                                 } else {
                                     $this->invalid_process_verb();
                                 }
                             }
                         }
                     }
                 } else {
                     if ($this->request_noun === REQUEST_NOUN_INVITATIONS) {
                         if ($this->request_verb === 'show') {
                             //	Show
                             //
                             if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_GET) {
                                 Invitations::show($this->inputter, $this->outputter);
                             } else {
                                 $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                             }
                         } else {
                             if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                 //	Create
                                 //
                                 Invitations::create($this->inputter, $this->outputter);
                             } else {
                                 if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                     //	Update
                                     //
                                     Invitations::update($this->inputter, $this->outputter);
                                 } else {
                                     if ($this->request_verb === 'destroy') {
                                         //	Destroy
                                         //
                                         if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_DELETE) {
                                             //	Invitation ID
                                             //
                                             Invitations::destroy($this->inputter, $this->outputter);
                                         } else {
                                             $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                         }
                                     } else {
                                         if ($this->request_verb === 'incoming') {
                                             //	Incoming
                                             //
                                             if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'list' && $this->http_method === HTTP_METHOD_GET) {
                                                 //	List
                                                 //
                                                 Invitations::incoming_list($this->inputter, $this->outputter);
                                             } else {
                                                 $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                             }
                                         } else {
                                             if ($this->request_verb === 'outgoing') {
                                                 //	Outgoing
                                                 //
                                                 if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'list' && $this->http_method === HTTP_METHOD_GET) {
                                                     //	List
                                                     //
                                                     Invitations::outgoing_list($this->inputter, $this->outputter);
                                                 } else {
                                                     $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                 }
                                             } else {
                                                 $this->invalid_process_verb();
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     } else {
                         if ($this->request_noun === REQUEST_NOUN_EVENT_OCCURRENCES) {
                             //	Event Occurrences
                             //
                             if ($this->request_verb === 'show') {
                                 //	Show
                                 //
                                 if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_GET) {
                                     EventOccurrences::show($this->inputter, $this->outputter);
                                 } else {
                                     $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                 }
                             } else {
                                 if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                     //	Create
                                     //
                                     EventOccurrences::create($this->inputter, $this->outputter);
                                 } else {
                                     if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                         //	Update
                                         //
                                         EventOccurrences::update($this->inputter, $this->outputter);
                                     } else {
                                         if ($this->request_verb === 'destroy') {
                                             //	Destroy
                                             //
                                             if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_DELETE) {
                                                 //	Event Occurrence ID
                                                 //
                                                 EventOccurrences::destroy($this->inputter, $this->outputter);
                                             } else {
                                                 $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                             }
                                         } else {
                                             if ($this->request_verb === 'list') {
                                                 //	List
                                                 //
                                                 if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'event' && $this->http_method === HTTP_METHOD_GET) {
                                                     //	Created
                                                     //
                                                     EventOccurrences::list_event($this->inputter, $this->outputter);
                                                 } else {
                                                     $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                 }
                                             } else {
                                                 $this->invalid_process_verb();
                                             }
                                         }
                                     }
                                 }
                             }
                         } else {
                             if ($this->request_noun === REQUEST_NOUN_PHOTOS) {
                                 if ($this->request_verb === 'show') {
                                     //	Show
                                     //
                                     if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_GET) {
                                         //	Photo ID
                                         //
                                         Photos::show($this->inputter, $this->outputter);
                                     } else {
                                         $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                     }
                                 } else {
                                     if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                         //	Create
                                         //
                                         Photos::create($this->inputter, $this->outputter);
                                     } else {
                                         if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                             //	Update
                                             //
                                             Photos::update($this->inputter, $this->outputter);
                                         } else {
                                             if ($this->request_verb === 'destroy') {
                                                 //	Destroy
                                                 //
                                                 if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_DELETE) {
                                                     //	Photo ID
                                                     //
                                                     Photos::destroy($this->inputter, $this->outputter);
                                                 } else {
                                                     $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                 }
                                             } else {
                                                 if ($this->request_verb === 'list' && $this->http_method === HTTP_METHOD_GET) {
                                                     //	List
                                                     //
                                                     Photos::_list($this->inputter, $this->outputter);
                                                 } else {
                                                     $this->invalid_process_verb();
                                                 }
                                             }
                                         }
                                     }
                                 }
                             } else {
                                 if ($this->request_noun === REQUEST_NOUN_ALBUMS) {
                                     if ($this->request_verb === 'show') {
                                         //	Show
                                         //
                                         if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_GET) {
                                             //	Album ID
                                             //
                                             Albums::show($this->inputter, $this->outputter);
                                         } else {
                                             $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                         }
                                     } else {
                                         if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                             //	Create
                                             //
                                             Albums::create($this->inputter, $this->outputter);
                                         } else {
                                             if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                                 //	Update
                                                 //
                                                 Albums::update($this->inputter, $this->outputter);
                                             } else {
                                                 if ($this->request_verb === 'destroy') {
                                                     //	Destroy
                                                     //
                                                     if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_DELETE) {
                                                         //	Album ID
                                                         //
                                                         Albums::destroy($this->inputter, $this->outputter);
                                                     } else {
                                                         $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                     }
                                                 } else {
                                                     if ($this->request_verb === 'list' && $this->http_method === HTTP_METHOD_GET) {
                                                         //	List
                                                         //
                                                         Albums::_list($this->inputter, $this->outputter);
                                                     } else {
                                                         $this->invalid_process_verb();
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 } else {
                                     if ($this->request_noun === REQUEST_NOUN_SEARCH) {
                                         if ($this->http_method === HTTP_METHOD_GET) {
                                             if ($this->request_verb === 'list') {
                                                 //	Search
                                                 //
                                                 Search::search_list($this->inputter, $this->outputter);
                                             }
                                         }
                                     } else {
                                         if ($this->request_noun === REQUEST_NOUN_FOLLOWINGS) {
                                             if ($this->request_verb === 'list' && $this->http_method === HTTP_METHOD_GET) {
                                                 //	List
                                                 //
                                                 Followings::_list($this->inputter, $this->outputter);
                                             } else {
                                                 if ($this->request_verb === 'ids' && $this->http_method === HTTP_METHOD_GET) {
                                                     //	User IDs
                                                     //
                                                     Followings::ids($this->inputter, $this->outputter);
                                                 } else {
                                                     if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                                         //	Create
                                                         //
                                                         Followings::create($this->inputter, $this->outputter);
                                                     } else {
                                                         if ($this->request_verb === 'destroy' && $this->http_method === HTTP_METHOD_POST) {
                                                             //	User IDs
                                                             //
                                                             Followings::destroy($this->inputter, $this->outputter);
                                                         } else {
                                                             $this->invalid_process_verb();
                                                         }
                                                     }
                                                 }
                                             }
                                         } else {
                                             if ($this->request_noun === REQUEST_NOUN_ACCOUNT) {
                                                 if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                                     Account::create($this->inputter, $this->outputter);
                                                 } else {
                                                     if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                                         Account::update($this->inputter, $this->outputter);
                                                     } else {
                                                         if ($this->request_verb === 'destroy' && $this->http_method === HTTP_METHOD_DELETE) {
                                                             //	Destroy
                                                             //
                                                             if (isset($this->inputter->additional_uri_arguments[0]) && count($this->inputter->additional_uri_arguments) === 1) {
                                                                 Account::destroy($this->inputter, $this->outputter);
                                                             } else {
                                                                 // Throw error, identification is required
                                                                 //
                                                                 $error = Error::withDomain(PRIVATE_EVENTS_REST_CONTROLLER_ERROR_DOMAIN, ERROR_CODE_VALIDATION_PROPERTY_NOT_SET, 'A user identification is required.');
                                                                 $this->outputter->print_error($error);
                                                             }
                                                         } else {
                                                             if ($this->request_verb === 'authenticate' && $this->http_method === HTTP_METHOD_POST) {
                                                                 Account::authenticate($this->inputter, $this->outputter);
                                                             } else {
                                                                 if ($this->request_verb === 'unauthenticate' && $this->http_method === HTTP_METHOD_POST) {
                                                                     Account::unauthenticate($this->inputter, $this->outputter);
                                                                 } else {
                                                                     $this->invalid_process_verb();
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             } else {
                                                 if ($this->request_noun === REQUEST_NOUN_EVENTS) {
                                                     if ($this->request_verb === 'show') {
                                                         //	Show
                                                         //
                                                         if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_POST) {
                                                             Events::show($this->inputter, $this->outputter);
                                                         } else {
                                                             $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                         }
                                                     } else {
                                                         if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                                             //	Create
                                                             //
                                                             Events::create($this->inputter, $this->outputter);
                                                         } else {
                                                             if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                                                 //	Update
                                                                 //
                                                                 Events::update($this->inputter, $this->outputter);
                                                             } else {
                                                                 if ($this->request_verb === 'destroy') {
                                                                     //	Destroy
                                                                     //
                                                                     if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_DELETE) {
                                                                         //	Event ID
                                                                         //
                                                                         Events::destroy($this->inputter, $this->outputter);
                                                                     } else {
                                                                         $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                                     }
                                                                 } else {
                                                                     if ($this->request_verb === 'attend' && $this->http_method === HTTP_METHOD_POST) {
                                                                         //  Attend
                                                                         //
                                                                         Events::attend($this->inputter, $this->outputter);
                                                                     } else {
                                                                         if ($this->request_verb === 'search' && $this->http_method === HTTP_METHOD_GET) {
                                                                             //	Search
                                                                             //
                                                                             Events::search($this->inputter, $this->outputter);
                                                                         } else {
                                                                             if ($this->request_verb === 'list') {
                                                                                 //	List
                                                                                 //
                                                                                 if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'event_type' && $this->http_method === HTTP_METHOD_GET) {
                                                                                     //	Event Type
                                                                                     //
                                                                                     Events::list_event_type($this->inputter, $this->outputter);
                                                                                 } else {
                                                                                     if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'created' && $this->http_method === HTTP_METHOD_GET) {
                                                                                         //	Created
                                                                                         //
                                                                                         Events::list_created($this->inputter, $this->outputter);
                                                                                     } else {
                                                                                         if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'invited' && $this->http_method === HTTP_METHOD_GET) {
                                                                                             //	Invited
                                                                                             //
                                                                                             Events::list_invited($this->inputter, $this->outputter);
                                                                                         } else {
                                                                                             if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'nearby' && $this->http_method === HTTP_METHOD_GET) {
                                                                                                 //	Nearby
                                                                                                 //
                                                                                                 Events::list_nearby($this->inputter, $this->outputter);
                                                                                             } else {
                                                                                                 if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'popular' && $this->http_method === HTTP_METHOD_GET) {
                                                                                                     //	Popular
                                                                                                     //
                                                                                                     Events::list_popular($this->inputter, $this->outputter);
                                                                                                 } else {
                                                                                                     $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                                                                 }
                                                                                             }
                                                                                         }
                                                                                     }
                                                                                 }
                                                                             } else {
                                                                                 $this->invalid_process_verb();
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 } else {
                                                     if ($this->request_noun === REQUEST_NOUN_LOCATIONS) {
                                                         if ($this->request_verb === 'show') {
                                                             //	Show
                                                             //
                                                             if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_GET) {
                                                                 //	Location ID
                                                                 //
                                                                 Locations::show($this->inputter, $this->outputter);
                                                             } else {
                                                                 $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                             }
                                                         } else {
                                                             if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                                                 //	Create
                                                                 //
                                                                 Locations::create($this->inputter, $this->outputter);
                                                             } else {
                                                                 if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                                                     //	Update
                                                                     //
                                                                     Locations::update($this->inputter, $this->outputter);
                                                                 } else {
                                                                     if ($this->request_verb === 'destroy') {
                                                                         //	Destroy
                                                                         //
                                                                         if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_DELETE) {
                                                                             //	Location ID
                                                                             //
                                                                             Locations::destroy($this->inputter, $this->outputter);
                                                                         } else {
                                                                             $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                                         }
                                                                     } else {
                                                                         $this->invalid_process_verb();
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     } else {
                                                         if ($this->request_noun === REQUEST_NOUN_TICKETS) {
                                                             if ($this->request_verb === 'show') {
                                                                 //	Show
                                                                 //
                                                                 if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_GET) {
                                                                     //	Ticket ID
                                                                     //
                                                                     Tickets::show($this->inputter, $this->outputter);
                                                                 } else {
                                                                     $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                                 }
                                                             } else {
                                                                 if ($this->request_verb === 'create' && $this->http_method === HTTP_METHOD_POST) {
                                                                     //	Create
                                                                     //
                                                                     Tickets::create($this->inputter, $this->outputter);
                                                                 } else {
                                                                     if ($this->request_verb === 'update' && $this->http_method === HTTP_METHOD_POST) {
                                                                         //	Update
                                                                         //
                                                                         Tickets::update($this->inputter, $this->outputter);
                                                                     } else {
                                                                         if ($this->request_verb === 'destroy') {
                                                                             //	Destroy
                                                                             //
                                                                             if (count($this->inputter->additional_uri_arguments) === 1 && isset($this->inputter->additional_uri_arguments[0]) && $this->http_method === HTTP_METHOD_DELETE) {
                                                                                 //	Ticket ID
                                                                                 //
                                                                                 Tickets::destroy($this->inputter, $this->outputter);
                                                                             } else {
                                                                                 $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                                             }
                                                                         } else {
                                                                             if ($this->request_verb === 'outgoing') {
                                                                                 //	Outgoing
                                                                                 //
                                                                                 if (count($this->inputter->additional_uri_arguments) === 1 && $this->inputter->additional_uri_arguments[0] === 'list' && $this->http_method === HTTP_METHOD_GET) {
                                                                                     //	List
                                                                                     //
                                                                                     Tickets::outgoing_list($this->inputter, $this->outputter);
                                                                                 } else {
                                                                                     $this->invalid_process_additional_argument(count($this->inputter->additional_uri_arguments) - 1);
                                                                                 }
                                                                             } else {
                                                                                 $this->invalid_process_verb();
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         } else {
                                                             $this->invalid_process_noun();
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }