Skip to content
Extraits de code Groupes Projets
Valider c3d56550 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

determine_upload concerne les documents, on la deplace dans inc/documents

check_upload_error est encore utilisee par le core, on l'y ramene tant que les logos ne sont pas rentres dans le rang
parent 1c25402c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -54,7 +54,7 @@ function action_spip_image_effacer_dist($arg) {
function action_spip_image_ajouter_dist($arg,$sousaction2,$source) {
global $formats_logos;
include_spip('inc/getdocument');
include_spip('inc/documents');
if (!$sousaction2) {
if (!$_FILES) $_FILES = $GLOBALS['HTTP_POST_FILES'];
$source = (is_array($_FILES) ? array_pop($_FILES) : "");
......
......@@ -10,6 +10,13 @@
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
*
* Fonctions de base pour la sauvegarde
* Boite a outil commune, sans prejuger de la methode de sauvegarde
*
*/
if (!defined('_ECRIRE_INC_VERSION')) return;
define('_VERSION_ARCHIVE', '1.3');
......@@ -34,6 +41,7 @@ function base_dump_meta_name($rub){
return $meta = "status_dump_$rub_" . $GLOBALS['visiteur_session']['id_auteur'];
}
function base_dump_dir($meta){
include_spip('inc/documents');
// determine upload va aussi initialiser l'index "restreint"
$maindir = determine_upload();
if (!$GLOBALS['visiteur_session']['restreint'])
......
......@@ -216,22 +216,4 @@ function ajax_retour($corps,$xml = true)
echo $debut, $corps, $fin, $e;
}
// http://doc.spip.org/@determine_upload
function determine_upload($type='') {
if (!autoriser('chargerftp')
OR $type == 'logos') # on ne le permet pas pour les logos
return false;
$repertoire = _DIR_TRANSFERT;
if (!@is_dir($repertoire)) {
$repertoire = str_replace(_DIR_TMP, '', $repertoire);
$repertoire = sous_repertoire(_DIR_TMP, $repertoire);
}
if (!$GLOBALS['visiteur_session']['restreint'])
return $repertoire;
else
return sous_repertoire($repertoire, $GLOBALS['visiteur_session']['login']);
}
?>
......@@ -134,6 +134,32 @@ function copier_document($ext, $orig, $source) {
return deplacer_fichier_upload($source, $newFile);
}
/**
* Trouver le dossier utilise pour upload un fichier
*
* http://doc.spip.org/@determine_upload
*
* @param string $type
* @return bool|string
*/
function determine_upload($type='') {
if (!autoriser('chargerftp')
OR $type == 'logos') # on ne le permet pas pour les logos
return false;
$repertoire = _DIR_TRANSFERT;
if (!@is_dir($repertoire)) {
$repertoire = str_replace(_DIR_TMP, '', $repertoire);
$repertoire = sous_repertoire(_DIR_TMP, $repertoire);
}
if (!$GLOBALS['visiteur_session']['restreint'])
return $repertoire;
else
return sous_repertoire($repertoire, $GLOBALS['visiteur_session']['login']);
}
/**
* Deplacer ou copier un fichier
*
......@@ -170,4 +196,53 @@ function deplacer_fichier_upload($source, $dest, $move=false) {
}
// Erreurs d'upload
// renvoie false si pas d'erreur
// et true si erreur = pas de fichier
// pour les autres erreurs affiche le message d'erreur et meurt
// http://doc.spip.org/@check_upload_error
function check_upload_error($error, $msg='') {
global $spip_lang_right;
if (!$error) return false;
spip_log("Erreur upload $error -- cf. http://php.net/manual/fr/features.file-upload.errors.php");
switch ($error) {
case 4: /* UPLOAD_ERR_NO_FILE */
return true;
# on peut affiner les differents messages d'erreur
case 1: /* UPLOAD_ERR_INI_SIZE */
$msg = _T('upload_limit',
array('max' => ini_get('upload_max_filesize')));
break;
case 2: /* UPLOAD_ERR_FORM_SIZE */
$msg = _T('upload_limit',
array('max' => ini_get('upload_max_filesize')));
break;
case 3: /* UPLOAD_ERR_PARTIAL */
$msg = _T('upload_limit',
array('max' => ini_get('upload_max_filesize')));
break;
default: /* autre */
if (!$msg)
$msg = _T('pass_erreur').' '. $error
. '<br />' . propre("[->http://php.net/manual/fr/features.file-upload.errors.php]");
break;
}
spip_log ("erreur upload $error");
if(_request("iframe")=="iframe") {
echo "<div class='upload_answer upload_error'>$msg</div>";
exit;
}
echo minipres($msg,
"<div style='text-align: $spip_lang_right'><a href='" . rawurldecode($GLOBALS['redirect']) . "'><button type='button'>" . _T('ecrire:bouton_suivant') . "</button></a></div>");
exit;
}
?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter