download_form.twig (5086B)
1 {{ header }}{{ column_left }} 2 <div id="content"> 3 <div class="page-header"> 4 <div class="container-fluid"> 5 <div class="pull-right"> 6 <button type="submit" form="form-download" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i></button> 7 <a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a></div> 8 <h1>{{ heading_title }}</h1> 9 <ul class="breadcrumb"> 10 {% for breadcrumb in breadcrumbs %} 11 <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> 12 {% endfor %} 13 </ul> 14 </div> 15 </div> 16 <div class="container-fluid"> 17 {% if error_warning %} 18 <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_warning }} 19 <button type="button" class="close" data-dismiss="alert">×</button> 20 </div> 21 {% endif %} 22 <div class="panel panel-default"> 23 <div class="panel-heading"> 24 <h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_form }}</h3> 25 </div> 26 <div class="panel-body"> 27 <form action="{{ action }}" method="post" enctype="multipart/form-data" id="form-download" class="form-horizontal"> 28 <div class="form-group required"> 29 <label class="col-sm-2 control-label">{{ entry_name }}</label> 30 <div class="col-sm-10"> 31 {% for language in languages %} 32 <div class="input-group"> <span class="input-group-addon"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /></span> 33 <input type="text" name="download_description[{{ language.language_id }}][name]" value="{{ download_description[language.language_id] ? download_description[language.language_id].name }}" placeholder="{{ entry_name }}" class="form-control" /> 34 </div> 35 {% if error_name[language.language_id] %} 36 <div class="text-danger">{{ error_name[language.language_id] }}</div> 37 {% endif %} 38 {% endfor %} 39 </div> 40 </div> 41 <div class="form-group required"> 42 <label class="col-sm-2 control-label" for="input-filename"><span data-toggle="tooltip" title="{{ help_filename }}">{{ entry_filename }}</span></label> 43 <div class="col-sm-10"> 44 <div class="input-group"> 45 <input type="text" name="filename" value="{{ filename }}" placeholder="{{ entry_filename }}" id="input-filename" class="form-control" /> 46 <span class="input-group-btn"> 47 <button type="button" id="button-upload" data-loading-text="{{ text_loading }}" class="btn btn-primary"><i class="fa fa-upload"></i> {{ button_upload }}</button> 48 </span> </div> 49 {% if error_filename %} 50 <div class="text-danger">{{ error_filename }}</div> 51 {% endif %} 52 </div> 53 </div> 54 <div class="form-group required"> 55 <label class="col-sm-2 control-label" for="input-mask"><span data-toggle="tooltip" title="{{ help_mask }}">{{ entry_mask }}</span></label> 56 <div class="col-sm-10"> 57 <input type="text" name="mask" value="{{ mask }}" placeholder="{{ entry_mask }}" id="input-mask" class="form-control" /> 58 {% if error_mask %} 59 <div class="text-danger">{{ error_mask }}</div> 60 {% endif %} 61 </div> 62 </div> 63 </form> 64 </div> 65 </div> 66 </div> 67 <script type="text/javascript"><!-- 68 $('#button-upload').on('click', function() { 69 $('#form-upload').remove(); 70 71 $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>'); 72 73 $('#form-upload input[name=\'file\']').trigger('click'); 74 75 if (typeof timer != 'undefined') { 76 clearInterval(timer); 77 } 78 79 timer = setInterval(function() { 80 if ($('#form-upload input[name=\'file\']').val() != '') { 81 clearInterval(timer); 82 83 $.ajax({ 84 url: 'index.php?route=catalog/download/upload&user_token={{ user_token }}', 85 type: 'post', 86 dataType: 'json', 87 data: new FormData($('#form-upload')[0]), 88 cache: false, 89 contentType: false, 90 processData: false, 91 beforeSend: function() { 92 $('#button-upload').button('loading'); 93 }, 94 complete: function() { 95 $('#button-upload').button('reset'); 96 }, 97 success: function(json) { 98 if (json['error']) { 99 alert(json['error']); 100 } 101 102 if (json['success']) { 103 alert(json['success']); 104 105 $('input[name=\'filename\']').val(json['filename']); 106 $('input[name=\'mask\']').val(json['mask']); 107 } 108 }, 109 error: function(xhr, ajaxOptions, thrownError) { 110 alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); 111 } 112 }); 113 } 114 }, 500); 115 }); 116 //--></script></div> 117 {{ footer }}