本文整理汇总了PHP中EE_Transaction::update_cache_after_object_save方法的典型用法代码示例。如果您正苦于以下问题:PHP EE_Transaction::update_cache_after_object_save方法的具体用法?PHP EE_Transaction::update_cache_after_object_save怎么用?PHP EE_Transaction::update_cache_after_object_save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EE_Transaction
的用法示例。
在下文中一共展示了EE_Transaction::update_cache_after_object_save方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _save_registration
/**
* _save_registration_attendee
*
* @param EE_Registration $registration
* @param bool $show_errors
* @return void
*/
private function _save_registration($registration, $show_errors = TRUE)
{
// verify object
if ($registration instanceof EE_Registration) {
// should this registration be processed during this visit ?
if ($this->visit_allows_processing_of_this_registration($registration)) {
//set TXN ID
if (!$registration->transaction_ID()) {
$registration->set_transaction_id($this->transaction->ID());
}
// verify and save the attendee
$this->_save_registration_attendee($registration, $show_errors);
// save answers to reg form questions
$this->_save_registration_answers($registration, $show_errors);
// save changes
$registration->save();
// update txn cache
if (!$this->transaction->update_cache_after_object_save('Registration', $registration)) {
if ($show_errors) {
EE_Error::add_error(__('The newly saved Registration object could not be cached on the Transaction.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
}
}
}
} else {
if ($show_errors) {
EE_Error::add_error(__('An invalid Registration object was discovered when attempting to save your registration information.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
}
}
}
示例2: _save_all_registration_information
/**
* _save_all_registration_information
* simply loops through the current transaction and saves all data for each registration
*
* @access private
* @return bool
*/
private function _save_all_registration_information()
{
// echo '<br/><h5 style="color:#2EA2CC;">'. __CLASS__ . '<span style="font-weight:normal;color:#0074A2"> -> </span>' . __FUNCTION__ . '() <br/><span style="font-size:9px;font-weight:normal;color:#666">' . __FILE__ . '</span> <b style="font-size:10px;color:#333"> ' . __LINE__ . ' </b></h5>';
// verify the transaction
if ($this->_transaction instanceof EE_Transaction) {
$this->_transaction->save();
// grab the saved registrations from the transaction
foreach ($this->_transaction->registrations(array(), TRUE) as $line_item_id => $registration) {
//
// printr( $registration, '$registration <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' );
// verify object
if ($registration instanceof EE_Registration) {
// if the event's default_registration_status is set to "Approved", then make sure it's set as such
if ($registration->event()->default_registration_status() == EEM_Registration::status_id_approved) {
$registration->set_status(EEM_Registration::status_id_approved);
}
// if this is a revisit OR first visit and event is NOT sold out
if ($this->_revisit || !$this->_revisit && !($registration->event()->is_sold_out() || $registration->event()->is_sold_out(TRUE))) {
// EITHER a) first time thru SPCO so process ALL registrations
// OR b) primary registrant is editing info, so process ALL registrations
// OR b) another registrant is editing info, so ONLY process their registration
if (!$this->_revisit || $this->_primary_revisit || $this->_revisit && $this->_reg_url_link == $registration->reg_url_link()) {
//set TXN ID
if (!$registration->transaction_ID()) {
$registration->set_transaction_id($this->_transaction->ID());
}
// verify and save the attendee
$attendee = $registration->attendee();
if ($attendee) {
if ($attendee instanceof EE_Attendee) {
// printr( $attendee, '$attendee <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' );
$attendee->save();
// echo '<h5 style="color:#2EA2CC;">$attendee->ID() : <span style="color:#E76700">' . $attendee->ID() . '</span><br/><span style="font-size:9px;font-weight:normal;color:#666">' . __FILE__ . '</span> <b style="font-size:10px;color:#333"> ' . __LINE__ . ' </b></h5>';
$registration->set_attendee_id($attendee->ID());
if (!$registration->update_cache_after_object_save('Attendee', $attendee)) {
EE_Error::add_error(__('The newly saved Attendee object could not be cached on the registration.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
} else {
EE_Error::add_error(__('An invalid Attendee object was discovered when attempting to save your registration information.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
} else {
EE_Error::add_error(__('No Attendee object was found when attempting to save your registration information.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
// save so that REG has ID
$registration->save();
// echo '<h5 style="color:#2EA2CC;">$registration->ID() : <span style="color:#E76700">' . $registration->ID() . '</span><br/><span style="font-size:9px;font-weight:normal;color:#666">' . __FILE__ . '</span> <b style="font-size:10px;color:#333"> ' . __LINE__ . ' </b></h5>';
// now save the answers
foreach ($registration->answers() as $cache_key => $answer) {
// echo '<h5 style="color:#2EA2CC;">$cache_key : <span style="color:#E76700">' . $cache_key . '</span><br/><span style="font-size:9px;font-weight:normal;color:#666">' . __FILE__ . '</span> <b style="font-size:10px;color:#333"> ' . __LINE__ . ' </b></h5>';
// echo '<h5 style="color:#2EA2CC;">$answer->question()->display_text() : <span style="color:#E76700">' . $answer->question()->display_text() . '</span><br/><span style="font-size:9px;font-weight:normal;color:#666">' . __FILE__ . '</span> <b style="font-size:10px;color:#333"> ' . __LINE__ . ' </b></h5>';
// echo '<h5 style="color:#2EA2CC;">$answer->value() : <span style="color:#E76700">' . $answer->value() . '</span><br/><span style="font-size:9px;font-weight:normal;color:#666">' . __FILE__ . '</span> <b style="font-size:10px;color:#333"> ' . __LINE__ . ' </b></h5>';
// verify object
if ($answer instanceof EE_Answer) {
// printr( $answer, '$answer <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' );
$answer->set_registration($registration->ID());
$answer->save();
// echo '<h5 style="color:#2EA2CC;">$answer->ID() : <span style="color:#E76700">' . $answer->ID() . '</span><br/><span style="font-size:9px;font-weight:normal;color:#666">' . __FILE__ . '</span> <b style="font-size:10px;color:#333"> ' . __LINE__ . ' </b></h5>';
if (!$registration->update_cache_after_object_save('Answer', $answer, $cache_key)) {
EE_Error::add_error(__('The newly saved Answer object could not be cached on the registration.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
} else {
EE_Error::add_error(__('An invalid Answer object was discovered when attempting to save your registration information.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
}
if (!$this->_transaction->update_cache_after_object_save('Registration', $registration, $line_item_id)) {
EE_Error::add_error(__('The newly saved Registration object could not be cached on the Transaction.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
}
} else {
EE_Error::add_error(apply_filters('FHEE__Single_Page_Checkout___save_all_registration_information__sold_out_events_msg', __('It appears that the event you are attempting to register for has just sold out. If you have already made a partial payment towards this event, please contact the event administrator for a refund.', 'event_espresso')), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
} else {
EE_Error::add_error(__('An invalid Registration object was discovered when attempting to save your registration information.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
}
} else {
EE_Error::add_error(__('A valid Transaction was not found when attempting to save your registration information.', 'event_espresso'), __FILE__, __FUNCTION__, __LINE__);
return FALSE;
}
return TRUE;
}