<?php
/****************************************************************************************
SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV

Version 0.9.9

Copyright (C) 2006-2009  Sylvain FATOME
This program 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.

This program 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 this program
(in the directory docs); 
if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
Boston, MA  02110-1301, USA.

Contact : galawa@free.fr

Web : http://smitst.homelinux.com
****************************************************************************************/


// Vérification des tentatives de hack
$pos=strpos($_SERVER['PHP_SELF'],"inc.php");
if ($pos===FALSE)
	$ok_inc=TRUE;
else
	$ok_inc=FALSE;
if ($ok_inc==FALSE) header("Location: ../index.php");

if (!isset($_SESSION["lng"])) $_SESSION["lng"]="fr";
include_once("../lng/".$_SESSION["lng"].".inc.php"); // Paramètres de language
include_once("../inc/config.inc.php");
include_once("../inc/fic_age.inc.php");
include_once("../inc/fic_cli.inc.php");
include_once("../inc/fic_do.inc.php");
include_once("../inc/fic_fici.inc.php");
include_once("../inc/fic_hum.inc.php");
include_once("../inc/fic_txt.inc.php");
include_once("../inc/func.inc.php");
include_once("../inc/func_date.inc.php");
include_once("../inc/func_log.inc.php");
include_once("../inc/func_geo.inc.php");
include_once("../inc/func_mail.inc.php");
include_once("../inc/func_txt.inc.php");
include_once("../inc/func_txtcm.inc.php");
include_once("../classes/phpmailer/class.phpmailer.php");
include_once("mail.inc.php");
include_once("../classes/ephpu/upload_class.php");
Archivelog(@$_SESSION["code_log"]);

