/** * @param SubscriptionPlan $plan */ static function getItemListItem($plan) { if (empty($plan->params['processor_selectmode'])) { $select_mode = '0'; } else { $select_mode = $plan->params['processor_selectmode']; } $details = array('type' => 'item', 'id' => $plan->id, 'plan' => $plan, 'name' => $plan->getProperty('name'), 'desc' => $plan->getProperty('desc'), 'ordering' => $plan->ordering, 'lifetime' => $plan->params['lifetime'], 'select_mode' => $select_mode, 'meta' => array()); if (!empty($plan->params['meta'])) { $details['meta'] = parameterHandler::decode($plan->params['meta']); } return $details; }
$db->setQuery("SELECT * FROM #__acctexp_log_history WHERE `id` = {$hid}"); $history = $db->loadObject(); if (!is_object($history)) { continue; } if ($history->id != $hid || empty($history->response)) { continue; } // Fix broken newlines $history->response = str_replace('\\n', "\n", $history->response); // Fix faulty parameters in old PayPal entries $history->response = str_replace('Validation: ', "paypal_verification=", $history->response); // Fix faulty parameters in extremely old PayPal entries $history->response = str_replace('VERIFIED ', "paypal_verification=VERIFIED\n", $history->response); // Resolve into Array $temp = parameterHandler::decode($history->response); // Fix faulty parameters in old locaweb_pgcerto entries if (count($temp) <= 1 && isset($temp[0])) { $temp2 = array('response' => $temp[0]); $temp = $temp2; } elseif (!is_array($temp)) { $temp2 = array('response' => $temp); $temp = $temp2; } foreach ($temp as $k => $v) { $temp[$k] = urldecode($v); } $query = 'UPDATE #__acctexp_log_history' . ' SET `response` = \'' . base64_encode(serialize($temp)) . '\'' . ' WHERE `id` = \'' . $hid . '\''; $db->setQuery($query); $db->query(); }
} // No need to update what is empty if (empty($object->{$fieldname}) || strpos($object->{$fieldname}, '{') === 0 || strpos($object->{$fieldname}, '[') === 0) { unset($dec[array_search($fieldname, $dec)]); } } if ($dbtable == 'subscr' && empty($object->params)) { $dec[] = 'params'; } if (count($dec) < 1) { continue; } $sets = array(); foreach ($dec as $fieldname) { // Decode from newline separated variables $temp = parameterHandler::decode(stripslashes($object->{$fieldname})); if (!empty($ucontent[2])) { if (isset($ucontent[2][$fieldname])) { if (in_array('_self', $ucontent[2][$fieldname])) { $temp = explode(';', $object->{$fieldname}); array_walk($temp, 'trim'); } else { foreach ($temp as $key => $value) { if (in_array($key, $ucontent[2][$fieldname])) { $temp[$key] = explode(';', $value); array_walk($temp[$key], 'trim'); } } } } }
// Dont allow direct linking defined('_JEXEC') or die('Direct Access to this location is not allowed.'); $serialupdate = false; $jsonconversion = false; // Check whether the config is on 0.12.6 status $query = 'SELECT `settings` FROM #__acctexp_config' . ' WHERE `id` = \'1\''; $db->setQuery($query); $res = $db->loadResult(); if ((strpos($res, '{') === 0 || strpos($res, "\n") !== false) && !empty($res)) { if (strpos($res, '{') === 0) { $res = stripslashes(str_replace(array('\\n', '\\t', '\\r'), array("\n", "\t", "\r"), trim($res))); $restings = jsoonHandler::decode($res); $jsonconversion = true; } else { // Has stripslashes stuff built in $restings = parameterHandler::decode($res); $serialupdate = true; if (isset($restings['milist'])) { $temp = explode(';', $restings['milist']); $restings['milist'] = $temp; } if (isset($restings['gwlist'])) { $temp = explode(';', $restings['gwlist']); $restings['gwlist'] = $temp; } } $entry = base64_encode(serialize($restings)); $query = 'UPDATE #__acctexp_config' . ' SET `settings` = \'' . $entry . '\'' . ' WHERE `id` = \'1\''; $db->setQuery($query); $db->query(); }
$db->query(); // Fixing secondary invoice numbers for CCBill $query = 'SELECT id FROM #__acctexp_config_processors WHERE name = \'ccbill\''; $db->setQuery($query); $ccid = $db->loadResult(); // Checking whether CCBill is installed at all if ($ccid) { // Get all history entries for CCBill $query = 'SELECT id FROM #__acctexp_log_history WHERE proc_id = \'' . $ccid . '\''; $db->setQuery($query); $list = xJ::getDBArray($db); if (!empty($list)) { foreach ($list as $hid) { $history = new logHistory(); $history->load($hid); $params = parameterHandler::decode(stripslashes($history->response)); // Check for the parameters we need if (isset($params['subscription_id']) && isset($params['invoice'])) { $query = 'UPDATE #__acctexp_invoices SET `secondary_ident` = \'' . $params['subscription_id'] . '\' WHERE invoice_number = \'' . $params['invoice'] . '\''; $db->setQuery($query); $db->query(); } } } } // Haunted by ghosts of xmas past $query = 'SELECT `id` FROM #__acctexp_subscr WHERE `params` LIKE \'%_jsoon%\''; $db->setQuery($query); $list = xJ::getDBArray($db); if (!empty($list)) { foreach ($list as $sid) {
* @license GNU/GPL v.3 http://www.gnu.org/licenses/gpl.html or, at your option, any later version */ // Dont allow direct linking defined('_JEXEC') or die('Direct Access to this location is not allowed.'); // load settings (creates settings parameters that got added in this version) $db->setQuery("SHOW COLUMNS FROM #__acctexp_config LIKE 'settings'"); $result = $db->loadObject(); if (strcmp($result->Field, 'settings') !== 0) { $columns = array("transferinfo", "initialexp", "alertlevel1", "alertlevel2", "alertlevel3", "gwlist", "customintro", "customthanks", "customcancel", "bypassintegration", "simpleurls", "expiration_cushion", "currency_code", "heartbeat_cycle", "tos", "require_subscription", "entry_plan", "plans_first", "transfer", "checkusername", "activate_paid"); $settings = array(); foreach ($columns as $column) { $db->setQuery("SHOW COLUMNS FROM #__acctexp_config LIKE '" . $column . "'"); $result = $db->loadObject(); if (strcmp($result->Field, $column) === 0) { $db->setQuery("SELECT " . $column . " FROM #__acctexp_config WHERE id='1'"); $settings[$column] = $db->loadResult(); $db->setQuery("ALTER TABLE #__acctexp_config DROP COLUMN " . $column); if (!$db->query()) { $errors[] = array($db->getErrorMsg(), $query); } } } $db->setQuery("ALTER TABLE #__acctexp_config ADD `settings` text"); if (!$db->query()) { $errors[] = array($db->getErrorMsg(), $query); } $db->setQuery("UPDATE #__acctexp_config SET `settings` = '" . parameterHandler::encode($settings) . "' WHERE id = '1'"); if (!$db->query()) { $errors[] = array($db->getErrorMsg(), $query); } }