private function validateUpload()
{
if (!empty($_FILES['theme_zip']['name']) and !empty($_FILES['theme_zip']['tmp_name'])) {
if (preg_match('/\\s/', $_FILES['theme_zip']['name'])) {
$this->alert->danger_now($this->lang->line('error_upload_name'));
return FALSE;
}
if ($_FILES['theme_zip']['type'] !== 'application/zip') {
$this->alert->danger_now($this->lang->line('error_upload_type'));
return FALSE;
}
$_FILES['theme_zip']['name'] = html_entity_decode($_FILES['theme_zip']['name'], ENT_QUOTES, 'UTF-8');
$_FILES['theme_zip']['name'] = str_replace(array('"', "'", "/", "\\"), "", $_FILES['theme_zip']['name']);
$filename = $this->security->sanitize_filename($_FILES['theme_zip']['name']);
$_FILES['theme_zip']['name'] = basename($filename, '.zip');
if (!empty($_FILES['theme_zip']['error'])) {
$this->alert->danger_now($this->lang->line('error_php_upload') . $_FILES['theme_zip']['error']);
return FALSE;
}
if (file_exists(ROOTPATH . MAINDIR . '/views/themes/' . $_FILES['theme_zip']['name'])) {
$this->alert->danger_now(sprintf($this->lang->line('alert_error'), $this->lang->line('error_theme_exists')));
return FALSE;
}
if (is_uploaded_file($_FILES['theme_zip']['tmp_name'])) {
return TRUE;
}
return FALSE;
}
}