X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Ffunctions.php;h=c00fee3cde06c00bfe9c3d4a095f32a2eaecaf25;hb=c3b4eaf29946349ff058691db2dcb615a5379bb2;hp=0241262964b9ba4fe80edfbb67b1ed29949183c9;hpb=2763c536e15b838a5df284bca71b7430870edc47;p=mailer.git diff --git a/inc/functions.php b/inc/functions.php index 0241262964..c00fee3cde 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -6,9 +6,9 @@ * -------------------------------------------------------------------- * * File : functions.php * * -------------------------------------------------------------------- * - * Short description : Many non-MySQL functions (also file access) * + * Short description : Many non-database functions (also file access) * * -------------------------------------------------------------------- * - * Kurzbeschreibung : Viele Nicht-MySQL-Funktionen (auch Dateizugriff) * + * Kurzbeschreibung : Viele Nicht-Datenbank-Funktionen * * -------------------------------------------------------------------- * * $Revision:: $ * * $Date:: $ * @@ -16,7 +16,7 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -149,7 +149,9 @@ function sendEmail ($toEmail, $subject, $message, $isHtml = 'N', $mailHeader = ' } // END - if // Fix HTML parameter (default is no!) - if (empty($isHtml)) $isHtml = 'N'; + if (empty($isHtml)) { + $isHtml = 'N'; + } // END - if // Debug mode enabled? if (isDebugModeEnabled()) { @@ -259,7 +261,7 @@ function sendRawEmail ($toEmail, $subject, $message, $headers) { // Generate a password in a specified length or use default password length function generatePassword ($length = '0') { // Auto-fix invalid length of zero - if ($length == '0') $length = getConfig('pass_len'); + if ($length == '0') $length = getPassLen(); // Initialize array with all allowed chars $ABC = explode(',', 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9,-,+,_,/,.'); @@ -425,6 +427,9 @@ function translateGender ($gender) { // "Translates" the user status function translateUserStatus ($status) { + // Default status is unknown if something goes through + $ret = '{--ACCOUNT_STATUS_UNKNOWN--}'; + // Generate message depending on status switch ($status) { case 'UNCONFIRMED': @@ -698,7 +703,7 @@ function generateRandomCode ($length, $code, $userid, $DATA = '') { } // At least 10 numbers shall be secure enought! - $len = getConfig('code_length'); + $len = getCodeLength(); if ($len == '0') $len = $length; if ($len == '0') $len = 10; @@ -773,7 +778,7 @@ function createFancyTime ($stamp) { // Get data array with years/months/weeks/days/... $data = createTimeSelections($stamp, '', '', '', true); $ret = ''; - foreach($data as $k => $v) { + foreach ($data as $k => $v) { if ($v > 0) { // Value is greater than 0 "eval" data to return string $ret .= ', ' . $v . ' {--_' . strtoupper($k) . '--}'; @@ -1683,13 +1688,16 @@ function changeDataInFile ($FQFN, $comment, $prefix, $suffix, $DATA, $seek=0) { // An error was detected! return false; } + // Send notification to admin -function sendAdminNotification ($subject, $templateName, $content=array(), $userid = '0') { +function sendAdminNotification ($subject, $templateName, $content = array(), $userid = '0') { if ((isExtensionInstalledAndNewer('admins', '0.4.1')) && (function_exists('sendAdminsEmails'))) { // Send new way + /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'admins=Y,subject=' . $subject . ',templateName=' . $templateName); sendAdminsEmails($subject, $templateName, $content, $userid); } else { - // Send out out-dated way + // Send out-dated way + /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'admins=N,subject=' . $subject . ',templateName=' . $templateName); $message = loadEmailTemplate($templateName, $content, $userid); sendAdminEmails($subject, $message); } @@ -1703,9 +1711,7 @@ function logDebugMessage ($funcFile, $line, $message, $force=true) { $message = str_replace("\r", '', str_replace("\n", '', $message)); // Log this message away - $fp = fopen(getCachePath() . 'debug.log', 'a') or debug_report_bug(__FUNCTION__, __LINE__, 'Cannot write logfile debug.log!'); - fwrite($fp, generateDateTime(time(), '4') . '|' . getModule(false) . '|' . basename($funcFile) . '|' . $line . '|' . $message . "\n"); - fclose($fp); + appendLineToFile(getPath() . getCachePath() . 'debug.log', generateDateTime(time(), '4') . '|' . getModule(false) . '|' . basename($funcFile) . '|' . $line . '|' . $message); } // END - if } @@ -1844,7 +1850,7 @@ function rebuildCache ($cache, $inc = '', $force = false) { // Include file given? if (!empty($inc)) { // Construct FQFN - $inc = sprintf("inc/loader/load_cache-%s.php", $inc); + $inc = sprintf("inc/loader/load-%s.php", $inc); // Is the include there? if (isIncludeReadable($inc)) { @@ -2140,19 +2146,13 @@ function getArrayFromDirectory ($baseDir, $prefix, $fileIncludeDirs = false, $ad // Remove both for extension name $extName = substr($baseFile, strlen($prefix), -4); - // Is the extension valid and active? - if (isExtensionNameValid($extName)) { - // Then add this file - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Extension entry ' . $baseFile . ' added.'); + // Add file with or without base path + if ($addBaseDir === true) { + // With base path $files[] = $fileName; } else { - // Add non-extension files as well - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Regular entry ' . $baseFile . ' added.'); - if ($addBaseDir === true) { - $files[] = $fileName; - } else { - $files[] = $baseFile; - } + // No base path + $files[] = $baseFile; } } else { // We found .php file but should not search for them, why? @@ -2228,12 +2228,20 @@ function addSqlToDebug ($result, $sqlString, $timing, $F, $L) { // Initializes the cache instance function initCacheInstance () { + // Check for double-initialization + if (isset($GLOBALS['cache_instance'])) { + // This should not happen and must be fixed + debug_report_bug(__FUNCTION__, __LINE__, 'Double initialization of cache system detected. cache_instance[]=' . gettype($GLOBALS['cache_instance'])); + } // END - if + // Load include for CacheSystem class loadIncludeOnce('inc/classes/cachesystem.class.php'); // Initialize cache system only when it's needed $GLOBALS['cache_instance'] = new CacheSystem(); - if ($GLOBALS['cache_instance']->getStatus() != 'done') { + + // Did it work? + if ($GLOBALS['cache_instance']->getStatusCode() != 'done') { // Failed to initialize cache sustem addFatalMessage(__FUNCTION__, __LINE__, '(' . __LINE__ . '): {--CACHE_CANNOT_INITIALIZE--}'); } // END - if @@ -2325,7 +2333,10 @@ function isSpider () { $userAgent = trim(strtolower(detectUserAgent(true))); // It should not be empty, if so it is better a spider/bot - if (empty($userAgent)) return true; + if (empty($userAgent)) { + // It is a spider/bot + return true; + } // END - if // Is it a spider? return ((strpos($userAgent, 'spider') !== false) || (strpos($userAgent, 'slurp') !== false) || (strpos($userAgent, 'bot') !== false) || (strpos($userAgent, 'archiver') !== false)); @@ -2419,7 +2430,7 @@ function capitalizeUnderscoreString ($str) { // "Walk" through all elements and make them lower-case but first upper-case foreach ($strArray as $part) { // Capitalize the string part - $capitalized .= ucfirst(strtolower($part)); + $capitalized .= firstCharUpperCase($part); } // END - foreach // Store the converted string in cache array @@ -2430,6 +2441,54 @@ function capitalizeUnderscoreString ($str) { return $GLOBALS[__FUNCTION__][$str]; } +// Generate admin links for mail order +// mailType can be: 'mid' or 'bid' +function generateAdminMailLinks ($mailType, $mailId) { + // Init variables + $OUT = ''; + $table = ''; + + // Default column for mail status is 'data_type' + // @TODO Rename column data_type to e.g. mail_status + $statusColumn = 'data_type'; + + // Which mail do we have? + switch ($mailType) { + case 'bid': // Bonus mail + $table = 'bonus'; + break; + + case 'mid': // Member mail + $table = 'pool'; + break; + + default: // Handle unsupported types + logDebugMessage(__FUNCTION__, __LINE__, 'Unsupported mail type ' . $mailType . ' for mailId=' . $mailId . ' detected.'); + $OUT = '
{%message,ADMIN_UNSUPPORTED_MAIL_TYPE_DETECTED=' . $mailType . '%}
'; + break; + } // END - switch + + // Is the mail type supported? + if (!empty($table)) { + // Query for the mail + $result = SQL_QUERY_ESC("SELECT `id`, `%s` AS `mail_status` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `id`=%s LIMIT 1", + array($statusColumn, $table, bigintval($mailId)), __FILE__, __LINE__); + + // Do we have one entry there? + if (SQL_NUMROWS($result) == 1) { + // Load the entry + $content = SQL_FETCHARRAY($result); + die('
'.print_r($content, true).'
'); + } // END - if + + // Free result + SQL_FREERESULT($result); + } // END - if + + // Return generated HTML code + return $OUT; +} + //----------------------------------------------------------------------------- // Automatically re-created functions, all taken from user comments on www.php.net //-----------------------------------------------------------------------------