X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Frevision-functions.php;h=318f337e260babbf78aad66dc1e06ab4bd07d691;hb=93ccd79d1a3fcb1ee5a101cb6bb670901f154555;hp=de6c340851fddfdc74b1675dfb21922560092f6b;hpb=ffe213c8e3f85119ddd5544214d0de9ecb833d98;p=mailer.git diff --git a/inc/revision-functions.php b/inc/revision-functions.php index de6c340851..318f337e26 100644 --- a/inc/revision-functions.php +++ b/inc/revision-functions.php @@ -14,12 +14,10 @@ * $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 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -42,8 +40,25 @@ if (!defined('__SECURITY')) { die(); } // END - if +// Initializes repository data +function initRepositoryData () { + // Default data values or array indexes if numerical + $GLOBALS['default_repository_data'] = array( + // Main author of this script + 'Author' => 'quix0r', + // No default value for current file name + 'File' => 11, + // No default value for revision number + 'Revision' => 10, + // No default value for date + 'Date' => 9, + // Default branch + 'Tag' => 8 + ); +} + // "Getter" for revision/version data -function getActualVersion ($type = 'Revision') { +function getRepositoryData ($type = 'Revision') { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ret[' . $type . '] - ENTRY!'); // Default is an invalid value to find bugs... :-) $ret = 'INVALID'; @@ -64,7 +79,7 @@ function getActualVersion ($type = 'Revision') { $FQFN = sprintf("%s/.revision", getCachePath()); // Check if 'check_revision_data' is setted (switch for manually rewrite the .revision-File) - if ((isGetRequestParameterSet('check_revision_data')) && (getRequestParameter('check_revision_data') == 'yes')) { + if ((isGetRequestElementSet('check_revision_data')) && (getRequestElement('check_revision_data') == 'yes')) { // Forced rebuild of .revision file $new = true; } else { @@ -91,7 +106,7 @@ function getActualVersion ($type = 'Revision') { } // END - foreach // Return found value - $ret = getActualVersion($type); + $ret = getRepositoryData($type); //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ret[' . $type . ']=' . $ret); } } @@ -100,10 +115,10 @@ function getActualVersion ($type = 'Revision') { // Has it been updated? if ($new === true) { // Write it - writeToFile($FQFN, implode("\n", getArrayFromActualVersion())); + writeToFile($FQFN, implode("\n", getArrayFromRepositoryData())); // ... and call recursive - $ret = getActualVersion($type); + $ret = getRepositoryData($type); //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ret[' . $type . ']=' . $ret); } // END - if } @@ -114,7 +129,7 @@ function getActualVersion ($type = 'Revision') { } // Repares an array we are looking for -// The returned Array is needed twice (in getArrayFromActualVersion() and in getActualVersion() in the old .revision-fallback) so I puted it in an extra function to not polute the global namespace +// The returned Array is needed twice (in getArrayFromRepositoryData() and in getRepositoryData() 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('File', 'Revision', 'Date', 'Tag', 'Author'); @@ -150,8 +165,9 @@ function extractRevisionInfoFromFile ($FQFN, $search) { return extractRevisionInfoFromData($fileData, $search); } -// @TODO Please describe this function -function getArrayFromActualVersion () { +// Gets an array back for current repository data. +// @TODO This function does also set and get in 'cache_array' +function getArrayFromRepositoryData () { // Init array $GLOBALS['cache_array']['revision'] = array(); @@ -191,9 +207,9 @@ function getArrayFromActualVersion () { // at least 3 keyword-Tags are needed for propper values if ($GLOBALS['revision_res'] && $GLOBALS['revision_res'] >= 3 - && isset($GLOBALS['cache_array']['revision']['Revision'][0]) && $GLOBALS['cache_array']['revision']['Revision'][0] != '' - && isset($GLOBALS['cache_array']['revision']['Date'][0]) && $GLOBALS['cache_array']['revision']['Date'][0] != '' - && isset($GLOBALS['cache_array']['revision']['Tag'][0]) && $GLOBALS['cache_array']['revision']['Tag'][0] != '') { + && isset($GLOBALS['cache_array']['revision']['Revision'][0]) && !empty($GLOBALS['cache_array']['revision']['Revision'][0]) + && isset($GLOBALS['cache_array']['revision']['Date'][0]) && !empty($GLOBALS['cache_array']['revision']['Date'][0]) + && isset($GLOBALS['cache_array']['revision']['Tag'][0]) && !empty($GLOBALS['cache_array']['revision']['Tag'][0])) { // Prepare content witch need special treadment // Prepare timestamp for date @@ -202,7 +218,7 @@ function getArrayFromActualVersion () { // Add author to the Tag if the author is set and is not quix0r (lead coder) if ((isset($GLOBALS['cache_array']['revision']['Author'][0])) && ($GLOBALS['cache_array']['revision']['Author'][0] != 'quix0r')) { - $GLOBALS['cache_array']['revision']['Tag'][0] .= '-'.strtoupper($GLOBALS['cache_array']['revision']['Author'][0]); + $GLOBALS['cache_array']['revision']['Tag'][0] .= '-' . strtoupper($GLOBALS['cache_array']['revision']['Author'][0]); } // END - if } else { @@ -212,16 +228,24 @@ function getArrayFromActualVersion () { // Invalid request reply? if (!isset($version[11])) { // Cannot continue here - debug_report_bug(__FUNCTION__, __LINE__, 'Invalid response from check-updates3.php, count should be 10+, is ' . count($version)); + debug_report_bug(__FUNCTION__, __LINE__, 'Invalid response from check-updates3.php, count should be at least 11, is ' . count($version)); } // END - if // Prepare content // Only sets not setted or not proper values to the Online-Server-Fallback-Solution - if (!isset($GLOBALS['cache_array']['revision']['File'][0]) || $GLOBALS['cache_array']['revision']['File'][0] == '') $GLOBALS['cache_array']['revision']['File'][0] = trim($version[11]); - if (!isset($GLOBALS['cache_array']['revision']['Revision'][0]) || $GLOBALS['cache_array']['revision']['Revision'][0] == '') $GLOBALS['cache_array']['revision']['Revision'][0] = trim($version[10]); - if (!isset($GLOBALS['cache_array']['revision']['Date'][0]) || $GLOBALS['cache_array']['revision']['Date'][0] == '') $GLOBALS['cache_array']['revision']['Date'][0] = trim($version[9]); - if (!isset($GLOBALS['cache_array']['revision']['Tag'][0]) || $GLOBALS['cache_array']['revision']['Tag'][0] == '') $GLOBALS['cache_array']['revision']['Tag'][0] = trim($version[8]); - if (!isset($GLOBALS['cache_array']['revision']['Author'][0]) || $GLOBALS['cache_array']['revision']['Author'][0] == '') $GLOBALS['cache_array']['revision']['Author'][0] = 'quix0r'; + foreach (getSearchFor() as $entry) { + // Is it not set or empty? + if ((!isset($GLOBALS['cache_array']['revision'][$entry][0])) || (empty($GLOBALS['cache_array']['revision']['File'][0]))) { + // Is default data entry nummerical? + if (is_numeric($GLOBALS['default_repository_data'][$entry])) { + // Use entry from $version + $GLOBALS['cache_array']['revision'][$entry][0] = trim($version[$GLOBALS['default_repository_data'][$entry]]); + } else { + // Non-numeric -> use it directly + $GLOBALS['cache_array']['revision'][$entry][0] = $GLOBALS['default_repository_data'][$entry]; + } + } // END - if + } // END - if } // Temporary remove [0] from array