ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilContainer Class Reference

Class ilContainer. More...

+ Inheritance diagram for ilContainer:
+ Collaboration diagram for ilContainer:

Public Member Functions

 ilContainer ($a_id=0, $a_call_by_reference=true)
 Constructor public.
 createContainerDirectory ()
 Create directory for the container.
 getContainerDirectory ()
 Get the container directory.
 _getContainerDirectory ($a_id)
 Get the container directory.
 getBigIconPath ()
 Get path for big icon.
 getSmallIconPath ()
 Get path for small icon.
 getTinyIconPath ()
 Get path for tiny icon.
 getCustomIconPath ()
 Get path for custom icon.
 setHiddenFilesFound ($a_hiddenfilesfound)
 Set Found hidden files (set by getSubItems).
 getHiddenFilesFound ()
 Get Found hidden files (set by getSubItems).
 getStyleSheetId ()
 get ID of assigned style sheet object
 setStyleSheetId ($a_style_id)
 set ID of assigned style sheet object
 _lookupContainerSetting ($a_id, $a_keyword, $a_default_value=NULL)
 Lookup a container setting.
 _writeContainerSetting ($a_id, $a_keyword, $a_value)
 _lookupIconPath ($a_id, $a_size="big")
 lookup icon path
 saveIcons ($a_custom_icon)
 save container icons
 removeCustomIcon ()
 remove small icon
 cloneObject ($a_target_id, $a_copy_id=0)
 Clone container settings.
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies (container sorting)
 cloneAllObject ($session_id, $client_id, $new_type, $ref_id, $clone_source, $options, $soap_call=false)
 clone all objects according to this container
 getViewMode ()
 Get container view mode.
 getOrderType ()
 Get order type default implementation.
 setOrderType ($a_value)
 getSubItems ($a_admin_panel_enabled=false, $a_include_side_block=false, $a_get_single=0)
 Get subitems of container.
 gotItems ()
 Check whether we got any items.
 addAdditionalSubItemInformation (&$object)
 Add additional information to sub item, e.g.
 getGroupedObjTypes ()
 Get grouped repository object types.
 enablePageEditing ()
 Check whether page editing is allowed for container.
 create ()
 Create.
 update ()
 Update.
 read ()
 read
- Public Member Functions inherited from ilObject
 ilObject ($a_id=0, $a_reference=true)
 Constructor public.
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not)
 read ($a_force_db=false)
 read object data from db into object
 getId ()
 get object id public
 setId ($a_id)
 set object id public
 setRefId ($a_id)
 set reference id public
 getRefId ()
 get reference id public
 getType ()
 get object type public
 setType ($a_type)
 set object type public
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions
 getTitle ()
 get object title public
 getUntranslatedTitle ()
 get untranslated object title public
 setTitle ($a_title)
 set object title
 getDescription ()
 get object description
 setDescription ($a_desc)
 set object description
 getLongDescription ()
 get object long description (stored in object_description)
 getImportId ()
 get import id
 setImportId ($a_import_id)
 set import id
 getOwner ()
 get object owner
 getOwnerName ()
 _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id
 setOwner ($a_owner)
 set object owner
 getCreateDate ()
 get create date public
 getLastUpdateDate ()
 get last update date public
 getDiskUsage ()
 Gets the disk usage of the object in bytes.
 setObjDataRecord ($a_record)
 set object_data record (note: this method should only be called from the ilObjectFactory class)
 MDUpdateListener ($a_element)
 Meta data update listener.
 createMetaData ()
 create meta data entry
 updateMetaData ()
 update meta data entry
 deleteMetaData ()
 delete meta data entry
 updateOwner ()
 update owner of object in db
 _getIdForImportId ($a_import_id)
 get current object id for import id (static)
 _lookupOwner ($a_id)
 lookup object owner
 _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update
 _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects.
 _setDeletedDate ($a_ref_id)
 only called in ilTree::saveSubTree
 _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _lookupDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _writeTitle ($a_obj_id, $a_title)
 write title to db (static)
 _writeDescription ($a_obj_id, $a_desc)
 write description to db (static)
 _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static)
 _isInTrash ($a_ref_id)
 checks wether object is in trash
 _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash
 _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!?
 setPermissions ($a_parent_ref)
 set permissions of object
 setParentRolePermissions ($a_parent_ref)
 Initialize the permissions of parent roles (local roles of categories, global roles...) This method is overwritten in e.g courses, groups for building permission intersections with non_member templates.
 createReference ()
 creates reference for object
 countReferences ()
 count references of object
 delete ()
 delete object or referenced object (in the case of a referenced object, object data is only deleted if last reference is deleted) This function removes an object entirely from system!!
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public
 applyDidacticTemplate ($a_tpl_id)
 Apply template.
 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 passed, each object may decide how it reacts.
 setRegisterMode ($a_bool)
 isUserRegistered ($a_user_id=0)
 requireRegistration ()
 getXMLZip ()
 getHTMLDirectory ()
 cloneObject ($a_target_id, $a_copy_id=0, $a_omit_tree=false)
 Clone object permissions, put in tree ...
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container.
 cloneMetaData ($target_obj)
 Copy meta data.
 _lookupCreationDate ($a_id)
 Lookup creation date.

