GetAll($usquery); if ($dbvaluearray!==false) { foreach ($dbvaluearray as $setting) { global $$setting['stg_name']; if (isset($$setting['stg_name'])) { $$setting['stg_name']=$setting['stg_value']; } $registry->set($setting['stg_name'],$setting['stg_value']); } } } function globalsettingssave() { global $action, $editsurvey, $connect, $scriptname, $clang; if (isset($action) && $action == "globalsettingssave") { if($_SESSION['USER_RIGHT_CONFIGURATOR'] == 1) { if (sanitize_int($_POST['maxemails'])<1) { $_POST['maxemails']=1; } setGlobalSetting('sitename',strip_tags($_POST['sitename'])); setGlobalSetting('updatecheckperiod',(int)($_POST['updatecheckperiod'])); setGlobalSetting('addTitleToLinks',sanitize_paranoid_string($_POST['addTitleToLinks'])); setGlobalSetting('defaultlang',sanitize_languagecode($_POST['defaultlang'])); setGlobalSetting('defaulthtmleditormode',sanitize_paranoid_string($_POST['defaulthtmleditormode'])); setGlobalSetting('defaulttemplate',sanitize_paranoid_string($_POST['defaulttemplate'])); setGlobalSetting('emailmethod',strip_tags($_POST['emailmethod'])); setGlobalSetting('emailsmtphost',strip_tags(returnglobal('emailsmtphost'))); if (returnglobal('emailsmtppassword')!='somepassword') { setGlobalSetting('emailsmtppassword',strip_tags(returnglobal('emailsmtppassword'))); } setGlobalSetting('bounceaccounthost',strip_tags(returnglobal('bounceaccounthost'))); setGlobalSetting('bounceaccounttype',strip_tags(returnglobal('bounceaccounttype'))); setGlobalSetting('bounceencryption',strip_tags(returnglobal('bounceencryption'))); setGlobalSetting('bounceaccountuser',strip_tags(returnglobal('bounceaccountuser'))); if (returnglobal('bounceaccountpass')!='enteredpassword') { setGlobalSetting('bounceaccountpass',strip_tags(returnglobal('bounceaccountpass'))); } setGlobalSetting('emailsmtpssl',sanitize_paranoid_string(returnglobal('emailsmtpssl'))); setGlobalSetting('emailsmtpdebug',sanitize_int(returnglobal('emailsmtpdebug'))); setGlobalSetting('emailsmtpuser',strip_tags(returnglobal('emailsmtpuser'))); setGlobalSetting('filterxsshtml',strip_tags($_POST['filterxsshtml'])); setGlobalSetting('siteadminbounce',strip_tags($_POST['siteadminbounce'])); setGlobalSetting('siteadminemail',strip_tags($_POST['siteadminemail'])); setGlobalSetting('siteadminname',strip_tags($_POST['siteadminname'])); setGlobalSetting('shownoanswer',sanitize_int($_POST['shownoanswer'])); setGlobalSetting('showxquestions',($_POST['showxquestions'])); setGlobalSetting('showgroupinfo',($_POST['showgroupinfo'])); setGlobalSetting('showqnumcode',($_POST['showqnumcode'])); $repeatheadingstemp=(int)($_POST['repeatheadings']); if ($repeatheadingstemp==0) $repeatheadingstemp=25; setGlobalSetting('repeatheadings',$repeatheadingstemp); setGlobalSetting('maxemails',sanitize_int($_POST['maxemails'])); $sessionlifetimetemp=(int)($_POST['sessionlifetime']); if ($sessionlifetimetemp==0) $sessionlifetimetemp=3600; setGlobalSetting('sessionlifetime',$sessionlifetimetemp); setGlobalSetting('ipInfoDbAPIKey',$_POST['ipInfoDbAPIKey']); setGlobalSetting('googleMapsAPIKey',$_POST['googleMapsAPIKey']); setGlobalSetting('googleanalyticsapikey',$_POST['googleanalyticsapikey']); setGlobalSetting('googletranslateapikey',$_POST['googletranslateapikey']); setGlobalSetting('force_ssl',$_POST['force_ssl']); setGlobalSetting('surveyPreview_require_Auth',strip_tags($_POST['surveyPreview_require_Auth'])); $savetime=trim(strip_tags((float) $_POST['timeadjust']).' hours'); //makes sure it is a number, at least 0 if ((substr($savetime,0,1)!='-') && (substr($savetime,0,1)!='+')) { $savetime = '+'.$savetime;} setGlobalSetting('timeadjust',$savetime); setGlobalSetting('usepdfexport',strip_tags($_POST['usepdfexport'])); setGlobalSetting('usercontrolSameGroupPolicy',strip_tags($_POST['usercontrolSameGroupPolicy'])); $_SESSION['flashmessage'] = $clang->gT("Global settings were saved."); $url = htmlspecialchars_decode($_SESSION['refurl']); header("Location: $url"); } } } function globalsettingsdisplay() { global $action, $connect, $js_admin_includes, $editsurvey, $subaction, $scriptname, $clang; global $updateversion, $updatebuild, $updateavailable, $updatelastcheck, $demoModeOnly; global $refurl; if (isset($subaction) && $subaction == "updatecheck") { // $updateinfo=updatecheck(); } if (isset($action) && $action == "globalsettings") { if($_SESSION['USER_RIGHT_CONFIGURATOR'] == 1) { //save refurl from where global settings screen is called! $_SESSION['refurl'] = htmlspecialchars($refurl); //just to be safe! $js_admin_includes[]='scripts/globalsettings.js'; // header $editsurvey = "
".$clang->gT("Global settings")."
\n"; // beginning TABs section $editsurvey .= "\t
\n"; $editsurvey .= "
\n"; $editsurvey .= "
\n"; $editsurvey .= checksettings(); /* queXS Removal $thisupdatecheckperiod=getGlobalSetting('updatecheckperiod'); $editsurvey .= "

".$clang->gT("Updates")."
    " . "\t
  • \n" . "\t\t\t  ".sprintf($clang->gT("Last check: %s"),$updatelastcheck)."

\n"; if (isset($updateavailable) && $updateavailable==1) { $editsurvey .=''.sprintf($clang->gT('There is a LimeSurvey update available: Version %s'),$updateversion."($updatebuild)").'
'; $editsurvey .=sprintf($clang->gT('You can update %smanually%s or use the %s'),"","","".$clang->gT('3-Click ComfortUpdate').'').'.
'; } elseif (isset($updateinfo['errorcode'])) { $editsurvey .=sprintf($clang->gT('There was an error on update check (%s)'),$updateinfo['errorcode']).'.
'; $editsurvey .="'; } else { $editsurvey .=$clang->gT('There is currently no newer LimeSurvey version available.'); } end queXS Removal */ $editsurvey .= "

"; // General TAB $editsurvey .= "\t
\n"; // Administrator... $editsurvey .= "
    " . "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n" . "\t\t
  • "; $thisdefaulttemplate=getGlobalSetting('defaulttemplate'); $templatenames=array_keys(gettemplatelist()); $editsurvey .= "" . "\t
  • \n" . "\t\t\t\n" . "\t\t\t\t\n" . "\t\t\t\t\n" . "\n" . "\n" . "
  • \n"; $dateformatdata=getDateFormatData($_SESSION['dateformat']); $editsurvey.= "\t
  • \n" . "\t\t " . $clang->gT("Server time:").' '.convertDateTimeFormat(date('Y-m-d H:i:s'),'Y-m-d H:i:s',$dateformatdata['phpdate'].' H:i')." - ".$clang->gT("Corrected time :").' '.convertDateTimeFormat(date_shift(date("Y-m-d H:i:s"), 'Y-m-d H:i:s', getGlobalSetting('timeadjust')),'Y-m-d H:i:s',$dateformatdata['phpdate'].' H:i')."
  • \n"; $thisusepdfexport=getGlobalSetting('usepdfexport'); $editsurvey .= "\t
  • \n" . "\n\t
  • \n"; $thisaddTitleToLinks=getGlobalSetting('addTitleToLinks'); $editsurvey .= "\t
  • \n" . "\n
  • \n" . "
  • \n" . "
  • " . "
  • \n" . "
  • " . "
  • \n" . "
  • " . "
  • \n" . "
  • " . "
  • \n" . "
  • " ; // End General TAB $editsurvey .= "\t
\n"; // Email TAB $editsurvey .= "\t
    \n"; //Format $editsurvey.= "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n" . "\t\t

  • \n" . "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n\t\t\n" . "\t\t ".$clang->gT("Enter your hostname and port, e.g.: my.smtp.com:25")."
  • \n" . "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n" . "\t\t
     
  • \n" . "\t
  • \n" . "\t\t
  • \n" . "\t
\n"; // End Email TAB $editsurvey .= "\t
\n"; // Start bounce tab $editsurvey .= "\t
    \n" . "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n" . "\t\t\n"."".$clang->gT("Enter your hostname and port, e.g.: imap.gmail.com:995")."\n" . "\t
  • \n" . "\t\t
  • \n" . "\t
  • \n" . "\t\t
  • \n"; $editsurvey.= "\t
  • \n" . "\t\t
  • \n
"; $editsurvey .= "\t
\n"; // End of bounce tabs // Security Settings $editsurvey .= "\t
    \n"; // Expiration $thissurveyPreview_require_Auth=getGlobalSetting('surveyPreview_require_Auth'); $editsurvey .= "\t
  • \n" . "\t\t
  • \n"; // Auto registration $thisfilterxsshtml=getGlobalSetting('filterxsshtml'); $editsurvey .= "\t
  • \n" . "\t\t
  • \n"; $thisusercontrolSameGroupPolicy=getGlobalSetting('usercontrolSameGroupPolicy'); $editsurvey .= "\t
  • \n" . "\t\t
  • \n"; $thisforce_ssl = getGlobalSetting('force_ssl'); $opt_force_ssl_on = $opt_force_ssl_off = $opt_force_ssl_neither = ''; $warning_force_ssl = $clang->gT('Warning: Before turning on HTTPS, ') . '' . $clang->gT('check if this link works.').'
    ' . $clang->gT("If the link does not work and you turn on HTTPS, LimeSurvey will break and you won't be able to access it."); // $warning_force_ssl = ' Do NOT force "On" if you\'re not completely certain your server has a SSL enabled.
    ' // . 'Before turning on HTTPS, See if this link works
    ' // . 'If not, LimeSurvey will break if SSL is forced on but your server does not have a valid secure certificate installed and enabled.
    '; switch($thisforce_ssl) { case 'on': $warning_force_ssl = ' '; break; case 'off': case 'neither': break; default: $thisforce_ssl = 'neither'; }; $this_opt = 'opt_force_ssl_'.$thisforce_ssl; $$this_opt = ' selected="selected"'; $editsurvey .= '
  • \n" . "
  • \n" . "
  • $warning_force_ssl\n
  • \n"; unset($thisforce_ssl,$opt_force_ssl_on,$opt_force_ssl_off,$opt_force_ssl_neither,$warning_force_ssl,$this_opt); $editsurvey .= "\t
\n"; // presentation settings tab $editsurvey .= "\t
    \n"; // shownoanswer $shownoanswer=getGlobalSetting('shownoanswer'); $sel_na = array( 0 => '' , 1 => '' , 2 => ''); $sel_na[$shownoanswer] = ' selected="selected"'; $editsurvey .= "\t
  • \n" . "\t\t
  • \n"; $thisrepeatheadings=getGlobalSetting('repeatheadings'); $editsurvey .= "\t
  • \n" . "\t\t
  • \n"; // showxquestions $set_xq=getGlobalSetting('showxquestions'); $sel_xq = array( 'hide' => '' , 'show' => '' , 'choose' => ''); $sel_xq[$set_xq] = ' selected="selected"'; if( empty($sel_xq['hide']) && empty($sel_xq['show']) && empty($sel_xq['choose'])) { $sel_xq['choose'] = ' selected="selected"'; }; $editsurvey .= "\t
  • \n" . "\t\t
  • \n"; unset($set_xq,$sel_xq); // showgroupinfo $set_gri=getGlobalSetting('showgroupinfo'); $sel_gri = array( 'both' => '' , 'choose' =>'' , 'description' => '' , 'name' => '' , 'none' => '' ); $sel_gri[$set_gri] = ' selected="selected"'; if( empty($sel_gri['both']) && empty($sel_gri['choose']) && empty($sel_gri['description']) && empty($sel_gri['name']) && empty($sel_gri['none'])) { $sel_gri['choose'] = ' selected="selected"'; }; $editsurvey .= "\t
  • \n" . "\t\t
  • \n"; unset($set_gri,$sel_gri); // showqnumcode $set_qnc=getGlobalSetting('showqnumcode'); $sel_qnc = array( 'both' => '' , 'choose' =>'' , 'number' => '' , 'code' => '' , 'none' => '' ); $sel_qnc[$set_qnc] = ' selected="selected"'; if( empty($sel_qnc['both']) && empty($sel_qnc['choose']) && empty($sel_qnc['number']) && empty($sel_qnc['code']) && empty($sel_qnc['none'])) { $sel_qnc['choose'] = ' selected="selected"'; }; $editsurvey .= "\t
  • \n" . "\t\t
  • \n"; unset($set_qnc,$sel_qnc); $editsurvey .= "\t
\n"; // End TAB page & form $editsurvey .= "\t
\n"; // End tabs $editsurvey .= "
\n"; // The external button to sumbit Survey edit changes $editsurvey .= "\t


\n"; if ($demoModeOnly==true) { $editsurvey .= '

'.$clang->gT("Note: Demo mode is activated. Marked (*) settings can't be changed.").'

\n'; } } else { include("access_denied.php"); } } } function getGlobalSetting($settingname) { global $connect, $$settingname; $registry = SettingsStorage::getInstance(); if (!$registry->isRegistered($settingname)) { $usquery = "SELECT stg_value FROM ".db_table_name("settings_global")." where stg_name='$settingname'"; $dbvalue=$connect->GetOne($usquery); if (!is_null($dbvalue)) { $registry->set($settingname,$dbvalue); } elseif (isset($$settingname)) { // If the setting was not found in the setting table but exists as a variable (from config.php) // get it and save it to the table setGlobalSetting($settingname,$$settingname); $dbvalue=$$settingname; } } else { $dbvalue=$registry->get($settingname); } return $dbvalue; } function setGlobalSetting($settingname,$settingvalue) { global $connect, $$settingname, $demoModeOnly; if ($demoModeOnly==true && ($settingname=='sitename' || $settingname=='defaultlang' || $settingname=='defaulthtmleditormode' || $settingname=='filterxsshtml')) { return; //don't save } $usquery = "update ".db_table_name("settings_global")." set stg_value='".auto_escape($settingvalue)."' where stg_name='$settingname'"; $connect->Execute($usquery); if ($connect->Affected_Rows()==0) { $usquery = "insert into ".db_table_name("settings_global")." (stg_value,stg_name) values('".auto_escape($settingvalue)."','$settingname')"; $connect->Execute($usquery); } $registry = SettingsStorage::getInstance(); $registry->set($settingname,$settingvalue); if (isset($$settingname)) $$settingname=$settingvalue; } function checksettings() { global $connect, $dbprefix, $clang, $databasename, $scriptname, $iFileUploadTotalSpaceMB; //GET NUMBER OF SURVEYS $query = "SELECT count(sid) FROM ".db_table_name('surveys'); $surveycount=$connect->GetOne($query); //Checked $query = "SELECT count(sid) FROM ".db_table_name('surveys')." WHERE active='Y'"; $activesurveycount=$connect->GetOne($query); //Checked $query = "SELECT count(users_name) FROM ".db_table_name('users'); $usercount = $connect->GetOne($query); //Checked if ($activesurveycount==false) $activesurveycount=0; if ($surveycount==false) $surveycount=0; $tablelist = $connect->MetaTables(); foreach ($tablelist as $table) { if (strpos($table,$dbprefix."old_tokens_")!==false) { $oldtokenlist[]=$table; } elseif (strpos($table,$dbprefix."tokens_")!==false) { $tokenlist[]=$table; } elseif (strpos($table,$dbprefix."old_survey_")!==false) { $oldresultslist[]=$table; } } if(isset($oldresultslist) && is_array($oldresultslist)) {$deactivatedsurveys=count($oldresultslist);} else {$deactivatedsurveys=0;} if(isset($oldtokenlist) && is_array($oldtokenlist)) {$deactivatedtokens=count($oldtokenlist);} else {$deactivatedtokens=0;} if(isset($tokenlist) && is_array($tokenlist)) {$activetokens=count($tokenlist);} else {$activetokens=0;} $cssummary = "
".$clang->gT("System overview")."
\n"; // Database name & default language $cssummary .= "
\n" . "\n" . "\n"; // Other infos $cssummary .= "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n" . "\n"; if ($iFileUploadTotalSpaceMB>0) { $fUsed=fCalculateTotalFileUploadUsage(); $cssummary .= "\n" . "\n" . "\n"; } $cssummary .= "
".$clang->gT("Database name").":$databasename
".$clang->gT("Users").":$usercount
".$clang->gT("Surveys").":$surveycount
".$clang->gT("Active surveys").":$activesurveycount
".$clang->gT("Deactivated result tables").":$deactivatedsurveys
".$clang->gT("Active token tables").":$activetokens
".$clang->gT("Deactivated token tables").":$deactivatedtokens
".$clang->gT("Used/free space for file uploads").":".sprintf('%01.2F',$fUsed)." MB / ".sprintf('%01.2F',$iFileUploadTotalSpaceMB-$fUsed)." MB
\n"; if ($_SESSION['USER_RIGHT_CONFIGURATOR'] == 1) { $cssummary .= "

"; } return $cssummary; } ?>