Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/LimeSurvey/LimeSurvey
Browse files Browse the repository at this point in the history
  • Loading branch information
olleharstedt committed Sep 19, 2016
2 parents 5da5ac9 + 96199cc commit 54aa3f0
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 9 deletions.
18 changes: 11 additions & 7 deletions application/controllers/admin/tokens.php
Expand Up @@ -1990,6 +1990,7 @@ public function import($iSurveyId)

$aAttrFieldNames = getAttributeFieldNames($iSurveyId);
$aDuplicateList = array();
$aInvalidTokenList= array();
$aInvalidEmailList = array();
$aInvalidFormatList = array();
$aModelErrorList = array();
Expand Down Expand Up @@ -2128,6 +2129,7 @@ public function import($iSurveyId)
}
$bDuplicateFound = false;
$bInvalidEmail = false;
$bInvalidToken = false;
$aWriteArray['email'] = isset($aWriteArray['email']) ? trim($aWriteArray['email']) : "";
$aWriteArray['firstname'] = isset($aWriteArray['firstname']) ? $aWriteArray['firstname'] : "";
$aWriteArray['lastname'] = isset($aWriteArray['lastname']) ? $aWriteArray['lastname'] : "";
Expand Down Expand Up @@ -2182,11 +2184,15 @@ public function import($iSurveyId)
}
}
}
}
}

if (!$bDuplicateFound && !$bInvalidEmail && isset($aWriteArray['token']) && trim($aWriteArray['token'])!='')
{
$aWriteArray['token'] = sanitize_token($aWriteArray['token']);
if (trim($aWriteArray['token']) != sanitize_token($aWriteArray['token']));
{
$aInvalidTokenList[] = sprintf(gT("Line %s : %s %s (%s) - token : %s"),$iRecordCount,CHtml::encode($aWriteArray['firstname']),CHtml::encode($aWriteArray['lastname']),CHtml::encode($aWriteArray['email']),CHtml::encode($aWriteArray['token']));
$bInvalidToken=true;
}
// We allways search for duplicate token (it's in model. Allow to reset or update token ?
if(Token::model($iSurveyId)->count("token=:token",array(":token"=>$aWriteArray['token'])))
{
Expand All @@ -2195,7 +2201,7 @@ public function import($iSurveyId)
}
}

if (!$bDuplicateFound && !$bInvalidEmail)
if (!$bDuplicateFound && !$bInvalidEmail && !$bInvalidToken)
{
// unset all empty value
foreach ($aWriteArray as $key=>$value)
Expand Down Expand Up @@ -2231,15 +2237,14 @@ public function import($iSurveyId)
$iRecordCount++;
}
$iRecordCount = $iRecordCount - 1;

unlink($sFileName);

$aData['aTokenListArray'] = $aTokenListArray;// Big array in memory, just for success ?
$aData['iRecordImported'] = $iRecordImported;
$aData['iRecordOk'] = $iRecordOk;
$aData['iRecordCount'] = $iRecordCount;
$aData['aFirstLine'] = $aFirstLine;// Seem not needed
$aData['aDuplicateList'] = $aDuplicateList;
$aData['aInvalidTokenList'] = $aInvalidTokenList;
$aData['aInvalidFormatList'] = $aInvalidFormatList;
$aData['aInvalidEmailList'] = $aInvalidEmailList;
$aData['aModelErrorList'] = $aModelErrorList;
Expand All @@ -2248,8 +2253,7 @@ public function import($iSurveyId)
$aData['iSurveyId'] = $aData['surveyid'] = $iSurveyId;
$aData['aInvalideAttrFieldName'] = $aInvalideAttrFieldName;
$aData['aMissingAttrFieldName'] = $aMissingAttrFieldName;

$this->_renderWrappedTemplate('token', array( 'csvpost'), $aData);
$this->_renderWrappedTemplate('token', array( 'csvimportresult'), $aData);
Yii::app()->end();
}
}
Expand Down
Expand Up @@ -36,10 +36,29 @@
</ul>
</p>

<?php if (!empty($aDuplicateList) || !empty($aInvalidFormatList) || !empty($aInvalidEmailList) || !empty($aModelErrorList) || !empty($aInvalideAttrFieldName) || !empty($aMissingAttrFieldName)) { ?>
<h2 class='text-warning'><?php eT('Warnings'); ?></h2>
<?php if ( !empty(aInvalidTokenList) ||
!empty($aDuplicateList) ||
!empty($aInvalidFormatList) ||
!empty($aInvalidEmailList) ||
!empty($aModelErrorList) ||
!empty($aInvalideAttrFieldName) ||
!empty($aMissingAttrFieldName)) { ?>
<h2 class='text-warning'><?php eT('Warnings'); ?></h2>
<p>
<ul class="list-unstyled">
<?php if (!empty(aInvalidTokenList)) { ?>
<li>
<?php printf(gT("%s lines with invalid tokens skipped (tokens may only contain 0-9,a-z,A-Z,_)."), count(aInvalidTokenList)); ?>
[<a href='#' onclick='$("#badtokenlist").toggle();'><?php eT("List"); ?></a>]
<div class='badtokenlist well' id='badtokenlist' style='display: none;'>
<ul class="list-unstyled">
<?php foreach (aInvalidTokenList as $sInvalidEntry) { ?>
<li><?php echo $sInvalidEntry; ?></li>
<?php } ?>
</ul>
</div>
</li>
<?php } ?>
<?php if (!empty($aDuplicateList)) { ?>
<li>
<?php printf(gT("%s duplicate records removed"), count($aDuplicateList)); ?>
Expand Down

0 comments on commit 54aa3f0

Please sign in to comment.