1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-26 01:11:28 +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);
}
// 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);
$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)
*/
//TODO - Move this function to file_class.php
function vet_file($filename, $target_name, $allowed_filetypes = '', $unknown = FALSE)
{
// 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();
// class tag should be always array
$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)
{
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 (strtolower(substr($filename, -4) == '.xml'))
{
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);
}
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);
}