phpDocumentor lodel
[ class tree: lodel ] [ index: lodel ] [ all elements ]

Source for file importfunc.php

Documentation is available at importfunc.php

  1. <?php
  2. /**
  3.  * Fichier utilitaire pour l'import
  4.  *
  5.  * PHP versions 4 et 5
  6.  *
  7.  * LODEL - Logiciel d'Edition ELectronique.
  8.  *
  9.  * Copyright (c) 2001-2002, Ghislain Picard, Marin Dacos
  10.  * Copyright (c) 2003, Ghislain Picard, Marin Dacos, Luc Santeramo, Nicolas Nutten, Anne Gentil-Beccot
  11.  * Copyright (c) 2004, Ghislain Picard, Marin Dacos, Luc Santeramo, Anne Gentil-Beccot, Bruno Cénou
  12.  * Copyright (c) 2005, Ghislain Picard, Marin Dacos, Luc Santeramo, Gautier Poupeau, Jean Lamy, Bruno Cénou
  13.  * Copyright (c) 2006, Marin Dacos, Luc Santeramo, Bruno Cénou, Jean Lamy, Mikaël Cixous, Sophie Malafosse
  14.  * Copyright (c) 2007, Marin Dacos, Bruno Cénou, Sophie Malafosse, Pierre-Alain Mignot
  15.  *
  16.  * Home page: http://www.lodel.org
  17.  *
  18.  * E-Mail: lodel@lodel.org
  19.  *
  20.  * All Rights Reserved
  21.  *
  22.  * This program is free software; you can redistribute it and/or modify
  23.  * it under the terms of the GNU General Public License as published by
  24.  * the Free Software Foundation; either version 2 of the License, or
  25.  * (at your option) any later version.
  26.  *
  27.  * This program is distributed in the hope that it will be useful,
  28.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  29.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  30.  * GNU General Public License for more details.
  31.  *
  32.  * You should have received a copy of the GNU General Public License
  33.  * along with this program; if not, write to the Free Software
  34.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  35.  *
  36.  * @author Ghislain Picard
  37.  * @author Jean Lamy
  38.  * @copyright 2005, Ghislain Picard, Marin Dacos, Luc Santeramo, Gautier Poupeau, Jean Lamy, Bruno Cénou
  39.  * @copyright 2006, Marin Dacos, Luc Santeramo, Bruno Cénou, Jean Lamy, Mikaël Cixous, Sophie Malafosse
  40.  * @copyright 2007, Marin Dacos, Bruno Cénou, Sophie Malafosse, Pierre-Alain Mignot
  41.  * @licence http://www.gnu.org/copyleft/gpl.html
  42.  * @version CVS:$Id:
  43.  * @package lodel
  44.  */
  45.  
  46. /**
  47.  * Extraction d'un fichier importé dans le répertoire d'import
  48.  *
  49.  * Cette fonction est utilisée dans l'import de données, de ME et de traductions
  50.  * @param string $footprint 
  51.  * @param array &$context le context
  52.  * @param string $ext l'extension du fichier (par défaut 'zip')
  53.  * @return le fichier qui a été extrait du répertoire d'import
  54.  */
  55.     function extract_import($footprint$context$ext 'zip')
  56.     {
  57.  
  58.     $context['importdir'$importdir;
  59.     $GLOBALS['fileregexp''('.$footprint.')-\w+(?:-\d+)?.'.$ext;
  60.  
  61.     $GLOBALS['importdirs'array ("CACHE"$GLOBALS['home']."../install/plateform");
  62.     if ($importdir{
  63.         $GLOBALS['importdirs'][$importdir;
  64.     }
  65.  
  66.     $archive $_FILES['archive']['tmp_name'];
  67.     $context['error_upload'$_FILES['archive']['error'];
  68.     if (!$context['error_upload'&& $archive && $archive != "none" && is_uploaded_file($archive)) // Upload
  69.         $file $_FILES['archive']['name'];
  70.         if (!preg_match("/^".$GLOBALS['fileregexp']."$/"$file)) {
  71.             $file $footprint."-import-".date("dmy").".".$ext;
  72.         }
  73.  
  74.         if (!move_uploaded_file($archive"CACHE/".$file)) {
  75.             die("ERROR: a problem occurs while moving the uploaded file.");
  76.         }
  77.         $file ""// on repropose la page
  78.     elseif ($_GET['file'&& 
  79.                         preg_match("/^(?:".str_replace("/"'\/'
  80.                                                             join("|"$GLOBALS['importdirs'])).")\/".$GLOBALS['fileregexp']."$/"
  81.                                                                         $_GET['file']$result&& 
  82.                         file_exists($_GET['file']))    // file sur le disque
  83.         $file $_GET['file'];
  84.         $prefix $result[1];
  85.     }    else    // rien
  86.         $file "";
  87.     }
  88.     return $file;
  89. }
  90.  
  91. ?>

Documentation generated on Thu, 19 Jun 2008 05:07:52 +0200 by phpDocumentor 1.4.0a2