XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
module_icon.php
Go to the documentation of this file.
1 <?php
2 // start hack by Trabis
3 if (!class_exists('ProtectorRegistry')) exit('Registry not found');
4 
6 $mydirname = $registry->getEntry('mydirname');
7 $mydirpath = $registry->getEntry('mydirpath');
8 $language = $registry->getEntry('language');
9 // end hack by Trabis
10 
11 $icon_cache_limit = 3600 ; // default 3600sec == 1hour
12 
13 session_cache_limiter('public');
14 header("Expires: ".date('r',intval(time()/$icon_cache_limit)*$icon_cache_limit+$icon_cache_limit));
15 header("Cache-Control: public, max-age=$icon_cache_limit");
16 header("Last-Modified: ".date('r',intval(time()/$icon_cache_limit)*$icon_cache_limit));
17 header("Content-type: image/png");
18 
19 // file name
20 if( ! empty( $_GET['file'] ) ) {
21  $file_base = preg_replace( '/[^0-9a-z_]/' , '' , $_GET['file'] ) ;
22 } else {
23  $file_base = 'module_icon' ;
24 }
25 
27 
28 // icon files must be PNG
29 $file = $file_base . '.png' ;
30 
31 // custom icon
32 if( file_exists( $mydirpath.'/'.$file ) ) {
34  $icon_fullpath = $mydirpath.'/module_icon.png' ;
35 } else {
36  $icon_fullpath = dirname(__FILE__).'/images/'.$file ;
37 }
38 
39 if( $draw_dirname && function_exists( 'imagecreatefrompng' ) && function_exists( 'imagecolorallocate' ) && function_exists( 'imagestring' ) && function_exists( 'imagepng' ) ) {
40 
41  $im = imagecreatefrompng( $icon_fullpath ) ;
42 
43  $color = imagecolorallocate( $im , 0 , 0 , 0 ) ; // black
44  $px = ( 92 - 6 * strlen( $mydirname ) ) / 2 ;
45  imagestring( $im , 3 , $px , 34 , $mydirname , $color ) ;
46  imagepng( $im ) ;
47  imagedestroy( $im ) ;
48 
49 } else {
50 
51  readfile( $icon_fullpath ) ;
52 
53 }
54 
55 ?>