/** * Extracts extension array from extension file. */ function extractExtensionData($extensionFile) { if (file_exists($extensionFile)) { $_fileContents = file_get_contents($extensionFile); $_fileParts = explode(":", $_fileContents, 3); $_extensionContent = ""; if ("gzcompress" == $_fileParts[1]) { if (function_exists("gzuncompress")) { $_extensionContent = gzuncompress($_fileParts[2]); } else { consoleWriteLine("Error: Unable to decode extension. gzuncompress() is unavailable."); exit(1); } } $_extension = null; if (md5($_extensionContent) == $_fileParts[0]) { $_extension = unserialize($_extensionContent); if (is_array($_extension)) { return $_extension; } else { consoleWriteLine("Error: Unable to unserialize extension! (Shouldn't happen)"); exit(1); } } else { consoleWriteLine("Error: MD5 mismatch. Extension file may be corrupt!"); exit(1); } } else { consoleWriteLine("Error: Unable to open '{$extensionFile}'!"); exit(1); } }
function readConfiguration($loadAdditional = true) { // Grab main configuration global $BASE; if (!isset($BASE) || empty($BASE)) { consoleWriteLine("\$BASE is not set, exiting!"); die; } $GLOBALS["TYPO3_CONF_VARS"] = (require $BASE . "/typo3conf/LocalConfiguration.php"); if ($loadAdditional) { // Grab additional configuration $_additionalConfiguration = $BASE . "/typo3conf/AdditionalConfiguration.php"; if (is_file($_additionalConfiguration)) { require $_additionalConfiguration; } } }
/** * Update check */ function updateCheck() { $_contentVersions = file_get_contents($UPDATE_BASE . "/versions"); $_contentSelf = split("\n", file_get_contents(INVNAME), 2); $_sumSelf = md5($_contentSelf[1]); consoleWriteLineVerbose("Remote hash source: '" . $UPDATE_BASE . "/versions'"); consoleWriteLineVerbose("Own hash: '" . $SUM_SELF . "' Remote hash: '" . $SUM_LATEST . "'"); $_isListed = preg_match("/^" . SELF . " (?P<sum>[0-9a-zA-Z]{32})/ms", $_contentVersions, $_sumLatest); if (!$_isListed) { consoleWriteLine("No update information is available for '" . SELF . "'."); consoleWriteLine("Please check the project home page https://github.com/oliversalzburg/typo3scripts."); return 2; } else { if ($_sumSelf != $_sumLatest[1]) { consoleWriteLine("NOTE: New version available!"); return 1; } } return 0; }