ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilSurveyEvaluationGUI Class Reference

Survey evaluation graphical output. More...

+ Collaboration diagram for ilSurveyEvaluationGUI:

Public Member Functions

 ilSurveyEvaluationGUI ($a_object)
 ilSurveyEvaluationGUI constructor
executeCommand ()
 execute command
 getCommand ($cmd)
 checkAnonymizedEvaluationAccess ()
 Show the detailed evaluation.
 checkEvaluationAccess ()
 Checks the evaluation access after entering the survey access code.
 cancelEvaluationAccess ()
 Cancels the input of the survey access code for evaluation access.
 evaluationdetails ()
 Show the detailed evaluation.
 exportCumulatedResults ($details=0)
 exportData ()
 exportDetailData ()
 printEvaluation ()
 evaluation ($details=0)
 exportUserSpecificResults ($export_format, $export_label="")
 Export the user specific results for the survey.
 evaluationuser ()
 Print the survey evaluation for a selected user.

Data Fields

 $object
 $lng
 $tpl
 $ctrl

Detailed Description

Survey evaluation graphical output.

The ilSurveyEvaluationGUI class creates the evaluation output for the ilObjSurveyGUI class. This saves some heap space because the ilObjSurveyGUI class will be smaller.

Author
Helmut Schottmüller helmu.nosp@m.t.sc.nosp@m.hottm.nosp@m.uell.nosp@m.er@ma.nosp@m.c.co.nosp@m.m
Version
$Id$

Definition at line 37 of file class.ilSurveyEvaluationGUI.php.

Member Function Documentation

ilSurveyEvaluationGUI::cancelEvaluationAccess ( )

Cancels the input of the survey access code for evaluation access.

Cancels the input of the survey access code for evaluation access

private

Definition at line 156 of file class.ilSurveyEvaluationGUI.php.

References $ilCtrl, and $path.

Referenced by checkEvaluationAccess().

{
global $ilCtrl;
include_once "./Services/Utilities/classes/class.ilUtil.php";
global $tree;
$path = $tree->getPathFull($this->object->getRefID());
$ilCtrl->setParameterByClass("ilrepositorygui", "ref_id",
$path[count($path) - 2]["child"]);
$ilCtrl->redirectByClass("ilrepositorygui", "frameset");
}

+ Here is the caller graph for this function:

ilSurveyEvaluationGUI::checkAnonymizedEvaluationAccess ( )

Show the detailed evaluation.

Show the detailed evaluation

private

Definition at line 92 of file class.ilSurveyEvaluationGUI.php.

References $_GET, $_SESSION, $ilUser, evaluation(), and EVALUATION_ACCESS_ALL.

Referenced by evaluation().

