X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Frevision-functions.php;h=6770020637569f208ede247f7018882890337f5d;hp=0058a5bb338b3876743e2433341c02b7df8d1a1d;hb=8f37a3b2708cfc4b4ef266f4be813a84511daa8f;hpb=09f5758c42a33a56bdd461c946ffe759a59c54aa diff --git a/inc/revision-functions.php b/inc/revision-functions.php index 0058a5bb33..6770020637 100644 --- a/inc/revision-functions.php +++ b/inc/revision-functions.php @@ -14,11 +14,9 @@ * $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 * + * 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 * @@ -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'; @@ -61,7 +76,7 @@ function getActualVersion ($type = 'Revision') { //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'ret[' . $type . ']=' . $ret); } else { // FQFN of revision file - $FQFN = sprintf("%s/.revision", getConfig('CACHE_PATH')); + $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')) { @@ -78,7 +93,7 @@ function getActualVersion ($type = 'Revision') { // Get array for mapping information $mapper = array_flip(getSearchFor()); - //* DEBUG: */ print('
mapper='.print_r($mapper, true).'
ins_vers=
'.print_r($ins_vers, true).'
'); + //* DEBUG: */ debugOutput('
mapper='.print_r($mapper, true).'
ins_vers=
'.print_r($ins_vers, true).'
'); // Is the content valid? if ((!is_array($ins_vers)) || (count($ins_vers) <= 0) || (!isset($ins_vers[$mapper[$type]])) || (trim($ins_vers[$mapper[$type]]) == '') || ($ins_vers[0]) == 'new') { @@ -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('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