function action_spip_image_ajouter_dist($arg, $sousaction2, $source, $return = false) { global $formats_logos; include_spip('inc/documents'); if (!$sousaction2) { if (!$_FILES) { $_FILES = $GLOBALS['HTTP_POST_FILES']; } $source = is_array($_FILES) ? array_pop($_FILES) : ""; } $erreur = ""; if (!$source) { spip_log("spip_image_ajouter : source inconnue"); } else { $f = _DIR_LOGOS . $arg . '.tmp'; if (!is_array($source)) { // fichier dans upload/ $source = @copy(determine_upload() . $source, $f); } else { // Intercepter une erreur a l'envoi if ($erreur = check_upload_error($source['error'], "", $return)) { $source = ""; } else { // analyse le type de l'image (on ne fait pas confiance au nom de // fichier envoye par le browser : pour les Macs c'est plus sur) $source = deplacer_fichier_upload($source['tmp_name'], $f); } } if (!$source) { spip_log("pb de copie pour {$f}"); } } if ($source and $f) { $size = @getimagesize($f); $type = !$size ? '' : ($size[2] > 3 ? '' : $formats_logos[$size[2] - 1]); if ($type) { $poids = filesize($f); if (_LOGO_MAX_SIZE > 0 and $poids > _LOGO_MAX_SIZE * 1024) { spip_unlink($f); $erreur = _T('info_logo_max_poids', array('maxi' => taille_en_octets(_LOGO_MAX_SIZE * 1024), 'actuel' => taille_en_octets($poids))); } elseif (_LOGO_MAX_WIDTH * _LOGO_MAX_HEIGHT and ($size[0] > _LOGO_MAX_WIDTH or $size[1] > _LOGO_MAX_HEIGHT)) { spip_unlink($f); $erreur = _T('info_logo_max_poids', array('maxi' => _T('info_largeur_vignette', array('largeur_vignette' => _LOGO_MAX_WIDTH, 'hauteur_vignette' => _LOGO_MAX_HEIGHT)), 'actuel' => _T('info_largeur_vignette', array('largeur_vignette' => $size[0], 'hauteur_vignette' => $size[1])))); } else { @rename($f, _DIR_LOGOS . $arg . ".{$type}"); } } else { spip_unlink($f); $erreur = _T('info_logo_format_interdit', array('formats' => join(', ', $formats_logos))); } } if ($erreur) { if ($return) { return $erreur; } else { check_upload_error(6, $erreur); } } }
function base_dump_dir($meta){ // determine upload va aussi initialiser l'index "restreint" $maindir = determine_upload(); if (!$GLOBALS['visiteur_session']['restreint']) $maindir = _DIR_DUMP; $dir = sous_repertoire($maindir, $meta); return $dir; }
function formulaires_joindre_document_charger_dist($id_document = 'new', $id_objet = 0, $objet = '', $mode = 'auto', $galerie = false, $proposer_media = true, $proposer_ftp = true) { $valeurs = array(); $mode = joindre_determiner_mode($mode, $id_document, $objet); $valeurs['id'] = $id_document; $valeurs['_mode'] = $mode; $valeurs['url'] = 'http://'; $valeurs['fichier_upload'] = $valeurs['_options_upload_ftp'] = $valeurs['_dir_upload_ftp'] = ''; $valeurs['joindre_upload'] = $valeurs['joindre_distant'] = $valeurs['joindre_ftp'] = $valeurs['joindre_mediatheque'] = ''; $valeurs['editable'] = ' '; if (intval($id_document)) { $valeurs['editable'] = autoriser('modifier', 'document', $id_document) ? ' ' : ''; } $valeurs['proposer_media'] = is_string($proposer_media) ? preg_match('/^(false|non|no)$/i', $proposer_media) ? false : true : $proposer_media; $valeurs['proposer_ftp'] = is_string($proposer_ftp) ? preg_match('/^(false|non|no)$/i', $proposer_ftp) ? false : true : $proposer_ftp; # regarder si un choix d'upload FTP est vraiment possible if ($valeurs['proposer_ftp'] and test_espace_prive() and $mode != 'image' and $mode != 'vignette' and $GLOBALS['flag_upload']) { include_spip('inc/documents'); if ($dir = determine_upload('documents')) { // quels sont les docs accessibles en ftp ? $valeurs['_options_upload_ftp'] = joindre_options_upload_ftp($dir, $mode); // s'il n'y en a pas, on affiche un message d'aide // en mode document, mais pas en mode image if ($valeurs['_options_upload_ftp'] or ($mode == 'document' or $mode == 'choix')) { $valeurs['_dir_upload_ftp'] = "<b>" . joli_repertoire($dir) . "</b>"; } } } // On ne propose le FTP que si on a des choses a afficher $valeurs['proposer_ftp'] = ($valeurs['_options_upload_ftp'] or $valeurs['_dir_upload_ftp']); if ($galerie) { # passer optionnellement une galerie jointe au form # plus utilise nativement, on prefere la mise a jour # apres upload par ajaxReload('documents') $valeurs['_galerie'] = $galerie; } if ($objet and $id_objet) { $valeurs['id_objet'] = $id_objet; $valeurs['objet'] = $objet; $valeurs['refdoc_joindre'] = ''; if ($valeurs['editable']) { include_spip('inc/autoriser'); $valeurs['editable'] = autoriser('joindredocument', $objet, $id_objet) ? ' ' : ''; } } return $valeurs; }
function spip_importer_articles($spip_data) { global $tables_conversion; foreach ($spip_data as $entry) { $id_rubrique = null; $type = $entry['metadata']['type']; journaliser(sprintf("Traitement d'un nouvel item : %s - %s", $entry['metadata']['nid'], $type), 2); if (binlog_contient($entry['metadata']['nid'])) { journaliser("L'élément %s a déjà été converti", $entry['metadata']['nid']); continue; } journaliser("Recherche de la catégorie cible pour l'article"); /* FIXME: doit être déplacé hors de cette fonction (spécifique site cible). */ /* CATEGORIE CIBLE */ /* Remarque : les articles de type 'story' sont dispatchés par la * fonction dispatch_story_type() */ $cat_cible = array('video' => 14, 'photos' => 23, 'audio' => 24, 'commission' => 36, 'livre' => 15, 'evenement' => 11); $fct = "dispatch_{$type}_type"; if (function_exists($fct)) { $id_rubrique = call_user_func($fct, $entry); } elseif ($cat_cible[$type]) { $id_rubrique = $cat_cible[$type]; } if ($id_rubrique == null) { journaliser("Catégorie cible introuvable pour le type de contenu " . $type, 4); die; } journaliser("Envoi de l'article dans la rubrique %s", $id_rubrique, 1); /* --- VIDEO --- */ if ($type == "video") { if ($entry['documents']['video']) { /* Si une vidéo est présente dans ce champ, il faut modifier le * texte de l'article et ajouter le lien vers la video à la * fin. */ $entry['article']['texte'] .= sprintf("\n\n%s", $entry['documents']['video']); } } /* --- AUDIO --- */ if ($type == "audio") { journaliser("Gestion des documents audio"); $audio_path = $entry['documents']['audio']; $audio_name = $entry['documents']['audio_name']; $id_document = importer_document($audio_path, $audio_name); journaliser("Import du document : " . $id_document, 1); $entry['article']['texte'] = sprintf("<emb%s>\nRéalisation : %s\n\n%s", $id_document, $entry['documents']['audio_desc'], $entry['article']['texte']); document_modifier($id_document, array('credits' => $entry['documents']['audio_desc'])); } /* --- PIECES JOINTES --- */ if ($entry['documents']['pdf']) { journaliser("Ajout des pièces jointes au format PDF"); foreach ($entry['documents']['pdf'] as $document) { $id_document = importer_document($document['filepath'], $document['filename']); journaliser(sprintf("Document PDF %s importé", $id_document), 1); $entry['article']['texte'] = sprintf("%s\n\n<lecteurpdf%s>", $entry['article']['texte'], $id_document); } } /* --- ARTICLE --- */ journaliser("Création du nouvel article"); $id_article = article_inserer($id_rubrique); journaliser("Nouvel article créee : {$id_article}", 1); //print_r($entry['article']); article_modifier($id_article, $entry['article']); journaliser("Ajout des données dans l'article n° {$id_article}", 1); /* --- AUTEUR => ARTICLE --- */ journaliser("Création ou récupération des auteurs qui doivent être associées à l'article"); $id_auteurs = array(); if ($entry['auteur']['nom']) { foreach ($entry['auteur']['nom'] as $nom_auteur) { journaliser("Recherche de l'auteur « {$nom_auteur} »", 1); if ($id = sql_getfetsel("id_auteur", "spip_auteurs", 'nom LIKE ' . sql_quote("% - {$nom_auteur}"))) { journaliser("« {$nom_auteur} » trouvé : {$id} (REGEXP)", 1); $id_auteurs[] = $id; } elseif ($id = sql_getfetsel("id_auteur", "spip_auteurs", 'nom=' . sql_quote($nom_auteur))) { journaliser("« {$nom_auteur} » trouvé : {$id}", 1); $id_auteurs[] = $id; } else { $id = auteur_inserer(); auteur_modifier($id, array('nom' => $nom_auteur, 'statut' => '1comite')); $id_auteurs[] = $id; journaliser("« {$nom_auteur} » créé : {$id}", 1); } } foreach ($id_auteurs as $id) { journaliser("Association de l'auteur %s à l'article", $id, 1); auteur_associer($id, array('article' => $id_article)); } } if (!in_array(1, $id_auteurs)) { journaliser("Retrait de l'auteur 1", 1); auteur_dissocier(1, array('article' => $id_article)); } /* --- CAMPAGNE --- */ if ($entry['metadata']['campagne']) { journaliser("Ajout des mots-clés de campagne"); foreach ($entry['metadata']['campagne'] as $campagne) { journaliser("Association du mot clé %s à l'article %s", $campagne, $id_article, 1); mot_associer($campagne, array('article' => $id_article)); } } /* --- ATTACPÉDIA --- */ if ($entry['metadata']['attacpedia']) { journaliser("Ajout des mots-clés Attacpédia"); foreach ($entry['metadata']['attacpedia'] as $attacpedia) { journaliser("Association du mot clé %s à l'article %s", $attacpedia, $id_article, 1); mot_associer($attacpedia, array('article' => $id_article)); } } /* EVENEMENT */ if ($type == "evenement") { journaliser("Création de l'évènement"); foreach ($entry['evenement']['dates'] as $dates_evt) { $id_evenement = evenement_inserer($id_article); journaliser("Numéro de l'évènement : %s", $id_evenement, 1); evenement_modifier($id_evenement, array('titre' => $entry['article']['titre'], 'lieu' => $entry['evenement']['lieu'], 'date_debut' => $dates_evt['date_debut'], 'date_fin' => $dates_evt['date_fin'], 'statut' => $entry['article']['statut'])); journaliser("Géolocation GIS", 1); $id_gis = gis_inserer(); journaliser("Création du lieu GIS : %s", $id_gis, 1); gis_modifier($id_gis, $entry['gis']); lier_gis($id_gis, "evenement", $id_evenement); journaliser("Lien de l'évènement %s au lieu %s", $id_evenement, $id_gis, 1); } } /* --- TYPE D'EVENEMENT --- */ if ($type == "evenement") { $id_mot_drupal = $entry['metadata']['type_evenement']; $mod_evt = $tables_conversion['type_evenement'][$id_mot_drupal]; mot_associer($mod_evt, array('article' => $id_article)); journaliser("Association du mot clé %s/%s à l'article %s", $id_mot_drupal, $mod_evt, $id_article, 1); } /* --- PIECES JOINTES --- */ if ($entry['documents']['pj']) { journaliser("Ajout des pièces jointes"); foreach ($entry['documents']['pj'] as $document) { $id_document = importer_document($document['filepath'], $document['filename'], $id_article); journaliser(sprintf("Document %s importé", $id_document), 1); } } /* --- GALERIES PHOTO --- */ if ($entry['documents']['photos']) { journaliser("Ajout des pĥotos jointes"); foreach ($entry['documents']['photos'] as $document) { $id_document = importer_document($document['filepath'], $document['filename'], $id_article, "document"); journaliser(sprintf("Document %s importé", $id_document), 1); } } /* --- URL --- */ journaliser("Gestion des URL"); $urls = array(); $urls[] = "node/" . $entry['metadata']['nid']; $urls[] = $entry['url']['url']; foreach ($urls as $url) { if ($url) { if ($url_existante = sql_fetsel(array('id_objet', 'type'), 'spip_urls', 'url=' . sql_quote($url))) { journaliser(sprintf("URL ({$url}) déjà existante (%s / %s)", $url_existante['type'], $url_existante['id_objet']), 4); } else { $sql_url = array('url' => $url, 'type' => 'article', 'id_objet' => $id_article, 'perma' => 1, 'id_parent' => $id_rubrique); url_insert($sql_url, false, '-'); journaliser(sprintf("URL ajoutée : %s/%s", $GLOBALS['meta']['adresse_site'], $url), 1); } } } /* --- LOGO --- */ if ($entry['logo']['chemin']) { journaliser("Import du logo"); $remote = sprintf("http://www.france.attac.org/%s", $entry['logo']['chemin']); $filename = $entry['logo']['fichier']; $fic = copie_locale($remote, 'auto', determine_upload() . $filename); journaliser("Logo ({$remote}) => {$fic}", 1); $spip_image_ajouter = charger_fonction('spip_image_ajouter', 'action'); $spip_image_ajouter('arton' . $id_article, true, $filename); spip_unlink($fic); } $dest_url = sprintf("%s/%s", $GLOBALS['meta']['adresse_site'], $id_article); journaliser(sprintf("Article publié : <%s>", $dest_url), 2); binlog($entry['metadata']['nid'], $entry['metadata']['type'], $id_article, $entry['article']['titre'], $dest_url); } }
function inc_joindre3_dist($path, $mode, $type, $id, $id_document,$hash, $redirect, &$actifs, $iframe_redirect) { if (!$path || strstr($path, '..')) return; $upload = determine_upload(); if ($path != '/' AND $path != './') $upload .= $path; if (!is_dir($upload)) // seul un fichier est demande $files = array(array ('name' => basename($upload), 'tmp_name' => $upload) ); else { include_spip('inc/documents'); $files = array(); foreach (preg_files($upload) as $fichier) { $files[]= array ( 'name' => basename($fichier), 'tmp_name' => $fichier ); } } return joindre_documents($files, $mode, $type, $id, $id_document, $hash, $redirect, $actifs, $iframe_redirect); }
/** * Recuperer le nom du fichier selon le mode d'upload choisi * et mettre cela au format $_FILES * * Renvoie une liste de fichier ou un message en cas d'erreur * * @return string/array */ function joindre_trouver_fichier_envoye() { static $files = array(); // on est appele deux fois dans un hit, resservir ce qu'on a trouve a la verif // lorsqu'on est appelle au traitement if (count($files)) { return $files; } if (_request('joindre_upload')) { $post = isset($_FILES) ? $_FILES : $GLOBALS['HTTP_POST_FILES']; $files = array(); if (is_array($post)) { include_spip('action/ajouter_documents'); foreach ($post as $file) { if (is_array($file['name'])) { while (count($file['name'])) { $test = array('error' => array_shift($file['error']), 'name' => array_shift($file['name']), 'tmp_name' => array_shift($file['tmp_name']), 'type' => array_shift($file['type'])); if (!($test['error'] == 4)) { if (is_string($err = joindre_upload_error($test['error']))) { return $err; } // un erreur upload if (!is_array(verifier_upload_autorise($test['name']))) { return _T('medias:erreur_upload_type_interdit', array('nom' => $test['name'])); } $files[] = $test; } } } else { //UPLOAD_ERR_NO_FILE if (!($file['error'] == 4)) { if (is_string($err = joindre_upload_error($file['error']))) { return $err; } // un erreur upload if (!is_array(verifier_upload_autorise($file['name']))) { return _T('medias:erreur_upload_type_interdit', array('nom' => $file['name'])); } $files[] = $file; } } } if (!count($files)) { return _T('medias:erreur_indiquez_un_fichier'); } } return $files; } elseif (_request('joindre_distant')) { $path = _request('url'); if (!strlen($path) or $path == 'http://') { return _T('medias:erreur_indiquez_un_fichier'); } include_spip('action/ajouter_documents'); $infos = renseigner_source_distante($path); if (!is_array($infos)) { return $infos; } else { return array(array('name' => basename($path), 'tmp_name' => $path, 'distant' => true)); } } elseif (_request('joindre_ftp')) { $path = _request('cheminftp'); if (!$path || strstr($path, '..')) { return _T('medias:erreur_indiquez_un_fichier'); } include_spip('inc/documents'); include_spip('inc/actions'); $upload = determine_upload(); if ($path != '/' and $path != './') { $upload .= $path; } if (!is_dir($upload)) { return array(array('name' => basename($upload), 'tmp_name' => $upload)); } else { // on upload tout un repertoire $files = array(); foreach (preg_files($upload) as $fichier) { $files[] = array('name' => basename($fichier), 'tmp_name' => $fichier); } return $files; } } elseif (_request('joindre_zip') and $token_zip = _request('chemin_zip')) { $zip_to_clean = isset($GLOBALS['visiteur_session']['zip_to_clean']) ? unserialize($GLOBALS['visiteur_session']['zip_to_clean']) : array(); if (!$zip_to_clean or !isset($zip_to_clean[$token_zip]) or !($path = $zip_to_clean[$token_zip])) { return _T('avis_operation_impossible'); } include_spip('inc/documents'); //pour creer_repertoire_documents define('_tmp_zip', $path); define('_tmp_dir', creer_repertoire_documents(md5($path . $GLOBALS['visiteur_session']['id_auteur']))); if (_tmp_dir == _DIR_IMG) { return _T('avis_operation_impossible'); } $files = array(); if (_request('options_upload_zip') == 'deballe') { $files = joindre_deballer_lister_zip($path, _tmp_dir); } // si le zip doit aussi etre conserve, l'ajouter if (_request('options_upload_zip') == 'upload' or _request('options_deballe_zip_conserver')) { $files[] = array('name' => basename($path), 'tmp_name' => $path); } return $files; } return array(); }
function joindre_formulaire(&$v) { global $spip_lang_right; $depliable = false; $mode = $v['mode']; $vignette_de_doc = ($mode == 'vignette' AND $v['id_document']>0); $distant = (($mode == 'document' OR $mode == 'choix') AND $v['type']); # indiquer un choix d'upload FTP $dir_ftp = ''; if (test_espace_prive() AND ($mode == 'document' OR $mode == 'choix') # si c'est pour un document AND !$vignette_de_doc # pas pour une vignette (NB: la ligne precedente suffit, mais si on la supprime il faut conserver ce test-ci) AND $GLOBALS['flag_upload']) { if ($dir = determine_upload('documents')) { // quels sont les docs accessibles en ftp ? $l = texte_upload_manuel($dir, $mode); // s'il n'y en a pas, on affiche un message d'aide // en mode document, mais pas en mode image if ($l OR ($mode == 'document' OR $mode=='choix')) $dir_ftp = afficher_transferer_upload($l, $dir); } } // Add the redirect url when uploading via iframe $iframe = ""; if($v['iframe_script']) $iframe = "<input type='hidden' name='iframe_redirect' value='".rawurlencode($v['iframe_script'])."' />\n"; // Un menu depliant si on a une possibilite supplementaire if ($dir_ftp OR $distant OR $vignette_de_doc) { $bloc = "ftp_". $mode .'_'. intval($v['id_document']); if ($vignette_de_doc) $debut = bouton_block_depliable($v['intitule'],false,$bloc); else $debut = $v['intitule']; $milieu = debut_block_depliable(false,$bloc); $fin = "\n\t" . fin_block(); $v['titre'] = bouton_block_depliable($v['titre'],false,$bloc); } else $debut = $milieu = $fin = ''; // Lien document distant, jamais en mode image if ($distant) { $distant = "<br />\n<div style='border: 1px #303030 solid; padding: 4px; color: #505050;'>" . "\n\t<img src='". chemin_image('attachment.gif') . "' style='float: $spip_lang_right;' alt=\"\" />\n" . "<label for='url'>" . _T('info_referencer_doc_distant') . "</label><br />\n\t<input name='url' id='url' value='http://' />" . "\n\t<div style='text-align: $spip_lang_right'><input name='sousaction2' type='submit' value='". _T('bouton_choisir'). "' /></div>" . "\n</div>"; } $res = "<input name='fichier' id='fichier_$mode" .'_'. strval($v['id_document']) . "' type='file' class='forml spip_xx-small' size='15' />" . ($v['ancre'] ? "\n\t\t<input type='hidden' name='ancre' value='".$v['ancre']."' />" : '' ) . "\n\t\t<div style='text-align: $spip_lang_right'><input name='sousaction1' type='submit' value='" . _T('bouton_telecharger') . "' /></div>"; if ($vignette_de_doc) $res = $milieu . $res; else $res = $res . $milieu; return "$iframe$debut$res$dir_ftp$distant$fin"; }
/** * @param string $objet * @param int $id_objet * @param string $etat * on ou off * @param string|array $source * array : sous tableau de $_FILE issu de l'upload * string : fichier source (chemin complet ou chemin relatif a tmp/upload) * @return string */ function logo_modifier($objet, $id_objet, $etat, $source) { $chercher_logo = charger_fonction('chercher_logo', 'inc'); $objet = objet_type($objet); $primary = id_table_objet($objet); include_spip('inc/chercher_logo'); $type = type_du_logo($primary); // nom du logo $nom = $type . $etat . $id_objet; // supprimer le logo eventueel existant logo_supprimer($objet, $id_objet, $etat); include_spip('inc/documents'); $erreur = ""; if (!$source) { spip_log("spip_image_ajouter : source inconnue"); $erreur = "source inconnue"; return $erreur; } $file_tmp = _DIR_LOGOS . $nom . '.tmp'; $ok = false; // fichier dans upload/ if (is_string($source)) { if (file_exists($source)) { $ok = @copy($source, $file_tmp); } elseif (file_exists($f = determine_upload() . $source)) { $ok = @copy($f, $file_tmp); } } elseif (!($erreur = check_upload_error($source['error'], "", true))) { // analyse le type de l'image (on ne fait pas confiance au nom de // fichier envoye par le browser : pour les Macs c'est plus sur) $ok = deplacer_fichier_upload($source['tmp_name'], $file_tmp); } if ($erreur) { return $erreur; } if (!$ok or !file_exists($file_tmp)) { spip_log($erreur = "probleme de copie pour {$file_tmp} "); return $erreur; } $size = @getimagesize($file_tmp); $type = !$size ? '' : ($size[2] > 3 ? '' : $GLOBALS['formats_logos'][$size[2] - 1]); if ($type) { @rename($file_tmp, $file_tmp . ".{$type}"); $file_tmp = $file_tmp . ".{$type}"; $poids = filesize($file_tmp); if (defined('_LOGO_MAX_WIDTH') or defined('_LOGO_MAX_HEIGHT')) { if (defined('_LOGO_MAX_WIDTH') and _LOGO_MAX_WIDTH and $size[0] > _LOGO_MAX_WIDTH or defined('_LOGO_MAX_HEIGHT') and _LOGO_MAX_HEIGHT and $size[1] > _LOGO_MAX_HEIGHT) { $max_width = (defined('_LOGO_MAX_WIDTH') and _LOGO_MAX_WIDTH) ? _LOGO_MAX_WIDTH : '*'; $max_height = (defined('_LOGO_MAX_HEIGHT') and _LOGO_MAX_HEIGHT) ? _LOGO_MAX_HEIGHT : '*'; // pas la peine d'embeter le redacteur avec ca si on a active le calcul des miniatures // on met directement a la taille maxi a la volee if (isset($GLOBALS['meta']['creer_preview']) and $GLOBALS['meta']['creer_preview'] == 'oui') { include_spip('inc/filtres'); $img = filtrer('image_reduire', $file_tmp, $max_width, $max_height); $img = extraire_attribut($img, 'src'); $img = supprimer_timestamp($img); if (@file_exists($img) and $img !== $file_tmp) { spip_unlink($file_tmp); @rename($img, $file_tmp); $size = @getimagesize($file_tmp); } } // verifier au cas ou image_reduire a echoue if (defined('_LOGO_MAX_WIDTH') and _LOGO_MAX_WIDTH and $size[0] > _LOGO_MAX_WIDTH or defined('_LOGO_MAX_HEIGHT') and _LOGO_MAX_HEIGHT and $size[1] > _LOGO_MAX_HEIGHT) { spip_unlink($file_tmp); $erreur = _T('info_logo_max_poids', array('maxi' => _T('info_largeur_vignette', array('largeur_vignette' => $max_width, 'hauteur_vignette' => $max_height)), 'actuel' => _T('info_largeur_vignette', array('largeur_vignette' => $size[0], 'hauteur_vignette' => $size[1])))); } } } if (!$erreur and defined('_LOGO_MAX_SIZE') and _LOGO_MAX_SIZE and $poids > _LOGO_MAX_SIZE * 1024) { spip_unlink($file_tmp); $erreur = _T('info_logo_max_poids', array('maxi' => taille_en_octets(_LOGO_MAX_SIZE * 1024), 'actuel' => taille_en_octets($poids))); } if (!$erreur) { @rename($file_tmp, _DIR_LOGOS . $nom . ".{$type}"); } } else { spip_unlink($file_tmp); $erreur = _T('info_logo_format_interdit', array('formats' => join(', ', $GLOBALS['formats_logos']))); } return $erreur; }
function nom_fichier_dump() { global $connect_toutes_rubriques; if ($connect_toutes_rubriques AND file_exists(_DIR_DUMP)) $dir = _DIR_DUMP; else $dir = determine_upload(); $site = isset($GLOBALS['meta']['nom_site']) ? preg_replace(array(",\W,is",",_(?=_),",",_$,"),array("_","",""), couper(translitteration(trim($GLOBALS['meta']['nom_site'])),30,"")) : 'spip'; $site .= '_' . date('Ymd'); $nom = $site; $cpt=0; while (file_exists($dir. $nom . ".xml") OR file_exists($dir. $nom . ".xml.gz")) { $nom = $site . sprintf('_%03d', ++$cpt); } return $nom; }