Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00034 require_once "./classes/class.ilObject.php";
00035
00036 class ilObjiLincClassroom extends ilObject
00037 {
00044 function ilObjiLincClassroom($a_id = 0,$a_call_by_reference = true)
00045 {
00046 $this->type = "icla";
00047 $this->ilObject($a_id,$a_call_by_reference);
00048 }
00049
00050 function _lookupiCourseId($a_ref_id)
00051 {
00052 global $ilDB;
00053
00054 $q = "SELECT course_id FROM ilinc_data ".
00055 "LEFT JOIN object_reference ON object_reference.obj_id=ilinc_data.obj_id ".
00056 "WHERE object_reference.ref_id = '".$a_ref_id."'";
00057 $obj_set = $ilDB->query($q);
00058 $obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC);
00059
00060 return $obj_rec["course_id"];
00061 }
00062
00067 function read()
00068 {
00069 parent::read();
00070
00071
00072 $q = "SELECT * FROM ilinc_data ".
00073 "WHERE obj_id='".$this->id."'";
00074 $r = $this->ilias->db->query($q);
00075
00076 if ($r->numRows() > 0)
00077 {
00078 $data = $r->fetchRow(DB_FETCHMODE_OBJECT);
00079
00080
00081 $this->ilinc_id = $data->class_id;
00082 $this->ilinc_course_id = $data->course_id;
00083 }
00084 else
00085 {
00086 $this->ilias->raiseError("<b>Error: There is no dataset with id ".$this->id."!</b><br />class: ".get_class($this)."<br />Script: ".__FILE__."<br />Line: ".__LINE__, $this->ilias->FATAL);
00087 }
00088 }
00089
00090 function saveID($a_icla_id,$a_icrs_id)
00091 {
00092 $q = "INSERT INTO ilinc_data (obj_id,type,course_id,class_id) VALUES (".$this->id.",'icla','".$a_icrs_id."','".$a_icla_id."')";
00093 $this->ilias->db->query($q);
00094 }
00095
00096 function isMember($a_user_id,$a_course_id)
00097 {
00098 $q = "SELECT * FROM ilinc_data ".
00099 "WHERE user_id='".$a_user_id."' AND course_id='".$a_course_id."'";
00100 $r = $this->ilias->db->query($q);
00101
00102 if ($r->numRows() > 0)
00103 {
00104 return true;
00105 }
00106
00107 return false;
00108 }
00109
00110 function isRegisteredAtiLincServer(&$a_user_obj)
00111 {
00112 if (empty($a_user_obj->ilinc_id))
00113 {
00114 return false;
00115 }
00116
00117 return true;
00118 }
00119
00120 function addUser(&$a_user_obj)
00121 {
00122 include_once "class.ilnetucateXMLAPI.php";
00123 $ilinc = new ilnetucateXMLAPI();
00124 $ilinc->addUser($a_user_obj);
00125 $response = $ilinc->sendRequest();
00126
00127 if ($response->isError())
00128 {
00129 $this->ilias->raiseError($response->getErrorMsg(),$this->ilias->MESSAGE);
00130 }
00131
00132 $ilinc_user_id = $response->getFirstID();
00133 $a_user_obj->setiLincID($ilinc_user_id);
00134 $a_user_obj->update();
00135
00136 return $a_user_obj->getiLincID();
00137 }
00138
00139 function registerUser(&$a_user_obj,$a_ilinc_course_id,$a_instructor = "False")
00140 {
00141 include_once "class.ilnetucateXMLAPI.php";
00142 $ilinc = new ilnetucateXMLAPI();
00143 $ilinc->registerUser($a_user_obj->getiLincID(),$a_ilinc_course_id,$a_instructor);
00144 $response = $ilinc->sendRequest("registerUser");
00145
00146 if ($response->isError())
00147 {
00148 $this->ilias->raiseError($response->getErrorMsg(),$this->ilias->MESSAGE);
00149 }
00150
00151
00152
00153 $q = "INSERT INTO ilinc_data (obj_id,type,course_id,class_id,user_id) VALUES (".$a_user_obj->getId().",'user','".$a_ilinc_course_id."',null,'".$a_user_obj->getiLincID()."')";
00154 $this->ilias->db->query($q);
00155
00156 return true;
00157 }
00158
00159 function joinClass(&$a_user_obj,$a_ilinc_class_id)
00160 {
00161 include_once "class.ilnetucateXMLAPI.php";
00162 $ilinc = new ilnetucateXMLAPI();
00163 $ilinc->joinClass($a_user_obj,$a_ilinc_class_id);
00164 $response = $ilinc->sendRequest("joinClass");
00165
00166 if ($response->isError())
00167 {
00168 $this->ilias->raiseError($response->getErrorMsg(),$this->ilias->MESSAGE);
00169 }
00170
00171
00172
00173
00174 return $response->data['url']['cdata'];
00175 }
00176
00177 function findUser(&$a_user_obj)
00178 {
00179 include_once "class.ilnetucateXMLAPI.php";
00180 $ilinc = new ilnetucateXMLAPI();
00181 $ilinc->findUser($a_user_obj);
00182 $response = $ilinc->sendRequest();
00183
00184 var_dump($response->data);
00185 exit;
00186 }
00187
00194 function update()
00195 {
00196 if (!parent::update())
00197 {
00198 return false;
00199 }
00200
00201
00202
00203 return true;
00204 }
00205
00213 function ilClone($a_parent_ref)
00214 {
00215 global $rbacadmin;
00216
00217
00218 $new_ref_id = parent::ilClone($a_parent_ref);
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233 return $new_ref_id;
00234 }
00235
00242 function delete()
00243 {
00244
00245 if (!parent::delete())
00246 {
00247 return false;
00248 }
00249
00250
00251 $q = "DELETE FROM ilinc_data WHERE class_id='".$this->ilinc_id."'";
00252 $this->ilias->db->query($q);
00253
00254 include_once "class.ilnetucateXMLAPI.php";
00255 $ilinc = new ilnetucateXMLAPI();
00256 $ilinc->removeClass($this->ilinc_id);
00257 $response = $ilinc->sendRequest();
00258
00259 return true;
00260 }
00261
00271 function initDefaultRoles()
00272 {
00273 global $rbacadmin;
00274
00275
00276
00277
00278
00279
00280
00281
00282
00283
00284
00285 return $roles ? $roles : array();
00286 }
00287
00301 function notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params = 0)
00302 {
00303 return true;
00304 }
00305
00306 }
00307 ?>