25 $this->portfolio_gui = $a_portfolio_gui;
26 $this->
object = $a_object;
27 $this->export_material = array();
41 include_once(
"./Services/Export/classes/class.ilExport.php");
45 $this->subdir = $this->
object->getType().
"_".$this->
object->getId();
46 $this->export_dir = $exp_dir.
"/".$this->subdir;
53 include_once(
"./Services/Style/classes/class.ilSystemStyleHTMLExport.php");
56 $this->sys_style_html_export->export();
59 include_once(
"./Services/COPage/classes/class.ilCOPageHTMLExport.php");
61 $this->co_page_html_export->setContentStyleId($this->object->getStyleSheetId());
62 $this->co_page_html_export->createDirectories();
63 $this->co_page_html_export->exportStyles();
64 $this->co_page_html_export->exportSupportScripts();
68 if($prfa_set->get(
"banner"))
70 $banner = $this->
object->getImageFullPath();
73 copy($banner, $this->export_dir.
"/".basename($banner));
80 $ppic = array_shift(explode(
"?", $ppic));
81 copy($ppic, $this->export_dir.
"/".basename($ppic));
87 $ppic = array_shift(explode(
"?", $ppic));
88 copy($ppic, $this->export_dir.
"/".basename($ppic));
95 $images = $files = $js_files = array();
96 foreach($this->export_material as $items)
98 $images = array_merge($images, $items[
"images"]);
99 $files = array_merge($files, $items[
"files"]);
100 $js_files = array_merge($js_files, $items[
"js"]);
102 foreach(array_unique($images) as $image)
106 copy($image, $this->export_dir.
"/images/".basename($image));
109 foreach(array_unique($js_files) as $js_file)
111 if(is_file($js_file))
113 copy($js_file, $this->export_dir.
"/js/".basename($js_file));
116 foreach(array_unique($files) as
$file)
120 copy($file, $this->export_dir.
"/files/".basename($file));
130 "/".$date.
"__".IL_INST_ID.
"__".
131 $this->object->getType().
"_".$this->
object->getId().
".zip";
146 require_once
"Modules/Portfolio/classes/class.ilPortfolioPage.php";
149 $this->tabs = array();
150 foreach($pages as $page)
155 include_once
"Modules/Blog/classes/class.ilObjBlog.php";
159 $this->tabs[$page[
"id"]] = $page[
"title"];
163 $tpl_callback = array($this,
"buildExportTemplate");
165 include_once(
"./Services/COPage/classes/class.ilPageContentUsage.php");
166 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
167 include_once(
"./Modules/Portfolio/classes/class.ilPortfolioPage.php");
169 foreach ($pages as $page)
173 $this->active_tab =
"user_page_".$page[
"id"];
177 $link_template =
"prtf_".$page[
"id"].
"_bl{TYPE}_{ID}.html";
179 include_once
"Modules/Blog/classes/class.ilObjBlogGUI.php";
181 $blog->exportHTMLPages($this->export_dir.
"/", $link_template, $tpl_callback, $this->co_page_html_export,
"prtf_".$page[
"id"].
".html");
186 $this->co_page_html_export->collectPageElements(
"prtf:pg", $page[
"id"]);
191 if (is_file($this->export_dir.
"/prtf_".$page[
"id"].
".html"))
193 copy($this->export_dir .
"/prtf_" . $page[
"id"] .
".html",
194 $this->export_dir .
"/index.html");
200 $this->co_page_html_export->exportPageElements();
207 $this->tpl = $this->co_page_html_export->getPreparedMainTemplate();
208 $this->tpl->getStandardTemplate();
209 $this->tpl->addOnLoadCode(
'il.Tooltip.init();', 3);
212 if(is_array($a_js_files))
214 foreach($a_js_files as $js_file)
216 $this->tpl->setCurrentBlock(
"js_file");
217 $this->tpl->setVariable(
"JS_FILE", !stristr($js_file,
"://")
218 ?
"./js/".basename($js_file)
220 $this->tpl->parseCurrentBlock();
225 $this->tpl->setVariable(
"MAINMENU",
"<div style='min-height:40px;'></div>");
226 $this->tpl->setTitle($this->object->getTitle());
228 $ilTabs->clearTargets();
231 foreach($this->tabs as $id => $caption)
233 $ilTabs->addTab(
"user_page_".$id, $caption,
"prtf_".$id.
".html");
236 $ilTabs->activateTab($this->active_tab);
239 include_once
"Modules/Portfolio/classes/class.ilObjPortfolioGUI.php";
247 $file = $this->export_dir.
"/".$a_file;
255 $ep_tpl =
new ilTemplate(
"tpl.export_page.html",
true,
true,
256 "Modules/Portfolio");
257 $ep_tpl->setVariable(
"PAGE_CONTENT", $a_content);
260 $this->tpl->setContent($ep_tpl->get());
262 if(is_array($a_onload))
264 foreach($a_onload as $item)
266 $this->tpl->addOnLoadCode($item);
271 $content = $this->tpl->get(
"DEFAULT",
false,
false,
false,
275 if (!file_put_contents(
$file, $content))
277 die (
"<b>Error</b>: Could not open \"".
$file.
"\" for writing".
278 " in <b>".__FILE__.
"</b> on line <b>".__LINE__.
"</b><br />");
295 include_once
"Modules/Portfolio/classes/class.ilPortfolioPageGUI.php";
298 $pgui->setFullscreenLink(
"fullscreen.html");
299 $page_content = $pgui->showPage();
301 $material = $pgui->getExportMaterial();
302 $this->export_material[] = $material;
304 $this->
writeExportFile(
"prtf_".$a_post_id.
".html", $page_content, $pgui->getJsOnloadCode(), $material[
"js"]);
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
static _lookupTitle($a_id)
Portfolio HTML exporter class.
exportHTMLPages()
Export all pages.
HTML export class for pages.
HTML export class for system styles.
_createExportDirectory($a_obj_id, $a_export_type="xml", $a_obj_type="")
Create export directory.
__construct($a_portfolio_gui, $a_object)
Constructor.
Portfolio page gui class.
writeExportFile($a_file, $a_content, $a_onload=null, $a_js_files=null)
buildExportFile()
Build export file.
special template class to simplify handling of ITX/PEAR
static zip($a_dir, $a_file, $compress_content=false)
zips given directory/file into given zip.file
const WORKSPACE_OBJECT_ID
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
static getAllPages($a_portfolio_id)
Get pages of portfolio.
exportPageHTML($a_post_id)
Export page html.
static renderFullscreenHeader($a_portfolio, $a_tpl, $a_user_id, $a_export=false)
Render banner, user name.
static _getPersonalPicturePath($a_usr_id, $a_size="small", $a_force_pic=false, $a_prevent_no_photo_image=false)
Get path to personal picture.
static _getExportDirectory($a_obj_id, $a_type="xml", $a_obj_type="", $a_entity="")
Get export directory for an repository object.
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
buildExportTemplate(array $a_js_files=null)
setOutputMode($a_mode=IL_PAGE_PRESENTATION)
Set Output Mode.