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 
45  function createDirectories()
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
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
HTML export class for system styles.
Done rendering charts as images
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
addImage($a_file, $a_exp_file_name="")
Add (icon) image to the list of images to be exported.
$ilUser
Definition: imgupload.php:18
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
__construct($a_exp_dir)
Initialisation.