46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\io\csv;
 | |
| 
 | |
| use nur\A;
 | |
| use nur\ref\ref_csv;
 | |
| 
 | |
| class flavours {
 | |
|   const MAP = [
 | |
|     "oo" => ref_csv::OO_FLAVOUR,
 | |
|     "ooffice" => ref_csv::OO_FLAVOUR,
 | |
|     ref_csv::OO_NAME => ref_csv::OO_FLAVOUR,
 | |
|     "xl" => ref_csv::XL_FLAVOUR,
 | |
|     "excel" => ref_csv::XL_FLAVOUR,
 | |
|     ref_csv::XL_NAME => ref_csv::XL_FLAVOUR,
 | |
|   ];
 | |
|   
 | |
|   const ENCODINGS = [
 | |
|     ref_csv::OO_FLAVOUR => ref_csv::OO_ENCODING,
 | |
|     ref_csv::XL_FLAVOUR => ref_csv::XL_ENCODING,
 | |
|   ];
 | |
|   
 | |
|   static final function verifix(string $flavour): string {
 | |
|     if (array_key_exists(strtolower($flavour), self::MAP)) {
 | |
|       $flavour = self::MAP[strtolower($flavour)];
 | |
|     }
 | |
|     if (strlen($flavour) < 1) $flavour .= ",";
 | |
|     if (strlen($flavour) < 2) $flavour .= "\"";
 | |
|     if (strlen($flavour) < 3) $flavour .= "\\";
 | |
|     return $flavour;
 | |
|   }
 | |
| 
 | |
|   static final function get_name(string $flavour): string {
 | |
|     if ($flavour == ref_csv::OO_FLAVOUR) return ref_csv::OO_NAME;
 | |
|     elseif ($flavour == ref_csv::XL_FLAVOUR) return ref_csv::XL_NAME;
 | |
|     else return $flavour;
 | |
|   }
 | |
|   
 | |
|   static final function get_params(string $flavour): array {
 | |
|     return [$flavour[0], $flavour[1], $flavour[2]];
 | |
|   }
 | |
| 
 | |
|   static final function get_encoding(string $flavour): ?string {
 | |
|     return A::get(self::ENCODINGS, $flavour);
 | |
|   }
 | |
| }
 |