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);
 | 
						|
  }
 | 
						|
}
 |