Static Public Member Functions

static _getContainerSettings ($a_id)
static _deleteContainerSettings ($a_id, $a_keyword=null, $a_keyword_like=false)
static _exportContainerSettings (ilXmlWriter $a_xml, $a_obj_id)
static getCompleteDescriptions (array $objects)
 overwrites description fields to long or short description in an assoc array keys needed (obj_id and description)
- Static Public Member Functions inherited from ilObject
static _lookupObjIdByImportId ($a_import_id)
static _getAllReferences ($a_id)
 get all reference ids of object
static _lookupTitle ($a_id)
 lookup object title
static _getIdsForTitle ($title, $type= '', $partialmatch=false)
static _lookupDescription ($a_id)
 lookup object description
static _lookupObjId ($a_id)
static setDeletedDates ($a_ref_ids)
 Set deleted date type $ilDB.
static _lookupType ($a_id, $a_reference=false)
 lookup object type
static _lookupObjectId ($a_ref_id)
 lookup object id
static _exists ($a_id, $a_reference=false, $a_type=null)
 checks if an object exists in object_data
static _getObjectsByType ($a_obj_type="", $a_owner="")
 Get objects by type.
static _prepareCloneSelection ($a_ref_ids, $new_type, $show_path=true)
 Prepare copy wizard object selection.
