예제 #1
0
 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();
     }
 }
예제 #2
0
파일: Index.class.php 프로젝트: rolwi/koala
 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();
 }
예제 #3
0
 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();
     */
 }