diff --git a/include/class.forms.php b/include/class.forms.php index 98ae957cf003094fafa797867d1e42352fc2c96f..38d20c08102ac2b0e4b65a6be8d0bfa34225479d 100644 --- a/include/class.forms.php +++ b/include/class.forms.php @@ -1378,7 +1378,7 @@ class FileUploadField extends FormField { return true; // Return true if all file types are allowed (.*) - if (strpos($config['__extensions'], '.*') || !$config['__extensions']) + if (!$config['__extensions'] || in_array('.*', $config['__extensions'])) return true; $allowed = $config['__extensions']; @@ -1416,25 +1416,30 @@ class FileUploadField extends FormField { if (strpos($config['extensions'], '.*') !== false) $config['extensions'] = ''; - foreach (preg_split('/\s+/', str_replace(',',' ', $config['extensions'])) as $ext) { - if (!$ext) { - continue; - } - elseif (strpos($ext, '/')) { - $mimetypes[$ext] = true; - } - else { - if ($ext[0] != '.') - $ext = '.' . $ext; - // Add this to the MIME types list so it can be exported to - // the @accept attribute - if (!isset($extensions[$ext])) + if (is_string($config['extensions'])) { + foreach (preg_split('/\s+/', str_replace(',',' ', $config['extensions'])) as $ext) { + if (!$ext) { + continue; + } + elseif (strpos($ext, '/')) { $mimetypes[$ext] = true; - - $extensions[$ext] = true; + } + else { + if ($ext[0] != '.') + $ext = '.' . $ext; + // Add this to the MIME types list so it can be exported to + // the @accept attribute + if (!isset($extensions[$ext])) + $mimetypes[$ext] = true; + + $extensions[$ext] = true; + } } + $config['__extensions'] = array_keys($extensions); + } + elseif (is_array($config['extensions'])) { + $config['__extensions'] = $config['extensions']; } - $config['__extensions'] = array_keys($extensions); // 'mimetypes' is the array represented from the user interface, // '__mimetypes' is a complete list of supported MIME types. diff --git a/include/staff/ticket-open.inc.php b/include/staff/ticket-open.inc.php index 138d7c6c2ee8c4067c41d6b00da319eb8e9ddf80..d677070ed7588a759d75e0fb248ea1412f5e4a10 100644 --- a/include/staff/ticket-open.inc.php +++ b/include/staff/ticket-open.inc.php @@ -409,9 +409,11 @@ $(function() { // Popup user lookup on the initial page load (not post) if we don't have a // user selected if (!$_POST && !$user) {?> - $.userLookup('ajax.php/users/lookup/form', function (user) { + setTimeout(function() { + $.userLookup('ajax.php/users/lookup/form', function (user) { window.location.href = window.location.href+'&uid='+user.id; - }); + }); + }, 100); <?php } ?> }); diff --git a/scp/js/scp.js b/scp/js/scp.js index 76ec812f00bfb80fce20c7bd542bac42a7c314a1..e6e36147e5d093d7526e76b9170c1baef1c5cc16 100644 --- a/scp/js/scp.js +++ b/scp/js/scp.js @@ -526,7 +526,7 @@ $.toggleOverlay = function (show) { return $.toggleOverlay(!$('#overlay').is(':visible')); } if (show) { - $('#overlay').fadeIn(); + $('#overlay').show().fadeIn(); $('body').css('overflow', 'hidden'); } else { @@ -545,13 +545,14 @@ $.dialog = function (url, codes, cb, options) { $.toggleOverlay(true); $('div.body', $popup).empty().hide(); - $('div#popup-loading', $popup).slideDown() + $('div#popup-loading', $popup).show() .find('h1').css({'margin-top':function() { return $popup.height()/3-$(this).height()/3}}); - $popup.slideDown(); + $popup.show(); $('div.body', $popup).load(url, function () { $('div#popup-loading', $popup).hide(); $('div.body', $popup).slideDown({ - duration: 200, + duration: 300, + queue: false, complete: function() { if (options.onshow) options.onshow(); } }); $(document).off('.dialog'); @@ -704,23 +705,19 @@ $(document).on('pjax:send', function(event) { $('#overlay').css('background-color','white').fadeIn(); }); +$(document).on('pjax:beforeReplace', function() { + // Close popups + // Close tooltips + $('.tip_box').remove(); + $('.dialog .body').empty().parent().hide(); +}); + $(document).on('pjax:complete', function() { // right $("#loadingbar").width("101%").delay(200).fadeOut(400, function() { $(this).remove(); }); - - $('.tip_box').remove(); - $('.dialog .body').empty().parent().hide(); - $('#overlay').stop(false, true).hide().removeAttr('style'); -}); - -$(document).on('pjax:end', function() { - // Close popups - // Close tooltips - $('.tip_box').remove(); - $('.dialog .body').empty().parent().hide(); - $('#overlay').hide(); + $('#overlay').fadeOut(100).removeAttr('style'); }); // Quick note interface diff --git a/scp/tickets.php b/scp/tickets.php index ebf2ed08194bc19ae9162a5361461ea89584bd4a..cd7d5ebfbae570cd656ba4932abfa7fe613e38d2 100644 --- a/scp/tickets.php +++ b/scp/tickets.php @@ -42,11 +42,13 @@ if ($_REQUEST['uid']) // Configure form for file uploads $response_form = new Form(array( 'attachments' => new FileUploadField(array('id'=>'attach', - 'name'=>'attach:response')) + 'name'=>'attach:response', + 'configuration' => array('extensions'=>''))) )); $note_form = new Form(array( 'attachments' => new FileUploadField(array('id'=>'attach', - 'name'=>'attach:note')) + 'name'=>'attach:note', + 'configuration' => array('extensions'=>''))) )); //At this stage we know the access status. we can process the post.