Fix: jquery fileupload broken feature

This commit is contained in:
Regis Houssin 2012-05-25 20:49:45 +02:00
parent 95b976c3d5
commit 21d30c1b3e
13 changed files with 26 additions and 21 deletions

View File

@ -209,7 +209,7 @@ if ($id > 0)
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/adherents/document.php?id='.$member->id,'',0,0,$user->rights->adherent->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/adherents/document.php?id='.$member->id,'',0,0,$user->rights->adherent->creer,50,$object);
// List of document // List of document

View File

@ -187,7 +187,7 @@ if ($id > 0 || ! empty($ref))
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/comm/propal/document.php?id='.$object->id,'',0,0,$user->rights->propale->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/comm/propal/document.php?id='.$object->id,'',0,0,$user->rights->propale->creer,50,$object);
// List of document // List of document

View File

@ -172,7 +172,7 @@ if ($id > 0 || ! empty($ref))
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/commande/document.php?id='.$object->id,'',0,0,$user->rights->commande->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/commande/document.php?id='.$object->id,'',0,0,$user->rights->commande->creer,50,$object);
// List of document // List of document

View File

@ -191,7 +191,7 @@ if ($id > 0 || ! empty($ref))
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/compta/facture/document.php?facid='.$object->id,'',0,0,$user->rights->facture->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/compta/facture/document.php?facid='.$object->id,'',0,0,$user->rights->facture->creer,50,$object);
// List of document // List of document

View File

@ -156,7 +156,7 @@ if ($contrat->id)
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/contrat/document.php?id='.$contrat->id,'',0,0,$user->rights->contrat->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/contrat/document.php?id='.$contrat->id,'',0,0,$user->rights->contrat->creer,50,$object);
// List of document // List of document

View File

@ -43,8 +43,9 @@ error_reporting(E_ALL | E_STRICT);
//print_r($_GET); //print_r($_GET);
//print 'upload_dir='.GETPOST('upload_dir'); //print 'upload_dir='.GETPOST('upload_dir');
$fk_element = GETPOST('fk_element'); $fk_element = GETPOST('fk_element','int');
$element = GETPOST('element'); $element = GETPOST('element','alpha');
$element_ref=GETPOST('element_ref','alpha');
/** /**
@ -56,6 +57,7 @@ class UploadHandler
private $_options; private $_options;
private $_fk_element; private $_fk_element;
private $_element; private $_element;
private $_element_ref;
/** /**
@ -64,19 +66,21 @@ class UploadHandler
* @param array $options Options array * @param array $options Options array
* @param int $fk_element fk_element * @param int $fk_element fk_element
* @param string $element element * @param string $element element
* @param string $element_ref element ref
*/ */
function __construct($options=null,$fk_element=null,$element=null) function __construct($options=null,$fk_element=null,$element=null,$element_ref=null)
{ {
global $conf; global $conf;
$this->_fk_element=$fk_element; $this->_fk_element=$fk_element;
$this->_element=$element; $this->_element=$element;
$this->_element_ref=$element_ref;
$this->_options = array( $this->_options = array(
'script_url' => $_SERVER['PHP_SELF'], 'script_url' => $_SERVER['PHP_SELF'],
'upload_dir' => $conf->$element->dir_output . '/' . $fk_element . '/', 'upload_dir' => $conf->$element->dir_output . '/' . $element_ref . '/',
'upload_url' => DOL_URL_ROOT.'/document.php?modulepart='.$element.'&attachment=1&file=/'.$fk_element.'/', 'upload_url' => DOL_URL_ROOT.'/document.php?modulepart='.$element.'&attachment=1&file=/'.$element_ref.'/',
'param_name' => 'files', 'param_name' => 'files',
// The php.ini settings upload_max_filesize and post_max_size // The php.ini settings upload_max_filesize and post_max_size
// take precedence over the following max_file_size setting: // take precedence over the following max_file_size setting:
@ -96,8 +100,8 @@ class UploadHandler
), ),
*/ */
'thumbs' => array( 'thumbs' => array(
'upload_dir' => $conf->$element->dir_output . '/' . $fk_element . '/thumbs/', 'upload_dir' => $conf->$element->dir_output . '/' . $element_ref . '/thumbs/',
'upload_url' => DOL_URL_ROOT.'/document.php?modulepart='.$element.'&attachment=1&file=/'.$fk_element.'/thumbs/' 'upload_url' => DOL_URL_ROOT.'/document.php?modulepart='.$element.'&attachment=1&file=/'.$element_ref.'/thumbs/'
) )
) )
); );
@ -380,7 +384,7 @@ class UploadHandler
* View * View
*/ */
$upload_handler = new UploadHandler(null,$fk_element,$element); $upload_handler = new UploadHandler(null,$fk_element,$element,$element_ref);
header('Pragma: no-cache'); header('Pragma: no-cache');
header('Cache-Control: private, no-cache'); header('Cache-Control: private, no-cache');

