Merged in marcoAntonioNina/processmaker (pull request #1008)
Improvemenet name file support
This commit is contained in:
@@ -5309,7 +5309,8 @@ class G
|
||||
return $arrayData;
|
||||
}
|
||||
|
||||
public static function buildFrom($configuration, $from = '') {
|
||||
public static function buildFrom($configuration, $from = '')
|
||||
{
|
||||
if (!isset($configuration['MESS_FROM_NAME'])) {
|
||||
$configuration['MESS_FROM_NAME'] = '';
|
||||
}
|
||||
@@ -5352,7 +5353,8 @@ class G
|
||||
*
|
||||
*
|
||||
*/
|
||||
public function verifyInputDocExtension($InpDocAllowedFiles, $filesName, $filesTmpName){
|
||||
public function verifyInputDocExtension($InpDocAllowedFiles, $filesName, $filesTmpName)
|
||||
{
|
||||
$allowedTypes = explode(", ", $InpDocAllowedFiles);
|
||||
$flag = 0;
|
||||
$res = new stdclass();
|
||||
@@ -5361,9 +5363,9 @@ class G
|
||||
$dtype = explode(".", $filesName);
|
||||
|
||||
foreach ($allowedTypes as $types => $val) {
|
||||
if((preg_match('/^\*\.?[a-z]{2,8}$/', $val)) || ($val == '*.*')){
|
||||
if ((preg_match('/^\*\.?[a-z]{2,8}$/', $val)) || ($val == '*.*')) {
|
||||
$allowedDocTypes = substr($val, 2);
|
||||
if(($dtype[count($dtype) -1]) == $allowedDocTypes || $allowedDocTypes == '*'){
|
||||
if (($dtype[count($dtype) -1]) == $allowedDocTypes || $allowedDocTypes == '*') {
|
||||
$res->status = true;
|
||||
return $res;
|
||||
break;
|
||||
@@ -5382,7 +5384,7 @@ class G
|
||||
$docType = explode("/", $finfo_);
|
||||
|
||||
foreach ($allowedTypes as $types => $val) {
|
||||
if((preg_match('/^\*\.?[a-z]{2,8}$/', $val)) || ($val == '*.*')){
|
||||
if ((preg_match('/^\*\.?[a-z]{2,8}$/', $val)) || ($val == '*.*')) {
|
||||
$allowedDocTypes = substr($val, 2);
|
||||
$dtype = explode(".", $filesName);
|
||||
|
||||
@@ -5392,7 +5394,7 @@ class G
|
||||
return $res;
|
||||
break;
|
||||
case 'xls':
|
||||
if($docType[1] == 'vnd.ms-excel' || ($dtype[count($dtype) - 1] == 'xls' && $docType[1] == 'plain')){
|
||||
if ($docType[1] == 'vnd.ms-excel' || ($dtype[count($dtype) - 1] == 'xls' && $docType[1] == 'plain')) {
|
||||
$res->status = true;
|
||||
return $res;
|
||||
} else {
|
||||
@@ -5400,7 +5402,7 @@ class G
|
||||
}
|
||||
break;
|
||||
case 'doc':
|
||||
if($docType[1] == 'msword' || ($dtype[count($dtype) - 1] == 'doc' && $docType[1] == 'html')){
|
||||
if ($docType[1] == 'msword' || ($dtype[count($dtype) - 1] == 'doc' && $docType[1] == 'html')) {
|
||||
$res->status = true;
|
||||
return $res;
|
||||
} else {
|
||||
@@ -5408,7 +5410,7 @@ class G
|
||||
}
|
||||
break;
|
||||
case 'ppt':
|
||||
if($docType[1] != 'vnd.ms-office'){
|
||||
if ($docType[1] != 'vnd.ms-office') {
|
||||
$flag = 1;
|
||||
} else {
|
||||
$res->status = true;
|
||||
@@ -5418,7 +5420,7 @@ class G
|
||||
case 'docx':
|
||||
case 'pptx':
|
||||
case 'xlsx':
|
||||
if($docType[1] != 'zip'){
|
||||
if ($docType[1] != 'zip') {
|
||||
$flag = 1;
|
||||
} else {
|
||||
$res->status = true;
|
||||
@@ -5512,7 +5514,7 @@ class G
|
||||
}
|
||||
}
|
||||
}
|
||||
if( $flag == 1){
|
||||
if ( $flag == 1) {
|
||||
$res->status = false;
|
||||
$res->message = G::LoadTranslation('ID_UPLOAD_ERR_NOT_ALLOWED_EXTENSION' ) . ' ' . $filesName;
|
||||
return $res;
|
||||
@@ -5522,33 +5524,34 @@ class G
|
||||
/**
|
||||
* Get the actual browser.
|
||||
*/
|
||||
public function getActualBrowser(){
|
||||
public function getActualBrowser ()
|
||||
{
|
||||
$browser=array("TRIDENT","IE","OPERA","MOZILLA","NETSCAPE","FIREFOX","SAFARI","CHROME");
|
||||
$info['browser'] = "OTHER";
|
||||
|
||||
foreach($browser as $parent){
|
||||
if($parent == 'TRIDENT'){
|
||||
foreach ($browser as $parent) {
|
||||
if( $parent == 'TRIDENT') {
|
||||
$parent = "RV";
|
||||
}
|
||||
$s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent);
|
||||
$f = $s + strlen($parent);
|
||||
$version = substr($_SERVER['HTTP_USER_AGENT'], $f, 15);
|
||||
$version = preg_replace('/[^0-9,.]/','',$version);
|
||||
if ($s){
|
||||
if ($s) {
|
||||
$info['browser'] = $parent;
|
||||
$info['version'] = $version;
|
||||
}
|
||||
}
|
||||
|
||||
$info['browser'] = ($info['browser']=='RV')? 'IE':$info['browser'];
|
||||
return $info;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Check the browser compativility
|
||||
*/
|
||||
public function checkBrowserCompatibility($browser = null, $version = null){
|
||||
if($browser == null || $version == null){
|
||||
public function checkBrowserCompatibility($browser = null, $version = null)
|
||||
{
|
||||
if ($browser == null || $version == null) {
|
||||
$info = G::getActualBrowser();
|
||||
$browser = $info['browser'];
|
||||
$version = $info['version'];
|
||||
@@ -5556,11 +5559,28 @@ class G
|
||||
if ((($browser== 'IE') && (($version >= 8) && ($version <= 11))) ||
|
||||
(($browser== 'CHROME') && ($version >= 26)) ||
|
||||
(($browser== 'FIREFOX') && ($version >= 20))
|
||||
){
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* $string - The string to sanitize.
|
||||
* $lowercase - Force the string to lowercase?
|
||||
* $alpha - If set to *true*, will remove all non-alphanumeric characters.
|
||||
*/
|
||||
public function sanitizeString ($string, $lowercase = true, $alpha = false)
|
||||
{
|
||||
$strip = array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "=", "+", "[", "{", "]",
|
||||
"}", "\\", "|", ";", ":", "\"", "'", "‘", "’", "“", "”", "–", "—",
|
||||
"—", "–", ",", "<", ".", ">", "/", "?");
|
||||
$clean = trim(str_replace($strip, "", strip_tags($string)));
|
||||
$clean = preg_replace('/\s+/', "-", $clean);
|
||||
$clean = ($alpha) ? preg_replace("/[^a-zA-Z0-9]/", "", $clean) : $clean ;
|
||||
$clean = ($force_lowercase) ? (function_exists('mb_strtolower')) ? mb_strtolower($clean, 'UTF-8') : strtolower($clean) : $clean;
|
||||
return $clean;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1399,13 +1399,21 @@ class adminProxy extends HttpProxyController
|
||||
//Database server Version (MySQL version)
|
||||
$installer = new Installer();
|
||||
$systemInfo = $installer->getSystemInfo();
|
||||
$params['dbVersion'] = mysql_get_server_info();//$systemInfo->mysql->version;
|
||||
try {
|
||||
$params['dbVersion'] = mysql_get_server_info();
|
||||
} catch (Exception $e) {
|
||||
$params['dbVersion'] = '';
|
||||
}
|
||||
|
||||
//PHP Version
|
||||
$params['php'] = $systemInfo->php->version;
|
||||
|
||||
//Apache - IIS Version
|
||||
try {
|
||||
$params['apache'] = apache_get_version();
|
||||
} catch (Exception $e) {
|
||||
$params['apache'] = '';
|
||||
}
|
||||
|
||||
//Installed Plugins (license info?)
|
||||
$arrayAddon = array ();
|
||||
@@ -1472,7 +1480,7 @@ class adminProxy extends HttpProxyController
|
||||
//Country/city (Timezone)
|
||||
$params["Timezone"] = (defined('TIME_ZONE') && TIME_ZONE != "Unknown") ? TIME_ZONE : date_default_timezone_get();
|
||||
|
||||
$support = PATH_DATA_SITE . SYS_SYS . '-' . date('YmdHis') . '.spm';
|
||||
$support = PATH_DATA_SITE . G::sanitizeString($licenseManager->info['FIRST_NAME'] . '-' . $licenseManager->info['LAST_NAME'] . '-' . SYS_SYS . '-' . date('YmdHis'), false, false) . '.spm';
|
||||
file_put_contents($support, serialize($params));
|
||||
G::streamFile($support, true);
|
||||
G::rm_dir($support);
|
||||
|
||||
Reference in New Issue
Block a user