Exemple #1
0
    //check for error
    if (trim($_POST["text"]) == "") {
        $error = "error_no_text";
    } else {
        //update text
        if ($action == "edit" && isset($question_id)) {
            //add_description
            $geo = new questionary_geo();
            $geo->add_description($_POST["text"]);
        } else {
            if ($action == "insert") {
                //create new element in questions
                $question = steam_factory::create_container($steam, time() . "", $question_folder);
                $question_id = $question->get_id();
                //add_description
                $geo = new questionary_geo();
                $geo->add_description($_POST["text"], $question_id);
            }
        }
        //save geometry in questionary
        $result = $question->set_attribute("bid:question:geometry", $geo->get_last_element());
    }
}
//Disconnect
$steam->disconnect();
//redirect to edit page again
if (isset($result) && $result) {
    header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
    exit;
}
//******************************************************
Exemple #2
0
$questionary_display_name = $attributes[OBJ_NAME];
if (isset($attributes[OBJ_DESC]) && $attributes[OBJ_DESC] != "") {
    $questionary_display_name = $attributes[OBJ_DESC];
}
$question_number = $attributes["bid:questionary:number"];
$edit_time = $attributes["bid:questionary:edittime"];
$edit_answer = $attributes["bid:questionary:editanswer"];
$edit_own_answer = $attributes["bid:questionary:editownanswer"];
$att_enabled = $attributes["bid:questionary:enabled"];
//to avoid that user can change answers from other users
if (isset($answer) && !$is_answer_creator && $is_author && !$edit_answer || isset($answer) && !$is_answer_creator && !$is_author) {
    $no_write_access = true;
}
//get questionary geometry
$questions = $question_folder->get_inventory();
$geo = new questionary_geo();
foreach ($questions as $question) {
    $question = $question->get_attribute("bid:question:geometry", 1);
}
$buffer = $steam->buffer_flush();
foreach ($buffer as $question) {
    $geo->insert($question);
}
//check if the user can fill out (another) questionary
$forbidden = false;
if ($fillout == 1 && !isset($answer)) {
    //get creators of all items in inventory
    $creators_obj = array();
    $answers = $answer_folder->get_inventory();
    foreach ($answers as $each_answer) {
        $creators_obj[] = $each_answer->get_creator(1);
Exemple #3
0
if ($action == "delete" && isset($question)) {
    $question->delete();
    $steam->disconnect();
    header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
    exit;
}
//disable enable questionary to fill out
if ($action == "enable") {
    $questionary->set_attribute("bid:questionary:enabled", true);
}
if ($action == "disable") {
    $questionary->set_attribute("bid:questionary:enabled", false);
}
//get questionary geometry
$questions = $question_folder->get_inventory();
$geo = new questionary_geo();
$ids = array();
foreach ($questions as $question) {
    $ids[] = $question->get_id();
    $question = $question->get_attribute("bid:question:geometry", 1);
}
$buffer = $steam->buffer_flush();
foreach ($buffer as $question) {
    $question["question_id"] = array_shift($ids);
    $geo->insert($question);
}
//load Attributes
$attributes = $questionary->get_attributes(array(OBJ_NAME, "bid:questionary:number", "bid:questionary:enabled", "bid:questionary:edittime"));
$questionary_name = $attributes[OBJ_NAME];
$number = $attributes["bid:questionary:number"];
$enabled = $attributes["bid:questionary:enabled"];
        $errors[] = "error_no_text";
    }
    //check if columns is a number
    if (!ereg('^[[:digit:]]*$', $check["columns"])) {
        $errors[] = "error_no_number_col";
    }
    //check if there is at least 1 option
    if (count($check["options"]) <= 0) {
        $errors[] = "error_no_options";
    }
    if (!isset($errors)) {
        //create new element in questions
        if (!isset($question)) {
            $question = steam_factory::create_container($steam, time() . "", $question_folder);
        }
        $geo = new questionary_geo();
        $geo->add_input_checkbox($check["question"], $check["question_position"], $check["columns"], $check["options"], $check["checked"], $check["must"], $check["output"]);
        //save
        $result = $question->set_attribute("bid:question:geometry", $geo->get_last_element());
    }
}
//Disconnect
$steam->disconnect();
//redirect to edit page again
if (isset($result) && $result) {
    header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
    exit;
}
//******************************************************
//** Display Stuff
//******************************************************
Exemple #5
0
} else {
    header("Location: {$config_webserver_ip}/index.php");
}
//create new RIGHTS object
$rights = new rights($steam, $questionary, $question_folder, $answer_folder);
//check author permission
$login_user = $steam->get_login_user();
$login_user_id = $login_user->get_id();
$login_user_groups = $login_user->get_groups();
foreach ($login_user_groups as $login_user_group) {
    $login_user_group_ids[] = $login_user_group->get_id();
}
$is_author = $rights->check_access_edit($login_user, $login_user_group_ids);
if (!$is_author || count($answer_folder->get_inventory()) > 0) {
    //Disconnect & close
    $steam->disconnect();
    die("<html>\n<body onload='javascript:window.close();'>\n</body>\n</html>");
}
//create new element in questions
$question = steam_factory::create_container($steam, time() . "", $question_folder);
$question_id = $question->get_id();
//add_full_line
$geo = new questionary_geo();
$geo->add_full_line();
//save geometry in questionary
$question->set_attribute("bid:question:geometry", $geo->get_last_element());
//Disconnect
$steam->disconnect();
//redirect to edit page again
header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
exit;
        $errors[] = "error_no_text";
    }
    //check if identifier is empty
    if (trim($tendency["tendency_steps"]) == "" || !ereg('^[[:digit:]]*$', $tendency["tendency_steps"]) || $tendency["tendency_steps"] < 2 || $tendency["tendency_steps"] > 20) {
        $errors[] = "error_no_number_steps";
    }
    //check if there is at least 1 option
    if (count($tendency["tendency_elements"]) <= 0) {
        $errors[] = "error_no_options";
    }
    if (!isset($errors)) {
        //create new element in questions
        if (!isset($question)) {
            $question = steam_factory::create_container($steam, time() . "", $question_folder);
        }
        $geo = new questionary_geo();
        $geo->add_input_tendency($tendency["description"], $tendency["tendency_elements"], $tendency["tendency_steps"], $tendency["must"], $tendency["output"]);
        //save
        $result = $question->set_attribute("bid:question:geometry", $geo->get_last_element());
    }
}
//Disconnect
$steam->disconnect();
//redirect to edit page again
if (isset($result) && $result) {
    header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
    exit;
}
//******************************************************
//** Display Stuff
//******************************************************
Exemple #7
0
    die("<html><body>no access rights</body></html>");
}
//get questionary attributes
$creator = $questionary->get_creator();
$attributes = $questionary->get_attributes(array(OBJ_NAME, OBJ_LAST_CHANGED, "bid:questionary:number", "bid:questionary:editanswer", "bid:questionary:resultcreator", "bid:questionary:resultcreationtime"));
$questionary_last_changed = $attributes[OBJ_LAST_CHANGED];
$questionary_name = $attributes[OBJ_NAME];
$numbering = $attributes["bid:questionary:number"];
$editanswer = $attributes["bid:questionary:editanswer"];
$resultcreator = $attributes["bid:questionary:resultcreator"];
$resultcreationtime = $attributes["bid:questionary:resultcreationtime"];
//check rights
$forbidden = !($is_author || $is_analyst);
//get questionary geometry
$questions = $question_folder->get_inventory();
$geo = new questionary_geo();
foreach ($questions as $question) {
    $question = $question->get_attribute("bid:question:geometry", 1);
}
$buffer = $steam->buffer_flush();
foreach ($buffer as $question) {
    $geo->insert($question);
}
$entities = $geo->get_all();
//action delete
if ($mission == "delete" && $answer && $is_author) {
    $answer->delete();
    $steam->disconnect();
    header("Location: {$config_webserver_ip}/modules/questionary/result.php?object=" . $questionary->get_id());
    exit;
}
Exemple #8
0
} else {
    header("Location: {$config_webserver_ip}/index.php");
}
//create new RIGHTS object
$rights = new rights($steam, $questionary, $question_folder, $answer_folder);
//check author permission
$login_user = $steam->get_login_user();
$login_user_id = $login_user->get_id();
$login_user_groups = $login_user->get_groups();
foreach ($login_user_groups as $login_user_group) {
    $login_user_group_ids[] = $login_user_group->get_id();
}
$is_author = $rights->check_access_edit($login_user, $login_user_group_ids);
if (!$is_author || count($answer_folder->get_inventory()) > 0) {
    //Disconnect & close
    $steam->disconnect();
    die("<html>\n<body onload='javascript:window.close();'>\n</body>\n</html>");
}
//create new element in questions
$question = steam_factory::create_container($steam, time() . "", $question_folder);
$question_id = $question->get_id();
//add_new_page
$geo = new questionary_geo();
$geo->add_new_page();
//save geometry in questionary
$question->set_attribute("bid:question:geometry", $geo->get_last_element());
//Disconnect
$steam->disconnect();
//redirect to edit page again
header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
exit;
Exemple #9
0
    //Disconnect & close
    $steam->disconnect();
    die("<html>\n<body onload='javascript:window.close();'>\n</body>\n</html>");
}
//action save in new order
if ($action == "save") {
    //get new order and all segments in old order
    $order = split(" ", trim($_POST["list"]));
    foreach ($order as $position => $object_id) {
        $object = steam_factory::get_object($steam, $object_id);
        $result = $question_folder->swap_inventory($object, $position);
    }
}
//get questionary geometry
$questions = $question_folder->get_inventory();
$geo = new questionary_geo();
$ids = array();
foreach ($questions as $question) {
    $ids[] = $question->get_id();
    $question = $question->get_attribute("bid:question:geometry", 1);
}
$buffer = $steam->buffer_flush();
foreach ($buffer as $question) {
    $question["question_id"] = array_shift($ids);
    $geo->insert($question);
}
//load attribute number
$question_number = $questionary->get_attribute("bid:questionary:number");
//redirect to edit_layout page again
if (isset($result) && $result) {
    header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
Exemple #10
0
    }
    //check if number of row is a number
    if (!ereg('^[[:digit:]]*$', $_POST["rows"])) {
        $errors[] = "error_no_number_rows";
    }
    if ($_POST["rows"] <= 0) {
        $errors[] = "error_bigger_zero_rows";
    }
    //update according description
    if (!isset($errors)) {
        if ($action == "insert") {
            //create new element in question folder
            $question = steam_factory::create_container($steam, time() . "", $question_folder);
            $question_id = $question->get_id();
        }
        $geo = new questionary_geo();
        if ($_POST["rows"] > 1) {
            $geo->add_input_textarea(norm_post("question"), $_POST["question_position"], norm_post("width") == " " ? 400 : norm_post("width"), norm_post("rows"), norm_post("value"), isset($_POST["must"]), isset($_POST["output"]));
        } else {
            $geo->add_input_text(norm_post("question"), $_POST["question_position"], norm_post("width") == " " ? 400 : norm_post("width"), norm_post("maxlength"), norm_post("value"), isset($_POST["must"]), isset($_POST["output"]));
        }
        //save geometry in question
        $result = $question->set_attribute("bid:question:geometry", $geo->get_last_element());
    }
}
//Disconnect
$steam->disconnect();
//redirect to edit page again
if (isset($result) && $result) {
    header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
    exit;
Exemple #11
0
if ($action == "save" && isset($_POST["description"])) {
    //check if identifier is empty
    if (trim($grading["description"]) == "") {
        $errors[] = "error_no_text";
    }
    //check if there is at least 1 option
    if (count($grading["grading_options"]) <= 0) {
        $errors[] = "error_no_options";
    }
    if (!isset($errors)) {
        //create new element in questions
        if (!isset($question)) {
            $question = steam_factory::create_container($steam, time() . "", $question_folder);
        }
        //set grading
        $geo = new questionary_geo();
        $geo->add_input_grading($grading["description"], $grading["grading_options"], $grading["must"], $grading["output"]);
        //save
        $result = $question->set_attribute("bid:question:geometry", $geo->get_last_element());
    }
}
//Disconnect
$steam->disconnect();
//redirect to edit page again
if (isset($result) && $result) {
    header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
    exit;
}
//******************************************************
//** Display Stuff
//******************************************************
        $errors[] = "error_no_number_width";
    }
    //check if rows is a number
    if (!ereg('^[[:digit:]]*$', $select["rows"])) {
        $errors[] = "error_no_number_rows";
    }
    //check if there is at least 1 option
    if (count($select["options"]) <= 0) {
        $errors[] = "error_no_options";
    }
    if (!isset($errors)) {
        //create new element in questions
        if (!isset($question)) {
            $question = steam_factory::create_container($steam, time() . "", $question_folder);
        }
        $geo = new questionary_geo();
        $geo->add_input_selectbox($select["question"], $select["question_position"], $select["width"], $select["rows"], $select["options"], $select["selected"], $select["must"], $select["output"]);
        //save
        $result = $question->set_attribute("bid:question:geometry", $geo->get_last_element());
    }
}
//Disconnect
$steam->disconnect();
//redirect to edit page again
if (isset($result) && $result) {
    header("Location: {$config_webserver_ip}/modules/questionary/edit.php?questionary=" . $questionary->get_id());
    exit;
}
//******************************************************
//** Display Stuff
//******************************************************