// Téléchargement réservé à l'admin, le centre de gestion, les agences, et les techniciens
if ((@$_SESSION["niv_log"] == 9) OR (@$_SESSION["niv_log"] == 5) OR (@$_SESSION["niv_log"] == 4) OR (@$_SESSION["niv_log"] == 3))
{
	$rep_actif = @$_POST['dir'];	
	
	switch ($_SESSION["niv_log"])
	{
	case 9 :
			$max_size = $taille_maxi_admin; // Taille maximum autorisée pour téléchargement
			break;
	case 5 :
			$max_size = $taille_maxi_cge; // Taille maximum autorisée pour téléchargement
			break;
	case 4 :
			$max_size = $taille_maxi_age; // Taille maximum autorisée pour téléchargement
			break;
	case 3 :
			$max_size = $taille_maxi_tec; // Taille maximum autorisée pour téléchargement
			break;
	default : break;
	}
		
	$my_upload = new file_upload;
	
	// Définition du chemin de stockage
	if ($rep_actif <> "")
		$my_upload->upload_dir = $url_gfc."/".$rep_actif."/";
	else
		$my_upload->upload_dir = $url_gfc."/";
	$my_upload->extensions = $extensions_ok; // specify the allowed extensions here
	$my_upload->language = $_SESSION["lng"]; // use this to switch the messages into an other language (translate first!!!)
	$my_upload->max_length_filename = 100; // change this value to fit your field length in your database (standard 100)
	$my_upload->rename_file = true;

	if(@$_POST['ok'] == html_entity_decode($but_envoyer))
	{
		$codeuser = @$_SESSION["code_log"];
		
		$my_upload->the_temp_file = $_FILES['upload']['tmp_name'];
		$my_upload->the_file = $_FILES['upload']['name'];
		$my_upload->http_error = $_FILES['upload']['error'];
		$my_upload->replace = (isset($_POST['replace'])) ? $_POST['replace'] : "n"; // because only a checked checkboxes is true
		$my_upload->do_filename_check = (isset($_POST['check'])) ? $_POST['check'] : "n"; // use this boolean to check for a valid filename
		$new_name = (isset($_POST['name'])) ? $_POST['name'] : "";
		$new_name = str_upload($new_name);
		if ($my_upload->upload($new_name))
		{ // new name is an additional filename information, use this to rename the uploaded file
			$full_path = $my_upload->upload_dir.$my_upload->file_copy;
			$info = $my_upload->get_uploaded_file_info($full_path);
			// ... or do something like insert the filename to the database

			$nouveau_nom = $my_upload->upload_dir.$new_name.strtolower(strrchr($_FILES['upload']['name'],"."));
			$desc = str_escape(trim($_POST['desc']));
			$detail = str_escape(trim($_POST['detail']));
			
			$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
			mysql_select_db(DBNAME);
			$rech = "SELECT * FROM " .TBFIC. " WHERE fic_nom = '".$nouveau_nom."'";
			$rs = mysql_query($rech)or die(mysql_error());
			if (mysql_num_rows($rs) == 1) // On a trouvé un enregistrement...c'est un remplacement..on fait une mise à jour
			{
				$rech = "UPDATE `" .TBFIC;
				$rech .= "` SET `fic_desc`='".$desc."', `fic_detail`='".$detail."', `fic_datecrea`='".$datea."', `fic_codecrea`='".$codeuser."'";
				$rech .=" WHERE `fic_nom` = '".$nouveau_nom."'";
			}
			else // On a pas trouvé, on ajoute l'enregistrement
			{
				$rech = "INSERT INTO " .TBFIC;
				$rech .= " (fic_nom,fic_desc,fic_detail,fic_datecrea,fic_codecrea,fic_nbtel) VALUES";
				$rech .= " ('$nouveau_nom','$desc','$detail','$datea','$codeuser','')";
			}
			$rs = mysql_query($rech) or die(mysql_error());
			mysql_close($conn);

			// Envoi d'email vers l'administrateur
			envoi_mailwm($nouveau_nom,"Téléchargement de fichier","fic","cre","xxx","wm",$nouveau_nom,"","");


			// Envoi d'email vers l'agence
			if ((@$_SESSION["niv_log"] == 9) OR (@$_SESSION["niv_log"] == 5))
			{
				// On vérifie si on est dans le répertoire d'une agence pour lui envoyer un email
				$pos = strpos($rep_actif,"agences");
				if ($pos === FALSE)
				{
					// On est pas le répertoire agences, pas besoin d'envoyer d'email
				}
				else
				{
					// On y est..si on est dans un sous répertoire de "agences" (donc dans un répertoire privé), on peut envoyer un email
					if ($rep_actif <> "agences")
					{
						$tab_url = explode("/",$rep_actif);
						$code_agence = $tab_url[1];
						$rep_aff = str_replace("agences/".$tab_url[1],"",$rep_actif);
						if (trim($rep_aff) <> "")
							envoi_mail($nouveau_nom,"Téléchargement de fichier","fic","cre2","xxx","age",$code_agence,"","",FALSE);
						else
							envoi_mail($nouveau_nom,"Téléchargement de fichier","fic","cre1","xxx","age",$code_agence,"","",FALSE);
					}
				}
			}


			// Envoi d'email vers le client

			// On vérifie si on est dans le répertoire d'un client pour lui envoyer un email
			$pos = strpos($rep_actif,"clients");
			if ($pos === FALSE)
			{
				// On est pas le répertoire clients, pas besoin d'envoyer d'email
			}
			else
			{
				// On y est..si on est dans un sous répertoire de "clients" (donc dans un répertoire privé), on peut envoyer un email
				if ($rep_actif <> "clients")
				{
					$tab_url = explode("/",$rep_actif);
					$code_client = $tab_url[1];
					$rep_aff = str_replace("clients/".$tab_url[1],"",$rep_actif);
					if (trim($rep_aff) <> "")
						envoi_mail($nouveau_nom,"Téléchargement de fichier","fic","cre2","xxx","cli",$code_client,"","",FALSE);
					else
						envoi_mail($nouveau_nom,"Téléchargement de fichier","fic","cre1","xxx","cli",$code_client,"","",FALSE);

					// Copie vers l'agence "propriétaire" du client si ce n'est pas elle qui a téléchargé
					if ((@$_SESSION["niv_log"] == 9) OR (@$_SESSION["niv_log"] == 5))
					{
						if ($cli_prop <> NULL)
						{
							$row = lit_enr_age($cli_prop,TRUE);
							if (is_array($row))
							{
								extract($row);
								
								$code_agence=$age_code;

								if (trim($rep_aff) <> "")
									envoi_mail("","Téléchargement de fichier","fic","cre4","xxx","age",$nouveau_nom,"","",FALSE);
								else
									envoi_mail("","Téléchargement de fichier","fic","cre3","xxx","age",$nouveau_nom,"","",FALSE);
							}
						}
					}
				}
			}

			$msg = "Téléchargement réussi";
			$retourliste = TRUE;
		}
		else
		{
			$retourliste = FALSE;
			$msg = $my_upload->show_error_string();
		}
	}
}
else
{
	$retourliste = FALSE;
	$msg = "Vous n'avez pas le droit de télécharger des fichiers.";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>SMI - <?PHP echo $title_esp_prive; ?> : T&eacute;l&eacute;chargement de fichier</title>

<!-- Feuille de style pour les affichages courants -->
<link href="../css/smi.css" rel="stylesheet" type="text/css">

<!-- Feuille de style & Script pour le menu -->

<script language="JavaScript" src="../jscript/coolmenus/coolmenus4.js"></script>

<!-- Scripts Javascript pour fenêtres -->
<script language="JavaScript" src="../jscript/fen.js"></script>

</head>
<body>

<?php 
include_once("../inc/entete.inc.php"); 
?>

<p align="center"><span class="titrepage">TELECHARGEMENT DE FICHIER</span></p>
<p align="center">&nbsp;</p>
<p align="center"><?php echo $msg; ?></p>
<?PHP
$chemin_retour="fic_down.php?dir=".$rep_actif."&ope=".@$_POST['ope']."&date=".@$_POST['date']."&search=".$_POST['search'];
if ($retourliste == FALSE) { 
	aff_ret_idx_man($td,$chemin_retour,$txt_lnk_ret_liste,TRUE);
} else { ?>
<p align="center" class="annot_std_it"><?PHP echo $txt_lnk_ret_liste.", ".$txt_patience; ?></p>
<script type="text/javascript">
<!--
window.setTimeout("location=('<?PHP echo $chemin_retour;?>');",2000)
//-->
</script>
<?PHP 
}
include_once("pied.php");
?>
