X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=2b879de773f2d4efce72164d78e206ed41886951;hb=262c3e87d0a80ec8a4435b2564d4b666fd329bf6;hp=35419355338adc3387f6e5ae719e61e8edc30cbc;hpb=20741b93fd58620af677a7f1039ffd16ea6ec689;p=mailer.git
diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php
index 3541935533..2b879de773 100644
--- a/inc/mysql-manager.php
+++ b/inc/mysql-manager.php
@@ -279,7 +279,7 @@ ORDER BY
}
} else {
// Not found - open
- $OUT .= '';
+ $OUT .= '';
}
// Menu title
@@ -294,7 +294,7 @@ ORDER BY
} // END - if
} else {
// Not found - close
- $OUT .= '';
+ $OUT .= '';
}
// Cunt it up
@@ -340,16 +340,16 @@ ORDER BY
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'main_cnt=' . $main_cnt . ',getWhat()=' . getWhat());
if (SQL_NUMROWS($result_main) > $main_cnt) {
- // Add seperator
- $GLOBALS['rows'] .= loadTemplate('menu_seperator', true, $mode);
+ // Add separator
+ $GLOBALS['rows'] .= loadTemplate('menu_separator', true, $mode);
// Should we display adverts in this menu?
if ((isExtensionInstalledAndNewer('menu', '0.0.1')) && (getConfig($mode . '_menu_advert_enabled') == 'Y') && ($action != 'admin')) {
// Display advert template
$GLOBALS['rows'] .= loadTemplate('menu_' . $mode . '_advert_' . $action, true);
- // Add seperator again
- $GLOBALS['rows'] .= loadTemplate('menu_seperator', true, $mode);
+ // Add separator again
+ $GLOBALS['rows'] .= loadTemplate('menu_separator', true, $mode);
} // END - if
} // END - if
} // END - while
@@ -359,8 +359,8 @@ ORDER BY
// Should we display adverts in this menu?
if ((isExtensionInstalledAndNewer('menu', '0.0.1')) && (getConfig($mode . '_menu_advert_enabled') == 'Y')) {
- // Add seperator again
- $GLOBALS['rows'] .= loadTemplate('menu_seperator', true, $mode);
+ // Add separator again
+ $GLOBALS['rows'] .= loadTemplate('menu_separator', true, $mode);
// Display advert template
$GLOBALS['rows'] .= loadTemplate('menu_' . $mode . '_advert_end', true);
@@ -368,8 +368,8 @@ ORDER BY
// Prepare data
$content = array(
- 'rows' => $GLOBALS['rows'],
- 'mode' => $mode
+ 'rows' => $GLOBALS['rows'],
+ 'menu_mode' => $mode
);
// Load main template
@@ -660,25 +660,44 @@ function addMaxReceiveList ($mode, $default = '', $return = false) {
// Checks wether the given email address is used.
function isEmailTaken ($email) {
+ // Default is no userid
+ $useridSql = ' IS NOT NULL';
+
+ // Is a member logged in?
+ if (isMember()) {
+ // Get userid
+ $useridSql = '!= ' . bigintval(getMemberId());
+ } // END - if
+
// Replace dot with {DOT}
$email = str_replace('.', '{DOT}', $email);
// Query the database
- $result = SQL_QUERY_ESC("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `email` LIKE '%%%s%%' LIMIT 1",
- array($email), __FUNCTION__, __LINE__);
+ $result = SQL_QUERY_ESC("SELECT
+ COUNT(`userid`) AS `cnt`
+FROM
+ `{?_MYSQL_PREFIX?}_user_data`
+WHERE
+ '%s' REGEXP `email` AND
+ `userid` %s
+LIMIT 1",
+ array(
+ $email,
+ $useridSql
+ ), __FUNCTION__, __LINE__);
// Is the email there?
- $isTaken = (SQL_NUMROWS($result) == 1);
+ list($count) = SQL_FETCHROW($result);
// Free the result
SQL_FREERESULT($result);
// Return result
- return $isTaken;
+ return ($count == 1);
}
// Validate the given menu action
-function isMenuActionValid ($mode, $action, $what, $updateEntry=false) {
+function isMenuActionValid ($mode, $action, $what, $updateEntry = false) {
// Is the cache entry there and we shall not update?
if ((isset($GLOBALS['action_valid'][$mode][$action][$what])) && ($updateEntry === false)) {
// Count cache hit
@@ -897,7 +916,7 @@ function getPaymentPoints ($pid, $lookFor = 'price') {
}
// Remove a receiver's id from $receivers and add a link for him to confirm
-function removeReceiver (&$receivers, $key, $userid, $pool_id, $stats_id = 0, $isBonusMail = false) {
+function removeReceiver (&$receivers, $key, $userid, $poolId, $statsId = 0, $isBonusMail = false) {
// Default is not removed
$ret = 'failed';
@@ -907,7 +926,7 @@ function removeReceiver (&$receivers, $key, $userid, $pool_id, $stats_id = 0, $i
unset($receivers[$key]);
// Is there already a line for this user available?
- if ($stats_id > 0) {
+ if ($statsId > 0) {
// Default is 'normal' mail
$type = 'NORMAL';
$rowName = 'stats_id';
@@ -919,20 +938,30 @@ function removeReceiver (&$receivers, $key, $userid, $pool_id, $stats_id = 0, $i
} // END - if
// Try to look the entry up
- $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE %s='%s' AND `userid`=%s AND link_type='%s' LIMIT 1",
- array($rowName, $stats_id, bigintval($userid), $type), __FUNCTION__, __LINE__);
+ $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `%s`=%s AND `userid`=%s AND link_type='%s' LIMIT 1",
+ array(
+ $rowName,
+ bigintval($statsId),
+ bigintval($userid),
+ $type
+ ), __FUNCTION__, __LINE__);
// Was it *not* found?
if (SQL_HASZERONUMS($result)) {
// So we add one!
SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_links` (`%s`,`userid`,`link_type`) VALUES ('%s','%s','%s')",
- array($rowName, $stats_id, bigintval($userid), $type), __FUNCTION__, __LINE__);
+ array(
+ $rowName,
+ bigintval($statsId),
+ bigintval($userid),
+ $type
+ ), __FUNCTION__, __LINE__);
// 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",
- array(bigintval($pool_id)), __FUNCTION__, __LINE__);
+ array(bigintval($poolId)), __FUNCTION__, __LINE__);
} // END - if
$ret = 'done';
} else {
@@ -959,14 +988,14 @@ function countSumTotalData ($search, $tableName, $lookFor = 'id', $whereStatemen
// 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,
+ $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,
+ $result = SQL_QUERY_ESC("SELECT SUM(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s`" . $add . ' LIMIT 1',
array(
$lookFor,
$tableName
@@ -975,7 +1004,7 @@ function countSumTotalData ($search, $tableName, $lookFor = 'id', $whereStatemen
} elseif (($countRows === true) || ($lookFor == 'userid')) {
// Count rows
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'COUNT!');
- $result = SQL_QUERY_ESC("SELECT COUNT(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s`%s'%s'".$add,
+ $result = SQL_QUERY_ESC("SELECT COUNT(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s`%s'%s'" . $add . ' LIMIT 1',
array(
$lookFor,
$tableName,
@@ -986,7 +1015,7 @@ function countSumTotalData ($search, $tableName, $lookFor = 'id', $whereStatemen
} else {
// Add all rows
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SUM!');
- $result = SQL_QUERY_ESC("SELECT SUM(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s`%s'%s'".$add,
+ $result = SQL_QUERY_ESC("SELECT SUM(`%s`) AS `res` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s`%s'%s'" . $add . ' LIMIT 1',
array(
$lookFor,
$tableName,
@@ -1186,7 +1215,7 @@ function getAdminEmail ($adminId) {
return $data['email'];
}
-// Get default ACL of admin id
+// Get default ACL of admin id
function getAdminDefaultAcl ($adminId) {
// By default an invalid ACL value is returned
$data['default_acl'] = 'NO-ACL';
@@ -1195,9 +1224,9 @@ function getAdminDefaultAcl ($adminId) {
if (!isExtensionActive('sql_patches')) {
// Not found, which is bad, so we need to allow all
$data['default_acl'] = 'allow';
- } elseif (isset($GLOBALS['cache_array']['admin']['def_acl'][$adminId])) {
+ } elseif (isset($GLOBALS['cache_array']['admin']['default_acl'][$adminId])) {
// Use cache
- $data['default_acl'] = $GLOBALS['cache_array']['admin']['def_acl'][$adminId];
+ $data['default_acl'] = $GLOBALS['cache_array']['admin']['default_acl'][$adminId];
// Update cache hits
incrementStatsEntry('cache_hits');
@@ -1212,7 +1241,7 @@ function getAdminDefaultAcl ($adminId) {
$data = SQL_FETCHARRAY($result_admin_id);
// Set cache
- $GLOBALS['cache_array']['admin']['def_acl'][$adminId] = $data['default_acl'];
+ $GLOBALS['cache_array']['admin']['default_acl'][$adminId] = $data['default_acl'];
}
// Free result
@@ -1223,6 +1252,43 @@ function getAdminDefaultAcl ($adminId) {
return $data['default_acl'];
}
+// Get menu mode (la_mode) of admin id
+function getAdminMenuMode ($adminId) {
+ // By default an invalid mode
+ $data['la_mode'] = 'INVALID';
+
+ // Is sql_patches there and was it found in cache?
+ if (!isExtensionActive('sql_patches')) {
+ // Not found, which is bad, so we need to allow all
+ $data['la_mode'] = 'global';
+ } elseif (isset($GLOBALS['cache_array']['admin']['la_mode'][$adminId])) {
+ // Use cache
+ $data['la_mode'] = $GLOBALS['cache_array']['admin']['la_mode'][$adminId];
+
+ // Update cache hits
+ incrementStatsEntry('cache_hits');
+ } elseif (!isExtensionActive('cache')) {
+ // Load from database
+ $result_admin_id = SQL_QUERY_ESC("SELECT `la_mode` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
+ array(bigintval($adminId)), __FUNCTION__, __LINE__);
+
+ // Do we have an entry?
+ if (SQL_NUMROWS($result_admin_id) == 1) {
+ // Fetch data
+ $data = SQL_FETCHARRAY($result_admin_id);
+
+ // Set cache
+ $GLOBALS['cache_array']['admin']['la_mode'][$adminId] = $data['la_mode'];
+ }
+
+ // Free result
+ SQL_FREERESULT($result_admin_id);
+ }
+
+ // Return default ACL
+ return $data['la_mode'];
+}
+
// Generates an option list from various parameters
function generateOptionList ($table, $id, $name, $default = '', $special = '', $whereStatement = '', $disabled = array(), $callback = '') {
$ret = '';
@@ -1255,13 +1321,13 @@ function generateOptionList ($table, $id, $name, $default = '', $special = '', $
}
} else {
// Data from database
- $SPEC = ', `' . $id . '`';
+ $SPEC = ',`' . $id . '`';
if (!empty($special)) {
- $SPEC = ', `' . $special . '`';
+ $SPEC = ',`' . $special . '` AS `special`';
} // END - if
// Query the database
- $result = SQL_QUERY_ESC("SELECT `%s`,`%s`".$SPEC." FROM `{?_MYSQL_PREFIX?}_%s` ".$whereStatement." ORDER BY `%s` ASC",
+ $result = SQL_QUERY_ESC("SELECT `%s` AS `id`,`%s` AS `name`".$SPEC." FROM `{?_MYSQL_PREFIX?}_%s` ".$whereStatement." ORDER BY `%s` ASC",
array(
$id,
$name,
@@ -1271,32 +1337,37 @@ function generateOptionList ($table, $id, $name, $default = '', $special = '', $
// Do we have rows?
if (!SQL_HASZERONUMS($result)) {
- // Found data so add them as OPTION lines: $id is the value and $name is the "name" of the option
- // @TODO Try to rewrite this to $content = SQL_FETCHARRAY()
- while (list($value, $title, $add) = SQL_FETCHROW($result)) {
- if (empty($special)) $add = '';
- $ret .= '';
} // END - while
} else {
// No data found
@@ -1423,8 +1494,8 @@ function generateCategoryOptionsList ($mode) {
// Initialize array...
$CATS = array(
- 'id' => array(),
- 'name' => array(),
+ 'id' => array(),
+ 'name' => array(),
'userids' => array()
);
@@ -1471,7 +1542,7 @@ function generateCategoryOptionsList ($mode) {
} // END - foreach
} else {
// No cateogries are defined yet
- $OUT = '';
+ $OUT = '';
}
// Return HTML code
@@ -1649,12 +1720,12 @@ function reduceRecipientReceivedMails ($column, $id, $count) {
}
// Creates a new task
-function createNewTask ($subject, $notes, $taskType, $userid = NULL, $adminId = '0', $strip = true) {
+function createNewTask ($subject, $notes, $taskType, $userid = NULL, $adminId = NULL, $strip = true) {
// Insert the task data into the database
SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_task_system` (`assigned_admin`,`userid`,`status`,`task_type`,`subject`,`text`,`task_created`) VALUES (%s,%s,'NEW','%s','%s','%s', UNIX_TIMESTAMP())",
array(
- $adminId,
- $userid,
+ convertZeroToNull($adminId),
+ convertZeroToNull($userid),
$taskType,
$subject,
$notes