make themes configurable (fixes #50)
* gallery.ini: - remove theme specific configuration - add default theme name * includes/galleryfunctions.php: - implement theme initialization - configure common parameters from theme * includes/theme.class.php: - implement a simple theme class * index.php: - assign $gallery to template * themes/default_horizontal/theme.ini: - add theme specific configuration * themes/default_horizontal/theme.php: - use $content['gallery'] instead of undefined $gallery
This commit is contained in:
		
							parent
							
								
									0ed421b1ce
								
							
						
					
					
						commit
						fcea03a800
					
				
					 6 changed files with 83 additions and 6 deletions
				
			
		
							
								
								
									
										70
									
								
								includes/theme.class.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								includes/theme.class.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,70 @@ | |||
| <?php | ||||
| /** | ||||
|  * @file defines a theme class for ScrollingJQueryGallery | ||||
|  * | ||||
|  * @author Jan Dittberner <jan@dittberner.info> | ||||
|  * | ||||
|  * @version $Id$ | ||||
|  * | ||||
|  * Copyright (c) 2009 Jan Dittberner | ||||
|  * Jan Dittberner IT-Consulting & -Solutions | ||||
|  * Cottbuser Str. 1, D-01129 Dresden | ||||
|  * | ||||
|  * This file is part of the ScrollingJQueryGallery component of the | ||||
|  * gnuviech-server.de Websitetools | ||||
|  * | ||||
|  * ScrollingJQueryGallery is free software: you can redistribute it | ||||
|  * and/or modify it under the terms of the GNU General Public License | ||||
|  * as published by the Free Software Foundation, either version 3 of | ||||
|  * the License, or (at your option) any later version. | ||||
|  * | ||||
|  * ScrollingJQueryGallery is distributed in the hope that it will be | ||||
|  * useful, but WITHOUT ANY WARRANTY; without even the implied warranty | ||||
|  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with ScrollingJQueryGallery.  If not, see | ||||
|  * <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| /** | ||||
|  * Theme class. | ||||
|  */ | ||||
| class Theme { | ||||
|   /** | ||||
|    * Theme type 'horizontal' or 'vertical' | ||||
|    * @var string | ||||
|    */ | ||||
|   var $themetype; | ||||
| 
 | ||||
|   /** | ||||
|    * Size of preview images. Used for calculating preview image sizes. | ||||
|    * @var int | ||||
|    */ | ||||
|   var $previewsize; | ||||
| 
 | ||||
|   /** | ||||
|    * Size of thumbnail images. Depending on the theme type this is | ||||
|    * used for calculating the width (vertical themes) or height | ||||
|    * (horizontal themes) of the thumbnal images. | ||||
|    * @var int | ||||
|    */ | ||||
|   var $thumbsize; | ||||
| 
 | ||||
|   /** | ||||
|    * Constructor for themes. Expects a theme name and initializes the | ||||
|    * internal state of the instance from the 'theme.ini' file in the | ||||
|    * named theme's directory. | ||||
|    * @param string $name the directory name of the theme | ||||
|    */ | ||||
|   function __construct($name) { | ||||
|     $themeconfig = parse_ini_file( | ||||
|       realpath(implode(DIRECTORY_SEPARATOR, | ||||
|                        array('themes', $name, 'theme.ini')))); | ||||
|     $this->themetype = $themeconfig['themetype']; | ||||
|     $this->previewsize = intval($themeconfig['previewsize']); | ||||
|     $this->thumbsize = intval($themeconfig['thumbsize']); | ||||
|   } | ||||
| } | ||||
| ?>
 | ||||
		Reference in a new issue