27 $this->lng->loadLanguageModule(
'barometer');
39 if(isset(
$_SESSION[
'error_post_vars'][
'cmd'][
'update'])){
41 $this->ctrl->setCmd(
'edit');
43 $this->ctrl->setCmd(
'addBarometer');
45 $params = $this->ctrl->getParameterArray($this);
47 $cmd = $this->ctrl->getCmd(
'fbList');
50 if((!$ilAccess->checkAccess(
'write',
'edit',$params[
'ref_id']))&&(in_array(
$cmd,array(
'fbList',
'save',
'delete',
'update',
'edit'))))
51 $cmd =
'showBarometer';
53 $next_class = $this->ctrl->getNextClass($this);
56 return($this->
$cmd());
64 $tpl =
new ilTemplate(
"tpl.feedbacklist.html",
true,
true,
"Services/Feedback");
65 $tpl->setVariable(
"TXT_FEEDBACK_TITLE", $lng->txt(
"stimmungsb"));
66 $tpl->setVariable(
"TXT_TITLE", $lng->txt(
"title"));
67 $tpl->setVariable(
"TXT_STATUS", $lng->txt(
"status"));
68 $tpl->setVariable(
"TXT_ACTIVE_TIME", $lng->txt(
"active_time"));
69 $tpl->setVariable(
"TXT_OPTIONS", $lng->txt(
"options"));
71 $tpl->setVariable(
"TXT_NEW_VOTE", $lng->txt(
"options"));
72 $tpl->parseCurrentBlock();
81 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
85 $ilFeedback->setRefId(
$_GET[
'ref_id']);
86 $barometers = $ilFeedback->getAllBarometer();
88 if(is_Array($barometers)){
89 foreach($barometers as $barometer){
91 $rows[$cnt][
'title'] = $barometer->getTitle();
92 $rows[$cnt][
'status'] =
'Aktive';
93 if(($barometer->getStarttime()>0) && ($barometer->getStarttime()>0)){
94 $rows[$cnt][
'running'] = date(
'd.m.Y H:i',$barometer->getStarttime()).
' - '.date(
'd.m.Y H:i',$barometer->getEndtime());
95 if(($barometer->getStarttime()<=time())&&($barometer->getEndtime()>=time()))
96 $rows[$cnt][
'status'] = $this->lng->txt(
'active');
98 $rows[$cnt][
'status'] = $this->lng->txt(
'inactive');
101 $rows[$cnt][
'running'] =
'';
102 $rows[$cnt][
'status'] = $this->lng->txt(
'active');
104 $rows[$cnt][
'options'] = $this->
getButtons($barometer->getId());
105 $barometer_ids[]=$barometer->getId();
110 $tbl->tpl->setCurrentBlock(
"tbl_form_header");
111 $tbl->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
112 $tbl->tpl->parseCurrentBlock();
113 $tbl->setTitle($this->lng->txt(
"feedb_feedback_list"),
114 "icon_feedb.gif", $this->lng->txt(
"feedb_feedback_list"));
115 $tbl->setHeaderNames(array(
"",$this->lng->txt(
"title"),$this->lng->txt(
"status"),$this->lng->txt(
"time"),$this->lng->txt(
"options")));
116 $tbl->setHeaderVars(array(
"checkbox",
"title",
"stauts",
"running",
"options"));
117 $tbl->setData($rows);
120 $tbl->disable(
'sort');
121 $tbl->setMaxCount(count($rows));
122 $tbl->tpl->setCurrentBlock(
"plain_button");
123 $tbl->tpl->setVariable(
"PBTN_NAME",
"addBarometer");
124 $tbl->tpl->setVariable(
"PBTN_VALUE",$this->lng->txt(
"barometer_add"));
125 $tbl->tpl->parseCurrentBlock();
126 $tbl->tpl->setCurrentBlock(
"plain_buttons");
127 $tbl->tpl->parseCurrentBlock();
131 $tbl->tpl->setCurrentBlock(
"tbl_action_toggle_checkboxes");
132 $tbl->tpl->setVariable(
"JS_VARNAME",
"barometer");
134 $tbl->tpl->setVariable(
"TXT_CHECKALL", $this->lng->txt(
"check_all"));
135 $tbl->tpl->setVariable(
"TXT_UNCHECKALL", $this->lng->txt(
"uncheck_all"));
136 $tbl->tpl->parseCurrentBlock();
140 $tbl->tpl->setVariable(
"COLUMN_COUNTS",5);
143 $tbl->tpl->setCurrentBlock(
"tbl_action_select");
145 $tbl->tpl->setVariable(
"BTN_NAME",
"delete");
146 $tbl->tpl->setVariable(
"BTN_VALUE",$this->lng->txt(
"delete"));
147 $tbl->tpl->parseCurrentBlock();
149 $tbl->setOrderDirection(
'asc');
150 $tbl->setColumnWidth(array(
"",
"25%",
"25%",
"25%",
""));
151 #$tbl->disable('sort');
152 $tbl->setFooter(
"tblfooter");
155 return($tbl->tpl->get());
160 include_once
"./Services/Table/classes/class.ilTableGUI.php";
166 if(is_array(
$_POST[
'barometer']))
168 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
170 $ilFB->setIds(
$_POST[
'barometer']);
173 ilUtil::redirect($this->ctrl->getLinkTarget($this,
'fbList',
'',
false,
false));
177 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
180 $tpl =
new ilTemplate(
"tpl.feedback_stats.html",
true,
true,
"Services/Feedback");
183 $feedback->setId(
$_GET[
'barometer_id']);
184 $chartdata = $feedback->getChartData();
185 $data = $chartdata[
'data'];
186 $legend = $chartdata[
'legend'];
187 $legendpie = $chartdata[
'legendpie'];
188 $datapie = $chartdata[
'datapie'];
189 $datatable = $chartdata[
'table'];
191 $chartlines =
'<img src="Services/Feedback/showchart.php?chart_type=lines&title='.base64_encode($this->lng->txt(
'chart_users')).
'&data='.base64_encode(serialize(
$data)).
'&legend='.base64_encode(serialize(
$legend)).
'">';
192 $chartpie =
'<img src="Services/Feedback/showchart.php?chart_type=pie&title='.base64_encode($this->lng->txt(
'chart_votes')).
'&data='.base64_encode(serialize($datapie)).
'&legend='.base64_encode(serialize($legendpie)).
'">';
198 $chart_user[0] = $this->lng->txt(
'all_users');
199 $chart_user = $feedback->getResultUsers();
201 $tpl->setVariable(
"TXT_USER",$this->lng->txt(
'user'));
202 $tpl->setVariable(
"TXT_CHART_TYPE",$this->lng->txt(
'chart_type'));
203 switch(
$_POST[
'chart_type']){
205 $tpl->setVariable(
"CHART_PIE", $chartpie);
208 if(is_array($datatable)){
209 $tpl->setCurrentBlock(
'tablerow');
210 $tpl->setVariable(
'TXT_TABLE_USERNAME',$this->lng->txt(
'username'));
211 $tpl->setVariable(
'TXT_TABLE_VOTE',$this->lng->txt(
'vote'));
212 $tpl->setVariable(
'TXT_TABLE_DATE', $this->lng->txt(
'date'));
213 $tpl->parseCurrentBlock();
215 foreach($datatable as $tablerow){
216 $tpl->setVariable(
'VALUE_NUM',(($i++ % 2) ? 1 : 2));
217 $tpl->setVariable(
'VALUE_VOTETIME', $tablerow[
'votetime']);
218 $tpl->setVariable(
'VALUE_USER', $tablerow[
'user']);
219 $tpl->setVariable(
'VALUE_VOTE', $tablerow[
'vote']);
220 $tpl->parseCurrentBlock();
225 $tpl->setVariable(
"CHART_LINES", $chartlines);
234 $comments = $feedback->getNotes();
235 if(is_Array($comments)){
236 $tpl->setCurrentBlock(
'comment_row');
237 $tpl->setVariable(
'TXT_USERNAME',$this->lng->txt(
'username'));
238 $tpl->setVariable(
'TXT_COMMENT',$this->lng->txt(
'comment'));
239 $tpl->setVariable(
'TXT_DATE', $this->lng->txt(
'date'));
240 $tpl->parseCurrentBlock();
243 $tpl->setVariable(
'VALUE_NUM',(($i++ % 2) ? 1 : 2));
244 $tpl->setVariable(
'VALUE_LOGIN',$comment[
'user']);
245 $tpl->setVariable(
'VALUE_DATE',$comment[
'votetime']);
246 $tpl->setVariable(
'VALUE_NOTE',$comment[
'note']);
247 $tpl->parseCurrentBlock();
250 $tpl->parseCurrentBlock();
260 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
263 $tpl =
new ilTemplate(
"tpl.feedback_edit.html",
true,
true,
"Services/Feedback");
266 $data[
'description'] =
$_POST[
'text'] ?
$_POST[
'text'] : $ilFB->getDescription();
267 $data[
'anonymous'] = (
$_POST[
'anonymous']!=
'') ?
$_POST[
'anonymous'] : $ilFB->getAnonymous();
268 $data[
'required'] = (
$_POST[
'required']!=
'') ?
$_POST[
'required'] : $ilFB->getRequired();
270 $data[
'vote'] =
$_POST[
'vote'] ?
$_POST[
'vote'] : unserialize($ilFB->getVotes());
271 if(
$_POST[
'extra_votes']==
'')
273 $data[
'text_answer'] = (
$_POST[
'text_answer']!=
'') ?
$_POST[
'text_answer'] : $ilFB->getTextAnswer();
274 if($ilFB->getStarttime()>=0||isset(
$_POST[
'start_day'])){
275 $data[
'start_day'] =
$_POST[
'start_day'] ?
$_POST[
'start_day'] : date(
'd',$ilFB->getStarttime());
276 $data[
'start_month'] =
$_POST[
'start_month'] ?
$_POST[
'start_month'] : date(
'm',$ilFB->getStarttime());
277 $data[
'start_year'] =
$_POST[
'start_year'] ?
$_POST[
'start_year'] :date(
'Y',$ilFB->getStarttime());
278 $data[
'start_hour'] =
$_POST[
'start_hour'] ?
$_POST[
'start_hour'] :date(
'H',$ilFB->getStarttime());
279 $data[
'start_minute'] =
$_POST[
'start_minute'] ?
$_POST[
'start_minute'] :date(
'i',$ilFB->getStarttime());
281 if($ilFB->getEndtime()>=0||isset(
$_POST[
'end_day'])){
282 $data[
'end_day'] =
$_POST[
'end_day'] ?
$_POST[
'end_day'] :date(
'd',$ilFB->getEndtime());
283 $data[
'end_month'] =
$_POST[
'end_month'] ?
$_POST[
'end_month'] :date(
'm',$ilFB->getEndtime());
284 $data[
'end_year'] =
$_POST[
'end_year'] ?
$_POST[
'end_year'] :date(
'Y',$ilFB->getEndtime());
285 $data[
'end_hour'] =
$_POST[
'end_hour'] ?
$_POST[
'end_hour'] :date(
'H',$ilFB->getEndtime());
286 $data[
'end_minute'] =
$_POST[
'end_minute'] ?
$_POST[
'end_minute'] :date(
'i',$ilFB->getEndtime());
289 $data[
'interval'] =
$_POST[
'interval'] ?
$_POST[
'interval'] : $ilFB->getInterval();
290 $data[
'interval_unit'] =
$_POST[
'interval_unit'] ?
$_POST[
'interval_unit'] : $ilFB->getIntervalUnit();
291 $data[
'first_vote_best'] = (
$_POST[
'first_vote_best']!=
'') ?
$_POST[
'first_vote_best'] : $ilFB->getFirstVoteBest();
293 $this->ctrl->setParameter($this,
"barometer_id",
$_GET[
'barometer_id']);
294 $tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
295 $tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"feedb_edit_feedback"));
297 $tpl->setVariable(
"ALT_FEEDB", $this->lng->txt(
"feedb_edit_feedback"));
298 $tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"title"));
299 $tpl->setVariable(
"VALUE_TITLE",
$data[
'title']);
300 $tpl->setVariable(
"TXT_TOP_TEXT", $this->lng->txt(
"text"));
301 $tpl->setVariable(
"TXT_TIME", $this->lng->txt(
"feedb_time"));
302 $tpl->setVariable(
"VALUE_TEXT",
$data[
'description']);
303 $tpl->setVariable(
"TXT_ANONYMOUS", $this->lng->txt(
"anonymous"));
305 if(
$data[
"anonymous"]==
"0")
306 $tpl->setVariable(
"ANONYMOUS_NO",
" checked");
308 $tpl->setVariable(
"ANONYMOUS_YES",
" checked");
309 $tpl->setVariable(
"TXT_YES", $this->lng->txt(
"yes"));
310 $tpl->setVariable(
"TXT_NO", $this->lng->txt(
"no"));
311 $tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"type"));
312 $typeSB[0] = $this->lng->txt(
'optional');
313 $typeSB[1] = $this->lng->txt(
'required');
315 $tpl->setVariable(
"SELECT_TYPE",
318 $tpl->setVariable(
"TXT_REQUIRED", $this->lng->txt(
"required"));
319 if(
$data[
"show_on"]==
"course")
320 $tpl->setVariable(
"SHOW_CHANGE_COURSE_SELECTED",
"selected");
322 $tpl->setVariable(
"SHOW_LOGIN_SELECTED",
"selected");
323 $tpl->setVariable(
"TXT_LOGIN", $this->lng->txt(
"login"));
324 $tpl->setVariable(
"TXT_CHANGE_COURSE", $this->lng->txt(
"change_course"));
325 if(
$data[
"text_answer"]==
"1")
326 $tpl->setVariable(
"TEXT_ANSWER_YES",
" checked");
328 $tpl->setVariable(
"TEXT_ANSWER_NO",
" checked");
329 $tpl->setVariable(
"TXT_TEXT_ANSWER", $this->lng->txt(
"text_answer"));
330 $tpl->setVariable(
"TXT_VOTES", $this->lng->txt(
"votes"));
331 $extra_votes =
$_POST[
"extra_votes"] ?
$_POST[
"extra_votes"]+1 : (count(
$data[
"vote"])-2);
332 if ($extra_votes<1) $extra_votes=1;
333 $tpl->setVariable(
"VALUE_EXTRA_VOTES", $extra_votes);
335 for($i=1;$i < 3+$extra_votes ;$i++){
336 $tpl->setCurrentBlock(
"vote");
337 $tpl->setVariable(
"TXT_TEXT",$this->lng->txt(
"text"));
338 $tpl->setVariable(
"VALUE_VOTE_TEXT",
$data[
"vote"][$i]);
339 $tpl->setVariable(
"VOTE_NUM",$i);
340 $tpl->parseCurrentBlock();
343 $tpl->setVariable(
"TXT_DAY",$this->lng->txt(
"day"));
344 $tpl->setVariable(
"SELECT_ACTIVATION_START_DAY",$this->
getDateSelect(
'day',
'start_day',
$data[
'start_day']));
345 $tpl->setVariable(
"SELECT_ACTIVATION_START_MONTH",$this->
getDateSelect(
'month',
'start_month',
$data[
'start_month']));
346 $tpl->setVariable(
"SELECT_ACTIVATION_START_YEAR",$this->
getDateSelect(
'year',
'start_year',
$data[
'start_year']));
347 $tpl->setVariable(
"SELECT_ACTIVATION_START_HOUR",$this->
getDateSelect(
'hour',
'start_hour',
$data[
'start_hour']));
348 $tpl->setVariable(
"SELECT_ACTIVATION_START_MINUTE",$this->
getDateSelect(
'minute',
'start_minute',
$data[
'start_minute']));
350 $tpl->setVariable(
"SELECT_ACTIVATION_END_MONTH",$this->
getDateSelect(
'month',
'end_month',
$data[
'end_month']));
351 $tpl->setVariable(
"SELECT_ACTIVATION_END_YEAR",$this->
getDateSelect(
'year',
'end_year',
$data[
'end_year']));
352 $tpl->setVariable(
"SELECT_ACTIVATION_END_HOUR",$this->
getDateSelect(
'hour',
'end_hour',
$data[
'end_hour']));
353 $tpl->setVariable(
"SELECT_ACTIVATION_END_MINUTE",$this->
getDateSelect(
'minute',
'end_minute',
$data[
'end_minute']));
355 $tpl->setVariable(
"TXT_MONTH",$this->lng->txt(
"month"));
356 $tpl->setVariable(
"TXT_YEAR",$this->lng->txt(
"year"));
357 $tpl->setVariable(
"TXT_FROM",$this->lng->txt(
"from"));
358 $tpl->setVariable(
"TXT_UNTIL",$this->lng->txt(
"until"));
360 $tpl->setVariable(
"TXT_DURATION",$this->lng->txt(
"duration"));
361 $tpl->setVariable(
"TXT_HOURS",$this->lng->txt(
"hours"));
362 $tpl->setVariable(
"TXT_DAYS",$this->lng->txt(
"days"));
363 $tpl->setVariable(
"TXT_WEEKS",$this->lng->txt(
"weeks"));
364 $tpl->setVariable(
"TXT_MONTHS",$this->lng->txt(
"months"));
365 $tpl->setVariable(
"TXT_REPEAT",$this->lng->txt(
"repeat"));
366 $tpl->setVariable(
"TXT_FTEXT",$this->lng->txt(
"text"));
368 for($i=0;$i < 25;$i++){
373 $interval_unitSB[0] = $this->lng->txt(
'hours');
374 $interval_unitSB[1] = $this->lng->txt(
'days');
375 $interval_unitSB[2] = $this->lng->txt(
'weeks');
376 $interval_unitSB[3] = $this->lng->txt(
'months');
379 $tpl->setVariable(
"TXT_FIRST_VOTE",$this->lng->txt(
"first_vote"));
380 $tpl->setVariable(
"TXT_BEST",$this->lng->txt(
"best"));
381 $tpl->setVariable(
"TXT_WORST",$this->lng->txt(
"worst"));
382 if(
$data[
"first_vote_best"]==1)
383 $tpl->setVariable(
"BEST_CHECKED",
"checked");
385 $tpl->setVariable(
"WORST_CHECKED",
"checked");
386 $tpl->setVariable(
"TXT_VOTE", $this->lng->txt(
"vote"));
387 $tpl->setVariable(
"TXT_NEW_VOTE", $this->lng->txt(
"new_vote"));
388 $tpl->setVariable(
"CMD_ADDVOTE",
'edit');
389 $tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"save"));
390 $tpl->setVariable(
"CMD_SUBMIT",
"update");
391 $tpl->parseCurrentBlock();
398 return $this->
save();
403 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
404 $params = $this->ctrl->getParameterArray($this);
411 #$this->ctrl->setParameter($this,'barometer_id',(int) $_GET['barometer_id']);
412 #$this->ctrl->redirect($this,'edit');
413 --$_POST[
'extra_votes'];
414 return $this->
edit();
416 foreach ($_POST[
'vote'] as $k=>$v)
420 $tmp_votes[$vote_cnt]=$v;
424 if(($_POST[
'title']==
'')||($_POST[
'text']==
'')|| $vote_cnt<3)
427 --$_POST[
'extra_votes'];
428 return $this->
edit();
429 #$this->ctrl->setParameter($this,'a','32');
430 #$ilias->raiseError($this->lng->txt('missing_fields'),$ilias->error_obj->MESSAGE);
439 $ilFeedback->setVotes(serialize($tmp_votes));
445 $ilFeedback->setEndtime(mktime(
451 $ilFeedback->setInterval(
453 $ilFeedback->setIntervalUnit(
455 $ilFeedback->setFirstVoteBest(
457 $ilFeedback->setObjId($params[
'obj_id']);
458 $ilFeedback->setRefId($params[
'ref_id']);
461 $ilFeedback->setId(
$_GET[
'barometer_id']);
462 $ilFeedback->update();
465 $ilFeedback->create();
466 ilUtil::redirect($this->ctrl->getLinkTarget($this,
'fbList',
'',
false,
false));
488 $tpl =
new ilTemplate(
"tpl.feedback_edit.html",
true,
true,
"Services/Feedback");
489 $tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
490 $tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"bar_create"));
492 $tpl->setVariable(
"ALT_FEEDB", $this->lng->txt(
"bar_create"));
493 $tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"title"));
494 $tpl->setVariable(
"TXT_TIME", $this->lng->txt(
"feedb_time"));
495 $tpl->setVariable(
"VALUE_TITLE",$this->
get_last(
"title"));
496 $tpl->setVariable(
"TXT_TOP_TEXT", $this->lng->txt(
"text"));
497 $tpl->setVariable(
"VALUE_TEXT", $this->
get_last(
"text"));
498 $tpl->setVariable(
"TXT_ANONYMOUS", $this->lng->txt(
"anonymous"));
499 if($this->
get_last(
"anonymous")==
"0")
500 $tpl->setVariable(
"ANONYMOUS_NO",
" checked");
502 $tpl->setVariable(
"ANONYMOUS_YES",
" checked");
503 $tpl->setVariable(
"TXT_YES", $this->lng->txt(
"yes"));
504 $tpl->setVariable(
"TXT_NO", $this->lng->txt(
"no"));
505 $tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"type"));
506 $typeSB[0] = $this->lng->txt(
'optional');
507 $typeSB[1] = $this->lng->txt(
'required');
510 $tpl->setVariable(
"TXT_REQUIRED", $this->lng->txt(
"required"));
511 if($this->
get_last(
"show_on")==
"course")
512 $tpl->setVariable(
"SHOW_CHANGE_COURSE_SELECTED",
"selected");
514 $tpl->setVariable(
"SHOW_LOGIN_SELECTED",
"selected");
515 $tpl->setVariable(
"TXT_LOGIN", $this->lng->txt(
"login"));
516 $tpl->setVariable(
"TXT_CHANGE_COURSE", $this->lng->txt(
"change_course"));
517 if($this->
get_last(
"text_answer")==
"1")
518 $tpl->setVariable(
"TEXT_ANSWER_YES",
" checked");
520 $tpl->setVariable(
"TEXT_ANSWER_NO",
" checked");
521 $tpl->setVariable(
"TXT_TEXT_ANSWER", $this->lng->txt(
"text_answer"));
522 $tpl->setVariable(
"TXT_VOTES", $this->lng->txt(
"votes"));
523 $extra_votes = $this->
get_last(
"extra_votes",0);
524 if (
$_POST[
'cmd'][
'addBarometer']) $extra_votes+=1;
525 $tpl->setVariable(
"VALUE_EXTRA_VOTES", $extra_votes);
526 $vote_txt=$this->
get_last(
'vote',array(),
false);
527 for($i=1;$i < 3+$extra_votes ;$i++){
528 $tpl->setCurrentBlock(
"vote");
529 $tpl->setVariable(
"TXT_TEXT",$this->lng->txt(
"text"));
531 $tpl->setVariable(
"VOTE_NUM",$i);
532 $tpl->parseCurrentBlock();
534 $tpl->setVariable(
"TXT_DAY",$this->lng->txt(
"day"));
536 $tpl->setVariable(
"SELECT_ACTIVATION_START_MONTH",$this->
getDateSelect(
'month',
'start_month',$this->
get_last(
'start_month')));
537 $tpl->setVariable(
"SELECT_ACTIVATION_START_YEAR",$this->
getDateSelect(
'year',
'start_year',$this->
get_last(
'start_year')));
538 $tpl->setVariable(
"SELECT_ACTIVATION_START_HOUR",$this->
getDateSelect(
'hour',
'start_hour',$this->
get_last(
'start_hour')));
539 $tpl->setVariable(
"SELECT_ACTIVATION_START_MINUTE",$this->
getDateSelect(
'minute',
'start_minute',$this->
get_last(
'start_minute')));
544 $tpl->setVariable(
"SELECT_ACTIVATION_END_MINUTE",$this->
getDateSelect(
'minute',
'end_minute',$this->
get_last(
'end_minute')));
546 $tpl->setVariable(
"TXT_MONTH",$this->lng->txt(
"month"));
547 $tpl->setVariable(
"TXT_YEAR",$this->lng->txt(
"year"));
548 $tpl->setVariable(
"TXT_FROM",$this->lng->txt(
"from"));
549 $tpl->setVariable(
"TXT_UNTIL",$this->lng->txt(
"until"));
551 $tpl->setVariable(
"TXT_DURATION",$this->lng->txt(
"duration"));
552 $tpl->setVariable(
"TXT_HOURS",$this->lng->txt(
"hours"));
553 $tpl->setVariable(
"TXT_DAYS",$this->lng->txt(
"days"));
554 $tpl->setVariable(
"TXT_WEEKS",$this->lng->txt(
"weeks"));
555 $tpl->setVariable(
"TXT_MONTHS",$this->lng->txt(
"months"));
556 $tpl->setVariable(
"TXT_REPEAT",$this->lng->txt(
"repeat"));
558 for($i=0;$i < 25;$i++){
562 $tpl->setVariable(
"TXT_EVERY",$this->lng->txt(
"every"));
564 $interval_unitSB[0] = $this->lng->txt(
'hours');
565 $interval_unitSB[1] = $this->lng->txt(
'days');
566 $interval_unitSB[2] = $this->lng->txt(
'weeks');
567 $interval_unitSB[3] = $this->lng->txt(
'months');
570 $tpl->setVariable(
"TXT_FIRST_VOTE",$this->lng->txt(
"first_vote"));
571 $tpl->setVariable(
"TXT_BEST",$this->lng->txt(
"best"));
572 $tpl->setVariable(
"TXT_WORST",$this->lng->txt(
"worst"));
573 if($this->
get_last(
"first_vote_best")==1)
574 $tpl->setVariable(
"BEST_CHECKED",
"checked");
576 $tpl->setVariable(
"WORST_CHECKED",
"checked");
578 $tpl->setVariable(
"TXT_NEW_VOTE", $this->lng->txt(
"new_vote"));
579 $tpl->setVariable(
"CMD_ADDVOTE",
'addBarometer');
580 $tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"save"));
581 $tpl->setVariable(
"CMD_SUBMIT",
"save");
582 $tpl->parseCurrentBlock();
588 $tpl =
new ilTemplate(
"tpl.buttons.html",
true,
true,
"Services/Feedback");
590 $tpl->setCurrentBlock(
"btn_cell");
591 $this->ctrl->setParameter($this,
"barometer_id",$a_barometer_id);
592 $this->ctrl->setParameter($this,
"ref_id",
$_GET[
'ref_id']);
593 $tpl->setVariable(
"BTN_LINK", $this->ctrl->getLinkTarget($this,
'stats'));
594 $tpl->setVariable(
"BTN_TXT", $this->lng->txt(
"statistics"));
595 $tpl->parseCurrentBlock();
596 $tpl->setCurrentBlock(
"btn_cell");
597 $tpl->setVariable(
"BTN_LINK", $this->ctrl->getLinkTarget($this,
'edit'));
598 $tpl->setVariable(
"BTN_TXT", $this->lng->txt(
"edit"));
599 $tpl->parseCurrentBlock();
609 $days[$i] = $i < 10 ?
"0".$i : $i;
616 $days[$i] = $i < 10 ?
"0".$i : $i;
623 $days[$i] = $i < 10 ?
"0".$i : $i;
631 $month[$i] = $i < 10 ?
"0".$i : $i;
637 for($i = date(
"Y",time());$i < date(
"Y",time()) + 3;++$i)
647 global $ilAccess,$ilUser;
648 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
650 $bid = $a_id ? $a_id :
$_GET[
'barometer_id'];
651 $feedback->setId($bid);
652 $feedback->getBarometer();
653 if($feedback->getId()&& ($feedback->canVote($ilUser->getId(),$feedback->getId())==1)){
654 $tpl =
new ilTemplate(
"tpl.feedback_vote.html",
true,
true,
"Services/Feedback");
658 $tpl->setCurrentBlock(
"vote_head");
661 $tpl->parseCurrentBlock();
664 $tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this).
'&fb_id='.$feedback->getId());
665 $tpl->setVariable(
"TXT_TITLE", $feedback->getTitle());
666 $tpl->setVariable(
"TXT_DESCRIPTION", $feedback->getDescription());
667 $votes = unserialize($feedback->getVotes());
669 foreach($votes as $vote => $votetext){
673 $tpl->setVariable(
"TXT_SAVE",$this->lng->txt(
'save_vote'));
675 $tpl->setVariable(
"RADIO_VOTES",$radios);
676 if($feedback->getTextAnswer()){
677 $tpl->setCurrentBlock(
"text_answer");
678 $tpl->setVariable(
"TXT_NOTE",$this->lng->txt(
'note'));
681 $tpl->parseCurrentBlock();
690 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
691 include_once(
'Modules/Course/classes/class.ilCourseParticipant.php');
695 $feedback->getFeedback();
698 if(($feedback->getId()) && ($members_obj->isAssigned()))
700 return($feedback->getRefId());
708 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
711 $ilfeedback->setRefId(
$_GET[
'ref_id']);
712 $feedbacks = $ilfeedback->getAllBarometer();
716 foreach($feedbacks as $feedback){
718 if($feedback->getId()&& ($feedback->canVote($ilUser->getId(),$feedback->getId())==1)){
719 $tpl =
new ilTemplate(
"tpl.feedback_vote.html",
true,
true,
"Services/Feedback");
720 $tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this).
'&fb_id='.$feedback->getId());
721 $tpl->setVariable(
"TXT_TITLE", $feedback->getTitle());
722 $tpl->setVariable(
"TXT_DESCRIPTION", $feedback->getDescription());
723 $votes = unserialize($feedback->getVotes());
725 foreach($votes as $vote => $votetext){
729 $tpl->setVariable(
"TXT_SAVE",$this->lng->txt(
'save_vote'));
730 $tpl->setVariable(
"RADIO_VOTES",$radios);
731 if($feedback->getTextAnswer()){
732 $tpl->setCurrentBlock(
"text_answer");
733 $tpl->setVariable(
"TXT_NOTE",$this->lng->txt(
'note'));
736 $tpl->parseCurrentBlock();
744 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
747 $feedback->setId(
$_GET[
'fb_id']);
748 $feedback->getBarometer();
751 if($feedback->getAnonymous())
752 $feedback->setUserId(0);
754 $feedback->setUserId($ilUser->getId());
755 $feedback->saveResult();
756 $this->ctrl->returnToParent($this);
758 function selectbox($selected_itm, $name, $items, $params=
'',$first=
''){
760 $options = $first ?
'<option value="">'.$first.
'</option>'.chr(10) :
'';
761 if(is_Array($items)){
762 foreach($items as $key => $item){
763 $selected = ($key == $selected_itm) ?
' selected' :
'';
764 $options.=
'<option value="'.$key.
'"'.$selected.
'>'.$item.
'</option>'.chr(10);
768 $content =
'<select name="'.$name.
'" '.$params.
'>
775 global $ilUser, $ilAccess;
777 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
779 $barometers = $feedback->getAllBarometer(0);
781 $tpl =
new ilTemplate(
"tpl.feedback_pdbox.html",
true,
true,
"Services/Feedback");
782 $tpl->setVariable(
'TXT_TITLE',$this->lng->txt(
'feedback'));
784 if(count($barometers)){
785 foreach ($barometers as $barometer)
788 if ($ilAccess->checkAccess(
"write",
"", $barometer->getRefId()))
792 if($barometer->canVote($ilUser->getId(),$barometer->getId())==1)
794 $tpl->setCurrentBlock(
'tbl_row');
795 $tpl->setVariable(
'ROWCOL',
'tblrow'.(($rownum++ % 2)+1));
796 $this->ctrl->setParameter($this,
"barometer_id",$barometer->getId());
797 $link =
'<a href="'.$this->ctrl->getLinkTargetByClass(
'ilfeedbackgui',
'voteform').
'">'.$barometer->getTitle().
'</a>';
799 $tpl->setVariable(
'BAROMETER_LINK',$link);
800 $tpl->parseCurrentBlock();
804 $output = $rownum ?
$tpl->get() :
'' ;
811 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
813 $feedback->setRefId(
$_GET[
'ref_id']);
814 $barometers = $feedback->getAllBarometer(0);
816 $tpl =
new ilTemplate(
"tpl.feedback_pdbox.html",
true,
true,
"Services/Feedback");
817 $tpl->setVariable(
'TXT_TITLE',$this->lng->txt(
'feedback'));
819 if(count($barometers)){
820 foreach ($barometers as $barometer){
821 if($barometer->canVote($ilUser->getId(),$barometer->getId())==1){
822 $tpl->setCurrentBlock(
'tbl_row');
823 $tpl->setVariable(
'ROWCOL',
'tblrow'.(($rownum++ % 2)+1));
824 $this->ctrl->setParameter($this,
"barometer_id",$barometer->getId());
825 $link =
'<a href="'.$this->ctrl->getLinkTargetByClass(array(
'ilinfoscreengui',
'ilfeedbackgui'),
'fbList').
'">'.$barometer->getTitle().
'</a>';
827 $tpl->setVariable(
'BAROMETER_LINK',$link);
828 $tpl->parseCurrentBlock();
832 $output = $rownum ?
$tpl->get() :
'' ;
840 include_once(
'Services/Feedback/classes/class.ilFeedback.php');
844 $feedback->setRefId($a_ref_id);
846 $barometers = $feedback->getAllBarometer(0,1);
849 if(count($barometers))
851 foreach ($barometers as $barometer)
853 if($barometer->canVote($ilUser->getId(),$barometer->getId())==1){
854 $this->ctrl->setParameter($this,
"barometer_id",$barometer->getId());
855 $this->ctrl->redirectByClass(array(
"ilinfoscreengui",
"ilfeedbackgui"),
"showBarometerById");
864 $barometer_id = $a_barometer_id ? $a_barometer_id :
$_GET[
'barometer_id'];