From 4a37255897d8757daddf6a7d727cbd7b3c5d5a80 Mon Sep 17 00:00:00 2001
From: Aniessh Sethh
Date: Fri, 12 Aug 2011 09:56:12 +0000
Subject: [PATCH] import CSV fixed
git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_ci@10697 b72ed6b6-b9f8-46b5-92b4-906544132732
---
application/config/autoload.php | 2 +-
application/config/config.php | 2 +-
application/config/database.php | 100 +++++++++---------
.../controllers/admin/participants.php | 47 ++++----
.../admin/Participants/importCSV_view.php | 4 +-
.../admin/Participants/uploadSummary_view.php | 27 +++--
scripts/admin/attributeMapCSV.js | 2 +-
7 files changed, 96 insertions(+), 88 deletions(-)
diff --git a/application/config/autoload.php b/application/config/autoload.php
index 0495a61be69..1ae12e5c21f 100644
--- a/application/config/autoload.php
+++ b/application/config/autoload.php
@@ -52,7 +52,7 @@
| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/
-$autoload['libraries'] = array('session');
+$autoload['libraries'] = array('database', 'session');
/*
diff --git a/application/config/config.php b/application/config/config.php
index a29a7054d4f..e3836a0869b 100644
--- a/application/config/config.php
+++ b/application/config/config.php
@@ -225,7 +225,7 @@
| MUST set an encryption key. See the user guide for info.
|
*/
-$config['encryption_key'] = 'encryption_key';
+$config['encryption_key'] = '6990f870a883f574408c9634f3dd1d49';
/*
|--------------------------------------------------------------------------
diff --git a/application/config/database.php b/application/config/database.php
index 246af84cf70..f3b563b6186 100644
--- a/application/config/database.php
+++ b/application/config/database.php
@@ -1,52 +1,52 @@
-upload->do_upload())
{
$errorinupload = array('error' => $this->upload->display_errors());
+ $this->session->unset_userdata('summary');
+ $data = array( 'errorinupload' => $errorinupload);
+
+ $this->session->set_userdata('summary',$data);
self::_getAdminHeader();
$clang = $this->limesurvey_lang;
- $data = array('clang'=> $clang,
- 'errorinupload' => $errorinupload );
+ $data = array('clang'=> $clang);
$this->load->view('admin/Participants/participantsPanel_view',$data);
$this->load->view('admin/Participants/uploadSummary_view',$data);
self::_getAdminFooter("http://docs.limesurvey.org", $this->limesurvey_lang->gT("LimeSurvey online manual"));
@@ -984,6 +987,7 @@ function uploadCSV()
}
$invalidemail=false;
$dupfound = false;
+ $thisduplicate = 0;
$filterduplicatefields=array('firstname','lastname','email');
foreach($writearray as $value)
{
@@ -997,15 +1001,18 @@ function uploadCSV()
$result=$this->participants_model->checkforDuplicate($data);
if($result == true )
{
+ $thisduplicate = 1;
$dupcount++;
}
}
- if($dupcount > 0)
+
+ if($thisduplicate == 1)
{
$dupfound = true;
$duplicatelist[]=$writearray['firstname']." ".$writearray['lastname']." (".$writearray['email'].")";
}
+
$writearray['email'] = trim($writearray['email']);
if($writearray['email']!='')
{
@@ -1036,12 +1043,12 @@ function uploadCSV()
}
else
{
-
foreach($writearray as $key=> $value)
{
-
- if(in_array($key, $allowedfieldnames))
+ if(!empty($mappedarray))
{
+ if(in_array($key, $allowedfieldnames))
+ {
foreach($mappedarray as $attid=>$attname)
{
if($attname == $key)
@@ -1061,6 +1068,7 @@ function uploadCSV()
}
}
+ }
}
/* if(is_numeric($key) && in_array($key, $allowedfieldnames))
{
@@ -1127,6 +1135,7 @@ function uploadCSV()
}
}*/
}
+
$this->participants_model->insertParticipantCSV($writearray);
$imported++;
}
@@ -1141,19 +1150,19 @@ function uploadCSV()
self::_getAdminHeader();
$clang = $this->limesurvey_lang;
- $data = array('clang'=> $clang,
- 'duplicatelist' => $duplicatelist,
- 'recordcount' => $recordcount-1,
- 'mincriteria' => $mincriteria,
- 'imported' => $imported,
- 'dupcount' => count($duplicatelist),
- 'errorinupload' => $errorinupload,
- 'invalidemaillist'=> $invalidemaillist,
- 'mandatory' => $mandatory,
- 'invalidattribute' => $invalidattribute,
- 'invalidparticipantid' => $invalidparticipantid
- );
- redirect('admin/participants/summaryview');
+ $data = array( 'duplicatelist' => $duplicatelist,
+ 'recordcount' => $recordcount-1,
+ 'mincriteria' => $mincriteria,
+ 'imported' => $imported,
+ 'dupcount' => count($duplicatelist),
+ 'errorinupload' => $errorinupload,
+ 'invalidemaillist'=> $invalidemaillist,
+ 'mandatory' => $mandatory,
+ 'invalidattribute' => $invalidattribute,
+ 'invalidparticipantid' => $invalidparticipantid );
+ $this->session->unset_userdata('summary');
+ $this->session->set_userdata('summary',$data);
+ //redirect('admin/participants/summaryview');
}
function summaryview()
{
diff --git a/application/views/admin/Participants/importCSV_view.php b/application/views/admin/Participants/importCSV_view.php
index 9989b05a98b..855448c2966 100644
--- a/application/views/admin/Participants/importCSV_view.php
+++ b/application/views/admin/Participants/importCSV_view.php
@@ -89,9 +89,9 @@
gT("File should be a standard CSV (comma delimited) file with optional double quotes around values (default for OpenOffice and Excel). The first line must contain the field names. The fields can be in any order.");?>
-
Mandatory fields:gT("First Name, Last Name, E-Mail"); ?>
+
Mandatory fields:gT("firstname, lastname, email"); ?>
-
Optional fields:gT("Blacklist,Attributes,Language"); ?>
+
Optional fields:gT("blacklist,language"); ?>
".$clang->gT("CPDB CSV Summary")."";
- if($this->session->flashdata('errorinupload') == "") {
+ if(empty($this->session->userdata['summary']['errorinupload'])) {
$uploadSummary .= "";
- if($this->session->flashdata('imported') !=0) {
+ if($this->session->userdata['summary']['imported'] !=0) {
$uploadSummary .= "";
} else {
$uploadSummary .= "";
}
- $uploadSummary .= "
- ".sprintf($clang->gT("%s records in CSV"),$this->session->flashdata('recordcount'))."
- ".sprintf($clang->gT("%s records met minumum requirements"),$this->session->flashdata('mincriteria'))."
- ".sprintf($clang->gT("%s records have blank madatory fields"),$this->session->flashdata('mandatory'))."
- ".sprintf($clang->gT("%s records imported"),$this->session->flashdata('imported'))."
";
- if ($this->session->flashdata('dupcount')>0 || count($this->session->flashdata('invalidemaillist'))>0 || count($this->session->flashdata('invalidattribute'))>0)
+ $uploadSummary .= "
- ".sprintf($clang->gT("%s records in CSV"),$this->session->userdata['summary']['recordcount'])."
- ".sprintf($clang->gT("%s records met minumum requirements"),$this->session->userdata['summary']['mincriteria'])."
- ".sprintf($clang->gT("%s records have blank madatory fields"),$this->session->userdata['summary']['mandatory'])."
- ".sprintf($clang->gT("%s records imported"),$this->session->userdata['summary']['imported'])."
";
+ if ($this->session->userdata['summary']['dupcount'] >0 || count($this->session->userdata['summary']['invalidemaillist']) >0 || count($this->session->userdata['summary']['invalidattribute']) >0)
{
$uploadSummary .= "
- ";
- $uploadSummary .= sprintf($clang->gT("%s duplicate records removed"),$this->session->flashdata('dupcount'));
+ $uploadSummary .= sprintf($clang->gT("%s duplicate records removed"),$this->session->userdata['summary']['dupcount']);
$uploadSummary .= "".$clang->gT('List')."";
$uploadSummary .= "
";
- foreach($this->session->flashdata('duplicatelist') as $data)
+ foreach($this->session->userdata['summary']['duplicatelist'] as $data)
{
$uploadSummary .= "- ".$data."
";
}
}
$uploadSummary .= "";
- if (count($this->session->flashdata('invalidmaillist'))>0)
+ if (count($this->session->userdata['summary']['invalidemaillist']) >0)
{
- $uploadSummary .= "- ".sprintf($clang->gT("%s records with invalid email address removed"),count($this->session->flashdata('invalidemaillist')));
+ $uploadSummary .= "
- ".sprintf($clang->gT("%s records with invalid email address removed"),count($this->session->userdata['summary']['invalidemaillist']));
$uploadSummary .= "".$clang->gT('List')."";
$uploadSummary .= "
";
- foreach($this->session->flashdata('invalidmaillist') as $data)
+ foreach($this->session->userdata['summary']['invalidemaillist'] as $data)
{
$uploadSummary.= "- ".$data."
";
}
}
$uploadSummary .= "
";
- if (count($this->session->flashdata('invalidattribute'))>0)
+ if (count($this->session->userdata['summary']['invalidattribute'])>0)
{
- $uploadSummary .="- ".sprintf($clang->gT("%s records have incomplete or wrong attribute values"),count($this->session->flashdata('invalidattribute')));
+ $uploadSummary .="
- ".sprintf($clang->gT("%s records have incomplete or wrong attribute values"),count($this->session->userdata['summary']['invalidattribute']));
$uploadSummary .="'".$clang->gT('List')."";
$uploadSummary .="
";
- foreach($this->session->flashdata('invalidattribute') as $data)
+ foreach($this->session->userdata['summary']['invalidattribute'] as $data)
{
$uploadSummary.= "- ".$data."
";
} }
@@ -54,7 +53,7 @@
}
else
{
- $uploadSummary .= "";
+ $uploadSummary .= "";
}
echo $uploadSummary;
diff --git a/scripts/admin/attributeMapCSV.js b/scripts/admin/attributeMapCSV.js
index cdd4e446a4c..0d914b88ddb 100644
--- a/scripts/admin/attributeMapCSV.js
+++ b/scripts/admin/attributeMapCSV.js
@@ -85,7 +85,7 @@ $(document).ready(function(){
newarray : newcurrentarray,
mappedarray : mappedarray
}, function(msg){
- //$(location).attr('href',redUrl);
+ $(location).attr('href',redUrl);
});
});