Added feature #7140: EM should send TYPO3 version when connecting to TER, credits...
authorIngo Renner <ingo.renner@typo3.org>
Mon, 3 Mar 2008 11:17:40 +0000 (11:17 +0000)
committerIngo Renner <ingo.renner@typo3.org>
Mon, 3 Mar 2008 11:17:40 +0000 (11:17 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@3350 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/config_default.php
typo3/mod/tools/em/class.em_index.php
typo3/mod/tools/em/class.em_terconnection.php

index 9ba7f75..06e60a5 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
        * Fixed bug #7573: Page properties: Make author and author_email visible instantly, credits Steffen kamper
        * Added new descriptions for some page property fields, credits Uschi Renziehausen
+       * Added feature #7140: EM should send TYPO3 version when connecting to TER, credits Niels Pardon
 
 2008-03-03  Dmitry Dulepov  <dmitry@typo3.org>
 
index 8c2427a..7b44dd7 100755 (executable)
@@ -219,7 +219,7 @@ $TYPO3_CONF_VARS = Array(
                'pageNotFoundOnCHashError' => 0,                // Boolean. If true, a page not found call is made when cHash evaluation error occurs. By default they will just disable caching but still display page output.
                'pageUnavailable_handling' => '',               // How TYPO3 should handle requests when pages are unavailable due to system problems. false (default): A static error message is displayed. Strings: page to show (reads content and outputs with correct headers), eg. 'unavailable.html' or 'http://www.domain.org/errors/unavailable.html'. If prefixed "REDIRECT:" it will redirect to the URL/script after the prefix (original behaviour). If prefixed with "READFILE:" then it will expect the remaining string to be a HTML file which will be read and outputted directly after having the marker "###CURRENT_URL###" substituted with REQUEST_URI and ###REASON### with reason text, for example: "READFILE:fileadmin/unavailable.html". Another option is the prefix "USER_FUNCTION:" which will call a user function, eg. "USER_FUNCTION:typo3conf/pageUnavailableHandling.php:user_pageUnavailable->pageUnavailable" where the file must contain a class "user_pageUnavailable" with a method "pageUnavailable" inside with two parameters, $param and $ref. If the client matches TYPO3_CONF_VARS[SYS][devIPmask], this setting is ignored and the page is shown as normal.
                'pageUnavailable_handling_statheader' => 'HTTP/1.0 503 Service Temporarily Unavailable',                // If 'pageUnavailable_handling' is enabled, this string will always be sent as header before the actual handling.
-               'pageUnavailable_force' => 0,                   // Boolean. If true, pageUnavailable_handling is used for every frontend page. If the client matches TYPO3_CONF_VARS[SYS][devIPmask], the page is shown as normal. This is useful during temporary site maintenance. 
+               'pageUnavailable_force' => 0,                   // Boolean. If true, pageUnavailable_handling is used for every frontend page. If the client matches TYPO3_CONF_VARS[SYS][devIPmask], the page is shown as normal. This is useful during temporary site maintenance.
                'userFuncClassPrefix' => 'user_',               // This prefix must be the first part of any function or class name called from TypoScript, for instance in the stdWrap function.
                'addRootLineFields' => '',                              // Comma-list of fields from the 'pages'-table. These fields are added to the select query for fields in the rootline.
                'checkFeUserPid' => 1,                                  // Boolean. If set, the pid of fe_user logins must be sent in the form as the field 'pid' and then the user must be located in the pid. If you unset this, you should change the fe_users.username eval-flag 'uniqueInPid' to 'unique' in $TCA. This will do: $TCA['fe_users']['columns']['username']['config']['eval']= 'nospace,lower,required,unique';
@@ -290,6 +290,7 @@ $TYPO_VERSION = '4.2-dev';  // deprecated: use the constants defined below
 define('TYPO3_version', $TYPO_VERSION);
 define('TYPO3_branch', '4.2');
 define('TYPO3_copyright_year', '1998-2008');
+define('TYPO3_user_agent', 'User-Agent: TYPO3/'.TYPO3_version);
 
 // Database-variables are cleared!
 $typo_db = '';                                 // The database name
index 1e33707..162917c 100644 (file)
@@ -404,7 +404,7 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
                        // Initialize Document Template object:
                $this->doc = t3lib_div::makeInstance('template');
                $this->doc->backPath = $BACK_PATH;
-               $this->doc->setModuleTemplate('templates/em_index.html');                       
+               $this->doc->setModuleTemplate('templates/em_index.html');
                $this->doc->docType='xhtml_trans';
 
                        // JavaScript
@@ -428,13 +428,13 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
 
                $this->doc->form = '<form action="index.php" method="post" name="pageform">';
 
-               // Descriptions:
+                       // Descriptions:
                $this->descrTable = '_MOD_'.$this->MCONF['name'];
                if ($BE_USER->uc['edit_showFieldHelp']) {
                        $LANG->loadSingleTableDescription($this->descrTable);
                }
 
-               // Setting username/password etc. for upload-user:
+                       // Setting username/password etc. for upload-user:
                $this->fe_user['username'] = $this->MOD_SETTINGS['fe_u'];
                $this->fe_user['password'] = $this->MOD_SETTINGS['fe_p'];
                parent::init();
@@ -622,14 +622,14 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
                                        break;
                        }
                }
