You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
cosmopet.ae/wp-content/plugins copy/wp-all-import/libraries/XmlImportXLSParse.php

57 lines
1.8 KiB

<?php
class PMXI_XLSParser{
public $csv_path;
public $_filename;
public $targetDir;
public $xml;
public function __construct($path, $targetDir = false){
$this->_filename = $path;
$wp_uploads = wp_upload_dir();
$this->targetDir = ( ! $targetDir ) ? wp_all_import_secure_file($wp_uploads['basedir'] . DIRECTORY_SEPARATOR . PMXI_Plugin::UPLOADS_DIRECTORY ) : $targetDir;
}
public function parse(){
$tmpname = wp_unique_filename($this->targetDir, preg_replace('%\W(xls|xlsx)$%i', ".csv", basename($this->_filename)));
$this->csv_path = $this->targetDir . '/' . wp_all_import_url_title($tmpname);
return $this->toXML();
}
protected function toXML(){
include_once( PMXI_Plugin::ROOT_DIR . '/classes/PHPExcel/IOFactory.php' );
$objPHPExcel = PHPExcel_IOFactory::load($this->_filename);
$objPHPExcel = apply_filters('wp_all_import_phpexcel_object', $objPHPExcel, $this->_filename);
$PHPExcelDelimiter = ",";
$PHPExcelDelimiter = apply_filters('wp_all_import_phpexcel_delimiter', $PHPExcelDelimiter, $this->_filename);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV')->setDelimiter($PHPExcelDelimiter)
->setEnclosure('"')
->setLineEnding("\r\n")
->setSheetIndex(0)
->save($this->csv_path);
include_once(PMXI_Plugin::ROOT_DIR . '/libraries/XmlImportCsvParse.php');
$this->xml = new PMXI_CsvParser( array( 'filename' => $this->csv_path, 'targetDir' => $this->targetDir ) );
@unlink($this->csv_path);
return $this->xml->xml_path;
}
}