X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Fmysql-manager.php;h=ebb1aeb4362d4d86cdc568df5b88d6e792d0edc7;hb=8ad295d1b883eed6cc50ec9e37b6639503ac6aa9;hp=8f9d7bb7a9d8113e9597e7862f29f18126223f74;hpb=78fb6abc2b4141d107610f20e75980e1a58ac939;p=mailer.git diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 8f9d7bb7a9..ebb1aeb436 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 @@ -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 { @@ -1513,7 +1542,7 @@ function generateCategoryOptionsList ($mode) { } // END - foreach } else { // No cateogries are defined yet - $OUT = ''; + $OUT = ''; } // Return HTML code @@ -1695,8 +1724,8 @@ function createNewTask ($subject, $notes, $taskType, $userid = NULL, $adminId = // 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( - makeZeroToNull($adminId), - makeZeroToNull($userid), + convertZeroToNull($adminId), + convertZeroToNull($userid), $taskType, $subject, $notes