1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once "Services/Object/classes/class.ilObjectLP.php";
5
6/**
7 * Survey to lp connector
8 *
9 * @author Jörg Lützenkirchen <luetzenkirchen@leifos.com>
10 * @version $Id: class.ilLPStatusPlugin.php 43734 2013-07-29 15:27:58Z jluetzen $
11 * @package ModulesSurvey
12 */
13class ilSurveyLP extends ilObjectLP
14{
15    public static function getDefaultModes($a_lp_active)
16    {
17        return array(
18            ilLPObjSettings::LP_MODE_DEACTIVATED,
19            ilLPObjSettings::LP_MODE_SURVEY_FINISHED
20        );
21    }
22
23    public function getDefaultMode()
24    {
25        return ilLPObjSettings::LP_MODE_DEACTIVATED; // :TODO:
26    }
27
28    public function getValidModes()
29    {
30        return array(
31            ilLPObjSettings::LP_MODE_DEACTIVATED,
32            ilLPObjSettings::LP_MODE_SURVEY_FINISHED
33        );
34    }
35
36    public function isAnonymized()
37    {
38        include_once './Modules/Survey/classes/class.ilObjSurveyAccess.php';
39        return (bool) ilObjSurveyAccess::_lookupAnonymize($this->obj_id);
40    }
41
42    protected static function isLPMember(array &$a_res, $a_usr_id, $a_obj_ids)
43    {
44        global $DIC;
45
46        $ilDB = $DIC->database();
47
48        // if active id
49        $set = $ilDB->query("SELECT ss.obj_fi" .
50            " FROM svy_finished sf" .
51            " JOIN svy_svy ss ON (ss.survey_id = sf.survey_fi)" .
52            " WHERE " . $ilDB->in("ss.obj_fi", $a_obj_ids, "", "integer") .
53            " AND sf.user_fi = " . $ilDB->quote($a_usr_id, "integer"));
54        while ($row = $ilDB->fetchAssoc($set)) {
55            $a_res[$row["obj_fi"]] = true;
56        }
57
58        return true;
59    }
60}
61