4 require_once(
"./Services/COPage/classes/class.ilPageContent.php");
35 $this->access = $DIC->access();
43 parent::setNode($a_node);
44 $this->incl_node = $a_node->first_child();
53 function create(&$a_pg_obj, $a_hier_id, $a_pc_id =
"")
57 $this->incl_node = $this->dom->create_element(
"ContentInclude");
58 $this->incl_node = $this->node->append_child($this->incl_node);
117 if (!empty($a_value))
119 $this->incl_node->set_attribute($a_attr, $a_value);
123 if ($this->incl_node->has_attribute($a_attr))
125 $this->incl_node->remove_attribute($a_attr);
137 if (is_object($this->incl_node))
139 return $this->incl_node->get_attribute($a_attr);
154 self::saveContentIncludeUsage($a_page, $a_domdoc);
164 include_once(
"./Services/COPage/classes/class.ilPageContentUsage.php");
178 self::saveContentIncludeUsage($a_page, $a_old_domdoc, $a_old_nr);
186 include_once(
"./Services/COPage/classes/class.ilPageContentUsage.php");
187 $ci_ids = self::collectContentIncludes($a_page, $a_domdoc);
189 foreach($ci_ids as $ci_id)
191 if ((
int) $ci_id[
"inst_id"] <= 0 || $ci_id[
"inst_id"] == IL_INST_ID)
194 $a_page->getLanguage());
204 $xpath =
new DOMXPath($a_domdoc);
205 $nodes = $xpath->query(
'//ContentInclude');
208 foreach ($nodes as
$node)
210 $type = $node->getAttribute(
"ContentType");
211 $id = $node->getAttribute(
"ContentId");
212 $inst_id = $node->getAttribute(
"InstId");
213 $ci_ids[$type.
":".$id.
":".$inst_id] =
array(
214 "type" => $type,
"id" => $id,
"inst_id" => $inst_id);
228 $start = strpos($a_html,
"{{{{{ContentInclude;");
231 $end = strpos($a_html,
"}}}}}",
$start);
236 $param = substr($a_html,
$start + 20, $end -
$start - 20);
237 $param = explode(
";", $param);
239 if ($param[0] ==
"mep" && is_numeric($param[1]))
241 include_once(
"./Modules/MediaPool/classes/class.ilMediaPoolPageGUI.php");
243 $snippet_lang = $this->
getPage()->getLanguage();
251 if ($a_mode !=
"offline")
262 $html = $page_gui->getRawContent();
263 if ($a_mode ==
"edit")
265 include_once(
"./Services/Link/classes/class.ilLink.php");
266 $par_id = $page_gui->getPageObject()->getParentId();
270 if ($this->access->checkAccess(
"write",
"", $ref_id))
276 $html =
'<p class="small light">'.$lng->txt(
"copg_snippet_cannot_be_edited").$info.
'</p>'.
$html;
281 if ($a_mode ==
"edit")
285 $html =
"// ".$lng->txt(
"cont_missing_snippet").
" //";
289 $html =
"// ".$lng->txt(
"cont_snippet_from_another_installation").
" //";
293 $h2 = substr($a_html, 0,
$start).
295 substr($a_html, $end + 5);
300 $start = strpos($a_html,
"{{{{{ContentInclude;",
$start + 5);
304 $end = strpos($a_html,
"}}}}}",
$start);
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
getSourcecodeDownloadScript()
Get sourcecode download script.
getInstId()
Get installation id.
getContentId()
Get content id.
static beforePageDelete($a_page)
Before page is being deleted.
setType($a_type)
Set Type.
static _lookupTitle($a_id)
lookup object title
setContentId($a_id)
Set content id.
static _getAllReferences($a_id)
get all reference ids of object
static collectContentIncludes($a_page, $a_domdoc)
get all content includes that are used within the page
Class ilPCContentInclude.
static saveContentIncludeUsage($a_page, $a_domdoc, $a_old_nr=0)
save content include usages
static afterPageHistoryEntry($a_page, DOMDocument $a_old_domdoc, $a_old_xml, $a_old_nr)
After page history entry has been created.
setContentType($a_type)
Set content type.
setContentIncludeAttribute($a_attr, $a_value)
Set attribute of content include tag.
getFullscreenLink()
Get fullscreen link.
create(&$a_pg_obj, $a_hier_id, $a_pc_id="")
Create content include node in xml.
Create styles array
The data for the language used.
setNode($a_node)
Set node.
static deleteAllUsages($a_pc_type, $a_usage_type, $a_usage_id, $a_usage_hist_nr=0, $a_lang="-")
Delete all usages.
createPageContentNode($a_set_this_node=true)
Create page content node (always use this method first when adding a new element) ...
setInstId($a_id)
Set installation id.
static afterPageUpdate($a_page, DOMDocument $a_domdoc, $a_xml, $a_creation)
After page has been updated (or created)
getContentIncludeAttribute($a_attr)
Get content include tag attribute.
getFileDownloadLink()
Get file download link.
init()
Init page content component.
static saveUsage($a_pc_type, $a_pc_id, $a_usage_type, $a_usage_id, $a_usage_hist_nr=0, $a_lang="-")
Save usages.
modifyPageContentPostXsl($a_html, $a_mode)
Class ilMediaPoolPage GUI class.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
getContentType()
Get content type.