示例#1
0
 public function getEndDate($membership_id, $membership_start)
 {
     $format = 'Y-m-d H:i:s';
     $membership = JTable::getInstance('Membership', 'RSMembershipTable');
     $offset = JFactory::getApplication()->getCfg('offset');
     if ($membership->load($membership_id)) {
         // Trial settings
         if ($membership->use_trial_period) {
             $period = $membership->trial_period;
             $period_type = $membership->trial_period_type;
         } else {
             $period = $membership->period;
             $period_type = $membership->period_type;
         }
         // Fixed expiry
         if ($membership->fixed_expiry) {
             $date = RSMembershipHelper::calculateFixedDate($membership->fixed_day, $membership->fixed_month, $membership->fixed_year, JFactory::getDate($membership_start));
             $membership_end = JHtml::_('date', $date->toSql(), $format);
         } elseif ($period) {
             // Expire in a period of time
             $date = JFactory::getDate($membership_start, $offset);
             $date->modify(RSMembership::getDateString($period, $period_type));
             $membership_end = JHtml::_('date', $date->toSql(), $format);
         } else {
             // No expiry
             $membership_end = JFactory::getDbo()->getNullDate();
         }
         return $membership_end;
     }
 }