1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-27 01:40:22 +02:00

Moved filetypes.xml path to e_SYSTEM directory and auto-generate file if not found.

This commit is contained in:
CaMer0n
2012-08-19 05:10:43 +00:00
parent 8b86caddf4
commit 7e3bb486d4
3 changed files with 18 additions and 8 deletions

View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<e107Filetypes>
<class name='253' type='zip,gz,jpg,png,gif' maxupload='2M' />
</e107Filetypes>

View File

@@ -1057,6 +1057,19 @@ function update_706_to_800($type='')
mkdir(e_TEMP,0755); mkdir(e_TEMP,0755);
} }
// Autogenerate filetypes.xml if not found.
if(!is_readable(e_SYSTEM."filetypes.xml"))
{
$data = '<?xml version="1.0" encoding="utf-8"?>
<e107Filetypes>
<class name="253" type="zip,gz,jpg,jpeg,png,gif,xml" maxupload="2M" />
</e107Filetypes>';
file_put_contents(e_SYSTEM."filetypes.xml",$data);
}
$root_media = str_replace(basename(e_MEDIA)."/","",e_MEDIA); $root_media = str_replace(basename(e_MEDIA)."/","",e_MEDIA);
$user_media_dirs = array("images","avatars","files","temp","videos","icons"); $user_media_dirs = array("images","avatars","files","temp","videos","icons");

View File

@@ -515,6 +515,7 @@ function file_upload($uploaddir, $avatar = FALSE, $fileinfo = "", $overwrite = "
* 9 - unacceptable file type (prone to exploits) * 9 - unacceptable file type (prone to exploits)
*/ */
//TODO - Move this function to file_class.php
function vet_file($filename, $target_name, $allowed_filetypes = '', $unknown = FALSE) function vet_file($filename, $target_name, $allowed_filetypes = '', $unknown = FALSE)
{ {
// 1. Start by checking against filetypes - that's the easy one! // 1. Start by checking against filetypes - that's the easy one!
@@ -692,12 +693,12 @@ function vet_file($filename, $target_name, $allowed_filetypes = '', $unknown = F
} }
} }
if ($def_file && is_readable(e_ADMIN.$def_file)) if ($def_file && is_readable(e_SYSTEM.$def_file))
{ {
$xml = e107::getXml(); $xml = e107::getXml();
// class tag should be always array // class tag should be always array
$xml->setOptArrayTags('class'); $xml->setOptArrayTags('class');
$temp_vars = $xml->loadXMLfile(e_ADMIN.$def_file, 'filetypes', false); $temp_vars = $xml->loadXMLfile(e_SYSTEM.$def_file, 'filetypes', false);
if ($temp_vars === FALSE) if ($temp_vars === FALSE)
{ {
echo "Error reading XML file: {$def_file}<br />"; echo "Error reading XML file: {$def_file}<br />";
@@ -785,6 +786,7 @@ function vet_file($filename, $target_name, $allowed_filetypes = '', $unknown = F
{ {
if ($filename != '') if ($filename != '')
{ {
if (strtolower(substr($filename, -4) == '.xml')) if (strtolower(substr($filename, -4) == '.xml'))
{ {
return get_XML_filetypes($filename, $file_mask); return get_XML_filetypes($filename, $file_mask);
@@ -792,7 +794,7 @@ function vet_file($filename, $target_name, $allowed_filetypes = '', $unknown = F
return get_allowed_filetypes($filename, $file_mask); return get_allowed_filetypes($filename, $file_mask);
} }
if (is_readable(e_ADMIN.e_READ_FILETYPES)) if (is_readable(e_SYSTEM.e_READ_FILETYPES))
{ {
return get_XML_filetypes(e_READ_FILETYPES, $file_mask); return get_XML_filetypes(e_READ_FILETYPES, $file_mask);
} }