Relationship Graph

Relationship Graph
related to related to child of child of duplicate of duplicate of

View Issue Details

IDProjectCategoryView StatusLast Update
17093Bug reportsImport/Exportpublic2021-04-06 14:43
ReporterDenisChenu Assigned ToDenisChenu  
PrioritynoneSeverityminor 
Status closedResolutionfixed 
Product Version3.25.12 
Summary17093: Unable to fix invalid survey after import bad TSV
DescriptionWhen import a TSV without all language on SL : unable to fix it.
Steps To ReproduceImport included survey
Show success
Test both language : seem to work
Try to edit Survey text (welcome title) : nothing shown
Additional InformationSee HTML for the issue : en is in additional_language but not in SL.
I think we use fixLanguageConsistency after any import, seems false … this can fix a lot of broken import.

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.
TagsNo tags attached.
Complete LimeSurvey version number (& build)3.25.12 git
I will donate to the project if issue is resolvedNo
Browsernot relevant ?
Database & DB-Versionnot relevant (broke with mariadb and mssql)
Server OS (if known)not relevant
Webserver software & version (if known)not relevant
PHP Versionnot relevant

Relationships

related to 17094 new Feature requests checkintegrity (and fix) by survey 
related to 17139 closedc_schmitz Bug reports Invalid url in Check integrity 
related to 16908 acknowledged Bug reports Importing Question with multiple languages can left grabage on the DB 

Activities

DenisChenu

DenisChenu

2021-02-15 09:47

developer  

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																	
limesurvey_survey_628678.tsv (15,426 bytes)   
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">&times;</span><span class="sr-only">Close</span></button>
                <div class=" modal-title h4 " >&nbsp;</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()-&gt;loadHelper(&quot;admin/htmleditor&quot;);
