Public Member Functions

ilObjectFactory Class Reference

Public Member Functions

 ObjectIdExists ($a_obj_id)
 check if obj_id exists.
 getInstanceByObjId ($a_obj_id, $stop_on_error=true)
 get an instance of an Ilias object by object id
 getInstanceByRefId ($a_ref_id, $stop_on_error=true)
 get an instance of an Ilias object by reference id
 getTypeByRefId ($a_ref_id, $stop_on_error=true)
 get object type by reference id

Detailed Description

Definition at line 41 of file class.ilObjectFactory.php.


Member Function Documentation

ilObjectFactory::getInstanceByObjId ( a_obj_id,
stop_on_error = true 
)

get an instance of an Ilias object by object id

Parameters:
int $obj_id object id
Returns:
object instance of Ilias object (i.e. derived from ilObject)

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

References $ilias, $q, and exit.

Referenced by ilRoleDesktopItem::__assign(), ilObjCategoryGUI::__checkGlobalRoles(), ilRepositorySearchGUI::__fillRoleTable(), ilRepositorySearchGUI::__fillUserTable(), ilObjExercise::__formatRecipients(), ilSearchGUI::__formatUserResult(), ilObjCategoryGUI::__getAssignableRoles(), ilPaymentBillAdminGUI::__initBillVendorData(), ilObjectGUIAdapter::__initGUIObject(), ilLPListOfProgressGUI::__initUser(), ilCourseMembers::__readSubscribers(), ilSearchGUI::__save(), ilLinkChecker::__sendMail(), ilObjExerciseGUI::__showMembersSelect(), ilObjCategoryGUI::__showRolesTable(), ilObjChatGUI::__showRooms(), ilObjCourseGUI::__showSubscribers(), ilPaymentObjectGUI::__showVendorSelector(), ilObjCourseGUI::__showWaitingList(), ilSearch::__validateResults(), ilCourseMembers::_isMember(), ilObjGroup::_isMember(), ilPaymentStatisticGUI::addCustomer(), ilObjPaymentSettingsGUI::addCustomerObject(), ilCourseMembers::addDesktopItem(), ilObjCourseGUI::addFromWaitingList(), ilPaymentStatisticGUI::addStatisticWorksheet(), ilObjPaymentSettingsGUI::addStatisticWorksheet(), ilSoapRBACAdministration::addUserRoleEntry(), ilObjPaymentSettingsGUI::addVendorWorksheet(), ilObjUserFolderGUI::appliedUsersObject(), ilSoapCourseAdministration::assignCourseMember(), ilSoapGroupAdministration::assignGroupMember(), ilExerciseMembers::assignMember(), ilObjCourseGUI::assignMembersObject(), ilObjCategoryGUI::assignRolesObject(), ilCourseMembers::assignSubscriber(), ilRbacAdmin::assignUser(), ilStructureObject::copy(), ilExerciseMembers::deassignMember(), ilObjCourseGUI::deleteMembers(), ilSoapRBACAdministration::deleteRole(), ilObjCourseGUI::deleteSubscribers(), ilSoapUserAdministration::deleteUser(), ilSoapRBACAdministration::deleteUserRoleEntry(), ilObjExerciseGUI::downloadAllObject(), ilCourseMembers::dropDesktopItem(), ilObjUserFolderGUI::editAppliedUsersObject(), ilObjCourseGUI::editMemberObject(), ilPaymentStatisticGUI::editStatistic(), ilObjPaymentSettingsGUI::editStatisticObject(), ilObjCourseGUI::fetchPrintMemberData(), ilObjCourseGUI::fetchPrintSubscriberData(), ilObjCourse::getDefaultAdminRole(), ilObjCourse::getDefaultMemberRole(), ilObjCourse::getDefaultTutorRole(), ilSoapRBACAdministration::getLocalRoles(), ilSoapObjectAdministration::getObjectsByTitle(), ilSoapRBACAdministration::getObjectTreeOperations(), ilSoapUserAdministration::getUser(), ilForumExport::getUserData(), ilForum::getUserData(), ilSoapRBACAdministration::getUserRoles(), ilSoapRBACAdministration::grantPermissions(), ilLMStatisticsGUI::listUsersGroup(), ilObjiLincCourseGUI::listUsersGroupObject(), ilObjCourseGUI::listUsersGroupObject(), ilObjRoleGUI::listUsersGroupObject(), ilObjGroupGUI::listUsersGroupObject(), ilLMStatisticsGUI::listUsersRole(), ilObjiLincCourseGUI::listUsersRoleObject(), ilObjCourseGUI::listUsersRoleObject(), ilObjRoleGUI::listUsersRoleObject(), ilObjGroupGUI::listUsersRoleObject(), ilObjiLincCourseGUI::membersGalleryObject(), ilObjCourseGUI::membersGalleryObject(), ilObjGroupGUI::membersGalleryObject(), ilObjExerciseGUI::membersObject(), ilObjContentObjectGUI::pasteChapter(), ilObjCategoryGUI::performDeleteUsersObject(), ilPaymentTrusteeGUI::performSearch(), ilPaymentStatisticGUI::performSearch(), ilObjPaymentSettingsGUI::performSearchSPObject(), ilObjCourseGUI::removeFromWaitingList(), ilSoapRBACAdministration::revokePermissions(), ilLMStatisticsGUI::search(), ilObjPaymentSettingsGUI::searchObject(), ilObjiLincCourseGUI::searchObject(), ilObjCourseGUI::searchObject(), ilObjRoleGUI::searchObject(), ilObjGroupGUI::searchObject(), ilSoapObjectAdministration::searchObjects(), ilObjChat::sendMessage(), ilCourseMembers::sendNotification(), ilCourseMembers::sendNotificationToAdmins(), ilCourseMembers::sendSubscriptionRequestToAdmins(), ilCourseMembers::sendUnsubscribeNotificationToAdmins(), ilPaymentBuyedObjectsGUI::showItems(), ilPaymentObjectGUI::showObjects(), ilPaymentStatisticGUI::showStatistics(), ilPaymentTrusteeGUI::showTrustees(), ilObjPaymentSettingsGUI::statisticObject(), ilCourseRegisterGUI::subscribe(), ilObjUserFolderGUI::updateAppliedUsersObject(), ilMailbox::updateMailsOfDeletedUser(), ilSoapObjectAdministration::updateObjects(), ilSoapUserAdministration::updatePassword(), ilRegistrationSettingsGUI::updateRoles(), ilSoapUserAdministration::updateUser(), and ilObjPaymentSettingsGUI::vendorsObject().

        {
                global $ilias, $objDefinition;

                // check object id
                if (!isset($a_obj_id))
                {
                        $message = "ilObjectFactory::getInstanceByObjId(): No obj_id given!";
                        if ($stop_on_error === true)
                        {
                                $ilias->raiseError($message,$ilias->error_obj->WARNING);
                                exit();
                        }
                        #var_dump("<pre>",$message,"<pre>");

                        return false;
                }

                // read object data
                $q = "SELECT * FROM object_data ".
                         "WHERE obj_id = '".$a_obj_id."'";
                $object_set = $ilias->db->query($q);
                // check number of records
                if ($object_set->numRows() == 0)
                {
                        $message = "ilObjectFactory::getInstanceByObjId(): Object with obj_id: ".$a_obj_id." not found!";
                        if ($stop_on_error === true)
                        {
                                $ilias->raiseError($message,$ilias->error_obj->WARNING);
                                exit();
                        }
                        #var_dump("<pre>",$message,"<pre>");
                        return false;
                }

                $object_rec = $object_set->fetchRow(DB_FETCHMODE_ASSOC);
                $class_name = "ilObj".$objDefinition->getClassName($object_rec["type"]);
                
                // check class
                if ($class_name == "ilObj")
                {
                        $message = "ilObjectFactory::getInstanceByObjId(): Not able to determine object ".
                                "class for type".$object_rec["type"].".";
                        if ($stop_on_error === true)
                        {
                                $ilias->raiseError($message,$ilias->error_obj->WARNING);
                                exit();
                        }
                        return false;
                }

                // get module
                $module = $objDefinition->getModule($object_rec["type"]);
                $module_dir = ($module == "")
                        ? ""
                        : $module."/";

                // create instance
                include_once($module_dir."classes/class.".$class_name.".php");
                $obj =& new $class_name(0, false);      // this avoids reading of data
                $obj->setId($a_obj_id);
                $obj->setObjDataRecord($object_rec);
                $obj->read();

                return $obj;
        }