View File

@ -839,7 +839,7 @@ class FormFile
// Load existing files: // Load existing files:
// TODO do not delete // TODO do not delete
if (1 == 2) { if (1 == 2) {
$.getJSON($("#fileupload form").prop("action"), { fk_element: "'.$object->id.'", element: "'.$object->element.'"}, function (files) { $.getJSON($("#fileupload form").prop("action"), { fk_element: "'.$object->id.'", element: "'.$object->element.'", element_ref: "'.$object->ref.'"}, function (files) {
var fu = $("#fileupload").data("fileupload"); var fu = $("#fileupload").data("fileupload");
fu._adjustMaxNumberOfFiles(-files.length); fu._adjustMaxNumberOfFiles(-files.length);
fu._renderDownload(files) fu._renderDownload(files)
@ -867,6 +867,7 @@ class FormFile
print '<form action="'.DOL_URL_ROOT.'/core/ajax/fileupload.php" method="POST" enctype="multipart/form-data">'; print '<form action="'.DOL_URL_ROOT.'/core/ajax/fileupload.php" method="POST" enctype="multipart/form-data">';
print '<input type="hidden" name="fk_element" value="'.$object->id.'">'; print '<input type="hidden" name="fk_element" value="'.$object->id.'">';
print '<input type="hidden" name="element" value="'.$object->element.'">'; print '<input type="hidden" name="element" value="'.$object->element.'">';
print '<input type="hidden" name="element_ref" value="'.$object->ref.'">';
print '<div class="fileupload-buttonbar">'; print '<div class="fileupload-buttonbar">';
print '<input type="hidden" name="protocol" value="http">'; print '<input type="hidden" name="protocol" value="http">';
print '<label class="fileinput-button">'; print '<label class="fileinput-button">';

View File

@ -172,7 +172,7 @@ if ($object->id)
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/fichinter/document.php?id='.$object->id,'',0,0,$user->rights->ficheinter->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/fichinter/document.php?id='.$object->id,'',0,0,$user->rights->ficheinter->creer,50,$object);
// List of document // List of document

View File

@ -201,7 +201,7 @@ if ($id > 0 || ! empty($ref))
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/fourn/commande/document.php?id='.$commande->id,'',0,0,$user->rights->fournisseur->commande->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/fourn/commande/document.php?id='.$commande->id,'',0,0,$user->rights->fournisseur->commande->creer,50,$object);
// List of document // List of document

View File

@ -230,7 +230,7 @@ if ($facid > 0)
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/fourn/facture/document.php?facid='.$object->id,'',0,0,$user->rights->fournisseur->facture->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/fourn/facture/document.php?facid='.$object->id,'',0,0,$user->rights->fournisseur->facture->creer,50,$object);
// List of document // List of document

View File

@ -171,7 +171,7 @@ if ($object->id)
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/product/document.php?id='.$object->id,'',0,0,($user->rights->produit->creer||$user->rights->service->creer)); $formfile->form_attach_new_file(DOL_URL_ROOT.'/product/document.php?id='.$object->id,'',0,0,($user->rights->produit->creer||$user->rights->service->creer),50,$object);
// List of document // List of document

View File

@ -193,7 +193,7 @@ if ($id > 0 || ! empty($ref))
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/projet/document.php?id='.$project->id,'',0,0,($userWrite>0)); $formfile->form_attach_new_file(DOL_URL_ROOT.'/projet/document.php?id='.$project->id,'',0,0,($userWrite>0),50,$object);
// List of document // List of document

View File

@ -270,7 +270,7 @@ if ($object->id > 0)
// Affiche formulaire upload // Affiche formulaire upload
$formfile=new FormFile($db); $formfile=new FormFile($db);
$formfile->form_attach_new_file(DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id.($withproject?'&withproject=1':''),'',0,0,$user->rights->projet->creer); $formfile->form_attach_new_file(DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id.($withproject?'&withproject=1':''),'',0,0,$user->rights->projet->creer,50,$object);
// List of document // List of document
@ -287,4 +287,4 @@ else
llxFooter(); llxFooter();
$db->close(); $db->close();
?> ?>