Public Member Functions

ilSoapTestAdministration Class Reference

Inheritance diagram for ilSoapTestAdministration:
Collaboration diagram for ilSoapTestAdministration:

Public Member Functions

 ilSoapTestAdministration ()
 saveQuestionResult ($sid, $user_id, $test_id, $question_id, $pass, $solution)
 saveQuestion ($sid, $active_id, $question_id, $pass, $solution)
 getQuestionSolution ($sid, $active_id, $question_id, $pass)

Detailed Description

Definition at line 35 of file class.ilSoapTestAdministration.php.


Member Function Documentation

ilSoapTestAdministration::getQuestionSolution ( sid,
active_id,
question_id,
pass 
)

Definition at line 126 of file class.ilSoapTestAdministration.php.

References $GLOBALS, ilSoapAdministration::__checkSession(), and ilSoapAdministration::__raiseError().

        {
                if(!$this->__checkSession($sid))
                {
                        return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
                }                       
                $solution = array();
                // Include main header
                include_once './include/inc.header.php';
                $ilDB = $GLOBALS['ilDB'];
                if (($active_id > 0) && ($question_id > 0) && (strlen($pass) > 0))
                {
                        $query = sprintf("SELECT * FROM tst_solutions ".
                                "WHERE active_fi = %s AND ".
                                "question_fi = %s AND ".
                                "pass = %s",
                                $ilDB->quote($active_id . ""),
                                $ilDB->quote($question_id . ""),
                                $ilDB->quote($pass . "")
                        );
                        $result = $ilDB->query($query);
                        if ($result->numRows())
                        {
                                while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC))
                                {
                                        array_push($solution, $row["value1"]);
                                        array_push($solution, $row["value2"]);
                                        array_push($solution, $row["points"]);
                                }
                        }
                }
                return $solution;
        }

Here is the call graph for this function:

ilSoapTestAdministration::ilSoapTestAdministration (  ) 

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

References ilSoapAdministration::ilSoapAdministration().

Here is the call graph for this function:

ilSoapTestAdministration::saveQuestion ( sid,
active_id,
question_id,
pass,
solution 
)

Definition at line 86 of file class.ilSoapTestAdministration.php.

References $GLOBALS, ilSoapAdministration::__checkSession(), and ilSoapAdministration::__raiseError().

        {
                if(!$this->__checkSession($sid))
                {
                        return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
                }                       

                // Include main header
                include_once './include/inc.header.php';
                $ilDB = $GLOBALS['ilDB'];
                if (($active_id > 0) && ($question_id > 0) && (strlen($pass) > 0))
                {
                        $deletequery = sprintf("DELETE FROM tst_solutions WHERE active_fi = %s AND question_fi = %s AND pass = %s",
                                $ilDB->quote($active_id . ""),
                                $ilDB->quote($question_id . ""),
                                $ilDB->quote($pass . "")
                        );
                        $ilDB->query($deletequery);
                }
                for($i = 0; $i < count($solution); $i += 3)
                {
                        $query = sprintf("INSERT INTO tst_solutions ".
                                "SET active_fi = %s, ".
                                "question_fi = %s, ".
                                "value1 = %s, ".
                                "value2 = %s, ".
                                "points = %s, ".
                                "pass = %s",
                                $ilDB->quote($active_id . ""),
                                $ilDB->quote($question_id . ""),
                                $ilDB->quote($solution[$i]),
                                $ilDB->quote($solution[$i+1]),
                                $ilDB->quote($solution[$i+2]),
                                $ilDB->quote($pass . "")
                        );
                        $ilDB->query($query);
                }
                return true;
        }

Here is the call graph for this function:

ilSoapTestAdministration::saveQuestionResult ( sid,
user_id,
test_id,
question_id,
pass,
solution 
)

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

References $GLOBALS, ilSoapAdministration::__checkSession(), ilSoapAdministration::__raiseError(), and ilObjTest::_getActiveIdOfUser().

        {
                include_once './include/inc.header.php';
                if(!$this->__checkSession($sid))
                {
                        return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
                }

                // Include main header
                include_once "./Modules/Test/classes/class.ilObjTest.php";
                $active_id = ilObjTest::_getActiveIdOfUser($user_id, $test_id);
                $ilDB = $GLOBALS['ilDB'];
                if (($active_id > 0) && ($question_id > 0) && (strlen($pass) > 0))
                {
                        $deletequery = sprintf("DELETE FROM tst_solutions WHERE active_fi = %s AND question_fi = %s AND pass = %s",
                                $ilDB->quote($active_id . ""),
                                $ilDB->quote($question_id . ""),
                                $ilDB->quote($pass . "")
                        );
                        $ilDB->query($deletequery);
                }
                $saved_solutions = FALSE;
                for($i = 0; $i < count($solution); $i += 3)
                {
                        $query = sprintf("INSERT INTO tst_solutions ".
                                "SET active_fi = %s, ".
                                "question_fi = %s, ".
                                "value1 = %s, ".
                                "value2 = %s, ".
                                "points = %s, ".
                                "pass = %s",
                                $ilDB->quote($active_id . ""),
                                $ilDB->quote($question_id . ""),
                                $ilDB->quote($solution[$i]),
                                $ilDB->quote($solution[$i+1]),
                                $ilDB->quote($solution[$i+2]),
                                $ilDB->quote($pass . "")
                        );
                        $ilDB->query($query);
                        $saved_solutions = TRUE;
                }
                return $saved_solutions;
        }

Here is the call graph for this function:


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