Here is the caller graph for this function:

ilObjectFactory::getInstanceByRefId ( a_ref_id,
stop_on_error = true 
)

get an instance of an Ilias object by reference id

Parameters:
int $obj_id object id
Returns:
object instance of Ilias object (i.e. derived from ilObject)

Definition at line 141 of file class.ilObjectFactory.php.

References $ilias, $q, and exit.

Referenced by ilCourseArchives::__addHTMLFiles(), ilCourseArchives::__addZipFiles(), ilCourseXMLWriter::__buildObject(), ilCourseArchives::__buildStructure(), ilRepositorySearchGUI::__fillGroupTable(), ilSearchGUI::__formatDigiLibResult(), ilSearchGUI::__formatGroupResult(), ilSearchGUI::__formatLearningModuleResult(), ilForum::__formatMessage(), ilCourseObjectivesGUI::__getAllChapters(), ilObjExerciseGUI::__getMembersOfObject(), ilEventAdministrationGUI::__initCourseObject(), ilCourseRegisterGUI::__initCourseObject(), ilCourseObjectivesGUI::__initCourseObject(), ilCourseObjectivePresentationGUI::__initCourseObject(), ilCourseContentGUI::__initCourseObject(), ilCourseArchivesGUI::__initCourseObject(), ilObjectGUIAdapter::__initGUIObject(), ilCourseItemAdministrationGUI::__initItem(), ilSearchGUI::__save(), ilObjExerciseGUI::__showObjectSelect(), ilPurchaseBMFGUI::__showShoppingCart(), ilChatServerCommunicator::_initObject(), ilPaymentStatisticGUI::addCustomer(), ilObjPaymentSettingsGUI::addCustomerObject(), ilSoapObjectAdministration::addObject(), ilPaymentObjectGUI::addPrice(), ilSoapObjectAdministration::addReference(), ilSoapRBACAdministration::addRole(), ilSoapRBACAdministration::addRoleFromTemplate(), ilPaymentStatisticGUI::addStatisticWorksheet(), ilObjPaymentSettingsGUI::addStatisticWorksheet(), ilObjRoleGUI::askDeleteDesktopItemObject(), ilCourseObjectivesGUI::askDeleteLM(), ilConditionHandlerInterface::assign(), ilCourseObjectivesGUI::assignChapterSelect(), ilObjCourseGroupingGUI::assignCourse(), ilSoapCourseAdministration::assignCourseMember(), ilSoapGroupAdministration::assignGroupMember(), ilCourseObjectivesGUI::assignLM(), ilCourseObjectivesGUI::assignLMChapter(), ilCourseObjectivesGUI::assignLMSelect(), ilCourseObjectivesGUI::assignQuestion(), ilCourseObjectivesGUI::assignQuestionSelect(), ilCourseObjectivesGUI::assignTestSelect(), ilCourseContentInterface::cci_init(), ilCourseContentInterface::cci_start_objects(), ilCronWebResourceCheck::check(), ilConditionHandlerInterface::chi_init(), ilContainerGUI::clipboardObject(), ilObjectGUI::confirmedDeleteObject(), ilObjStyleSheetGUI::copyStyleObject(), ilSoapObjectAdministration::deleteObject(), ilPaymentObjectGUI::editDetails(), ilPaymentObjectGUI::editPrices(), ilCourseObjectivesGUI::editQuestionAssignment(), ilPaymentStatisticGUI::editStatistic(), ilObjPaymentSettingsGUI::editStatisticObject(), ilSoapCourseAdministration::excludeCourseMember(), ilSoapGroupAdministration::excludeGroupMember(), ilForum::generatePost(), ilForum::generateThread(), ilSoapCourseAdministration::getCourseXML(), ilMail::getEmailsOfRecipients(), ilSoapGroupAdministration::getGroup(), ilSoapRBACAdministration::getLocalRoles(), ilCourseObjectiveQuestion::getMaxPointsByObjective(), ilCourseObjectiveQuestion::getMaxPointsByTest(), ilSoapObjectAdministration::getObjectByReference(), ilSoapRBACAdministration::getObjectTreeOperations(), ilPaymentShoppingCart::getShoppingCart(), ilSOAPStructureObjectAdministration::getStructureObjects(), ilSoapObjectAdministration::getTreeChilds(), ilMail::getUserIds(), ilSoapUserAdministration::getUsersForContainer(), ilSoapObjectAdministration::getXMLTree(), ilSoapRBACAdministration::grantPermissions(), ilObjChat::ilClone(), ilConditionHandlerInterface::ilConditionHandlerInterface(), ilCourseContentInterface::ilCourseContentInterface(), ilForumExplorer::ilForumExplorer(), ilPaymentPurchaseGUI::ilPaymentPurchaseGUI(), ilObjStyleSheetGUI::importStyleObject(), ilSoapUserAdministration::importUsers(), ilObjForumListGUI::initItem(), ilSoapCourseAdministration::isAssignedToCourse(), ilSoapGroupAdministration::isAssignedToGroup(), ilRepositoryExplorer::isVisible(), ilCourseObjectivesGUI::listAssignedLM(), ilObjRoleGUI::listDesktopItemsObject(), ilObjCourseGUI::listStructureObject(), ilLMStatisticsGUI::listUsersGroup(), ilRepositorySearchGUI::listUsersGroup(), ilObjiLincCourseGUI::listUsersGroupObject(), ilObjCourseGUI::listUsersGroupObject(), ilObjRoleGUI::listUsersGroupObject(), ilObjGroupGUI::listUsersGroupObject(), ilObjDlBookGUI::properties(), ilSoapObjectAdministration::removeFromSystemByImportId(), ilCourseObjectiveResult::reset(), ilSoapRBACAdministration::revokePermissions(), ilObjStyleSheetGUI::saveObject(), ilLMStatisticsGUI::search(), ilObjiLincCourseGUI::searchObject(), ilObjCourseGUI::searchObject(), ilObjRoleGUI::searchObject(), ilObjGroupGUI::searchObject(), ilObjCourseGUI::selectStarterObject(), ilObjDlBookGUI::showAbstract(), ilPaymentBillAdminGUI::showBillData(), ilPaymentBuyedObjectsGUI::showItems(), ilWysiwygUtil::showMoveCopyQuestion(), ilPaymentObjectGUI::showObjects(), ilPaymentObjectGUI::showSelectedObject(), ilPaymentStatisticGUI::showStatistics(), ilObjDlBookGUI::showTranslationSelect(), ilObjPaymentSettingsGUI::statisticObject(), ilSoapCourseAdministration::updateCourse(), ilObjStyleSheetGUI::updateObject(), and ilConditionHandler::validate().

        {
                global $ilias, $objDefinition;

                // check reference id
                if (!isset($a_ref_id))
                {
                        if ($stop_on_error === true)
                        {
                                $message = "ilObjectFactory::getInstanceByRefId(): No ref_id given!";
                                $ilias->raiseError($message,$ilias->error_obj->WARNING);
                                exit();
                        }
                        
                        return false;
                }

                // read object data
                
                // Much too slow
                #$q = "SELECT * FROM object_data ".
                #        "LEFT JOIN object_reference ON object_data.obj_id=object_reference.obj_id ".
                #        "WHERE object_reference.ref_id='".$a_ref_id."'";
                $q = "SELECT * FROM object_data,object_reference ".
                        "WHERE object_reference.obj_id = object_data.obj_id ".
                        "AND object_reference.ref_id = '".$a_ref_id."'";

                $object_set = $ilias->db->query($q);

                // check number of records
                if ($object_set->numRows() == 0)
                {
                        if ($stop_on_error === true)
                        {
                                $message = "ilObjectFactory::getInstanceByRefId(): Object with ref_id ".$a_ref_id." not found!";
                                $ilias->raiseError($message,$ilias->error_obj->WARNING);
                                exit();
                        }
                        
                        return false;
                }

                $object_rec = $object_set->fetchRow(DB_FETCHMODE_ASSOC);
                $class_name = "ilObj".$objDefinition->getClassName($object_rec["type"]);

                // check class
                if ($class_name == "ilObj")
                {
                        if ($stop_on_error === true)
                        {
                                $message = "ilObjectFactory::getInstanceByRefId(): Not able to determine object ".
                                                   "class for type".$object_rec["type"].".";
                                $ilias->raiseError($message,$ilias->error_obj->WARNING);
                                exit();
                        }
                        
                        return false;
                }

                // get module
                $module = $objDefinition->getModule($object_rec["type"]);
                $module_dir = ($module == "")
                        ? ""
                        : $module."/";

                // create instance
                include_once($module_dir."classes/class.".$class_name.".php");
                $obj =& new $class_name(0, false);      // this avoids reading of data
                $obj->setId($object_rec["obj_id"]);
                $obj->setRefId($a_ref_id);
                $obj->setObjDataRecord($object_rec);
                $obj->read();
                return $obj;
        }

