public function execute($request, $response) { $myExtension = \Questionary::getInstance(); $name = trim(isset($_POST["name"]) ? $_POST["name"] : "test"); //current room steam object //if( (int) $object != 0 ) //$current_room = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $object); //else $current_room = $GLOBALS["STEAM"]->get_current_steam_user()->get_workroom(); $steamUser = $GLOBALS["STEAM"]->get_current_steam_user(); //get write permission $access_write = $current_room->check_access_write($steamUser); $access_read = $current_room->check_access_read($steamUser); $access_insert = $current_room->check_access_insert($steamUser); $allowed = $access_write && $access_read && $access_insert ? true : false; if (!$allowed) { // ACCESS DENIED? } //create questionary if adviced too if (isset($_POST["mission"]) && $_POST["mission"] == "create" && $name != "" && $allowed) { //create new questionary $questionary = \steam_factory::create_container($GLOBALS["STEAM"]->get_id(), $name, $current_room); $questions_folder = \steam_factory::create_container($GLOBALS["STEAM"]->get_id(), 'questions', $questionary); $answers_folder = \steam_factory::create_container($GLOBALS["STEAM"]->get_id(), 'answers', $questionary); if (isset($_POST["description"])) { $description = $_POST["description"]; } else { $description = ""; } if ($questionary && $questions_folder && $answers_folder) { //set standard layout $layout = "template"; //$templates[1]; //define rights for the attributes $loginuser_id = $steamUser->get_id(); $rootid = \steam_factory::username_to_object($GLOBALS["STEAM"]->get_id(), "root")->get_id(); $author_rights[$loginuser_id] = $loginuser_id; $editor_rights[$loginuser_id] = $loginuser_id; $analyst_rights[$loginuser_id] = $loginuser_id; $author_rights[$rootid] = $rootid; $editor_rights[$rootid] = $rootid; $analyst_rights[$rootid] = $rootid; //define container as questionary and set all attributes $attributes = array("bid:doctype" => "questionary", "bid:questionary:fillout" => "1", "bid:questionary:editanswer" => "1", "bid:questionary:editownanswer" => "0", "bid:questionary:number" => "1", "bid:questionary:resultcreator" => "1", "bid:questionary:resultcreationtime" => "1", "bid:questionary:description" => $description, "bid:questionary:edittime" => array(0, 0, 0), "bid:questionary:enabled" => false, "bid:questionary:layout" => $layout, "bid:questionary:author_rights" => $author_rights, "bid:questionary:editor_rights" => $editor_rights, "bid:questionary:analyst_rights" => $analyst_rights); $result = $questionary->set_attributes($attributes); header("Location: " . PATH_URL . "questionary/editQuestionary/" . $questionary->get_id()); } } else { $myExtension->addCSS(); $content = $myExtension->loadTemplate("questionaryNewQuestionary.template.html"); $content->setCurrentBlock('BLOCK_FORM_NEW_QUESTIONARY'); $content->setVariable("QUESTIONARY_ID", ""); $content->setVariable("BUTTON_MISSION", "create"); $content->setVariable("OBJECT_ID", $current_room->get_id()); $content->parse('BLOCK_FORM_NEW_QUESTIONARY'); return $content->get(); } }
public function execute($request, $response) { $path = $request->getPath(); $objectId = $path[2]; $questionary = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); $question_folder = $questionary->get_object_by_name('questions'); $answer_folder = $questionary->get_object_by_name('answers'); $answers = $answer_folder->get_inventory(); $steamUser = $GLOBALS["STEAM"]->get_current_steam_user(); $questionaryAttributes = $questionary->get_attributes(array(OBJ_NAME, OBJ_DESC, "bid:questionary:fillout", "bid:questionary:description", "bid:questionary:editownanswer", "bid:questionary:edittime", "bid:questionary:enabled")); $questionary_display_name = $questionaryAttributes[OBJ_NAME]; $att_fillout = $questionaryAttributes["bid:questionary:fillout"]; $att_description = $questionaryAttributes["bid:questionary:description"]; $att_edit_own_answer = $questionaryAttributes["bid:questionary:editownanswer"]; $att_edit_time = $questionaryAttributes["bid:questionary:edittime"]; $att_enabled = $questionaryAttributes["bid:questionary:enabled"]; $questionary_display_name = $questionaryAttributes[OBJ_NAME]; if (isset($questionaryAttributes[OBJ_DESC]) && $questionaryAttributes[OBJ_DESC] != "") { $questionary_display_name = $questionaryAttributes[OBJ_DESC]; } $att_fillout = $questionaryAttributes["bid:questionary:fillout"]; $att_description = $questionaryAttributes["bid:questionary:description"]; $att_edit_own_answer = $questionaryAttributes["bid:questionary:editownanswer"]; $att_edit_time = $questionaryAttributes["bid:questionary:edittime"]; $att_enabled = $questionaryAttributes["bid:questionary:enabled"]; $myExtension = \Questionary::getInstance(); $myExtension->addCSS(); $content = $myExtension->loadTemplate("questionaryIndex.template.html"); $content->setCurrentBlock('BLOCK_HEAD'); $content->setVariable("QUESTIONARY_NAME", $questionary_display_name); $content->setVariable("DESCRIPTION", $att_description); $content->parse('BLOCK_HEAD'); /* $content->setCurrentBlock('BLOCK_EDIT_TIME_ROW'); $content->setVariable("START_DATE", date("d.m.Y", $att_edit_time[1])); $content->setVariable("END_DATE", date("d.m.Y", $att_edit_time[2])); $content->parse('BLOCK_EDIT_TIME_ROW'); */ return $content->get(); }
public function execute($request, $response) { $myExtension = \Questionary::getInstance(); $steamUser = $GLOBALS["STEAM"]->get_current_steam_user(); $path = $request->getPath(); //****************************************************** //** Presumption //****************************************************** $questionary_id = isset($path[2]) ? $path[2] : (isset($_POST["questionary"]) ? $_POST["questionary"] : ""); $action = isset($_GET["mission"]) ? $_GET["mission"] : (isset($_POST["mission"]) ? $_POST["mission"] : ""); $question_id = isset($_GET["question_id"]) ? $_GET["question_id"] : (isset($_POST["question_id"]) ? $_POST["question_id"] : ""); $combo_id = isset($_GET["option"]) ? $_GET["option"] : (isset($_POST["option"]) ? $_POST["option"] : ""); //current room steam object if ((int) $questionary_id != 0) { $questionary = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $questionary_id); $question_folder = $questionary->get_object_by_name('questions'); $answer_folder = $questionary->get_object_by_name('answers'); if ((int) $question_id != 0) { $question = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $question_id); } } else { //TODO: HÄÄÄÄ????????? //header("Location: $config_webserver_ip/index.php"); //exit(); } /* * TODO: RIGHTS MANAGEMENT // 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>"); } */ //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); } //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"]; $edittime = $attributes["bid:questionary:edittime"][0]; /* $myExtension->addCSS(); $content = $myExtension->loadTemplate("questionaryNewQuestionary.template.html"); $content->setCurrentBlock('BLOCK_FORM_NEW_QUESTIONARY'); $content->setVariable("QUESTIONARY_ID", ""); $content->setVariable("BUTTON_MISSION", "create"); $content->setVariable("OBJECT_ID", $current_room->get_id()); $content->parse('BLOCK_FORM_NEW_QUESTIONARY'); return $content->get(); */ }