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 |