// Secure userid
$value = bigintval($value);
- // Set it here
- setCurrentUserId($value);
-
// Don't look for invalid userids...
if (!isValidUserId($value)) {
// Invalid, so abort here
$data['cat'] = '{--_CATEGORY_NONE--}';
} elseif ($cid > 0) {
// Lookup the category in database
- $result = SQL_QUERY_ESC("SELECT `cat` FROM `{?_MYSQL_PREFIX?}_cats` WHERE `id`=%s LIMIT 1",
+ $result = SQL_QUERY_ESC('SELECT `cat` FROM `{?_MYSQL_PREFIX?}_cats` WHERE `id`=%s LIMIT 1',
array(bigintval($cid)), __FUNCTION__, __LINE__);
if (SQL_NUMROWS($result) == 1) {
// Category found... :-)
}
// Get a string of "mail title" and price back
-function getPaymentTitlePrice ($pid, $full = false) {
- // Default is not found
- $ret = '{--_PAYMENT_404--}';
-
- // Load payment data
- $result = SQL_QUERY_ESC("SELECT `mail_title`,`price` FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=%s LIMIT 1",
- array(
- bigintval($pid)
- ), __FUNCTION__, __LINE__);
-
- // Do we have an entry?
- if (SQL_NUMROWS($result) == 1) {
- // Payment type found... :-)
- $data = SQL_FETCHARRAY($result);
-
- // Only title or also including price?
- if ($full === false) {
- $ret = $data['mail_title'];
- } else {
- $ret = $data['mail_title'] . ' / {%pipe,translateComma=' . $data['price'] . '%} {?POINTS?}';
- }
- } // END - if
-
- // Free result
- SQL_FREERESULT($result);
+function getPaymentTitlePrice ($paymentsId, $full = false) {
+ // Only title or also including price?
+ if ($full === false) {
+ $ret = getPaymentData($paymentsId, 'main_title');
+ } else {
+ $ret = getPaymentData($paymentsId, 'main_title') . ' / {%pipe,getPaymentData,translateComma=' . $paymentsId . '%} {?POINTS?}';
+ }
// Return result
return $ret;
}
-// Get (basicly) the price of given payment id
-function getPaymentPoints ($pid, $lookFor = 'price') {
+// "Getter" for payment data (cached)
+function getPaymentData ($paymentsId, $lookFor = 'price') {
// Default value...
- $data[$lookFor] = -1;
+ $data[$lookFor] = NULL;
- // Search for it in database
- $result = SQL_QUERY_ESC("SELECT `%s` FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=%s LIMIT 1",
- array(
- $lookFor,
- bigintval($pid)
- ), __FUNCTION__, __LINE__);
+ // Do we have cache?
+ if (isset($GLOBALS['cache_array']['payments'][$paymentsId]['id'])) {
+ // Use it if found to save SQL queries
+ $data[$lookFor] = $GLOBALS['cache_array']['payments'][$lookFor][$paymentsId];
- // Is the entry there?
- if (SQL_NUMROWS($result) == 1) {
- // Payment type found... :-)
- $data = SQL_FETCHARRAY($result);
- } // END - if
+ // Update cache hits
+ incrementStatsEntry('cache_hits');
+ } elseif (!isExtensionActive('cache')) {
+ // Search for it in database
+ $result = SQL_QUERY_ESC('SELECT `%s` FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=%s LIMIT 1',
+ array(
+ $lookFor,
+ bigintval($paymentsId)
+ ), __FUNCTION__, __LINE__);
- // Free result
- SQL_FREERESULT($result);
+ // Is the entry there?
+ if (SQL_NUMROWS($result) == 1) {
+ // Payment type found... :-)
+ $data = SQL_FETCHARRAY($result);
+ } // END - if
+
+ // Free result
+ SQL_FREERESULT($result);
+ }
// Return value
return $data[$lookFor];
// Update 'mails_sent' if sql_patches is updated
if (isExtensionInstalledAndNewer('sql_patches', '0.7.4')) {
// Update the pool
- SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_pool` SET `mails_sent`=`mails_sent`+1 WHERE `id`=%s LIMIT 1",
+ SQL_QUERY_ESC('UPDATE `{?_MYSQL_PREFIX?}_pool` SET `mails_sent`=`mails_sent`+1 WHERE `id`=%s LIMIT 1',
array(bigintval($poolId)), __FUNCTION__, __LINE__);
} // END - if
$ret = 'done';
// Count or sum whole table?
if ($countRows === true) {
// Count whole table
- $result = SQL_QUERY_ESC("SELECT COUNT(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s`" . $add . ' LIMIT 1',
+ $result = SQL_QUERY_ESC('SELECT COUNT(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s`' . $add . ' LIMIT 1',
array(
$lookFor,
$tableName
), __FUNCTION__, __LINE__);
} else {
// Sum whole table
- $result = SQL_QUERY_ESC("SELECT SUM(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s`" . $add . ' LIMIT 1',
+ $result = SQL_QUERY_ESC('SELECT SUM(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s`' . $add . ' LIMIT 1',
array(
$lookFor,
$tableName
$add = '';
// Is the extension equal or newer 0.8.9?
- if ((getExtensionMode() == 'register') || (getExtensionMode() == 'update') || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
+ if (((isInstallationPhase()) && ((getExtensionMode() == 'register') || (getExtensionMode() == 'update'))) || (isExtensionInstalledAndNewer('sql_patches', '0.8.9'))) {
// Then add provider
$add = " AND `account_provider`='EXTENSION'";
} // END - if
// Is the 'subject' there?
if (((!ifSqlTableExists('points_data')) && ((getExtensionMode() == 'register') || (getExtensionMode() == 'update'))) || (countSumTotalData($subject, 'points_data', 'id', 'subject', true, $add) == 0)) {
- // Not found so add an SQL query
+ // Not found so:
+ if (isset($GLOBALS['previous_extension'][getCurrentExtensionName()])) {
+ $dummy = $GLOBALS['previous_extension'][getCurrentExtensionName()];
+ reportBug(__FUNCTION__, __LINE__, 'previous_extension[' . gettype($dummy) . ']=' . $dummy . ',getCurrentExtensionName()=' . getCurrentExtensionName() . ' - Under development, please report this!');
+ } // END - if
+
+ // ... add an SQL query
addExtensionSql(sprintf("INSERT INTO `{?_MYSQL_PREFIX?}_points_data` (`subject`,`column_name`,`locked_mode`,`payment_method`) VALUES ('%s','%s','%s','%s')",
$subject,
$columnName,