4 * GForge Survey Facility: Question handle program
6 * Copyright 2004 (c) GForge
11 require_once('../../env.inc.php');
12 require_once $gfcommon.'include/pre.php';
13 require_once $gfcommon.'survey/SurveyQuestion.class.php';
14 require_once $gfcommon.'survey/SurveyQuestionFactory.class.php';
15 require_once $gfwww.'survey/include/SurveyHTML.class.php';
17 $group_id = getIntFromRequest('group_id');
18 $survey_id = getIntFromRequest('survey_id');
19 $question_id = getIntFromRequest('question_id');
20 $question = getStringFromRequest('question');
21 $question_type = getStringFromRequest('question_type');
23 /* We need a group_id */
28 $g =& group_get_object($group_id);
29 if (!$g || !is_object($g) || $g->isError()) {
34 $sh = new SurveyHtml();
35 $sh->header(array('title'=>_('Add A Question')));
37 if (!session_loggedin() || !user_ismember($group_id,'A')) {
38 echo '<div class="error">'._('Permission denied').'</div>';
43 /* Create a Survey Question for general purpose */
44 $sq = new SurveyQuestion($g, $question_id);
45 if (!$sq || !is_object($sq)) {
46 echo '<div class="error">'._('Error'). ' ' . _('Cannot get Survey Question') ."</div>";
47 } else if ( $sq->isError()) {
48 echo '<div class="error">'._('Error'). $sq->getErrorMessage() ."</div>";
51 /* Delete a question */
52 if (getStringFromRequest('delete')=="Y" && $question_id) {
56 if ( $sq->isError()) {
57 $msg = _('Delete failed').' '.$sq->getErrorMessage();
58 echo '<div class="error">' .$msg ."</div>";
60 $msg = _('Delete successful');
61 echo '<div class="feedback">' .$msg ."</div>";
63 } else if (getStringFromRequest('post')=="Y") {
66 $sq->update($question, $question_type);
67 $msg = _('Update Successful');
68 } else { /* adding new question */
69 $question = getStringFromRequest('question');
70 if (!form_key_is_valid(getStringFromRequest('form_key'))) {
71 exit_form_double_submit();
73 $sq->create($question, $question_type);
74 $msg = _('Question Added');
78 if ( $sq->isError()) {
79 $msg = $sq->getErrorMessage();
80 form_release_key(getStringFromRequest("form_key"));
81 echo '<div class="error">' .$msg ."</div>";
83 echo '<div class="feedback">' .$msg ."</div>";
86 /* Add now Question */
90 /* Show Add/Modify form
91 * If $question is null it is add form, otherwise modify
93 echo($sh->showAddQuestionForm($sq));
95 /* Show existing questions (if any)
97 $sqf = new SurveyQuestionFactory($g);
98 $sqs = & $sqf->getSurveyQuestions();
100 echo (_('No questions found'));
102 echo($sh->showQuestions($sqs));
105 $sh->footer(array());
109 // c-file-style: "bsd"