upgrade.twig (3217B)
1 {{ header }} 2 <div class="container"> 3 <header> 4 <div class="row"> 5 <div class="col-sm-6"> 6 <h1 class="pull-left">1<small>/2</small></h1> 7 <h3>{{ heading_title }}<br> 8 <small>{{ text_upgrade }}</small></h3> 9 </div> 10 <div class="col-sm-6"> 11 <div id="logo" class="pull-right hidden-xs"><img src="view/image/logo.png" alt="OpenCart" title="OpenCart" /></div> 12 </div> 13 </div> 14 </header> 15 <div class="row"> 16 <div class="col-sm-9"> 17 <h3>{{ text_server }}</h3> 18 <fieldset> 19 <ol> 20 <li>{{ text_error }}</li> 21 <li>{{ text_clear }}</li> 22 <li>{{ text_admin }}</li> 23 <li>{{ text_user }}</li> 24 <li>{{ text_setting }}</li> 25 <li>{{ text_store }}</li> 26 </ol> 27 </fieldset> 28 <h3>{{ text_steps }}</h3> 29 <fieldset> 30 <div class="form-group"> 31 <label class="col-sm-2 control-label">{{ entry_progress }}</label> 32 <div class="col-sm-10"> 33 <div class="progress"> 34 <div id="progress-bar" class="progress-bar" style="width: 0%;"></div> 35 </div> 36 <div id="progress-text"></div> 37 </div> 38 </div> 39 </fieldset> 40 <div class="buttons"> 41 <div class="text-right"> 42 <input type="submit" value="{{ button_continue }}" id="button-continue" class="btn btn-primary" /> 43 </div> 44 </div> 45 </div> 46 <div class="col-sm-3">{{ column_left }}</div> 47 </div> 48 <script type="text/javascript"><!-- 49 var step = 0; 50 51 $('#button-continue').on('click', function() { 52 $('#progress-bar').addClass('progress-bar-success').css('width', '0%').removeClass('progress-bar-danger'); 53 $('#progress-text').html(''); 54 $('#button-continue').prop('disabled', true).before('<i class="fa fa-spinner fa-spin"></i> '); 55 56 start('index.php?route=upgrade/upgrade/next'); 57 }); 58 59 function start(url) { 60 setTimeout(function(){ 61 $.ajax({ 62 url: url, 63 type: 'post', 64 dataType: 'json', 65 success: function(json) { 66 if (json['error']) { 67 $('#progress-bar').addClass('progress-bar-danger'); 68 $('#progress-text').html('<div class="text-danger">' + json['error'] + '</div>'); 69 70 $('#button-continue').prop('disabled', false); 71 $('.fa-spinner').remove(); 72 } 73 74 if (json['success']) { 75 $('#progress-text').html('<span class="text-success">' + json['success'] + '</span>'); 76 $('#progress-bar').css('width', ((step / {{ total }}) * 100) + '%'); 77 } 78 79 if (json['next']) { 80 start(json['next']); 81 } else if (!json['error']) { 82 $('#button-continue').replaceWith('<a href="{{ store }}" class="btn btn-primary">{{ button_continue }}</a>'); 83 $('.fa-spinner').remove(); 84 } 85 86 step++; 87 }, 88 error: function(xhr, ajaxOptions, thrownError) { 89 $('#progress-bar').addClass('progress-bar-danger'); 90 $('#progress-text').html('<div class="text-danger">' + (thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText) + '</div>'); 91 $('#button-continue').prop('disabled', false); 92 $('.fa-spinner').remove(); 93 } 94 }); 95 }, 1000); 96 } 97 //--></script></div> 98 {{ footer }}