ILIAS  release_8 Revision v8.23
ilObjectFactory Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Collaboration diagram for ilObjectFactory:

Public Member Functions

 ObjectIdExists (int $obj_id)
 check if obj_id exists. More...
 

Static Public Member Functions

static getObjectsForOwner (string $object_type, int $owner_id)
 returns all objects of an owner, filtered by type, objects are not deleted! More...
 
static getInstanceByObjId (?int $obj_id, bool $stop_on_error=true)
 get an instance of an Ilias object by object id More...
 
static getInstanceByRefId (int $ref_id, bool $stop_on_error=true)
 get an instance of an Ilias object by reference id More...
 
static getTypeByRefId (int $ref_id, bool $stop_on_error=true)
 get object type by reference id More...
 
static getClassByType (string $obj_type)
 

Protected Member Functions

 includeClassIfNotExists (string $class_name, string $a_obj_type, ilObjectDefinition $objDefinition)
 Ensures a class is properly included. More...
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning 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"

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

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

Member Function Documentation

◆ getClassByType()

static ilObjectFactory::getClassByType ( string  $obj_type)
static

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

References $DIC.

Referenced by ilRepositoryTrashGUI\confirmRemoveFromSystemObject(), ilWorkspaceTree\createTreeForUser(), ilAdministrationCommandGUI\delete(), ilObjStudyProgrammeTreeGUI\delete(), ilObjWorkspaceFolderGUI\deleteConfirmation(), ilObjectCopyGUI\saveSource(), ilObjectCopyGUI\saveTarget(), and ilRepositoryTrashGUI\showDeleteConfirmation().

