[TASK] Remove tslib/publish.php
authorChristian Kuhn <lolli@schwarzbu.ch>
Wed, 6 Jul 2011 19:12:41 +0000 (21:12 +0200)
committerSteffen Gebert <steffen.gebert@typo3.org>
Thu, 7 Jul 2011 19:45:15 +0000 (21:45 +0200)
The patch removes the script itself, together with the 'publish'
section in the admin panel since these features have been unmaintained
for the last few TYPO3 versions. Besides that it relies on the system
extension simulatestatic and is not compatible with e.g. RealURL.

Change-Id: I46b11e79431d60eb594a60f46abaa28ec200b014
Resolves: #27927
Reviewed-on: http://review.typo3.org/3069
Reviewed-by: Steffen Gebert
Tested-by: Steffen Gebert
NEWS.txt
t3lib/config_default.php
typo3/sysext/cms/tslib/class.tslib_adminpanel.php
typo3/sysext/cms/tslib/class.tslib_fe.php
typo3/sysext/cms/tslib/index_ts.php
typo3/sysext/cms/tslib/publish.php [deleted file]
typo3/sysext/simulatestatic/class.tx_simulatestatic.php

index fc5c083..5643301 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -43,6 +43,16 @@ General
 
 ...
 
+Removed functionality
+-------------------------------------------------------------------------------
+
+* Static Published Pages
+
+The feature to statically publish a page from the Admin Panel has been dropped.
+There are better ways to achieve such a functionality, like e.g.
+EXT:nc_staticfilecache.
+
+
 Workspaces
 -------------------------------------------------------------------------------
 