static _getIcon ($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
 Get icon for repository item.
static collectDeletionDependencies (&$deps, $a_ref_id, $a_obj_id, $a_type, $a_depth=0)
 Collect deletion dependencies.
static getDeletionDependencies ($a_obj_id)
 Get deletion dependencies.
static getLongDescriptions (array $a_obj_ids)
 Get long description data.
static getAllOwnedRepositoryObjects ($a_user_id)
 Get all ids of objects user owns.
static hasAutoRating ($a_type, $a_ref_id)
 Check if auto rating is active for parent group/course.

Data Fields

const VIEW_SESSIONS = 0
const VIEW_OBJECTIVE = 1
const VIEW_TIMING = 2
const VIEW_ARCHIVE = 3
const VIEW_SIMPLE = 4
const VIEW_BY_TYPE = 5
const VIEW_INHERIT = 6
const VIEW_ILINC = 7
const VIEW_DEFAULT = self::VIEW_BY_TYPE
const SORT_TITLE = 0
const SORT_MANUAL = 1
const SORT_ACTIVATION = 2
const SORT_INHERIT = 3
const SORT_CREATION = 4
const SORT_DIRECTION_ASC = 0
const SORT_DIRECTION_DESC = 1
const SORT_NEW_ITEMS_POSITION_TOP = 0
const SORT_NEW_ITEMS_POSITION_BOTTOM = 1
const SORT_NEW_ITEMS_ORDER_TITLE = 0
const SORT_NEW_ITEMS_ORDER_CREATION = 1
const SORT_NEW_ITEMS_ORDER_ACTIVATION = 2
- Data Fields inherited from ilObject
const TITLE_LENGTH = 255
 max length of object title
const DESC_LENGTH = 128
 $ilias
 $lng
 $id
 $ref_id
 $type
 $title
 $untranslatedTitle
 $desc
 $long_desc
 $owner
 $create_date
 $last_update
 $import_id
 $register = false
 $referenced
 $objectList
 $max_title
 $max_desc
 $add_dots
 $obj_data_record
 object_data record

Static Public Attributes

static $data_preloaded = false

Protected Attributes

 $order_type = 0
 $hiddenfilesfound = false

Detailed Description

Class ilContainer.

Base class for all container objects (categories, courses, groups)

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
Id:
class.ilContainer.php 61182 2015-10-22 08:50:47Z gitmgr

Definition at line 39 of file class.ilContainer.php.

Member Function Documentation

static ilContainer::_deleteContainerSettings (   $a_id,
  $a_keyword = null,
  $a_keyword_like = false 
)
static

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

References $ilDB.

Referenced by ilObjCategoryGUI\updateTaxonomySettingsObject().

{
global $ilDB;
if(!$a_id)
{
return;
}
$sql = "DELETE FROM container_settings WHERE ".
" id = ".$ilDB->quote($a_id ,'integer');
if($a_keyword)
{
if(!$a_keyword_like)
{
$sql .= " AND keyword = ".$ilDB->quote($a_keyword, "text");
}
else
{
$sql .= " AND ".$ilDB->like("keyword", "text", $a_keyword);
}
}
$ilDB->manipulate($sql);
}

+ Here is the caller graph for this function:

static ilContainer::_exportContainerSettings ( ilXmlWriter  $a_xml,
  $a_obj_id 
)
static

Definition at line 296 of file class.ilContainer.php.

References _getContainerSettings(), ilXmlWriter\xmlData(), ilXmlWriter\xmlEndTag(), and ilXmlWriter\xmlStartTag().

Referenced by ilCategoryXmlWriter\export(), ilGroupXMLWriter\start(), and ilCourseXMLWriter\start().

{
// container settings
$settings = self::_getContainerSettings($a_obj_id);
if(sizeof($settings))
{
$a_xml->xmlStartTag("ContainerSettings");
foreach($settings as $keyword => $value)
{
// :TODO: proper custom icon export/import
if(stristr($keyword, "icon"))
{
continue;
}
$a_xml->xmlStartTag(
'ContainerSetting',
array(
'id' => $keyword,
)
);
$a_xml->xmlData($value);
$a_xml->xmlEndTag("ContainerSetting");
}
$a_xml->xmlEndTag("ContainerSettings");
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::_getContainerDirectory (   $a_id)

Get the container directory.

Returns
string container directory

Definition at line 123 of file class.ilContainer.php.

References ilUtil\getWebspaceDir().

Referenced by ilObject\_getIcon(), _lookupIconPath(), and getContainerDirectory().

{
return ilUtil::getWebspaceDir()."/container_data/obj_".$a_id;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilContainer::_getContainerSettings (   $a_id)
static

Definition at line 254 of file class.ilContainer.php.

References $ilDB, $res, and $row.

Referenced by _exportContainerSettings(), ilObjCategoryGUI\getActiveBlocks(), and ilTaxonomyClassificationProvider\getActiveTaxonomiesForParentRefId().

{
global $ilDB;
$res = array();
$sql = "SELECT * FROM container_settings WHERE ".
" id = ".$ilDB->quote($a_id ,'integer');
$set = $ilDB->query($sql);
while($row = $ilDB->fetchAssoc($set))
{
$res[$row["keyword"]] = $row["value"];
}
return $res;
}

+ Here is the caller graph for this function:

ilContainer::_lookupContainerSetting (   $a_id,
  $a_keyword,
  $a_default_value = NULL 
)

Lookup a container setting.

Parameters
intcontainer id
stringsetting keyword
Returns
string setting value

Definition at line 216 of file class.ilContainer.php.

References $ilDB, and DB_FETCHMODE_ASSOC.

Referenced by ilObject\_getIcon(), _lookupIconPath(), ilContainerGUI\editPageContentObject(), ilContainerGUI\editPageFrameObject(), ilContainerGUI\forwardToPageObject(), ilTaxonomyClassificationProvider\getActiveTaxonomiesForParentRefId(), ilContainerGUI\getContainerPageHTML(), ilObjCategoryListGUI\getInfoScreenStatus(), ilTaxMDGUI\getSelectableTaxonomies(), ilObjCategoryGUI\getTabs(), ilObject\hasAutoRating(), ilObjCategoryGUI\ilObjCategoryGUI(), ilObjRootFolderGUI\initEditForm(), ilObjectServiceSettingsGUI\initServiceSettingsForm(), ilContainerGUI\initStylePropertiesForm(), ilObjectListGUI\insertCommands(), ilTaggingClassificationProvider\isActive(), ilColumnGUI\isGloballyActivated(), ilCalendarSettings\lookupCalendarActivated(), ilContainerGUI\savePageContentObject(), ilObjRootFolderGUI\setTitleAndDescription(), and ilContainerGUI\setTitleAndDescription().

{
global $ilDB;
$q = "SELECT * FROM container_settings WHERE ".
" id = ".$ilDB->quote($a_id ,'integer')." AND ".
" keyword = ".$ilDB->quote($a_keyword ,'text');
$set = $ilDB->query($q);
$rec = $set->fetchRow(DB_FETCHMODE_ASSOC);
if(isset($rec['value']))
{
return $rec["value"];
}
if($a_default_value === NULL)
{
return '';
}
return $a_default_value;
}

+ Here is the caller graph for this function:

ilContainer::_lookupIconPath (   $a_id,
  $a_size = "big" 
)

lookup icon path

Parameters
int$a_idcontainer object id
string$a_size"big" | "small"

Definition at line 333 of file class.ilContainer.php.

References $size, _getContainerDirectory(), and _lookupContainerSetting().

Referenced by ilPDSelectedItemsBlockGUI\addParentRow(), ilShopPurchaseGUI\addStandardRow(), ilContainerGUI\addStandardRow(), ilPDSelectedItemsBlockGUI\addStandardRow(), getBigIconPath(), getCustomIconPath(), getSmallIconPath(), getTinyIconPath(), and ilContainerGUI\setTitleAndDescription().

{
if ($a_size == "")
{
$a_size = "big";
}
$size = $a_size;
if (ilContainer::_lookupContainerSetting($a_id, "icon_custom"))
{
$file_name = $cont_dir."/icon_custom.svg";
if (is_file($file_name))
{
return $file_name;
}
}
return "";
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::_writeContainerSetting (   $a_id,
  $a_keyword,
  $a_value 
)

Definition at line 237 of file class.ilContainer.php.

References $ilDB, $query, and $res.

Referenced by cloneObject(), ilCategoryXmlParser\handlerEndTag(), ilGroupXMLParser\handlerEndTag(), ilCourseXMLParser\handlerEndTag(), removeCustomIcon(), saveIcons(), ilContainerGUI\savePageContentObject(), ilObjRootFolderGUI\updateObject(), ilObjectServiceSettingsGUI\updateServiceSettingsForm(), ilObjCategoryGUI\updateTaxonomySettingsObject(), ilObjectServiceSettingsGUI\updateToolSettings(), and ilContainerGUI\useNewEditorObject().

{
global $ilDB;
$query = "DELETE FROM container_settings WHERE ".
"id = ".$ilDB->quote($a_id,'integer')." ".
"AND keyword = ".$ilDB->quote($a_keyword,'text');
$res = $ilDB->manipulate($query);
$query = "INSERT INTO container_settings (id, keyword, value) VALUES (".
$ilDB->quote($a_id ,'integer').", ".
$ilDB->quote($a_keyword ,'text').", ".
$ilDB->quote($a_value ,'text').
")";
$res = $ilDB->manipulate($query);
}

+ Here is the caller graph for this function:

ilContainer::addAdditionalSubItemInformation ( $object)

Add additional information to sub item, e.g.

used in courses for timings information etc.

Reimplemented in ilObjGroup, ilObjCourse, ilObjCategory, ilObjFolder, and ilObjRootFolder.

Definition at line 746 of file class.ilContainer.php.

Referenced by getSubItems().

{
}

+ Here is the caller graph for this function:

ilContainer::cloneAllObject (   $session_id,
  $client_id,
  $new_type,
  $ref_id,
  $clone_source,
  $options,
  $soap_call = false 
)

clone all objects according to this container

Parameters
string$session_id
string$client_id
string$new_type
int$ref_id
int$clone_source
array$options
Returns
new refid if clone has finished or parameter ref id if cloning is still in progress

Definition at line 498 of file class.ilContainer.php.

References $client_id, $ilErr, $ilLog, $ilUser, $options, ilObject\$ref_id, $res, ilCopyWizardOptions\_allocateCopyId(), ilSession\_duplicate(), ilCopyWizardOptions\_getInstance(), ilCopyWizardOptions\_isFinished(), ilObject\_lookupObjId(), ilObject\_lookupType(), and ilSoapFunctions\ilClone().

{
global $ilLog;
include_once('./Services/Link/classes/class.ilLink.php');
include_once('Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
global $ilAccess,$ilErr,$rbacsystem,$tree,$ilUser;
// Save wizard options
$wizard_options = ilCopyWizardOptions::_getInstance($copy_id);
$wizard_options->saveOwner($ilUser->getId());
$wizard_options->saveRoot($clone_source);
// add entry for source container
$wizard_options->initContainer($clone_source, $ref_id);
foreach($options as $source_id => $option)
{
$wizard_options->addEntry($source_id,$option);
}
$wizard_options->read();
$wizard_options->storeTree($clone_source);
// Special handling for course in existing courses
if($new_type == 'crs' and ilObject::_lookupType(ilObject::_lookupObjId($ref_id)) == 'crs')
{
$ilLog->write(__METHOD__.': Copy course in course...');
$ilLog->write(__METHOD__.': Added mapping, source ID: '.$clone_source.', target ID: '.$ref_id);
$wizard_options->read();
$wizard_options->dropFirstNode();
$wizard_options->appendMapping($clone_source,$ref_id);
}
#print_r($options);
// Duplicate session to avoid logout problems with backgrounded SOAP calls
$new_session_id = ilSession::_duplicate($session_id);
// Start cloning process using soap call
include_once 'Services/WebServices/SOAP/classes/class.ilSoapClient.php';
$soap_client = new ilSoapClient();
$soap_client->setResponseTimeout(30);
$soap_client->enableWSDL(true);
$ilLog->write(__METHOD__.': Trying to call Soap client...');
if($soap_client->init())
{
$ilLog->write(__METHOD__.': Calling soap clone method...');
$res = $soap_client->call('ilClone',array($new_session_id.'::'.$client_id, $copy_id));
}
else
{
$ilLog->write(__METHOD__.': SOAP call failed. Calling clone method manually. ');
$wizard_options->disableSOAP();
$wizard_options->read();
include_once('./webservice/soap/include/inc.soap_functions.php');
$res = ilSoapFunctions::ilClone($new_session_id.'::'.$client_id, $copy_id);
}
// Check if copy is in progress or if this has been called by soap (don't wait for finishing)
if($soap_call || ilCopyWizardOptions::_isFinished($copy_id))
{
return $res;
}
else
{
return $ref_id;
}
}

+ Here is the call graph for this function:

ilContainer::cloneDependencies (   $a_target_id,
  $a_copy_id 
)

Clone object dependencies (container sorting)

public

Parameters
inttarget ref id of new course
intcopy id return bool

Reimplemented from ilObject.

Reimplemented in ilObjCourse, ilObjGroup, ilObjCategory, and ilObjFolder.

Definition at line 463 of file class.ilContainer.php.

References $ilLog, ilContainerSorting\_getInstance(), ilObjItemGroup\fixContainerItemGroupRefsAfterCloning(), ilObject\getId(), and ilObjectLP\getInstance().

{
global $ilLog;
parent::cloneDependencies($a_target_id, $a_copy_id);
include_once('./Services/Container/classes/class.ilContainerSorting.php');
ilContainerSorting::_getInstance($this->getId())->cloneSorting($a_target_id,$a_copy_id);
// fix item group references in page content
include_once("./Modules/ItemGroup/classes/class.ilObjItemGroup.php");
include_once('Services/Object/classes/class.ilObjectLP.php');
$olp = ilObjectLP::getInstance($this->getId());
$collection = $olp->getCollectionInstance();
if($collection)
{
$collection->cloneCollection($a_target_id, $a_copy_id);
}
return true;
}

+ Here is the call graph for this function:

ilContainer::cloneObject (   $a_target_id,
  $a_copy_id = 0 
)

Clone container settings.

public

Parameters
inttarget ref_id
intcopy id
Returns
object new object

Reimplemented in ilObjCourse, ilObjGroup, ilObjCategory, and ilObjFolder.

Definition at line 401 of file class.ilContainer.php.

References $file, $ilLog, ilPageObject\_exists(), _writeContainerSetting(), getContainerDirectory(), ilObject\getId(), getOrderType(), and ilContainerSortingSettings\setSortMode().

{
global $ilLog;
$new_obj = parent::cloneObject($a_target_id,$a_copy_id);
include_once('./Services/Container/classes/class.ilContainerSortingSettings.php');
$sorting = new ilContainerSortingSettings($new_obj->getId());
$sorting->setSortMode($this->getOrderType());
$sorting->update();
// copy content page
include_once("./Services/Container/classes/class.ilContainerPage.php");
$this->getId()))
{
$orig_page = new ilContainerPage($this->getId());
$orig_page->copy($new_obj->getId(), "cont", $new_obj->getId());
}
// #10271 - copy start objects page
include_once("./Services/Container/classes/class.ilContainerStartObjectsPage.php");
$this->getId()))
{
$orig_page = new ilContainerStartObjectsPage($this->getId());
$orig_page->copy($new_obj->getId(), "cstr", $new_obj->getId());
}
// #10271
foreach(self::_getContainerSettings($this->getId()) as $keyword => $value)
{
self::_writeContainerSetting($new_obj->getId(), $keyword, $value);
// copy custom icons
if($keyword == "icon_custom" &&
$value)
{
// see saveIcons()
$new_obj->createContainerDirectory();
$tgt_dir = $new_obj->getContainerDirectory();
$src_dir = $this->getContainerDirectory();
$file = "icon_custom.svg";
$src_file = $src_dir."/".$file;
if(file_exists($src_file))
{
copy($src_file, $tgt_dir."/".$file);
}
}
}
return $new_obj;
}

+ Here is the call graph for this function:

ilContainer::create ( )

Create.

Reimplemented from ilObject.

Reimplemented in ilObjGroup, and ilObjOrgUnit.

Definition at line 783 of file class.ilContainer.php.

References $ret, ilObject\getId(), getStyleSheetId(), and ilObjStyleSheet\writeStyleUsage().

Referenced by ilObjCourse\create().

{
if (((int) $this->getStyleSheetId()) > 0)
{
include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
}
return $ret;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::createContainerDirectory ( )

Create directory for the container.

It is <webspace_dir>/container_data.

Definition at line 93 of file class.ilContainer.php.

References ilObject\getId(), ilUtil\getWebspaceDir(), and ilUtil\makeDir().

Referenced by saveIcons().

{
$webspace_dir = ilUtil::getWebspaceDir();
$cont_dir = $webspace_dir."/container_data";
if (!is_dir($cont_dir))
{
ilUtil::makeDir($cont_dir);
}
$obj_dir = $cont_dir."/obj_".$this->getId();
if (!is_dir($obj_dir))
{
ilUtil::makeDir($obj_dir);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::enablePageEditing ( )

Check whether page editing is allowed for container.

Definition at line 769 of file class.ilContainer.php.

References $ilSetting.

{
global $ilSetting;
// @todo: this will need a more general approach
if ($ilSetting->get("enable_cat_page_edit"))
{
return true;
}
}
ilContainer::getBigIconPath ( )

Get path for big icon.

Returns
string icon path
Deprecated:
use _lookupIconPath instead

Definition at line 134 of file class.ilContainer.php.

References _lookupIconPath(), and ilObject\getId().

Referenced by ilObjCategory\cloneObject(), ilObjGroup\cloneObject(), and ilObjCourse\cloneObject().

{
return self::_lookupIconPath($this->getId());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilContainer::getCompleteDescriptions ( array  $objects)
static

overwrites description fields to long or short description in an assoc array keys needed (obj_id and description)

Parameters
array$objects
Returns
array

Definition at line 835 of file class.ilContainer.php.

References $ilSetting, ilObject\$long_desc, ilObject\DESC_LENGTH, ilObject\getLongDescriptions(), and ilUtil\shortenText().

Referenced by getSubItems(), ilContainerContentGUI\renderItem(), and ilContainerContentGUI\renderItemGroup().

{
global $ilSetting, $ilObjDataCache;
// using long descriptions?
$short_desc = $ilSetting->get("rep_shorten_description");
$short_desc_max_length = $ilSetting->get("rep_shorten_description_length");
if(!$short_desc || $short_desc_max_length != ilObject::DESC_LENGTH)
{
// using (part of) shortened description
if($short_desc && $short_desc_max_length && $short_desc_max_length < ilObject::DESC_LENGTH)
{
foreach($objects as $key => $object)
{
$objects[$key]["description"] = ilUtil::shortenText($object["description"], $short_desc_max_length, true);
}
}
// using (part of) long description
else
{
$obj_ids = array();
foreach($objects as $key => $object)
{
$obj_ids[] = $object["obj_id"];
}
if(sizeof($obj_ids))
{
foreach($objects as $key => $object)
{
// #12166 - keep translation, ignore long description
if($ilObjDataCache->isTranslatedDescription($object["obj_id"]))
{
$long_desc[$object["obj_id"]] = $object["description"];
}
if($short_desc && $short_desc_max_length)
{
$long_desc[$object["obj_id"]] = ilUtil::shortenText($long_desc[$object["obj_id"]], $short_desc_max_length, true);
}
$objects[$key]["description"] = $long_desc[$object["obj_id"]];
}
}
}
}
return $objects;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::getContainerDirectory ( )

Get the container directory.

Returns
string container directory

Definition at line 113 of file class.ilContainer.php.

References _getContainerDirectory(), and ilObject\getId().

Referenced by cloneObject(), removeCustomIcon(), and saveIcons().

{
return $this->_getContainerDirectory($this->getId());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::getCustomIconPath ( )

Get path for custom icon.

Returns
string icon path

Definition at line 166 of file class.ilContainer.php.

References _lookupIconPath(), and ilObject\getId().

{
return self::_lookupIconPath($this->getId());
}

+ Here is the call graph for this function:

ilContainer::getGroupedObjTypes ( )

Get grouped repository object types.

Returns
array array of object types

Definition at line 755 of file class.ilContainer.php.

References ilObject\getType().

Referenced by getSubItems().

{
global $objDefinition;
if (empty($this->type_grps))
{
$this->type_grps = $objDefinition->getGroupedRepositoryObjectTypes($this->getType());
}
return $this->type_grps;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::getHiddenFilesFound ( )

Get Found hidden files (set by getSubItems).

Returns
boolean Found hidden files (set by getSubItems)

Definition at line 187 of file class.ilContainer.php.

References $hiddenfilesfound.

ilContainer::getOrderType ( )

Get order type default implementation.

Reimplemented in ilObjCourse.

Definition at line 579 of file class.ilContainer.php.

References SORT_TITLE.

Referenced by cloneObject().

{
return $this->order_type ? $this->order_type : ilContainer::SORT_TITLE;
}

+ Here is the caller graph for this function:

ilContainer::getSmallIconPath ( )

Get path for small icon.

Returns
string icon path
Deprecated:
use _lookupIconPath instead

Definition at line 145 of file class.ilContainer.php.

References _lookupIconPath(), and ilObject\getId().

Referenced by ilObjCategory\cloneObject(), ilObjGroup\cloneObject(), and ilObjCourse\cloneObject().

{
return self::_lookupIconPath($this->getId());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::getStyleSheetId ( )

get ID of assigned style sheet object

Definition at line 195 of file class.ilContainer.php.

Referenced by create(), and update().

{
return $this->style_id;
}

+ Here is the caller graph for this function:

ilContainer::getSubItems (   $a_admin_panel_enabled = false,
  $a_include_side_block = false,
  $a_get_single = 0 
)

Get subitems of container.

Parameters
booladministration panel enabled
boolside blocks enabled
Returns
array

Definition at line 597 of file class.ilContainer.php.

References $ilBench, $ilSetting, $ilUser, ilObject\$type, ilContainerSorting\_getInstance(), ilEventItems\_getItemsOfContainer(), ilObjFileAccess\_isFileHidden(), addAdditionalSubItemInformation(), ilObjectListGUI\CONTEXT_REPOSITORY, getCompleteDescriptions(), getGroupedObjTypes(), ilObject\getId(), ilObject\getRefId(), and setHiddenFilesFound().

{
global $objDefinition, $ilBench, $tree, $ilObjDataCache, $ilUser, $rbacsystem,
// Caching
if (is_array($this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block]) &&
!$a_get_single)
{
return $this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block];
}
$type_grps = $this->getGroupedObjTypes();
$objects = $tree->getChilds($this->getRefId(), "title");
$objects = self::getCompleteDescriptions($objects);
$found = false;
$all_ref_ids = array();
{
include_once("./Services/Object/classes/class.ilObjectListGUIPreloader.php");
}
include_once('Services/Container/classes/class.ilContainerSorting.php');
// TODO: check this
// get items attached to a session
include_once './Modules/Session/classes/class.ilEventItems.php';
$event_items = ilEventItems::_getItemsOfContainer($this->getRefId());
foreach ($objects as $key => $object)
{
if ($a_get_single > 0 && $object["child"] != $a_get_single)
{
continue;
}
// hide object types in devmode
if ($objDefinition->getDevMode($object["type"]) || $object["type"] == "adm"
|| $object["type"] == "rolf")
{
continue;
}
// remove inactive plugins
if ($objDefinition->isInactivePlugin($object["type"]))
{
continue;
}
// BEGIN WebDAV: Don't display hidden Files, Folders and Categories
if (in_array($object['type'], array('file','fold','cat')))
{
include_once 'Modules/File/classes/class.ilObjFileAccess.php';
if (ilObjFileAccess::_isFileHidden($object['title']))
{
$this->setHiddenFilesFound(true);
if (!$a_admin_panel_enabled)
{
continue;
}
}
}
// END WebDAV: Don't display hidden Files, Folders and Categories
// including event items!
if (!self::$data_preloaded)
{
$preloader->addItem($object["obj_id"], $object["type"], $object["child"]);
}
// filter out items that are attached to an event
if (in_array($object['ref_id'],$event_items))
{
continue;
}
// filter side block items
if(!$a_include_side_block && $objDefinition->isSideBlock($object['type']))
{
continue;
}
$all_ref_ids[] = $object["child"];
}
// data preloader
if (!self::$data_preloaded)
{
$preloader->preload();
unset($preloader);
self::$data_preloaded = true;
}
foreach($objects as $key => $object)
{
// see above, objects were filtered
if(!in_array($object["child"], $all_ref_ids))
{
continue;
}
// group object type groups together (e.g. learning resources)
$type = $objDefinition->getGroupOfObj($object["type"]);
if ($type == "")
{
$type = $object["type"];
}
// this will add activation properties
$this->items[$type][$key] = $object;
$this->items["_all"][$key] = $object;
if ($object["type"] != "sess")
{
$this->items["_non_sess"][$key] = $object;
}
}
$this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block]
= $sort->sortItems($this->items);
return $this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block];
}

+ Here is the call graph for this function:

ilContainer::getTinyIconPath ( )

Get path for tiny icon.

Returns
string icon path
Deprecated:
use _lookupIconPath instead

Definition at line 156 of file class.ilContainer.php.

References _lookupIconPath(), and ilObject\getId().

Referenced by ilObjCategory\cloneObject(), ilObjGroup\cloneObject(), and ilObjCourse\cloneObject().

{
return self::_lookupIconPath($this->getId());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::getViewMode ( )

Get container view mode.

Reimplemented in ilObjCourse, ilObjFolder, and ilObjiLincCourse.

Definition at line 571 of file class.ilContainer.php.

References VIEW_BY_TYPE.

Referenced by ilObjGroup\cloneObject(), ilObjGroup\create(), and ilObjGroup\update().

+ Here is the caller graph for this function:

ilContainer::gotItems ( )

Check whether we got any items.

Definition at line 733 of file class.ilContainer.php.

{
if (is_array($this->items["_all"]) && count($this->items["_all"]) > 0)
{
return true;
}
return false;
}
ilContainer::ilContainer (   $a_id = 0,
  $a_call_by_reference = true 
)

Constructor public.

Parameters
integerreference_id or object_id
booleantreat the id as reference_id (true) or object_id (false)

Definition at line 82 of file class.ilContainer.php.

Referenced by ilObjOrgUnit\__construct(), and ilObjCategory\ilObjCategory().

{
parent::__construct($a_id, $a_call_by_reference);
}

+ Here is the caller graph for this function:

ilContainer::read ( )

read

public

Parameters
@return

Reimplemented in ilObjGroup, ilObjFolder, and ilObjiLincCourse.

Definition at line 817 of file class.ilContainer.php.

References ilContainerSortingSettings\_lookupSortMode(), ilObject\getId(), ilObjStyleSheet\lookupObjectStyle(), setOrderType(), and setStyleSheetId().

Referenced by ilObjCourse\read().

{
include_once("./Services/Container/classes/class.ilContainerSortingSettings.php");
include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContainer::removeCustomIcon ( )

remove small icon

Definition at line 385 of file class.ilContainer.php.

References _writeContainerSetting(), getContainerDirectory(), and ilObject\getId().

{
$cont_dir = $this->getContainerDirectory();
$small_file_name = $cont_dir."/icon_custom.svg";
@unlink($small_file_name);
ilContainer::_writeContainerSetting($this->getId(), "icon_custom", 0);
}

+ Here is the call graph for this function:

ilContainer::saveIcons (   $a_custom_icon)

save container icons

Definition at line 358 of file class.ilContainer.php.

References $ilDB, _writeContainerSetting(), createContainerDirectory(), getContainerDirectory(), ilObject\getId(), and ilUtil\moveUploadedFile().

{
global $ilDB;
$cont_dir = $this->getContainerDirectory();
$file_name = "";
if ($a_custom_icon != "")
{
$file_name = $cont_dir."/icon_custom.svg";
ilUtil::moveUploadedFile($a_custom_icon, "icon_custom.svg", $file_name);
if ($file_name != "" && is_file($file_name))
{
ilContainer::_writeContainerSetting($this->getId(), "icon_custom", 1);
}
else
{
ilContainer::_writeContainerSetting($this->getId(), "icon_custom", 0);
}
}
}

+ Here is the call graph for this function:

ilContainer::setHiddenFilesFound (   $a_hiddenfilesfound)

Set Found hidden files (set by getSubItems).

Parameters
boolean$a_hiddenfilesfoundFound hidden files (set by getSubItems)

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

Referenced by getSubItems().

{
$this->hiddenfilesfound = $a_hiddenfilesfound;
}

+ Here is the caller graph for this function:

ilContainer::setOrderType (   $a_value)

Definition at line 584 of file class.ilContainer.php.

Referenced by ilObjFolder\read(), ilObjGroup\read(), ilObjCourse\read(), and read().

{
$this->order_type = $a_value;
}

+ Here is the caller graph for this function:

ilContainer::setStyleSheetId (   $a_style_id)

set ID of assigned style sheet object

Definition at line 203 of file class.ilContainer.php.

Referenced by read().

{
$this->style_id = $a_style_id;
}

+ Here is the caller graph for this function:

ilContainer::update ( )

Update.

Reimplemented from ilObject.

Reimplemented in ilObjCourse, ilObjGroup, ilObjiLincCourse, and ilObjOrgUnit.

Definition at line 799 of file class.ilContainer.php.

References $ret, ilObject\getId(), getStyleSheetId(), and ilObjStyleSheet\writeStyleUsage().

{
include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
return $ret;
}

+ Here is the call graph for this function:

Field Documentation

ilContainer::$data_preloaded = false
static

Definition at line 74 of file class.ilContainer.php.

ilContainer::$hiddenfilesfound = false
protected

Definition at line 42 of file class.ilContainer.php.

Referenced by getHiddenFilesFound().

ilContainer::$order_type = 0
protected

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

const ilContainer::SORT_DIRECTION_DESC = 1
const ilContainer::VIEW_ARCHIVE = 3

Definition at line 48 of file class.ilContainer.php.

const ilContainer::VIEW_DEFAULT = self::VIEW_BY_TYPE

Definition at line 54 of file class.ilContainer.php.

Referenced by ilObjGroup\getViewMode(), and ilObjGroup\translateViewMode().

const ilContainer::VIEW_ILINC = 7
const ilContainer::VIEW_INHERIT = 6
const ilContainer::VIEW_TIMING = 2

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