240  : string
241  {
242  global $DIC;
243  $objDefinition = $DIC["objDefinition"];
244 
245  $class_name = "ilObj" . $objDefinition->getClassName($obj_type);
246 
247  (new self())->includeClassIfNotExists($class_name, $obj_type, $objDefinition);
248 
249  return $class_name;
250  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ getInstanceByObjId()

static ilObjectFactory::getInstanceByObjId ( ?int  $obj_id,
bool  $stop_on_error = true 
)
static

get an instance of an Ilias object by object id

Exceptions
ilDatabaseException
ilObjectNotFoundException

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

References $DIC, $ilDB, $message, and ilDBConstants\FETCHMODE_ASSOC.

Referenced by ilDownloadFilesBackgroundTask\__construct(), ilCalendarUserSettings\__construct(), ilSessionReminderCheck\__construct(), ilPDMailGUI\__construct(), ilLPListOfProgressGUI\__initUser(), ilEventParticipants\__read(), ilStartUpGUI\_checkGoto(), ilObjGroup\_isMember(), ilObjContentObject\_moveLMStyles(), ilObjContentObjectGUI\activatePages(), ilSoapExerciseAdministration\addExercise(), ilSoapFileAdministration\addFile(), ilInfoScreenGUI\addMetaDataSections(), ilUserProfile\addStandardFieldsToForm(), ilSoapRBACAdministration\addUserRoleEntry(), ilSoapCourseAdministration\assignCourseMember(), ilMembershipGUI\assignFromWaitingList(), ilCourseMembershipGUI\assignMembers(), ilObject2GUI\assignObject(), ilObjectGUI\assignObject(), ilLocalUserGUI\assignRoles(), ilObjCategoryGUI\assignRolesObject(), ilParticipants\assignSubscriber(), ilChatroom\byRoomId(), ilMailSearchObjectGUI\cancel(), ilWorkspaceTree\cascadingDelete(), ilLocalUserGUI\checkGlobalRoles(), ilObjCategoryGUI\checkGlobalRoles(), ilUserCronCheckAccounts\checkNotConfirmedUserAccounts(), ilLMObject\clipboardCopy(), ILIAS\Style\Content\Object\ObjectManager\cloneTo(), ilMailMemberSearchDataProvider\collectTableData(), ilObjUserFolderGUI\confirmaccessFreeObject(), ilObjUserFolderGUI\confirmaccessRestrictObject(), ilObjUserFolderGUI\confirmactivateObject(), ilObjUserFolderGUI\confirmdeactivateObject(), ilMailFolderGUI\confirmDeleteMails(), ilObjUserFolderGUI\confirmdeleteObject(), ilContentStyleSettingsGUI\confirmedDelete(), ilObjStyleSheetGUI\copyStyleObject(), ilContainerXmlParser\createObject(), ilExerciseManagementCollectFilesJob\createSubmissionsDirectory(), ilObjWorkspaceFolderGUI\cut(), ilObjRoleFolder\delete(), ilObject2GUI\deleteConfirmedObjects(), ilSoapUtils\deleteExpiredDualOptInUserObjects(), ilSoapRBACAdministration\deleteRole(), ilObjRoleFolderGUI\deleteRoleObject(), ilSoapRBACAdministration\deleteUserRoleEntry(), ilForumModeratorsGUI\detachModeratorRole(), ilLPStatusLtiOutcome\ensureObject(), ilLPStatusCmiXapiAbstract\ensureObject(), ilPublicSubmissionsTableGUI\fillRow(), ilObjectConsumerTableGUI\fillRow(), ilContentPageImporter\finalProcessing(), ilForumImporter\finalProcessing(), ilTestImporter\finalProcessing(), ilPdfGenerator\generateFileName(), ilLocalUserGUI\getAssignableRoles(), ilObjCategoryGUI\getAssignableRoles(), ilObjForumAccess\getCachedUserInstance(), ilSoapCourseAdministration\getCoursesForUser(), ilObjCourse\getDefaultAdminRole(), ilObjGroup\getDefaultGroupRoles(), ilObjCourse\getDefaultTutorRole(), ilItemGroupDataSet\getDependencies(), ilChatroom\getDescription(), ilCertificateGUI\getEditorForm(), ilUsersGalleryContacts\getGroupedCollections(), ilSoapGroupAdministration\getGroupsForUser(), ilObjLTIConsumerListGUI\getIconHref(), ilSoapSCORMAdministration\getIMSManifestXML(), ilCertificateObjectHelper\getInstanceByObjId(), ilUserRoleStartingPointTableGUI\getItems(), ilObjCourse\getLocalCourseRoles(), ilObjGroup\getLocalGroupRoles(), ilSoapRBACAdministration\getLocalRoles(), ilAttendanceList\getNonMemberUserData(), ilSoapObjectAdministration\getObjectsByTitle(), ilSoapRBACAdministration\getObjectTreeOperations(), ilCourseMembershipGUI\getPrintMemberData(), ilLTIConsumerProviderTableGUI\getProviderCreatorLabel(), ilLearningSequenceRoles\getRoleObject(), ilSoapRBACAdministration\getRoles(), ilStudyProgrammeMailTemplateContext\getSpecificPlaceholders(), ilSurveyImporter\getSurvey(), ilChatroom\getTitle(), ilObjectPermissionStatusGUI\getUser(), ilLTIConsumerScoringTableGUI\getUsername(), ilCmiXapiScoringTableGUI\getUsername(), ilCmiXapiStatementsTableGUI\getUsername(), ilObjStudyProgrammeAutoCategoriesGUI\getUserRepresentation(), ilObjStudyProgrammeAutoMembershipsGUI\getUserRepresentation(), ilSoapRBACAdministration\getUserRoles(), ilUsersGalleryParticipants\getUsers(), ilForumExporter\getXmlExportTailDependencies(), ilContentPageExporter\getXmlExportTailDependencies(), ilBibliographicDataSet\getXmlNamespace(), ilDataCollectionDataSet\getXmlNamespace(), ilHTMLLearningModuleDataSet\getXmlRecord(), ilPollDataSet\getXmlRecord(), ilChatroomExporter\getXmlRepresentation(), ilSoapRBACAdministration\grantPermissions(), ilSoapGroupAdministration\groupExists(), ilSessionAppEventListener\handle(), ilAuthFrontend\handleAuthenticationSuccess(), ilObjSession\handleAutoFill(), ilObjGroup\handleAutoFill(), ilObjCourse\handleAutoFill(), ilECSTaskScheduler\handleDeprecatedAccounts(), ilECSAppEventListener\handleEvent(), XapiProxy\XapiProxy\handleStatementEvaluation(), ilRemoteObjectBase\handleUpdate(), ilCronDeleteInactiveUserAccounts\hasCustomSettings(), ilObjTestAccess\hasFinished(), ilIndividualAssessmentMembersTableGUI\hasPublicProfile(), ilObjectGUI\importFileObject(), ilContentPageDataSet\importRecord(), ilIndividualAssessmentDataSet\importRecord(), ilPortfolioDataSet\importRecord(), ilMediaCastDataSet\importRecord(), ilGlossaryDataSet\importRecord(), ilMediaPoolDataSet\importRecord(), ilBlogDataSet\importRecord(), ilWikiDataSet\importRecord(), ilCmiXapiDataSet\importRecord(), ilLearningModuleDataSet\importRecord(), ilStyleDataSet\importRecord(), ilExerciseDataSet\importRecord(), ilObjStyleSheetGUI\importStyleObject(), ilSurveyQuestionPoolImporter\importXmlRepresentation(), ilChatroomImporter\importXmlRepresentation(), ilFolderImporter\importXmlRepresentation(), ilFileImporter\importXmlRepresentation(), ilGlossaryImporter\importXmlRepresentation(), ilLearningSequenceImporter\importXmlRepresentation(), ilTestQuestionPoolImporter\importXmlRepresentation(), ilWebResourceImporter\importXmlRepresentation(), ilTestImporter\importXmlRepresentation(), ilLearningModuleImporter\importXmlRepresentation(), ilScormAiccImporter\importXmlRepresentation(), ilForumImporter\init(), ilFolderXmlWriter\init(), ilWebLinkXmlWriter\init(), ilMimeMailNotification\initLanguage(), ilPluginLP\initPlugin(), ilRoleXmlImporter\initRole(), ilCmiXapiHighscoreReport\initTableData(), ilBadgeWAC\isAssignedBadgeOfPublishedUserProfile(), ilParticipants\isGroupingMember(), ilChatroom\isOwnerOfPrivateRoom(), XapiProxy\XapiProxy\isSubStatementCheck(), ilAuthFrontend\migrateAccount(), ilStartingPoint\onRoleDeleted(), ilExerciseSubmissionTableGUI\parseColumns(), ilSoapMailXmlParser\parseName(), ilLPTableBaseGUI\parseTitle(), ilLocalUserGUI\performDeleteUsers(), ilObjCategoryGUI\performDeleteUsersObject(), ilObjWorkspaceFolderGUI\performPasteIntoMultipleObjects(), ilCmiXapiImporter\prepareContainerObject(), ilContentPageDataSet\readData(), ilParticipants\readSubscribers(), ilExerciseManagementGUI\redirectFeedbackMailObject(), ilSoapObjectAdministration\removeFromSystemByImportId(), ilPreviewGUI\renderPreview(), ilPCLauncher\replaceWithRenderedButtons(), ilPCCurriculum\replaceWithRenderedCurriculum(), ilTestLP\resetCustomLPDataForUserIds(), ilSoapRBACAdministration\revokePermissions(), ilXapiResultsCronjob\run(), ilCronDeleteNeverLoggedInUserAccounts\run(), ilCronDeleteInactivatedUserAccounts\run(), ilObjStyleSheetGUI\saveObject(), ilPermissionGUI\savePermissions(), ilSessionMembershipMailNotification\send(), ilEmployeeTalkTableGUI\setTalkData(), ilLocalUserGUI\showRolesTable(), ilPasswordAssistanceGUI\submitAssignPasswordForm(), ILIAS\Notifications\ilNotificationSystem\toUsers(), ilPermissionGUI\unblockRoles(), ilObjExercise\update(), ilECSCourseCreationHandler\updateParallelCourses(), ilECSCourseCreationHandler\updateParallelGroups(), ilRegistrationSettingsGUI\updateRoles(), ilSoapWebLinkAdministration\updateWebLink(), and ilObjTestAccess\visibleUserResultExists().

84  : ?ilObject
85  {
86  global $DIC;
87  $objDefinition = $DIC["objDefinition"];
88  $ilDB = $DIC->database();
89 
90  // check object id
91  if (!isset($obj_id)) {
92  $message = "ilObjectFactory::getInstanceByObjId(): No obj_id given!";
93  if ($stop_on_error === true) {
95  }
96  return null;
97  }
98 
99  // read object data
100  $sql =
101  "SELECT obj_id, type, title, description, owner, create_date, last_update, import_id, offline" . PHP_EOL
102  . "FROM object_data" . PHP_EOL
103  . "WHERE obj_id = " . $ilDB->quote($obj_id, 'integer') . PHP_EOL
104  ;
105  $result = $ilDB->query($sql);
106  // check number of records
107  if ($result->numRows() == 0) {
108  $message = "ilObjectFactory::getInstanceByObjId(): Object with obj_id: " . $obj_id . " not found!";
109  if ($stop_on_error === true) {
111  }
112  return null;
113  }
114 
115  $row = $result->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
116  $class_name = "ilObj" . $objDefinition->getClassName($row["type"]);
117 
118  // check class
119  if ($class_name == "ilObj") {
120  $message = "ilObjectFactory::getInstanceByObjId(): Not able to determine object " .
121  "class for type" . $row["type"] . ".";
122  if ($stop_on_error === true) {
124  }
125  return null;
126  }
127 
128  (new self())->includeClassIfNotExists($class_name, $row["type"], $objDefinition);
129 
130  // create instance
131  $obj = new $class_name(0, false); // this avoids reading of data
132  $obj->setId($obj_id);
133  $obj->read();
134 
135  return $obj;
136  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28
$message
Definition: xapiexit.php:32
+ Here is the caller graph for this function:

◆ getInstanceByRefId()

static ilObjectFactory::getInstanceByRefId ( int  $ref_id,
bool  $stop_on_error = true 
)
static

get an instance of an Ilias object by reference id

Exceptions
ilDatabaseException
ilObjectNotFoundException

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

References $DIC, $ilDB, $message, and ilDBConstants\FETCHMODE_ASSOC.

Referenced by ilRepositoryObjectSearchGUI\__construct(), ilConditionHandlerGUI\__construct(), ilCourseObjectivesGUI\__initCourseObject(), ilECSObjectSettings\_handleDelete(), ilForumNotification\_isParentNodeGrpCrs(), ilObjTestGUI\accessViolationRedirect(), ilSoapCourseAdministration\addCourse(), ilSoapExerciseAdministration\addExercise(), ilSoapFileAdministration\addFile(), ilSoapGroupAdministration\addGroup(), ilTestExpressPageObjectGUI\addPageOfQuestions(), ilSoapObjectAdministration\addReference(), ilSoapRBACAdministration\addRole(), ilSoapRBACAdministration\addRoleFromTemplate(), ilConditionHandlerGUI\assign(), ilObjCourseGroupingGUI\assignCourse(), ilSoapCourseAdministration\assignCourseMember(), ilObject2GUI\assignObject(), ilObjectGUI\assignObject(), assQuestionGUI\cancelSync(), ilParticipants\canSendMailToMembers(), ilSoapAdministration\checkObjectAccess(), ilContainerGUI\clipboardObject(), ilContainerGUI\cloneAllObject(), ilObjectActivation\cloneDependencies(), ilSoapUtils\cloneDependencies(), ilObjCourseGrouping\cloneGrouping(), ilSoapUtils\cloneNode(), ilContainerGUI\cloneNodes(), ilObjLearningSequenceContentGUI\confirmDelete(), ilObjectCopyGUI\copyContainer(), ilObjectCopyGUI\copyMultipleNonContainer(), ilSoapObjectAdministration\copyObject(), ilObjStyleSheetGUI\copyStyleObject(), ilSoapWebLinkAdministration\createWebLink(), ilOerHarvester\deleteObject(), ilSoapObjectAdministration\deleteObject(), ilContainerReferenceAppEventListener\deleteReferences(), ilForumNotificationDataProvider\determineClosestContainer(), ilGroupAppEventListener\doAutoFill(), ilCourseAppEventListener\doAutoFill(), ilContainerGUI\downloadObject(), ilObjTest\ensureParticipantsLastActivePassFinished(), ilTestInfoScreenToolbarFactory\ensureTestObjectInitialised(), ilObjSessionGUI\eventsListObject(), ilSoapCourseAdministration\excludeCourseMember(), ilTestExpressPageObjectGUI\executeCommand(), ilSessionOverviewGUI\exportCSV(), ilChatroomAdminViewGUI\forcePublicRoom(), ilSessionOverviewTableGUI\gatherEvents(), ilStudyProgrammeExpandableProgressListGUI\getAccordionContentCoursesHTML(), ilObjectFactoryWrapper\getInstanceByRefId(), ilMailAddressTypeHelperImpl\getInstanceByRefId(), ilLSViewFactory\getInstanceByRefId(), ilObjLearningSequence\getInstanceByRefId(), ilSoapRBACAdministration\getLocalRoles(), ilCourseObjectiveQuestion\getMaxPointsByObjective(), ilCourseObjectiveQuestion\getMaxPointsByTest(), ilSoapObjectAdministration\getObjectByReference(), ilLSItemsDB\getObjectFor(), ilSoapObjectAdministration\getObjectsByTitle(), ilSoapRBACAdministration\getObjectTreeOperations(), ilForum\getOneThread(), ilOrgUnitExtension\getOrgUnit(), ilLearningSequenceConditionController\getParentRefIdFor(), ilForumSettingsGUI\getParticipants(), ilCourseStartObjectsTableGUI\getPossibleObjects(), ilContainerStartObjectsTableGUI\getPossibleObjects(), ilLSEventHandler\getRefIdsOfObjId(), ilObjWikiGUI\getSettingsFormValues(), ilStudyProgrammeMailTemplateContext\getSpecificPlaceholders(), ilCourseStartObjectsTableGUI\getStartObjects(), ilContainerStartObjectsTableGUI\getStartObjects(), ilSOAPStructureObjectAdministration\getStructureObjects(), ilMediaPoolGSToolProvider\getToolsForContextStack(), ilSoapObjectAdministration\getTreeChilds(), ilLearningSequenceExporter\getXmlRepresentation(), ilGroupExporter\getXmlRepresentation(), ilContainerReferenceExporter\getXmlRepresentation(), ilCategoryExporter\getXmlRepresentation(), ilCourseExporter\getXmlRepresentation(), ilSoapObjectAdministration\getXMLTree(), ilSoapRBACAdministration\grantPermissions(), ilSoapGroupAdministration\groupExists(), ilRemoteObjectBase\handleDelete(), ilContainerImporter\handleOfflineStatus(), ilECSCategoryMapping\handleUpdate(), ilOerHarvester\harvest(), ilCourseObjective\ilClone(), ilSessionDataSet\importRecord(), ilObjStyleSheetGUI\importStyleObject(), ilSoapUserAdministration\importUsers(), ilGroupImporter\importXmlRepresentation(), ilFolderImporter\importXmlRepresentation(), ilCategoryImporter\importXmlRepresentation(), ilCourseImporter\importXmlRepresentation(), ilContainerReferenceImporter\init(), ilCourseContentGUI\initCourseObject(), ilContainerSessionsContentGUI\initDetails(), ilCourseObjectivesGUI\initFormRandom(), ilAssQuestionPreviewGUI\initQuestion(), ilECSUserConsentModalGUI\initRemoteObject(), ilAssQuestionPreviewSettings\initSettingsWithTestObject(), ilDidacticTemplateAction\initSourceObject(), ilRepUtil\insertSavedNodes(), ilSoapUtils\internalLinkNode(), ilObjLearningSequenceAccess\isOffline(), ilObjTest\isParticipantsLastPassActive(), ilObjectGUI\isVisible(), ilSoapUtils\linkNode(), ilContainerGUI\linkObject(), ilLOUtils\lookupQplBySequence(), ilCourseObjectiveQuestionAssignmentTableGUI\parse(), ilLOTestAssignmentTableGUI\parse(), ilLearningSequenceParticipantsTableGUI\parse(), ilContainerGUI\pasteObject(), ilContainerGUI\performPasteIntoMultipleObjectsObject(), ilValidator\purgeObjects(), ilLOSettings\purgeReferences(), ilObjQuestionPoolGUI\questionsObject(), ilRepUtil\removeDeletedNodes(), ilSoapObjectAdministration\removeFromSystemByImportId(), ilValidator\removeInvalidRolefolders(), ilRepUtil\removeObjectsFromSystem(), ilSystemCheckTrash\removeSelectedFromSystem(), ilSoapTestAdministration\removeTestResults(), ilCourseObjectiveResult\reset(), ilSystemCheckTrash\restore(), ilValidator\restoreDeletedObjects(), ilValidator\restoreMissingObjects(), ilRepUtil\restoreObjects(), ilValidator\restoreSubTrees(), ilWebDAVObjFactory\retrieveDAVObjectByRefID(), ilSoapRBACAdministration\revokePermissions(), ilCollectFilesJob\run(), ilObjStyleSheetGUI\saveObject(), ilSoapObjectAdministration\searchObjects(), ilGroupMembershipMailNotification\send(), ilCourseMembershipMailNotification\send(), ilForumCronNotification\sendCronForumNotification(), LSItemOnlineStatus\setOnlineStatus(), ilObjForumGUI\showUserObject(), ilSoapRoleObjectXMLWriter\start(), ilDidacticTemplateUtils\switchTemplate(), assQuestionGUI\sync(), ilECSCmsTreeSynchronizer\syncCategory(), ilECSCourseCreationHandler\updateCourseData(), ilMembershipRegistrationCodeUtils\useCode(), and ilConditionHandler\validate().

143  : ?ilObject
144  {
145  global $DIC;
146  $objDefinition = $DIC["objDefinition"];
147  $ilDB = $DIC->database();
148 
149  // check reference id
150  if (!isset($ref_id)) {
151  if ($stop_on_error === true) {
152  $message = "ilObjectFactory::getInstanceByRefId(): No ref_id given!";
154  }
155  return null;
156  }
157 
158  // read object data
159  $sql =
160  "SELECT object_data.obj_id, object_data.type" . PHP_EOL
161  . "FROM object_data, object_reference" . PHP_EOL
162  . "WHERE object_reference.obj_id = object_data.obj_id" . PHP_EOL
163  . "AND object_reference.ref_id = " . $ilDB->quote($ref_id, 'integer') . PHP_EOL
164  ;
165 
166  $result = $ilDB->query($sql);
167 
168  // check number of records
169  if ($result->numRows() == 0) {
170  if ($stop_on_error === true) {
171  $message = "ilObjectFactory::getInstanceByRefId(): Object with ref_id " . $ref_id . " not found!";
173  }
174  return null;
175  }
176 
177  $row = $result->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
178  $class_name = "ilObj" . $objDefinition->getClassName($row["type"]);
179 
180  // check class
181  if ($class_name == "ilObj") {
182  if ($stop_on_error === true) {
183  $message = "ilObjectFactory::getInstanceByRefId(): Not able to determine object " .
184  "class for type" . $row["type"] . ".";
186  }
187  return null;
188  }
189 
190  (new self())->includeClassIfNotExists($class_name, $row["type"], $objDefinition);
191 
192  // create instance
193  $obj = new $class_name(0, false); // this avoids reading of data
194  $obj->setId((int) $row["obj_id"]);
195  $obj->setRefId($ref_id);
196  $obj->read();
197  return $obj;
198  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28
$ref_id
Definition: ltiauth.php:67
$message
Definition: xapiexit.php:32
+ Here is the caller graph for this function:

◆ getObjectsForOwner()

static ilObjectFactory::getObjectsForOwner ( string  $object_type,
int  $owner_id 
)
static

returns all objects of an owner, filtered by type, objects are not deleted!

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

References $DIC, $ilDB, and ilDBConstants\FETCHMODE_ASSOC.

Referenced by ilSoapCourseAdministration\getCoursesForUser(), and ilSoapGroupAdministration\getGroupsForUser().

56  : array
57  {
58  global $DIC;
59  $ilDB = $DIC->database();
60 
61  $sql =
62  "SELECT object_data.obj_id" . PHP_EOL
63  . "FROM object_data, object_reference" . PHP_EOL
64  . "WHERE object_reference.obj_id = object_data.obj_id" . PHP_EOL
65  . "AND object_data.type = " . $ilDB->quote($object_type, 'text') . PHP_EOL
66  . "AND object_data.owner = " . $ilDB->quote($owner_id, 'integer') . PHP_EOL
67  ;
68 
69  $result = $ilDB->query($sql);
70 
71  $obj_ids = [];
72  while ($row = $result->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) {
73  $obj_ids [] = $row["obj_id"];
74  }
75 
76  return $obj_ids;
77  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ getTypeByRefId()

static ilObjectFactory::getTypeByRefId ( int  $ref_id,
bool  $stop_on_error = true 
)
static

get object type by reference id

Exceptions
ilObjectNotFoundException
Deprecated:
since version 5.3

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

References $DIC, $ilDB, $message, and ilDBConstants\FETCHMODE_ASSOC.

Referenced by ilSoapGroupAdministration\addGroup(), ilSoapObjectAdministration\copyObject(), ilCopyWizardSettingsXMLParser\handlerBeginTag(), ilSoapObjectAdministration\moveObject(), and ilObjLTIConsumerGUI\saveContentSelection().

205  : ?string
206  {
207  global $DIC;
208  $ilDB = $DIC->database();
209 
210  // check reference id
211  if (!isset($ref_id)) {
212  if ($stop_on_error === true) {
213  $message = "ilObjectFactory::getTypeByRefId(): No ref_id given!";
215  }
216  return null;
217  }
218 
219  // read object data
220  $sql =
221  "SELECT object_data.obj_id, object_data.type" . PHP_EOL
222  . "FROM object_data" . PHP_EOL
223  . "LEFT JOIN object_reference ON object_data.obj_id=object_reference.obj_id " . PHP_EOL
224  . "WHERE object_reference.ref_id=" . $ilDB->quote($ref_id, 'integer') . PHP_EOL
225  ;
226  $result = $ilDB->query($sql);
227 
228  if ($result->numRows() == 0) {
229  if ($stop_on_error === true) {
230  $message = "ilObjectFactory::getTypeByRefId(): Object with ref_id " . $ref_id . " not found!";
232  }
233  return null;
234  }
235 
236  $row = $result->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
237  return $row["type"];
238  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28
$ref_id
Definition: ltiauth.php:67
$message
Definition: xapiexit.php:32
+ Here is the caller graph for this function:

◆ includeClassIfNotExists()

ilObjectFactory::includeClassIfNotExists ( string  $class_name,
string  $a_obj_type,
ilObjectDefinition  $objDefinition 
)
protected

Ensures a class is properly included.

This is needed, since not all possible classes are yet part of the autoloader (e.g. repo-plugins). See: #27073

Parameters
string$class_name
string$a_obj_type
ilObjectDefinition$objDefinition

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

References $location, and ilObjectDefinition\getLocation().

264  : void {
265  if (!class_exists($class_name)) {
266  $location = $objDefinition->getLocation($a_obj_type);
267  include_once($location . "/class." . $class_name . ".php");
268  }
269  }
$location
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: buildRTE.php:22
+ Here is the call graph for this function:

◆ ObjectIdExists()

ilObjectFactory::ObjectIdExists ( int  $obj_id)

check if obj_id exists.

To check for ref_ids use ilTree::isInTree()

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

References $DIC, and $ilDB.

37  : bool
38  {
39  global $DIC;
40  $ilDB = $DIC->database();
41 
42  $sql =
43  "SELECT obj_id, type, title, description, owner, create_date, last_update, import_id, offline" . PHP_EOL
44  . "FROM object_data" . PHP_EOL
45  . "WHERE obj_id = " . $ilDB->quote($obj_id, 'integer') . PHP_EOL
46  ;
47 
48  $result = $ilDB->query($sql);
49 
50  return (bool) $result->numRows();
51  }
global $DIC
Definition: feed.php:28

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