X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=2b879de773f2d4efce72164d78e206ed41886951;hb=262c3e87d0a80ec8a4435b2564d4b666fd329bf6;hp=39a489138be51bef6095be4d85c2a722a5f38f11;hpb=64bd945ec270b9ed5e0a2490b5631e02d4dc62d8;p=mailer.git diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 39a489138b..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 @@ -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 { @@ -1292,9 +1321,9 @@ function generateOptionList ($table, $id, $name, $default = '', $special = '', $ } } else { // Data from database - $SPEC = ', `' . $id . '`'; + $SPEC = ',`' . $id . '`'; if (!empty($special)) { - $SPEC = ', `' . $special . '` AS `special`'; + $SPEC = ',`' . $special . '` AS `special`'; } // END - if // Query the database @@ -1465,8 +1494,8 @@ function generateCategoryOptionsList ($mode) { // Initialize array... $CATS = array( - 'id' => array(), - 'name' => array(), + 'id' => array(), + 'name' => array(), 'userids' => array() ); @@ -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