Here is the caller graph for this function:

ilObjectFactory::getTypeByRefId ( a_ref_id,
stop_on_error = true 
)

get object type by reference id

Parameters:
int $obj_id object id
Returns:
string object type

Definition at line 222 of file class.ilObjectFactory.php.

References $ilias, $q, and exit.

        {
                global $ilias, $objDefinition;

                // check reference id
                if (!isset($a_ref_id))
                {
                        if ($stop_on_error === true)
                        {
                                $message = "ilObjectFactory::getTypeByRefId(): No ref_id given!";
                                $ilias->raiseError($message,$ilias->error_obj->WARNING);
                                exit();
                        }
                        
                        return false;
                }

                // read object data
                $q = "SELECT * FROM object_data ".
                         "LEFT JOIN object_reference ON object_data.obj_id=object_reference.obj_id ".
                         "WHERE object_reference.ref_id='".$a_ref_id."'";
                $object_set = $ilias->db->query($q);

                if ($object_set->numRows() == 0)
                {
                        if ($stop_on_error === true)
                        {
                                $message = "ilObjectFactory::getTypeByRefId(): Object with ref_id ".$a_ref_id." not found!";
                                $ilias->raiseError($message,$ilias->error_obj->WARNING);
                                exit();
                        }
                        
                        return false;
                }

                $object_rec = $object_set->fetchRow(DB_FETCHMODE_ASSOC);
                return $object_rec["type"];
        }

ilObjectFactory::ObjectIdExists ( a_obj_id  ) 

check if obj_id exists.

To check for ref_ids use ilTree::isInTree()

Parameters:
int $obj_id object id
Returns:
bool

Definition at line 49 of file class.ilObjectFactory.php.

References $ilias, $query, and $res.

Referenced by ilSearchGUI::__formatUserResult(), and ilMail::getMailsOfFolder().

        {
                global $ilias;

                $query = "SELECT * FROM object_data ".
                        "WHERE obj_id = '".$a_obj_id."'";

                $res = $ilias->db->query($query);
                
                return $res->numRows() ? true : false;
        }

Here is the caller graph for this function:


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