Public Member Functions

ilObjiLincClassroom Class Reference

Inheritance diagram for ilObjiLincClassroom:
Collaboration diagram for ilObjiLincClassroom:

Public Member Functions

 ilObjiLincClassroom ($a_id=0, $a_call_by_reference=true)
 Constructor public.
 _lookupiCourseId ($a_ref_id)
 read ()
 private
 saveID ($a_icla_id, $a_icrs_id)
 isMember ($a_user_id, $a_course_id)
 isRegisteredAtiLincServer (&$a_user_obj)
 addUser (&$a_user_obj)
 registerUser (&$a_user_obj, $a_ilinc_course_id, $a_instructor="False")
 joinClass (&$a_user_obj, $a_ilinc_class_id)
 findUser (&$a_user_obj)
 update ()
 update object data
 ilClone ($a_parent_ref)
 copy all entries of your object.
 delete ()
 delete object and all related data
 initDefaultRoles ()
 init default roles settings
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 notifys an object about an event occured Based on the event happend, each object may decide how it reacts.

Detailed Description

Definition at line 36 of file class.ilObjiLincClassroom.php.


Member Function Documentation

ilObjiLincClassroom::_lookupiCourseId ( a_ref_id  ) 

Definition at line 50 of file class.ilObjiLincClassroom.php.

References $q.

Referenced by ilObjiLincClassroomGUI::saveObject().

        {
                global $ilDB;

                $q = "SELECT course_id FROM ilinc_data ".
                         "LEFT JOIN object_reference ON object_reference.obj_id=ilinc_data.obj_id ".
                         "WHERE object_reference.ref_id = '".$a_ref_id."'";
                $obj_set = $ilDB->query($q);
                $obj_rec = $obj_set->fetchRow(DB_FETCHMODE_ASSOC);

                return $obj_rec["course_id"];
        }

Here is the caller graph for this function:

ilObjiLincClassroom::addUser ( &$  a_user_obj  ) 

Definition at line 120 of file class.ilObjiLincClassroom.php.

        {
                include_once "class.ilnetucateXMLAPI.php";
                $ilinc = new ilnetucateXMLAPI();
                $ilinc->addUser($a_user_obj);
                $response = $ilinc->sendRequest();

                if ($response->isError())
                {
                        $this->ilias->raiseError($response->getErrorMsg(),$this->ilias->MESSAGE);
                }
                
                $ilinc_user_id = $response->getFirstID();
                $a_user_obj->setiLincID($ilinc_user_id);
                $a_user_obj->update();
                
                return $a_user_obj->getiLincID();
        }

ilObjiLincClassroom::delete (  ) 

delete object and all related data

public

Returns:
boolean true if all object data were removed; false if only a references were removed

Reimplemented from ilObject.

Definition at line 242 of file class.ilObjiLincClassroom.php.

References $q.

        {               
                // always call parent delete function first!!
                if (!parent::delete())
                {
                        return false;
                }
                
                //put here your module specific stuff
                $q = "DELETE FROM ilinc_data WHERE class_id='".$this->ilinc_id."'";
                $this->ilias->db->query($q);
                
                include_once "class.ilnetucateXMLAPI.php";
                $ilinc = new ilnetucateXMLAPI();
                $ilinc->removeClass($this->ilinc_id);
                $response = $ilinc->sendRequest();
                
                return true;
        }

ilObjiLincClassroom::findUser ( &$  a_user_obj  ) 

Definition at line 177 of file class.ilObjiLincClassroom.php.

References exit.

        {
                include_once "class.ilnetucateXMLAPI.php";
                $ilinc = new ilnetucateXMLAPI();
                $ilinc->findUser($a_user_obj);
                $response = $ilinc->sendRequest();
                
                var_dump($response->data);
                exit;
        }

ilObjiLincClassroom::ilClone ( a_parent_ref  ) 

copy all entries of your object.

public

Parameters:
integer ref_id of parent object
Returns:
integer new ref id

Reimplemented from ilObject.

Definition at line 213 of file class.ilObjiLincClassroom.php.

References $rbacadmin.

        {               
                global $rbacadmin;

                // always call parent clone function first!!
                $new_ref_id = parent::ilClone($a_parent_ref);
                
                // get object instance of cloned object
                //$newObj =& $this->ilias->obj_factory->getInstanceByRefId($new_ref_id);

                // create a local role folder & default roles
                //$roles = $newObj->initDefaultRoles();

                // ...finally assign role to creator of object
                //$rbacadmin->assignUser($roles[0], $newObj->getOwner(), "n");          

                // always destroy objects in clone method because clone() is recursive and creates instances for each object in subtree!
                //unset($newObj);

                // ... and finally always return new reference ID!!
                return $new_ref_id;
        }

ilObjiLincClassroom::ilObjiLincClassroom ( a_id = 0,
a_call_by_reference = true 
)

Constructor public.

Parameters:
integer reference_id or object_id
boolean treat the id as reference_id (true) or object_id (false)

Definition at line 44 of file class.ilObjiLincClassroom.php.

References ilObject::ilObject().

        {
                $this->type = "icla";
                $this->ilObject($a_id,$a_call_by_reference);
        }

