Class ilObjectFactory. More...
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 | |
Class ilObjectFactory.
This class offers methods to get instances of the type-specific object classes (derived from ilObject) by their object or reference id
Note: The term "Ilias objects" means all object types that are stored in the database table "object_data"
Definition at line 40 of file class.ilObjectFactory.php.
| ilObjectFactory::getInstanceByObjId | ( | $ | a_obj_id, | |
| $ | stop_on_error = true | |||
| ) |
get an instance of an Ilias object by object id
| int | $obj_id object id |
Definition at line 66 of file class.ilObjectFactory.php.
Referenced by ilRoleDesktopItem::__assign(), ilObjCategoryGUI::__checkGlobalRoles(), ilRepositorySearchGUI::__fillRoleTable(), ilAdminUserSearchGUI::__fillRoleTable(), ilRepositorySearchGUI::__fillUserTable(), ilAdminUserSearchGUI::__fillUserTable(), ilObjExercise::__formatRecipients(), ilObjCategoryGUI::__getAssignableRoles(), ilPaymentBillAdminGUI::__initBillVendorData(), ilObjectGUIAdapter::__initGUIObject(), ilLPListOfProgressGUI::__initUser(), ilCourseParticipants::__readSubscribers(), ilLinkChecker::__sendMail(), ilObjExerciseGUI::__showMembersSelect(), ilObjCategoryGUI::__showRolesTable(), ilObjChatGUI::__showRooms(), ilObjCourseGUI::__showSubscribers(), ilPaymentObjectGUI::__showVendorSelector(), ilObjPaymentSettingsGUI::__showVendorSelector(), ilObjCourseGUI::__showWaitingList(), ilSearch::__validateResults(), ilObjGroup::_isMember(), ilPaymentStatisticGUI::addCustomer(), ilObjPaymentSettingsGUI::addCustomerObject(), ilObjCourseGUI::addFromWaitingList(), ilSoapRBACAdministration::addUserRoleEntry(), ilObjPaymentSettingsGUI::addVendorWorksheet(), ilObjUserFolderGUI::appliedUsersObject(), ilSoapCourseAdministration::assignCourseMember(), ilSoapGroupAdministration::assignGroupMember(), ilExerciseMembers::assignMember(), ilObjCourseGUI::assignMembersObject(), ilObjCategoryGUI::assignRolesObject(), ilCourseParticipants::assignSubscriber(), ilRbacAdmin::assignUser(), ilStructureObject::copy(), ilExerciseMembers::deassignMember(), ilObjCourseGUI::deleteMembersObject(), ilSoapRBACAdministration::deleteRole(), ilObjCourseGUI::deleteSubscribers(), ilSoapUserAdministration::deleteUser(), ilSoapRBACAdministration::deleteUserRoleEntry(), ilObjExerciseGUI::downloadAllObject(), ilObjUserFolderGUI::editAppliedUsersObject(), ilObjCourseGUI::editMemberObject(), ilPaymentStatisticGUI::editStatistic(), ilObjPaymentSettingsGUI::editStatisticObject(), ilObjCourseGUI::fetchPrintMemberData(), ilObjCourseGUI::fetchPrintSubscriberData(), ilObjCourse::getDefaultAdminRole(), ilObjCourse::getDefaultMemberRole(), ilObjCourse::getDefaultTutorRole(), ilSoapExerciseAdministration::getExerciseXML(), ilSoapFileAdministration::getFileXML(), ilSoapSCORMAdministration::getIMSManifestXML(), ilSoapRBACAdministration::getLocalRoles(), ilSoapObjectAdministration::getObjectsByTitle(), ilSoapRBACAdministration::getObjectTreeOperations(), ilSoapUserAdministration::getUser(), ilForum::getUserData(), ilSoapRBACAdministration::getUserRoles(), ilSoapRBACAdministration::grantPermissions(), ilCourseParticipants::isGroupingMember(), ilLMStatisticsGUI::listUsersGroup(), ilObjCourseGUI::listUsersGroupObject(), ilObjiLincCourseGUI::listUsersGroupObject(), ilObjRoleGUI::listUsersGroupObject(), ilObjGroupGUI::listUsersGroupObject(), ilLMStatisticsGUI::listUsersRole(), ilObjCourseGUI::listUsersRoleObject(), ilObjiLincCourseGUI::listUsersRoleObject(), ilObjRoleGUI::listUsersRoleObject(), ilObjGroupGUI::listUsersRoleObject(), ilObjCourseGUI::membersGalleryObject(), ilObjiLincCourseGUI::membersGalleryObject(), ilObjGroupGUI::membersGalleryObject(), ilObjExerciseGUI::membersObject(), ilObjPaymentSettingsGUI::objectsObject(), ilObjContentObjectGUI::pasteChapter(), ilObjCategoryGUI::performDeleteUsersObject(), ilPaymentTrusteeGUI::performSearch(), ilPaymentStatisticGUI::performSearch(), ilObjPaymentSettingsGUI::performSearchSPObject(), ilObjCourseGUI::removeFromWaitingList(), ilSoapRBACAdministration::revokePermissions(), ilLMStatisticsGUI::search(), ilObjPaymentSettingsGUI::searchObject(), ilObjCourseGUI::searchObject(), ilObjiLincCourseGUI::searchObject(), ilObjRoleGUI::searchObject(), ilObjGroupGUI::searchObject(), ilSoapObjectAdministration::searchObjects(), ilObjChat::sendMessage(), ilCourseParticipants::sendNotification(), ilCourseParticipants::sendNotificationToAdmins(), ilCourseParticipants::sendSubscriptionRequestToAdmins(), ilCourseParticipants::sendUnsubscribeNotificationToAdmins(), ilPaymentBuyedObjectsGUI::showItems(), ilMailSearchCoursesGUI::showMembers(), ilMailSearchCoursesGUI::showMyCourses(), ilPaymentObjectGUI::showObjects(), ilPaymentTrusteeGUI::showTrustees(), ilCourseRegisterGUI::subscribe(), ilObjUserFolderGUI::updateAppliedUsersObject(), ilSoapExerciseAdministration::updateExercise(), ilSoapFileAdministration::updateFile(), ilMailbox::updateMailsOfDeletedUser(), ilSoapObjectAdministration::updateObjects(), ilSoapUserAdministration::updatePassword(), ilRegistrationSettingsGUI::updateRoles(), ilSoapUserAdministration::updateUser(), and ilObjPaymentSettingsGUI::vendorsObject().
{
global $ilias, $objDefinition, $ilDB;
// 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 = ".$ilDB->quote($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
| int | $obj_id object id |
Definition at line 140 of file class.ilObjectFactory.php.
Referenced by ilCourseArchives::__addHTMLFiles(), ilCourseArchives::__addZipFiles(), ilCourseXMLWriter::__buildObject(), ilCourseArchives::__buildStructure(), ilMemberExport::__construct(), ilRepositorySearchGUI::__fillGroupTable(), ilAdminUserSearchGUI::__fillGroupTable(), ilForum::__formatMessage(), ilCourseObjectivesGUI::__getAllChapters(), ilObjExerciseGUI::__getMembersOfObject(), ilEventAdministrationGUI::__initCourseObject(), ilCourseRegisterGUI::__initCourseObject(), ilCourseObjectivesGUI::__initCourseObject(), ilCourseObjectivePresentationGUI::__initCourseObject(), ilCourseContentGUI::__initCourseObject(), ilCourseArchivesGUI::__initCourseObject(), ilObjectGUIAdapter::__initGUIObject(), ilCourseItemAdministrationGUI::__initItem(), ilObjExerciseGUI::__showObjectSelect(), ilPurchaseBMFGUI::__showShoppingCart(), ilChatServerCommunicator::_initObject(), ilSoapCourseAdministration::addCourse(), ilPaymentStatisticGUI::addCustomer(), ilObjPaymentSettingsGUI::addCustomerObject(), ilSoapExerciseAdministration::addExercise(), ilSoapFileAdministration::addFile(), ilSoapObjectAdministration::addObject(), ilPaymentObjectGUI::addPrice(), ilObjPaymentSettingsGUI::addPriceObject(), ilSoapObjectAdministration::addReference(), ilSoapRBACAdministration::addRole(), ilSoapRBACAdministration::addRoleFromTemplate(), ilObjRoleGUI::askDeleteDesktopItemObject(), ilConditionHandlerInterface::assign(), ilObjCourseGroupingGUI::assignCourse(), ilSoapCourseAdministration::assignCourseMember(), ilSoapGroupAdministration::assignGroupMember(), ilCronWebResourceCheck::check(), ilConditionHandlerInterface::chi_init(), ilContainerGUI::clipboardObject(), ilObjectGUI::cloneAllObject(), ilContainerGUI::cloneAllObject(), ilSoapUtils::cloneDependencies(), ilCourseItems::cloneDependencies(), ilObjGroup::cloneDependencies(), ilObjFolder::cloneDependencies(), ilSoapUtils::cloneNode(), ilObjectGUI::confirmedDeleteObject(), ilRbacAdmin::copyLocalRoles(), ilObjStyleSheetGUI::copyStyleObject(), ilSoapObjectAdministration::deleteObject(), ilPaymentObjectGUI::editDetails(), ilObjPaymentSettingsGUI::editObjectObject(), ilPaymentObjectGUI::editPrices(), ilObjPaymentSettingsGUI::editPricesObject(), ilCourseObjectivesGUI::editQuestionAssignment(), ilSoapCourseAdministration::excludeCourseMember(), ilSoapGroupAdministration::excludeGroupMember(), ilForum::generatePost(), 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(), ilCourseObjective::ilClone(), ilConditionHandlerInterface::ilConditionHandlerInterface(), ilForumExplorer::ilForumExplorer(), ilPaymentPurchaseGUI::ilPaymentPurchaseGUI(), ilObjStyleSheetGUI::importStyleObject(), ilSoapUserAdministration::importUsers(), ilObjForumListGUI::initItem(), ilSoapCourseAdministration::isAssignedToCourse(), ilSoapGroupAdministration::isAssignedToGroup(), ilRepositoryExplorer::isVisible(), ilSoapUtils::linkNode(), ilObjRoleGUI::listDesktopItemsObject(), ilCourseObjectivesGUI::listQuestionAssignment(), ilObjCourseGUI::listStructureObject(), ilLMStatisticsGUI::listUsersGroup(), ilRepositorySearchGUI::listUsersGroup(), ilAdminUserSearchGUI::listUsersGroup(), ilObjCourseGUI::listUsersGroupObject(), ilObjiLincCourseGUI::listUsersGroupObject(), ilObjRoleGUI::listUsersGroupObject(), ilObjGroupGUI::listUsersGroupObject(), ilObjPaymentSettingsGUI::objectsObject(), ilObjDlBookGUI::properties(), ilSoapObjectAdministration::removeFromSystemByImportId(), ilCourseObjectiveResult::reset(), ilSoapRBACAdministration::revokePermissions(), ilObjStyleSheetGUI::saveObject(), ilLMStatisticsGUI::search(), ilObjCourseGUI::searchObject(), ilObjiLincCourseGUI::searchObject(), ilObjRoleGUI::searchObject(), ilObjGroupGUI::searchObject(), ilObjCourseGUI::selectStarterObject(), ilObjDlBookGUI::showAbstract(), ilPaymentBillAdminGUI::showBillData(), ilPaymentCouponGUI::showCoupons(), ilPaymentBuyedObjectsGUI::showItems(), ilMailSearchGroupsGUI::showMembers(), ilWysiwygUtil::showMoveCopyQuestion(), ilPaymentObjectGUI::showObjects(), ilPaymentCouponGUI::showObjects(), ilPaymentObjectGUI::showSelectedObject(), ilObjDlBookGUI::showTranslationSelect(), ilObjForumGUI::showUserObject(), ilSoapCourseAdministration::updateCourse(), ilSoapGroupAdministration::updateGroup(), ilObjStyleSheetGUI::updateObject(), and ilConditionHandler::validate().
{
global $ilias, $objDefinition, $ilDB;
// 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 = ".$ilDB->quote($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
| int | $obj_id object id |
Definition at line 221 of file class.ilObjectFactory.php.
Referenced by ilSoapGroupAdministration::updateGroup().
{
global $ilias, $objDefinition, $ilDB;
// 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=".$ilDB->quote($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"];
}
Here is the caller graph for this function:| ilObjectFactory::ObjectIdExists | ( | $ | a_obj_id | ) |
check if obj_id exists.
To check for ref_ids use ilTree::isInTree()
| int | $obj_id object id |
Definition at line 48 of file class.ilObjectFactory.php.
Referenced by ilMail::getMailsOfFolder(), and ilMailFolderGUI::showFolder().
{
global $ilias, $ilDB;
$query = "SELECT * FROM object_data ".
"WHERE obj_id = ".$ilDB->quote($a_obj_id);
$res = $ilias->db->query($query);
return $res->numRows() ? true : false;
}
Here is the caller graph for this function:
1.7.1