Renamed function so it might be more understandable
[mailer.git] / inc / gen_sql_patches.php
index 58283c56cb2362f9554a6b43c3dc7c5cea50d2d1..7491cd16ae41d36392a5ac6f40f7dc969aa47751 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 10/08/2005 *
- * ===============                              Last change: 01/01/2006 *
+ * Mailer v0.2.1-FINAL                                Start: 10/08/2005 *
+ * ===================                          Last change: 01/01/2006 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : gen_sql_patches.php                              *
  * $Date::                                                            $ *
  * $Tag:: 0.2.1-FINAL                                                 $ *
  * $Author::                                                          $ *
- * Needs to be in all Files and every File needs "svn propset           *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  ************************************************************************/
 
 // Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
-       require($INC);
-}
-
-// Check for version of sql_patches
-if (GET_EXT_VERSION('sql_patches') < '0.3.6') return false;
+if (!defined('__SECURITY')) {
+       die();
+} // END - if
 
 // Check if there is no scrambling string
-if (getConfig('pass_scramble') == '') {
+if (getPassScramble() == '') {
        // Generate 40 chars long scramble string
        $scrambleString = genScrambleString(40);
 
        // ... and store it there for future usage
-       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_config` SET pass_scramble='%s' WHERE config=0 LIMIT 1",
-               array($scrambleString), __FILE__, __LINE__);
+       updateConfiguration('pass_scramble', $scrambleString);
 
-       // Also remember it in config
-       setConfigEntry('pass_scramble', $scrambleString);
+       // Remove dummy string
        unset($scrambleString);
 } // END - if
 
 // Check if there is no master salt string
-if (getConfig('master_salt') == '') {
+if (getMasterSalt() == '') {
        // Generate the master salt which is the first chars minus 40 chars of this random hash
        // We do an extra scrambling here...
-       $masterSalt = scrambleString(substr(sha1(generatePassword(mt_rand(128, 256))), 0, -40));
+       $masterSalt = scrambleString(sha1(generatePassword(mt_rand(128, 256))));
 
        // ... and store it there for future usage
-       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_config` SET master_salt='%s' WHERE config=0 LIMIT 1",
-               array($masterSalt), __FILE__, __LINE__);
+       updateConfiguration('master_salt', $masterSalt);
 
-       // Also remember it in config
-       setConfigEntry('master_salt', $masterSalt);
+       // Remove dummy string
        unset($masterSalt);
 } // END - if
 
-if (getConfig('file_hash') == '') {
+if (getFileHash() == '') {
        // Create filename from hashed random string
        $fileHash = sha1(generatePassword(mt_rand(128, 256)));
-       $FQFN = sprintf("%sinc/.secret/.%s",
-               constant('PATH'),
+       $FQFN = sprintf("%sinc/cache/.%s.cache",
+               getPath(),
                $fileHash
        );
 
-       // Count of chars to be taken from back of the string
-       $nums = mt_rand(40, 45);
-
        // Generate secret key from a randomized string
-       $secretKey = substr(sha1(generatePassword(mt_rand(128, 256))), -$nums);
+       $secretKey = sha1(generateHash(mt_rand(128, 256)));
 
        // File hash was never created
        writeToFile($FQFN, $secretKey);
 
        // Is the file there?
        if (isFileReadable($FQFN)) {
-               //* DEBUG: */ unlink($FQFN);
-               //* DEBUG: */ $test = hexdec(getSession('u_hash')) / hexdec($secretKey);
-               //* DEBUG: */ $test = generateHash(str_replace('.', '', $test));
-               //* DEBUG: */ die("Secret-Key: ".$secretKey."<br />Cookie: ".getSession('u_hash')."<br />Test: ".$test);
-
-               // Write $fileHash to database
-               SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_config` SET file_hash='%s' WHERE config=0 LIMIT 1",
-                       array($fileHash), __FILE__, __LINE__);
-
-               // Generate FQFN for .htaccess file
-               $FQFN = sprintf("%sinc/.secret/.htaccess",
-                       constant('PATH')
-               );
-
-               // Is the .htaccess file there?
-               if (!isFileReadable($FQFN)) {
-                       // Also create .htaccess file
-                       writeToFile($FQFN, "Deny from all\n");
-               } // END - if
-
                // Also update configuration
                setConfigEntry('secret_key', $secretKey);
-               setConfigEntry('file_hash' , $fileHash);
+               updateConfiguration('file_hash', $fileHash);
 
                // Remove variables
                unset($secretKey);
@@ -123,5 +91,13 @@ if (getConfig('file_hash') == '') {
        } // END - if
 } // END - if
 
-//
-?>
\ No newline at end of file
+// @TODO Rewrite this to a filter
+if ((isExtensionInstalledAndNewer('cache', '0.1.2')) && (isCacheInstanceValid())) {
+       // Destroy some cache files
+       if ($GLOBALS['cache_instance']->loadCacheFile('config'))    $GLOBALS['cache_instance']->removeCacheFile();
+       if ($GLOBALS['cache_instance']->loadCacheFile('extension')) $GLOBALS['cache_instance']->removeCacheFile();
+       if ($GLOBALS['cache_instance']->loadCacheFile('modules'))   $GLOBALS['cache_instance']->removeCacheFile();
+} // END - if
+
+// [EOF]
+?>