Here is the call graph for this function:

ilObjiLincClassroom::initDefaultRoles (  ) 

init default roles settings

If your module does not require any default roles, delete this method (For an example how this method is used, look at ilObjForum)

public

Returns:
array object IDs of created local roles.

Reimplemented from ilObject.

Definition at line 271 of file class.ilObjiLincClassroom.php.

References $rbacadmin, and $roles.

        {
                global $rbacadmin;
                
                // create a local role folder
                //$rfoldObj = $this->createRoleFolder("Local roles","Role Folder of forum obj_no.".$this->getId());

                // create moderator role and assign role to rolefolder...
                //$roleObj = $rfoldObj->createRole("Moderator","Moderator of forum obj_no.".$this->getId());
                //$roles[] = $roleObj->getId();

                //unset($rfoldObj);
                //unset($roleObj);

                return $roles ? $roles : array();
        }

ilObjiLincClassroom::isMember ( a_user_id,
a_course_id 
)

Definition at line 96 of file class.ilObjiLincClassroom.php.

References $q.

        {
                $q = "SELECT * FROM ilinc_data ".
                         "WHERE user_id='".$a_user_id."' AND course_id='".$a_course_id."'";
                $r = $this->ilias->db->query($q);
                
                if ($r->numRows() > 0)
                {
                        return true;
                }
                
                return false;
        }

ilObjiLincClassroom::isRegisteredAtiLincServer ( &$  a_user_obj  ) 

Definition at line 110 of file class.ilObjiLincClassroom.php.

        {
                if (empty($a_user_obj->ilinc_id))
                {
                        return false;
                }
                
                return true;
        }

ilObjiLincClassroom::joinClass ( &$  a_user_obj,
a_ilinc_class_id 
)

Definition at line 159 of file class.ilObjiLincClassroom.php.

        {
                include_once "class.ilnetucateXMLAPI.php";
                $ilinc = new ilnetucateXMLAPI();
                $ilinc->joinClass($a_user_obj,$a_ilinc_class_id);
                $response = $ilinc->sendRequest("joinClass");
                
                if ($response->isError())
                {
                        $this->ilias->raiseError($response->getErrorMsg(),$this->ilias->MESSAGE);
                }
                
                //var_dump($response->data);exit;
                
                // return URL to join class room
                return $response->data['url']['cdata'];
        }

ilObjiLincClassroom::notify ( a_event,
a_ref_id,
a_parent_non_rbac_id,
a_node_id,
a_params = 0 
)

notifys an object about an event occured Based on the event happend, each object may decide how it reacts.

If you are not required to handle any events related to your module, just delete this method. (For an example how this method is used, look at ilObjGroup)

public

Parameters:
string event
integer reference id of object where the event occured
array passes optional parameters if required
Returns:
boolean

Reimplemented from ilObject.

Definition at line 301 of file class.ilObjiLincClassroom.php.

        {
                return true;
        }

ilObjiLincClassroom::read (  ) 

private

Definition at line 67 of file class.ilObjiLincClassroom.php.

References $data, and $q.

        {
                parent::read();
                
                // TODO: fetching default role should be done in rbacadmin
                $q = "SELECT * FROM ilinc_data ".
                         "WHERE obj_id='".$this->id."'";
                $r = $this->ilias->db->query($q);

                if ($r->numRows() > 0)
                {
                        $data = $r->fetchRow(DB_FETCHMODE_OBJECT);

                        // fill member vars in one shot
                        $this->ilinc_id = $data->class_id;
                        $this->ilinc_course_id = $data->course_id;
                }
                else
                {
                         $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);
                }
        }

ilObjiLincClassroom::registerUser ( &$  a_user_obj,
a_ilinc_course_id,
a_instructor = "False" 
)

Definition at line 139 of file class.ilObjiLincClassroom.php.

References $q.

        {
                include_once "class.ilnetucateXMLAPI.php";
                $ilinc = new ilnetucateXMLAPI();
                $ilinc->registerUser($a_user_obj->getiLincID(),$a_ilinc_course_id,$a_instructor);
                $response = $ilinc->sendRequest("registerUser");

                if ($response->isError())
                {
                        $this->ilias->raiseError($response->getErrorMsg(),$this->ilias->MESSAGE);
                }
                
                //$ilinc_user_id = $response->getFirstID();
                
                $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()."')";
                $this->ilias->db->query($q);

                return true;
        }

ilObjiLincClassroom::saveID ( a_icla_id,
a_icrs_id 
)

Definition at line 90 of file class.ilObjiLincClassroom.php.

References $q.

        {
                $q = "INSERT INTO ilinc_data (obj_id,type,course_id,class_id) VALUES (".$this->id.",'icla','".$a_icrs_id."','".$a_icla_id."')";
                $this->ilias->db->query($q);
        }

ilObjiLincClassroom::update (  ) 

update object data

public

Returns:
boolean

Reimplemented from ilObject.

Definition at line 194 of file class.ilObjiLincClassroom.php.

        {
                if (!parent::update())
                {                       
                        return false;
                }

                // put here object specific stuff
                
                return true;
        }


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