Reset rewritten, SQL fixed, zeros are now numeric
[mailer.git] / inc / functions.php
index bfe60aa6e7b6439b30ec62198d4ea384d710b102..8b416e865c721fa80ad535632a30afbe752e7a18 100644 (file)
@@ -53,6 +53,7 @@ function is_INCWritable($inc) {
 // Open a table (you may want to add some header stuff here)
 function OPEN_TABLE($PERCENT = "", $CLASS = "", $ALIGN="left", $VALIGN="", $td_only=false) {
        global $table_cnt;
+
        // Count tables so we can generate CSS classes for every table... :-)
        if (empty($CLASS)) {
                // Class is empty so count one up and create a class
@@ -596,7 +597,7 @@ function FRAMETESTER($URL) {
 }
 //
 function SELECTION_COUNT($array) {
-       $ret = "0";
+       $ret = 0;
        if (is_array($array)) {
                foreach ($array as $key => $sel) {
                        if (!empty($sel)) $ret++;
@@ -718,7 +719,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") {
                $DATA[10]   = $UID;
 
                // Replace variables
-               foreach ($REPLACER as $key=>$value)
+               foreach ($REPLACER as $key => $value)
                {
                        if (isset($DATA[$key])) $content = str_replace($value, $DATA[$key], $content);
                }
@@ -768,7 +769,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") {
                $MAILID     = $DATA[11];
 
                // Replace variables
-               foreach ($REPLACER as $key=>$value)
+               foreach ($REPLACER as $key => $value)
                {
                        if (isset($DATA[$key])) $content = str_replace($value, $DATA[$key], $content);
                }
@@ -859,38 +860,42 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") {
        } // END - if
 
        // Now does the final template exists?
+       $newContent = "";
        if (FILE_READABLE($file)) {
                // The local file does exists so we load it. :)
                $tmpl_file = @implode("", @file($file));
                $tmpl_file = addslashes($tmpl_file);
 
-               // Compile code
-               $tmpl_file = COMPILE_CODE($tmpl_file);
-
                // Run code
-               $tmpl_file = "\$content=\"".$tmpl_file."\";";
+               $tmpl_file = "\$newContent=\"".COMPILE_CODE($tmpl_file)."\";";
                eval($tmpl_file);
 
-               // Replace HTML confirm chars
-               $content = html_entity_decode($content);
+               // Replace HTML conform chars
+               $newContent = html_entity_decode($newContent);
        } elseif (!empty($template)) {
                // Template file not found!
-               $content = TEMPLATE_404.": ".$template."<br />
+               $newContent = TEMPLATE_404.": ".$template."<br />
 ".TEMPLATE_CONTENT."
-<PRE>".print_r($content, true)."</PRE>
+<PRE>".print_r($newContent, true)."</PRE>
 ".TEMPLATE_DATA."
 <PRE>".print_r($DATA, true)."</PRE>
 <br /><br />";
 
                // Debug mode not active? Then remove the HTML tags
-               if (!DEBUG_MODE) $content = strip_tags($content);
+               if (!DEBUG_MODE) $newContent = strip_tags($newContent);
        } else {
                // No template name supplied!
-               $content = NO_TEMPLATE_SUPPLIED;
+               $newContent = NO_TEMPLATE_SUPPLIED;
        }
 
+       // Is there some content?
+       if (empty($newContent)) {
+               // Compiling failed
+               $newContent = "Compiler error for template {$template}!";
+       } // END - if
+
        // Return compiled content
-       return COMPILE_CODE($content);
+       return COMPILE_CODE($newContent);
 }
 //
 function MAKE_TIME($H, $M, $S, $stamp) {
@@ -904,7 +909,7 @@ function MAKE_TIME($H, $M, $S, $stamp) {
 }
 //
 function LOAD_URL($URL, $addUrlData=true) {
-       global $CSS, $_CONFIG, $link, $db, $footer;
+       global $CSS, $_CONFIG, $footer;
 
        // Check if http(s):// is there
        if ((substr($URL, 0, 7) != "http://") && (substr($URL, 0, 8) != "https://")) {
@@ -982,20 +987,21 @@ function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
        if ((count($matches) > 0) && (count($matches[0]) > 0)) {
                // Replace all matches
                $matchesFound = array();
-               foreach ($matches[0] as $key=>$match) {
+               foreach ($matches[0] as $key => $match) {
                        // Avoid replacing matches multiple times
                        if (!isset($matchesFound[$match])) {
                                // Not yet replaced!
                                $code = str_replace($match, "\".".$match.".\"", $code);
                                $matchesFound[$match] = 1;
-                       }
+                       } // END - if
 
                        // Take all string elements
                        if (("".bigintval($matches[4][$key])."" != $matches[4][$key]) && (!isset($matchesFound[$key."_".$matches[4][$key]]))) {
                                // Replace it in the code
-                               $code = str_replace("[".$matches[4][$key]."]", "['".$matches[4][$key]."']", $code);
+                               $newMatch = str_replace("[".$matches[4][$key]."]", "['".$matches[4][$key]."']", $match);
+                               $code = str_replace($match, $newMatch, $code);
                                $matchesFound[$key."_".$matches[4][$key]] = 1;
-                       }
+                       } // END - if
                }
        }
 
@@ -1024,9 +1030,9 @@ function array_pk_sort(&$array, $a_sort, $primary_key = 0, $order = -1, $nums =
        $dummy = $array;
        while ($primary_key < count($a_sort))
        {
-               foreach ($dummy[$a_sort[$primary_key]] as $key=>$value)
+               foreach ($dummy[$a_sort[$primary_key]] as $key => $value)
                {
-                       foreach ($dummy[$a_sort[$primary_key]] as $key2=>$value2)
+                       foreach ($dummy[$a_sort[$primary_key]] as $key2 => $value2)
                        {
                                $match = false;
                                if (!$nums)
@@ -1043,7 +1049,7 @@ function array_pk_sort(&$array, $a_sort, $primary_key = 0, $order = -1, $nums =
                                if ($match)
                                {
                                        // We have found two different values, so let's sort whole array
-                                       foreach ($dummy as $sort_key=>$sort_val)
+                                       foreach ($dummy as $sort_key => $sort_val)
                                        {
                                                $t                       = $dummy[$sort_key][$key];
                                                $dummy[$sort_key][$key]  = $dummy[$sort_key][$key2];
@@ -1084,16 +1090,16 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0")
        case "day": // Day
                for ($idx = 1; $idx < 32; $idx++)
                {
-                       $OUT .= "      <OPTION value=\"".$idx."\"";
+                       $OUT .= "<OPTION value=\"".$idx."\"";
                        if ($DEFAULT == $idx) $OUT .= " selected=\"selected\"";
                        $OUT .= ">".$idx."</OPTION>\n";
                }
                break;
 
        case "month": // Month
-               foreach ($MONTH_DESCR as $month=>$descr)
+               foreach ($MONTH_DESCR as $month => $descr)
                {
-                       $OUT .= "      <OPTION value=\"".$month."\"";
+                       $OUT .= "<OPTION value=\"".$month."\"";
                        if ($DEFAULT == $month) $OUT .= " selected=\"selected\"";
                        $OUT .= ">".$descr."</OPTION>\n";
                }
@@ -1108,7 +1114,7 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0")
                {
                        for ($idx = $YEAR; $idx < ($YEAR + 11); $idx++)
                        {
-                               $OUT .= "      <OPTION value=\"".$idx."\"";
+                               $OUT .= "<OPTION value=\"".$idx."\"";
                                if ($DEFAULT == $idx) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
@@ -1118,17 +1124,17 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0")
                        // Current year minus 1
                        for ($idx = 2003; $idx <= ($YEAR + 1); $idx++)
                        {
-                               $OUT .= "      <OPTION value=\"".$idx."\">".$idx."</OPTION>\n";
+                               $OUT .= "<OPTION value=\"".$idx."\">".$idx."</OPTION>\n";
                        }
                }
                 else
                {
                        // Get current year and subtract 16 (for erotic content)
-                       $OUT .= "      <OPTION value=\"1929\">&lt;1930</OPTION>\n";
+                       $OUT .= "<OPTION value=\"1929\">&lt;1930</OPTION>\n";
                        $YEAR = date('Y', time()) - 16;
                        for ($idx = 1930; $idx <= $YEAR; $idx++)
                        {
-                               $OUT .= "      <OPTION value=\"".$idx."\"";
+                               $OUT .= "<OPTION value=\"".$idx."\"";
                                if ($DEFAULT == $idx) $OUT .= " selected=\"selected\"";
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
@@ -1137,30 +1143,27 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0")
 
        case "sec":
        case "min":
-               for ($idx = 0; $idx < 60; $idx+=5)
-               {
+               for ($idx = 0; $idx < 60; $idx+=5) {
                        if (strlen($idx) == 1) $idx = "0".$idx;
-                       $OUT .= "      <OPTION value=\"".$idx."\"";
+                       $OUT .= "<OPTION value=\"".$idx."\"";
                        if ($DEFAULT == $idx) $OUT .= " selected=\"selected\"";
                        $OUT .= ">".$idx."</OPTION>\n";
                }
                break;
 
        case "hour":
-               for ($idx = 0; $idx < 24; $idx++)
-               {
+               for ($idx = 0; $idx < 24; $idx++) {
                        if (strlen($idx) == 1) $idx = "0".$idx;
-                       $OUT .= "      <OPTION value=\"".$idx."\"";
+                       $OUT .= "<OPTION value=\"".$idx."\"";
                        if ($DEFAULT == $idx) $OUT .= " selected=\"selected\"";
                        $OUT .= ">".$idx."</OPTION>\n";
                }
                break;
 
        case "yn":
-               $OUT .= "      <OPTION value=\"Y\"";
+               $OUT .= "<OPTION value=\"Y\"";
                if ($DEFAULT == "Y") $OUT .= " selected=\"selected\"";
-               $OUT .= ">".YES."</OPTION>
-                       <OPTION value=\"N\"";
+               $OUT .= ">".YES."</OPTION>\n<OPTION value=\"N\"";
                if ($DEFAULT == "N") $OUT .= " selected=\"selected\"";
                $OUT .= ">".NO."</OPTION>\n";
                break;
@@ -1296,17 +1299,20 @@ function GENERATE_IMAGE($img_code, $header=true) {
        // Remove image from memory
        imagedestroy($image);
 }
-function CREATE_TIME_SELECTIONS($timestamp, $prefix="", $display="", $align="center", $return_array=false)
-{
+// Create selection box or array of splitted timestamp
+function CREATE_TIME_SELECTIONS($timestamp, $prefix="", $display="", $align="center", $return_array=false) {
        // Calculate 15-seconds timestamp (15-seconds-steps shall be fine ;) )
        $timestamp = round($timestamp / 15) * 15;
+
        // Do we have a leap year?
        $SWITCH = 0;
        $TEST = date('Y', time()) / 4;
        $M1 = date("m", time());
        $M2 = date("m", (time() + $timestamp));
+
        // If so and if current time is before 02/29 and estimated time is after 02/29 then add 86400 seconds (one day)
        if ((floor($TEST) == $TEST) && ($M1 == "02") && ($M2 > "02"))  $SWITCH = ONE_DAY;
+
        // First of all years...
        $Y = abs(floor($timestamp / (31536000 + $SWITCH)));
        // Next months...
@@ -1321,11 +1327,11 @@ function CREATE_TIME_SELECTIONS($timestamp, $prefix="", $display="", $align="cen
        $m = abs(floor($timestamp / 60 - $Y * (365 + $SWITCH / ONE_DAY) * 24 * 60 - ($M / 12 * (365 + $SWITCH / ONE_DAY) * 24 * 60) - $W * 7 * 24 * 60 - $D * 24 * 60 - $h * 60));
        // And at last seconds...
        $s = abs(floor($timestamp - $Y * (365 + $SWITCH / ONE_DAY) * 24 * 3600 - ($M / 12 * (365 + $SWITCH / ONE_DAY) * 24 * 3600) - $W * 7 * 24 * 3600 - $D * 24 * 3600 - $h * 3600 - $m * 60));
+
        //
        // Now we convert them in seconds...
        //
-       if ($return_array)
-       {
+       if ($return_array) {
                // Just put all data in an array for later use
                $OUT = array(
                        'YEARS'   => $Y,
@@ -1336,61 +1342,57 @@ function CREATE_TIME_SELECTIONS($timestamp, $prefix="", $display="", $align="cen
                        'MINUTES' => $m,
                        'SECONDS' => $s
                );
-       }
-        else
-       {
+       } else {
                // Generate table
                $OUT  = "<DIV align=\"".$align."\">\n";
                $OUT .= "<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_table dashed\">\n";
                $OUT .= "<TR>\n";
-               if (ereg('Y', $display) || (empty($display)))
-               {
+
+               if (ereg('Y', $display) || (empty($display))) {
                        $OUT .= "  <TD align=\"center\" class=\"admin_title bottom\"><STRONG class=\"tiny\">"._YEARS."</STRONG></TD>\n";
                }
-               if (ereg("M", $display) || (empty($display)))
-               {
+
+               if (ereg("M", $display) || (empty($display))) {
                        $OUT .= "  <TD align=\"center\" class=\"admin_title bottom\"><STRONG class=\"tiny\">"._MONTHS."</STRONG></TD>\n";
                }
-               if (ereg("W", $display) || (empty($display)))
-               {
+
+               if (ereg("W", $display) || (empty($display))) {
                        $OUT .= "  <TD align=\"center\" class=\"admin_title bottom\"><STRONG class=\"tiny\">"._WEEKS."</STRONG></TD>\n";
                }
-               if (ereg("D", $display) || (empty($display)))
-               {
+
+               if (ereg("D", $display) || (empty($display))) {
                        $OUT .= "  <TD align=\"center\" class=\"admin_title bottom\"><STRONG class=\"tiny\">"._DAYS."</STRONG></TD>\n";
                }
-               if (ereg("h", $display) || (empty($display)))
-               {
+
+               if (ereg("h", $display) || (empty($display))) {
                        $OUT .= "  <TD align=\"center\" class=\"admin_title bottom\"><STRONG class=\"tiny\">"._HOURS."</STRONG></TD>\n";
                }
-               if (ereg("m", $display) || (empty($display)))
-               {
+
+               if (ereg("m", $display) || (empty($display))) {
                        $OUT .= "  <TD align=\"center\" class=\"admin_title bottom\"><STRONG class=\"tiny\">"._MINUTES."</STRONG></TD>\n";
                }
-               if (ereg("s", $display) || (empty($display)))
-               {
+
+               if (ereg("s", $display) || (empty($display))) {
                        $OUT .= "  <TD align=\"center\" class=\"admin_title bottom\"><STRONG class=\"tiny\">"._SECONDS."</STRONG></TD>\n";
                }
+
                $OUT .= "</TR>\n";
                $OUT .= "<TR>\n";
-               if (ereg('Y', $display) || (empty($display)))
-               {
+
+               if (ereg('Y', $display) || (empty($display))) {
                        // Generate year selection
                        $OUT .= "  <TD align=\"center\"><SELECT class=\"mini_select\" name=\"".$prefix."_ye\" size=\"1\">\n";
-                       for ($idx = 0; $idx <= 10; $idx++)
-                       {
+                       for ($idx = 0; $idx <= 10; $idx++) {
                                $OUT .= "    <OPTION class=\"mini_select\" value=\"".$idx."\"";
                                if ($idx == $Y) $OUT .= " selected default";
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
                        $OUT .= "  </SELECT></TD>\n";
-               }
-                else
-               {
+               } else {
                        $OUT .= "<INPUT type=\"hidden\" name=\"".$prefix."_ye\" value=\"0\">\n";
                }
-               if (ereg("M", $display) || (empty($display)))
-               {
+
+               if (ereg("M", $display) || (empty($display))) {
                        // Generate month selection
                        $OUT .= "  <TD align=\"center\"><SELECT class=\"mini_select\" name=\"".$prefix."_mo\" size=\"1\">\n";
                        for ($idx = 0; $idx <= 11; $idx++)
@@ -1400,89 +1402,72 @@ function CREATE_TIME_SELECTIONS($timestamp, $prefix="", $display="", $align="cen
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
                        $OUT .= "  </SELECT></TD>\n";
-               }
-                else
-               {
+               } else {
                        $OUT .= "<INPUT type=\"hidden\" name=\"".$prefix."_mo\" value=\"0\">\n";
                }
-               if (ereg("W", $display) || (empty($display)))
-               {
+
+               if (ereg("W", $display) || (empty($display))) {
                        // Generate week selection
                        $OUT .= "  <TD align=\"center\"><SELECT class=\"mini_select\" name=\"".$prefix."_we\" size=\"1\">\n";
-                       for ($idx = 0; $idx <= 4; $idx++)
-                       {
+                       for ($idx = 0; $idx <= 4; $idx++) {
                                $OUT .= "  <OPTION class=\"mini_select\" value=\"".$idx."\"";
                                if ($idx == $W) $OUT .= " selected default";
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
                        $OUT .= "  </SELECT></TD>\n";
-               }
-                else
-               {
+               } else {
                        $OUT .= "<INPUT type=\"hidden\" name=\"".$prefix."_we\" value=\"0\">\n";
                }
-               if (ereg("D", $display) || (empty($display)))
-               {
+
+               if (ereg("D", $display) || (empty($display))) {
                        // Generate day selection
                        $OUT .= "  <TD align=\"center\"><SELECT class=\"mini_select\" name=\"".$prefix."_da\" size=\"1\">\n";
-                       for ($idx = 0; $idx <= 31; $idx++)
-                       {
+                       for ($idx = 0; $idx <= 31; $idx++) {
                                $OUT .= "  <OPTION class=\"mini_select\" value=\"".$idx."\"";
                                if ($idx == $D) $OUT .= " selected default";
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
                        $OUT .= "  </SELECT></TD>\n";
-               }
-                else
-               {
+               } else {
                        $OUT .= "<INPUT type=\"hidden\" name=\"".$prefix."_da\" value=\"0\">\n";
                }
-               if (ereg("h", $display) || (empty($display)))
-               {
+
+               if (ereg("h", $display) || (empty($display))) {
                        // Generate hour selection
                        $OUT .= "  <TD align=\"center\"><SELECT class=\"mini_select\" name=\"".$prefix."_ho\" size=\"1\">\n";
-                       for ($idx = 0; $idx <= 23; $idx++)
-                       {
+                       for ($idx = 0; $idx <= 23; $idx++)      {
                                $OUT .= "  <OPTION class=\"mini_select\" value=\"".$idx."\"";
                                if ($idx == $h) $OUT .= " selected default";
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
                        $OUT .= "  </SELECT></TD>\n";
-               }
-                else
-               {
+               } else {
                        $OUT .= "<INPUT type=\"hidden\" name=\"".$prefix."_ho\" value=\"0\">\n";
                }
-               if (ereg("m", $display) || (empty($display)))
-               {
+
+               if (ereg("m", $display) || (empty($display))) {
                        // Generate minute selection
                        $OUT .= "  <TD align=\"center\"><SELECT class=\"mini_select\" name=\"".$prefix."_mi\" size=\"1\">\n";
-                       for ($idx = 0; $idx <= 59; $idx++)
-                       {
+                       for ($idx = 0; $idx <= 59; $idx++) {
                                $OUT .= "  <OPTION class=\"mini_select\" value=\"".$idx."\"";
                                if ($idx == $m) $OUT .= " selected default";
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
                        $OUT .= "  </SELECT></TD>\n";
-               }
-                else
-               {
+               } else {
                        $OUT .= "<INPUT type=\"hidden\" name=\"".$prefix."_mi\" value=\"0\">\n";
                }
-               if (ereg("s", $display) || (empty($display)))
-               {
+
+               if (ereg("s", $display) || (empty($display))) {
                        // Generate second selection
                        $OUT .= "  <TD align=\"center\"><SELECT class=\"mini_select\" name=\"".$prefix."_se\" size=\"1\">\n";
-                       for ($idx = 0; $idx <= 45; $idx+=15)
-                       {
+                       for ($idx = 0; $idx <= 45; $idx += 15) {
                                $OUT .= "  <OPTION class=\"mini_select\" value=\"".$idx."\"";
                                if ($idx == $s) $OUT .= " selected default";
                                $OUT .= ">".$idx."</OPTION>\n";
                        }
                        $OUT .= "  </SELECT></TD>\n";
-               }
-                else
-               {
+               } else {
                        $OUT .= "<INPUT type=\"hidden\" name=\"".$prefix."_se\" value=\"0\">\n";
                }
                $OUT .= "</TR>\n";
@@ -1494,7 +1479,8 @@ function CREATE_TIME_SELECTIONS($timestamp, $prefix="", $display="", $align="cen
 }
 //
 function CREATE_TIMESTAMP_FROM_SELECTIONS($prefix, $POST) {
-       $ret = "0";
+       $ret = 0;
+
        // Do we have a leap year?
        $SWITCH = 0;
        $TEST = date('Y', time()) / 4;
@@ -1577,7 +1563,7 @@ function CREATE_FANCY_TIME($stamp) {
        // Get data array with years/months/weeks/days/...
        $data = CREATE_TIME_SELECTIONS($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
                        $eval = "\$ret .= \", \".\$v.\" \"._".strtoupper($k).";";
@@ -2031,15 +2017,14 @@ function scrambleString($str) {
 
                // Add it to final output string
                $scrambled .= $char;
-       }
+       } // END - for
 
        // Return scrambled string
        //* DEBUG: */ echo "***Scrambled=".$scrambled."***<br />";
        return $scrambled;
 }
 //
-function descrambleString($str)
-{
+function descrambleString($str) {
        global $_CONFIG;
        // Scramble only 40 chars long strings
        if (strlen($str) != 40) return $str;
@@ -2053,11 +2038,10 @@ function descrambleString($str)
        // Begin descrambling
        $orig = str_repeat(" ", 40);
        //* DEBUG: */ echo "+++Scrambled=".$str."+++<br />";
-       for ($idx = 0; $idx < 40; $idx++)
-       {
+       for ($idx = 0; $idx < 40; $idx++) {
                $char = substr($str, $idx, 1);
                $orig = substr_replace($orig, $char, $scrambleNums[$idx], 1);
-       }
+       } // END - for
 
        // Return scrambled string
        //* DEBUG: */ echo "+++Original=".$orig."+++<br />";
@@ -2077,11 +2061,11 @@ function genScrambleString($len) {
                // Check for it by creating more numbers
                while (array_key_exists($rand, $scrambleNumbers)) {
                        $rand = mt_rand(0, ($len -1));
-               }
+               } // END - while
 
                // Add number
                $scrambleNumbers[$rand] = $rand;
-       }
+       } // END - for
 
        // So let's create the string for storing it in database
        $scrambleString = implode(":", $scrambleNumbers);
@@ -2089,8 +2073,7 @@ function genScrambleString($len) {
 }
 // Append data like session ID referral ID to the given URL which would
 // normally be stored in cookies
-function ADD_URL_DATA($URL)
-{
+function ADD_URL_DATA($URL) {
        global $_CONFIG;
        $ADD = "";
 
@@ -2119,7 +2102,7 @@ function ADD_URL_DATA($URL)
                        // Add current session
                        $ADD .= $BIND."PHPSESSID=".session_id();
                }
-       }
+       } // END - if
 
        // Add all together and return it
        return $URL.$ADD;
@@ -2175,8 +2158,8 @@ function FIX_DELETED_COOKIES ($cookies) {
                        if (get_session($cookieName) == "deleted") {
                                set_session($cookieName, "");
                        }
-               }
-       }
+               } // END - foreach
+       } // END - if
 }
 
 // Output error messages in a fasioned way and die...
@@ -2362,7 +2345,7 @@ function GET_DIR_AS_ARRAY ($baseDir, $prefix) {
 }
 // Load more reset scripts
 function RESET_ADD_INCLUDES () {
-       global $_CONFIG, $INC_POOL;
+       global $_CONFIG;
 
        // Is the reset set or old sql_patches?
        if ((!isBooleanConstantAndTrue('__DAILY_RESET')) || (GET_EXT_VERSION("sql_patches") < "0.4.5")) {
@@ -2371,7 +2354,7 @@ function RESET_ADD_INCLUDES () {
        } // END - if
 
        // Get more daily reset scripts
-       $INC_POOL = array_merge($INC_POOL, GET_DIR_AS_ARRAY(PATH."inc/reset/", "reset_"));
+       $INC_POOL = GET_DIR_AS_ARRAY(PATH."inc/reset/", "reset_");
 
        // Create current week mark
        $currWeek = date("W", time());
@@ -2396,6 +2379,9 @@ function RESET_ADD_INCLUDES () {
                // Update config
                UPDATE_CONFIG("last_month", $currMonth);
        } // END - if
+
+       // Return array
+       return $INC_POOL;
 }
 // Handle extra values
 function HANDLE_EXTRA_VALUES ($filterFunction, $value, $extraValue) {
@@ -2404,23 +2390,26 @@ function HANDLE_EXTRA_VALUES ($filterFunction, $value, $extraValue) {
 
        // Do we have a special filter function?
        if (!empty($filterFunction)) {
-               // Do we have extra parameters here?
-               if (!empty($extraValue)) {
-                       // Put both parameters in one new array by default
-                       $args = array($value, $extraValue);
-
-                       // If we have an array simply use it and pre-extend it with our value
-                       if (is_array($extraValue)) {
-                               // Make the new args array
-                               $args = array_merge(array($vaue), $extraValue);
-                       } // END - if
-
-                       // Call the multi-parameter call-back
-                       $ret = call_user_func_array($filterFunction, $args);
-               } else {
-                       // One parameter call
-                       $ret = call_user_func($filterFunction, $value);
-               }
+               // Does the filter function exist?
+               if (function_exists($filterFunction)) {
+                       // Do we have extra parameters here?
+                       if (!empty($extraValue)) {
+                               // Put both parameters in one new array by default
+                               $args = array($value, $extraValue);
+
+                               // If we have an array simply use it and pre-extend it with our value
+                               if (is_array($extraValue)) {
+                                       // Make the new args array
+                                       $args = array_merge(array($value), $extraValue);
+                               } // END - if
+
+                               // Call the multi-parameter call-back
+                               $ret = call_user_func_array($filterFunction, $args);
+                       } else {
+                               // One parameter call
+                               $ret = call_user_func($filterFunction, $value);
+                       }
+               } // END - if
        } // END - if
 
        // Return the value
@@ -2431,6 +2420,41 @@ function FILE_READABLE($fqfn) {
        // Check all...
        return ((file_exists($fqfn)) && (is_file($fqfn)) && (is_readable($fqfn)));
 }
+// Converts timestamp selections into a timestamp
+function CONVERT_SELECTIONS_TO_TIMESTAMP(&$POST, &$DATA, &$id, &$skip) {
+       // Init test variable
+       $TEST2 = "";
+
+       // Get last three chars
+       $TEST = substr($id, -3);
+
+       // Improved way of checking! :-)
+       if (in_array($TEST, array("_ye", "_mo", "_we", "_da", "_ho", "_mi", "_se"))) {
+               // Found a multi-selection for timings?
+               $TEST = substr($id, 0, -3);
+               if ((isset($POST[$TEST."_ye"])) && (isset($POST[$TEST."_mo"])) && (isset($POST[$TEST."_we"])) && (isset($POST[$TEST."_da"])) && (isset($POST[$TEST."_ho"])) && (isset($POST[$TEST."_mi"])) && (isset($POST[$TEST."_se"])) && ($TEST != $TEST2)) {
+                       // Generate timestamp
+                       $POST[$TEST] = CREATE_TIMESTAMP_FROM_SELECTIONS($TEST, $POST);
+                       $DATA[] = "$TEST='".$POST[$TEST]."'";
+
+                       // Remove data from array
+                       foreach (array("ye", "mo", "we", "da", "ho", "mi", "se") as $rem) {
+                               unset($POST[$TEST."_".$rem]);
+                       } // END - foreach
+
+                       // Skip adding
+                       unset($id); $skip = true; $TEST2 = $TEST;
+               } // END - if
+       } else {
+               // Process this entry
+               $skip = false; $TEST2 = "";
+       }
+}
+// Reverts the german decimal comma into Computer decimal dot
+function REVERT_COMMA ($str) {
+       $float = (float)str_replace(",", ".", $str);
+       return $float;
+}
 //
 //////////////////////////////////////////////////
 //                                              //
@@ -2445,7 +2469,7 @@ if (!function_exists('html_entity_decode')) {
                $trans_tbl = array_flip($trans_tbl);
                return strtr($string, $trans_tbl);
        }
-}
+} // END - if
 
 //
 ?>