/** * get_question_groups * * @access public * @param int $EVT_ID * @param EE_Registration $registration * @return array */ public function get_question_groups_for_event($EVT_ID = 0, EE_Registration $registration) { if (!isset($EVT_ID) || !absint($EVT_ID)) { EE_Error::add_error(__('An error occurred. No Question Groups could be retrieved because an Event ID was not received.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__); return FALSE; } $where_params = array('Event_Question_Group.EVT_ID' => $EVT_ID, 'Event_Question_Group.EQG_primary' => $registration->count() == 1 ? TRUE : FALSE, 'QSG_deleted' => FALSE); return EE_Registry::instance()->load_model('Question_Group')->get_all(array($where_params, 'order_by' => array('QSG_order' => 'ASC'))); }
/** * @param EE_Registration $registration * @return EE_Form_Section_Proper */ public function registrations_reg_form(EE_Registration $registration) { EE_Registry::instance()->load_helper('Template'); static $attendee_nmbr = 1; // array of params to pass to parent constructor $form_args = array('html_id' => 'ee-registration-' . $registration->reg_url_link(), 'html_class' => 'ee-reg-form-attendee-dv', 'html_style' => $this->checkout->admin_request ? 'padding:0em 2em 1em; margin:3em 0 0; border:1px solid #ddd;' : '', 'subsections' => array(), 'layout_strategy' => new EE_Fieldset_Section_Layout(array('legend_class' => 'spco-attendee-lgnd smaller-text lt-grey-text', 'legend_text' => sprintf(__('Attendee %d', 'event_espresso'), $attendee_nmbr)))); // verify that registration has valid event if ($registration->event() instanceof EE_Event) { $query_params = array(array('Event.EVT_ID' => $registration->event()->ID(), 'Event_Question_Group.EQG_primary' => $registration->count() == 1 ? TRUE : FALSE), 'order_by' => array('QSG_order' => 'ASC')); $question_groups = $registration->event()->question_groups($query_params); if ($question_groups) { foreach ($question_groups as $question_group) { if ($question_group instanceof EE_Question_Group) { $form_args['subsections'][$question_group->identifier()] = $this->question_group_reg_form($registration, $question_group); // add hidden input $form_args['subsections']['additional_attendee_reg_info'] = $this->additional_attendee_reg_info_input($registration); } } // if we have question groups for additional attendees, then display the copy options $this->_print_copy_info = $attendee_nmbr > 1 ? TRUE : $this->_print_copy_info; } else { $form_args['subsections']['attendee_info_not_required_' . $registration->reg_url_link()] = new EE_Form_Section_HTML(EEH_Template::locate_template(SPCO_TEMPLATES_PATH . 'attendee_information' . DS . 'attendee_info_not_required.template.php', apply_filters('FHEE__EE_SPCO_Reg_Step_Attendee_Information__registrations_reg_form__attendee_info_not_required_template_args', array()), TRUE, TRUE)); // add hidden input $form_args['subsections']['additional_attendee_reg_info'] = $this->additional_attendee_reg_info_input($registration, FALSE); } } if ($registration->is_primary_registrant()) { // generate hidden input $form_args['subsections']['primary_registrant'] = $this->additional_primary_registrant_inputs($registration); } $attendee_nmbr++; return new EE_Form_Section_Proper($form_args); }
/** * sorts registrations by REG_count * * @access public * @param EE_Registration $reg_A * @param EE_Registration $reg_B * @return array() */ public static function sort_registrations_by_REG_count(EE_Registration $reg_A, EE_Registration $reg_B) { // this shouldn't ever happen within the same TXN, but oh well if ($reg_A->count() == $reg_B->count()) { return 0; } return $reg_A->count() > $reg_B->count() ? 1 : -1; }
/** * column_TXN_paid */ function column_TXN_paid(EE_Registration $item) { if ($item->count() == 1) { if ($item->transaction()->paid() >= $item->transaction()->total()) { return '<span class="reg-pad-rght"><div class="dashicons dashicons-yes green-icon"></div></span>'; } else { $view_txn_lnk_url = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'view_transaction', 'TXN_ID' => $item->transaction_ID()), TXN_ADMIN_URL); return EE_Registry::instance()->CAP->current_user_can('ee_read_transaction', 'espresso_transactions_view_transaction') ? ' <span class="reg-pad-rght"> <a class="status-' . $item->transaction()->status_ID() . '" href="' . $view_txn_lnk_url . '" title="' . esc_attr__('View Transaction', 'event_espresso') . '"> ' . $item->transaction()->pretty_paid() . ' </a> <span>' : '<span class="reg-pad-rght">' . $item->transaction()->pretty_paid() . '</span>'; } } else { return '<span class="reg-pad-rght"></span>'; } }
/** * column_TXN_paid */ function column_TXN_paid(EE_Registration $item) { if ($item->count() == 1) { $transaction = $item->transaction() ? $item->transaction() : EE_Transaction::new_instance(); if ($transaction->paid() >= $transaction->total()) { return '<span class="reg-pad-rght"><div class="dashicons dashicons-yes green-icon"></div></span>'; } else { $view_txn_lnk_url = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'view_transaction', 'TXN_ID' => $item->transaction_ID()), TXN_ADMIN_URL); return '<span class="reg-pad-rght"><a class="status-' . $transaction->status_ID() . '" href="' . $view_txn_lnk_url . '" title="' . __('View Transaction', 'event_espresso') . '">' . $item->transaction()->pretty_paid() . '</a><span>'; } } return ' '; }
/** * sort_registrations_by_reg_count_callback * * @access protected * @param \EE_Registration $registration_A * @param \EE_Registration $registration_B * @return int */ protected static function sort_registrations_by_reg_count_callback(EE_Registration $registration_A, EE_Registration $registration_B) { // send any registrations that don't already have the count set to the end of the array if (!$registration_A->count()) { return 1; } if ($registration_A->count() == $registration_B->count()) { return 0; } return $registration_A->count() > $registration_B->count() ? 1 : -1; }