/** * Build where conditions * @return array */ public function buildWhereConditions() { $form = \CPFCMembers\ReportingFilter::getInstance(); $whereConditions = array(); $whereConditionsFriendly = array(); switch (true) { case Input::request('cpfc_filter_member_submit'): case Input::request('cpfc_filter_member_export'): if (Input::request('registered_after')) { $whereConditions['registered_date >='] = date('Y-m-d H:i:s', strtotime(Input::request('registered_after'))); $whereConditionsFriendly[] = 'Members were registered at or after ' . date('H:i \o\n jS F Y', strtotime(Input::request('registered_after'))); } if (Input::request('registered_before')) { $whereConditions['registered_date <'] = date('Y-m-d H:i:s', strtotime(Input::request('registered_before'))); $whereConditionsFriendly[] = 'Members were registered before ' . date('H:i \o\n jS F Y', strtotime(Input::request('registered_before'))); } if (Input::request('country')) { $whereConditions['country ='] = Input::request('country'); $countries = $form->getCountryOptions(); $whereConditionsFriendly[] = 'Members\' country is "' . $countries[Input::request('country')] . '"'; } if (Input::request('membership_level')) { $whereConditions['membership_level ='] = Input::request('membership_level'); $membershipLevels = $form->getMembershipLevelOptions(); $whereConditionsFriendly[] = 'Members\' membership level is "' . $membershipLevels[Input::request('membership_level')] . '"'; } break; case Input::request('cpfc_filter_see_tickets_account_holder_submit'): case Input::request('cpfc_filter_see_tickets_account_holder_export'): if (Input::request('see_tickets_account_number')) { $whereConditions['see_tickets_account_number ='] = Input::request('see_tickets_account_number'); $whereConditionsFriendly[] = 'Member\'s SEE Tickets Account Number is "' . Input::request('see_tickets_account_number') .'"'; } break; case Input::post('cpfc_logged_in_filter_submit'): case Input::post('cpfc_logged_in_filter_export'): if (Input::request('logged_in_after')) { $whereConditions['login_date >='] = date('Y-m-d H:i:s', strtotime(Input::request('logged_in_after'))); $whereConditionsFriendly[] = 'Members logged-in at or after ' . date('H:i \o\n jS F Y', strtotime(Input::request('logged_in_after'))); } if (Input::request('logged_in_before')) { $whereConditions['login_date <'] = date('Y-m-d H:i:s', strtotime(Input::request('logged_in_before'))); $whereConditionsFriendly[] = 'Members logged-in before ' . date('H:i \o\n jS F Y', strtotime(Input::request('logged_in_before'))); } break; } return array($whereConditions, $whereConditionsFriendly); }
/** * Data Capture */ protected function _dataCapture() { $details = Input::request('details', false); $templateData = \CPFCMembers\TemplateData::getInstance(); $User = \CPFCMembers\Auth::getUser(); $template = ''; $status = ''; // Can't access if not logged in as Member if (\CPFCMembers\Auth::isLoggedIn()) { switch($details) { case 'address': $form = \CPFCMembers\DataCaptureAddressForm::getInstance(); $template = 'partials/data_capture/address_form'; break; case 'contact': $form = \CPFCMembers\DataCaptureContactForm::getInstance(); $template = 'partials/data_capture/contact_form'; break; case 'preferences': $form = \CPFCMembers\DataCapturePreferencesForm::getInstance(); $template = 'partials/data_capture/preferences_form'; break; case 'see_tickets': $form = \CPFCMembers\DataCaptureSeeTicketsForm::getInstance(); $template = 'partials/data_capture/see_tickets_form'; break; default: $status = 'INVALID_DETAIL'; $template = 'partials/data_capture/error'; $templateData->set('error_type', 'invalid_form_chosen'); } $notification = \CPFCMembers\MemberNotificationModel::loadByUserIdAndDetail($User->getId(), $details); if ($notification->getStatus() == 'complete') { $status = 'ALREADY_COMPLETED'; $template = 'partials/data_capture/error'; $templateData->set('error_type', 'already_completed'); } } else { $status = 'NOT_LOGGED_IN'; $template = 'partials/data_capture/error'; $templateData->set('error_type', 'not_logged_in'); } if ($status == '') { if (Input::isPost()) { $form->setValues(Input::post()); $form->validate(); if ($form->isValid()) { switch($details) { case 'address': $User->setHouseNameNumber(Input::post('house_name_number')); $User->setStreet(Input::post('street')); $User->setTown(Input::post('town')); $User->setCounty(Input::post('county')); $User->setPostcode(Input::post('postcode')); $User->setCountry(Input::post('country')); break; case 'contact': $User->setMobilePhone(Input::post('mobile_phone')); $User->setDaytimePhone(Input::post('daytime_phone')); break; case 'preferences': $User->setPreferenceRegularNewsletter(Input::post('preference_regular_newsletter')); $User->setPreferenceBreakingNews(Input::post('preference_breaking_news')); $User->setPreferencePartners(Input::post('preference_partners')); $User->setPreferenceSMS(Input::post('preference_sms')); break; case 'see_tickets': $User->setSeeTicketsAccountNumber(Input::post('see_tickets_account_number')); break; } if ($User->save(true)) { $status = 'SUCCESS'; $notification->setUserId($User->getId()) ->setDetail($details) ->setStatus('complete'); $notification->save(true); } else { $status = 'NOT_SAVED'; $template = 'partials/data_capture/error'; } } } else { $form->setValues($User->toArray(false, false)); } } $templateData->set('template', $template); $templateData->set('status', $status); $templateData->set('message', $message); }