| 1 |
<?php |
| 2 |
|
| 3 |
abstract class Red_FileIO { |
| 4 |
var $items = array(); |
| 5 |
|
| 6 |
public static function create( $type ) { |
| 7 |
$exporter = false; |
| 8 |
|
| 9 |
if ( $type == 'rss' ) { |
| 10 |
include dirname( dirname( __FILE__ ) )."/fileio/rss.php"; |
| 11 |
$exporter = new Red_Rss_File(); |
| 12 |
} |
| 13 |
elseif ( $type == 'csv' ) { |
| 14 |
include dirname( dirname( __FILE__ ) )."/fileio/csv.php"; |
| 15 |
$exporter = new Red_Csv_File(); |
| 16 |
} |
| 17 |
elseif ( $type == 'apache' ) { |
| 18 |
include dirname( dirname( __FILE__ ) )."/fileio/apache.php"; |
| 19 |
$exporter = new Red_Apache_File(); |
| 20 |
} |
| 21 |
|
| 22 |
return $exporter; |
| 23 |
} |
| 24 |
|
| 25 |
public static function import( $group, $file ) { |
| 26 |
if ( is_uploaded_file( $file['tmp_name'] ) ) { |
| 27 |
$parts = pathinfo( $file['name'] ); |
| 28 |
|
| 29 |
if ( isset( $parts['extension'] ) && $parts['extension'] == 'csv' ) { |
| 30 |
include dirname( dirname( __FILE__ ) ).'/fileio/csv.php'; |
| 31 |
$importer = new Red_Csv_File(); |
| 32 |
$data = ''; |
| 33 |
} |
| 34 |
else { |
| 35 |
include dirname( dirname( __FILE__ ) ).'/fileio/apache.php'; |
| 36 |
$importer = new Red_Apache_File(); |
| 37 |
$data = @file_get_contents ($file['tmp_name']); |
| 38 |
} |
| 39 |
|
| 40 |
return $importer->load( $group, $data, $file['tmp_name'] ); |
| 41 |
} |
| 42 |
|
| 43 |
return 0; |
| 44 |
} |
| 45 |
|
| 46 |
abstract function export( array $items ); |
| 47 |
abstract function load( $group, $data, $filename = '' ); |
| 48 |
} |
| 49 |
|