5 include_once(
"Services/Table/classes/class.ilTable2GUI.php");
23 public function __construct($a_parent_obj, $a_parent_cmd, $a_page, $a_incl_hist)
27 $this->ctrl = $DIC->ctrl();
28 $this->lng = $DIC->language();
29 $this->access = $DIC->access();
30 $ilCtrl = $DIC->ctrl();
31 $lng = $DIC->language();
32 $ilAccess = $DIC->access();
33 $lng = $DIC->language();
34 $this->repo_tree = $DIC->repositoryTree();
37 $this->page = $a_page;
38 $this->incl_hist = $a_incl_hist;
42 $this->
setRowTemplate(
"tpl.mep_page_usage_row.html",
"Modules/MediaPool");
52 $usages = $this->page->getUsages($this->incl_hist);
56 $agg_usages = array();
57 foreach ($usages as $k => $usage) {
58 $usage[
"trash"] =
false;
59 if (is_int(strpos($usage[
"type"],
":"))) {
60 $us_arr = explode(
":", $usage[
"type"]);
63 if ($us_arr[1] ==
"pg") {
65 $usage[
"page"] = $page_obj;
66 $repo_tree = $this->repo_tree;
67 $ref_ids = array_filter(
69 function ($ref_id) use ($repo_tree) {
70 return $repo_tree->isInTree($ref_id);
73 $usage[
"ref_ids"] = $ref_ids;
74 if (count($ref_ids) == 0) {
75 $usage[
"trash"] =
true;
80 if ($usage[
"type"] ==
"clip") {
83 if ($this->incl_hist || !$usage[
"trash"]) {
84 if (empty($agg_usages[$usage[
"type"] .
":" . $usage[
"id"]])) {
85 $agg_usages[$usage[
"type"] .
":" . $usage[
"id"]] = $usage;
87 $agg_usages[$usage[
"type"] .
":" . $usage[
"id"]][
"versions"][] =
88 [
"hist_nr" => $usage[
"hist_nr"],
89 "lang" => $usage[
"lang"]
97 $agg_usages[] = array(
"type" =>
"clip",
"cnt" => $clip_cnt);
116 if (is_int(strpos($usage[
"type"],
":"))) {
117 $us_arr = explode(
":", $usage[
"type"]);
118 $usage[
"type"] = $us_arr[1];
119 $cont_type = $us_arr[0];
123 include_once(
'./Services/Link/classes/class.ilLink.php');
125 switch ($usage[
"type"]) {
127 include_once(
"./Services/COPage/classes/class.ilPageObjectFactory.php");
128 $page_obj = $usage[
"page"];
132 switch ($cont_type) {
134 require_once(
"./Modules/LearningModule/classes/class.ilObjContentObject.php");
135 require_once(
"./Modules/LearningModule/classes/class.ilObjLearningModule.php");
136 require_once(
"./Modules/LearningModule/classes/class.ilLMObject.php");
138 $item[
"obj_type_txt"] = $this->lng->txt(
"obj_" . $cont_type);
139 $item[
"obj_title"] = $lm_obj->
getTitle();
140 $item[
"sub_txt"] = $this->lng->txt(
"pg");
149 require_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
150 $item[
"obj_type_txt"] = $this->lng->txt(
"obj_wiki");
152 $item[
"sub_txt"] = $this->lng->txt(
"pg");
162 $glo_id = ilGlossaryTerm::_lookGlossaryId($term_id);
163 $item[
"obj_type_txt"] = $this->lng->txt(
"obj_glo");
165 $item[
"sub_txt"] = $this->lng->txt(
"cont_term");
174 $item[
"obj_type_txt"] = $this->lng->txt(
"obj_" . $cont_type);
183 if ($usage[
"trash"]) {
184 $item[
"obj_title"] .=
" (" .
$lng->txt(
"trash") .
")";
190 $item[
"obj_type_txt"] = $this->lng->txt(
"obj_mep");
199 $item[
"obj_type_txt"] = $this->lng->txt(
"obj_mob");
201 $item[
"sub_txt"] = $this->lng->txt(
"cont_link_area");
206 if (is_array($usage[
"versions"]) && is_object($usage[
"page"])) {
209 if (count($usage[
"versions"]) > 5) {
211 $cnt = count($usage[
"versions"]) - 5;
212 for (
$i = 0;
$i < $cnt;
$i++) {
213 unset($usage[
"versions"][
$i]);
216 foreach ($usage[
"versions"] as $version) {
217 if ($version[
"hist_nr"] == 0) {
218 $version[
"hist_nr"] = $this->lng->txt(
"cont_current_version");
220 $ver .= $sep . $version[
"hist_nr"];
221 if ($version[
"lang"] !=
"") {
222 $ver .=
"/" . $version[
"lang"];
227 $this->tpl->setCurrentBlock(
"versions");
228 $this->tpl->setVariable(
"TXT_VERSIONS", $this->lng->txt(
"cont_versions"));
229 $this->tpl->setVariable(
"VAL_VERSIONS", $ver);
230 $this->tpl->parseCurrentBlock();
233 if ($item[
"obj_type_txt"] !=
"") {
234 $this->tpl->setCurrentBlock(
"type");
235 $this->tpl->setVariable(
"TXT_TYPE", $this->lng->txt(
"type"));
236 $this->tpl->setVariable(
"VAL_TYPE", $item[
"obj_type_txt"]);
237 $this->tpl->parseCurrentBlock();
240 if ($usage[
"type"] !=
"clip") {
241 if ($item[
"obj_link"]) {
242 $this->tpl->setCurrentBlock(
"linked_item");
243 $this->tpl->setVariable(
"TXT_OBJECT", $item[
"obj_title"]);
244 $this->tpl->setVariable(
"HREF_LINK", $item[
"obj_link"]);
245 $this->tpl->parseCurrentBlock();
247 $this->tpl->setVariable(
"TXT_OBJECT_NO_LINK", $item[
"obj_title"]);
250 if ($item[
"sub_txt"] !=
"") {
251 $this->tpl->setVariable(
"SEP",
", ");
252 $this->tpl->setVariable(
"SUB_TXT", $item[
"sub_txt"]);
253 if ($item[
"sub_title"] !=
"") {
254 $this->tpl->setVariable(
"SEP2",
": ");
255 $this->tpl->setVariable(
"SUB_TITLE", $item[
"sub_title"]);
259 $this->tpl->setVariable(
"TXT_OBJECT_NO_LINK", $this->lng->txt(
"cont_users_have_mob_in_clip1") .
260 " " . $usage[
"cnt"] .
" " . $this->lng->txt(
"cont_users_have_mob_in_clip2"));
269 foreach ($ref_ids as $ref_id) {
270 if ($ilAccess->checkAccess(
"write",
"", $ref_id)) {
static lookupTitle($a_page_id)
Checks whether a page with given title exists.
Class ilObjLearningModule.
static _getStaticLink( $a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
static _lookupTitle($a_id)
lookup object title
static _lookupTitle($a_obj_id)
Lookup title.
static _getAllReferences($a_id)
get all reference ids of object
TableGUI class for media pool page usages listing.
__construct($a_parent_obj, $a_parent_cmd, $a_page, $a_incl_hist)
Constructor.
fillRow($a_set)
Standard Version of Fill Row.
static _lookupTermId($a_def_id)
Looks up term id for a definition id.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
getFirstWritableRefId($a_obj_id)
setRowTemplate($a_template, $a_template_dir="")
Set row template.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
static getInstance($a_parent_type, $a_id=0, $a_old_nr=0, $a_lang="-")
Get page object instance.
__construct(Container $dic, ilPlugin $plugin)
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
getTitle()
get title of content object
setEnableHeader($a_enableheader)
Set Enable Header.
static _lookGlossaryTerm($term_id)
get glossary term