displayDescription($description); // GET if (isset ($_GET['validation'])){ $validation=$_GET['validation']; }else{ $validation=0; } // ============================================================================= // validation = 0 // ============================================================================= if($validation==0){ $validation=1; echo "
"; echo "annee "; echo ""; echo "trimestre "; echo ""; echo "

"; echo "

"; }else{ // validation =1 // variables de biscoto if (isset ($_POST['annee'])){ $annee=$_POST['annee']; }else{ $annee=date('Y'); } if (isset ($_POST['trimestre'])){ $trimestre=$_POST['trimestre']; }else{ $trimestre=1; } //echo integer(date('m'))/4+1; define("PECOTO_NAME", "pecoto"); define("INSEE_VILLE_RECENSEMENT", $f->collectivite['insee']); define("ORG_RECENSEMENT", "0"); define("CP_VILLE_RECENSEMENT", $f->collectivite['cp']); define("DPT_VILLE_RECENSEMENT", $f->collectivite['departement']); define("RESP_RECENSEMENT_NOM", $f->collectivite['nom_recensement']); define("RESP_RECENSEMENT_TEL", $f->collectivite['tel_recensement']); define("RESP_RECENSEMENT_MAIL", $f->collectivite['mail_recensement']); $filename = PECOTO_NAME.date("Ymdhms").".txt"; define("CR", "\r"); define("LF", "\n"); define("PV", ";"); // datedebut et datefin $temp1='';$temp2=''; switch($trimestre) { case(1): $temp1='01-01'; $temp2='03-31'; break; case(2): $temp1='04-01'; $temp2='06-30'; break; case(3): $temp1='07-01'; $temp2='09-30'; break; case(4): $temp1='10-01'; $temp2='12-31'; break; } $datedebut = $annee."-".$temp1; $datefin = $annee."-".$temp2; // fonctions de biscoto function departement($cp) { if(intval(substr($cp, 0, 2)) >= 97) $res = substr($cp, 0, 3); else $res = substr($cp, 0, 2); return $res; } function champ($val, $maxlen) { return substr($val, 0, $maxlen); } function champX($val, $maxlen) { if(strlen($val) == 0) return '0'; else return substr($val, 0, $maxlen); } function champA($val, $maxlen) { if(strlen($val) == 0) return ''; else { $val = substr($val, 0, $maxlen); return str_pad($val, $maxlen, '0', STR_PAD_LEFT); } } function champXA($val, $maxlen) { $val = substr($val, 0, $maxlen); return str_pad($val, $maxlen, '0', STR_PAD_LEFT); } function champT($val, $maxlen) { $val = substr(strtoupper($val), 0, $maxlen); $val=str_replace(chr(195), "", $val); // supprime le premier code des accents en UTF-8 $s = array('/[âàä]/', '/[éêèë]/', '/[îï]/', '/[ôö]/', '/[ûùü]/', '/ç/', '/\'|\"|^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\-\s\r/'); $r = array('A', 'E', 'I', 'O', 'U', 'C', ' '); $val = preg_replace($s , $r, $val); return $val; } function champXT($val, $maxlen) { if(strlen($val) == 0) return '0'; else return champT($val, $maxlen); } function fr_date($date){ $date=substr($date,8,2).substr($date,5,2).substr($date,0,4); return $date; } // requete sql par trimestre d inscription $sql= "select * from inscription"; $sql.=" where date_inscription >='".$datedebut."'"; $sql.=" and date_inscription <='".$datefin."'"; $res = $f->db->query($sql); $f->isDatabaseError($res); $nbr = $res->numrows(); // entete $header = champXA("@DEB", 4) . PV; $header .= champX($annee, 4) . PV; $header .= champX($trimestre, 1) . PV; $header .= champXA(INSEE_VILLE_RECENSEMENT, 5) . PV; $header .= champXA(CP_VILLE_RECENSEMENT, 5) . PV; $header .= champXA(DPT_VILLE_RECENSEMENT, 3) . PV; $header .= champXA('1', 2) . PV; $header .= champXA('1', 2) . PV; $header .= champX(RESP_RECENSEMENT_NOM, 40) . PV; $header .= champX(RESP_RECENSEMENT_TEL, 12) . PV; $header .= champ(RESP_RECENSEMENT_MAIL, 40) . PV; $header .= champXA($nbr, 5) . PV; $header .= champ('PECOTO+', 50) . PV; // format du fichier pecoto $header .= champ('v1.0', 50); // version du fichier pecoto $header .= CR.LF; $line=''; $aff=''; $i=0; while ($d =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { $i++; $line .= champXA($i,4) . PV; $line .= champX(ORG_RECENSEMENT, 1) . PV; $line .= champX($d['liste'], 1) . PV; $line .= champXT($d['nom'], 32) . PV; $line .= champXT($d['prenoms'], 40) . PV; $line .= champX($d['sexe'], 1) . PV; $line .= champT($d['nom_usage'], 32) . PV; $line .= champXA(fr_date($d['naissance_date']), 8) . PV; $line .= champXA($d['naissance_ville_insee'], 5) . PV; $line .= champXA($d['naissance_ville_cp'], 5) . PV; $line .= champXA(departement($d['naissance_ville_insee']), 3) . PV; $line .= champXA($d['naissance_pays'] , 5) . PV; $line .= champT($d['naissance_ville_etr'] , 32) . PV; // filiation père if($d['pere_naissance_ville_insee'] == "") { // né(e) dans une ville étrangère $dpt = $villecp = '0'; $villeinsee = '0'; } else { $villecp = $d['pere_naissance_ville_cp']; $dpt = departement($d['pere_naissance_ville_cp']); $villeinsee = $d['pere_naissance_ville_insee']; } $line .= champT($d['pere_nom'], 32) . PV; $line .= champT($d['pere_prenoms'], 40) . PV; $line .= champA(fr_date($d['pere_naissance_date']), 8) . PV; $line .= champA($villeinsee, 5) . PV; $line .= champA($villecp, 5) . PV; $line .= champA($dpt, 3) . PV; $line .= champA($d['pere_naissance_pays'] , 5) . PV; $line .= champT($d['pere_naissance_ville_etr'] , 32) . PV; $line .= champA($d['pere_nationalite'], 5) . PV; // filiation mère if($d['mere_naissance_ville_insee'] == "") { $dpt = $villecp = '0'; $villeinsee = '0'; } else { $villecp = $d['mere_naissance_ville_cp']; $dpt = departement($d['mere_naissance_ville_cp']); $villeinsee = $d['mere_naissance_ville_insee']; } $line .= champT($d['mere_nom'], 32) . PV; $line .= champT($d['mere_prenoms'], 40) . PV; $line .= champA(fr_date($d['mere_naissance_date']), 8) . PV; $line .= champA($villeinsee, 5) . PV; $line .= champA($villecp, 5) . PV; $line .= champA($dpt, 3) . PV; $line .= champA($d['mere_naissance_pays'] , 5) . PV; $line .= champT($d['mere_naissance_ville_etr'] , 32) . PV; $line .= champA($d['mere_nationalite'], 5) . PV; // nationalité $line .= champX('00000', 5) . PV; // valeur constante (du moins en France), // toute personne doit toujours avoir au moins la nationalité française $line .= champA($d['nationalite2'], 5) . PV; $line .= champA($d['convention_international'], 1) . PV; // adresse $line .= champXT($d['domicile_adr1'], 38) . PV; $line .= champT($d['domicile_adr2'], 38) . PV; $line .= champT($d['domicile_adr3'], 38) . PV; $line .= champXA($d['domicile_ville_insee'], 5) . PV; $line .= champXA($d['domicile_ville_cp'], 5) . PV; $line .= champXA($d['domicile_pays'], 5) . PV; $line .= champT($d['domicile_ville_etr'], 32) . PV; // résidence $line .= champT($d['residence_adr1'], 38) . PV; $line .= champT($d['residence_adr2'], 38) . PV; $line .= champT($d['residence_adr3'], 38) . PV; $line .= champA($d['residence_ville_insee'], 5) . PV; $line .= champA($d['residence_ville_cp'], 5) . PV; $line .= champA($d['residence_pays'], 5) . PV; $line .= champT($d['residence_ville_etr'], 32) . PV; // situation familiale $line .= champA($d['fratrie'], 2) . PV; $line .= champA($d['situation_familiale'], 1) . PV; $line .= champA($d['enfants'], 2) . PV; $line .= champA($d['pupille'], 1) . PV; // situation scolaire ou professionnelle $line .= champA(0, 2) . PV; // situation scolaire $line .= champA(0, 2) . PV; // diplôme $line .= champA(0, 3) . PV; // spécialité $line .= champA(0, 6) . PV; // profession // exemption $line .= champA($d['exemption'], 1). PV; // contact administre (nouveau pecoto) $line .= champ($d['telephone_fixe'], 10) . PV; $line .= champ($d['telephone_portable'], 10) . PV; $line .= champ($d['mail'], 40); // retour chariot $line .= CR.LF; // maj date transmission $sql="update inscription set transmission = '".date('Y-m-d')."'"; $sql.= " where date_inscription >='".$datedebut."'"; $sql.= " and date_inscription <='".$datefin."'"; $res1 = $f->db->query($sql); $f->isDatabaseError($res1); } $footer=champXA("@FIN", 4) . PV; $footer .= champX($annee, 4) . PV; $footer .= champX($trimestre, 1) . PV; $footer .= champXA(INSEE_VILLE_RECENSEMENT, 5) . PV; $footer .= champXA(CP_VILLE_RECENSEMENT, 5) . PV; $footer .= champXA(DPT_VILLE_RECENSEMENT, 3) . PV; $footer .= champXA('1', 2) . PV; $footer .= champXA('1', 2) . PV; $footer .= champX(RESP_RECENSEMENT_NOM, 40) . PV; $footer .= champX(RESP_RECENSEMENT_TEL, 12) . PV; $footer .= champ(RESP_RECENSEMENT_MAIL, 40) . PV; $footer .= champXA($nbr, 5). PV; $footer .= champ('PECOTO+', 50) . PV; // format du fichier pecoto $footer .= champ('v1.0', 50); // version du fichier pecoto // ecriture des fichiers en tmp $fichier = "../tmp/pecoto"."_test"; $inf = fopen($fichier,"w"); $export=$header.$line.$footer.CR.LF; fwrite($inf,$export); fclose($inf); echo "
Fichier ".$fichier." sauvegarde


"; $affiche=""; if($DEBUG==0) $affiche= str_replace("\n","
",$export); // affichage echo "

Pour telecharger le fichier, cliquer ici : "; echo "\"Télécharger"; echo " avec le bouton droit et enregistrer la cible du lien sous.

"; echo $affiche; }//fin validation ?>