public function exportMembers() { $db = JFactory::getDBO(); foreach ($this->filter as $k => $v) { if (empty($v)) { $this->filter[$k] = array(); } } // Assemble Database call if (!in_array('notconfig', $this->filter['status'])) { $where = array(); if (!empty($this->filter['planid'])) { $where[] = '`plan` IN (' . implode(',', $this->filter['planid']) . ')'; } $query = 'SELECT a.id, a.userid' . ' FROM #__acctexp_subscr AS a' . ' INNER JOIN #__users AS b ON a.userid = b.id'; if (!empty($where)) { $query .= ' WHERE ( ' . implode(' OR ', $where) . ' )'; } if (!empty($this->filter['status'])) { $stati = array(); foreach ($this->filter['status'] as $status) { $stati[] = 'LOWER( `status` ) = \'' . strtolower($status) . '\''; } if (!empty($where)) { $query .= ' AND (' . implode(' OR ', $stati) . ')'; } else { $query .= ' WHERE (' . implode(' OR ', $stati) . ')'; } } if (!empty($this->filter['orderby'])) { $query .= ' ORDER BY ' . $this->filter['orderby'] . ''; } } else { $query = 'SELECT DISTINCT b.id AS `userid`' . ' FROM #__users as b' . ' WHERE b.id NOT IN (' . ' SELECT a.userid' . ' FROM #__acctexp_subscr as a);'; } $db->setQuery($query); $descriptions = AECToolbox::rewriteEngineExplain($this->options['rewrite_rule']); $descarray = explode(';', $descriptions); $this->exphandler->putDescription($descarray); // Fetch Userlist $userlist = $db->loadObjectList(); // Plans Array $plans = array(); // Iterate through userlist if (!empty($userlist)) { foreach ($userlist as $entry) { $metaUser = new metaUser($entry->userid); if (!empty($entry->id)) { $metaUser->moveFocus($entry->id); } if ($metaUser->hasSubscription) { $planid = $metaUser->focusSubscription->plan; if (!isset($plans[$planid])) { $plans[$planid] = new SubscriptionPlan(); $plans[$planid]->load($planid); } $invoiceid = aecInvoiceHelper::lastClearedInvoiceIDbyUserID($metaUser->userid, $planid); if ($invoiceid) { $invoice = new Invoice(); $invoice->load($invoiceid); $line = AECToolbox::rewriteEngine($this->options['rewrite_rule'], $metaUser, $plans[$planid], $invoice); } else { $line = AECToolbox::rewriteEngine($this->options['rewrite_rule'], $metaUser, $plans[$planid]); } } else { $line = AECToolbox::rewriteEngine($this->options['rewrite_rule'], $metaUser); } $larray = explode(';', $line); // Remove whitespaces and newlines foreach ($larray as $larrid => $larrval) { $larray[$descarray[$larrid]] = trim($larrval); unset($larray[$larrid]); } $this->exphandler->putln($larray); } } }
public function loadLatest($userid, $plan, $subscr = null) { if (!empty($subscr)) { $this->loadbySubscriptionId($subscr, $userid); } if (empty($this->id)) { $this->load(aecInvoiceHelper::lastClearedInvoiceIDbyUserID($userid, $plan)); } if (empty($this->id)) { $this->load(aecInvoiceHelper::lastUnclearedInvoiceIDbyUserID($userid, $plan)); } }
public function armRewrite() { global $aecConfig; $this->rewrite = array(); $this->rewrite['system_timestamp'] = AECToolbox::formatDate((int) gmdate('U'), false, false); $this->rewrite['system_timestamp_backend'] = AECToolbox::formatDate((int) gmdate('U'), true, false); $this->rewrite['system_serverstamp_time'] = AECToolbox::formatDate((int) gmdate('U')); $this->rewrite['system_server_timestamp_backend'] = AECToolbox::formatDate((int) gmdate('U'), true); $this->rewrite['cms_absolute_path'] = JPATH_SITE; $this->rewrite['cms_live_site'] = JURI::root(); if (empty($this->data['invoice'])) { $this->data['invoice'] = null; } if (!empty($this->data['metaUser'])) { if (is_object($this->data['metaUser'])) { if (isset($this->data['metaUser']->cmsUser->id)) { $this->rewrite['user_id'] = $this->data['metaUser']->cmsUser->id; } else { $this->rewrite['user_id'] = 0; } if (!empty($this->data['metaUser']->cmsUser->username)) { $this->rewrite['user_username'] = $this->data['metaUser']->cmsUser->username; } else { $this->rewrite['user_username'] = ""; } if (!empty($this->data['metaUser']->cmsUser->name)) { $this->rewrite['user_name'] = $this->data['metaUser']->cmsUser->name; } else { $this->rewrite['user_name'] = ""; } $name = $this->data['metaUser']->explodeName(); $this->rewrite['user_first_name'] = $name['first']; $this->rewrite['user_first_first_name'] = $name['first_first']; $this->rewrite['user_last_name'] = $name['last']; if (!empty($this->data['metaUser']->cmsUser->email)) { $this->rewrite['user_email'] = $this->data['metaUser']->cmsUser->email; } else { $this->rewrite['user_name'] = ""; } if (defined('JPATH_MANIFESTS')) { if (empty($this->data['metaUser']->hasJProfile)) { $this->data['metaUser']->loadJProfile(); } if (!empty($this->data['metaUser']->hasJProfile)) { foreach ($this->data['metaUser']->jProfile as $field => $value) { $this->rewrite['user_' . $field] = $value; } } } if (aecComponentHelper::detect_component('JOMSOCIAL')) { if (!$this->data['metaUser']->hasJSprofile) { $this->data['metaUser']->loadJSuser(); } if (!empty($this->data['metaUser']->hasJSprofile)) { foreach ($this->data['metaUser']->jsUser as $k => $v) { $this->rewrite['user_js_' . $k] = $v; } } } if (aecComponentHelper::detect_component('anyCB')) { if (!$this->data['metaUser']->hasCBprofile) { $this->data['metaUser']->loadCBuser(); } if (!empty($this->data['metaUser']->hasCBprofile)) { $fields = get_object_vars($this->data['metaUser']->cbUser); if (!empty($fields)) { foreach ($fields as $fieldname => $fieldcontents) { $this->rewrite['user_' . $fieldname] = $fieldcontents; } } if (isset($this->data['metaUser']->cbUser->cbactivation)) { $this->rewrite['user_activationcode'] = $this->data['metaUser']->cbUser->cbactivation; $this->rewrite['user_activationlink'] = JURI::root() . "index.php?option=com_comprofiler&task=confirm&confirmcode=" . $this->data['metaUser']->cbUser->cbactivation; } else { $this->rewrite['user_activationcode'] = ""; $this->rewrite['user_activationlink'] = ""; } } else { if (isset($this->data['metaUser']->cmsUser->activation)) { $this->rewrite['user_activationcode'] = $this->data['metaUser']->cmsUser->activation; $v = new JVersion(); if ($v->isCompatible('1.6')) { $this->rewrite['user_activationlink'] = JURI::root() . 'index.php?option=com_users&task=registration.activate&token=' . $this->data['metaUser']->cmsUser->activation; } else { $this->rewrite['user_activationlink'] = JURI::root() . 'index.php?option=com_user&task=activate&activation=' . $this->data['metaUser']->cmsUser->activation; } } else { $this->rewrite['user_activationcode'] = ""; $this->rewrite['user_activationlink'] = ""; } } } else { if (isset($this->data['metaUser']->cmsUser->activation)) { $this->rewrite['user_activationcode'] = $this->data['metaUser']->cmsUser->activation; $v = new JVersion(); if ($v->isCompatible('1.6')) { $this->rewrite['user_activationlink'] = JURI::root() . 'index.php?option=com_users&task=registration.activate&token=' . $this->data['metaUser']->cmsUser->activation; } else { $this->rewrite['user_activationlink'] = JURI::root() . 'index.php?option=com_user&task=activate&activation=' . $this->data['metaUser']->cmsUser->activation; } } } if (!empty($this->data['metaUser']->meta->custom_params)) { foreach ($this->data['metaUser']->meta->custom_params as $k => $v) { if (is_array($v)) { foreach ($v as $xk => $xv) { if (is_array($xv)) { foreach ($xv as $xyk => $xyv) { $this->rewrite['user_' . $k . '_' . $xk . '_' . $xyk] = $xyv; } } else { $this->rewrite['user_' . $k . '_' . $xk] = $xv; } } } else { $this->rewrite['user_' . $k] = $v; } } } if ($this->data['metaUser']->hasSubscription) { $this->rewrite['subscription_id'] = $this->data['metaUser']->focusSubscription->id; $this->rewrite['subscription_type'] = $this->data['metaUser']->focusSubscription->type; $this->rewrite['subscription_status'] = $this->data['metaUser']->focusSubscription->status; $this->rewrite['subscription_signup_date'] = AECToolbox::formatDate($this->data['metaUser']->focusSubscription->signup_date); $this->rewrite['subscription_signup_date_backend'] = AECToolbox::formatDate($this->data['metaUser']->focusSubscription->signup_date, true); $this->rewrite['subscription_lastpay_date'] = AECToolbox::formatDate($this->data['metaUser']->focusSubscription->lastpay_date); $this->rewrite['subscription_lastpay_date_backend'] = AECToolbox::formatDate($this->data['metaUser']->focusSubscription->lastpay_date, true); $this->rewrite['subscription_plan'] = $this->data['metaUser']->focusSubscription->plan; if (!empty($this->data['metaUser']->focusSubscription->previous_plan)) { $this->rewrite['subscription_previous_plan'] = $this->data['metaUser']->focusSubscription->previous_plan; } else { $this->rewrite['subscription_previous_plan'] = ""; } $this->rewrite['subscription_recurring'] = $this->data['metaUser']->focusSubscription->recurring; $this->rewrite['subscription_lifetime'] = $this->data['metaUser']->focusSubscription->lifetime; $this->rewrite['subscription_expiration_date'] = AECToolbox::formatDate($this->data['metaUser']->focusSubscription->expiration); $this->rewrite['subscription_expiration_date_backend'] = AECToolbox::formatDate($this->data['metaUser']->focusSubscription->expiration, true); $this->rewrite['subscription_expiration_daysleft'] = round((strtotime($this->data['metaUser']->focusSubscription->expiration) - (int) gmdate('U')) / 86400); if (!empty($this->data['metaUser']->focusSubscription->customparams['notes'])) { $this->rewrite['subscription_notes'] = $this->data['metaUser']->focusSubscription->customparams['notes']; } else { $this->rewrite['subscription_notes'] = ''; } } if (empty($this->data['invoice']) && !empty($this->data['metaUser']->cmsUser->id)) { $lastinvoice = aecInvoiceHelper::lastClearedInvoiceIDbyUserID($this->data['metaUser']->cmsUser->id); $this->data['invoice'] = new Invoice(); $this->data['invoice']->load($lastinvoice); } } } if (is_object($this->data['invoice'])) { if (!empty($this->data['invoice']->id)) { $this->rewrite['invoice_id'] = $this->data['invoice']->id; $this->rewrite['invoice_number'] = $this->data['invoice']->invoice_number; $this->rewrite['invoice_created_date'] = $this->data['invoice']->created_date; $this->rewrite['invoice_transaction_date'] = $this->data['invoice']->transaction_date; $this->rewrite['invoice_method'] = $this->data['invoice']->method; $this->rewrite['invoice_amount'] = $this->data['invoice']->amount; $this->rewrite['invoice_currency'] = $this->data['invoice']->currency; if (!empty($this->data['invoice']->coupons) && is_array($this->data['invoice']->coupons)) { $this->rewrite['invoice_coupons'] = implode(';', $this->data['invoice']->coupons); } else { $this->rewrite['invoice_coupons'] = ''; } if (!empty($this->data['metaUser']) && !empty($this->data['invoice'])) { if (!empty($this->data['invoice']->id)) { $this->data['invoice']->formatInvoiceNumber(); $this->rewrite['invoice_number_format'] = $this->data['invoice']->invoice_number; $this->data['invoice']->deformatInvoiceNumber(); } } } } if (!empty($this->data['plan'])) { if (is_object($this->data['plan'])) { $this->rewrite['plan_name'] = $this->data['plan']->getProperty('name'); $this->rewrite['plan_desc'] = $this->data['plan']->getProperty('desc'); if (!empty($this->data['plan']->params['notes'])) { $this->rewrite['plan_notes'] = $this->data['plan']->params['notes']; } else { $this->rewrite['plan_notes'] = ''; } } } }