language; App()->setLanguage('en'); $headerArray = ['menu_id','user_id','ordering','name','title','menu_title','menu_description','menu_icon','menu_icon_type','menu_class','menu_link','action','template','partial','classes','permission','permission_grade','data','getdatamethod','language','active','changed_at','changed_by','created_at','created_by', 'showincollapse']; $basicMenues = [ [1,null,1,'overview', gT('Survey overview','unescaped'),gT('Overview','unescaped'),gT('Open the general survey overview','unescaped'),'list','fontawesome','','admin/survey/sa/view','','','','','','','{"render": { "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [1,null,2,'generalsettings', gT('General survey settings','unescaped'),gT('General settings','unescaped'),gT('Open general survey settings','unescaped'),'gears','fontawesome','','','updatesurveylocalesettings_generalsettings','editLocalSettings_main_view','/admin/survey/subview/accordion/_generaloptions_panel','','surveysettings','read',null,'_generalTabEditSurvey','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [1,null,3,'surveytexts', gT('Survey text elements','unescaped'),gT('Text elements','unescaped'),gT('Survey text elements','unescaped'),'file-text-o','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/tab_edit_view','','surveylocale','read',null,'_getTextEditData','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [1,null,4,'datasecurity', gT('Data policy settings','unescaped'),gT('Data policy settings','unescaped'),gT('Edit data policy settings','unescaped'),'shield','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/tab_edit_view_datasecurity','','surveylocale','read',null,'_getDataSecurityEditData','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [1,null,5,'theme_options', gT('Theme options','unescaped'),gT('Theme options','unescaped'),gT('Edit theme options for this survey','unescaped'),'paint-brush','fontawesome','','admin/themeoptions/sa/updatesurvey','','','','','surveysettings','update','{"render": {"link": { "pjaxed": true, "data": {"surveyid": ["survey","sid"], "gsid":["survey","gsid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [1,null,6,'presentation', gT('Presentation & navigation settings','unescaped'),gT('Presentation','unescaped'),gT('Edit presentation and navigation settings','unescaped'),'eye-slash','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/accordion/_presentation_panel','','surveylocale','read',null,'_tabPresentationNavigation','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [1,null,7,'tokens', gT('Survey participant settings','unescaped'),gT('Participant settings','unescaped'),gT('Set additional options for survey participants','unescaped'),'users','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/accordion/_tokens_panel','','surveylocale','read',null,'_tabTokens','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [1,null,8,'notification', gT('Notification and data management settings','unescaped'),gT('Notifications & data','unescaped'),gT('Edit settings for notification and data management','unescaped'),'feed','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/accordion/_notification_panel','','surveylocale','read',null,'_tabNotificationDataManagement','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [1,null,9,'publication', gT('Publication & access control settings','unescaped'),gT('Publication & access','unescaped'),gT('Edit settings for publication and access control','unescaped'),'key','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/accordion/_publication_panel','','surveylocale','read',null,'_tabPublicationAccess','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [2,null,1,'listQuestions',gT('List questions','unescaped'),gT('List questions','unescaped'),gT('List questions','unescaped'),'list','fontawesome','','admin/survey/sa/listquestions','','','','','surveycontent','read','{"render": { "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [2,null,2,'listQuestionGroups',gT('List question groups','unescaped'),gT('List question groups','unescaped'),gT('List question groups','unescaped'),'th-list','fontawesome','','admin/survey/sa/listquestiongroups','','','','','surveycontent','read','{"render": { "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [2,null,3,'reorder',gT('Reorder questions/question groups','unescaped'),gT('Reorder questions/question groups','unescaped'),gT('Reorder questions/question groups','unescaped'),'icon-organize','iconclass','','admin/survey/sa/organize/','','','','','surveycontent','update','{"render": {"isActive": false, "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [2,null,4,'responses',gT('Responses','unescaped'),gT('Responses','unescaped'),gT('Responses','unescaped'),'icon-browse','iconclass','','admin/responses/sa/browse/','','','','','responses','read','{"render": {"isActive": true, "link": {"data": {"surveyid": ["survey", "sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [2,null,5,'participants', gT('Survey participants','unescaped'),gT('Survey participants','unescaped'),gT('Go to survey participant and token settings','unescaped'),'user','fontawesome','','admin/tokens/sa/index/','','','','','surveysettings','update','{"render": { "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [2,null,6,'statistics',gT('Statistics','unescaped'),gT('Statistics','unescaped'),gT('Statistics','unescaped'),'bar-chart','fontawesome','','admin/statistics/sa/index/','','','','','statistics','read','{"render": {"isActive": true, "link": {"data": {"surveyid": ["survey", "sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [2,null,7,'quotas', gT('Edit quotas','unescaped'),gT('Quotas','unescaped'),gT('Edit quotas for this survey.','unescaped'),'tasks','fontawesome','','admin/quotas/sa/index/','','','','','quotas','read','{"render": { "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [2,null,8,'assessments', gT('Edit assessments','unescaped'),gT('Assessments','unescaped'),gT('Edit and look at the assessements for this survey.','unescaped'),'comment-o','fontawesome','','admin/assessments/sa/index/','','','','','assessments','read','{"render": { "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [2,null,9,'surveypermissions',gT('Edit survey permissions','unescaped'),gT('Survey permissions','unescaped'),gT('Edit permissions for this survey','unescaped'),'lock','fontawesome','','admin/surveypermission/sa/view/','','','','','surveysecurity','read','{"render": { "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [2,null,10,'emailtemplates', gT('Email templates','unescaped'),gT('Email templates','unescaped'),gT('Edit the templates for invitation, reminder and registration emails','unescaped'),'envelope-square','fontawesome','','admin/emailtemplates/sa/index/','','','','','surveylocale','read','{"render": { "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [2,null,11,'panelintegration', gT('Edit survey panel integration','unescaped'),gT('Panel integration','unescaped'),gT('Define panel integrations for your survey','unescaped'),'link','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/accordion/_integration_panel','','surveylocale','read','{"render": {"link": { "pjaxed": false}}}','_tabPanelIntegration','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [2,null,12,'resources', gT('Add/edit resources (files/images) for this survey','unescaped'),gT('Resources','unescaped'),gT('Add/edit resources (files/images) for this survey','unescaped'),'file','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/accordion/_resources_panel','','surveylocale','read',null,'_tabResourceManagement','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [2,null,13,'plugins',gT('Simple plugin settings','unescaped'), gT('Simple plugins','unescaped'), gT('Edit simple plugin settings','unescaped'),'plug','fontawesome','','','updatesurveylocalesettings','editLocalSettings_main_view','/admin/survey/subview/accordion/_plugins_panel','','surveysettings','read','{"render": {"link": {"data": {"surveyid": ["survey","sid"]}}}}','_pluginTabSurvey','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0], [3,null,1,'activateSurvey',gT('Activate survey','unescaped'),gT('Activate survey','unescaped'),gT('Activate survey','unescaped'),'play','fontawesome','','admin/survey/sa/activate','','','','','surveyactivation','update','{"render": {"isActive": false, "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [3,null,2,'deactivateSurvey', gT('Stop this survey','unescaped'),gT('Stop this survey','unescaped'),gT('Stop this survey','unescaped'),'stop','fontawesome','','admin/survey/sa/deactivate','','','','','surveyactivation','update','{"render": {"isActive": true, "link": {"data": {"surveyid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [3,null,3,'testSurvey', gT('Go to survey','unescaped'),gT('Go to survey','unescaped'),gT('Go to survey','unescaped'),'cog','fontawesome','','survey/index/','','','','','','','{"render": {"link": {"external": true, "data": {"sid": ["survey","sid"], "newtest": "Y", "lang": ["survey","language"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [3,null,4,'surveyLogicFile',gT('Survey logic file','unescaped'),gT('Survey logic file','unescaped'),gT('Survey logic file','unescaped'),'sitemap','fontawesome','','admin/expressions/sa/survey_logic_file/','','','','','surveycontent','read','{"render": { "link": {"data": {"sid": ["survey","sid"]}}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], [3,null,5,'cpdb',gT('Central participant database','unescaped'),gT('Central participant database','unescaped'),gT('Central participant database','unescaped'),'users','fontawesome','','admin/participants/sa/displayParticipants','','','','','tokens','read','{"render": {"link": {}}}','','en-GB',1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1], ]; $returnArray = []; foreach($basicMenues as $basicMenu) { $returnArray[] = array_combine($headerArray, $basicMenu); } App()->setLanguage($sOldLanguage); return $returnArray; } public static function getTemplateDefaultTexts($mode, $language='en') { $sOldLanguage = App()->language; App()->setLanguage($language); $returnArray = array( 'admin_detailed_notification_subject'=>gT("Response submission for survey {SURVEYNAME} with results", $mode), 'admin_detailed_notification'=>gT("Hello,\n\nA new response was submitted for your survey '{SURVEYNAME}'.\n\nClick the following link to see the individual response:\n{VIEWRESPONSEURL}\n\nClick the following link to edit the individual response:\n{EDITRESPONSEURL}\n\nView statistics by clicking here:\n{STATISTICSURL}\n\n\nThe following answers were given by the participant:\n{ANSWERTABLE}", $mode), 'admin_detailed_notification_css'=>'', 'admin_notification_subject'=>gT("Response submission for survey {SURVEYNAME}", $mode), 'admin_notification'=>gT("Hello,\n\nA new response was submitted for your survey '{SURVEYNAME}'.\n\nClick the following link to see the individual response:\n{VIEWRESPONSEURL}\n\nClick the following link to edit the individual response:\n{EDITRESPONSEURL}\n\nView statistics by clicking here:\n{STATISTICSURL}", $mode), 'confirmation_subject'=>gT("Confirmation of your participation in our survey"), 'confirmation'=>gT("Dear {FIRSTNAME},\n\nthis email is to confirm that you have completed the survey titled {SURVEYNAME} and your response has been saved. Thank you for participating.\n\nIf you have any further questions about this email, please contact {ADMINNAME} on {ADMINEMAIL}.\n\nSincerely,\n\n{ADMINNAME}", $mode), 'invitation_subject'=>gT("Invitation to participate in a survey", $mode), 'invitation'=>gT("Dear {FIRSTNAME},\n\nyou have been invited to participate in a survey.\n\nThe survey is titled:\n\"{SURVEYNAME}\"\n\n\"{SURVEYDESCRIPTION}\"\n\nTo participate, please click on the link below.\n\nSincerely,\n\n{ADMINNAME} ({ADMINEMAIL})\n\n----------------------------------------------\nClick here to do the survey:\n{SURVEYURL}", $mode)."\n\n".gT("If you do not want to participate in this survey and don't want to receive any more invitations please click the following link:\n{OPTOUTURL}", $mode)."\n\n".gT("If you are blacklisted but want to participate in this survey and want to receive invitations please click the following link:\n{OPTINURL}", $mode), 'reminder_subject'=>gT("Reminder to participate in a survey", $mode), 'reminder'=>gT("Dear {FIRSTNAME},\n\nRecently we invited you to participate in a survey.\n\nWe note that you have not yet completed the survey, and wish to remind you that the survey is still available should you wish to take part.\n\nThe survey is titled:\n\"{SURVEYNAME}\"\n\n\"{SURVEYDESCRIPTION}\"\n\nTo participate, please click on the link below.\n\nSincerely,\n\n{ADMINNAME} ({ADMINEMAIL})\n\n----------------------------------------------\nClick here to do the survey:\n{SURVEYURL}", $mode)."\n\n".gT("If you do not want to participate in this survey and don't want to receive any more invitations please click the following link:\n{OPTOUTURL}", $mode), 'registration_subject'=>gT("Survey registration confirmation", $mode), 'registration'=>gT("Dear {FIRSTNAME},\n\nYou, or someone using your email address, have registered to participate in an online survey titled {SURVEYNAME}.\n\nTo complete this survey, click on the following URL:\n\n{SURVEYURL}\n\nIf you have any questions about this survey, or if you did not register to participate and believe this email is in error, please contact {ADMINNAME} at {ADMINEMAIL}.", $mode) ); App()->setLanguage($sOldLanguage); return $returnArray; } public static function getSurveyMenuData() { $headerArray = [ 'id', 'parent_id', 'survey_id', 'user_id', 'ordering', 'level', 'name', 'title', 'position', 'description', 'active', 'changed_at', 'changed_by', 'created_at', 'created_by', 'showincollapse' ]; $sOldLanguage = App()->language; App()->setLanguage('en'); $returnArray = []; $returnArray[] = array_combine($headerArray, [1,null,null,null,1,0,'settings',gT('Survey settings'),'side',gT('Survey settings'),1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1]); $returnArray[] = array_combine($headerArray, [2,null,null,null,2,0,'mainmenu',gT('Survey menu'),'side',gT('Main survey menu'),1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,1]); $returnArray[] = array_combine($headerArray, [3,null,null,null,3,0,'quickmenu',gT('Quick menu'),'collapsed',gT('Quick menu'),1, date('Y-m-d H:i:s'),0,date('Y-m-d H:i:s'),0,0]); App()->setLanguage($sOldLanguage); return $returnArray; } public static function getBoxesData() { $sOldLanguage = App()->language; App()->setLanguage('en'); $returnArray = []; $returnArray[] = ['position' => 1, 'url' => 'admin/survey/sa/newsurvey', 'title' => gT('Create survey'), 'ico' => 'icon-add', 'desc' => gT('Create a new survey'), 'page' => 'welcome', 'usergroup' => '-2']; $returnArray[] = ['position' => 2, 'url' => 'admin/survey/sa/listsurveys', 'title' => gT('List surveys'), 'ico' => 'icon-list', 'desc' => gT('List available surveys'), 'page' => 'welcome', 'usergroup' => '-1']; $returnArray[] = ['position' => 3, 'url' => 'admin/globalsettings', 'title' => gT('Global settings'), 'ico' => 'icon-settings', 'desc' => gT('Edit global settings'), 'page' => 'welcome', 'usergroup' => '-2']; $returnArray[] = ['position' => 4, 'url' => 'admin/update', 'title' => gT('ComfortUpdate'), 'ico' => 'icon-shield', 'desc' => gT('Stay safe and up to date'), 'page' => 'welcome', 'usergroup' => '-2']; $returnArray[] = ['position' => 5, 'url' => 'https://www.limesurvey.org/limestore', 'title' => 'LimeStore', 'ico' => 'fa fa-cart-plus', 'desc' => gT('LimeSurvey extension marketplace'), 'page' => 'welcome', 'usergroup' => '-2']; $returnArray[] = ['position' => 6, 'url' => 'admin/themeoptions', 'title' => gT('Themes'), 'ico' => 'icon-templates', 'desc' => gT('Themes'), 'page' => 'welcome', 'usergroup' => '-2']; App()->setLanguage($sOldLanguage); return $returnArray; } public static function getTemplateConfigurationData() { $returnArray = []; $returnArray[] = [ 'template_name' => 'vanilla', 'sid' => null, 'gsid' => null, 'uid' => null, 'files_css' => '{"add":["css/ajaxify.css","css/theme.css","css/custom.css"]}', 'files_js' => '{"add":["scripts/theme.js","scripts/ajaxify.js","scripts/custom.js"]}', 'files_print_css' => '{"add":["css/print_theme.css"]}', 'options' => '{"ajaxmode":"on","brandlogo":"on","container":"on", "hideprivacyinfo": "off", "brandlogofile":"./files/logo.png","font":"noto"}', 'cssframework_name' => 'bootstrap', 'cssframework_css' => '{}', 'cssframework_js' => '', 'packages_to_load' => '{"add":["pjax","font-noto","moment"]}', 'packages_ltr' => null, 'packages_rtl' => null ]; $returnArray[] = [ 'template_name' => 'fruity', 'sid' => null, 'gsid' => null, 'uid' => null, 'files_css' => '{"add":["css/ajaxify.css","css/animate.css","css/variations/sea_green.css","css/theme.css","css/custom.css"]}', 'files_js' => '{"add":["scripts/theme.js","scripts/ajaxify.js","scripts/custom.js"]}', 'files_print_css' => '{"add":["css/print_theme.css"]}', 'options' => '{"ajaxmode":"on","brandlogo":"on","brandlogofile":"./files/logo.png","container":"on","backgroundimage":"off","backgroundimagefile":null,"animatebody":"off","bodyanimation":"fadeInRight","bodyanimationduration":"500","animatequestion":"off","questionanimation":"flipInX","questionanimationduration":"500","animatealert":"off","alertanimation":"shake","alertanimationduration":"500","font":"noto","bodybackgroundcolor":"#ffffff","fontcolor":"#444444","questionbackgroundcolor":"#ffffff","questionborder":"on","questioncontainershadow":"on","checkicon":"f00c","animatecheckbox":"on","checkboxanimation":"rubberBand","checkboxanimationduration":"500","animateradio":"on","radioanimation":"zoomIn","radioanimationduration":"500","zebrastriping":"off","stickymatrixheaders":"off","greyoutselected":"off","hideprivacyinfo":"off","crosshover":"off","showpopups":"1"}', 'cssframework_name' => 'bootstrap', 'cssframework_css' => '{}', 'cssframework_js' => '', 'packages_to_load' => '{"add":["pjax","font-noto","moment"]}', 'packages_ltr' => null, 'packages_rtl' => null ]; $returnArray[] = [ 'template_name' => 'bootswatch', 'sid' => null, 'gsid' => null, 'uid' => null, 'files_css' => '{"add":["css/ajaxify.css","css/theme.css","css/custom.css"]}', 'files_js' => '{"add":["scripts/theme.js","scripts/ajaxify.js","scripts/custom.js"]}', 'files_print_css' => '{"add":["css/print_theme.css"]}', 'options' => '{"ajaxmode":"on","brandlogo":"on","container":"on","brandlogofile":"./files/logo.png"}', 'cssframework_name' => 'bootstrap', 'cssframework_css' => '{"replace":[["css/bootstrap.css","css/variations/flatly.min.css"]]}', 'cssframework_js' => '', 'packages_to_load' => '{"add":["pjax","font-noto","moment"]}', 'packages_ltr' => null, 'packages_rtl' => null ]; return $returnArray; } public static function getSurveygroupData() { $returnArray = [ [ 'name' => 'default', 'title' => 'Default', 'template' => null, 'description' => 'Default survey group', 'sortorder' => 0, 'owner_id' => 1, 'parent_id' => null, 'created' => date('Y-m-d H:i:s'), 'modified' => date('Y-m-d H:i:s'), 'created_by' => 1 ] ]; return $returnArray; } public static function getTemplatesData() { $returnArray = []; $returnArray[] = [ 'name' => 'vanilla', 'folder' => 'vanilla', 'title' => 'Vanilla Theme', 'creation_date' => date('Y-m-d H:i:s'), 'author' =>'Louis Gac', 'author_email' => 'louis.gac@limesurvey.org', 'author_url' => 'https://www.limesurvey.org/', 'copyright' => 'Copyright (C) 2007-2017 The LimeSurvey Project Team\\r\\nAll rights reserved.', 'license' => 'License: GNU/GPL License v2 or later, see LICENSE.php\\r\\n\\r\\nLimeSurvey is free software. This version may have been modified pursuant to the GNU General Public License, and as distributed it includes or is derivative of works licensed under the GNU General Public License or other free or open source software licenses. See COPYRIGHT.php for copyright notices and details.', 'version' => '3.0', 'api_version' => '3.0', 'view_folder' => 'views', 'files_folder' => 'files', 'description' => 'LimeSurvey Bootstrap Vanilla Survey Theme
A clean and simple base that can be used by developers to create their own Bootstrap based theme.', 'last_update' => null, 'owner_id' => 1, 'extends' => '', ]; $returnArray[] = [ 'name' => 'fruity', 'folder' => 'fruity', 'title' => 'Fruity Theme', 'creation_date' => date('Y-m-d H:i:s'), 'author' =>'Louis Gac', 'author_email' => 'louis.gac@limesurvey.org', 'author_url' => 'https://www.limesurvey.org/', 'copyright' => 'Copyright (C) 2007-2017 The LimeSurvey Project Team\\r\\nAll rights reserved.', 'license' => 'License: GNU/GPL License v2 or later, see LICENSE.php\\r\\n\\r\\nLimeSurvey is free software. This version may have been modified pursuant to the GNU General Public License, and as distributed it includes or is derivative of works licensed under the GNU General Public License or other free or open source software licenses. See COPYRIGHT.php for copyright notices and details.', 'version' => '3.0', 'api_version' => '3.0', 'view_folder' => 'views', 'files_folder' => 'files', 'description' => 'LimeSurvey Fruity Theme
A fruity theme for a flexible use. This theme offers monochromes variations and many options for easy customizations.', 'last_update' => null, 'owner_id' => 1, 'extends' => 'vanilla', ]; $returnArray[] = [ 'name' => 'bootswatch', 'folder' => 'bootswatch', 'title' => 'Bootswatch Theme', 'creation_date' => date('Y-m-d H:i:s'), 'author' =>'Louis Gac', 'author_email' => 'louis.gac@limesurvey.org', 'author_url' => 'https://www.limesurvey.org/', 'copyright' => 'Copyright (C) 2007-2017 The LimeSurvey Project Team\\r\\nAll rights reserved.', 'license' => 'License: GNU/GPL License v2 or later, see LICENSE.php\\r\\n\\r\\nLimeSurvey is free software. This version may have been modified pursuant to the GNU General Public License, and as distributed it includes or is derivative of works licensed under the GNU General Public License or other free or open source software licenses. See COPYRIGHT.php for copyright notices and details.', 'version' => '3.0', 'api_version' => '3.0', 'view_folder' => 'views', 'files_folder' => 'files', 'description' => 'LimeSurvey Bootwatch Theme
Based on BootsWatch Themes: Visit BootsWatch page ', 'last_update' => null, 'owner_id' => 1, 'extends' => 'vanilla', ]; return $returnArray; } public static function getTutorialData() { $returnArray = []; $returnArray['Pourcommencer'] = [ 'name' => 'Pourcommencer', 'title' => gT('Pour commencer'), 'icon' => 'fa-rocket', 'description' => 'The first start tour to get your first feeling into LimeSurvey', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function (tour) { window.tourLibrary.triggerTourStart('creerQuestion'); })", // 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['creerQuestion'] = [ 'name' => 'creerQuestion', 'title' => gT('Créer des questions'), 'icon' => 'fa-rocket', 'description' => 'Apprendre à créer des questions pas à pas', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['editersousquestion'] = [ 'name' => 'editersousquestion', 'title' => gT('Editer les sous-questions et options de réponse'), 'icon' => 'fa-rocket', 'description' => 'Apprendre à créer des sous-questions pas à pas', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['creerCondition'] = [ 'name' => 'creerCondition', 'title' => gT('Créer des conditions'), 'icon' => 'fa-rocket', 'description' => 'Apprendre à créer des condtions pour les questions', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['navigationPrevisualisation'] = [ 'name' => 'navigationPrevisualisation', 'title' => gT('Navigation et Prévisualisation'), 'icon' => 'fa-rocket', 'description' => 'Apprendre à naviguer et prévisualiser le rendu', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['gererParametre'] = [ 'name' => 'gererParametre', 'title' => gT('Gérer des paramètres'), 'icon' => 'fa-rocket', 'description' => 'Apprendre à gérer les paramètres de questionnaires', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['activerQuestionnaire'] = [ 'name' => 'activerQuestionnaire', 'title' => gT('Activer un questionnaire'), 'icon' => 'fa-rocket', 'description' => 'Apprendre à activer un questionnaire pas à pas', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['inviterParticipants'] = [ 'name' => 'inviterParticipants', 'title' => gT('Inviter des participants'), 'icon' => 'fa-rocket', 'description' => 'Apprendre à inviter des participants en accès restreint', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['exporterReponses'] = [ 'name' => 'exporterReponses', 'title' => gT('Exporter les réponses'), 'icon' => 'fa-rocket', 'description' => 'Apprendre à exporter les réponses', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; $returnArray['TutosPDF'] = [ 'name' => 'TutosPDF', 'title' => gT('Les différents types de questions'), 'icon' => 'fa-rocket', 'description' => 'Les différents types de questions', 'active' => 1, 'settings' => json_encode(array( 'keyboard' => false, // 'orphan' => true, 'template' => "" ."
" ."
" ."" ."

" ."
" ."
" ."
" ."
" ."" ."" ."
" ."
" ."
" ."
", 'onShown' => "(function(tour){ $('#notif-container').children().remove(); })", 'onEnd' => "(function(tour){window.location.reload();})", // 'endOnOrphan' => true, )), 'permission' => 'survey', 'permission_grade' => 'create' ]; return $returnArray; } public static function getTutorialEntryData() { $returnArray =[]; $returnArray ['Pourcommencer'] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Bienvenue dans LimeSurvey !'), 'content' => gT("Ce tutoriel vous permet de faire une première découverte de LimeSurvey.")."
" .gT("LimeSurvey est disponible dans Transnum sous 3 applications, avec une même interface : 'Enquêtes et sondages', 'Formulaires' et 'Bases de données'. Vous êtes ici dans 'Formulaires', l'application qui vous permet de développer des procédures administratives et des processus de travail en ligne."), 'settings' => json_encode(array( 'element' => '#lime-logo', 'path' => ['/admin/index'], 'placement' => 'bottom', 'redirect' => true, 'onShow' => "(function(tour){ $('#welcomeModal').modal('hide'); })" )) ), array( 'teid' => 2, 'ordering' => 2, 'title' => gT('Les fonctions basiques'), 'content' => gT("Les deux boutons 'Créer un questionnaire' et 'liste des questionnaires' vous donnent accès aux fonctions de base de LimeSurvey")."
" .gT("Nous vous proposons de commencer par créer un questionnaire.") .'

'.gT("Cliquez sur la case 'Créer un questionnaire' - ou sur 'Suivant' dans ce tutoriel").'

', 'settings' => json_encode(array( 'element' => '.selector__create_survey', 'path' => ['/admin/index'], 'reflex' => true, 'onShow' => "(function(tour){ $('#welcomeModal').modal('hide'); })", 'onNext' => "(function(tour){ })", )) ), array( 'teid' => 3, 'ordering' => 3, 'title' => gT('Le titre du questionnaire'), 'content' => gT("C’est le titre de votre questionnaire.")."
" .gT("Vos participants verront ce titre dans la barre de titre de leur navigateur et sur l’écran d’accueil.") ."

".gT("Complétez dans le champ à gauche de ce message, le titre que vous souhaitez donner à votre questionnaire puis cliquer sur 'suivant' pour continuer.").'

', 'settings' => json_encode(array( 'path' => ['/admin/survey/sa/newsurvey'], 'element' => '#surveyls_title', 'redirect' => true, 'prev' => '-1', )) ), array( 'teid' => 4, 'ordering' => 4, 'title' => gT('La description du questionnaire'), 'content' => gT("In this field you may type a short description of your survey.")."
" .gT("Le texte inséré ici sera affiché aux répondants sur l’écran de bienvenue à votre questionnaire. Il permet de décrire succinctement l'objet de votre questionnaire ou formulaire."), 'settings' => json_encode(array( 'element' => '#cke_description', 'path' => ['/admin/survey/sa/newsurvey'], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 5, 'ordering' => 5, 'title' => gT('Le message d’accueil'), 'content' => gT("Ce message sera affiché directement en dessous de la description du questionnaire sur l’écran de bienvenue. Vous pouvez aussi choisir de rendre l'accès au questionnaire le plus simple et le plus direct possible, donc sans passer par une page d'accueil, dans ce cas vous n'avez pas besoin de message d'accueil."), 'settings' => json_encode(array( 'element' => '#cke_welcome', 'placement' => 'top', 'path' => ['/admin/survey/sa/newsurvey'], 'redirect' => false, )) ), array( 'teid' => 6, 'ordering' => 6, 'title' => gT('Le message de fin'), 'content' => gT("Ce message est affiché en fin de questionnaire à chaque participant. C’est une excellente façon de dire merci ou de donner quelques liens ou astuces pour aller plus loin."), 'settings' => json_encode(array( 'element' => '#cke_endtext', 'path' => ['/admin/survey/sa/newsurvey'], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 7, 'ordering' => 7, 'title' => gT('Sauvegardez votre questionnaire'), 'content' => gT("Vous pourrez définir plus tard d'autres paramètres - sauvegardons et démarrons maintenant l’ajout de questions à votre questionnaire. Cliquez simplement sur 'Sauvegarder'."), 'settings' => json_encode(array( 'element' => '#save-form-button', 'path' => ['/admin/survey/sa/newsurvey'], 'placement' => 'bottom', 'reflex' => true, 'redirect' => false, 'onNext' => "(function(tour){ tour.setCurrentStep(7); if(!$('#save-form-button').hasClass('disabled')) $('#save-form-button').trigger('click'); return new Promise(function(res,rej){}); })", )) ), array( 'teid' => 8, 'ordering' => 8, 'title' => gT('Le menu latéral'), 'content' => gT("On y trouve 2 onglets permettant en permanence d'accéder à 2 sous-menus : les paramètres et la structure de votre questionnaire."), 'settings' => json_encode(array( 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'element' => '#sidemenu_surveytexts', 'placement' => 'right', 'delay' => 1000, 'redirect' => false, )) ), array( 'teid' => 9, 'ordering' => 9, 'title' => gT('Onglet paramètres du menu latéral'), 'content' => gT("Les paramètres les plus importants pour votre questionnaire sont accessibles depuis ce menu.").'
' .gT("Vous pouvez le redimensionner pour naviguer plus facilement dans les différentes options. Si vous souhaitez travailler avec ce menu replié, cliquer sur le bouton < à gauche de l'onglet 'Paramètres' ou glisser le bord droit du menu vers la gauche."), 'settings' => json_encode(array( 'element' => '#adminsidepanel__sidebar--selectorSettingsButton', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 10, 'ordering' => 10, 'title' => gT('Le menu central'), 'content' => gT("Ce menu évoluera quand vous vous déplacerez dans les fonctionnalités. Le menu actuel correspond à l'onglet 'Vue d’ensemble'. Il contient des fonctionnalités importantes de LimeSurvey comme l’aperçu d’un questionnaire et son activation (qui le rendra accessible aux répondants)."), 'settings' => json_encode(array( 'element' => '#surveybarid', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 11, 'ordering' => 11, 'title' => gT('Structure du questionnaire'), 'content' => gT("L'onglet 'Structure' du menu latéral permet d'accéder à tous vos groupes de questions et toutes vos questions.") .'

'.gT("Cliquez sur le bouton 'Structure' avant de continuer").'

', 'settings' => json_encode(array( 'element' => '#adminsidepanel__sidebar--selectorStructureButton', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 12, 'ordering' => 12, 'title' => gT('Ajoutons un groupe de questions'), 'content' => gT("La structure d'un questionnaire doit comporter au moins 1 groupe de questions et au moins 1 question par groupe de questions.")."
" .gT("Avant de commencer la création de questions, nous avons d’abord besoin d'un premier groupe de questions. On créera autant de groupes de questions qu'il y a de parties dans votre questionnaire : cela donnera plus de lisibilité à votre questionnaire.") .'

'.gT("Cliquez sur le bouton 'Ajouter un groupe de questions'").'

', 'settings' => json_encode(array( 'element' => '#adminsidepanel__sidebar--selectorCreateQuestionGroup', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'right', 'reflex' => true, 'redirect' => false, 'onNext' => "(function(tour){ document.location.href = $('#adminsidepanel__sidebar--selectorCreateQuestionGroup').attr('href'); tour.setCurrentStep(12); return new Promise(function(res,rej){}); })", )) ), array( 'teid' => 13, 'ordering' => 13, 'title' => gT('Entrez un titre pour votre premier groupe de questions'), 'content' => gT("Le titre du groupe de questions ne peut pas être vide. Vous pourrez le rendre visible ou non pour vos participants. Par défaut, chaque groupe de questions est affiché sur une page mais ce réglage peut être modifié par la suite."), 'settings' => json_encode(array( 'element' => '#group_name_fr', 'path' => ['/admin/questiongroups/sa/add', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, 'prev' => '-1', )) ), array( 'teid' => 14, 'ordering' => 14, 'title' => gT('Une description pour votre groupe de questions'), 'content' => gT("Cette description peut être visible ou non pour les participants. Tous les éléments de texte (titre du questionnaire, nom et descriptif des groupes et des questions, libellé des questions....) peuvent être modifiés à tout moment, même si le questionnaire est activé.")."
" .gT("Il n’est pas obligatoire d’ajouter une description du groupe de questions mais cela peut permettre de donner des indications supplémentaires à vos participants."), 'settings' => json_encode(array( 'element' => 'label[for=description_fr]', 'path' => ['/admin/questiongroups/sa/add', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 15, 'ordering' => 15, 'title' => gT('Sauvegardez et ajoutez une nouvelle question'), 'content' => gT("Vous avez au minimum entré le titre du groupe ? Vous pouvez maintenant soit cliquer sur 'Sauvegarder et ajouter une question' soit cliquer sur 'Suivant'.")."
" .gT("Si vous cliquez sur 'Suivant', votre action ajoutera directement une question au groupe de questions et déclenchera le tutoriel suivant 'Créer des questions'. Si vous préférez poursuivre plus tard, cliquez sur 'Sauvegarder et ajouter une question'. Vous pourrez à tout moment revenir sur le tutoriel 'Créer des questions'.") .'

'.gT("Maintenant cliquez soit sur 'Sauvegarder et ajouter une question' soit sur 'Suivant' ci-dessous.").'

', 'settings' => json_encode(array( 'element' => '#save-and-new-question-button', 'path' => ['/admin/questiongroups/sa/add', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, 'onNext' => "(function (tour) { $('#save-and-new-question-button').trigger('click'); window.tourLibrary.triggerTourStart('creerQuestion'); })", )) ), ); $returnArray['creerQuestion'] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Créer la question'), 'content' => gT("Vous devez vérifier avant de continuer que vous êtes au bon endroit pour créer votre question.")."
" .gT("Veuillez vérifier d'abord que le menu latéral (à gauche) montre bien la structure du questionnaire et que vous avez au moins 1 groupe de question créé.") .'

'.gT("Vérifiez maintenant que 'Ajouter une nouvelle question' est bien inscrit ci-dessus. Si ce n'est pas le cas cliquez sur 'ajouter une question' dans le menu latéral. ")."

", 'settings' => json_encode(array( 'element' => '.pagetitle', 'path' => ['/admin/questions/sa/newquestion',['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, 'prev' => '-1', )) ), array( 'teid' => 2, 'ordering' => 2, 'title' => gT('Le code de la question'), 'content' => gT("Ce code n’est normalement pas affiché pour vos participants, il reste cependant nécessaire et doit être unique pour le questionnaire.")."
" .gT("Ce code doit être explicite (exemple 'age' pour une question sur l'âge) : cela vous permettra de vous y retrouver !") .'

'.gT("Veuillez saisir le code composé uniquement de lettres (sans accent) et de chiffres mais sans commencer par un chiffre. Il ne doit pas comporter d'espace.")."

", 'settings' => json_encode(array( 'element' => '#title', 'path' => ['/admin/questions/sa/newquestion',['surveyid' => '[0-9]{4,25}']], 'placement' => 'right', 'redirect' => false, )) ), array( 'teid' => 3, 'ordering' => 3, 'title' => gT('Le texte de la question'), 'content' => gT("Le contenu de cette zone est le texte de la question qui sera affiché pour vos participants et qui leur indique la réponse que vous attendez d'eux. Vous pouvez mettre en forme les textes, y ajouter des images ou même des vidéos."), 'settings' => json_encode(array( 'element' => '#cke_question_fr', 'path' => ['/admin/questions/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{1,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 4, 'ordering' => 4, 'title' => gT('Choisir le type de question.'), 'content' => gT("LimeSurvey vous propose un large choix de types de questions.")."
" .gT("Le type de question présélectionné par défaut est 'Zone de texte long'. ")."
" .gT("Choisissez ici Type de questions 'Tableaux' et le 1er choix proposé 'Tableau'") .'

'.gT("Cliquer ici pour ouvrir le menu 'type de questions', puis sélectionner le type 'Tableau'. Attention à bien valider votre choix en cliquant sur 'Sélectionner' en bas de la fenêtre de sélection").'

', 'settings' => json_encode(array( 'element' => '#selector__questionTypeSelector--buttonText', 'delay' => 500, 'path' => ['/admin/questions/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{1,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 5, 'ordering' => 5, 'title' => gT('Aide'), 'content' => gT("Attention, si la page de sélection du 'type de question' est toujours ouverte, vous devez impérativement cliquer sur 'Sélectionner' en bas de cette page avant de continuer. Vous pouvez maintenant ajouter un texte supplémentaire d’aide pour la question. Si vous choisissez de ne pas afficher de conseil supplémentaire, alors seuls les textes d’aide par défaut seront affichés à vos participants."), 'settings' => json_encode(array( 'element' => '#cke_help_fr', 'path' => ['/admin/questions/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{1,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 6, 'ordering' => 6, 'title' => gT('Sauvegardez la question créée'), 'content' => gT("Avant de finaliser la question (créer les sous-questions et options de réponse...) il est indispensable de la sauvegarder.").'
' .'

'.gT("Cliquer ici pour sauvegarder votre question").'

', 'settings' => json_encode(array( 'element' => '#save-button', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{1,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 7, 'ordering' => 7, 'title' => gT('Le menu central'), 'content' => gT("Ce menu est automatiquement adapté au type de question. Pour une question 'Tableau', vous y trouvez notamment la possibilité d'ajouter les 'sous-questions' et les 'options de réponses'." ), 'settings' => json_encode(array( 'element' => '#questionbarid', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 8, 'ordering' => 8, 'title' => gT('Editer les sous-questions'), 'content' => gT("En cliquant ici, vous allez pouvoir ajouter ou modifier les sous-questions, c'est-à-dire les en-têtes de lignes de votre tableau.").'
' .gT("Attention : la suite du tutoriel se trouve dans le tutoriel 'Editer les sous-questions et options de réponse'.") .'

'.gT("Cliquez sur 'Editer les sous-questions'.").'

', 'settings' => json_encode(array( 'element' => '#adminpanel__topbar--selectorAddSubquestions', 'delayOnElement' => "{ element: '#adminpanel__topbar--selectorAddSubquestions', maxDelay: 1000 }", 'placement' => 'bottom', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{4,25}']], 'reflex' => true, 'redirect' => false, 'onNext' => "(function(tour){ document.location.href = $('#adminpanel__topbar--selectorAddSubquestions').attr('href'); tour.setCurrentStep(8); return new Promise(function(res,rej){}); })", )) ), ); $returnArray[editersousquestion] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Créer les sous-questions ou options de réponses'), 'content' => gT("Vous devez vérifier avant de continuer que vous êtes au bon endroit pour créer vos sous-questions ou options de réponses.").'
' .gT("Sélectionnez d'abord dans le menu latéral (à gauche) la question (tableau, la question à choix unique ou multiple, classement...) que vous souhaitez éditer.") ."

".gT("Si le bouton 'Editer les sous-questions' et/ou 'Editer les réponses' apparaît ci-dessus, cliquez dessus. Si le titre 'éditer les sous-questions' ou 'Editer les réponses' apparaît comme titre de page, vous êtes au bon endroit. ").'

', 'settings' => json_encode(array( 'element' => '.pagetitle', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 2, 'ordering' => 2, 'title' => gT('Ajouter le texte des sous-questions et/ou options de réponse'), 'content' => gT("Inscrivez ici le texte qui apparaîtra en sous-questions ou en options de réponses.").'
' ."

".gT("Astuce : Le bouton'crayon' à droite du champ texte permet d'activer l'édition HTML donc de modifier l'apparence du texte, d'insérer des images...").'

', 'settings' => json_encode(array( 'delay' => 500, 'element' => '#rowcontainer', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 3, 'ordering' => 3, 'title' => gT('Ajouter une nouvelle ligne'), 'content' => gT('Cliquer sur le symbole ').''.' pour ajouter une nouvelle sous-question ou une nouvelle option de réponse'.'
' ."

".gT('Veuillez ajouter au moins 2 sous-questions')."

", 'settings' => json_encode(array( 'element' => '.icon-add', 'path' => ['admin/questions/sa/subquestions/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{4,25}'], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 4, 'ordering' => 4, 'title' => gT('Equation de filtre conditionnel'), 'content' => gT("Vous pouvez intégrer ici une équation permettant d'afficher certaines sous-questions selon des conditions déterminées par les réponses aux questions précédentes. En l'absence de conditions '1' indique que la sous-question est toujours affichée") ."

".gT("Vous trouverez plus d'information dans le PDF 'Gestionnaire d'expressions et code pour les équations'.").'

', 'settings' => json_encode(array( 'element' => '.relevance-equation', 'path' => ['admin/questions/sa/subquestions/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{4,25}'], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 5, 'ordering' => 5, 'title' => gT('Le code des sous-questions'), 'content' => gT("Le code des sous-questions et options de réponses est créé automatiquement. Il doit être unique pour chaque sous-question et pour chaque option de réponse. Vous pouvez le modifier si besoin."), 'settings' => json_encode(array( 'element' => '.tab-content', 'path' => ['admin/questions/sa/subquestions/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{4,25}'], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 6, 'ordering' => 6, 'title' => gT('Ajout rapide'), 'content' => gT("L'ajout rapide des sous-questions ou options de réponses peut être réalisé en cliquant sur ce bouton et en copiant votre liste à partir d'Excel par exemple. Si vous copiez 2 colonnes d'Excel, la première sera collée en code, la seconde en libellé des sous-questions"), 'settings' => json_encode(array( 'element' => '#btnquickadd_fr_0', 'path' => ['admin/questions/sa/subquestions/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{4,25}'], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 7, 'ordering' => 7, 'title' => gT("Enregistrer comme jeu d'étiquettes"), 'content' => gT("Si vous pensez avoir besoin d'accéder à nouveau à la même liste d'items, vous pouvez l'enregistrer en cliquant ici"), 'settings' => json_encode(array( 'element' => '#bthsaveaslabel_0', 'path' => ['admin/questions/sa/subquestions/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{4,25}'], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 8, 'ordering' => 8, 'title' => gT("Gérer les jeux d'étiquettes"), 'content' => gT("Vous trouverez ici les jeux d'étiquettes que vous avez déjà enregistrés et ceux de vos collègues. Attention à ne pas supprimer ces derniers quand vous enregistrer un nouveau jeu."), 'settings' => json_encode(array( 'element' => '#btnlsbrowser_fr_0', 'path' => ['admin/questions/sa/subquestions/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{4,25}'], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 9, 'ordering' => 9, 'title' => gT('Sauvegardez les sous-questions ou options de réponses'), 'content' => gT("N'oubliez pas qu'avant de sortir d'une page, vous devez sauvegarder votre travail. Dans notre exemple, si vous avez créé une question tableau, vous devez maintenant ajouter les options de réponses. Si besoin vous pouvez à nouveau utiliser le même tutoriel pour vous aider dans cette nouvelle étape dont le principe est identique") ."

".gT("Cliquer sur 'Enregistrer et fermer'.").'

', 'settings' => json_encode(array( 'element' => '#save-and-close-button', 'path' => ['admin/questions/sa/subquestions/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{4,25}'], 'placement' => 'left', 'redirect' => false, )) ), ); $returnArray[creerCondition] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Ajouter des conditions'), 'content' => gT("Cliquer ici pour ajouter des conditions d'affichage de votre question")."
" .gT("La condition d'affichage de votre question en cours doit être déterminée par une ou plusieurs réponses à une ou plusieurs questions précédentes. Vous devez donc avoir d'autres questions avant celle-ci dans votre questionnaire (sauf si la condition est donnée par un attribut d'invitation).")."
" .'

'.gT("Cliquez sur 'Fixer les conditions'.").'

', 'settings' => json_encode(array( 'element' => '.icon-conditions', 'delay' => '500', 'path' => ['/admin/questions/sa/view/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{1,25}'], 'placement' => 'bottom', 'reflex' => true, 'redirect' => false, 'onNext' => "(function(tour){ tour.setCurrentStep(1); $('.icon-conditions').parent()[0].click(); return new Promise(function(res,rej){}); })", )) ), array( 'teid' => 2, 'ordering' => 2, 'title' => gT("Sélectionner la question précédente"), 'content' => gT("Choisissez une question précédente ou un attribut d'invitation des participants pour déterminer l'affichage de votre question."), 'settings' => json_encode(array( 'delay' => 500, 'element' => '#cquestions', 'path' => ['/admin/conditions/sa/index/subaction/editconditionsform/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{1,25}'], 'placement' => 'left', 'redirect' => false, 'prev' => '-1', )) ), array( 'teid' => 3, 'ordering' => 3, 'title' => gT('Opérateur de comparaison'), 'content' => gT("Choisissez l'opération de comparaison que vous souhaitez effectuer"), 'settings' => json_encode(array( 'element' => '#method', 'path' => ['/admin/conditions/sa/index/subaction/editconditionsform/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{1,25}'], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 4, 'ordering' => 4, 'title' => gT('Sélectionner la réponse'), 'content' => gT("Sélectionner la ou les réponses qui déterminent l'affichage de votre question.")."
" .'

'.gT("Cliquez à gauche de cette fenêtre sur 'Ajouter une condition'.").'

', 'settings' => json_encode(array( 'element' => '#canswers', 'path' => ['/admin/conditions/sa/index/subaction/editconditionsform/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{1,25}'], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 5, 'ordering' => 5, 'title' => gT('Ajouter un scénario'), 'content' => gT("Ajouter un scénario permet d'ajouter une condition alternative (de type 'ou') pour l'affichage de la question. Par contre si vous souhaitez ajouter une condition supplémentaire (de type 'et'), vous ne devez pas ajouter de scénario mais ajouter une nouvelle condition dans le premier scénario.")."
" .'

'.gT("Si vous cliquez sur 'Ajouter scénario', vous devrez lui donner un N° différent du 1er par exemple 2.").'

', 'settings' => json_encode(array( 'element' => '#defaultscenarioshow', 'path' => ['/admin/conditions/sa/index/subaction/editconditionsform/surveyid/[0-9]{4,25}/gid/[0-9]{1,25}/qid/[0-9]{1,25}'], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 6, 'ordering' => 6, 'title' => gT('fermer et vérifier'), 'content' => gT("Après avoir ajouté les conditions, vous pouvez vérifier ci-dessous si vos différents scénarios et les conditions qu'ils contiennent semblent corrects. Si c'est bien le cas, il vous suffit maintenant de cliquer sur 'fermer' et de vérifier que les conditions fonctionnent bien en prévisualisant le questionnaire")."
" .'

'.gT("Cliquez sur 'Fermer'.").'

', 'settings' => json_encode(array( 'element' => '#questionbarid', 'path' => ['/admin/conditions/sa/index/subaction/editconditionsform', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{1,25}']], 'placement' => 'left', 'redirect' => false, )) ), ); $returnArray[navigationPrevisualisation] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('La racine du questionnaire'), 'content' => gT("Cet affichage permet de visualiser l'endroit où vous vous trouvez dans votre questionnaire.")."
" .gT("Si seuls le titre et le N° du questionnaire s'affichent c'est que vous êtes à la racine du questionnaire.") .'

'.gT("Si d'autres éléments s'affichent ils indiquent le chemin de votre navigation").'

', 'settings' => json_encode(array( 'element' => '#breadcrumb__survey--overview', 'path' => ['/admin/survey/sa/view',['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, 'prev' => '-1', )) ), array( 'teid' => 2, 'ordering' => 2, 'title' => gT('Outil de prévisualisation'), 'content' => gT("A tout moment vous pouvez prévisualiser le questionnaire ou bien, suivant l'endroit où vous vous trouvez, une question ou un groupe de questions. Si vous souhaitez modifier l'apparence générale du questionnaire, consultez le tutoriel 'Gérer les paramètres'. Si vous souhaitez modifier l'apparence d'une question, vous pouvez consulter le tutoriel PDF 'Les différents types de questions et leurs options'."), 'settings' => json_encode(array( 'element' => '.icon-do', 'path' => ['/admin/survey/sa/view',['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), ); $returnArray[gererParametre] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Sélectionner le menu Paramètres'), 'content' => gT("Sélectionner le menu des paramètres pour afficher ceux-ci.").'
' .gT("Nous allons explorer chacun d'eux et leurs principales options."), 'settings' => json_encode(array( 'element' => '#adminsidepanel__sidebar--selectorSettingsButton', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 2, 'ordering' => 2, 'title' => gT("La vue d'ensemble du questionnaire"), 'content' => gT("En cliquant sur ce bouton, vous accédez aux principales informations sur le questionnaire, en particulier son URL") .'

'.gT("Attention : pensez bien à sauvegarder vos changements à chaque fois que vous changez un paramètre ! Cela est valable pour tous les paramètres que nous allons voir maintenant.").'

', 'settings' => json_encode(array( 'element' => '#sidemenu_overview', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 3, 'ordering' => 3, 'title' => gT("Les paramètres généraux"), 'content' => gT("En cliquant sur ce bouton, vous accédez aux principaux paramètres du questionnaire, en particulier le format de sa présentation : 'question par question', 'groupe par groupe' ou 'tout en un' : pour des questionnaires courts, privilégiez ce dernier, pour des questionnaires longs, il est préférable de rythmer le travail du répondant en choisissant 'groupe par groupe'."), 'settings' => json_encode(array( 'element' => '#sidemenu_generalsettings', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 4, 'ordering' => 4, 'title' => gT("choisir le modèle"), 'content' => gT("Plusieurs modèles sont proposés notamment bfc_fruity et bfc_vanilla. Vous pourrez modifier ces thèmes de base, notamment si vous avez besoin de changer le logo (dans ce cas, aller dans le menu 'Configuration' à droite du bouton 'Tutoriels'). ") .'

'.gT("Attention : remplacer votre adresse email à gauche de ce message par 'admin@ac-dijon.fr', si vous souhaitez envoyer des emails d'invitation par l'application, sinon vous risquez fort que vos emails soient considérés comme du spam.").'

', 'settings' => json_encode(array( 'element' => '#template', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 5, 'ordering' => 5, 'title' => gT("Les éléments de texte"), 'content' => gT("En cliquant sur ce bouton, vous accédez aux principaux éléments de textes du questionnaire, que vous pouvez changer à tout moment, même si le questionnaire est activé : son titre, sa description, ses messages d'accueil et de fin. L'URL de fin n'est nécessaire que si vous souhaitez que les répondants visitent un site après avoir rempli le questionnaire."), 'settings' => json_encode(array( 'element' => '#sidemenu_surveytexts', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 6, 'ordering' => 6, 'title' => gT("La politique de confidentialité des données"), 'content' => gT("En cliquant sur ce bouton, vous pouvez définir les différentes mentions que vous afficherez concernant la RGPD. Attention vous êtes responsables de l'utilisation des données collectées et vous devez informer les répondants de toute utilisation de données personnelles qui ne seraient pas directement explicites dans le cadre de cette collecte de données."), 'settings' => json_encode(array( 'element' => '#sidemenu_datasecurity', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 7, 'ordering' => 7, 'title' => gT("Les options de thème"), 'content' => gT("En cliquant sur ce bouton, vous pouvez apporter quelques modifications au thème d'origine : si vous placez 'tout hériter' sur non, vous pouvez agir sur des éléments du thème. "), 'settings' => json_encode(array( 'element' => '#sidemenu_theme_options', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 8, 'ordering' => 8, 'title' => gT("Les options de thème"), 'content' => gT("Ici vous avez accès à des variations de couleur du thème."), 'settings' => json_encode(array( 'element' => '#simple_edit_add_css', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 9, 'ordering' => 9, 'title' => gT("La présentation du questionnaire"), 'content' => gT("Cliquez sur ce bouton et commençons par les paramètres de la colonne de droite : les 2 premiers sont a priori à placer sur 'non'. En effet connaître le nombre de questions et lire un message d'accueil vous fera perdre des répondants potentiels... Autoriser le retour en arrière dans le questionnaire peut s'avérer intéressant suivant la nature de votre questionnaire. Afficher la barre de progression peut encourager à poursuivre. La possibilité d'imprimer ses réponses peut également être utile. Enfin dans la plupart des cas, mettez les autres options sur non"), 'settings' => json_encode(array( 'element' => '#sidemenu_presentation', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 10, 'ordering' => 10, 'title' => gT("Afficher le nom et/ou la description du groupe"), 'content' => gT("Faîtes votre choix, pour des questionnaires longs, une information sur la structure par groupe de questions peut être utile."), 'settings' => json_encode(array( 'element' => '#showgroupinfo', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 11, 'ordering' => 11, 'title' => gT("Afficher le N° et/ou le code des questions"), 'content' => gT("Afficher ces informations peut être utile quand vous testez le questionnaire avec d'autres personnes, pour leur permettre de vous soumettre plus facilement des remarques ou suggestions "), 'settings' => json_encode(array( 'element' => '#showqnumcode', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 12, 'ordering' => 12, 'title' => gT("Paramètres de participation"), 'content' => gT("Les paramètres de participation définissent l'accès au questionnaire pour un questionnaire avec code d'invitation. Colonne de droite, l'option 'Réponses anonymisées' permet de déterminer si les réponses pourront intégrer ou non l'identité des répondants. Si vous choisissez 'Oui', votre enquête est configurée pour anonymiser les réponses - il n'y aura plus aucun moyen de lier les réponses aux participants."), 'settings' => json_encode(array( 'element' => '#sidemenu_tokens', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 13, 'ordering' => 13, 'title' => gT("Persistance des réponses - mises à jour - réponses multiples"), 'content' => gT("Le paramètre 'Activer la persistance des réponses' permet à toute personne disposant d'une invitation de pouvoir revenir sur son questionnaire pour le modifier, en retrouvant les réponses apportées précédemment (si l'anonymisation des réponses n'a pas été activée). Le paramètre suivant ('Permettre plusieurs réponses ou des mises à jour...') doit être sur 'oui' si la persistance des réponses est sur 'oui'. Si la persistance est sur 'non' ou si les réponses sont anonymes, alors mettre ce paramètre sur 'oui' permet plusieurs réponses pour une seule invitation."), 'settings' => json_encode(array( 'element' => '#sidemenu_tokens', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 14, 'ordering' => 14, 'title' => gT("Permettre l'enregistrement public"), 'content' => gT("Le paramètre 'Permettre l'enregistrement public' permet à toute personne qui ne dispose pas d'une invitation de pouvoir enregistrer son nom et son adresse électronique. Le script créera une nouvelle entrée dans votre table des participants à l'enquête pour cette personne, puis lui enverra un courrier électronique d'invitation. Le script garantira qu’une seule personne par adresse électronique puisse répondre à votre enquête."), 'settings' => json_encode(array( 'element' => '#sidemenu_tokens', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 15, 'ordering' => 15, 'title' => gT("Paramètres d'envoi et de confirmation"), 'content' => gT("Activer 'Utiliser le format HTML' pour que vos envois d'invitation puissent être mise en forme en HTML. Activer 'Envoyer des courriels de confirmation' pour que les répondants reçoivent un courriel leur confirmant le bon enregistrement de leur réponse, une fois celle-ci envoyée."), 'settings' => json_encode(array( 'element' => '#sidemenu_tokens', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 16, 'ordering' => 16, 'title' => gT("Définir la longueur du code"), 'content' => gT("Par défaut le code d'invitation comporte 15 caractères. C'est largement suffisant pour rendre quasi-impossible de le trouver sans avoir d'invitation. Vous pouvez modifier cette longueur de code (entre 5 et 35 caractères)."), 'settings' => json_encode(array( 'element' => '#tokenlength', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 17, 'ordering' => 17, 'title' => gT("Notifications & données"), 'content' => gT("Vous pouvez activer ici différentes informations qui seront ajoutées à la base de données des réponses : datage des réponses, adresse IP du répondant, URL du site sur laquelle le répondant a cliqué pour se connecter au questionnaire... Important, c'est ici que vous pouvez donner la possibilité aux répondants d'enregistrer leurs réponses partielles et de reprendre plus tard, même si le questionnaire est sans invitation ('Les participants peuvent sauvegarder...'). Vous pouvez aussi activer le mode évaluation si vous avez créé des équations d'évaluation pour certaines réponses dans votre questionnaire."), 'settings' => json_encode(array( 'element' => '#sidemenu_notification', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 18, 'ordering' => 18, 'title' => gT("Notification simple"), 'content' => gT("Entrez une ou plusieurs adresses email (si plusieurs adresses, séparez-les par ';') dans ce champ pour notifier des personnes en charge du traitement des données, de l'arrivée de nouvelles réponses. Vous pouvez aussi entrer une équation pour notifier la personne concernée par le questionnaire/formulaire (voir tutoriel PDF 'équations et expressions'). "), 'settings' => json_encode(array( 'element' => '#emailnotificationto', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 19, 'ordering' => 19, 'title' => gT("Notification détaillée"), 'content' => gT("Le principe est le même que pour la notification simple : vous pouvez ainsi définir 2 types de notifications - nous verrons plus loin la façon de définir le contenu des emails de notification"), 'settings' => json_encode(array( 'element' => '#emailresponseto', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 20, 'ordering' => 20, 'title' => gT("Publication et accès"), 'content' => gT("Colonne de droite, laissez tous les paramètres sur 'non', sauf si vous souhaitez réduire les risques de multiples réponses par un même répondant dans une enquête sans invitation ('Activer les cookies...' doit être dans ce cas sur oui)"), 'settings' => json_encode(array( 'element' => '#sidemenu_publication', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 21, 'ordering' => 21, 'title' => gT("Publication et accès"), 'content' => gT("Entrez ici la date et l'heure de début de votre enquête. Si vous laissez ce champ vide, l'accès au questionnaire sera possible dès son activation"), 'settings' => json_encode(array( 'element' => '#startdate', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 22, 'ordering' => 22, 'title' => gT("Publication et accès"), 'content' => gT("Entrez ici la date et l'heure de fin de votre enquête. Si vous laissez ce champ vide, l'accès au questionnaire sera possible tant qu'il restera activé."), 'settings' => json_encode(array( 'element' => '#expires', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 23, 'ordering' => 23, 'title' => gT("Liste des questions"), 'content' => gT("Vous disposez ici d'une vue synthétique des questions et d'outils de contrôle et d'édition rapide."), 'settings' => json_encode(array( 'element' => '#sidemenu_listQuestions', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 24, 'ordering' => 24, 'title' => gT("Liste des groupes de questions"), 'content' => gT("Vous disposez ici d'une vue synthétique des groupes de questions et d'outils de contrôle et d'édition rapide."), 'settings' => json_encode(array( 'element' => '#sidemenu_listQuestionGroups', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 25, 'ordering' => 25, 'title' => gT("Réordonner les questions et groupes de questions"), 'content' => gT("C'est ici que vous pouvez réordonner vos questions et groupes de façon fiable et sécurisée, par simple glissé-déposé. Ayez à l'esprit que les conditions sur les questions peuvent poser problème si vous changez l'ordre des questions. N'oubliez pas que vous devez sauvegarder vos changements (en haut à droite de la fenêtre)!"), 'settings' => json_encode(array( 'element' => '#sidemenu_reorder', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 26, 'ordering' => 26, 'title' => gT("Participants au questionnaire"), 'content' => gT("En cliquant ici vous accédez à la possibilité de créer une table d'invitation. Si vous cliquez sur 'non', votre questionnaire sera accessible à partir de l'URL du questionnaire, que vous aurez partagée avec le public que vous ciblez. Si vous souhaitez envoyer des invitations, avec un code d'invitation unique par participants, alors il faudra cliquer sur 'initialiser la table des invitations', mais nous vous recommandons de faire cela plus tard, quand vous aurez fini le Tutoriel en cours : vous pourrez alors suivre le tutoriel 'Inviter des participants'. Si la page 'Résumé des participants' s'affiche, cela signifie que la table a déjà été initialisée."), 'settings' => json_encode(array( 'element' => '#sidemenu_participants', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 27, 'ordering' => 27, 'title' => gT("Quotas"), 'content' => gT("Cet outil vous permet de définir des quotas de répondants à partir de critères définis par des questions de votre questionnaire. Lorsque le quota est atteint, un message avertit les répondants qu'ils ne peuvent pas continuer à répondre au questionnaire ou que leur réponse ne sera pas retenue."), 'settings' => json_encode(array( 'element' => '#sidemenu_quotas', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 28, 'ordering' => 28, 'title' => gT("Ajouter un quota"), 'content' => gT("Cliquer ici pour ajouter un nouveau quota."), 'settings' => json_encode(array( 'element' => '.quota_new:last', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 29, 'ordering' => 29, 'title' => gT("Ajouter un quota"), 'content' => gT("Entrez ici le nom de votre quota - la forme du nom importe peu."), 'settings' => json_encode(array( 'element' => '#Quota_name', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 30, 'ordering' => 30, 'title' => gT("Limite du quota"), 'content' => gT("Entrez ici la limite de répondants que vous souhaitez au global. Ce total pourra être réparti ensuite entre plusieurs segments."), 'settings' => json_encode(array( 'element' => '#Quota_qlimit', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), array( 'teid' => 31, 'ordering' => 31, 'title' => gT("Action du quota"), 'content' => gT("Choisissez l'action qui sera déclenchée quand le quota sera atteint. Attention, si vous choisissez 'Autoriser l'utilisateur à modifier ses réponses', celui-ci pourrait faire en sorte de rentrer dans le quota fixé."), 'settings' => json_encode(array( 'element' => '#Quota_action', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 32, 'ordering' => 32, 'title' => gT("Activation du quota"), 'content' => gT("Laissez coché pour activer le quota. Vous pouvez aussi modifier le message indiquant que le quota a été atteint et renvoyer les répondants vers l'URL d'un site.") .'

'.gT("Attention : pensez bien à sauvegarder votre quota maintenant. Vous allez pouvoir ensuite spécifier sur quelles questions et options de réponses vont s'appliquer le ou les quotas").'

', 'settings' => json_encode(array( 'element' => '#Quota_active', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 33, 'ordering' => 33, 'title' => gT("Modalités du quota"), 'content' => gT("Spécifiez maintenant la question et les options de réponse du 1er quota. Les questions pouvant être utilisées pour les quotas sont : Le sexe, les Choix multiple, les Tableaux (Choix en 5 points ou 10 points), Changement de langue, Oui - Non, Liste (Radio), liste déroulante, Liste avec commentaires. Si vous ne disposez pas de questions de ce type dans votre questionnaire, vous ne pourrez pas appliquer de quota."), 'settings' => json_encode(array( 'element' => '.quota_new:first', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 34, 'ordering' => 34, 'title' => gT("Sélection de la question et de la réponse"), 'content' => gT("Sélectionner la question et l'option de réponse du 1er quota. Indiquez également si vous souhaitez ajouter une autre question/réponse pour ce 1er quota. ").'
' ."

".gT("Astuce : si vous souhaitez définir un quota de répondants, sans sélectionner les répondants sur leurs réponses, il vous suffit de sélectionner toutes les options de réponses d'une question obligatoire à choix unique (ou d'une question oui/non).").'

', 'settings' => json_encode(array( 'element' => '.form-control', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 35, 'ordering' => 35, 'title' => gT("Sélection de la question et de la réponse"), 'content' => gT("Sélectionner la question et la ou les options de réponse du 1er quota."), 'settings' => json_encode(array( 'element' => '.form-control', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 36, 'ordering' => 36, 'title' => gT("Modèles de courriels"), 'content' => gT("Cliquez ici pour créer et modifier les modèles de courriels qui seront utilisés pour votre questionnaire si celui-ci est sur invitation."), 'settings' => json_encode(array( 'element' => '#sidemenu_emailtemplates', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 37, 'ordering' => 37, 'title' => gT("Modèles de courriels"), 'content' => gT("Vous pouvez créer modifier les 6 modèles : 1ère invitation, rappel d'invitation (si vous utilisez cette option), Confirmation (si vous avez choisi l'envoi de confirmation), inscription (si vous avez activé 'enregistrement public' dans les paramètres de participation), notification simple et/ou détaillée (voir menu 'notification & données').") .'

'.gT("Suggestion : intégrez des champs programmés dans vos emails (voir tutoriel 'équation et expressions') - Un email d'invitation doit nécessairement comporter le champ {SURVEYURL} - Attention : pensez bien à sauvegarder chaque modèle d'email, donc onglet par onglet, en haut à droite de cette fenêtre.").'

', 'settings' => json_encode(array( 'element' => '#in_survey_common', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 38, 'ordering' => 38, 'title' => gT("Permissions du questionnaire"), 'content' => gT("C'est ici que vous définissez les autres personnes qui peuvent administrer en tout ou partie votre questionnaire. Cliquez ici pour ajouter des permissions à un utilisateur"), 'settings' => json_encode(array( 'element' => '#sidemenu_surveypermissions', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 39, 'ordering' => 39, 'title' => gT("Ajouter un utilisateur"), 'content' => gT("Choisissez l'utilisateur qui aura accès à l'administration de votre questionnaire. Si vous n'avez accès à aucun utilisateur ou si vous ne trouvez pas l'utilisateur souhaité dans la liste, cliquez sur suivant... "), 'settings' => json_encode(array( 'element' => '#uidselect', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 40, 'ordering' => 40, 'title' => gT("Configuration"), 'content' => gT("Cliquez ici puis sur 'Créer/modifier les groupes d'utilisateur' pour créer un groupe d'utilisateur et ajouter des utilisateurs dans votre groupe d'utilisateurs.") .'

'.gT("Vous avez parcouru les principaux paramètres. Ce tutoriel, comme les autres tutoriels, reste accessible à tout moment... Pensez-y !"), 'settings' => json_encode(array( 'element' => '.icon-settings', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'redirect' => false, )) ), ); $returnArray['activerQuestionnaire'] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Aller à la racine du questionnaire'), 'content' => gT("Pour trouver le bouton d'activation, il faut d'abord aller au menu racine du questionnaire.")."
" .gT("Cette barre vous indique où vous vous trouvez dans votre navigation et vous permet de vous déplacer aisément dans les menus") .'

'.gT("Cliquer sur le nom de votre questionnaire pour retourner au menu racine.").'

', 'settings' => json_encode(array( 'element' => '#breadcrumb__survey--overview', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'reflex' => true, 'redirect' => false, 'onNext' => "(function(tour){ tour.setCurrentStep(1); document.location.href = $('#breadcrumb__survey--overview').attr('href'); return new Promise(function(res,rej){}); })", )) ), array( 'teid' => 2, 'ordering' => 2, 'title' => gT('Activer votre questionnaire'), 'content' => gT("Ce bouton vous permet de déclencher l'activation de votre questionnaire et de le rendre accessible aux répondants.")."
" .gT("Attention, une fois votre questionnaire activé, vous ne pouvez plus modifier sa structure, sauf à le désactiver .") .'

'.gT("Cliquer sur 'Activer le questionnaire'. ").'

', 'settings' => json_encode(array( 'element' => '#ls-activate-survey', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'reflex' => true, 'redirect' => false, 'prev' => '-1', 'onNext' => "(function(tour){ document.location.href = $('#ls-activate-survey').attr('href'); tour.setCurrentStep(2); return new Promise(function(res,rej){}); })", )) ), array( 'teid' => 3, 'ordering' => 3, 'title' => gT('Paramètres pour activation'), 'content' => gT("Ces paramètres ne peuvent plus être modifiés une fois le questionnaire activé.")."
" .gT("Sauvegarder l'adresse IP vous permet d'avoir un contrôle a posteriori sur d'éventuels multiples réponses. Notez bien cependant que les réponses envoyées au sein d'un même service ont la même adresse IP.")."
" .gT("Le datage des réponses pourra vous être utile. Si l'accès à votre questionnaire est possible à partir de plusieurs sites, vous pouvez récupérer l'URL de provenance des répondants.") .'

'.gT("Cliquez sur 'Sauvegarder et activer ce questionnaire'.").'

', 'settings' => json_encode(array( 'element' => '#in_survey_common', 'path' => ['/admin/survey/sa/activate', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'reflex' => true, 'redirect' => false, 'prev' => '-1', 'onNext' => "(function(tour){ $('#activateSurvey__basicSettings--proceed').trigger('click'); tour.setCurrentStep(3); return new Promise(function(res,rej){}); })", )) ), array( 'teid' => 4, 'ordering' => 4, 'title' => gT('Activer la table des participants'), 'content' => gT("Ici vous pouvez choisir de lancer votre questionnaire en mode « Accès restreint » .")."
" .gT("Pour ce tutoriel, choisissons un accès public au questionnaire, ce qui signifie que toute personne disposant de l'URL du questionnaire pourra y accéder et répondre ")."
" .gT("L'accès en mode restreint permet de fournir un lien unique et personnalisé à chaque participant invité. Les invitations se font alors par email et nécessitent de définir une liste d'invités")."
" .gT("Reportez-vous au tutoriel 'inviter des participants' pour en savoir plus.") .'

'.gT("Cliquez sur 'Non, merci'").'

', 'settings' => json_encode(array( 'element' => '#activateTokenTable__selector--no', 'path' => ['/admin/survey/sa/activate', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'reflex' => true, 'redirect' => false, 'prev' => '-1', 'onNext' => "(function(tour){ $('#activateTokenTable__selector--no').trigger('click'); tour.setCurrentStep(4); return new Promise(function(res,rej){}); })", )) ), array( 'teid' => 5, 'ordering' => 5, 'title' => gT('Partager ce lien'), 'content' => gT("Comme il s'agit d'un questionnaire en accès public, il vous suffit de copier ce lien et de le diffuser comme vous le souhaitez. Noter bien que ce lien se trouve dans le menu 'Paramètres' - 'Vue d'ensemble'.").'
' .'

'.gT("Consultez le tutoriel 'Exporter les réponses' lorsque vous aurez vos premières réponses ! ").'

', 'settings' => json_encode(array( 'element' => '#adminpanel__surveysummary--mainLanguageLink', 'path' => ['/'.'(index.php)?'], 'placement' => 'right', 'redirect' => false, 'prev' => '-1', //'onHide' => '(function(){window.location.reload()})' )) ), ); $returnArray['inviterParticipants'] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Inviter des participants'), 'content' => gT("_"), 'settings' => json_encode(array( 'element' => '.navbar-brand', 'placement' => 'left', 'path' => ['/admin'], 'redirect' => false, 'onShow' => "(function(tour){ window.open('https://transnum-portail.ac-dijon.fr/moodle/pluginfile.php/6726/mod_resource/content/1/Tutoriel%20LimeSurvey%20-%20Inviter%20des%20participants.pdf'); tour.end(); })" )) ), ); $returnArray['exporterReponses'] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Revenez à la racine du menu'), 'content' => gT("Pour être au bon endroit, cliquer d'abord sur le nom de votre questionnaire") .'

'.gT("Cliquez sur le nom de votre questionnaire").'

', 'settings' => json_encode(array( 'element' => '#breadcrumb__survey--overview', 'path' => ['/admin/survey/sa/view', ['surveyid' => '[0-9]{4,25}', 'gid' => '[0-9]{1,25}', 'qid' => '[0-9]{4,25}']], 'placement' => 'bottom', 'reflex' => true, 'redirect' => false, 'onNext' => "(function(tour){ tour.setCurrentStep(1); if(!$('#breadcrumb_survey--overview').hasClass('disabled')) $('#breadcrumb_survey--overview').trigger('click'); return new Promise(function(res,rej){}); })", )) ), array( 'teid' => 2, 'ordering' => 2, 'title' => gT('Sélectionner "Réponses & Statistiques".'), 'content' => gT("Cliquer sur le bouton 'Réponses', puis sur 'Réponses et statistiques'"), 'settings' => json_encode(array( 'element' => '.dropdown-toggle:last', 'path' => ['/admin/survey/sa/view',['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'reflex' => true, 'redirect' => false, 'onNext' => "(function(tour){ tour.setCurrentStep(2); if(!$('.button').hasClass('disabled')) $('.button').trigger('click'); return new Promise(function(res,rej){}); })" )) ), array( 'teid' => 3, 'ordering' => 3, 'title' => gT('Exporter les réponses'), 'content' => gT("Cliquer sur 'Exporter'puis sur 'Exporter les réponses'"), 'settings' => json_encode(array( 'element' => '.icon-export', 'path' => ['/admin/response/sa/index', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), array( 'teid' => 4, 'ordering' => 4, 'title' => gT("paramètres d'exportation"), 'content' => gT("Choisissez le format d'export, le plus souvent Excel... et vérifiez les autres paramètres. "), 'settings' => json_encode(array( 'element' => '#xls', 'path' => ['/admin/export/sa/index', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'top', 'redirect' => false, )) ), array( 'teid' => 5, 'ordering' => 5, 'title' => gT("Exporter"), 'content' => gT("Cliquez sur 'Exporter'. "), 'settings' => json_encode(array( 'element' => '#export-button', 'path' => ['/admin/export/sa/index', ['surveyid' => '[0-9]{4,25}']], 'placement' => 'left', 'redirect' => false, )) ), ); $returnArray['TutosPDF'] = array( array( 'teid' => 1, 'ordering' => 1, 'title' => gT('Les différents types de questions'), 'content' => gT("_"), 'settings' => json_encode(array( 'element' => '.navbar-brand', 'placement' => 'left', 'path' => ['/admin'], 'redirect' => false, 'onShow' => "(function(tour){ window.open('https://transnum-portail.ac-dijon.fr/moodle/pluginfile.php/6251/mod_resource/content/1/Tutoriel%20LimeSurvey%202%20-%20Les%20diff%C3%A9rents%20types%20de%20questions%20et%20leurs%20options.pdf'); tour.end(); })" )) ), ); return $returnArray; } }