source: Dev/trunk/classes/SurveyTool.php @ 51

Last change on this file since 51 was 51, checked in by fpvanagthoven, 14 years ago

Start on survey page. There's something weird in surveycreationtool though. Should fix that.

File size: 2.5 KB
Line 
1<?php
2
3/**
4 * Description of SurveyTool
5 *
6 * @author fpvanagthoven
7 */
8class SurveyTool {
9
10    private $survey;
11
12    public function __construct($survey) {
13        $this->survey = $survey;
14
15        $this->init();
16    }
17
18    private function init() {
19        ?>
20        <form action="" method="post">
21            <?php
22            $this->displayTitle();
23            $this->displayDescription();
24            $this->displayQuestions();
25            $this->submitSurvey();
26            ?>
27        </form>
28        <?php
29    }
30
31    private function displayTitle() {
32        ?>
33        <h1><?php echo $this->survey->title; ?></h1>
34        <?php
35    }
36
37    private function displayDescription() {
38        ?>
39        <p><?php echo $this->survey->description; ?></p>
40        <?php
41    }
42
43    private function displayQuestions() {
44        foreach ($this->survey->questions as $numQ => $question) {
45
46            $this->displayQuestion($question, $numQ);
47        }
48    }
49
50    private function displayQuestion($question, $numQ) {
51        $this->displayQuestionTitle($question);
52        $this->displayQuestionDescription($question);
53        $this->displayAnswerBox($question, $numQ);
54    }
55
56    private function displayQuestionTitle($question) {
57        ?>
58        <h2><?php echo $question->title; ?></h2>
59        <?php
60    }
61
62    private function displayQuestionDescription($question) {
63        ?>
64        <p><?php echo $question->description; ?></p>
65        <?php
66    }
67
68    private function displayAnswerBox($question, $numQ) {
69        switch ($question->type) {
70            case 'text':
71
72
73                break;
74            case 'int':
75
76
77                break;
78            case 'mc':
79                foreach ($question->answers as $answer) {
80                    ?>
81                    <input type="radio" name="<?php echo 'q' . $numQ . 'ans1' ?>" value="<?php echo $answer; ?>" /><?php echo $answer; ?><br />
82                    <?php
83                }
84                break;
85            case 'checkboxes':
86                foreach ($question->answers as $numA => $answer) {
87                    ?>
88                    <input type="checkbox" name="<?php echo 'q' . $numQ . 'ans' . $numA; ?>" value="<?php echo $answer; ?>" /><?php echo $answer; ?><br />
89                    <?php
90                }
91
92                break;
93            case 'scale':
94
95
96                break;
97            default:
98                break;
99        }
100    }
101
102    private function submitSurvey() {
103        ?>
104        <input type="submit" value="Submit survey!" />
105        <?php
106    }
107
108}
109?>
Note: See TracBrowser for help on using the repository browser.