View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 17093 | Bug reports | Import/Export | public | 2021-02-15 09:47 | 2021-04-06 14:43 |
| Reporter | DenisChenu | Assigned To | DenisChenu | ||
| Priority | none | Severity | minor | ||
| Status | closed | Resolution | fixed | ||
| Product Version | 3.25.12 | ||||
| Summary | 17093: Unable to fix invalid survey after import bad TSV | ||||
| Description | When import a TSV without all language on SL : unable to fix it. | ||||
| Steps To Reproduce | Import included survey | ||||
| Additional Information | See HTML for the issue : en is in additional_language but not in SL. Global checkintegrity fix the issue too : but have a solution to check integrity on a single survey (then for Survey manager, not only for superadmin) can be a great idea : i add it as feature. | ||||
| Tags | No tags attached. | ||||
| Attached Files | limesurvey_survey_628678.tsv (15,426 bytes)
class type/scale name relevance text help language validation mandatory other default same_default allowed_filetypes alphasort answer_width array_filter array_filter_exclude array_filter_style assessment_value category_separator choice_title code_filter commented_checkbox commented_checkbox_auto date_format date_max date_min display_columns display_rows dropdown_dates dropdown_dates_minute_step dropdown_dates_month_style dropdown_prefix dropdown_prepostfix dropdown_separators dropdown_size dualscale_headerA dualscale_headerB em_validation_q em_validation_q_tip em_validation_sq em_validation_sq_tip equals_num_value exclude_all_others exclude_all_others_auto hidden hide_tip input_boxes location_city location_country location_defaultcoordinates location_mapheight location_mapservice location_mapwidth location_mapzoom location_nodefaultfromip location_postal location_state max_answers max_filesize max_num_of_files max_num_value max_num_value_n maximum_chars min_answers min_num_of_files min_num_value min_num_value_n multiflexible_checkbox multiflexible_max multiflexible_min multiflexible_step num_value_int_only numbers_only other_comment_mandatory other_numbers_only other_replace_text page_break parent_order prefix printable_help public_statistics random_group random_order rank_title repeat_headings reverse samechoiceheight samelistheight scale_export show_comment show_grand_total show_title show_totals showpopups slider_accuracy slider_default slider_layout slider_max slider_middlestart slider_min slider_rating slider_reset slider_separator slider_showminmax statistics_graphtype statistics_showgraph statistics_showmap suffix text_input_width time_limit time_limit_action time_limit_countdown_message time_limit_disable_next time_limit_disable_prev time_limit_message time_limit_message_delay time_limit_message_style time_limit_timer_style time_limit_warning time_limit_warning_2 time_limit_warning_2_display_time time_limit_warning_2_message time_limit_warning_2_style time_limit_warning_display_time time_limit_warning_message time_limit_warning_style thousands_separator use_dropdown
S sid 628678
S owner_id 1
S admin Sondages en ligne
S active N
S adminemail contact@sondages.pro
S anonymized N
S format G
S savetimings N
S template skeleton_flatblue
S language fr
S additional_languages en
S datestamp N
S usecookie N
S allowregister N
S allowsave Y
S autonumber_start 0
S autoredirect N
S allowprev N
S printanswers N
S ipaddr N
S refurl N
S datecreated 2021-02-15
S publicstatistics N
S publicgraphs N
S listpublic N
S htmlemail Y
S tokenanswerspersistence N
S assessments N
S usecaptcha N
S usetokens N
S bounce_email noreply@sondages.pro
S tokenlength 15
S showxquestions Y
S showgroupinfo B
S shownoanswer Y
S showqnumcode X
S bounceprocessing N
S showwelcome Y
S showprogress Y
S navigationdelay 0
S nokeyboard N
S alloweditaftercompletion N
S sendconfirmation Y
S questionindex 0
SL surveyls_title test broken multilingual broken TSV fr
SL surveyls_email_invite_subj Invitation à participer à un questionnaire fr
SL surveyls_email_invite "Cher(e) {FIRSTNAME},<br /> <br /> Vous avez été invité(e) à participer à un questionnaire.<br /> <br /> Celui-ci est intitulé :<br /> ""{SURVEYNAME}""<br /> <br /> ""{SURVEYDESCRIPTION}""<br /> <br /> Pour participer, veuillez cliquer sur le lien ci-dessous.<br /> <br /> Cordialement,<br /> <br /> {ADMINNAME} ({ADMINEMAIL})<br /> <br /> ----------------------------------------------<br /> Cliquez ici pour remplir ce questionnaire :<br /> {SURVEYURL}<br /> <br /> Si vous ne souhaitez pas participer à ce questionnaire et ne souhaitez plus recevoir aucune invitation, veuillez cliquer sur le lien suivant :<br /> {OPTOUTURL}<br /> <br /> Si vous êtes sur liste noire mais que vous voulez participer à ce questionnaire et recevoir les invitations, merci de cliquer sur le lien suivant :<br /> {OPTINURL}" fr
SL surveyls_email_remind_subj Rappel pour participer à un questionnaire fr
SL surveyls_email_remind "Cher(e) {FIRSTNAME},<br /> <br /> Vous avez été invité(e) à participer à un questionnaire récemment.<br /> <br /> Nous avons pris en compte que vous n'avez pas encore complété le questionnaire, et nous vous rappelons que celui-ci est toujours disponible si vous souhaitez participer.<br /> <br /> Le questionnaire est intitulé :<br /> ""{SURVEYNAME}""<br /> <br /> ""{SURVEYDESCRIPTION}""<br /> <br /> Pour participer, veuillez cliquer sur le lien ci-dessous.<br /> <br /> Cordialement,<br /> <br /> {ADMINNAME} ({ADMINEMAIL})<br /> <br /> ----------------------------------------------<br /> Cliquez ici pour faire le questionnaire:<br /> {SURVEYURL}<br /> <br /> Si vous ne souhaitez pas participer à ce questionnaire et ne souhaitez plus recevoir aucune invitation, veuillez cliquer sur le lien suivant :<br /> {OPTOUTURL}" fr
SL surveyls_email_register_subj Confirmation d'enregistrement au questionnaire fr
SL surveyls_email_register Bonjour {FIRSTNAME},<br /> <br /> Vous (ou quelqu’un utilisant votre adresse électronique) vous êtes enregistré pour participer à un questionnaire en ligne intitulé {SURVEYNAME}.<br /> <br /> Pour compléter ce questionnaire, cliquez sur le lien suivant :<br /> {SURVEYURL}<br /> <br /> Si vous avez des questions à propos de ce questionnaire, ou si vous ne vous êtes pas enregistré pour participer à celui-ci et croyez que ce courriel est une erreur, veuillez contacter {ADMINNAME} à l’adresse {ADMINEMAIL} fr
SL surveyls_email_confirm_subj Confirmation de votre participation à notre questionnaire fr
SL surveyls_email_confirm Bonjour {FIRSTNAME},<br /> <br /> Ce courriel vous confirme que vous avez complété le questionnaire intitulé {SURVEYNAME} et que votre réponse a été enregistrée. Merci pour votre participation.<br /> <br /> Si vous avez des questions à propos de ce courriel, veuillez contacter {ADMINNAME} à l’adresse {ADMINEMAIL}.<br /> <br /> Cordialement,<br /> <br /> {ADMINNAME} fr
SL surveyls_dateformat 9 fr
SL surveyls_numberformat 0 fr
SL email_admin_notification_subj Soumission de réponse pour le questionnaire {SURVEYNAME} fr
SL email_admin_notification Bonjour,<br /> <br /> Une nouvelle réponse a été soumise pour votre questionnaire '{SURVEYNAME}'.<br /> <br /> Cliquez sur le lien suivant pour recharger votre questionnaire :<br /> {RELOADURL}<br /> <br /> Cliquez sur le lien suivant pour voir la réponse :<br /> {VIEWRESPONSEURL}<br /> <br /> Cliquez sur le lien suivant pour éditer la réponse :<br /> {EDITRESPONSEURL}<br /> <br /> Visualisez les statistiques en cliquant ici :<br /> {STATISTICSURL}<br /> <br /> les réponses suivantes ont été données par le participant :<br /> {ANSWERTABLE} fr
SL email_admin_responses_subj Soumission de réponse pour le questionnaire {SURVEYNAME} avec résultats fr
SL email_admin_responses Bonjour,<br /> <br /> Une nouvelle réponse a été soumise pour votre questionnaire '{SURVEYNAME}'.<br /> <br /> Cliquez sur le lien suivant pour recharger votre questionnaire :<br /> {RELOADURL}<br /> <br /> Cliquez sur le lien suivant pour voir la réponse :<br /> {VIEWRESPONSEURL}<br /> <br /> Cliquez sur le lien suivant pour éditer la réponse individuelle :<br /> {EDITRESPONSEURL}<br /> <br /> Visualisez les statistiques en cliquant ici :<br /> {STATISTICSURL}<br /> <br /> <br /> les réponses suivantes ont été données par le participant :<br /> {ANSWERTABLE} fr
G G0 Group 1 fr
Q T Q01 1 A questioin fr N 1 1 1
G G0 Group 1 en
Q T Q01 1 A questioin en N 1 1 1
500 Internal Server Error-NODEBUG.html (15,524 bytes)
<!DOCTYPE html>
<html lang="en" dir="ltr" class="en dir-ltr no-js " >
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="generator" content="LimeSurvey http://www.limesurvey.org" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/40056400/jquery-ui.structure.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/6f19d8dc/css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/3014e374/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/3014e374/yiistrap.min.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/49e481b3/css/bootstrap-switch.min.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/186e8492/css/select2.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/186e8492/css/select2-bootstrap.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/7f883c62/css/bootstrap-datetimepicker.min.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/549cc557/roboto.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/549cc557/icomoon.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/77ad0d72/build/lstutorial.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/4008374c/build/adminbasics.min.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/dd547963/build.min/css/adminsidepanel.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/daa21e56/css/lime-admin-colors.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/daa21e56/css/statistics.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/daa21e56/css/own-fix.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/3b05e9d6/sendMailAjax.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/6de89e9d/survey.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/d05163/css/custom.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/166f130a/css/minimal.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/166f130a/css/skelvanilla.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/166f130a/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="/3LTS/tmp/assets/166f130a/css/theme.css" />
<script type='text/javascript'>window.debugState = {frontend : (0 === 1), backend : (0 === 1)};</script><script type="text/javascript" src="/3LTS/tmp/assets/1ae41d45/jquery-3.5.1.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/1ae41d45/jquery-migrate-3.3.0.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/40056400/jquery-ui.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/4008374c/build/adminbasics.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/dd547963/build.min/js/adminsidepanel.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/a3bd546f/js.cookie.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/3014e374/bootstrap.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/3014e374/plugins/bootstrapconfirm/bootstrapconfirm.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/4b2ea31b/moment-with-locales.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/186e8492/js/select2.full.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/d0178430/build/lslog.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/66935094/min/pjax.combined.min.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/6e2d185e/ckeditor.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/6e2d185e/config.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/206c4c6e/ckeditoradditions.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/daa21e56/scripts/adapt.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/3b05e9d6/sendMailAjax.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/6de89e9d/survey.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/8660ce9d/template-core.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/66935094/pjax.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/d05163/scripts/custom.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/166f130a/scripts/aria-live.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/166f130a/scripts/theme-vanilla.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/166f130a/scripts/skelvanilla.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/166f130a/scripts/theme.js" class="headScriptTag"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/6f6782f/em_javascript.js" class="headScriptTag"></script>
<script type="text/javascript">
/*<![CDATA[*/
LS.globalUserId = "1";
LSvar= LSvar || {};
LSvar.bFixNumAuto = 0;
LSvar.bNumRealValue = 1;
/*]]>*/
</script>
<title>
500: Internal Server Error
</title>
<script type="text/javascript">
if(window.basicThemeScripts === undefined){
window.basicThemeScripts = new ThemeScripts();
}
</script>
<link rel="icon" type="image/png" sizes="32x32" href="/3LTS/tmp/assets/d9ca5eb7/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/3LTS/tmp/assets/d9ca5eb7/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/3LTS/tmp/assets/d9ca5eb7/favicon-16x16.png">
</head>
<body class="body-loading skelvanilla vanilla minimal bootstrap lang-en table-fixed-header " ><script type="text/javascript" src="/3LTS/tmp/assets/49e481b3/js/bootstrap-switch.min.js"></script>
<script type="text/javascript" src="/3LTS/tmp/assets/7f883c62/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
CKEDITOR.on('dialogDefinition', function (ev) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
// Remove upload tab from Link and Image dialog as it interferes with
// CSRF protection and upload can be reached using the browse server tab
if ( dialogName == 'link')
{
// remove Upload tab
dialogDefinition.removeContents( 'upload' );
}
if ( dialogName == 'image')
{
// remove Upload tab
dialogDefinition.removeContents( 'Upload' );
}
});
CKEDITOR.on('instanceReady', function(event) {
event.editor.dataProcessor.writer.setRules( 'br', { breakAfterOpen: 0 } );
});
var sReplacementFieldTitle = 'Champs texte réservés';
var sReplacementFieldButton = 'Insérez/modifiez un mot clé';
var editorwindowsHash = new Object();
function find_popup_editor(fieldname)
{
var window = null;
for (var key in editorwindowsHash)
{
if (key==fieldname && !editorwindowsHash[key].closed)
{
window = editorwindowsHash[key];
return window;
}
}
return null;
}
function start_popup_editor(fieldname, fieldtext, sid, gid, qid, fieldtype, action)
{
controlidena = fieldname + '_popupctrlena';
controliddis = fieldname + '_popupctrldis';
numwindows = editorwindowsHash.length;
activepopup = find_popup_editor(fieldname);
if (activepopup == null)
{
document.getElementsByName(fieldname)[0].readOnly=true;
document.getElementById(controlidena).style.display='none';
document.getElementById(controliddis).style.display='';
popup = window.open('/3LTS/index.php?r=admin/htmleditor_pop/sa/index/name/'+fieldname+'/text/'+fieldtext+'/type/'+fieldtype+'/action/'+action+'/sid/'+sid+'/gid/'+gid+'/qid/'+qid+'/lang/fr','', 'location=no, status=yes, scrollbars=auto, menubar=no, resizable=yes, width=690, height=500');
editorwindowsHash[fieldname] = popup;
}
else
{
activepopup.focus();
}
}
function updateCKeditor(fieldname,value)
{
var mypopup= editorwindowsHash[fieldname];
if (mypopup)
{
var oMyEditor = mypopup.CKEDITOR.instances['MyTextarea'];
if (oMyEditor) {oMyEditor.setData(value);}
mypopup.focus();
}
else
{
var oMyEditor = CKEDITOR.instances[fieldname];
oMyEditor.setData(value);
}
}
var jsonUrl = '';
var sAction = '';
var sParameter = '';
var sTargetQuestion = '';
var sNoParametersDefined = '';
var sAdminEmailAddressNeeded = 'Si vous utilisez des codes d’invitation ou si vous souhaitez envoyer des courriels de notifications, vous devez renseigner le courriel de l’administrateur.'
var sURLParameters = '';
var sAddParam = '';
var LEMmode='survey';
var LEMgseq='';
ExprMgr_process_relevance_and_tailoring = function(evt_type,sgqa,type){
if (typeof LEM_initialized == 'undefined') {
LEM_initialized=true;
LEMsetTabIndexes();
}
if (evt_type == 'onchange' && (typeof last_sgqa !== 'undefined' && sgqa==last_sgqa) && (typeof last_evt_type !== 'undefined' && last_evt_type == 'TAB' && type != 'checkbox')) {
last_evt_type='onchange';
last_sgqa=sgqa;
return;
}
last_evt_type = evt_type;
last_sgqa=sgqa;
relChange4307=false;
relChangeG0=false;
}
/*]]>*/
</script>
<div id="dynamicReloadContainer">
<!-- Bootstrap Navigation Bar -->
<header class=" navbar navbar-default navbar-static-top hidden-print" role="banner" >
<div class="container-fluid" role="navigation">
<div class=" navbar-header " >
<button type="button" class=" navbar-toggle collapsed " data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar" >
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<h1 class=" navbar-brand " >
500: Internal Server Error
</h1>
</div>
<div id="navbar" class=" collapse navbar-collapse " >
<ul class=" nav navbar-nav navbar-action-link navbar-right" >
</ul>
</div>
</div>
</header>
<!-- Outer Frame Container -->
<main class=" outerframe container " id="outerframeContainer" >
<div class="well">
<h1 class="text-danger">500: Internal Server Error</h1>
<div class="h2" class="text-danger">Call to a member function getAttributes() on null</h2>
<div>
An internal error occurred while the Web server was processing your request.
</div>
<p class="small text-right">
Please contact Sondages Pro to report this problem.
</p>
</div>
</main>
<!-- Bootstrap Modal Alert -->
<div id="bootstrap-alert-box-modal" class=" modal fade " >
<div class=" modal-dialog " >
<div class=" modal-content " >
<div class=" modal-header " style="min-height:40px;" >
<button type="button" data-dismiss="modal" aria-hidden="true" aria-label="Close" class=" close " ><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<div class=" modal-title h4 " > </div>
</div>
<div class=" modal-body " >
</div>
<div class=" modal-footer " >
<a href="#" data-dismiss="modal" class=" btn btn-default ">Close</a>
</div>
</div>
</div>
</div>
<!-- <footer class="navbar-default"></footer> -->
</div>
<div id="ajax-loading" aria-hidden="true"><i class="loader fa fa-circle-o-notch fa-spin fa-3x fa-fw text-muted"></i></div>
<script>
if (!window.jQuery) {
window.onload = function() {
body = document.getElementsByTagName('body')[0];
body.className = body.className.replace(/\body-loading\b/,'body-loaded');
};
}
</script>
<script>
if(window.basicThemeScripts === undefined){
window.basicThemeScripts = new ThemeScripts();
}
basicThemeScripts.initGlobal();
window.basicThemeScripts.init();
window.TemplateAccessible.init({"dynamicValidity":false});
window.skelVanilla.init({"bodyLoaded":true,"removeBack":false});
</script>
<script type="text/javascript" src="/3LTS/tmp/assets/77ad0d72/build/lstutorial.min.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
jQuery('body').popover({'selector':'a\x5Brel\x3Dpopover\x5D'});
jQuery('body').tooltip({'selector':'a\x5Brel\x3Dtooltip\x5D'});
try{
triggerEmClassChange();
} catch(e) {
console.ls.warn('triggerEmClassChange could not be run. Is survey.js correctly loaded?');
}
triggerEmRelevance();
jQuery(document).off('pjax:scriptcomplete.mainBottom').on('ready pjax:scriptcomplete.mainBottom', function() {
activateActionLink();
activateConfirmButton();
basicThemeScripts.initTopMenuLanguageChanger('.ls-language-link ', 'form#limesurvey');
updateMandatoryErrorClass();
});
/*]]>*/
</script>
</body>
</html>
Error--DEBUG.html (19,785 bytes)
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error</title>
<style type="text/css">
/*<![CDATA[*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}
body{line-height:1;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:none;}
:focus{outline:0;}
ins{text-decoration:none;}
del{text-decoration:line-through;}
table{border-collapse:collapse;border-spacing:0;}
body {
font: normal 9pt "Verdana";
color: #000;
background: #fff;
}
h1 {
font: normal 18pt "Verdana";
color: #f00;
margin-bottom: .5em;
}
h2 {
font: normal 14pt "Verdana";
color: #800000;
margin-bottom: .5em;
}
h3 {
font: bold 11pt "Verdana";
}
pre {
font: normal 11pt Menlo, Consolas, "Lucida Console", Monospace;
}
pre span.error {
display: block;
background: #fce3e3;
}
pre span.ln {
color: #999;
padding-right: 0.5em;
border-right: 1px solid #ccc;
}
pre span.error-ln {
font-weight: bold;
}
.container {
margin: 1em 4em;
}
.version {
color: gray;
font-size: 8pt;
border-top: 1px solid #aaa;
padding-top: 1em;
margin-bottom: 1em;
}
.message {
color: #000;
padding: 1em;
font-size: 11pt;
background: #f3f3f3;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
margin-bottom: 1em;
line-height: 160%;
}
.source {
margin-bottom: 1em;
}
.code pre {
background-color: #ffe;
margin: 0.5em 0;
padding: 0.5em;
line-height: 125%;
border: 1px solid #eee;
}
.source .file {
margin-bottom: 1em;
font-weight: bold;
}
.traces {
margin: 2em 0;
}
.trace {
margin: 0.5em 0;
padding: 0.5em;
}
.trace.app {
border: 1px dashed #c00;
}
.trace .number {
text-align: right;
width: 2em;
padding: 0.5em;
}
.trace .content {
padding: 0.5em;
}
.trace .plus,
.trace .minus {
display:inline;
vertical-align:middle;
text-align:center;
border:1px solid #000;
color:#000;
font-size:10px;
line-height:10px;
margin:0;
padding:0 1px;
width:10px;
height:10px;
}
.trace.collapsed .minus,
.trace.expanded .plus,
.trace.collapsed pre {
display: none;
}
.trace-file {
cursor: pointer;
padding: 0.2em;
}
.trace-file:hover {
background: #f0ffff;
}
/*]]>*/
</style>
</head>
<body>
<div class="container">
<h1>Error</h1>
<p class="message">
Call to a member function getAttributes() on null </p>
<div class="source">
<p class="file">/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/admin/surveyadmin.php(1734)</p>
<div class="code"><pre><span class="ln">1722</span> Yii::app()->loadHelper("admin/htmleditor");
<span class="ln">1723</span> $aData = $aTabTitles = $aTabContents = array();
<span class="ln">1724</span>
<span class="ln">1725</span> $aData['scripts'] = PrepareEditorScript(false, $this->getController());
<span class="ln">1726</span> $aLanguageData = [];
<span class="ln">1727</span> if ($survey->sid) {
<span class="ln">1728</span> foreach ($survey->allLanguages as $i => $sLang) {
<span class="ln">1729</span> $aLanguageData = $this->_getGeneralTemplateData($survey->sid);
<span class="ln">1730</span> // this one is created to get the right default texts fo each language
<span class="ln">1731</span> Yii::app()->loadHelper('database');
<span class="ln">1732</span> Yii::app()->loadHelper('surveytranslator');
<span class="ln">1733</span>
<span class="error"><span class="ln error-ln">1734</span> $aSurveyLanguageSettings = SurveyLanguageSetting::model()->findByPk(array('surveyls_survey_id' => $survey->sid, 'surveyls_language' => $sLang))->getAttributes();
</span><span class="ln">1735</span>
<span class="ln">1736</span> $aTabTitles[$sLang] = getLanguageNameFromCode($aSurveyLanguageSettings['surveyls_language'], false);
<span class="ln">1737</span>
<span class="ln">1738</span> if ($aSurveyLanguageSettings['surveyls_language'] == $survey->language) {
<span class="ln">1739</span> $aTabTitles[$sLang] .= ' ('.gT("Base language").')';
<span class="ln">1740</span> }
<span class="ln">1741</span>
<span class="ln">1742</span> $aLanguageData['aSurveyLanguageSettings'] = $aSurveyLanguageSettings;
<span class="ln">1743</span> $aLanguageData['action'] = "surveygeneralsettings";
<span class="ln">1744</span> $aLanguageData['i'] = $i;
<span class="ln">1745</span> $aLanguageData['dateformatdetails'] = getDateFormatData(Yii::app()->session['dateformat']);
<span class="ln">1746</span> $aLanguageData['oSurvey'] = $survey;
</pre></div> </div>
<div class="traces">
<h2>Stack Trace</h2>
<table style="width:100%;">
<tr class="trace app expanded">
<td class="number">
#0 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/admin/surveyadmin.php(1049): <strong>SurveyAdmin</strong>-><strong>_getTextEditData</strong>(Survey) </div>
<div class="code"><pre><span class="ln">1044</span> }
<span class="ln">1045</span>
<span class="ln">1046</span> $templateData = is_array($menuEntry->data) ? $menuEntry->data : [];
<span class="ln">1047</span>
<span class="ln">1048</span> if (!empty($menuEntry->getdatamethod)) {
<span class="error"><span class="ln error-ln">1049</span> $templateData = array_merge($templateData, call_user_func_array(array($this, $menuEntry->getdatamethod), array('survey'=>$survey)));
</span><span class="ln">1050</span> }
<span class="ln">1051</span>
<span class="ln">1052</span> $templateData = array_merge($this->_getGeneralTemplateData($iSurveyID), $templateData);
<span class="ln">1053</span> $this->_registerScriptFiles();
<span class="ln">1054</span>
</pre></div> </td>
</tr>
<tr class="trace core collapsed">
<td class="number">
#1 </td>
<td class="content">
<div class="trace-file">
unknown(0): <strong>SurveyAdmin</strong>-><strong>rendersidemenulink</strong>(777682, "surveytexts") </div>
</td>
</tr>
<tr class="trace core collapsed">
<td class="number">
#2 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/framework/web/actions/CAction.php(109): <strong>ReflectionMethod</strong>-><strong>invokeArgs</strong>(SurveyAdmin, array("777682", "surveytexts")) </div>
<div class="code"><pre><span class="ln">104</span> elseif($param->isDefaultValueAvailable())
<span class="ln">105</span> $ps[]=$param->getDefaultValue();
<span class="ln">106</span> else
<span class="ln">107</span> return false;
<span class="ln">108</span> }
<span class="error"><span class="ln error-ln">109</span> $method->invokeArgs($object,$ps);
</span><span class="ln">110</span> return true;
<span class="ln">111</span> }
<span class="ln">112</span> }
</pre></div> </td>
</tr>
<tr class="trace app expanded">
<td class="number">
#3 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/application/core/Survey_Common_Action.php(83): <strong>CAction</strong>-><strong>runWithParamsInternal</strong>(SurveyAdmin, ReflectionMethod, array("r" => "admin/survey/sa/rendersidemenulink", "subaction" => "surveytexts", "surveyid" => "777682", 1613377160221 => "", ...)) </div>
<div class="code"><pre><span class="ln">78</span> $oMethod = new ReflectionMethod($this, $sDefault);
<span class="ln">79</span> }
<span class="ln">80</span>
<span class="ln">81</span> // We're all good to go, let's execute it
<span class="ln">82</span> // runWithParamsInternal would automatically get the parameters of the method and populate them as required with the params
<span class="error"><span class="ln error-ln">83</span> return parent::runWithParamsInternal($this, $oMethod, $params);
</span><span class="ln">84</span> }
<span class="ln">85</span>
<span class="ln">86</span> /**
<span class="ln">87</span> * Some functions have different parameters, which are just an alias of the
<span class="ln">88</span> * usual parameters we're getting in the url. This function just populates
</pre></div> </td>
</tr>
<tr class="trace core collapsed">
<td class="number">
#4 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(308): <strong>Survey_Common_Action</strong>-><strong>runWithParams</strong>(array("r" => "admin/survey/sa/rendersidemenulink", "subaction" => "surveytexts", "surveyid" => "777682", 1613377160221 => "", ...)) </div>
<div class="code"><pre><span class="ln">303</span> {
<span class="ln">304</span> $priorAction=$this->_action;
<span class="ln">305</span> $this->_action=$action;
<span class="ln">306</span> if($this->beforeAction($action))
<span class="ln">307</span> {
<span class="error"><span class="ln error-ln">308</span> if($action->runWithParams($this->getActionParams())===false)
</span><span class="ln">309</span> $this->invalidActionParams($action);
<span class="ln">310</span> else
<span class="ln">311</span> $this->afterAction($action);
<span class="ln">312</span> }
<span class="ln">313</span> $this->_action=$priorAction;
</pre></div> </td>
</tr>
<tr class="trace core collapsed">
<td class="number">
#5 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(286): <strong>CController</strong>-><strong>runAction</strong>(SurveyAdmin) </div>
<div class="code"><pre><span class="ln">281</span> * @see runAction
<span class="ln">282</span> */
<span class="ln">283</span> public function runActionWithFilters($action,$filters)
<span class="ln">284</span> {
<span class="ln">285</span> if(empty($filters))
<span class="error"><span class="ln error-ln">286</span> $this->runAction($action);
</span><span class="ln">287</span> else
<span class="ln">288</span> {
<span class="ln">289</span> $priorAction=$this->_action;
<span class="ln">290</span> $this->_action=$action;
<span class="ln">291</span> CFilterChain::create($this,$action,$filters)->run();
</pre></div> </td>
</tr>
<tr class="trace core collapsed">
<td class="number">
#6 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(265): <strong>CController</strong>-><strong>runActionWithFilters</strong>(SurveyAdmin, array()) </div>
<div class="code"><pre><span class="ln">260</span> {
<span class="ln">261</span> if(($parent=$this->getModule())===null)
<span class="ln">262</span> $parent=Yii::app();
<span class="ln">263</span> if($parent->beforeControllerAction($this,$action))
<span class="ln">264</span> {
<span class="error"><span class="ln error-ln">265</span> $this->runActionWithFilters($action,$this->filters());
</span><span class="ln">266</span> $parent->afterControllerAction($this,$action);
<span class="ln">267</span> }
<span class="ln">268</span> }
<span class="ln">269</span> else
<span class="ln">270</span> $this->missingAction($actionID);
</pre></div> </td>
</tr>
<tr class="trace app expanded">
<td class="number">
#7 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/AdminController.php(165): <strong>CController</strong>-><strong>run</strong>("survey") </div>
<div class="code"><pre><span class="ln">160</span> $this->redirect(array('/admin/authentication/sa/login'));
<span class="ln">161</span> }
<span class="ln">162</span> }
<span class="ln">163</span> }
<span class="ln">164</span>
<span class="error"><span class="ln error-ln">165</span> return parent::run($action);
</span><span class="ln">166</span> }
<span class="ln">167</span>
<span class="ln">168</span> /**
<span class="ln">169</span> * Routes all the actions to their respective places
<span class="ln">170</span> *
</pre></div> </td>
</tr>
<tr class="trace core collapsed">
<td class="number">
#8 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(282): <strong>AdminController</strong>-><strong>run</strong>("survey") </div>
<div class="code"><pre><span class="ln">277</span> {
<span class="ln">278</span> list($controller,$actionID)=$ca;
<span class="ln">279</span> $oldController=$this->_controller;
<span class="ln">280</span> $this->_controller=$controller;
<span class="ln">281</span> $controller->init();
<span class="error"><span class="ln error-ln">282</span> $controller->run($actionID);
</span><span class="ln">283</span> $this->_controller=$oldController;
<span class="ln">284</span> }
<span class="ln">285</span> else
<span class="ln">286</span> throw new CHttpException(404,Yii::t('yii','Unable to resolve the request "{route}".',
<span class="ln">287</span> array('{route}'=>$route===''?$this->defaultController:$route)));
</pre></div> </td>
</tr>
<tr class="trace core collapsed">
<td class="number">
#9 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-><strong>runController</strong>("admin/survey/sa/rendersidemenulink") </div>
<div class="code"><pre><span class="ln">136</span> foreach(array_splice($this->catchAllRequest,1) as $name=>$value)
<span class="ln">137</span> $_GET[$name]=$value;
<span class="ln">138</span> }
<span class="ln">139</span> else
<span class="ln">140</span> $route=$this->getUrlManager()->parseUrl($this->getRequest());
<span class="error"><span class="ln error-ln">141</span> $this->runController($route);
</span><span class="ln">142</span> }
<span class="ln">143</span>
<span class="ln">144</span> /**
<span class="ln">145</span> * Registers the core application components.
<span class="ln">146</span> * This method overrides the parent implementation by registering additional core components.
</pre></div> </td>
</tr>
<tr class="trace core collapsed">
<td class="number">
#10 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/framework/base/CApplication.php(185): <strong>CWebApplication</strong>-><strong>processRequest</strong>() </div>
<div class="code"><pre><span class="ln">180</span> public function run()
<span class="ln">181</span> {
<span class="ln">182</span> if($this->hasEventHandler('onBeginRequest'))
<span class="ln">183</span> $this->onBeginRequest(new CEvent($this));
<span class="ln">184</span> register_shutdown_function(array($this,'end'),0,false);
<span class="error"><span class="ln error-ln">185</span> $this->processRequest();
</span><span class="ln">186</span> if($this->hasEventHandler('onEndRequest'))
<span class="ln">187</span> $this->onEndRequest(new CEvent($this));
<span class="ln">188</span> }
<span class="ln">189</span>
<span class="ln">190</span> /**
</pre></div> </td>
</tr>
<tr class="trace app collapsed">
<td class="number">
#11 </td>
<td class="content">
<div class="trace-file">
<div class="plus">+</div>
<div class="minus">–</div>
/mnt/data/shnoulle/nginx/www/3LTS/index.php(194): <strong>CApplication</strong>-><strong>run</strong>() </div>
<div class="code"><pre><span class="ln">189</span> require_once APPPATH . 'core/LSYii_Application' . EXT;
<span class="ln">190</span>
<span class="ln">191</span> $config = require_once(APPPATH . 'config/internal' . EXT);
<span class="ln">192</span>
<span class="ln">193</span> Yii::$enableIncludePath = false;
<span class="error"><span class="ln error-ln">194</span> Yii::createApplication('LSYii_Application', $config)->run();
</span><span class="ln">195</span>
<span class="ln">196</span> /* End of file index.php */
<span class="ln">197</span> /* Location: ./index.php */
</pre></div> </td>
</tr>
</table>
</div>
<div class="version">
2021-02-15 08:30:53 nginx/1.18.0 <a href="http://www.yiiframework.com/">Yii Framework</a>/1.1.22-dev </div>
</div>
<script type="text/javascript">
/*<![CDATA[*/
var traceReg = new RegExp("(^|\\s)trace-file(\\s|$)");
var collapsedReg = new RegExp("(^|\\s)collapsed(\\s|$)");
var e = document.getElementsByTagName("div");
for(var j=0,len=e.length;j<len;j++){
if(traceReg.test(e[j].className)){
e[j].onclick = function(){
var trace = this.parentNode.parentNode;
if(collapsedReg.test(trace.className))
trace.className = trace.className.replace("collapsed", "expanded");
else
trace.className = trace.className.replace("expanded", "collapsed");
}
}
}
/*]]>*/
</script>
</body>
</html>
| ||||
| Bug heat | 2 | ||||
| Complete LimeSurvey version number (& build) | 3.25.12 git | ||||
| I will donate to the project if issue is resolved | No | ||||
| Browser | not relevant ? | ||||
| Database type & version | not relevant (broke with mariadb and mssql) | ||||
| Server OS (if known) | not relevant | ||||
| Webserver software & version (if known) | not relevant | ||||
| PHP Version | not relevant | ||||
| related to | 17094 | new | Feature requests | checkintegrity (and fix) by survey | |
| related to | 17139 | closed | c_schmitz | Bug reports | Invalid url in Check integrity |
| related to | 16908 | in code review | gabrieljenik | Bug reports | Importing Question with multiple languages can left grabage on the DB |
|
Another survey broken after import, Seems to work but LimeSurvey found issue about order of subquestions : maybe add it in Survey fixer ? |
|
|
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=31488 |
|
|
LimeSurvey: master 687a20de 2021-03-11 19:00 Committer: GitHub Details Diff |
Fixed issue 17093: Unable to fix invalid survey after import bad TSV (#1774) * Fixed issue 17093: Unable to fix invalid survey after import bad TSV Dev: Start a Survey::model()->fixSurveyConsistency() Dev: can be improved * Dev: move to Services * Dev: phpdoc oups |
Affected Issues 17093 |
|
| mod - application/helpers/admin/import_helper.php | Diff File | ||
| mod - application/models/Survey.php | Diff File | ||
| add - application/models/services/SurveyIntegrity.php | Diff File | ||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2021-02-15 09:47 | DenisChenu | New Issue | |
| 2021-02-15 09:47 | DenisChenu | File Added: limesurvey_survey_628678.tsv | |
| 2021-02-15 09:47 | DenisChenu | File Added: 500 Internal Server Error-NODEBUG.html | |
| 2021-02-15 09:47 | DenisChenu | File Added: Error--DEBUG.html | |
| 2021-02-15 10:43 | DenisChenu | Relationship added | related to 17094 |
| 2021-02-15 10:48 | DenisChenu | Note Added: 62237 | |
| 2021-02-27 11:36 | DenisChenu | Relationship added | related to 17139 |
| 2021-02-27 11:38 | DenisChenu | Note Added: 62554 | |
| 2021-02-27 11:38 | DenisChenu | Note Added: 62555 | |
| 2021-02-27 11:38 | DenisChenu | File Added: limesurvey_survey_187194.lss | |
| 2021-03-04 16:53 | DenisChenu | Status | new => ready for testing |
| 2021-03-04 16:53 | DenisChenu | Note Added: 62720 | |
| 2021-03-11 08:51 | DenisChenu | Relationship added | related to 16908 |
| 2021-03-11 18:00 | ollehar | Assigned To | => ollehar |
| 2021-03-11 18:00 | ollehar | Status | ready for testing => resolved |
| 2021-03-11 18:00 | ollehar | Resolution | open => fixed |
| 2021-03-22 16:09 | c_schmitz | Status | resolved => closed |
| 2021-04-06 14:43 | DenisChenu | Changeset attached | => LimeSurvey master 687a20de |
| 2021-04-06 14:43 | DenisChenu | Note Added: 63822 | |
| 2021-04-06 14:43 | DenisChenu | Assigned To | ollehar => DenisChenu |