<span class="ln">1723</span>         $aData = $aTabTitles = $aTabContents = array();
<span class="ln">1724</span> 
<span class="ln">1725</span>         $aData[&#039;scripts&#039;] = PrepareEditorScript(false, $this-&gt;getController());
<span class="ln">1726</span>         $aLanguageData = [];
<span class="ln">1727</span>         if ($survey-&gt;sid) {
<span class="ln">1728</span>             foreach ($survey-&gt;allLanguages as $i =&gt; $sLang) {
<span class="ln">1729</span>                 $aLanguageData = $this-&gt;_getGeneralTemplateData($survey-&gt;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()-&gt;loadHelper(&#039;database&#039;);
<span class="ln">1732</span>                 Yii::app()-&gt;loadHelper(&#039;surveytranslator&#039;);
<span class="ln">1733</span> 
<span class="error"><span class="ln error-ln">1734</span>                 $aSurveyLanguageSettings = SurveyLanguageSetting::model()-&gt;findByPk(array(&#039;surveyls_survey_id&#039; =&gt; $survey-&gt;sid, &#039;surveyls_language&#039; =&gt; $sLang))-&gt;getAttributes();
</span><span class="ln">1735</span> 
<span class="ln">1736</span>                 $aTabTitles[$sLang] = getLanguageNameFromCode($aSurveyLanguageSettings[&#039;surveyls_language&#039;], false);
<span class="ln">1737</span> 
<span class="ln">1738</span>                 if ($aSurveyLanguageSettings[&#039;surveyls_language&#039;] == $survey-&gt;language) {
<span class="ln">1739</span>                     $aTabTitles[$sLang] .= &#039; (&#039;.gT(&quot;Base language&quot;).&#039;)&#039;;
<span class="ln">1740</span>                 }
<span class="ln">1741</span> 
<span class="ln">1742</span>                 $aLanguageData[&#039;aSurveyLanguageSettings&#039;] = $aSurveyLanguageSettings;
<span class="ln">1743</span>                 $aLanguageData[&#039;action&#039;] = &quot;surveygeneralsettings&quot;;
<span class="ln">1744</span>                 $aLanguageData[&#039;i&#039;] = $i;
<span class="ln">1745</span>                 $aLanguageData[&#039;dateformatdetails&#039;] = getDateFormatData(Yii::app()-&gt;session[&#039;dateformat&#039;]);
<span class="ln">1746</span>                 $aLanguageData[&#039;oSurvey&#039;] = $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>
										&nbsp;/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-&gt;data) ? $menuEntry-&gt;data : [];
<span class="ln">1047</span> 
<span class="ln">1048</span>         if (!empty($menuEntry-&gt;getdatamethod)) {
<span class="error"><span class="ln error-ln">1049</span>             $templateData = array_merge($templateData, call_user_func_array(array($this, $menuEntry-&gt;getdatamethod), array(&#039;survey&#039;=&gt;$survey)));
</span><span class="ln">1050</span>         }
<span class="ln">1051</span> 
<span class="ln">1052</span>         $templateData = array_merge($this-&gt;_getGeneralTemplateData($iSurveyID), $templateData);
<span class="ln">1053</span>         $this-&gt;_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">
										&nbsp;unknown(0): <strong>SurveyAdmin</strong>-><strong>rendersidemenulink</strong>(777682, &quot;surveytexts&quot;)				</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>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/actions/CAction.php(109): <strong>ReflectionMethod</strong>-><strong>invokeArgs</strong>(SurveyAdmin, array(&quot;777682&quot;, &quot;surveytexts&quot;))				</div>

				<div class="code"><pre><span class="ln">104</span>             elseif($param-&gt;isDefaultValueAvailable())
<span class="ln">105</span>                 $ps[]=$param-&gt;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-&gt;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>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/core/Survey_Common_Action.php(83): <strong>CAction</strong>-><strong>runWithParamsInternal</strong>(SurveyAdmin, ReflectionMethod, array(&quot;r&quot; =&gt; &quot;admin/survey/sa/rendersidemenulink&quot;, &quot;subaction&quot; =&gt; &quot;surveytexts&quot;, &quot;surveyid&quot; =&gt; &quot;777682&quot;, 1613377160221 =&gt; &quot;&quot;, ...))				</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&#039;re all good to go, let&#039;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&#039;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>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CController.php(308): <strong>Survey_Common_Action</strong>-><strong>runWithParams</strong>(array(&quot;r&quot; =&gt; &quot;admin/survey/sa/rendersidemenulink&quot;, &quot;subaction&quot; =&gt; &quot;surveytexts&quot;, &quot;surveyid&quot; =&gt; &quot;777682&quot;, 1613377160221 =&gt; &quot;&quot;, ...))				</div>

				<div class="code"><pre><span class="ln">303</span>     {
<span class="ln">304</span>         $priorAction=$this-&gt;_action;
<span class="ln">305</span>         $this-&gt;_action=$action;
<span class="ln">306</span>         if($this-&gt;beforeAction($action))
<span class="ln">307</span>         {
<span class="error"><span class="ln error-ln">308</span>             if($action-&gt;runWithParams($this-&gt;getActionParams())===false)
</span><span class="ln">309</span>                 $this-&gt;invalidActionParams($action);
<span class="ln">310</span>             else
<span class="ln">311</span>                 $this-&gt;afterAction($action);
<span class="ln">312</span>         }
<span class="ln">313</span>         $this-&gt;_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>
										&nbsp;/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-&gt;runAction($action);
</span><span class="ln">287</span>         else
<span class="ln">288</span>         {
<span class="ln">289</span>             $priorAction=$this-&gt;_action;
<span class="ln">290</span>             $this-&gt;_action=$action;
<span class="ln">291</span>             CFilterChain::create($this,$action,$filters)-&gt;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>
										&nbsp;/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-&gt;getModule())===null)
<span class="ln">262</span>                 $parent=Yii::app();
<span class="ln">263</span>             if($parent-&gt;beforeControllerAction($this,$action))
<span class="ln">264</span>             {
<span class="error"><span class="ln error-ln">265</span>                 $this-&gt;runActionWithFilters($action,$this-&gt;filters());
</span><span class="ln">266</span>                 $parent-&gt;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-&gt;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>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/application/controllers/AdminController.php(165): <strong>CController</strong>-><strong>run</strong>(&quot;survey&quot;)				</div>

				<div class="code"><pre><span class="ln">160</span>                     $this-&gt;redirect(array(&#039;/admin/authentication/sa/login&#039;));
<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>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(282): <strong>AdminController</strong>-><strong>run</strong>(&quot;survey&quot;)				</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-&gt;_controller;
<span class="ln">280</span>             $this-&gt;_controller=$controller;
<span class="ln">281</span>             $controller-&gt;init();
<span class="error"><span class="ln error-ln">282</span>             $controller-&gt;run($actionID);
</span><span class="ln">283</span>             $this-&gt;_controller=$oldController;
<span class="ln">284</span>         }
<span class="ln">285</span>         else
<span class="ln">286</span>             throw new CHttpException(404,Yii::t(&#039;yii&#039;,&#039;Unable to resolve the request &quot;{route}&quot;.&#039;,
<span class="ln">287</span>                 array(&#039;{route}&#039;=&gt;$route===&#039;&#039;?$this-&gt;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>
										&nbsp;/mnt/data/shnoulle/nginx/www/3LTS/framework/web/CWebApplication.php(141): <strong>CWebApplication</strong>-><strong>runController</strong>(&quot;admin/survey/sa/rendersidemenulink&quot;)				</div>

				<div class="code"><pre><span class="ln">136</span>             foreach(array_splice($this-&gt;catchAllRequest,1) as $name=&gt;$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-&gt;getUrlManager()-&gt;parseUrl($this-&gt;getRequest());
<span class="error"><span class="ln error-ln">141</span>         $this-&gt;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>
										&nbsp;/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-&gt;hasEventHandler(&#039;onBeginRequest&#039;))
<span class="ln">183</span>             $this-&gt;onBeginRequest(new CEvent($this));
<span class="ln">184</span>         register_shutdown_function(array($this,&#039;end&#039;),0,false);
<span class="error"><span class="ln error-ln">185</span>         $this-&gt;processRequest();
</span><span class="ln">186</span>         if($this-&gt;hasEventHandler(&#039;onEndRequest&#039;))
<span class="ln">187</span>             $this-&gt;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>
										&nbsp;/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 . &#039;core/LSYii_Application&#039; . EXT;
<span class="ln">190</span> 
<span class="ln">191</span> $config = require_once(APPPATH . &#039;config/internal&#039; . 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(&#039;LSYii_Application&#039;, $config)-&gt;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>
Error--DEBUG.html (19,785 bytes)   
DenisChenu

DenisChenu

2021-02-15 10:48

developer   ~62237

https://github.com/LimeSurvey/LimeSurvey/pull/1765
DenisChenu

DenisChenu

2021-02-27 11:38

developer   ~62554

Another survey broken after import,

Seems to work but LimeSurvey found issue about order of subquestions : maybe add it in Survey fixer ?
DenisChenu

DenisChenu

2021-02-27 11:38

developer   ~62555

DenisChenu

DenisChenu

2021-03-04 16:53

developer   ~62720

https://github.com/LimeSurvey/LimeSurvey/pull/1774
DenisChenu

DenisChenu

2021-04-06 14:43

developer   ~63822

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=31488

Related Changesets

LimeSurvey: master 687a20de

2021-03-11 18:00:04

DenisChenu


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

Issue History

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 => 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 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