make theme and javascript paths configurable (fixes #49)
This commit is contained in:
		
							parent
							
								
									631ec74b2b
								
							
						
					
					
						commit
						8f40d4554a
					
				
					 4 changed files with 12 additions and 9 deletions
				
			
		|  | @ -1,4 +1,5 @@ | |||
| logfile=gallery.log | ||||
| basepath=/ | ||||
| defaulttheme=default_horizontal | ||||
| gallerydir=bilder | ||||
| gallerypath=/bilder | ||||
|  |  | |||
|  | @ -50,9 +50,9 @@ require_once('theme.class.php'); | |||
| 
 | ||||
| if (array_key_exists('theme', $_GET) && | ||||
|     preg_match('/^[a-zA-Z0-9_-]+$/', $_GET['theme'])) { | ||||
|   $theme = new Theme($_GET['theme']); | ||||
|   $theme = new Theme($_GET['theme'], $configuration); | ||||
| } else { | ||||
|   $theme = new Theme($configuration['defaulttheme']); | ||||
|   $theme = new Theme($configuration['defaulttheme'], $configuration); | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  |  | |||
|  | @ -56,6 +56,7 @@ class Theme { | |||
| 
 | ||||
|   var $name; | ||||
|   var $template; | ||||
|   var $config; | ||||
| 
 | ||||
|   /** | ||||
|    * Constructor for themes. Expects a theme name and initializes the | ||||
|  | @ -63,7 +64,7 @@ class Theme { | |||
|    * named theme's directory. | ||||
|    * @param string $name the directory name of the theme | ||||
|    */ | ||||
|   function __construct($name) { | ||||
|   function __construct($name, &$configuration) { | ||||
|     $themeini = realpath(implode(DIRECTORY_SEPARATOR, | ||||
|       array('themes', $name, 'theme.ini'))); | ||||
|     if (!$themeini) { | ||||
|  | @ -74,20 +75,21 @@ class Theme { | |||
|     $this->themetype = $themeconfig['themetype']; | ||||
|     $this->previewsize = intval($themeconfig['previewsize']); | ||||
|     $this->thumbsize = intval($themeconfig['thumbsize']); | ||||
|     $this->config = $configuration; | ||||
|   } | ||||
| 
 | ||||
|   function getTemplate() { | ||||
|     if (!$this->template) { | ||||
|       $this->template = new Template(); | ||||
|       $this->template->assign('themepath', | ||||
|         implode(DIRECTORY_SEPARATOR, array('themes', $this->name))); | ||||
|         implode(DIRECTORY_SEPARATOR, array($this->config['themepath'], $this->name))); | ||||
|     } | ||||
|     return $this->template; | ||||
|   } | ||||
| 
 | ||||
|   function display() { | ||||
|     $this->template->display(implode(DIRECTORY_SEPARATOR, | ||||
|       array('themes', $this->name, 'theme.php'))); | ||||
|       array($this->config['themedir'], $this->name, 'theme.php'))); | ||||
|   } | ||||
| } | ||||
| ?>
 | ||||
|  | @ -49,10 +49,10 @@ $gallery   = getCurrentGallery(); | |||
|  */ | ||||
| $thumbinfo = getThumbNailInfo($gallery); | ||||
| 
 | ||||
| $scripts = array('js/jquery.js', | ||||
|                  'js/jquery.colorBlend.js', | ||||
|                  'js/jquery.lightbox.js', | ||||
|                  'scripts/ourhandlers.js'); | ||||
| $scripts = array($configuration['basepath'] . 'js/jquery.js', | ||||
|                  $configuration['basepath'] . 'js/jquery.colorBlend.js', | ||||
|                  $configuration['basepath'] . 'js/jquery.lightbox.js', | ||||
|                  $configuration['basepath'] . 'scripts/ourhandlers.js'); | ||||
| $styles  = array(); | ||||
| 
 | ||||
| $template = $theme->getTemplate(); | ||||
|  |  | |||
		Reference in a new issue