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

Last change on this file since 10246 was 10246, checked in by grum, 13 years ago

bug:2149
Compatibility with Piwigo 2.2

  • Property svn:executable set to *
File size: 2.7 KB
RevLine 
[5550]1<?php
2
3/* -----------------------------------------------------------------------------
4  class name: GPCCss
[10246]5  class version  : 3.1.0
6  plugin version : 3.5.0
7  date           : 2011-01-31
[5550]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|         |            |
[10246]23| 3.1.0   | 2011/01/31 | * Updated for piwigo 2.2
[5550]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
[5958]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
[10246]56      $fileName='./plugins/'.basename(dirname(dirname(__FILE__))).'/css/gpc.css';
57      GPCCore::addHeaderCSS('gpc', $fileName);
[5958]58    }
59    elseif(file_exists($fileName))
60    {
[10246]61      GPCCore::addHeaderCSS(basename(dirname($fileName)), 'plugins/'.basename(dirname($fileName)).'/'.basename($fileName).'');
[5958]62    }
63  }
64
[5550]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
[5958]109    GPCCss::applyCSSFile($this->filename);
[5550]110  }
[5958]111
112
[5550]113} //class
114
115?>
Note: See TracBrowser for help on using the repository browser.