×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: PHP
Posted by: Antonio D'Angelo
Added: Apr 17, 2014 10:26 AM
Modified: Apr 17, 2014 10:48 AM
Views: 18
PHP Class for retrieve basic information from italian "CODICE FISCALE"
  1. <?php
  2.  
  3. class cf {
  4.     /**
  5.      * Variabile globale che setta il codice fiscale
  6.      * @var string Codice Fiscale da analizzare
  7.      * @uuses (new cf("CODICEFISCALE"))->dataNas() Restituisce data di Nascita da codice fiscale
  8.      */
  9.     var $_cf = "";
  10.    
  11.     /**
  12.      * Costruttore della classe
  13.      * @param string Setta il codice fiscale
  14.      * @return \cf Ritorna oggetto
  15.      */
  16.     function __construct($codFis) {
  17.         ($codFis != "") ? $this->_cf = $codFis : $this->_cf = "ABCDEF89S28F839C";
  18.         return $this;    
  19.      }
  20.  
  21.     /**
  22.      * Estrapolazione data di nascita da codice fiscale
  23.      *
  24.      * @param boolean se TRUE restituisce la data in formato Y-m-d altrimenti d/m/Y
  25.      * @return \cf Ritorna oggetto
  26.      */
  27.     function dataNas($mode = false){
  28.         $d = substr($this->_cf, 9, 2);
  29.         $m = $this->getMonth(substr($this->_cf, 8, 1));
  30.         $y = "19" . substr($this->_cf, 6, 2);
  31.         (int)$d > 40 ? $d = (int)$d - 40 : $d = $d;
  32.         if(!$mode){
  33.         echo $d . "/" . $m . "/" . $y;
  34.         } else {
  35.             return $y . "-". $m . "-" . $g;
  36.         }
  37.         return $this;
  38.     }
  39.     /**
  40.      * Estrapola sesso da codice fiscale
  41.      *
  42.      * @return int 1 se maschio 2 se donna
  43.      */
  44.     function getSex(){
  45.         $d = substr($this->_cf, 9, 2);
  46.         $sex = 0;
  47.         ((int)$d >= 40) ? $sex = 2 : $sex = 1;
  48.             return $sex;
  49.     }
  50.    
  51.     function getMonth($let){
  52.         $mesi = array(
  53.             "A" => "01", "B" => "02", "C" => "03",
  54.             "D" => "04", "E" => "05", "H" => "06",
  55.             "L" => "07", "M" => "08", "P" => "09",
  56.             "R" => "10", "S" => "11", "T" => "12");
  57.                 return $mesi[$let];
  58.     }
  59.    
  60. }