<?php
#=
/****************************************************************************
Copyright 2002, Daniel Deycard, Jacques Messines, Alain Pomirol
(CATICE Académie de Bordeaux)

This file is part of Gibii.

Gibii is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Gibii is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Gibii; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

****************************************************************************
*/

define("_ALPHA","ABCDEFGHIJKLMNOPQRSTUVWXYZ");
define("_NUM","0123456789");
define("_ALPHANUM",_ALPHA._NUM);
define("_ANSI","ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»€€€€€ÁÂÀ©€€€€¢¥€");



function ASCII2ANSI($source) {
//s'il y a des caractères OEM, les transforme.
//Si la chaîne est déjà en ANSI, ne fait rien.
$result="";
for($i=0; $i<strlen($source) ; $i++) {
 $c=$source[$i];
 $n=ord($c);
 if (($n>127) and ($n<192))
    $c=substr(_ANSI,$n-128,1);
 $result.=$c;
}
return $result;
}

function normerdate($dnaiss) {
$dn=trim($dnaiss);
$e=ereg("^([0-9]{1,2})(.)([0-9]{1,2})",$dn,$r);
if ($e) {    //masque ok
	$jour=$r[1];
	$mois=$r[3];
    if (strlen($jour)==1) $jour='0'.$jour;
    if (strlen($mois)==1) $mois='0'.$mois;
    return $jour.'/'.$mois;
}
else return $dn;
}

function carvalide($s,&$idx,$ensemble) {
//retourne le premier caractère correct de s en débutant à l'indice idx
//correct veut dire : appartenir à "ensemble" . Si ensemble n'est pas vide,
//le caractère est transformé en minuscule et l'accent éventuel supprimé
//idx est positionné sur l'indice qui suit celui trouvé, pour l'appel suivant.
if ($ensemble)
    while ($idx<strlen($s) and strpos($ensemble,strtoupper($s[$idx]))===false)
           $idx++;
else
    while ($idx<strlen($s) && $s[$idx]==' ')
           $idx++;

if ($idx<strlen($s)) return strtolower($s[$idx++]);
else return "";
}

//retourne un tableau disc_id,libelle à partir de peu de chose
//récupéré sur une ligne dans le fichier texte profs.txt
function searchdiscipline($disc) {
$ret=array(0,''); //valeur par défaut
$disc=trim($disc);
if (empty($disc)) return $ret;
if (is_numeric($disc)) {
    $numdisc=intval($disc);
    $res=query("SELECT disc_id,libelle FROM disciplines WHERE disc_id=$disc;");
    if ($res) {
    	list($disc_id,$libelle)=mysql_fetch_array($res);
    	$ret=array($disc_id,$libelle);
    	}
	}
else {
    $res=query("SELECT disc_id,libelle FROM disciplines WHERE libelle like '$disc%';");
    switch (mysql_num_rows($res))  {
		case 0 :
			$res=query("SELECT disc_id,libelle FROM disciplines WHERE libelle like '%$disc%';");
			if (mysql_num_rows($res)==1) {
				list($disc_id,$libelle)=mysql_fetch_array($res);
				$ret=array($disc_id,$libelle);
				}
			elseif (strlen($disc)<=8) {
				$res=query("SELECT disc_id FROM disc_gep WHERE gep_id='$disc';");
				if ($res && mysql_num_rows($res)) {
					list($disc_id)=mysql_fetch_array($res);
					$res=query("SELECT disc_id,libelle FROM disciplines WHERE disc_id='$disc_id';");
					list($lib)=mysql_fetch_array($res);
					$ret=array($disc_id,$lib);
					}
				}
			break;
        case 1 :
	    	list($disc_id,$libelle)=mysql_fetch_array($res);
	    	$ret=array($disc_id,$libelle);
           	break;
        default :
			while (list($disc_id,$libelle)= mysql_fetch_array($res)) {
				if ($disc==$libelle) {
					$ret=array($disc_id,$libelle);       	
					break;
					}
				}
    	}
	}
return $ret;
}

?>