public
Description: Git mirror of the CMS Made Simple 2.0 rewrite
Homepage: http://cmsmadesimple.org
Clone URL: git://github.com/tedkulp/cmsmadesimple-2-0.git
cmsmadesimple-2-0 / lib / file.functions.php
100644 101 lines (91 sloc) 2.607 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
#CMS - CMS Made Simple
#(c)2004-2008 by Ted Kulp (ted@cmsmadesimple.org)
#This project's homepage is: http://cmsmadesimple.sf.net
#
# library written by Thijs Elenbaas (thijs@contemplated.net)
#
#This program 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 2 of the License, or
#(at your option) any later version.
#
#This program 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 this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#$Id$
 
/**
* File related functions. Used within the file manager and possibly
* in filehandling programs
*
*/
 
/**
* Finds the file extention to for current filename
* to the admin login.
*
* @since 6.3 ?
*/
function get_file_extention($filename) {
    
  global $filetype;  
    
  // get the file extention
  $extension = strtolower(substr(strrchr($filename, "."), 1));
  //extention type if nothing is found:
  $found_ext = "unknown";
  // See if extention is listed
  if (isset($filetype[$extension]['img']) && $filetype[$extension]['img']) {
   // Yes, listed!
    $found_ext = $extension;
  } else {
     // apparently not, so let's browse the aliasses
    foreach ($filetype as $current_ext=>$current_type) {  
     if (isset($current_type['alias']) && $current_type['alias']) {
       foreach ($current_type['alias'] as $current_alias) {
         if ($extension == $current_alias) {
            $found_ext = $current_ext;
            break(2);
         };
       }
     }
    }
  }
  return $found_ext;
}
 
function display_file($filename) {
  $do_display = true;  
  
  global $excludefilters;
    
  foreach ($excludefilters as $currentfilter) {
    if (ereg($currentfilter, $filename)) {
      $do_display = false;
      break(1);
    }
  }
  return $do_display;
}
 
 
function is_removeable($fname)
{
  if( is_dir( $fname ) )
    {
      $folder = opendir($fname);
      while($file = readdir( $folder ))
  if($file != '.' && $file != '..' &&
   ( !is_writable( $fname."/".$file ) ||
   ( is_dir( $fname."/".$file ) && !is_removeable( $fname."/".$file ) ) ))
   {
   closedir($fname);
   return false;
   }
      closedir($fname);
      return true;
    }
  else
    {
      return is_writable( $fname );
    }
}
# vim:ts=4 sw=4 noet
?>