index dd3e5a7..e5991f8 100644 (file)
@@ -516,7 +516,6 @@ $TYPO3_CONF_VARS = array(
                'tidy_option' => 'cached',                              // options [all, cached, output]. "all" = the content is always passed through "tidy" before it may be stored in cache. "cached" = only if the page is put into the cache, "output" = only the output code just before it's echoed out.
                'tidy_path' => 'tidy -i --quiet true --tidy-mark true -wrap 0 -raw',            // Path with options for tidy. For XHTML output, add " --output-xhtml true"
                'logfile_dir' => '',                                    // Path where TYPO3 should write webserver-style logfiles to. This path must be write-enabled for the webserver. If this path is outside of PATH_site, you have to allow it using <a href="#BE-lockRootPath">[BE][lockRootPath]</a>
-               'publish_dir' => '',                                    // Path where TYPO3 should write staticly published documents. This path must be write-enabled for the webserver. Remember slash AFTER! Eg: 'publish/' or '/www/htdocs/publish/'. See admPanel option 'publish'
                'addAllowedPaths' => '',                                // Additional relative paths (comma-list) to allow TypoScript resources be in. Should be prepended with '/'. If not, then any path where the first part is like this path will match. That is: 'myfolder/ , myarchive' will match eg. 'myfolder/', 'myarchive/', 'myarchive_one/', 'myarchive_2/' ... No check is done to see if this directory actually exists in the root of the site. Paths are matched by simply checking if these strings equals the first part of any TypoScript resource filepath. (See class template, function init() in t3lib/class.t3lib_tsparser.php)
                'allowedTempPaths' => '',                               // Additional paths allowed for temporary images. Used with imgResource. Eg. 'alttypo3temp/,another_temp_dir/';
                'debug' => FALSE,                                               // Boolean: If set, some debug HTML-comments may be output somewhere. Can also be set by TypoScript.
@@ -960,4 +959,4 @@ $SIM_EXEC_TIME = $EXEC_TIME;                        // $SIM_EXEC_TIME is set to $EXEC_TIME but can be
 $ACCESS_TIME = $EXEC_TIME - ($EXEC_TIME % 60);         // $ACCESS_TIME is a common time in minutes for access control
 $SIM_ACCESS_TIME = $ACCESS_TIME;               // if $SIM_EXEC_TIME is changed this value must be set accordingly
 
-?>
+?>
\ No newline at end of file
index bb24f99..7d8e834 100644 (file)
@@ -50,13 +50,6 @@ class tslib_AdminPanel {
         */
        protected $ext_forcePreview = FALSE;
 
-       /**
-        * Comma separated list of page UIDs to be published.
-        *
-        * @var string
-        */
-       protected $extPublishList = '';
-
        public function __construct() {
                $this->initialize();
        }
@@ -171,10 +164,6 @@ class tslib_AdminPanel {
                                $theStartId = intval($input['cache_clearCacheId']);
                                $GLOBALS['TSFE']->clearPageCacheContent_pidList($GLOBALS['BE_USER']->extGetTreeList($theStartId, $this->extGetFeAdminValue('cache', 'clearCacheLevels'), 0, $GLOBALS['BE_USER']->getPagePermsClause(1)) . $theStartId);
                        }
-                       if ($input['action']['publish'] && $this->isAdminModuleEnabled('publish')) {
-                               $theStartId = intval($input['publish_id']);
-                               $this->extPublishList = $GLOBALS['BE_USER']->extGetTreeList($theStartId, $this->extGetFeAdminValue('publish', 'levels'), 0, $GLOBALS['BE_USER']->getPagePermsClause(1)) . $theStartId;
-                       }
 
                                // Saving
                        $GLOBALS['BE_USER']->writeUC();
@@ -257,10 +246,11 @@ class tslib_AdminPanel {
        /**
         * Returns the comma-separated list of page UIDs to be published.
         *
-        * @return      string
+        * @return string
+        * @deprecated since 4.6, will be removed in 4.8
         */
        public function getExtPublishList() {
-               return $this->extPublishList;
+               t3lib_div::logDeprecatedFunction();
        }
 
        /**
@@ -296,9 +286,6 @@ class tslib_AdminPanel {
                        if ($this->isAdminModuleEnabled('cache')) {
                                $moduleContent .= $this->getCacheModule();
                        }
-                       if ($this->isAdminModuleEnabled('publish')) {
-                               $moduleContent .= $this->getPublishModule();
-                       }
                        if ($this->isAdminModuleEnabled('edit')) {
                                $moduleContent .= $this->getEditModule();
                        }
@@ -498,46 +485,6 @@ $query . '<table class="typo3-adminPanel">' .
        }
 
        /**
-        * Creates the content for the "publish" section ("module") of the Admin Panel
-        *
-        * @param       string          Optional start-value; The generated content is added to this variable.
-        * @return      string          HTML content for the section. Consists of a string with table-rows with four columns.
-        * @see display()
-        */
-       protected function getPublishModule() {
-               $out = $this->extGetHead('publish');
-               if ($GLOBALS['BE_USER']->uc['TSFE_adminConfig']['display_publish']) {
-                       $this->extNeedUpdate = TRUE;
-                       $levels = $GLOBALS['BE_USER']->uc['TSFE_adminConfig']['publish_levels'];
-                       $options = '';
-                       $options .= '<option value="0"' . ($levels == 0 ? ' selected="selected"' : '') . '>' . $this->extGetLL('div_Levels_0') . '</option>';
-                       $options .= '<option value="1"' . ($levels ? ' selected="selected"' : '') . '>' . $this->extGetLL('div_Levels_1') . '</option>';
-                       $options .= '<option value="2"' . ($levels == 2 ? ' selected="selected"' : '') . '>' . $this->extGetLL('div_Levels_2') . '</option>';
-                       $out .= $this->extGetItem('publish_levels', '<select name="TSFE_ADMIN_PANEL[publish_levels]">' . $options . '</select>' .
-                                       '<input type="hidden" name="TSFE_ADMIN_PANEL[publish_id]" value="' . $GLOBALS['TSFE']->id . '" />&nbsp;<input type="submit" value="' . $this->extGetLL('update') . '" />');
-
-                               // Generating tree:
-                       $depth = $this->extGetFeAdminValue('publish', 'levels');
-                       $outTable = '';
-                       $GLOBALS['BE_USER']->extPageInTreeInfo = array();
-                       $GLOBALS['BE_USER']->extPageInTreeInfo[] = array($GLOBALS['TSFE']->page['uid'], htmlspecialchars($GLOBALS['TSFE']->page['title']), $depth+1);
-                       $GLOBALS['BE_USER']->extGetTreeList($GLOBALS['TSFE']->id, $depth, 0, $GLOBALS['BE_USER']->getPagePermsClause(1));
-                       foreach ($GLOBALS['BE_USER']->extPageInTreeInfo as $row) {
-                               $outTable.= '<tr>' .
-                                               '<td style="white-space:nowrap;"><img src="typo3/gfx/clear.gif" width="' . (($depth + 1 - $row[2]) * 18) . '" height="1" alt="" /><img ' .
-                                               t3lib_iconWorks::skinImg(TYPO3_mainDir, 'gfx/i/pages.gif', 'width="18" height="16"') . ' align="top" border="0" alt="" />' . $row[1] .
-                                               '</td><td><img src="typo3/gfx/clear.gif" width="10" height="1" alt="" /></td><td>...</td></tr>';
-                       }
-                       $outTable = '<br /><table>' . $outTable . '</table>';
-                       $outTable .= '<input type="submit" name="TSFE_ADMIN_PANEL[action][publish]" value="' . $this->extGetLL('publish_doit') . '" />';
-
-                       $out .= $this->extGetItem('publish_tree', $outTable);
-               }
-
-               return $out;
-       }
-
-       /**
         * Creates the content for the "edit" section ("module") of the Admin Panel
         *
         * @return      string          HTML content for the section. Consists of a string with table-rows with four columns.
@@ -832,4 +779,4 @@ if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLA
        include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['typo3/sysext/cms/tslib/class.tslib_adminpanel.php']);
 }
 
-?>
+?>
\ No newline at end of file
index 19b48e4..fff53b2 100644 (file)
@@ -4021,7 +4021,7 @@ if (version == "n3") {
         * Returns the simulated static file name (*.html) for the current page (using the page record in $this->page)
         *
         * @return      string          The filename (without path)
-        * @see makeSimulFileName(), publish.php
+        * @see makeSimulFileName()
         * @deprecated since TYPO3 4.3, will be removed in TYPO3 4.6, please use the "simulatestatic" sysext directly
         * @todo        Deprecated but still used in the Core!
         */
@@ -4995,4 +4995,4 @@ if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLA
        include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/class.tslib_fe.php']);
 }
 
-?>
+?>
\ No newline at end of file
index 98ca906..bccdb77 100644 (file)
@@ -505,16 +505,6 @@ $TSFE->previewInfo();
 
 
 // ******************
-// Publishing static
-// ******************
-if (is_object($BE_USER) && ($BE_USER->adminPanel instanceof tslib_AdminPanel)) {
-       if ($BE_USER->adminPanel->isAdminModuleEnabled('publish') && $BE_USER->adminPanel->getExtPublishList()) {
-               include_once(PATH_tslib.'publish.php');
-       }
-}
-
-
-// ******************
 // Hook for end-of-frontend
 // ******************
 $TSFE->hook_eofe();
diff --git a/typo3/sysext/cms/tslib/publish.php b/typo3/sysext/cms/tslib/publish.php
deleted file mode 100644 (file)
index 3b4bed9..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 1999-2011 Kasper Skårhøj (kasperYYYY@typo3.com)
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/**
- * Publishing pages to static
- *
- * Is included from index_ts.php
- *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
- * @package TYPO3
- * @subpackage tslib
- */
-
-
- /*
-
- TODO:
-
-- Show publish-dir in interface
-- enabled checkboxes to select pages / frames
-- which-frames selecteble by TS
-- disable publishing of hidden/starttime/endtime/fe_group pages.
-- remove published files option
-- enable writing of images
-- Policy: HTML-files overridden always, mediafiles are only overwritten if mtime is different.
-
- */
-
-
-
-if (!is_object($TSFE)) {die('You cannot execute this file directly. It\'s meant to be included from index_ts.php');}
-
-
-       // Storing the TSFE object
-$temp_publish_TSFE = $TSFE;
-$TT->push('Publishing','');
-$temp_publish_pages = explode(',', $BE_USER->adminPanel->getExtPublishList());
-$temp_publish_imagesTotal = array();
-$temp_publish_array = array(); // Collects the rendered pages.
-
-foreach ($temp_publish_pages as $temp_publish_id) {
-       $TT->push('Page '.$temp_publish_id,'');
-//debug($temp_publish_id);
-               $TSFE = t3lib_div::makeInstance('tslib_fe', $TYPO3_CONF_VARS, $temp_publish_id, 0);
-
-               $TSFE->initFEuser();
-               $TSFE->clear_preview();
-               $TSFE->determineId();
-               $TSFE->initTemplate();
-               $TSFE->getFromCache();
-
-               $TSFE->getConfigArray();
-               $TSFE->setUrlIdToken();
-               if ($TSFE->isGeneratePage())    {
-                               $TSFE->generatePage_preProcessing();
-                               $temp_theScript=$TSFE->generatePage_whichScript();
-                               if ($temp_theScript)    {
-                                       include($temp_theScript);
-                               } else {
-                                       include(PATH_tslib.'pagegen.php');
-                               }
-                               $TSFE->generatePage_postProcessing();
-               } elseif ($TSFE->isINTincScript())      {
-                       include(PATH_tslib.'pagegen.php');
-               }
-
-               // ********************************
-               // $GLOBALS['TSFE']->config['INTincScript']
-               // *******************************
-               if ($TSFE->isINTincScript())            {
-                       $TT->push('Internal PHP-scripts','');
-                               $TSFE->INTincScript();
-                       $TT->pull();
-               }
-
-                       // Get filename
-               $temp_fileName = $TSFE->getSimulFileName();
-
-               if (!isset($temp_publish_array[$temp_fileName]))        {       // If the page is not rendered allready, which will happen if a hidden page is 'published'
-                               // Images file
-//                     $temp_publish_row = $TSFE->getSearchCache();
-//                     $temp_publish_imagesOnPage= unserialize($temp_publish_row['tempFile_data']);
-//                     $temp_publish_imagesTotal = array_merge($temp_publish_imagesTotal, $temp_publish_imagesOnPage);
-                               // Store the data for this page:
-                       $temp_publish_array[$temp_fileName]= array($temp_publish_id, $temp_publish_imagesOnPage, $TSFE->content);
-               }
-       $TT->pull();
-}
-//debug($temp_publish_imagesTotal);
-//debug(array_unique($temp_publish_imagesTotal));
-
-
-// ***************************
-// Publishing, writing files
-// ***************************
-$publishDir = $TYPO3_CONF_VARS['FE']['publish_dir'];
-if ($publishDir && @is_dir($publishDir))       {
-       $publishDir = rtrim($publishDir, '/').'/';
-       debug('Publishing in: '.$publishDir, 'Publish');
-       foreach ($temp_publish_array as $key => $val) {
-               $file = $publishDir.$key;
-               t3lib_div::writeFile($file,$val[2]);
-               debug('Writing: '.$file, 'Publish');
-       }
-//     debug($temp_publish_array);
-} else {
-       debug('No publish_dir specified...');
-}
-
-
-$TT->pull();
-       // Restoring the TSFE object
-$TSFE = $temp_publish_TSFE;
-
-?>
\ No newline at end of file
index 73cf41e..c461587 100644 (file)
@@ -345,7 +345,7 @@ class tx_simulatestatic {
         * Returns the simulated static file name (*.html) for the current page (using the page record in $this->page)
         *
         * @return      string          The filename (without path)
-        * @see makeSimulatedFileName(), publish.php
+        * @see makeSimulatedFileName()
         */
        public function getSimulatedFileName() {
                return $this->makeSimulatedFileName(