⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wsol_preview.php

📁 Typo3, 开源里边最强大的
💻 PHP
字号:
<?php/****************************************************************  Copyright notice**  (c) 2004-2005 Kasper Skaarhoj (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.**  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!***************************************************************//** * Workspace preview module * * @author	Kasper Skaarhoj <kasperYYYY@typo3.com> *//** * [CLASS/FUNCTION INDEX of SCRIPT] * * * *   62: class wsol_preview *   71:     function main() *  133:     function generateUrls() *  164:     function printFrameset() *  206:     function isBeLogin() * * TOTAL FUNCTIONS: 4 * (This index is automatically created/updated by the extension "extdeveval") * */define('TYPO3_PROCEED_IF_NO_USER', '1');unset($MCONF);require('conf.php');require($BACK_PATH.'init.php');require_once('class.wslib.php');/** * Workspace dual preview * NOTICE: In this module you HAVE to check if a backend user is actually logged in if you perform operations that require a login! See function ->isBeLogin() * * @author	Kasper Skaarhoj <kasperYYYY@typo3.com> * @package TYPO3 * @subpackage core */class wsol_preview {	var $workspace = 0;		// Which workspace to preview!	/**	 * Main function of class	 *	 * @return	void	 */	function main()	{		if ($this->isBeLogin())	{			$this->workspace = $GLOBALS['BE_USER']->workspace;		}		if ($header = t3lib_div::_GP('header'))	{			if ($header!=='live')	{				$headerText = 'Workspace Version ('.$this->workspace.'):';				$color = 'green';			} else {				$headerText = 'Live Version:';				$color = 'red';			}			$output =  '				<html>					<head>						<title>Header</title>					</head>					<body bgcolor="'.$color.'">						<font face="verdana,arial" size="2" color="white"><b>'.$headerText.'</b></font>					</body>				</html>';		} elseif ($msg = t3lib_div::_GP('msg'))	{			switch($msg)	{				case 'branchpoint':					$message = '<b>No live page available!</b><br/><br/>					The previewed page was inside a "Branch" type version and has no traceable counterpart in the live workspace.';				break;				case 'newpage':					$message = '<b>New page!</b><br/><br/>					The previewed page is created in the workspace and has no counterpart in the live workspace.';				break;				default:					$message = 'Unknown message code "'.$msg.'"';				break;			}			$output =  '				<html>					<head>						<title>Message</title>					</head>					<body bgcolor="#eeeeee">						<div width="100%" height="100%" style="text-align: center; align: center;"><br/><br/><br/><br/><font face="verdana,arial" size="2" color="#666666">'.$message.'</font></div>					</body>				</html>';		} else {			$this->generateUrls();			$output = $this->printFrameset();		}		echo $output;	}	/**	 * URLs generated in $this->URL array	 *	 * @return	void	 */	function generateUrls()	{			// Live URL:		$pageId = intval(t3lib_div::_GP('id'));		$language = intval(t3lib_div::_GP('L'));		$this->URL = array(			'liveHeader' => 'wsol_preview.php?header=live',			'draftHeader' => 'wsol_preview.php?header=draft',			'live' => t3lib_div::getIndpEnv('TYPO3_SITE_URL').'index.php?id='.$pageId.'&L='.$language.'&ADMCMD_noBeUser=1',			'draft' => t3lib_div::getIndpEnv('TYPO3_SITE_URL').'index.php?id='.$pageId.'&L='.$language.'&ADMCMD_view=1&ADMCMD_editIcons=1&ADMCMD_previewWS='.$this->workspace,			'versionMod' => '../../../sysext/version/cm1/index.php?id='.intval(t3lib_div::_GP('id')).'&diffOnly=1'		);		if ($this->isBeLogin())	{				// Branchpoint; display error message then:			if (t3lib_BEfunc::isPidInVersionizedBranch($pageId)=='branchpoint')	{				$this->URL['live'] = 'wsol_preview.php?msg=branchpoint';			}			$rec = t3lib_BEfunc::getRecord('pages',$pageId,'t3ver_state');			if ((int)$rec['t3ver_state']===1)	{				$this->URL['live'] = 'wsol_preview.php?msg=newpage';			}		}	}	/**	 * Outputting frameset HTML code	 *	 * @return	void	 */	function printFrameset()	{		if ($this->isBeLogin())	{			return '			<html>				<head>					<title>Preview and compare workspace version with live version</title>				</head>				<frameset cols="60%,40%" framespacing="3" frameborder="3" border="3">					<frameset rows="20,*,20,*" framespacing="3" frameborder="3" border="3">						<frame name="frame_liveh" src="'.htmlspecialchars($this->URL['liveHeader']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">						<frame name="frame_live" src="'.htmlspecialchars($this->URL['live']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">						<frame name="frame_drafth" src="'.htmlspecialchars($this->URL['draftHeader']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">						<frame name="frame_draft" src="'.htmlspecialchars($this->URL['draft']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">					</frameset>					<frame name="be" src="'.htmlspecialchars($this->URL['versionMod']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">				</frameset>			</html>';		} else {			return '			<html>				<head>					<title>Preview and compare workspace version with live version</title>				</head>				<frameset cols="*,*" framespacing="3" frameborder="3" border="3">					<frameset rows="20,*" framespacing="3" frameborder="3" border="3">						<frame name="frame_liveh" src="'.htmlspecialchars($this->URL['liveHeader']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">						<frame name="frame_live" src="'.htmlspecialchars($this->URL['live']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">					</frameset>					<frameset rows="20,*" framespacing="3" frameborder="3" border="3">						<frame name="frame_drafth" src="'.htmlspecialchars($this->URL['draftHeader']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">						<frame name="frame_draft" src="'.htmlspecialchars($this->URL['draft']).'" marginwidth="0" marginheight="0" frameborder="1" scrolling="auto">					</frameset>				</frameset>			</html>';		}	}	/**	 * Checks if a backend user is logged in. Due to the line "define('TYPO3_PROCEED_IF_NO_USER', '1');" the backend is initialized even if no backend user was authenticated. This is in order to allow previews through this module of yet not-logged in users.	 *	 * @return	boolean		True, if there is a logged in backend user.	 */	function isBeLogin()	{		return is_array($GLOBALS['BE_USER']->user);	}}if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/mod/user/ws/wsol_preview.php']) {    include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/mod/user/ws/wsol_preview.php']);}$previewObject = t3lib_div::makeInstance('wsol_preview');$previewObject->main();?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -