ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilSystemStyleHTMLExport.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2011 ILIAS open source, Extended GPL, see docs/LICENSE */
3
12{
13 private $exp_dir = "";
14 private $images = [];
15
21 function __construct($a_exp_dir)
22 {
23 $this->exp_dir = $a_exp_dir;
24 $this->style_dir = $a_exp_dir."/style";
25 $this->style_img_dir = $a_exp_dir."/style/images";
26 $this->img_dir = $a_exp_dir."/images";
27 $this->img_browser_dir = $a_exp_dir."/images/browser";
28
29 // add standard images
30 $this->addImage("enlarge.svg");
31 $this->addImage("browser/blank.png", "/browser/plus.png");
32 $this->addImage("browser/blank.png", "/browser/minus.png");
33 $this->addImage("browser/blank.png", "/browser/blank.png");
34 $this->addImage("spacer.png");
35 $this->addImage("icon_st.svg");
36 $this->addImage("icon_pg.svg");
37 $this->addImage("icon_lm.svg");
38 $this->addImage("nav_arr_L.png");
39 $this->addImage("nav_arr_R.png");
40 }
41
46 {
47 ilUtil::makeDir($this->style_dir);
48 ilUtil::makeDir($this->style_img_dir);
49 ilUtil::makeDir($this->img_dir);
50 ilUtil::makeDir($this->img_browser_dir);
51 }
52
59 function addImage($a_file, $a_exp_file_name = "")
60 {
61 $this->images[] = ["file" => $a_file,
62 "exp_file_name" => $a_exp_file_name];
63 }
64
68 function export()
69 {
70 global $ilUser;
71
72 $this->createDirectories();
73
74 // export system style sheet
75 $location_stylesheet = ilUtil::getStyleSheetLocation("filesystem");
76 $style_name = $ilUser->prefs["style"].".css";
77 copy($location_stylesheet, $this->style_dir."/".$style_name);
78 $fh = fopen($location_stylesheet, "r");
79 $css = fread($fh, filesize($location_stylesheet));
80 preg_match_all("/url\‍(([^\‍)]*)\‍)/",$css,$files);
81 foreach (array_unique($files[1]) as $fileref)
82 {
83 $fileref = dirname($location_stylesheet)."/".$fileref;
84 if (is_file($fileref))
85 {
86 copy($fileref, $this->style_img_dir."/".basename($fileref));
87 }
88 }
89 fclose($fh);
90
91 // export (icon) images
92 foreach ($this->images as $im)
93 {
94 $from = $to = $im["file"];
95 if ($im["exp_file_name"] != "")
96 {
97 $to = $im["exp_file_name"];
98 }
99 copy(ilUtil::getImagePath($from, false, "filesystem"),
100 $this->img_dir."/".$to);
101 }
102 }
103
104}
$files
Definition: add-vimline.php:18
An exception for terminatinating execution or to throw for unit testing.
HTML export class for system styles.
__construct($a_exp_dir)
Initialisation.
addImage($a_file, $a_exp_file_name="")
Add (icon) image to the list of images to be exported.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
$ilUser
Definition: imgupload.php:18