Source for file importfunc.php
Documentation is available at importfunc.php
* Fichier utilitaire pour l'import
* LODEL - Logiciel d'Edition ELectronique.
* Copyright (c) 2001-2002, Ghislain Picard, Marin Dacos
* Copyright (c) 2003, Ghislain Picard, Marin Dacos, Luc Santeramo, Nicolas Nutten, Anne Gentil-Beccot
* Copyright (c) 2004, Ghislain Picard, Marin Dacos, Luc Santeramo, Anne Gentil-Beccot, Bruno Cénou
* Copyright (c) 2005, Ghislain Picard, Marin Dacos, Luc Santeramo, Gautier Poupeau, Jean Lamy, Bruno Cénou
* Copyright (c) 2006, Marin Dacos, Luc Santeramo, Bruno Cénou, Jean Lamy, Mikaël Cixous, Sophie Malafosse
* Copyright (c) 2007, Marin Dacos, Bruno Cénou, Sophie Malafosse, Pierre-Alain Mignot
* Home page: http://www.lodel.org
* E-Mail: lodel@lodel.org
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* @author Ghislain Picard
* @copyright 2005, Ghislain Picard, Marin Dacos, Luc Santeramo, Gautier Poupeau, Jean Lamy, Bruno Cénou
* @copyright 2006, Marin Dacos, Luc Santeramo, Bruno Cénou, Jean Lamy, Mikaël Cixous, Sophie Malafosse
* @copyright 2007, Marin Dacos, Bruno Cénou, Sophie Malafosse, Pierre-Alain Mignot
* @licence http://www.gnu.org/copyleft/gpl.html
* Extraction d'un fichier importé dans le répertoire d'import
* Cette fonction est utilisée dans l'import de données, de ME et de traductions
* @param string $footprint
* @param array &$context le context
* @param string $ext l'extension du fichier (par défaut 'zip')
* @return le fichier qui a été extrait du répertoire d'import
$context['importdir'] = $importdir;
$GLOBALS['fileregexp'] = '('. $footprint. ')-\w+(?:-\d+)?.'. $ext;
$GLOBALS['importdirs'] = array ("CACHE", $GLOBALS['home']. "../install/plateform");
$GLOBALS['importdirs'][] = $importdir;
$archive = $_FILES['archive']['tmp_name'];
$context['error_upload'] = $_FILES['archive']['error'];
if (!$context['error_upload'] && $archive && $archive != "none" && is_uploaded_file($archive)) { // Upload
$file = $_FILES['archive']['name'];
if (!preg_match("/^". $GLOBALS['fileregexp']. "$/", $file)) {
$file = $footprint. "-import-". date("dmy"). ".". $ext;
die("ERROR: a problem occurs while moving the uploaded file.");
$file = ""; // on repropose la page
} elseif ($_GET['file'] &&
join("|", $GLOBALS['importdirs'])). ")\/". $GLOBALS['fileregexp']. "$/",
$_GET['file'], $result) &&
|