{
global $rbacsystem;
global $ilUser;
if ($rbacsystem->checkAccess("write", $_GET["ref_id"]))
{
// people with write access always have access to the evaluation
$_SESSION["anon_evaluation_access"] = $_GET["ref_id"];
return $this->evaluation();
}
if ($this->object->getEvaluationAccess() == EVALUATION_ACCESS_ALL)
{
// if the evaluation access is open for all users, grant it
$_SESSION["anon_evaluation_access"] = $_GET["ref_id"];
return $this->evaluation();
}
$surveycode = $this->object->getUserAccessCode($ilUser->getId());
if ($this->object->isAnonymizedParticipant($surveycode))
{
$_SESSION["anon_evaluation_access"] = $_GET["ref_id"];
return $this->evaluation();
}
$this->tpl->setVariable("TABS", "");
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_svy_svy_evaluation_checkaccess.html", "Modules/Survey");
$this->tpl->setCurrentBlock("adm_content");
$this->tpl->setVariable("AUTHENTICATION_NEEDED", $this->lng->txt("svy_check_evaluation_authentication_needed"));
$this->tpl->setVariable("FORM_ACTION", $this->ctrl->getFormAction($this, "checkAnonymizedEvaluationAccess"));
$this->tpl->setVariable("EVALUATION_CHECKACCESS_INTRODUCTION", $this->lng->txt("svy_check_evaluation_access_introduction"));
$this->tpl->setVariable("VALUE_CHECK", $this->lng->txt("ok"));
$this->tpl->setVariable("VALUE_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TEXT_SURVEY_CODE", $this->lng->txt("survey_code"));
$this->tpl->parseCurrentBlock();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilSurveyEvaluationGUI::checkEvaluationAccess ( )

Checks the evaluation access after entering the survey access code.

Checks the evaluation access after entering the survey access code

private

Definition at line 134 of file class.ilSurveyEvaluationGUI.php.

References $_GET, $_POST, $_SESSION, cancelEvaluationAccess(), evaluation(), and ilUtil\sendFailure().

{
$surveycode = $_POST["surveycode"];
if ($this->object->isAnonymizedParticipant($surveycode))
{
$_SESSION["anon_evaluation_access"] = $_GET["ref_id"];
$this->evaluation();
}
else
{
ilUtil::sendFailure($this->lng->txt("svy_check_evaluation_wrong_key", true));
}
}

+ Here is the call graph for this function:

ilSurveyEvaluationGUI::evaluation (   $details = 0)

Definition at line 376 of file class.ilSurveyEvaluationGUI.php.

References $_GET, $_SESSION, $data, $ilUser, ilObjSurveyAccess\_hasEvaluationAccess(), SurveyQuestion\_instanciateQuestionGUI(), checkAnonymizedEvaluationAccess(), EVALUATION_ACCESS_ALL, EVALUATION_ACCESS_OFF, EVALUATION_ACCESS_PARTICIPANTS, and ilUtil\sendFailure().

Referenced by checkAnonymizedEvaluationAccess(), checkEvaluationAccess(), and evaluationdetails().

{
global $ilUser;
global $rbacsystem;
global $ilias;
global $ilToolbar;
if (!$rbacsystem->checkAccess("read",$_GET["ref_id"]))
{
ilUtil::sendFailure($this->lng->txt("permission_denied"));
return;
}
$ilToolbar->setFormAction($this->ctrl->getFormAction($this));
include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
$format = new ilSelectInputGUI("", "export_format");
$format->setOptions(array(
"excel" => $this->lng->txt('exp_type_excel'),
"csv" => $this->lng->txt('exp_type_csv')
));
$ilToolbar->addInputItem($format);
include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
$label = new ilSelectInputGUI("", "export_label");
$label->setOptions(array(
'label_only' => $this->lng->txt('export_label_only'),
'title_only' => $this->lng->txt('export_title_only'),
'title_label'=> $this->lng->txt('export_title_label')
));
$ilToolbar->addInputItem($label);
if ($details)
{
$ilToolbar->addFormButton($this->lng->txt("export"), 'exportDetailData');
}
else
{
$ilToolbar->addFormButton($this->lng->txt("export"), 'exportData');
}
switch ($this->object->getEvaluationAccess())
{
if (!$rbacsystem->checkAccess("write", $_GET["ref_id"]))
{
ilUtil::sendFailure($this->lng->txt("permission_denied"));
return;
}
break;
include_once "./Modules/Survey/classes/class.ilObjSurveyAccess.php";
if (!($rbacsystem->checkAccess("write",$_GET["ref_id"]) || ilObjSurveyAccess::_hasEvaluationAccess($this->object->getId(), $ilUser->getId())))
{
ilUtil::sendFailure($this->lng->txt("permission_denied"));
return;
}
break;
if (($this->object->getAnonymize() == 1) && ($_SESSION["anon_evaluation_access"] != $_GET["ref_id"]))
{
return;
}
break;
}
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_svy_svy_evaluation.html", "Modules/Survey");
$questions =& $this->object->getSurveyQuestions();
$data = array();
$counter = 1;
$last_questionblock_id = null;
foreach ($questions as $qdata)
{
include_once "./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
$question_gui = SurveyQuestion::_instanciateQuestionGUI($qdata["question_id"]);
$question = $question_gui->object;
$c = $question->getCumulatedResultData($this->object->getSurveyId(), $counter);
if (is_array($c[0]))
{
foreach ($c as $a)
{
array_push($data, $a);
}
}
else
{
array_push($data, $c);
}
$counter++;
if ($details)
{
// questionblock title handling
if($qdata["questionblock_id"] && $qdata["questionblock_id"] != $last_questionblock_id)
{
$qblock = $this->object->getQuestionblock($qdata["questionblock_id"]);
if($qblock["show_blocktitle"])
{
$this->tpl->setCurrentBlock("detail_qblock");
$this->tpl->setVariable("BLOCKTITLE", $qdata["questionblock_title"]);
$this->tpl->parseCurrentBlock();
}
$last_questionblock_id = $qdata["questionblock_id"];
}
$detail = $question_gui->getCumulatedResultsDetails($this->object->getSurveyId(), $counter-1);
$this->tpl->setCurrentBlock("detail");
$this->tpl->setVariable("DETAIL", $detail);
$this->tpl->parseCurrentBlock();
}
}
include_once "./Modules/Survey/classes/tables/class.ilSurveyResultsCumulatedTableGUI.php";
$table_gui = new ilSurveyResultsCumulatedTableGUI($this, 'evaluation', $detail);
$table_gui->setData($data);
$this->tpl->setVariable('CUMULATED', $table_gui->getHTML());
$this->tpl->addCss("./Modules/Survey/templates/default/survey_print.css", "print");
$this->tpl->setVariable('FORMACTION', $this->ctrl->getFormAction($this, 'evaluation'));
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilSurveyEvaluationGUI::evaluationdetails ( )

Show the detailed evaluation.

Show the detailed evaluation

private

Definition at line 175 of file class.ilSurveyEvaluationGUI.php.

References evaluation().

{
$this->evaluation(1);
}

+ Here is the call graph for this function:

ilSurveyEvaluationGUI::evaluationuser ( )

Print the survey evaluation for a selected user.

Print the survey evaluation for a selected user

private

Definition at line 716 of file class.ilSurveyEvaluationGUI.php.

References $_POST, $data, $ilLog, $results, exportUserSpecificResults(), ilUtil\sendFailure(), and ilTable2GUI\setData().

{
global $ilAccess, $ilLog, $ilToolbar;
if (!$ilAccess->checkAccess("write", "", $this->object->getRefId()))
{
ilUtil::sendFailure($this->lng->txt("no_permission"), TRUE);
$this->ctrl->redirectByClass("ilObjSurveyGUI", "infoScreen");
}
if (!is_array($_POST))
{
$_POST = array();
}
if (array_key_exists("export_format", $_POST))
{
return $this->exportUserSpecificResults($_POST["export_format"], $_POST["export_label"]);
}
$userResults =& $this->object->getUserSpecificResults();
$questions =& $this->object->getSurveyQuestions(true);
$participants =& $this->object->getSurveyParticipants();
$tabledata = array();
foreach ($participants as $data)
{
$questioncounter = 1;
$question = "";
$results = "";
$first = true;
foreach ($questions as $question_id => $question_data)
{
$found = $userResults[$question_id][$data["active_id"]];
$text = "";
if (is_array($found))
{
$text = implode("<br />", $found);
}
else
{
$text = $found;
}
if (strlen($text) == 0) $text = $this->lng->txt("skipped");
$wt = $this->object->getWorkingtimeForParticipant($data['active_id']);
if ($first)
{
array_push($tabledata, array(
'username' => $data["sortname"],
// 'gender' => $data["gender"],
'question' => $questioncounter++ . ". " . $question_data["title"],
'results' => $text,
'workingtime' => $wt
));
$first = false;
}
else
{
array_push($tabledata, array(
'username' => " ",
// 'gender' => " ",
'question' => $questioncounter++ . ". " . $question_data["title"],
'results' => $text,
'workingtime' => null
));
}
}
}
$this->tpl->addCss("./Modules/Survey/templates/default/survey_print.css", "print");
$this->tpl->setCurrentBlock("generic_css");
$this->tpl->setVariable("LOCATION_GENERIC_STYLESHEET", "./Modules/Survey/templates/default/evaluation_print.css");
$this->tpl->setVariable("MEDIA_GENERIC_STYLESHEET", "print");
$this->tpl->parseCurrentBlock();
$ilToolbar->setFormAction($this->ctrl->getFormAction($this, "evaluationuser"));
include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
$format = new ilSelectInputGUI("", "export_format");
$format->setOptions(array(
"excel" => $this->lng->txt('exp_type_excel'),
"csv" => $this->lng->txt('exp_type_csv')
));
$ilToolbar->addInputItem($format);
include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
$label = new ilSelectInputGUI("", "export_label");
$label->setOptions(array(
'label_only' => $this->lng->txt('export_label_only'),
'title_only' => $this->lng->txt('export_title_only'),
'title_label'=> $this->lng->txt('export_title_label')
));
$ilToolbar->addInputItem($label);
$ilToolbar->addFormButton($this->lng->txt("export"), 'evaluationuser');
$ilToolbar->addSeparator();
$ilToolbar->addButton($this->lng->txt("print"), "#", "", "", "onclick=\"javascript:window.print()\"");
include_once "./Modules/Survey/classes/tables/class.ilSurveyResultsUserTableGUI.php";
$table_gui = new ilSurveyResultsUserTableGUI($this, 'evaluationuser', $this->object->getAnonymize());
$table_gui->setData($tabledata);
$this->tpl->setContent($table_gui->getHTML());
}

+ Here is the call graph for this function:

& ilSurveyEvaluationGUI::executeCommand ( )

execute command

Definition at line 65 of file class.ilSurveyEvaluationGUI.php.

References $cmd, $ret, and getCommand().

{
$cmd = $this->ctrl->getCmd();
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->getCommand($cmd);
switch($next_class)
{
default:
$ret =& $this->$cmd();
break;
}
return $ret;
}

+ Here is the call graph for this function:

ilSurveyEvaluationGUI::exportCumulatedResults (   $details = 0)

Definition at line 180 of file class.ilSurveyEvaluationGUI.php.

References $_POST, $data, $separator, ilExcelUtils\_convert_text(), SurveyQuestion\_instanciateQuestion(), ilUtil\deliverData(), ilUtil\deliverFile(), exit, ilUtil\getASCIIFilename(), ilUtil\ilTempnam(), TYPE_SPSS, and TYPE_XLS.

Referenced by exportData(), and exportDetailData().

{
$format_bold = "";
$format_percent = "";
$format_datetime = "";
$format_title = "";
switch ($_POST["export_format"])
{
case TYPE_XLS:
include_once "./Services/Excel/classes/class.ilExcelWriterAdapter.php";
$excelfile = ilUtil::ilTempnam();
$adapter = new ilExcelWriterAdapter($excelfile, FALSE);
$workbook = $adapter->getWorkbook();
$workbook->setVersion(8); // Use Excel97/2000 Format
// Creating a worksheet
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_percent =& $workbook->addFormat();
$format_percent->setNumFormat("0.00%");
$format_datetime =& $workbook->addFormat();
$format_datetime->setNumFormat("DD/MM/YYYY hh:mm:ss");
$format_title =& $workbook->addFormat();
$format_title->setBold();
$format_title->setColor('black');
$format_title->setPattern(1);
$format_title->setFgColor('silver');
$format_title->setAlign('center');
// Creating a worksheet
include_once ("./Services/Excel/classes/class.ilExcelUtils.php");
$mainworksheet =& $workbook->addWorksheet();
$column = 0;
switch ($_POST['export_label'])
{
case 'label_only':
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("label"), $_POST["export_format"]), $format_bold);
break;
case 'title_only':
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("title"), $_POST["export_format"]), $format_bold);
break;
default:
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("title"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("label"), $_POST["export_format"]), $format_bold);
break;
}
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("question"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("question_type"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("users_answered"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("users_skipped"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("mode"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("mode_text"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("mode_nr_of_selections"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("median"), $_POST["export_format"]), $format_bold);
$column++;
$mainworksheet->writeString(0, $column, ilExcelUtils::_convert_text($this->lng->txt("arithmetic_mean"), $_POST["export_format"]), $format_bold);
break;
case (TYPE_SPSS):
$csvfile = array();
$csvrow = array();
switch ($_POST['export_label'])
{
case 'label_only':
array_push($csvrow, $this->lng->txt("label"));
break;
case 'title_only':
array_push($csvrow, $this->lng->txt("title"));
break;
default:
array_push($csvrow, $this->lng->txt("title"));
array_push($csvrow, $this->lng->txt("label"));
break;
}
array_push($csvrow, $this->lng->txt("question"));
array_push($csvrow, $this->lng->txt("question_type"));
array_push($csvrow, $this->lng->txt("users_answered"));
array_push($csvrow, $this->lng->txt("users_skipped"));
array_push($csvrow, $this->lng->txt("mode"));
//array_push($csvrow, $this->lng->txt("mode_text"));
array_push($csvrow, $this->lng->txt("mode_nr_of_selections"));
array_push($csvrow, $this->lng->txt("median"));
array_push($csvrow, $this->lng->txt("arithmetic_mean"));
array_push($csvfile, $csvrow);
break;
}
$questions =& $this->object->getSurveyQuestions();
$counter++;
foreach ($questions as $data)
{
include_once "./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
$question = SurveyQuestion::_instanciateQuestion($data["question_id"]);
$eval = $this->object->getCumulatedResults($question);
switch ($_POST["export_format"])
{
case TYPE_XLS:
$counter = $question->setExportCumulatedXLS($mainworksheet, $format_title, $format_bold, $eval, $counter, $_POST['export_label']);
break;
case (TYPE_SPSS):
$csvrows =& $question->setExportCumulatedCVS($eval, $_POST['export_label']);
foreach ($csvrows as $csvrow)
{
array_push($csvfile, $csvrow);
}
break;
}
if ($details)
{
switch ($_POST["export_format"])
{
case TYPE_XLS:
$question->setExportDetailsXLS($workbook, $format_title, $format_bold, $eval, $_POST['export_label']);
break;
}
}
}
// #11179
if(!$details)
{
$type = $this->lng->txt("svy_eval_cumulated");
}
else
{
$type = $this->lng->txt("svy_eval_detail");
}
$surveyname = $this->object->getTitle()." ".$type." ".date("Y-m-d");
$surveyname = preg_replace("/\s/", "_", trim($surveyname));
$surveyname = ilUtil::getASCIIFilename($surveyname);
switch ($_POST["export_format"])
{
case TYPE_XLS:
// Let's send the file
$workbook->close();
ilUtil::deliverFile($excelfile, "$surveyname.xls", "application/vnd.ms-excel");
exit();
break;
case TYPE_SPSS:
$csv = "";
$separator = ";";
foreach ($csvfile as $csvrow)
{
$csvrow =& $this->object->processCSVRow($csvrow, TRUE, $separator);
$csv .= join($csvrow, $separator) . "\n";
}
include_once "./Services/Utilities/classes/class.ilUtil.php";
ilUtil::deliverData($csv, "$surveyname.csv");
exit();
break;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilSurveyEvaluationGUI::exportData ( )

Definition at line 344 of file class.ilSurveyEvaluationGUI.php.

References $_POST, and exportCumulatedResults().

{
if (strlen($_POST["export_format"]))
{
return;
}
else
{
$this->ctrl->redirect($this, 'evaluation');
}
}

+ Here is the call graph for this function:

ilSurveyEvaluationGUI::exportDetailData ( )

Definition at line 357 of file class.ilSurveyEvaluationGUI.php.

References $_POST, and exportCumulatedResults().

{
if (strlen($_POST["export_format"]))
{
return;
}
else
{
$this->ctrl->redirect($this, 'evaluation');
}
}

+ Here is the call graph for this function:

ilSurveyEvaluationGUI::exportUserSpecificResults (   $export_format,
  $export_label = "" 
)

Export the user specific results for the survey.

Export the user specific results for the survey

private

Definition at line 504 of file class.ilSurveyEvaluationGUI.php.

References $_POST, $ilLog, $row, $separator, ilExcelUtils\_convert_text(), SurveyQuestion\_instanciateQuestion(), ilUtil\deliverData(), ilUtil\deliverFile(), exit, ilUtil\getASCIIFilename(), ilUtil\ilTempnam(), TYPE_SPSS, and TYPE_XLS.

Referenced by evaluationuser().

{
global $ilLog;
$csvfile = array();
$csvrow = array();
$csvrow2 = array();
$questions = array();
$questions =& $this->object->getSurveyQuestions(true);
array_push($csvrow, $this->lng->txt("lastname")); // #12756
array_push($csvrow, $this->lng->txt("firstname"));
array_push($csvrow, $this->lng->txt("login"));
array_push($csvrow2, "");
array_push($csvrow2, "");
array_push($csvrow2, "");
if ($this->object->canExportSurveyCode())
{
array_push($csvrow, $this->lng->txt("codes"));
array_push($csvrow2, "");
}
/* #8211
if ($this->object->getAnonymize() == ANONYMIZE_OFF)
{
array_push($csvrow, $this->lng->txt("gender"));
}
*/
$cellcounter = 1;
foreach ($questions as $question_id => $question_data)
{
include_once "./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
$question = SurveyQuestion::_instanciateQuestion($question_data["question_id"]);
switch ($export_label)
{
case "label_only":
$question->addUserSpecificResultsExportTitles($csvrow, true);
break;
case "title_only":
$question->addUserSpecificResultsExportTitles($csvrow, false);
break;
default:
$question->addUserSpecificResultsExportTitles($csvrow, false);
$question->addUserSpecificResultsExportTitles($csvrow2, true, false);
break;
}
$questions[$question_data["question_id"]] = $question;
}
array_push($csvfile, $csvrow);
if(sizeof($csvrow2) && implode("", $csvrow2))
{
array_push($csvfile, $csvrow2);
}
$participants =& $this->object->getSurveyFinishedIds();
foreach ($participants as $user_id)
{
$resultset =& $this->object->getEvaluationByUser($questions, $user_id);
$csvrow = array();
// #12756
array_push($csvrow, (trim($resultset["lastname"]))
? $resultset["lastname"]
: $resultset["name"]); // anonymous
array_push($csvrow, $resultset["firstname"]);
array_push($csvrow, $resultset["login"]); // #10579
if ($this->object->canExportSurveyCode())
{
array_push($csvrow, $user_id);
}
/* #8211
if ($this->object->getAnonymize() == ANONYMIZE_OFF)
{
array_push($csvrow, $resultset["gender"]);
}
*/
foreach ($questions as $question_id => $question)
{
$question->addUserSpecificResultsData($csvrow, $resultset);
}
$wt = $this->object->getWorkingtimeForParticipant($user_id);
array_push($csvrow, $wt);
array_push($csvfile, $csvrow);
}
// #11179
$surveyname = $this->object->getTitle()." ".$this->lng->txt("svy_eval_user")." ".date("Y-m-d");
$surveyname = preg_replace("/\s/", "_", trim($surveyname));
$surveyname = ilUtil::getASCIIFilename($surveyname);
switch ($export_format)
{
case TYPE_XLS:
include_once "./Services/Excel/classes/class.ilExcelWriterAdapter.php";
$excelfile = ilUtil::ilTempnam();
$adapter = new ilExcelWriterAdapter($excelfile, FALSE);
$workbook = $adapter->getWorkbook();
$workbook->setVersion(8); // Use Excel97/2000 Format
// Creating a worksheet
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_percent =& $workbook->addFormat();
$format_percent->setNumFormat("0.00%");
$format_datetime =& $workbook->addFormat();
$format_datetime->setNumFormat("DD/MM/YYYY hh:mm:ss");
$format_title =& $workbook->addFormat();
$format_title->setBold();
$format_title->setColor('black');
$format_title->setPattern(1);
$format_title->setFgColor('silver');
$format_title_plain =& $workbook->addFormat();
$format_title_plain->setColor('black');
$format_title_plain->setPattern(1);
$format_title_plain->setFgColor('silver');
// Creating a worksheet
$pages = floor((count($csvfile[0])) / 250) + 1;
$worksheets = array();
for ($i = 0; $i < $pages; $i++)
{
$worksheets[$i] =& $workbook->addWorksheet();
}
$row = 0;
include_once "./Services/Excel/classes/class.ilExcelUtils.php";
$contentstartrow = 0;
foreach ($csvfile as $csvrow)
{
$col = 0;
if ($row == 0)
{
$worksheet = 0;
$mainworksheet =& $worksheets[$worksheet];
foreach ($csvrow as $text)
{
if (is_array($text))
{
$textcount = 0;
foreach ($text as $string)
{
$mainworksheet->writeString($row + $textcount, $col, ilExcelUtils::_convert_text($string, $_POST["export_format"]), $format_title);
$textcount++;
$contentstartrow = max($contentstartrow, $textcount);
}
$col++;
}
else
{
$mainworksheet->writeString($row, $col++, ilExcelUtils::_convert_text($text, $_POST["export_format"]), $format_title);
}
if ($col % 251 == 0)
{
$worksheet++;
$col = 1;
$mainworksheet =& $worksheets[$worksheet];
$mainworksheet->writeString($row, 0, ilExcelUtils::_convert_text($csvrow[0], $_POST["export_format"]), $format_title);
}
}
$mainworksheet->writeString($row, $col++, ilExcelUtils::_convert_text($this->lng->txt('workingtime'), $_POST['export_format']), $format_title);
$row = $contentstartrow;
}
else
{
$worksheet = 0;
$mainworksheet =& $worksheets[$worksheet];
foreach ($csvrow as $text)
{
if (is_numeric($text))
{
$mainworksheet->writeNumber($row, $col++, $text);
}
else
{
$mainworksheet->writeString($row, $col++, ilExcelUtils::_convert_text($text, $_POST["export_format"]));
}
if ($col % 251 == 0)
{
$worksheet++;
$col = 1;
$mainworksheet =& $worksheets[$worksheet];
$mainworksheet->writeString($row, 0, ilExcelUtils::_convert_text($csvrow[0], $_POST["export_format"]));
}
}
}
$row++;
}
$workbook->close();
ilUtil::deliverFile($excelfile, "$surveyname.xls", "application/vnd.ms-excel");
exit();
break;
case TYPE_SPSS:
$csv = "";
$separator = ";";
foreach ($csvfile as $csvrow)
{
$csvrow =& str_replace("\n", " ", $this->object->processCSVRow($csvrow, TRUE, $separator));
$csv .= join($csvrow, $separator) . "\n";
}
include_once "./Services/Utilities/classes/class.ilUtil.php";
ilUtil::deliverData($csv, "$surveyname.csv");
exit();
break;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilSurveyEvaluationGUI::getCommand (   $cmd)

Definition at line 80 of file class.ilSurveyEvaluationGUI.php.

References $cmd.

Referenced by executeCommand().

{
return $cmd;
}

+ Here is the caller graph for this function:

ilSurveyEvaluationGUI::ilSurveyEvaluationGUI (   $a_object)

ilSurveyEvaluationGUI constructor

The constructor takes possible arguments an creates an instance of the ilSurveyEvaluationGUI object.

Parameters
object$a_objectAssociated ilObjSurvey class public

Definition at line 52 of file class.ilSurveyEvaluationGUI.php.

References $ilCtrl, $lng, and $tpl.

{
global $lng, $tpl, $ilCtrl;
$this->lng =& $lng;
$this->tpl =& $tpl;
$this->ctrl =& $ilCtrl;
$this->object =& $a_object;
}
ilSurveyEvaluationGUI::printEvaluation ( )

Definition at line 370 of file class.ilSurveyEvaluationGUI.php.

References ilUtil\sendInfo().

{
ilUtil::sendInfo($this->lng->txt('use_browser_print_function'), true);
$this->ctrl->redirect($this, 'evaluation');
}

+ Here is the call graph for this function:

Field Documentation

ilSurveyEvaluationGUI::$ctrl

Definition at line 42 of file class.ilSurveyEvaluationGUI.php.

ilSurveyEvaluationGUI::$lng

Definition at line 40 of file class.ilSurveyEvaluationGUI.php.

Referenced by ilSurveyEvaluationGUI().

ilSurveyEvaluationGUI::$object

Definition at line 39 of file class.ilSurveyEvaluationGUI.php.

ilSurveyEvaluationGUI::$tpl

Definition at line 41 of file class.ilSurveyEvaluationGUI.php.

Referenced by ilSurveyEvaluationGUI().


The documentation for this class was generated from the following file: