*
* 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; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/**
\file htdoc/ecm/docmine.php
\ingroup ecm
\brief Main page for a section
\version $Id$
\author Laurent Destailleur
*/
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php");
require_once(DOL_DOCUMENT_ROOT."/ecm/ecmdirectory.class.php");
// Load traductions files
$langs->load("ecm");
$langs->load("companies");
$langs->load("other");
// Load permissions
$user->getrights('ecm');
// Get parameters
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
// Permissions
if ($user->societe_id > 0)
{
$action = '';
$socid = $user->societe_id;
}
$section=$_REQUEST["section"];
if (! $section)
{
dolibarr_print_error('',"ErrorSectionParamNotDefined");
exit;
}
$ecmdir = new ECMDirectory($db);
if (! empty($_REQUEST["section"]))
{
$result=$ecmdir->fetch($_REQUEST["section"]);
if (! $result > 0)
{
dolibarr_print_error($db,$ecmdir->error);
exit;
}
}
$upload_dir = $conf->ecm->dir_output.'/'.$ecmdir->label;
/*******************************************************************
* ACTIONS
*
* Put here all code to do according to value of "action" parameter
********************************************************************/
// Envoie fichier
if ( $_POST["sendit"] && $conf->upload != 0)
{
if (! is_dir($upload_dir)) create_exdir($upload_dir);
if (is_dir($upload_dir))
{
$result = doliMoveFileUpload($_FILES['userfile']['tmp_name'], $upload_dir . "/" . $_FILES['userfile']['name']);
if ($result == 1)
{
$mesg = '
'.$langs->trans("FileTransferComplete").'
';
//print_r($_FILES);
}
else if (!$result)
{
// Echec transfert (fichier d?passant la limite ?)
$mesg = ''.$langs->trans("ErrorFileNotUploaded").'
';
// print_r($_FILES);
}
else
{
// Fichier infect? par un virus
$mesg = ''.$langs->trans("ErrorFileIsInfectedWith",$result).'
';
}
}
}
// Suppression fichier
if ($_POST['action'] == 'confirm_deletefile' && $_POST['confirm'] == 'yes')
{
$file = $upload_dir . "/" . urldecode($_GET["urlfile"]);
dol_delete_file($file);
$mesg = ''.$langs->trans("FileWasRemoved").'
';
}
/*******************************************************************
* PAGE
*
* Put here all code to do according to value of "action" parameter
********************************************************************/
llxHeader();
$form=new Form($db);
print_fiche_titre($langs->trans("ECMManualOrg"));
$ecmdir->ref=$ecmdir->label;
print $langs->trans("ECMSection").': ';
print img_picto('','object_dir').' ';
print ''.$langs->trans("ECMRoot").'';
print ' -> '.$ecmdir->getNomUrl(1).'';
print "
";
//$head = societe_prepare_head($societe);
//dolibarr_fiche_head($head, 'document', $societe->nom);
/*
* Confirmation de la suppression d'une ligne produit
*/
if ($_GET['action'] == 'delete_file')
{
$form->form_confirm($_SERVER["PHP_SELF"].'?section='.$_REQUEST["section"].'&urlfile='.urldecode($_GET["urlfile"]), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile');
print '
';
}
// Construit liste des fichiers
clearstatcache();
$totalsize=0;
$filearray=array();
$errorlevel=error_reporting();
error_reporting(0);
$handle=opendir($upload_dir);
error_reporting($errorlevel);
if ($handle)
{
$i=0;
while (($file = readdir($handle))!==false)
{
if (!is_dir($dir.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')
{
$filearray[$i]->name=$file;
$filearray[$i]->size=filesize($upload_dir."/".$file);
$filearray[$i]->date=filemtime($upload_dir."/".$file);
$totalsize+=$filearray[$i]->size;
$i++;
}
}
closedir($handle);
}
else
{
// print ''.$langs->trans("ErrorCanNotReadDir",$upload_dir).'
';
}
/*
print '';
// Nbre fichiers
print '| '.$langs->trans("NbOfAttachedFiles").' | '.sizeof($filearray).' |
';
//Total taille
print '| '.$langs->trans("TotalSizeOfAttachedFiles").' | '.$totalsize.' '.$langs->trans("bytes").' |
';
print '
';
print '';
*/
if ($mesg) { print $mesg."
"; }
// Affiche formulaire upload
$formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/ecm/docmine.php','',0,$section);
// Affiche liste des documents existant
print_titre($langs->trans("AttachedFiles"));
/**
* TODO Mettre cette section dans une zone AJAX
*/
$modulepart='ecm';
$url=$_SERVER["PHP_SELF"];
print '';
print '';
$param='&socid='.$socid;
print_liste_field_titre($langs->trans("Document"),$_SERVER["PHP_SELF"],"name","",$param,'align="left"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Size"),$_SERVER["PHP_SELF"],"size","",$param,'align="right"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"date","",$param,'align="center"',$sortfield,$sortorder);
print '| | ';
print '
';
function compare_file($a, $b)
{
global $sortorder;
global $sortfield;
$sortorder=strtoupper($sortorder);
if ($sortorder == 'ASC') { $retup=-1; $retdown=1; }
else { $retup=1; $retdown=-1; }
if ($sortfield == 'name')
{
if ($a->name == $b->name) return 0;
return ($a->name < $b->name) ? $retup : $retdown;
}
if ($sortfield == 'date')
{
if ($a->date == $b->date) return 0;
return ($a->date < $b->date) ? $retup : $retdown;
}
if ($sortfield == 'size')
{
if ($a->size == $b->size) return 0;
return ($a->size < $b->size) ? $retup : $retdown;
}
}
usort($filearray,"compare_file");
$var=true;
foreach($filearray as $key => $file)
{
if (!is_dir($dir.$file->name) && substr($file->name, 0, 1) <> '.' && substr($file->name, 0, 3) <> 'CVS')
{
$var=!$var;
print "| ";
echo ''.$file->name.'';
print " | \n";
print ''.$file->size.' '.$langs->trans("bytes").' | ';
print ''.dolibarr_print_date($file->date,"dayhour").' | ';
print '';
echo 'name).'">'.img_delete().'';
print " |
\n";
}
}
print "
";
// Fin de zone Ajax
// End of page
$db->close();
llxFooter('$Date$ - $Revision$');
?>