source: extensions/GrumPluginClasses/classes/GPCCss.class.inc.php @ 8775

Last change on this file since 8775 was 5958, checked in by grum, 15 years ago

Update changes for release 3.1.0

  • Property svn:executable set to *
File size: 2.7 KB
Line 
1<?php
2
3/* -----------------------------------------------------------------------------
4  class name: GPCCss
5  class version  : 3.0.0
6  plugin version : 3.0.0
7  date           : 2010-03-30
8
9  ------------------------------------------------------------------------------
10  Author     : Grum
11    email    : grum@piwigo.org
12    website  : http://photos.grum.fr
13    PWG user : http://forum.phpwebgallery.net/profile.php?id=3706
14
15    << May the Little SpaceFrog be with you ! >>
16  ------------------------------------------------------------------------------
17
18  :: HISTORY
19
20| release | date       |
21| 3.0.0   | 2010/03/30 | * Update class & function names
22|         |            |
23|         |            |
24|         |            |
25|         |            |
26|         |            |
27|         |            |
28
29  ------------------------------------------------------------------------------
30
31   this classes provides base functions to manage css
32    classe consider that $filename is under plugins/ directory
33
34
35    - constructor Css($filename)
36    - (public) function fileExists()
37    - (public) function makeCSS($css)
38    - (public) function applyCSS()
39   ---------------------------------------------------------------------- */
40class GPCCss
41{
42  private $filename;
43
44  static public function applyGpcCss()
45  {
46    add_event_handler('loc_end_page_header', array('GPCCss', 'applyCSSFile'));
47  }
48
49  static public function applyCSSFile($fileName="")
50  {
51    global $template;
52
53    if($fileName=="")
54    {
55      //if no filename given, load the gpc.css file
56      $fileName=basename(dirname(dirname(__FILE__))).'/css/gpc.css';
57      $template->append('head_elements', '<link rel="stylesheet" type="text/css" href="plugins/'.$fileName.'">');
58    }
59    elseif(file_exists($fileName))
60    {
61      $template->append('head_elements', '<link rel="stylesheet" type="text/css" href="plugins/'.basename(dirname($fileName))."/".basename($fileName).'">');
62    }
63  }
64
65  public function __construct($filename)
66  {
67    $this->filename=$filename;
68  }
69
70  public function __destruct()
71  {
72    unset($this->filename);
73  }
74
75  /*
76    make the css file
77  */
78  public function makeCSS($css)
79  {
80    if($css!="")
81    {
82      $handle=fopen($this->filename, "w");
83      if($handle)
84      {
85        fwrite($handle, $css);
86        fclose($handle);
87      }
88    }
89  }
90
91  /*
92    return true if css file exists
93  */
94  public function fileExists()
95  {
96    return(file_exists($this->filename));
97  }
98
99  /*
100    put a link in the template to load the css file
101    this function have to be called in a 'loc_end_page_header' trigger
102
103    if $text="", insert link to css file, otherwise insert directly a <style> markup
104  */
105  public function applyCSS()
106  {
107    global $template;
108
109    GPCCss::applyCSSFile($this->filename);
110  }
111
112
113} //class
114
115?>
Note: See TracBrowser for help on using the repository browser.