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

📄 class.tx_dbal_handler_openoffice.php

📁 Typo3, 开源里边最强大的
💻 PHP
字号:
<?php/****************************************************************  Copyright notice*  *  (c) 2004 Kasper Skaarhoj (kasper@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!***************************************************************//** * Contains an example DBAL handler class * * $Id: class.tx_dbal_handler_openoffice.php 945 2005-12-27 15:00:34Z k-fish $ *  * @author	Kasper Skaarhoj <kasper@typo3.com> *//** * [CLASS/FUNCTION INDEX of SCRIPT] * * * *   74: class tx_dbal_handler_xmldb extends t3lib_sqlengine  *   91:     function init($config, &$pObj)	 *  128:     function readDataSource($table)	 *  157:     function saveDataSource($table)	 *  184:     function xmlDB_writeStructure()	 *  193:     function xmlDB_readStructure()	 * *              SECTION: SQL admin functions *  217:     function admin_get_tables()	 *  242:     function admin_get_fields($tableName)	 *  276:     function admin_get_keys($tableName)	 *  314:     function admin_query($query)	 * * TOTAL FUNCTIONS: 9 * (This index is automatically created/updated by the extension "extdeveval") * */ /** * Example DBAL handler class * Stores data in an Open Office Calc Spreadsheet * * @author	Kasper Skaarhoj <kasper@typo3.com> * @package TYPO3 * @subpackage tx_dbal */class tx_dbal_handler_openoffice extends t3lib_sqlengine {	var $config = array();	var $pObj;	// Set from DBAL class.	var $spreadSheetFiles = '';	var $unzip;		// Object	/**	 * Initialize handler	 *	 * @param	array		Configuration from DBAL	 * @param	object		Parent object	 * @return	boolean		True on success.	 */	function init($config, &$pObj)	{		$this->config = $config['config'];		if (t3lib_extMgm::isLoaded('libunzipped'))	{				// Include Unzip library:			require_once(t3lib_extMgm::extPath('libunzipped').'class.tx_libunzipped.php');				// Find database file:			$sxc_file = t3lib_div::getFileAbsFileName($this->config['sxc_file']);			if (@is_file($sxc_file))	{				// Initialize Unzip object:				$this->unzip = t3lib_div::makeInstance('tx_libunzipped');				$this->spreadSheetFiles = $this->unzip->init($sxc_file);				if (is_array($this->spreadSheetFiles))	{					return TRUE;				} else $this->errorStatus = 'Spreadsheet could not be unzipped...?';			} else $this->errorStatus = 'The Spreadsheet file "'.$sxc_file.'" was not found!';		} else $this->errorStatus = 'This data handler needs the extension "tx_libunzipped" to be installed!';		return FALSE;	}	/**	 * Setting table data (overriding function)	 *	 * @param	string		Table name	 * @return	void	 */	function readDataSource($table)	{		if (!is_array($this->spreadSheetFiles))	{			die('Spreadsheet Data Source FATAL ERROR: No spreadsheet file loaded. Init() must have failed!');		}		$this->data[$table] = array();				// Read content.xml:		$content_xml = $this->unzip->getFileFromArchive('content.xml');			// Testing for writing back:		$content_xml = str_replace('Felt A1','FELT A1',$content_xml);			// Writing file back (to database)		$this->unzip->putFileToArchive('content.xml', $content_xml['content']);			// Writing ZIP content back to zip-archive file:		$result = $this->unzip->compileZipFile('fileadmin/dbtest_output.sxc');		debug($result);		exit;	}	/**	 * Saving data source	 *	 * @param	string		Table name	 * @return	boolean		True on success	 */	function saveDataSource($table)	{	}	/**************************************	 *	 * SQL admin functions	 * (For use in the Install Tool and Extension Manager)	 *	 **************************************/	/**	 * Returns the list of tables from the database	 *	 * @return	array		Tables in an array (tablename is in both key and value)	 */	function admin_get_tables()	{		$whichTables = array();		return $whichTables;	}	/**	 * Returns information about each field in the $table	 *	 * @param	string		Table name	 * @return	array		Field information in an associative array with fieldname => field row	 */	function admin_get_fields($tableName)	{		return array();	}	/**	 * Returns information about each index key in the $table	 *	 * @param	string		Table name	 * @return	array		Key information in a numeric array	 */	function admin_get_keys($tableName)	{		return array();	}	/**	 * mysql() wrapper function, used by the Install Tool and EM for all queries regarding management of the database!	 *	 * @param	string		Query to execute	 * @return	pointer		Result pointer	 */	function admin_query($query)	{		$parsedQuery = $this->parseSQL($query);		$table = $parsedQuery['TABLE'];		if (is_array($parsedQuery))	{				// Process query based on type:			switch($parsedQuery['type'])	{				case 'CREATETABLE':				break;				case 'ALTERTABLE':				break;				case 'DROPTABLE':				break;				default:					$this->errorStatus = 'Query type "'.$parsedQuery['type'].'" was not supported!';				break;			}		} else $this->errorStatus = 'SQL parse error: '.$parsedQuery;		return FALSE;	}}if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dbal/handlers/class.tx_dbal_handler_openoffice.php'])	{	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dbal/handlers/class.tx_dbal_handler_openoffice.php']);}?>

⌨️ 快捷键说明

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