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

📄 csvexport.php

📁 国外的人才求职招聘最新版
💻 PHP
字号:
<?php/** * OrangeHRM is a comprehensive Human Resource Management (HRM) System that captures * all the essential functionalities required for any enterprise. * Copyright (C) 2006 OrangeHRM Inc., http://www.orangehrm.com * * OrangeHRM 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. * * OrangeHRM 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. * * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA  02110-1301, USA * */require_once ROOT_PATH.'/lib/dao/DMLFunctions.php';require_once ROOT_PATH.'/lib/dao/SQLQBuilder.php';require_once ROOT_PATH.'/lib/confs/sysConf.php';require_once ROOT_PATH.'/lib/common/CommonFunctions.php';require_once ROOT_PATH.'/lib/models/eimadmin/export/CSVExportPlugin.php';require_once ROOT_PATH.'/lib/models/eimadmin/export/CustomizableCSVExport.php';class CSVExport {	/**	 * Class Attributes	 */	private $exportPlugins;	private $pluginDir;	/**	 * Constructor	 *	 */	public function __construct() {		$this->pluginDir = ROOT_PATH . '/lib/models/eimadmin/export/plugins';		$this->exportPlugins = $this->_getListOfAvailablePlugins();		/* Get user defined exports - defined via the UI.*/		$customExports = CustomExport::getCustomExportList();		foreach ($customExports as $export) {			/* We don't check for any conflicts in key since, plugins have the class name as key*/			$this->exportPlugins[$export->getId()] = $export->getName();		}	}	/**	 * Get defined export types	 *	 */	public function getDefinedExportTypes() {		return $this->exportPlugins;	}	/**	 * Do the data export	 *	 * @param string $type Export type	 */	 public function exportData($type) {		$exportPlugin = $this->_getPlugin($type);		$fileName = $exportPlugin->getName();		$csvContents = $exportPlugin->getHeader() . "\n" . $exportPlugin->getCSVData();		ob_end_clean();		header("Pragma: public");		header("Expires: 0");		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");		header("Cache-Control: private", false);		header("Content-Type: text/csv");		header('Content-Disposition: attachment; filename="' . $fileName . '.csv";');		header("Content-Transfer-Encoding: none");		//header("Content-Length: " .strlen($csvContents));		echo $csvContents;	 }	 /**	  * Get list of available csv export plugins	  */	 protected function _getListOfAvailablePlugins() {		$plugins = array();		if (is_dir($this->pluginDir)) {			$handle = @opendir($this->pluginDir);			if ($handle) {				$oldDir = getcwd();				chdir($this->pluginDir);				while (false !== ($file = readdir($handle))) {					if (is_file($file)) {						$fileInfo = pathinfo($file);						$className = $fileInfo['basename'];						$extension = $fileInfo['extension'];						if (!empty($extension)) {							$className = str_replace("." . $extension, "", $className);						}						/* Skip any unit test classes (ending with Test) */						if (!(strrpos($className, "Test") === strlen($className) - 4)) {							require_once $this->pluginDir . "/" . $file;							$object = new $className;							if ($object instanceof CSVExportPlugin) {								$pluginName = $object->getName();								$plugins[$className] = $pluginName;							}						}					}    			}				closedir($handle);				chdir($oldDir);			}		}		return $plugins;	 }	 private function _getPlugin($type) {		/* If the type is an ID, get the customizable CSV Export class */		if (CommonFunctions::isValidId($type)) {			$object = new CustomizableCSVExport($type);		} else {			require_once $this->pluginDir . "/" . $type . ".php";			$object = new $type;		}		return $object;	 }}?>

⌨️ 快捷键说明

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