dolibarr/htdocs/imports/ajaximport.php
2009-09-12 02:07:25 +00:00

101 lines
3.7 KiB
PHP

<?php
/* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2007-2009 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/**
* \file htdocs/imports/ajaximport.php
* \brief File to return Ajax response on Fields move in import page
* \version $Id$
*/
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Disables token renewal
if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1');
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1');
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
// This is to make Dolibarr working with Plesk
set_include_path($_SERVER['DOCUMENT_ROOT'].'/htdocs');
// Retrieve the entity in the cookie
$entityCookieName = "DOLENTITYID_dolibarr";
if (isset($_COOKIE[$entityCookieName])) $_SESSION["dol_entity"] = $_COOKIE[$entityCookieName];
require('../main.inc.php');
require_once(DOL_DOCUMENT_ROOT."/imports/import.class.php");
require_once(DOL_DOCUMENT_ROOT.'/includes/modules/import/modules_import.php');
// Enregistrement de la position des champs
dol_syslog("AjaxImport boxorder=".$_GET['boxorder']." userid=".$_GET['userid']." datatoimport=".$_GET["datatoimport"], LOG_DEBUG);
$part=split(':',$_GET['boxorder']);
$colonne=$part[0];
$list=$part[1];
dol_syslog('AjaxImport column='.$colonne.' list='.$list);
$fuser=new User($db);
$fuser->id=$_GET['userid'];
$fuser->fetch();
// Init object $objimport that describe the predefined import
$objimport=new Import($db);
$datatoimport=isset($_GET["datatoimport"])? $_GET["datatoimport"] : (isset($_POST["datatoimport"])?$_POST["datatoimport"]:'');
$objimport->load_arrays($fuser,$datatoimport);
// Init targets fields array
$fieldstarget=$objimport->array_import_fields[0];
// Reinit match arrays. We redefine array_match_file_to_database
$serialized_array_match_file_to_database='';
$array_match_file_to_database=array();
$fieldsarray=split(',',$list);
$pos=0;
foreach($fieldsarray as $fieldnb) // For each elem in list. fieldnb start from 1 to ...
{
// Get name of database fields at position $pos and put it into $namefield
$posbis=0;$namefield='';
foreach($fieldstarget as $key => $val) // key: val:
{
//dol_syslog('AjaxImport key='.$key.' val='.$val);
if ($posbis < $pos)
{
$posbis++;
continue;
}
// We found the key of targets that is at position pos
$namefield=$key;
//dol_syslog('AjaxImport Field name found for file field nb '.$fieldnb.'='.$namefield);
break;
}
if ($fieldnb && $namefield)
{
$array_match_file_to_database[$fieldnb]=$namefield;
if ($serialized_array_match_file_to_database) $serialized_array_match_file_to_database.=',';
$serialized_array_match_file_to_database.=($fieldnb.'='.$namefield);
}
$pos++;
}
// We save new matching in session
$_SESSION["dol_array_match_file_to_database"]=$serialized_array_match_file_to_database;
dol_syslog('AjaxImport dol_array_match_file_to_database='.$serialized_array_match_file_to_database);
?>