00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00033 include_once './webservice/soap/classes/class.ilSoapAdministration.php';
00034
00035 class ilSoapUtils extends ilSoapAdministration
00036 {
00037 function ilSoapUtils()
00038 {
00039 parent::ilSoapAdministration();
00040 }
00041
00042 function ignoreUserAbort()
00043 {
00044 ignore_user_abort();
00045 }
00046
00047 function disableSOAPCheck()
00048 {
00049 $this->sauth->disableSOAPCheck();
00050 }
00051
00052 function sendMail($sid,$to,$cc,$bcc,$sender,$subject,$message,$attach)
00053 {
00054 if(!$this->__checkSession($sid))
00055 {
00056 return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
00057 }
00058
00059
00060 include_once './include/inc.header.php';
00061
00062 global $ilLog;
00063
00064 include_once './classes/class.ilMimeMail.php';
00065
00066 $mmail = new ilMimeMail();
00067 $mmail->autoCheck(false);
00068 $mmail->From($sender);
00069 $mmail->To(explode(',',$to));
00070 $mmail->Subject($subject);
00071 $mmail->Body($message);
00072
00073 if($cc)
00074 {
00075 $mmail->Cc(explode(',',$cc));
00076 }
00077
00078 if($bcc)
00079 {
00080 $mmail->Bcc(explode(',',$bcc));
00081 }
00082 if($attach)
00083 {
00084 $attachments = explode(',',$attach);
00085 foreach ($attachments as $attachment)
00086 {
00087 $mmail->Attach($attachment);
00088 }
00089 }
00090
00091 $mmail->Send();
00092 $ilLog->write('SOAP: sendMail(): '.$to.', '.$cc.', '.$bcc);
00093
00094 return true;
00095 }
00096
00097 function saveTempFileAsMediaObject($sid, $name, $tmp_name)
00098 {
00099 if(!$this->__checkSession($sid))
00100 {
00101 return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
00102 }
00103
00104
00105 include_once './include/inc.header.php';
00106 include_once "./content/classes/Media/class.ilObjMediaObject.php";
00107 return ilObjMediaObject::_saveTempFileAsMediaObject($name, $tmp_name);
00108 }
00109
00110 function getMobsOfObject($sid, $a_type, $a_id)
00111 {
00112 if(!$this->__checkSession($sid))
00113 {
00114 return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
00115 }
00116
00117
00118 include_once './include/inc.header.php';
00119 include_once "./content/classes/Media/class.ilObjMediaObject.php";
00120 return ilObjMediaObject::_getMobsOfObject($a_type, $a_id);
00121 }
00122
00123 function saveQuestionResult($sid,$user_id,$test_id,$question_id,$pass,$solution)
00124 {
00125 if(!$this->__checkSession($sid))
00126 {
00127 return $this->__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
00128 }
00129
00130
00131 include_once './include/inc.header.php';
00132 include_once "./assessment/classes/class.ilObjTest.php";
00133 $active = ilObjTest::_getActiveTestUser($user_id, $test_id);
00134 $ilDB = $GLOBALS['ilDB'];
00135 if (($active->active_id > 0) && ($question_id > 0) && (strlen($pass) > 0))
00136 {
00137 $deletequery = sprintf("DELETE FROM tst_solutions WHERE active_fi = %s AND question_fi = %s AND pass = %s",
00138 $ilDB->quote($active->active_id . ""),
00139 $ilDB->quote($question_id . ""),
00140 $ilDB->quote($pass . "")
00141 );
00142 $ilDB->query($deletequery);
00143 }
00144 $saved_solutions = FALSE;
00145 for($i = 0; $i < count($solution); $i += 3)
00146 {
00147 $query = sprintf("INSERT INTO tst_solutions ".
00148 "SET active_fi = %s, ".
00149 "question_fi = %s, ".
00150 "value1 = %s, ".
00151 "value2 = %s, ".
00152 "points = %s, ".
00153 "pass = %s",
00154 $ilDB->quote($active->active_id . ""),
00155 $ilDB->quote($question_id . ""),
00156 $ilDB->quote($solution[$i]),
00157 $ilDB->quote($solution[$i+1]),
00158 $ilDB->quote($solution[$i+2]),
00159 $ilDB->quote($pass . "")
00160 );
00161 $saved_solutions = TRUE;
00162 $ilDB->query($query);
00163 }
00164 return $saved_solutions;
00165 }
00166 }
00167 ?>