コード例 #1
0
ファイル: membership_subscriber.php プロジェクト: JozefAB/qk
 public function sendNotification($pks)
 {
     require_once JPATH_ADMINISTRATOR . '/components/com_rsmembership/helpers/rsmembership.php';
     // Get custom fields
     $db = JFactory::getDBO();
     $table = $this->getTable();
     $query = $db->getQuery(true);
     $pks = (array) $pks;
     foreach ($pks as $i => $pk) {
         if ($table->load($pk)) {
             // Load specific membership
             $query->select('*')->from($db->qn('#__rsmembership_memberships'))->where('(' . $db->qn('user_email_from_addr') . ' != ' . $db->q('') . ' OR ' . $db->qn('user_email_use_global') . ' = ' . $db->q(1) . ')')->where($db->qn('published') . ' = ' . $db->q(1))->where($db->qn('id') . ' = ' . $db->q($table->membership_id));
             $db->setQuery($query);
             $memberships = $db->loadObjectList();
             $sent = RSMembership::sendNotifications($memberships, array($pk), true);
             $query->clear();
             return $sent;
         }
     }
     $this->cleanCache();
     return true;
 }
コード例 #2
0
ファイル: rsmembership.php プロジェクト: JozefAB/qk
 protected function sendExpirationEmails()
 {
     $db = JFactory::getDbo();
     $query = $db->getQuery(true);
     $date = JFactory::getDate();
     $config = RSMembershipConfig::getInstance();
     // Check the last time this has been run
     $now = $date->toUnix();
     if ($now < $config->get('expire_last_run') + $config->get('expire_check_in') * 60) {
         return;
     }
     // update config value for last time the expiration emails were sent
     $config->set('expire_last_run', $now);
     // Get expiration intervals and memberships
     // Performance check - if no emails can be sent, no need to grab the membership
     $query->select('*')->from($db->qn('#__rsmembership_memberships'))->where('(' . $db->qn('user_email_from_addr') . ' != ' . $db->q('') . ' OR ' . $db->qn('user_email_use_global') . ' = ' . $db->q(1) . ')')->where($db->qn('published') . ' = ' . $db->q(1));
     $db->setQuery($query);
     $memberships = $db->loadObjectList();
     if ($memberships) {
         RSMembership::sendNotifications($memberships, null, false);
     }
 }