Work on ajax ecm module
This commit is contained in:
parent
7d14ce2386
commit
74c39a10a2
@ -22,10 +22,10 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/filemanager/ajaxshowpreview.php
|
||||
* \brief Service to return a HTML preview of a file
|
||||
* \file htdocs/core/ajax/ajaxdirpreview.php
|
||||
* \brief Service to return a HTML preview of a directory
|
||||
* Call of this service is made with URL:
|
||||
* ajaxpreview.php?action=preview&modulepart=repfichierconcerne&file=pathrelatifdufichier
|
||||
* ajaxdirpreview.php?mode=nojs&action=preview&module=ecm§ion=0&file=xxx
|
||||
*/
|
||||
|
||||
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); // Disables token renewal
|
||||
@ -33,11 +33,45 @@ if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1');
|
||||
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1');
|
||||
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
|
||||
|
||||
// C'est un wrapper, donc header vierge
|
||||
function llxHeader() { }
|
||||
if (! isset($mode) || $mode != 'noajax')
|
||||
{
|
||||
require_once("../../main.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
|
||||
require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php');
|
||||
require_once(DOL_DOCUMENT_ROOT."/ecm/class/ecmdirectory.class.php");
|
||||
|
||||
require("../../main.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
|
||||
$action=GETPOST("action");
|
||||
$file=urldecode(GETPOST('file'));
|
||||
$section=GETPOST("section");
|
||||
$module=GETPOST("module");
|
||||
$urlsource=GETPOST("urlsource");
|
||||
|
||||
$upload_dir = dirname(str_replace("../","/", $conf->ecm->dir_output.'/'.$file));
|
||||
|
||||
$ecmdir = new EcmDirectory($db);
|
||||
$result=$ecmdir->fetch($section);
|
||||
if (! $result > 0)
|
||||
{
|
||||
dol_print_error($db,$ecmdir->error);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$ecmdir = new EcmDirectory($db);
|
||||
$relativepath='';
|
||||
if ($section > 0)
|
||||
{
|
||||
$result=$ecmdir->fetch($section);
|
||||
if (! $result > 0)
|
||||
{
|
||||
dol_print_error($db,$ecmdir->error);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
$relativepath=$ecmdir->getRelativePath();
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$relativepath;
|
||||
}
|
||||
|
||||
// Load traductions files
|
||||
$langs->load("ecm");
|
||||
@ -47,371 +81,189 @@ $langs->load("other");
|
||||
// Security check
|
||||
if ($user->societe_id > 0) $socid = $user->societe_id;
|
||||
|
||||
// Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP).
|
||||
$action=GETPOST("action");
|
||||
$file=urldecode(GETPOST('file'));
|
||||
$section=GETPOST("section");
|
||||
$module=GETPOST("module");
|
||||
$urlsource=GETPOST("urlsource");
|
||||
if (! $section)
|
||||
{
|
||||
dol_print_error('',"ErrorSectionParamNotDefined");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Suppression de la chaine de caractere ../ dans $original_file
|
||||
$original_file = str_replace("../","/", $file);
|
||||
$original_file_osencoded=dol_osencode($original_file); // New file name encoded in OS encoding charset
|
||||
//print 'xxx'.$upload_dir;
|
||||
|
||||
// Security:
|
||||
// On interdit les remontees de repertoire ainsi que les pipe dans
|
||||
// les noms de fichiers.
|
||||
if (preg_match('/\.\./',$original_file) || preg_match('/[<>|]/',$original_file))
|
||||
if (preg_match('/\.\./',$upload_dir) || preg_match('/[<>|]/',$upload_dir))
|
||||
{
|
||||
dol_syslog("Refused to deliver file ".$original_file);
|
||||
dol_syslog("Refused to deliver file ".$upload_dir);
|
||||
// Do no show plain path in shown error message
|
||||
dol_print_error(0,$langs->trans("ErrorFileNameInvalid",$_GET["file"]));
|
||||
dol_print_error(0,$langs->trans("ErrorFileNameInvalid",$upload_dir));
|
||||
exit;
|
||||
}
|
||||
|
||||
// Load ecm object
|
||||
/*$ecmdir = new EcmDirectory($db);
|
||||
$result=$ecmdir->fetch(GETPOST("section"));
|
||||
if (! $result > 0)
|
||||
{
|
||||
dol_print_error($db,$ecmdir->error);
|
||||
exit;
|
||||
}
|
||||
$relativepath=$ecmdir->getRelativePath();
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$relativepath;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Action
|
||||
*/
|
||||
|
||||
if ($action == 'remove_file') // Remove a file
|
||||
/*
|
||||
if ($action == 'remove_file') // Remove a file
|
||||
{
|
||||
clearstatcache();
|
||||
clearstatcache();
|
||||
|
||||
dol_syslog(__FILE__." remove $original_file $urlsource", LOG_DEBUG);
|
||||
dol_syslog(__FILE__." remove $original_file $urlsource", LOG_DEBUG);
|
||||
|
||||
// This test should be useless. We keep it to find bug more easily
|
||||
if (! file_exists($original_file_osencoded))
|
||||
{
|
||||
dol_print_error(0,$langs->trans("ErrorFileDoesNotExists",$_GET["file"]));
|
||||
exit;
|
||||
}
|
||||
|
||||
dol_delete_file($original_file);
|
||||
|
||||
dol_syslog(__FILE__." back to ".urldecode($urlsource), LOG_DEBUG);
|
||||
|
||||
header("Location: ".urldecode($urlsource));
|
||||
|
||||
return;
|
||||
// This test should be useless. We keep it to find bug more easily
|
||||
if (! file_exists($original_file_osencoded))
|
||||
{
|
||||
dol_print_error(0,$langs->trans("ErrorFileDoesNotExists",$_GET["file"]));
|
||||
exit;
|
||||
}
|
||||
|
||||
dol_delete_file($original_file);
|
||||
|
||||
dol_syslog(__FILE__." back to ".urldecode($urlsource), LOG_DEBUG);
|
||||
|
||||
header("Location: ".urldecode($urlsource));
|
||||
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* View
|
||||
*/
|
||||
|
||||
// Ajout directives pour resoudre bug IE
|
||||
header('Cache-Control: Public, must-revalidate');
|
||||
header('Pragma: public');
|
||||
|
||||
$filename = basename($original_file_osencoded);
|
||||
$sizeoffile = filesize($original_file_osencoded);
|
||||
|
||||
if (dol_is_dir($original_file))
|
||||
if (! isset($mode) || $mode != 'noajax')
|
||||
{
|
||||
$type='directory';
|
||||
}
|
||||
else
|
||||
{
|
||||
// Define mime type
|
||||
$type = 'application/octet-stream';
|
||||
if (GETPOST("type") != 'auto') $type=$_GET["type"];
|
||||
else $type=dol_mimetype($original_file,'text/plain');
|
||||
//print 'X'.$type.'-'.$original_file;exit;
|
||||
// Ajout directives pour resoudre bug IE
|
||||
header('Cache-Control: Public, must-revalidate');
|
||||
header('Pragma: public');
|
||||
}
|
||||
|
||||
clearstatcache();
|
||||
|
||||
// Output file on browser
|
||||
dol_syslog("document.php download $original_file $filename content-type=$type");
|
||||
$type='directory';
|
||||
|
||||
// This test if file exists should be useless. We keep it to find bug more easily
|
||||
if (! file_exists($original_file_osencoded))
|
||||
if (! dol_is_dir($upload_dir))
|
||||
{
|
||||
dol_print_error(0,$langs->trans("ErrorFileDoesNotExists",$original_file));
|
||||
$langs->load("install");
|
||||
dol_print_error(0,$langs->trans("ErrorDirDoesNotExists",$upload_dir));
|
||||
exit;
|
||||
}
|
||||
|
||||
print '<!-- TYPE='.$type.' -->'."\n";
|
||||
print '<!-- SIZE='.$sizeoffile.' -->'."\n";
|
||||
print '<!-- Ajax page called with url '.$_SERVER["PHP_SELF"].'?'.$_SERVER["QUERY_STRING"].' -->'."\n";
|
||||
|
||||
// Les drois sont ok et fichier trouve, et fichier texte, on l'envoie
|
||||
print '<b><font class="liste_titre">'.$langs->trans("Information").'</font></b><br>';
|
||||
print '<hr>';
|
||||
|
||||
// Dir
|
||||
if ($type == 'directory')
|
||||
{
|
||||
print '<table class="nobordernopadding">';
|
||||
print '<tr><td>'.$langs->trans("Directory").':</td><td> <b><span class="fmvalue">'.$original_file.'</span></b></td></tr>';
|
||||
$formfile=new FormFile($db);
|
||||
|
||||
//print $langs->trans("FullPath").': '.$original_file_osencoded.'<br>';
|
||||
//print $langs->trans("Mime-type").': '.$type.'<br>';
|
||||
$param=($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'');
|
||||
$maxlengthname=40;
|
||||
|
||||
$info=stat($original_file_osencoded);
|
||||
//print '<br>'."\n";
|
||||
//print $langs->trans("Owner").": ".$info['udi']."<br>\n";
|
||||
//print $langs->trans("Group").": ".$info['gdi']."<br>\n";
|
||||
//print $langs->trans("Size").": ".dol_print_size($info['size'])."<br>\n";
|
||||
print '<tr><td>'.$langs->trans("DateLastAccess").':</td><td> <span class="fmvalue">'.dol_print_date($info['atime'],'%Y-%m-%d %H:%M:%S')."</span></td></tr>\n";
|
||||
print '<tr><td>'.$langs->trans("DateLastChange").':</td><td> <span class="fmvalue">'.dol_print_date($info['mtime'],'%Y-%m-%d %H:%M:%S')."</span></td></tr>\n";
|
||||
//print $langs->trans("Ctime").": ".$info['ctime']."<br>\n";
|
||||
print '</table>'."\n";
|
||||
|
||||
print '<br><br>';
|
||||
print '<b>'.$langs->trans("Content")."</b><br>\n";
|
||||
print '<hr><br>';
|
||||
|
||||
print '<div class="filedirelem"><ul class="filedirelem">'."\n";
|
||||
|
||||
// Return content of dir
|
||||
$dircontent=dol_dir_list($original_file,'all',0,'','','name',SORT_ASC,0);
|
||||
foreach($dircontent as $key => $val)
|
||||
// Right area
|
||||
if ($module == 'company') // Auto area for suppliers invoices
|
||||
{
|
||||
if (dol_is_dir($val['name'])) $mimeimg='other.png';
|
||||
else $mimeimg=dol_mimetype($val['name'],'application/octet-stream',2);
|
||||
$upload_dir = $conf->societe->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
print '<li class="filedirelem">';
|
||||
print '<br><br>';
|
||||
print '<img src="'.DOL_URL_ROOT.'/theme/common/mime/'.$mimeimg.'"><br>';
|
||||
print dol_nl2br(dol_trunc($val['name'],24,'wrap'),1);
|
||||
print '</li>'."\n";
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'invoice') // Auto area for suppliers invoices
|
||||
{
|
||||
$upload_dir = $conf->facture->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'invoice_supplier') // Auto area for suppliers invoices
|
||||
{
|
||||
$relativepath='facture';
|
||||
$upload_dir = $conf->fournisseur->dir_output.'/'.$relativepath;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'propal') // Auto area for customers orders
|
||||
{
|
||||
$upload_dir = $conf->propal->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'order') // Auto area for customers orders
|
||||
{
|
||||
$upload_dir = $conf->commande->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'order_supplier') // Auto area for suppliers orders
|
||||
{
|
||||
$relativepath='commande';
|
||||
$upload_dir = $conf->fournisseur->dir_output.'/'.$relativepath;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'contract') // Auto area for suppliers invoices
|
||||
{
|
||||
$upload_dir = $conf->contrat->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'tax') // Auto area for suppliers invoices
|
||||
{
|
||||
$upload_dir = $conf->tax->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else // Manual area
|
||||
{
|
||||
|
||||
$relativepath=$ecmdir->getRelativePath();
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$relativepath;
|
||||
$filearray=dol_dir_list($upload_dir,"files",0,'',array('^\.','\.meta$','^temp$','^CVS$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='§ion='.$section;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("ECMSelectASection")));
|
||||
|
||||
$formfile->list_of_documents($filearray,'','ecm',$param,1,$relativepath,$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
|
||||
print '</ul></div>'."\n";
|
||||
}
|
||||
else {
|
||||
print '<table class="nobordernopadding" width="100%">';
|
||||
print '<tr><td>'.$langs->trans("File").':</td><td> <b><span class="fmvalue">'.$original_file.'</span></b></td></tr>';
|
||||
print '<tr><td>'.$langs->trans("Mime-type").':</td><td> <span class="fmvalue">'.$type.'</span></td>';
|
||||
print '<td align="right"><a href="'.dol_buildpath('/filemanager/document.php',1).'?modulepart=filemanager&id='.$id.'&rootpath='.$rootpath.'&file='.urlencode($original_file).'">'.$langs->trans("Download").'</a></td>';
|
||||
print '</tr>';
|
||||
|
||||
$info=stat($original_file_osencoded);
|
||||
//print '<br>'."\n";
|
||||
//print $langs->trans("Owner").": ".$info['udi']."<br>\n";
|
||||
//print $langs->trans("Group").": ".$info['gdi']."<br>\n";
|
||||
print '<tr><td>'.$langs->trans("Size").':</td><td> <span class="fmvalue">'.dol_print_size($info['size'])."</span></td></tr>\n";
|
||||
print '<tr><td>'.$langs->trans("DateLastAccess").':</td><td> <span class="fmvalue">'.dol_print_date($info['atime'],'%Y-%m-%d %H:%M:%S')."</span></td></tr>\n";
|
||||
print '<tr><td>'.$langs->trans("DateLastChange").':</td><td> <span class="fmvalue">'.dol_print_date($info['mtime'],'%Y-%m-%d %H:%M:%S')."</span></td></tr>\n";
|
||||
//print $langs->trans("Ctime").": ".$info['ctime']."<br>\n";
|
||||
$sizearray=array();
|
||||
if (preg_match('/image/i',$type))
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php');
|
||||
$sizearray=dol_getImageSize($original_file_osencoded);
|
||||
print '<tr><td>'.$langs->trans("Width").':</td><td> <span class="fmvalue">'.$sizearray['width'].'px</span></td></tr>';
|
||||
print '<tr><td>'.$langs->trans("Height").':</td><td> <span class="fmvalue">'.$sizearray['height'].'px</span></td></tr>';
|
||||
}
|
||||
print '</table>'."\n";
|
||||
|
||||
// Flush content before preview generation
|
||||
flush(); // This send all data to browser. Browser however may wait to have message complete or aborted before showing it.
|
||||
|
||||
|
||||
// Preview
|
||||
$preview=0;
|
||||
if (preg_match('/text/i',$type))
|
||||
{
|
||||
$minmem=64; // Minimum of memory required to use Geshi (color syntax on text files)
|
||||
$maxsize=65536; // Max size of data to read for text preview
|
||||
|
||||
// Define memmax (memory_limit in bytes)
|
||||
$memmaxorig=@ini_get("memory_limit");
|
||||
$memmax=@ini_get("memory_limit");
|
||||
if ($memmaxorig != '')
|
||||
{
|
||||
preg_match('/([0-9]+)([a-zA-Z]*)/i',$memmax,$reg);
|
||||
if ($reg[2])
|
||||
{
|
||||
if (strtoupper($reg[2]) == 'M') $memmax=$reg[1]*1024*1024;
|
||||
if (strtoupper($reg[2]) == 'K') $memmax=$reg[1]*1024;
|
||||
}
|
||||
}
|
||||
//print "memmax php=".$memmax;
|
||||
|
||||
$out='';
|
||||
$srclang=dol_mimetype($original_file,'text/plain',3);
|
||||
|
||||
if (preg_match('/html/i',$type)) // If HTML file
|
||||
{
|
||||
print '<br><br>';
|
||||
print '<b>'.$langs->trans("Preview")."</b><br>\n";
|
||||
print '<hr>';
|
||||
|
||||
readfile($original_file_osencoded);
|
||||
//$out=file_get_contents($original_file_osencoded);
|
||||
//print $out;
|
||||
}
|
||||
else // If not a HTML file
|
||||
{
|
||||
$warn='';
|
||||
|
||||
// Check if we have enough memory for Geshi
|
||||
if ($memmax < $minmem*1024*1024)
|
||||
{
|
||||
$warn=img_warning().' '.$langs->trans("NotEnoughMemoryForSyntaxColor");
|
||||
$warn.=' (Have '.$memmax.' - Need '.$minmem.')';
|
||||
$srclang=''; // We disable geshi
|
||||
}
|
||||
|
||||
if (empty($conf->global->FILEMANAGER_DISABLE_COLORSYNTAXING))
|
||||
{
|
||||
$warn=' ('.$langs->trans("ColoringDisabled").')';
|
||||
$srclang=''; // We disable geshi
|
||||
}
|
||||
|
||||
// Try to detect srclang using first line
|
||||
if ($type=='text/plain' && empty($srclang)) // Try to enhance MIME detection with first line content
|
||||
{
|
||||
$firstline=file_get_contents($original_file_osencoded,false,null,0,32);
|
||||
$texts = preg_split("/((\r(?!\n))|((?<!\r)\n)|(\r\n))/", strtolower($firstline));
|
||||
if (preg_match('/^#!.*\/bin\/(.*)$/',$texts[0],$reg))
|
||||
{
|
||||
$converttogeshicode=array('ksh'=>'bash', 'sh'=>'bash', 'bash'=>'bash');
|
||||
$srclang=$converttogeshicode[$reg[1]]?$converttogeshicode[$reg[1]]:$reg[1];
|
||||
//print "ee".$srclang;
|
||||
}
|
||||
}
|
||||
if ($srclang=='php') $srclang='php-brief';
|
||||
//if ($srclang=='perl') $srclang=''; // Perl seems to be bugged
|
||||
|
||||
if (! empty($srclang))
|
||||
{
|
||||
print '<br><br>';
|
||||
print '<b>'.$langs->trans("Preview")."</b> (".$srclang.")<br>\n";
|
||||
print '<hr>';
|
||||
|
||||
// Translate with Geshi
|
||||
include_once('includes/geshi/geshi.php');
|
||||
|
||||
$out=file_get_contents($original_file_osencoded,false,null,0,$maxsize);
|
||||
if (! utf8_check($out)) { $isoutf='iso'; $out=utf8_encode($out); }
|
||||
|
||||
$geshi = new GeSHi($out, $srclang);
|
||||
$geshi->enable_strict_mode(true);
|
||||
$res='';
|
||||
$res=$geshi->parse_code();
|
||||
|
||||
//print "zzzzzzzz";
|
||||
print $res;
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<br><br>';
|
||||
print '<b>'.$langs->trans("Preview")."</b>";
|
||||
if ($warn) print ' '.$warn;
|
||||
print "<br>\n";
|
||||
print '<hr>';
|
||||
|
||||
$maxlines=25;
|
||||
$i=0;$more=0;
|
||||
$handle = @fopen($original_file_osencoded, "r");
|
||||
if ($handle)
|
||||
{
|
||||
while (!feof($handle) && $i < $maxlines)
|
||||
{
|
||||
$buffer = fgets($handle, $maxsize);
|
||||
if (utf8_check($buffer)) $out.=$buffer."<br>\n";
|
||||
else $out.=utf8_encode($buffer)."<br>\n";
|
||||
$i++;
|
||||
}
|
||||
if (!feof($handle)) $more=1;
|
||||
fclose($handle);
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<div class="error">'.$langs->trans("ErrorFailedToOpenFile",$original_file).'</div>';
|
||||
}
|
||||
|
||||
print $out;
|
||||
|
||||
print '<br>';
|
||||
|
||||
if ($more)
|
||||
{
|
||||
print '<b>...'.$langs->trans("More").'...</b><br>'."\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
$preview=1;
|
||||
}
|
||||
// Preview if image
|
||||
if (preg_match('/image/i',$type))
|
||||
{
|
||||
print '<br><br>';
|
||||
print '<b>'.$langs->trans("Preview")."</b><br>\n";
|
||||
print '<hr><br>';
|
||||
|
||||
|
||||
print '<center><img';
|
||||
if (! empty($sizearray['width']) && $sizearray['width'] > 500) print ' width="500"';
|
||||
print ' src="'.dol_buildpath('/filemanager/viewimage.php',1).'?modulepart=filemanager&file='.urlencode($original_file).'"></center>';
|
||||
$preview=1;
|
||||
}
|
||||
// Preview if video
|
||||
if (preg_match('/video/i',$type))
|
||||
{
|
||||
$typecodec='';
|
||||
if (preg_match('/ogg/i',$type)) $typecodec=' type=\'video/ogg; codecs="theora, vorbis"\''; // This works with HTML5 video
|
||||
//if (preg_match('/msvideo/i',$type)) $typecodec=' type=\'video/x-msvideo;\''; // AVI
|
||||
//if (preg_match('/webm/i',$type)) $typecodec=' type=\'video/webm; codecs="vp8, vorbis"\'';
|
||||
//if (preg_match('/mp4/i',$type)) $typecodec=' type=\'video/mp4; codecs="avc1.42E01E, mp4a.40.2"\'';
|
||||
|
||||
if ($typecodec)
|
||||
{
|
||||
print '<br><br>';
|
||||
print '<b>'.$langs->trans("Preview")."</b><br>\n";
|
||||
print '<hr><br>';
|
||||
|
||||
print '<center>';
|
||||
print '<video id="movie" style="border: 1px solid #BBB;" width="320" height="240"';
|
||||
print ' preload';
|
||||
//print ' preload="none"';
|
||||
print ' controls';
|
||||
print '>';
|
||||
print '<source src="'.dol_buildpath('/filemanager/viewimage.php',1).'?modulepart=filemanager&file='.urlencode($original_file).'&type='.urlencode($type).'"';
|
||||
print $typecodec;
|
||||
print ' />';
|
||||
print '</video>';
|
||||
print '</center>';
|
||||
/*<video width="320" height="240"';
|
||||
print ' src="'.dol_buildpath('/filemanager/viewimage.php',1).'?modulepart=filemanager&file='.urlencode($original_file).'"';
|
||||
print '></center>';*/
|
||||
$preview=1;
|
||||
}
|
||||
}
|
||||
// No preview
|
||||
if (empty($preview))
|
||||
{
|
||||
print '<br><br>';
|
||||
print '<b>'.$langs->trans("Preview")."</b><br>\n";
|
||||
print '<hr>';
|
||||
|
||||
print $langs->trans("PreviewNotAvailableForThisType");
|
||||
}
|
||||
}
|
||||
|
||||
if (is_object($db)) $db->close();
|
||||
if ((! isset($mode) || $mode != 'noajax') && ! empty($conf->global->MAIN_ECM_TRY_JS))
|
||||
{
|
||||
// Enable jquery handlers on new generated HTML objects
|
||||
print "\n".'<script type="text/javascript">'."\n";
|
||||
print 'jQuery(".deletefilelink").click(function(e) { jQuery("#dialog-confirm-deletefile").dialog("open"); return false; });'."\n";
|
||||
print '</script>'."\n";
|
||||
|
||||
if (is_object($db)) $db->close();
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -33,9 +33,6 @@ if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1');
|
||||
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1');
|
||||
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
|
||||
|
||||
// C'est un wrapper, donc header vierge
|
||||
function llxHeader() { }
|
||||
|
||||
$res=@include("../../main.inc.php");
|
||||
include_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
|
||||
include_once(DOL_DOCUMENT_ROOT.'/core/lib/treeview.lib.php');
|
||||
@ -107,7 +104,7 @@ if( file_exists($fullpathselecteddir) )
|
||||
echo "<ul class=\"ecmjqft\" style=\"display: none;\">\n";
|
||||
|
||||
// All dirs
|
||||
foreach( $files as $file ) // $file can be '.', '..', or 'My dir'
|
||||
foreach( $files as $file ) // $file can be '.', '..', or 'My dir' or 'My file'
|
||||
{
|
||||
$nbofsubdir=0;
|
||||
$nboffilesinsubdir=0;
|
||||
@ -129,16 +126,16 @@ if( file_exists($fullpathselecteddir) )
|
||||
}
|
||||
|
||||
//if (file_exists($fullpathselecteddir . $file) && $file != '.' && $file != '..' && is_dir($fullpathselecteddir . $file))
|
||||
if ($file != '.' && $file != '..' && ($val['id'] >= 0 || dol_is_dir($fullpathselecteddir . $file)))
|
||||
if ($file != '.' && $file != '..' && ((! empty($val['fullrelativename']) && $val['id'] >= 0) || dol_is_dir($fullpathselecteddir . $file)))
|
||||
{
|
||||
print '<li class="directory collapsed">';
|
||||
|
||||
print "<a class=\"fmdirlia jqft\" href=\"#\" rel=\"" . dol_escape_htmltag($file . '/') . "\"";
|
||||
print "<a class=\"fmdirlia jqft ecmjqft\" href=\"#\" rel=\"" . dol_escape_htmltag($val['fullrelativename'].'/') . "\" id=\"fmdirlia_id_".$val['id']."\"";
|
||||
print " onClick=\"loadandshowpreview('".dol_escape_js($val['fullrelativename'])."',".$val['id'].")\">";
|
||||
print dol_escape_htmltag($file);
|
||||
print "</a>";
|
||||
|
||||
print '<div style="float: right;">';
|
||||
print '<div class="ecmjqft">';
|
||||
|
||||
print '<table class="nobordernopadding"><tr>';
|
||||
|
||||
@ -148,7 +145,7 @@ if( file_exists($fullpathselecteddir) )
|
||||
|
||||
// Nb of docs
|
||||
print '<td align="right">';
|
||||
print $val['cachenbofdoc'];
|
||||
print isset($val['cachenbofdoc'])?$val['cachenbofdoc']:' ';
|
||||
print '</td>';
|
||||
print '<td align="left">';
|
||||
if ($nbofsubdir && $nboffilesinsubdir) print '<font color="#AAAAAA">+'.$nboffilesinsubdir.'</font> ';
|
||||
@ -173,7 +170,7 @@ if( file_exists($fullpathselecteddir) )
|
||||
$htmltooltip.='<b>'.$langs->trans("ECMNbOfFilesInDir").'</b>: '.$val['cachenbofdoc'].'<br>';
|
||||
if ($nbofsubdir) $htmltooltip.='<b>'.$langs->trans("ECMNbOfFilesInSubDir").'</b>: '.$nboffilesinsubdir;
|
||||
else $htmltooltip.='<b>'.$langs->trans("ECMNbOfSubDir").'</b>: '.$nbofsubdir.'<br>';
|
||||
print $form->textwithpicto('',$htmltooltip,1,0);
|
||||
print $form->textwithpicto('',$htmltooltip,1,"info");
|
||||
print "</td>";
|
||||
|
||||
print "</tr></table>\n";
|
||||
@ -184,25 +181,14 @@ if( file_exists($fullpathselecteddir) )
|
||||
}
|
||||
}
|
||||
|
||||
// All files
|
||||
/*
|
||||
foreach( $files as $file )
|
||||
{
|
||||
if( file_exists($fullpathselecteddir . $file) && $file != '.' && $file != '..' && !is_dir($fullpathselecteddir . $file) )
|
||||
{
|
||||
$ext = preg_replace('/^.*\./', '', $file);
|
||||
print "<li class=\"file ext_".$ext."\">";
|
||||
print "<a class=\"fmfilelia jqft\" href=\"#\" rel=\"" . dol_escape_htmltag($selecteddir . $file) . "\">" . dol_escape_htmltag($file) . "</a>";
|
||||
print "</li>\n";
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// Enable tooltips
|
||||
// Enable jquery handlers on new generated HTML objects
|
||||
print '<script type="text/javascript">';
|
||||
print 'jQuery(".classfortooltip").tipTip({ maxWidth: "600px", edgeOffset: 10, delay: 50, fadeIn: 50, fadeOut: 50});';
|
||||
print 'jQuery(".fmdirlia").click(function(e) { jQuery("#userfile_section").val(jQuery(this).attr(\'rel\')); });';
|
||||
|
||||
print 'jQuery(".fmdirlia").click(function(e) {
|
||||
id=jQuery(this).attr(\'id\').substr(12);
|
||||
jQuery("#formuserfile_section_dir").val(jQuery(this).attr(\'rel\'));
|
||||
jQuery("#formuserfile_section_id").val(id);
|
||||
});';
|
||||
print '</script>';
|
||||
|
||||
echo "</ul>\n";
|
||||
|
||||
@ -78,8 +78,9 @@ class FormFile
|
||||
if (empty($title)) $title=$langs->trans("AttachANewFile");
|
||||
if ($title != 'none') print_titre($title);
|
||||
|
||||
print '<form name="userfile" action="'.$url.'" enctype="multipart/form-data" method="POST">';
|
||||
print '<input type="hidden" id="userfile_section" name="section" value="'.$sectionid.'">';
|
||||
print '<form name="formuserfile" action="'.$url.'" enctype="multipart/form-data" method="POST">';
|
||||
print '<input type="hidden" id="formuserfile_section_dir" name="section_dir" value="">';
|
||||
print '<input type="hidden" id="formuserfile_section_id" name="section_id" value="'.$sectionid.'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
|
||||
print '<table width="100%" class="nobordernopadding">';
|
||||
@ -87,7 +88,7 @@ class FormFile
|
||||
|
||||
if (! empty($options)) print '<td>'.$options.'</td>';
|
||||
|
||||
print '<td valign="top" nowrap="nowrap">';
|
||||
print '<td valign="middle" nowrap="nowrap">';
|
||||
|
||||
$max=$conf->global->MAIN_UPLOAD_DOC; // En Kb
|
||||
$maxphp=@ini_get('upload_max_filesize'); // En inconnu
|
||||
@ -605,8 +606,8 @@ class FormFile
|
||||
}
|
||||
// Delete or view link
|
||||
print '<td align="right">';
|
||||
if (! empty($useinecm)) print '<a href="'.DOL_URL_ROOT.'/ecm/docfile.php?urlfile='.urlencode($file['name']).$param.'">'.img_view().'</a> ';
|
||||
if ($permtodelete) print '<a href="'.$url.'?id='.$object->id.'&action=delete&urlfile='.urlencode($file['name']).$param.'">'.img_delete().'</a>';
|
||||
if ($useinecm) print '<a href="'.DOL_URL_ROOT.'/ecm/docfile.php?urlfile='.urlencode($file['name']).$param.'" class="editfilelink" rel="'.urlencode($file['name']).'">'.img_view().'</a> ';
|
||||
if ($permtodelete) print '<a href="'.(($useinecm && ! empty($conf->global->MAIN_ECM_TRY_JS))?'#':$url.'?id='.$object->id.'&action=delete&urlfile='.urlencode($file['name']).$param).'" class="deletefilelink" rel="'.urlencode($file['name']).'">'.img_delete().'</a>';
|
||||
else print ' ';
|
||||
print "</td>";
|
||||
print "</tr>\n";
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
|
||||
if (! function_exists('json_encode'))
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT ."/core/lib/json.lib.php");
|
||||
include_once(DOL_DOCUMENT_ROOT ."/core/lib/json.lib.php");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -49,12 +49,10 @@ $result = restrictedArea($user, 'ecm', 0);
|
||||
// Get parameters
|
||||
$socid=GETPOST('socid','int');
|
||||
$action=GETPOST("action");
|
||||
$section=GETPOST("section");
|
||||
$section=GETPOST("section")?GETPOST("section","int"):GETPOST("section_id","int");
|
||||
$module=GETPOST("module");
|
||||
if (! $section) $section=0;
|
||||
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$section;
|
||||
|
||||
$sortfield = GETPOST("sortfield",'alpha');
|
||||
$sortorder = GETPOST("sortorder",'alpha');
|
||||
$page = GETPOST("page",'int');
|
||||
@ -66,9 +64,9 @@ if (! $sortorder) $sortorder="ASC";
|
||||
if (! $sortfield) $sortfield="fullname";
|
||||
|
||||
$ecmdir = new EcmDirectory($db);
|
||||
if (GETPOST("section"))
|
||||
if ($section)
|
||||
{
|
||||
$result=$ecmdir->fetch(GETPOST("section"));
|
||||
$result=$ecmdir->fetch($section);
|
||||
if (! $result > 0)
|
||||
{
|
||||
dol_print_error($db,$ecmdir->error);
|
||||
@ -88,7 +86,10 @@ $userstatic = new User($db);
|
||||
// Upload file
|
||||
if (GETPOST("sendit") && ! empty($conf->global->MAIN_UPLOAD_DOC))
|
||||
{
|
||||
$relativepath=$ecmdir->getRelativePath();
|
||||
// Define relativepath and upload_dir
|
||||
$relativepath='';
|
||||
if ($ecmdir->id) $relativepath=$ecmdir->getRelativePath();
|
||||
else $relativepath=GETPOST('section_dir');
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$relativepath;
|
||||
|
||||
if (dol_mkdir($upload_dir) >= 0)
|
||||
@ -124,8 +125,10 @@ if (GETPOST("sendit") && ! empty($conf->global->MAIN_UPLOAD_DOC))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Add directory
|
||||
if (GETPOST("action") == 'add' && $user->rights->ecm->setup)
|
||||
if ($action == 'add' && $user->rights->ecm->setup)
|
||||
{
|
||||
$ecmdir->ref = 'NOTUSEDYET';
|
||||
$ecmdir->label = GETPOST("label");
|
||||
@ -142,12 +145,14 @@ if (GETPOST("action") == 'add' && $user->rights->ecm->setup)
|
||||
$mesg='<div class="error">Error '.$langs->trans($ecmdir->error).'</div>';
|
||||
$action = "create";
|
||||
}
|
||||
|
||||
clearstatcache();
|
||||
}
|
||||
|
||||
// Remove file
|
||||
if (GETPOST('action') == 'confirm_deletefile' && GETPOST('confirm') == 'yes')
|
||||
if ($action == 'confirm_deletefile' && GETPOST('confirm') == 'yes')
|
||||
{
|
||||
$result=$ecmdir->fetch(GETPOST("section"));
|
||||
$result=$ecmdir->fetch($section);
|
||||
if (! $result > 0)
|
||||
{
|
||||
dol_print_error($db,$ecmdir->error);
|
||||
@ -163,6 +168,8 @@ if (GETPOST('action') == 'confirm_deletefile' && GETPOST('confirm') == 'yes')
|
||||
|
||||
$result=$ecmdir->changeNbOfFiles('-');
|
||||
$action='file_manager';
|
||||
|
||||
clearstatcache();
|
||||
}
|
||||
|
||||
// Remove directory
|
||||
@ -170,11 +177,15 @@ if ($action == 'confirm_deletesection' && GETPOST('confirm') == 'yes')
|
||||
{
|
||||
$result=$ecmdir->delete($user);
|
||||
$mesg = '<div class="ok">'.$langs->trans("ECMSectionWasRemoved", $ecmdir->label).'</div>';
|
||||
|
||||
clearstatcache();
|
||||
}
|
||||
|
||||
// Refresh directory view
|
||||
if ($action == 'refreshmanual')
|
||||
{
|
||||
clearstatcache();
|
||||
|
||||
$diroutputslash=str_replace('\\','/',$conf->ecm->dir_output);
|
||||
$diroutputslash.='/';
|
||||
|
||||
@ -289,13 +300,10 @@ if ($action == 'refreshmanual')
|
||||
* View
|
||||
*/
|
||||
|
||||
$userstatic = new User($db);
|
||||
$ecmdirstatic = new EcmDirectory($db);
|
||||
|
||||
//print "xx".$_SESSION["dol_screenheight"];
|
||||
$maxheightwin=(isset($_SESSION["dol_screenheight"]) && $_SESSION["dol_screenheight"] > 500)?($_SESSION["dol_screenheight"]-166):660;
|
||||
$morejs=array();
|
||||
if (! empty($conf->global->MAIN_ECM_TRY_JS)) $morejs=array("/filemanager/includes/jqueryFileTree/jqueryFileTree.js");
|
||||
if (! empty($conf->global->MAIN_ECM_TRY_JS)) $morejs=array("/filemanager/includes/jqueryFileTree/jqueryFileTree.js"); // TODO Move lib into includes
|
||||
$moreheadcss="
|
||||
<!-- dol_screenheight=".$_SESSION["dol_screenheight"]." -->
|
||||
<style type=\"text/css\">
|
||||
@ -366,7 +374,7 @@ print "<br>\n";
|
||||
// Confirm remove file
|
||||
if ($action == 'delete')
|
||||
{
|
||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?section='.$_REQUEST["section"].'&urlfile='.urlencode($_GET["urlfile"]), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile','','',1);
|
||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?section='.$section.'&urlfile='.urlencode($_GET["urlfile"]), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile','','',1);
|
||||
if ($ret == 'html') print '<br>';
|
||||
}
|
||||
|
||||
@ -402,9 +410,8 @@ else
|
||||
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/folder-new.png">';
|
||||
print '</a>';
|
||||
}
|
||||
|
||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=refreshmanual'.($module?'&module='.$module:'').($section?'&section='.$section:'').'" class="toolbarbutton" title="'.dol_escape_htmltag($langs->trans('Refresh')).'">';
|
||||
//print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/view-refresh.png">';
|
||||
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/view-refresh.png">';
|
||||
print '</a>';
|
||||
|
||||
|
||||
@ -429,7 +436,7 @@ else
|
||||
// Confirmation de la suppression d'une ligne categorie
|
||||
if ($action == 'delete_section')
|
||||
{
|
||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?section='.urlencode($_GET["section"]), $langs->trans('DeleteSection'), $langs->trans('ConfirmDeleteSection',$ecmdir->label), 'confirm_deletesection','','',1);
|
||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?section='.$section, $langs->trans('DeleteSection'), $langs->trans('ConfirmDeleteSection',$ecmdir->label), 'confirm_deletesection','','',1);
|
||||
if ($ret == 'html') print '<br>';
|
||||
}
|
||||
// End confirm
|
||||
@ -438,8 +445,6 @@ if ($action == 'delete_section')
|
||||
|
||||
if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$action) || $action == 'delete')
|
||||
{
|
||||
|
||||
|
||||
print '<table width="100%" class="nobordernopadding">';
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
@ -453,13 +458,17 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
// Auto section
|
||||
if (count($sectionauto))
|
||||
{
|
||||
$htmltooltip=$langs->trans("ECMAreaDesc2");
|
||||
|
||||
// Root title line (Automatic section)
|
||||
print '<tr>';
|
||||
print '<td>';
|
||||
print '<table class="nobordernopadding"><tr class="nobordernopadding">';
|
||||
print '<td align="left" width="24">';
|
||||
print img_picto_common('','treemenu/base.gif');
|
||||
print '</td><td align="left">'.$langs->trans("ECMRoot").' ('.$langs->trans("ECMSectionsAuto").')';
|
||||
print '</td><td align="left">';
|
||||
$txt=$langs->trans("ECMRoot").' ('.$langs->trans("ECMSectionsAuto").')';
|
||||
print $form->textwithpicto($txt,$htmltooltip,1,0);
|
||||
print '</td>';
|
||||
print '</tr></table>';
|
||||
print '</td>';
|
||||
@ -468,8 +477,7 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
print '<td align="right"> </td>';
|
||||
print '<td align="right"> </td>';
|
||||
print '<td align="center">';
|
||||
$htmltooltip=$langs->trans("ECMAreaDesc2");
|
||||
print $form->textwithpicto('',$htmltooltip,1,0);
|
||||
//print $form->textwithpicto('',$htmltooltip,1,0);
|
||||
print '</td>';
|
||||
//print '<td align="right">'.$langs->trans("ECMNbOfDocsSmall").' <a href="'.$_SERVER["PHP_SELF"].'?action=refreshauto">'.img_picto($langs->trans("Refresh"),'refresh').'</a></td>';
|
||||
print '</tr>';
|
||||
@ -533,7 +541,7 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
$htmltooltip='<b>'.$langs->trans("Type").'</b>: '.$langs->trans("ECMSectionAuto").'<br>';
|
||||
$htmltooltip.='<b>'.$langs->trans("ECMCreationUser").'</b>: '.$langs->trans("ECMTypeAuto").'<br>';
|
||||
$htmltooltip.='<b>'.$langs->trans("Description").'</b>: '.$val['desc'];
|
||||
print $form->textwithpicto('',$htmltooltip,1,0);
|
||||
print $form->textwithpicto('',$htmltooltip,1,"info");
|
||||
print '</td>';
|
||||
|
||||
print "</tr>\n";
|
||||
@ -554,13 +562,17 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
|
||||
|
||||
// Manual section
|
||||
$htmltooltip=$langs->trans("ECMAreaDesc2");
|
||||
|
||||
|
||||
// Root of manual section
|
||||
print '<tr><td>';
|
||||
print '<table class="nobordernopadding"><tr class="nobordernopadding">';
|
||||
print '<td align="left" width="24px">';
|
||||
print img_picto_common('','treemenu/base.gif');
|
||||
print '</td><td align="left">'.$langs->trans("ECMRoot").' ('.$langs->trans("ECMSectionsManual").')';
|
||||
print '</td><td align="left">';
|
||||
$txt=$langs->trans("ECMRoot").' ('.$langs->trans("ECMSectionsManual").')';
|
||||
print $form->textwithpicto($txt,$htmltooltip,1,"info");
|
||||
print '</td>';
|
||||
print '</tr></table></td>';
|
||||
print '<td align="right">';
|
||||
@ -570,8 +582,7 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
print '<td align="right"> </td>';
|
||||
print '<td align="right"> </td>';
|
||||
print '<td align="center">';
|
||||
$htmltooltip=$langs->trans("ECMAreaDesc2");
|
||||
print $form->textwithpicto('',$htmltooltip,1,0);
|
||||
//print $form->textwithpicto('',$htmltooltip,1,"info");
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -617,22 +628,24 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
|
||||
jQuery(document).ready( function() {
|
||||
jQuery('#filetree').fileTree({ root: '<?php print dol_escape_js($openeddir); ?>',
|
||||
script: '<?php echo DOL_URL_ROOT.'/core/ajax/ajaxdirtree.php?modulepart=ecm&openeddir='.urlencode($openeddir); ?>',
|
||||
folderEvent: 'click',
|
||||
multiFolder: false },
|
||||
function(file) {
|
||||
jQuery("#mesg").hide();
|
||||
loadandshowpreview(file);
|
||||
}
|
||||
);
|
||||
script: '<?php echo DOL_URL_ROOT.'/core/ajax/ajaxdirtree.php?modulepart=ecm&openeddir='.urlencode($openeddir); ?>',
|
||||
folderEvent: 'click',
|
||||
multiFolder: false },
|
||||
function(file) {
|
||||
jQuery("#mesg").hide();
|
||||
loadandshowpreview(file,0);
|
||||
}
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
<?php
|
||||
|
||||
print $form->formconfirm('eeeee', $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', '', 'deletefile');
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// Load full tree
|
||||
if (empty($sqltree)) $sqltree=$ecmdirstatic->get_full_arbo(0);
|
||||
|
||||
@ -657,7 +670,7 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
$expandedsectionarray=array();
|
||||
if (isset($_SESSION['dol_ecmexpandedsectionarray'])) $expandedsectionarray=explode(',',$_SESSION['dol_ecmexpandedsectionarray']);
|
||||
|
||||
if ($section && $_GET['sectionexpand'] == 'true')
|
||||
if ($section && GETPOST('sectionexpand') == 'true')
|
||||
{
|
||||
// We add all sections that are parent of opened section
|
||||
$pathtosection=explode('_',$fullpathselected);
|
||||
@ -670,7 +683,7 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
}
|
||||
$_SESSION['dol_ecmexpandedsectionarray']=join(',',$expandedsectionarray);
|
||||
}
|
||||
if ($section && $_GET['sectionexpand'] == 'false')
|
||||
if ($section && GETPOST('sectionexpand') == 'false')
|
||||
{
|
||||
// We removed all expanded sections that are child of the closed section
|
||||
$oldexpandedsectionarray=$expandedsectionarray;
|
||||
@ -751,6 +764,7 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
if (! in_array($val['id'],$expandedsectionarray)) print img_picto($ecmdirstatic->ref,DOL_URL_ROOT.'/theme/common/treemenu/folder.gif','',1);
|
||||
else print img_picto($ecmdirstatic->ref,DOL_URL_ROOT.'/theme/common/treemenu/folder-expanded.gif','',1);
|
||||
print '</td>';
|
||||
|
||||
// Show link
|
||||
print '<td valign="middle">';
|
||||
if ($section == $val['id']) print ' <u>';
|
||||
@ -788,7 +802,7 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
||||
$htmltooltip.='<b>'.$langs->trans("ECMNbOfFilesInDir").'</b>: '.$val['cachenbofdoc'].'<br>';
|
||||
if ($nbofsubdir) $htmltooltip.='<b>'.$langs->trans("ECMNbOfFilesInSubDir").'</b>: '.$nboffilesinsubdir;
|
||||
else $htmltooltip.='<b>'.$langs->trans("ECMNbOfSubDir").'</b>: '.$nbofsubdir.'<br>';
|
||||
print $form->textwithpicto('',$htmltooltip,1,0);
|
||||
print $form->textwithpicto('',$htmltooltip,1,"info");
|
||||
print "</td>";
|
||||
|
||||
print "</tr>\n";
|
||||
@ -837,107 +851,11 @@ else
|
||||
// Start right panel
|
||||
|
||||
|
||||
|
||||
$formfile=new FormFile($db);
|
||||
|
||||
$param=($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'');
|
||||
$maxlengthname=40;
|
||||
|
||||
// Right area
|
||||
if ($module == 'company') // Auto area for suppliers invoices
|
||||
{
|
||||
$upload_dir = $conf->societe->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'invoice') // Auto area for suppliers invoices
|
||||
{
|
||||
$upload_dir = $conf->facture->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'invoice_supplier') // Auto area for suppliers invoices
|
||||
{
|
||||
$relativepath='facture';
|
||||
$upload_dir = $conf->fournisseur->dir_output.'/'.$relativepath;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'propal') // Auto area for customers orders
|
||||
{
|
||||
$upload_dir = $conf->propal->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'order') // Auto area for customers orders
|
||||
{
|
||||
$upload_dir = $conf->commande->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'order_supplier') // Auto area for suppliers orders
|
||||
{
|
||||
$relativepath='commande';
|
||||
$upload_dir = $conf->fournisseur->dir_output.'/'.$relativepath;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^payments$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'contract') // Auto area for suppliers invoices
|
||||
{
|
||||
$upload_dir = $conf->contrat->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else if ($module == 'tax') // Auto area for suppliers invoices
|
||||
{
|
||||
$upload_dir = $conf->tax->dir_output;
|
||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='&module='.$module;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||
|
||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
else // Manual area
|
||||
{
|
||||
$relativepath=$ecmdir->getRelativePath();
|
||||
$upload_dir = $conf->ecm->dir_output.'/'.$relativepath;
|
||||
$filearray=dol_dir_list($upload_dir,"files",0,'',array('^\.','\.meta$','^temp$','^CVS$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||
|
||||
$param.='§ion='.$section;
|
||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("ECMSelectASection")));
|
||||
|
||||
$formfile->list_of_documents($filearray,'','ecm',$param,1,$relativepath,$user->rights->ecm->upload,1,$textifempty,$maxlengthname);
|
||||
}
|
||||
|
||||
//if (empty($conf->global->MAIN_ECM_TRY_JS))
|
||||
//{
|
||||
$mode='noajax';
|
||||
include_once(DOL_DOCUMENT_ROOT.'/core/ajax/ajaxdirpreview.php');
|
||||
//}
|
||||
|
||||
|
||||
// End right panel
|
||||
@ -946,7 +864,7 @@ if ($conf->use_javascript_ajax)
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pane-in ecm-in-layout-south layout-padding">
|
||||
<div class="pane-in ecm-in-layout-south layout-padding valignmiddle">
|
||||
<?php
|
||||
}
|
||||
else
|
||||
@ -958,11 +876,11 @@ else
|
||||
// Start Add new file area
|
||||
|
||||
|
||||
|
||||
// To attach new file
|
||||
if (! empty($conf->global->MAIN_ECM_TRY_JS) || ! empty($section))
|
||||
{
|
||||
$formfile->form_attach_new_file(DOL_URL_ROOT.'/ecm/index.php', 'none', 0, $section, $user->rights->ecm->upload, 48);
|
||||
$formfile=new FormFile($db);
|
||||
$formfile->form_attach_new_file(DOL_URL_ROOT.'/ecm/index.php', 'none', 0, ($section?$section:-1), $user->rights->ecm->upload, 48);
|
||||
}
|
||||
else print ' ';
|
||||
|
||||
|
||||
@ -2054,6 +2054,111 @@ div.tdlineupdown {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* JSGantt */
|
||||
/* ============================================================================== */
|
||||
|
||||
div.scroll2 {
|
||||
width: 582px !important;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* jFileTree */
|
||||
/* ============================================================================== */
|
||||
|
||||
.ecmfiletree {
|
||||
width: 99%;
|
||||
height: 99%;
|
||||
background: #FFF;
|
||||
padding-left: 2px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.fileview {
|
||||
width: 99%;
|
||||
height: 99%;
|
||||
background: #FFF;
|
||||
padding-left: 2px;
|
||||
padding-top: 4px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
div.filedirelem {
|
||||
position: relative;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul.filedirelem {
|
||||
padding: 2px;
|
||||
margin: 0 5px 5px 5px;
|
||||
}
|
||||
ul.filedirelem li {
|
||||
list-style: none;
|
||||
padding: 2px;
|
||||
margin: 0 10px 20px 10px;
|
||||
width: 160px;
|
||||
height: 120px;
|
||||
text-align: center;
|
||||
display: block;
|
||||
float: <?php print $left; ?>;
|
||||
border: solid 1px #DDDDDD;
|
||||
}
|
||||
|
||||
ui-layout-north {
|
||||
|
||||
}
|
||||
|
||||
ul.ecmjqft {
|
||||
font-size: 11px;
|
||||
line-height: 16px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
ul.ecmjqft li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
padding-left: 20px;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
display: block;
|
||||
}
|
||||
|
||||
ul.ecmjqft a {
|
||||
line-height: 16px;
|
||||
vertical-align: middle;
|
||||
color: #333;
|
||||
padding: 0px 0px;
|
||||
font-weight:normal;
|
||||
display: inline-block !important;
|
||||
/* float: left;*/
|
||||
}
|
||||
ul.ecmjqft a:active {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
ul.ecmjqft a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
div.ecmjqft {
|
||||
vertical-align: middle;
|
||||
display: inline-block !important;
|
||||
text-align: right;
|
||||
position:absolute;
|
||||
right:8px;
|
||||
}
|
||||
|
||||
/* Core Styles */
|
||||
.ecmjqft LI.directory { font-weight:normal; background: url(<?php echo dol_buildpath($path.'/theme/common/treemenu/folder2.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.expanded { font-weight:normal; background: url(<?php echo dol_buildpath($path.'/theme/common/treemenu/folder2-expanded.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.wait { font-weight:normal; background: url(<?php echo dol_buildpath('/theme/eldy/img/working.gif',1); ?>) left top no-repeat; }
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
if (is_object($db)) $db->close();
|
||||
?>
|
||||
@ -2308,6 +2308,111 @@ form.listactionsfilter input[type="submit"] {
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* JSGantt */
|
||||
/* ============================================================================== */
|
||||
|
||||
div.scroll2 {
|
||||
width: 582px !important;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* jFileTree */
|
||||
/* ============================================================================== */
|
||||
|
||||
.ecmfiletree {
|
||||
width: 99%;
|
||||
height: 99%;
|
||||
background: #FFF;
|
||||
padding-left: 2px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.fileview {
|
||||
width: 99%;
|
||||
height: 99%;
|
||||
background: #FFF;
|
||||
padding-left: 2px;
|
||||
padding-top: 4px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
div.filedirelem {
|
||||
position: relative;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul.filedirelem {
|
||||
padding: 2px;
|
||||
margin: 0 5px 5px 5px;
|
||||
}
|
||||
ul.filedirelem li {
|
||||
list-style: none;
|
||||
padding: 2px;
|
||||
margin: 0 10px 20px 10px;
|
||||
width: 160px;
|
||||
height: 120px;
|
||||
text-align: center;
|
||||
display: block;
|
||||
float: <?php print $left; ?>;
|
||||
border: solid 1px #DDDDDD;
|
||||
}
|
||||
|
||||
ui-layout-north {
|
||||
|
||||
}
|
||||
|
||||
ul.ecmjqft {
|
||||
font-size: 11px;
|
||||
line-height: 16px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
ul.ecmjqft li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
padding-left: 20px;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
display: block;
|
||||
}
|
||||
|
||||
ul.ecmjqft a {
|
||||
line-height: 16px;
|
||||
vertical-align: middle;
|
||||
color: #333;
|
||||
padding: 0px 0px;
|
||||
font-weight:normal;
|
||||
display: inline-block !important;
|
||||
/* float: left;*/
|
||||
}
|
||||
ul.ecmjqft a:active {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
ul.ecmjqft a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
div.ecmjqft {
|
||||
vertical-align: middle;
|
||||
display: inline-block !important;
|
||||
text-align: right;
|
||||
position:absolute;
|
||||
right:8px;
|
||||
}
|
||||
|
||||
/* Core Styles */
|
||||
.ecmjqft LI.directory { font-weight:normal; background: url(<?php echo dol_buildpath($path.'/theme/common/treemenu/folder2.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.expanded { font-weight:normal; background: url(<?php echo dol_buildpath($path.'/theme/common/treemenu/folder2-expanded.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.wait { font-weight:normal; background: url(<?php echo dol_buildpath('/theme/eldy/img/working.gif',1); ?>) left top no-repeat; }
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
if (is_object($db)) $db->close();
|
||||
?>
|
||||
@ -2125,6 +2125,109 @@ div.table-val-border-col {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* JSGantt */
|
||||
/* ============================================================================== */
|
||||
|
||||
div.scroll2 {
|
||||
width: 582px !important;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* jFileTree */
|
||||
/* ============================================================================== */
|
||||
|
||||
.ecmfiletree {
|
||||
width: 99%;
|
||||
height: 99%;
|
||||
background: #FFF;
|
||||
padding-left: 2px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.fileview {
|
||||
width: 99%;
|
||||
height: 99%;
|
||||
background: #FFF;
|
||||
padding-left: 2px;
|
||||
padding-top: 4px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
div.filedirelem {
|
||||
position: relative;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul.filedirelem {
|
||||
padding: 2px;
|
||||
margin: 0 5px 5px 5px;
|
||||
}
|
||||
ul.filedirelem li {
|
||||
list-style: none;
|
||||
padding: 2px;
|
||||
margin: 0 10px 20px 10px;
|
||||
width: 160px;
|
||||
height: 120px;
|
||||
text-align: center;
|
||||
display: block;
|
||||
float: <?php print $left; ?>;
|
||||
border: solid 1px #DDDDDD;
|
||||
}
|
||||
|
||||
ui-layout-north {
|
||||
|
||||
}
|
||||
|
||||
ul.ecmjqft {
|
||||
font-size: 11px;
|
||||
line-height: 16px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
ul.ecmjqft li {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
padding-left: 20px;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
display: block;
|
||||
}
|
||||
|
||||
ul.ecmjqft a {
|
||||
line-height: 16px;
|
||||
vertical-align: middle;
|
||||
color: #333;
|
||||
padding: 0px 0px;
|
||||
font-weight:normal;
|
||||
display: inline-block !important;
|
||||
/* float: left;*/
|
||||
}
|
||||
ul.ecmjqft a:active {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
ul.ecmjqft a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
div.ecmjqft {
|
||||
vertical-align: middle;
|
||||
display: inline-block !important;
|
||||
text-align: right;
|
||||
position:absolute;
|
||||
right:8px;
|
||||
}
|
||||
|
||||
/* Core Styles */
|
||||
.ecmjqft LI.directory { font-weight:normal; background: url(<?php echo dol_buildpath($path.'/theme/common/treemenu/folder2.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.expanded { font-weight:normal; background: url(<?php echo dol_buildpath($path.'/theme/common/treemenu/folder2-expanded.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.wait { font-weight:normal; background: url(<?php echo dol_buildpath('/theme/cameleo/img/working.gif',1); ?>) left top no-repeat; }
|
||||
|
||||
|
||||
<?php
|
||||
if (is_object($db)) $db->close();
|
||||
?>
|
||||
|
||||
@ -256,6 +256,9 @@ th .button {
|
||||
-webkit-border-radius:0px !important;
|
||||
border-radius:0px !important;
|
||||
}
|
||||
.valignmiddle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* ============================================================================== */
|
||||
/* Styles to hide objects */
|
||||
@ -2296,9 +2299,8 @@ ui-layout-north {
|
||||
}
|
||||
|
||||
ul.ecmjqft {
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 11px;
|
||||
line-height: 18px;
|
||||
line-height: 16px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-weight: normal;
|
||||
@ -2310,93 +2312,36 @@ ul.ecmjqft li {
|
||||
padding-left: 20px;
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
display: block;
|
||||
}
|
||||
|
||||
ul.ecmjqft a {
|
||||
line-height: 16px;
|
||||
vertical-align: middle;
|
||||
color: #333;
|
||||
padding: 0px 0px;
|
||||
font-weight:normal;
|
||||
display: inline-block !important;
|
||||
/* float: left;*/
|
||||
}
|
||||
ul.ecmjqft a:active {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
ul.ecmjqft a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
div.ecmjqft {
|
||||
vertical-align: middle;
|
||||
display: inline-block !important;
|
||||
text-align: right;
|
||||
position:absolute;
|
||||
right:4px;
|
||||
}
|
||||
|
||||
/* Core Styles */
|
||||
.ecmjqft LI.directory { font-weight:normal; background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/directory.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.expanded { font-weight:normal; background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/folder_open.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.file { font-weight:normal; background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/file.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.wait { font-weight:normal; background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/spinner.gif',1); ?>) left top no-repeat; }
|
||||
/* File Extensions*/
|
||||
.ecmjqft LI.ext_3gp { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_afp { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_afpa { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_asp { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_aspx { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_avi { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_bat { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/application.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_bmp { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/picture.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_c { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_cfm { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_cgi { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_com { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/application.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_cpp { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_css { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/css.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_doc { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/doc.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_exe { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/application.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_gif { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/picture.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_fla { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/flash.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_h { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_htm { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/html.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_html { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/html.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_jar { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/java.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_jpg { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/picture.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_jpeg { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/picture.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_js { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/script.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_lasso { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_log { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/txt.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_m4p { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/music.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_mov { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_mp3 { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/music.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_mp4 { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_mpg { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_mpeg { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_ogg { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/music.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_ogv { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_pcx { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/picture.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_pdf { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/pdf.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_php { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/php.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_png { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/picture.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_ppt { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/ppt.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_psd { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/psd.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_pl { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/script.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_py { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/script.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_rb { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/ruby.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_rbx { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/ruby.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_rhtml { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/ruby.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_rpm { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/linux.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_ruby { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/ruby.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_sql { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/db.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_swf { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/flash.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_tif { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/picture.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_tiff { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/picture.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_txt { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/txt.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_vb { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_wav { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/music.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_webm { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_wmv { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/film.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_xls { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/xls.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_xml { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/code.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.ext_zip { background: url(<?php echo dol_buildpath('/filemanager/includes/jqueryFileTree/images/zip.png',1); ?>) left top no-repeat; }
|
||||
|
||||
/* Right panel */
|
||||
|
||||
.fmvalue {
|
||||
color: #001166;
|
||||
}
|
||||
.ecmjqft LI.directory { font-weight:normal; background: url(<?php echo dol_buildpath($path.'/theme/common/treemenu/folder2.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.expanded { font-weight:normal; background: url(<?php echo dol_buildpath($path.'/theme/common/treemenu/folder2-expanded.png',1); ?>) left top no-repeat; }
|
||||
.ecmjqft LI.wait { font-weight:normal; background: url(<?php echo dol_buildpath('/theme/eldy/img/working.gif',1); ?>) left top no-repeat; }
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user