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 loadanswers() { global $dbprefix, $surveyid, $errormsg; global $thissurvey, $thisstep, $clang; global $databasetype, $clienttoken; $scid = returnglobal('scid'); if (isset($_POST['loadall']) && $_POST['loadall'] == "reload") { $query = "SELECT * FROM " . db_table_name('saved_control') . " INNER JOIN {$thissurvey['tablename']}\n\t\t\tON " . db_table_name('saved_control') . ".srid = {$thissurvey['tablename']}.id\n\t\t\tWHERE " . db_table_name('saved_control') . ".sid={$surveyid}\n"; if (isset($scid)) { $query .= "AND " . db_table_name('saved_control') . ".scid={$scid}\n"; } $query .= "AND " . db_table_name('saved_control') . ".identifier = '" . auto_escape($_SESSION['holdname']) . "' "; if ($databasetype == 'odbc_mssql' || $databasetype == 'odbtp' || $databasetype == 'mssql_n' || $databasetype == 'mssqlnative') { $query .= "AND CAST(" . db_table_name('saved_control') . ".access_code as varchar(32))= '" . md5(auto_unescape($_SESSION['holdpass'])) . "'\n"; } else { $query .= "AND " . db_table_name('saved_control') . ".access_code = '" . md5(auto_unescape($_SESSION['holdpass'])) . "'\n"; } } elseif (isset($_SESSION['srid'])) { $query = "SELECT * FROM {$thissurvey['tablename']}\n\t\t\tWHERE {$thissurvey['tablename']}.id=" . $_SESSION['srid'] . "\n"; } else { return; } $result = db_execute_assoc($query) or safe_die("Error loading results<br />{$query}<br />" . $connect->ErrorMsg()); //Checked if ($result->RecordCount() < 1) { $errormsg .= $clang->gT("There is no matching saved survey") . "<br />\n"; } else { //A match has been found. Let's load the values! //If this is from an email, build surveysession first $row = $result->FetchRow(); foreach ($row as $column => $value) { if ($column == "token") { $clienttoken = $value; $token = $value; } elseif ($column == "saved_thisstep") { $_SESSION['step'] = $value; $thisstep = $value - 1; } elseif ($column == 'lastpage' && isset($_GET['token'])) { if ($value < 1) { $value = 1; } $_SESSION['step'] = $value; $thisstep = $value - 1; } elseif ($column == 'startlanguage') { $clang = SetSurveyLanguage($surveyid, $value); UpdateSessionGroupList($value); // to refresh the language strings in the group list session variable UpdateFieldArray(); // to refresh question titles and question text } elseif ($column == "scid") { $_SESSION['scid'] = $value; } elseif ($column == "srid") { $_SESSION['srid'] = $value; } elseif ($column == "datestamp") { $_SESSION['datestamp'] = $value; } if ($column == "startdate") { $_SESSION['startdate'] = $value; } else { //Only make session variables for those in insertarray[] if (in_array($column, $_SESSION['insertarray'])) { if (($_SESSION['fieldmap'][$column]['type'] == 'N' || $_SESSION['fieldmap'][$column]['type'] == 'K' || $_SESSION['fieldmap'][$column]['type'] == 'D') && $value == null) { // For type N,K,D NULL in DB is to be considered as NoAnswer in any case. // We need to set the _SESSION[field] value to '' in order to evaluate conditions. // This is especially important for the deletenonvalue feature, // otherwise we would erase any answer with condition such as EQUALS-NO-ANSWER on such // question types (NKD) $_SESSION[$column] = ''; } else { $_SESSION[$column] = $value; } } // if (in_array( } // else } // foreach } return true; }