-               
+
                        // Setting up the buttons and markers for docheader
                $docHeaderButtons = $this->getButtons();
                $markers = array(
                        'CSH' => $docHeaderButtons['csh'],
                        'FUNC_MENU' => $this->getFuncMenu(),
                        'CONTENT' => $this->content
-               );      
+               );
 
                        // Build the <body> for the module
                $this->content = $this->doc->startPage('Extension Manager');
@@ -648,7 +648,7 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
                        echo $this->content;
                }
        }
-       
+
        /**
         * Create the function menu
         *
@@ -661,7 +661,7 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
                } elseif($this->CMD['showExt'] && (!$this->CMD['standAlone'] && !t3lib_div::_GP('standAlone'))) {
                        $funcMenu = t3lib_BEfunc::getFuncMenu(0, 'SET[singleDetails]', $this->MOD_SETTINGS['singleDetails'], $this->MOD_MENU['singleDetails'], '', '&CMD[showExt]=' . $this->CMD['showExt']);
                }
-               return $funcMenu;       
+               return $funcMenu;
        }
 
        /**
@@ -670,7 +670,7 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
         * @return      array   all available buttons as an assoc. array
         */
        private function getButtons()   {
-               
+
                $buttons = array(
                        'csh' => '',
                        'back' => '',
@@ -678,7 +678,7 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
                );
                        // CSH
                //$buttons['csh'] = t3lib_BEfunc::cshItem('_MOD_web_func', '', $GLOBALS['BACK_PATH']);
-               
+
                        // Shortcut
                if ($GLOBALS['BE_USER']->mayMakeShortcut())     {
                        $buttons['shortcut'] = $this->doc->makeShortcutIcon('CMD','function',$this->MCONF['name']);
@@ -687,7 +687,7 @@ class SC_mod_tools_em_index extends t3lib_SCbase {
                if(($this->CMD['showExt'] && (!$this->CMD['standAlone'] && !t3lib_div::_GP('standAlone'))) || ($this->CMD['importExt'] || $this->CMD['uploadExt'] && (!$this->CMD['standAlone'])) || $this->CMD['importExtInfo']) {
                        $buttons['back'] = '<a href="index.php" class="typo3-goBack"><img' . t3lib_iconWorks::skinImg($this->doc->backPath, 'gfx/goback.gif') . ' title="Go back" class="absmiddle" alt="" /></a>';
                }
-       
+
                return $buttons;
        }
 
@@ -1509,7 +1509,7 @@ EXTENSION KEYS:
                switch($metaType) {
                        case 'mirrors':
                                $mfile = t3lib_div::tempnam('mirrors');
-                               $mirrorsFile = t3lib_div::getURL($this->MOD_SETTINGS['mirrorListURL']);
+                               $mirrorsFile = t3lib_div::getURL($this->MOD_SETTINGS['mirrorListURL'], 0, array(TYPO3_user_agent));
                                if($mirrorsFile===false) {
                                        t3lib_div::unlink_tempfile($mfile);
                                        $content = '<p>The mirror list was not updated, it could not be fetched from '.$this->MOD_SETTINGS['mirrorListURL'].'. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.</p>';
@@ -1534,7 +1534,7 @@ EXTENSION KEYS:
 
                                $mirror = $this->getMirrorURL();
                                $extfile = $mirror.'extensions.xml.gz';
-                               $extmd5 = t3lib_div::getURL($mirror.'extensions.md5');
+                               $extmd5 = t3lib_div::getURL($mirror.'extensions.md5', 0, array(TYPO3_user_agent));
                                if (is_file(PATH_site.'typo3temp/extensions.xml.gz')) {
                                        $localmd5 = md5_file(PATH_site.'typo3temp/extensions.xml.gz');
                                }
@@ -1544,7 +1544,7 @@ EXTENSION KEYS:
                                } elseif($extmd5 == $localmd5) {
                                        $content .= '<p>The extension list has not changed remotely, it has thus not been fetched.</p>';
                                } else {
-                                       $extXML = t3lib_div::getURL($extfile);
+                                       $extXML = t3lib_div::getURL($extfile, 0, array(TYPO3_user_agent));
                                        if($extXML === false) {
                                                $content .= '<p>Error: The extension list could not be fetched from '.$extfile.'. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.</p>';
                                        } else {
index 53c7385..8569b80 100644 (file)
@@ -64,7 +64,7 @@ class SC_mod_tools_em_terconnection {
         */
        function fetchExtension($extKey, $version, $expectedMD5, $mirrorURL) {
                $mirrorURL .= $extKey{0}.'/'.$extKey{1}.'/'.$extKey.'_'.$version.'.t3x';
-               $t3x = t3lib_div::getURL($mirrorURL);
+               $t3x = t3lib_div::getURL($mirrorURL, 0, array(TYPO3_user_agent));
                $MD5 = md5($t3x);
 
                if($t3x===false) return 'The T3X file could not be fetched. Possible reasons: network problems, allow_url_fopen is off, curl is not enabled in Install tool.';
@@ -87,7 +87,7 @@ class SC_mod_tools_em_terconnection {
         */
        function fetchTranslation($extKey, $lang, $mirrorURL) {
                $mirrorURL .= $extKey{0}.'/'.$extKey{1}.'/'.$extKey.'-l10n/'.$extKey.'-l10n-'.$lang.'.zip';
-               $l10n = t3lib_div::getURL($mirrorURL);
+               $l10n = t3lib_div::getURL($mirrorURL, 0, array(TYPO3_user_agent));
 
                if($l10n !== false) {
                        return array($l10n);
@@ -106,7 +106,7 @@ class SC_mod_tools_em_terconnection {
        function fetchTranslationStatus($extKey, $mirrorURL) {
 
                $url = $mirrorURL . $extKey{0}.'/'.$extKey{1}.'/'.$extKey.'-l10n/'.$extKey.'-l10n.xml';
-               $remote = t3lib_div::getURL($url);
+               $remote = t3lib_div::getURL($url, 0, array(TYPO3_user_agent));
 
                if($remote !== false) {
                        $parsed = $this->emObj->xmlhandler->parseL10nXML($remote);
@@ -254,7 +254,7 @@ class SC_mod_tools_em_terconnection {
                        );
                }
                // END for Bug #5919
-               
+
                        // Compile data for SOAP call:
                $accountData = array(
                        'username' => $em['user']['fe_u'],