Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}