From 2fefff87c451bdf1fb9d7e2279621a26c4b6650c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Tue, 10 Mar 2009 16:24:54 +0000 Subject: [PATCH] Rewritten 'page=finalize' in installer, integrated stelzi's rev. 904 (more comments) --- inc/functions.php | 41 +++++++++++-------- inc/language/de.php | 2 +- inc/language/en.php | 2 +- .../de/html/install/install_finished.tpl | 12 ++++-- theme/business/css/install.css | 6 +++ theme/default/css/install.css | 3 ++ theme/desert/css/install.css | 6 +++ 7 files changed, 50 insertions(+), 22 deletions(-) diff --git a/inc/functions.php b/inc/functions.php index 43eac3f8f3..a3fb34dbd0 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -2627,6 +2627,7 @@ function getActualVersion ($type = 'Revision') { } // Repares an array we are looking for +// The returned Array is needed twice (in getAkt_vers() and in getActualVersion() in the old .revision-fallback) so I puted it in an extra function to not polute the global namespace function getSearchFor () { // Add Revision, Date, Tag and Author $searchFor = array('Revision', 'Date', 'Tag', 'Author'); @@ -2637,47 +2638,53 @@ function getSearchFor () { function getAkt_vers () { // Init variables - $next_dir = ""; + $next_dir = ""; // Directory to start with search $last_changed = array( 'path_name' => "", 'time' => 0 ); - $akt_vers = array(); - $res = 0; + $akt_vers = array(); // Init return array + $res = 0; // Init value for counting the founded keywords // Searches all Files and there date of the last modifikation and puts the newest File in $last_changed. - searchDirsRecursive($next_dir, $last_changed); + searchDirsRecursive($next_dir, $last_changed); // @TODO small change to API to $last_changed = searchDirsRecursive($next_dir, $time); // Get file $last_file = READ_FILE($last_changed['path_name']); + + // Get all the keywords to search for $searchFor = getSearchFor(); - // @TODO What does this loop/regex do? Document it, please. + // This foreach loops the $searchFor-Tags (array('Revision', 'Date', 'Tag', 'Author') --> could easaly extended in the future) foreach ($searchFor as $search) { + //Searches for "$search-tag:VALUE$" or "$search-tag::VALUE$"(the stylish keywordversion ;-)) in the lates modified file $res += preg_match('@\$'.$search.'(:|::) (.*) \$@U', $last_file, $t); + // This trimms the search-result and puts it in the $akt_vers-return array if (isset($t[2])) $akt_vers[$search] = trim($t[2]); } // END - foreach + // at least 3 keyword-Tags are needed for propper values if ($res && $res >= 3) { - // Prepare content - preg_match('@(....)-(..)-(..) (..):(..):(..)@', $akt_vers['Date'], $match_d); + // Prepare content witch need special treadment // Prepare timestamp for date + preg_match('@(....)-(..)-(..) (..):(..):(..)@', $akt_vers['Date'], $match_d); $akt_vers['Date'] = mktime($match_d[4], $match_d[5], $match_d[6], $match_d[2], $match_d[3], $match_d[1]); - // Add Tag if the author is set and is not quix0r (lead coder) + // Add author to the Tag if the author is set and is not quix0r (lead coder) if ((isset($akt_vers['Author'])) && ($akt_vers['Author'] != "quix0r")) { $akt_vers['Tag'] .= '-'.strtoupper($akt_vers['Author']); } // END - if } else { - // No valid Data from the last modificated file so read the Revision from the Server. Fallback-solution!! Could be removed I think. + // No valid Data from the last modificated file so read the Revision from the Server. Fallback-solution!! Should not be removed I think. $version = GET_URL("check-updates3.php"); // Prepare content - $akt_vers['Revision'] = trim($version[10]); - $akt_vers['Date'] = trim($version[9]); - $akt_vers['Tag'] = trim($version[8]); - $akt_vers['Author'] = "quix0r"; + // Only sets not setted or not proper values to the Online-Server-Fallback-Solution + if (!isset($akt_vers['Revision']) || $akt_vers['Revision'] == '') $akt_vers['Revision'] = trim($version[10]); + if (!isset($akt_vers['Date']) || $akt_vers['Date'] == '') $akt_vers['Date'] = trim($version[9]); + if (!isset($akt_vers['Tag']) || $akt_vers['Tag'] == '') $akt_vers['Tag'] = trim($version[8]); + if (!isset($akt_vers['Author']) || $akt_vers['Author'] == '') $akt_vers['Author'] = "quix0r"; } // Return prepared array @@ -3097,6 +3104,7 @@ function DEBUG_LOG ($funcFile, $line, $message, $force=true) { // Reads a directory with PHP files in and gets only files back function GET_DIR_AS_ARRAY ($baseDir, $prefix, $includeDirs = false, $addBaseDir = true) { + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "baseDir={$baseDir},prefix={$prefix} - Entered!"); // Init includes $INCs = array(); @@ -3110,7 +3118,7 @@ function GET_DIR_AS_ARRAY ($baseDir, $prefix, $includeDirs = false, $addBaseDir $FQFN = constant('PATH') . $INC; // Is this a valid reset file? - //* DEBUG: */ print __FUNCTION__."(".__LINE__."):baseDir={$baseDir},prefix={$prefix},baseFile={$baseFile}
\n"; + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "baseDir={$baseDir},prefix={$prefix},baseFile={$baseFile}"); if (((FILE_READABLE($FQFN)) && (substr($baseFile, 0, strlen($prefix)) == $prefix) && (substr($baseFile, -4, 4) == ".php")) || (($includeDirs) && (isDirectory($FQFN)))) { // Remove both for extension name $extName = substr($baseFile, strlen($prefix), -4); @@ -3121,11 +3129,11 @@ function GET_DIR_AS_ARRAY ($baseDir, $prefix, $includeDirs = false, $addBaseDir // Is the extension valid and active? if (($extId > 0) && (EXT_IS_ACTIVE($extName))) { // Then add this file - //* DEBUG: */ print __FUNCTION__."(".__LINE__."): Extension entry ".$baseFile." added.
\n"; + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " Extension entry ".$baseFile." added."); $INCs[] = $INC; } elseif ($extId == 0) { // Add non-extension files as well - //* DEBUG: */ print __FUNCTION__."(".__LINE__."): Regular entry ".$baseFile." added.
\n"; + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " Regular entry ".$baseFile." added."); if ($addBaseDir) { $INCs[] = $INC; } else { @@ -3142,6 +3150,7 @@ function GET_DIR_AS_ARRAY ($baseDir, $prefix, $includeDirs = false, $addBaseDir asort($INCs); // Return array with include files + //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, " - Left!"); return $INCs; } diff --git a/inc/language/de.php b/inc/language/de.php index 8c7ee50d44..cbfb985c55 100644 --- a/inc/language/de.php +++ b/inc/language/de.php @@ -85,7 +85,7 @@ define('RETURN_MYSQL_PAGE', "Zurück zu den MySQL-Einstellungen"); define('INSTALL_FINALIZER_FAILED', "Während der Installation ist ein unerwarteter Fehler aufgetreten! Der Finalizer konnte die Installation nicht abschliessen!"); define('INSTALL_MAYBE_DONE', "Die Installation ist möglicherweise abgeschlossen oder es ist ein unerwarteter Fehler aufgetreten!"); define('INSTALL_FINISHED', "Die Installation ist abgeschlossen! :-)"); -define('INSTALL_FIN_SECU', "Sicherheitshinweise:
Installieren Sie eine .htaccess Datei in alle Unterverzeichnisse ab dem Verzeichnis inc!"); +define('INSTALL_FIN_SECU', "Sie sollten jetzt die Dateien install.php und inc/install-inc.php von Ihrem Server löschen. Dies ist zwar normalerweise nicht erforderlich, Sie sollten es aber dennoch tun, um die Sicherheit zusätzlich zu erhöhen."); define('CONTINUE_ADMIN', "Weiter zum Administrationsbereich..."); define('RUNTIME_PROBLEMS_DETECTED', "Laufzeit-Problem erkannt!"); define('FATAL_INC_WRITABLE', "Das Verzeichnis inc ist beschreibbar! Bitte setzen Sie die Zugriffsrechte auf 755 oder 555."); diff --git a/inc/language/en.php b/inc/language/en.php index 3a54312b09..7c3b0231e4 100644 --- a/inc/language/en.php +++ b/inc/language/en.php @@ -90,7 +90,7 @@ define('RETURN_MYSQL_PAGE', "Back to MySQL settings"); define('INSTALL_FINALIZER_FAILED', "While installtion unexpected errors occur! The finalizer cannt finish installation."); define('INSTALL_MAYBE_DONE', "The installation is possibely completed or unexpected errros occur."); define('INSTALL_FINISHED', "Installation is completed! :-)"); -define('INSTALL_FIN_SECU', "Security notes:
Install a .htaccess file in directory inc and templates including all secondary directories."); +define('INSTALL_FIN_SECU', "You should remove install.php and inc/install-inc.php from your server. Normally this is not required. But you should really do it for additional security."); define('CONTINUE_ADMIN', "Continue to administrator's area..."); define('RUNTIME_PROBLEMS_DETECTED', "Runtime-problem detected!"); define('FATAL_INC_WRITABLE', "Directory inc is writeable! Please set the access rights to CHMOD 755."); diff --git a/templates/de/html/install/install_finished.tpl b/templates/de/html/install/install_finished.tpl index faaa84d24c..42771e5761 100644 --- a/templates/de/html/install/install_finished.tpl +++ b/templates/de/html/install/install_finished.tpl @@ -1,7 +1,11 @@ -{--INSTALL_FINISHED--}
-
-{--INSTALL_FIN_SECU--}
-
+
+ {--INSTALL_FINISHED--} +
+ +
+ {--INSTALL_FIN_SECU--} +
+
diff --git a/theme/business/css/install.css b/theme/business/css/install.css index eb175559a0..f4bb44ea0a 100644 --- a/theme/business/css/install.css +++ b/theme/business/css/install.css @@ -62,3 +62,9 @@ .install_security, .install_welcome, .install_intro { color : #000000; } + +.install_security { + width : 350px; + padding-top : 10px; + padding-bottom : 10px; +} diff --git a/theme/default/css/install.css b/theme/default/css/install.css index 41f8a8a3c4..b08a472945 100644 --- a/theme/default/css/install.css +++ b/theme/default/css/install.css @@ -66,6 +66,9 @@ .install_security { color : #AA0000; + width : 350px; + padding-top : 10px; + padding-bottom : 10px; } .install_welcome { diff --git a/theme/desert/css/install.css b/theme/desert/css/install.css index c294aa0b36..472126f37a 100644 --- a/theme/desert/css/install.css +++ b/theme/desert/css/install.css @@ -69,3 +69,9 @@ .install_security, .install_welcome, .install_intro { color : #880000; } + +.install_security { + width : 350px; + padding-top : 10px; + padding-bottom : 10px; +} -- 2.39.5