shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

setting.twig (12495B)


      1 {{ header }}{{ column_left }}
      2 <div id="content">
      3 	<div class="page-header">
      4 		<div class="container-fluid">
      5 			<div class="form-inline pull-right">
      6 				{% if (stores|length > 1) %}
      7 				<select class="form-control" onChange="location='{{ href_setting }}&store_id='+$(this).val()">
      8 				{% for store in stores %}
      9 				{% if (store['store_id'] == store_id) %}
     10 					<option value="{{ store['store_id'] }}" selected="selected">{{ store['name'] }}</option>
     11 				{% else %}
     12 					<option value="{{ store['store_id'] }}">{{ store['name'] }}</option>
     13 				{% endif %}
     14 				{% endfor %}
     15 				</select>
     16 				{% endif %}
     17 				<button id="button_save_and_stay" data-toggle="tooltip" title="{{ button_save_and_stay }}" class="btn btn-success"><i class="fa fa-save"></i><i class="fa fa-refresh rotate hide"></i></button>
     18 				<button id="button_save_and_exit" data-toggle="tooltip" title="{{ button_save }}" class="btn btn-primary"><i class="fa fa-save"></i><i class="fa fa-refresh rotate hide"></i></button>
     19 				<a href="{{ cancel }}" data-toggle="tooltip" title="{{ button_cancel }}" class="btn btn-default"><i class="fa fa-reply"></i></a>
     20 			</div>
     21 			<h1>{{ heading_title }} {{ version }}</h1>
     22 			<ul class="breadcrumb">
     23 				{% for breadcrumb in breadcrumbs %}
     24 				<li><a href="{{ breadcrumb['href'] }}">{{ breadcrumb['text'] }}</a></li>
     25 				{% endfor %}
     26 			</ul>
     27 		</div>
     28 	</div>
     29 	<div class="container-fluid">
     30 		{% if error['warning'] %}
     31 		<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i><button type="button" class="close" data-dismiss="alert">&times;</button> {{ error['warning'] }}</div>
     32 		{% endif %}
     33 		{% if success %}
     34 		<div class="alert alert-success"><i class="fa fa-exclamation-circle"></i><button type="button" class="close" data-dismiss="alert">&times;</button> {{ success }}</div>
     35 		{% endif %}
     36 		<div class="panel panel-default panel-resizable">
     37 			<div class="panel-heading">
     38 				<h3 class="panel-title"><i class="fa fa-pencil"></i> {{ text_edit }}</h3>
     39 			</div>
     40 			<div class="panel-body">
     41 				<ul class="nav nav-tabs">
     42 					<li>
     43 						<a href="{{ href_dashboard }}"><span class="fa fa-home"></span> {{ text_dashboard }}</a>
     44 					</li>
     45 					<li class="active">
     46 						<a href="{{ href_setting }}"><span class="fa fa-cog"></span> {{ text_settings }}</a>
     47 					</li>
     48 					<li>
     49 						<a href="{{ href_multi_store_field }}"><span class="fa fa-list-alt"></span> {{ text_multi_store_fields }}</a>
     50 					</li>
     51 					<li>
     52 						<a href="{{ href_target_keyword }}"><span class="fa fa-key"></span> {{ text_target_keywords }}</a>
     53 					</li>
     54 					<li>
     55 						<a href="{{ href_export_import }}"><span class="fa fa-exchange"></span> {{ text_export_import }}</a>
     56 					</li>
     57 					<li>
     58 						<a href="{{ href_instruction }}"><span class="fa fa-graduation-cap"></span> {{ text_instructions }}</a>
     59 					</li>
     60 				</ul>
     61 				
     62 				<form action="{{ action }}" method="post" enctype="multipart/form-data" id="form" class="form-horizontal">
     63 					<div class="flex row">
     64 						<div class="flex col-sm-3">
     65 							<ul class="nav nav-pills nav-stacked">
     66 								<li class="active">
     67 									<a href="#vtab_basic_setting" data-toggle="tab"><span class="fa fa-cog"></span> {{ text_basic_settings }}</a>
     68 								</li>
     69 								<li>
     70 									<a href="#vtab_htaccess" data-toggle="tab"><span class="fa fa-file-text-o"></span> {{ text_htaccess }}</a>
     71 								</li>
     72 								<li>
     73 									<a href="#vtab_robots" data-toggle="tab"><span class="fa fa-file-code-o"></span> {{ text_robots }}</a>
     74 								</li>
     75 							</ul>
     76 						</div>
     77 						<div class="col-sm-9">
     78 							<div class="tab-content">
     79 								<div id="vtab_basic_setting" class="tab-pane active">
     80 									<div class="page-header">
     81 										<h3><strong>{{ text_basic_settings }}</strong></h3>
     82 									</div>
     83 									<div class="form-group">
     84 										<label class="col-sm-3 control-label" for="input-status">{{ entry_status }}</label>
     85 										<div class="col-sm-9">
     86 											<input type="hidden" name="module_{{ codename }}_status" value="0" />
     87 											<input type="checkbox" name="module_{{ codename }}_status" value="1" class="switch" data-label-text="{{ text_enabled }}" {% if status %}checked="checked"{% endif %} />
     88 										</div>
     89 									</div>
     90 									<div class="form-group">
     91 										<label class="col-sm-3 control-label" for="input-list-limit">{{ entry_list_limit }}</label>
     92 										<div class="col-sm-9">
     93 											<input type="text" name="module_{{ codename }}_setting[list_limit]" value="{{ setting['list_limit'] }}" class="form-control"/>
     94 										</div>
     95 									</div>
     96 									<div class="form-group">
     97 										<label class="col-sm-3 control-label" for="input-uninstall">{{ entry_uninstall }}</label>
     98 										<div class="col-sm-9">
     99 											<a action="{{ uninstall }}" id="button_uninstall" class="btn btn-danger"><i class="fa fa-trash"></i><i class="fa fa-refresh rotate hide"></i> {{ button_uninstall }}</a>
    100 										</div>
    101 									</div>	
    102 								</div>
    103 								<div id="vtab_htaccess" class="tab-pane">
    104 									<div class="page-header">
    105 										<h3><strong>{{ text_htaccess }}</strong> <span class="info-window-item" data-href="https://opencartseomodule.com/opencart-htaccess-editor"><i class="fa fa-question"></i></span></h3>
    106 									</div>
    107 									<div class="form-group">
    108 										<label class="col-sm-3 control-label" for="input-status">{{ entry_status }}</label>
    109 										<div class="col-sm-9">
    110 											<input type="hidden" name="htaccess[status]" value="0" />
    111 											<input type="checkbox" name="htaccess[status]" value="1" class="switch" data-label-text="{{ text_enabled }}" {% if htaccess['status'] %}checked="checked"{% endif %} />
    112 										</div>
    113 									</div>
    114 									<div class="form-group">
    115 										<div class="col-sm-9 col-sm-offset-3">
    116 											<p><a href="{{ store_setting }}" target="_blank" class="btn btn-primary"><i class="fa fa-cog fw"></i> {{ button_view_store_setting }}</a></p>
    117 											<div class="bs-callout bs-callout-info">{{ help_htaccess_setting }}</div>
    118 										</div>
    119 									</div>
    120 									<div class="form-group">
    121 										<label class="col-sm-3 control-label" for="input-text">{{ entry_text }}</label>
    122 										<div class="col-sm-9">
    123 											<p><textarea name="htaccess[text]" class="form-control" rows="20">{{ htaccess['text'] }}</textarea></p>
    124 											<div class="bs-callout bs-callout-info">{{ help_htaccess_subfolder }}</div>
    125 										</div>
    126 									</div>
    127 								</div>
    128 								<div id="vtab_robots" class="tab-pane">
    129 									<div class="page-header">
    130 										<h3><strong>{{ text_robots }}</strong> <span class="info-window-item" data-href="https://opencartseomodule.com/robots-txt-editor"><i class="fa fa-question"></i></span></h3>
    131 									</div>
    132 									<div class="form-group">
    133 										<label class="col-sm-3 control-label" for="input-status">{{ entry_status }}</label>
    134 										<div class="col-sm-9">
    135 											<input type="hidden" name="robots[status]" value="0" />
    136 											<input type="checkbox" name="robots[status]" value="1" class="switch" data-label-text="{{ text_enabled }}" {% if robots['status'] %}checked="checked"{% endif %} />
    137 										</div>
    138 									</div>
    139 									<div class="form-group">
    140 										<label class="col-sm-3 control-label" for="input-text">{{ entry_text }}</label>
    141 										<div class="col-sm-9">
    142 											<p><textarea name="robots[text]" class="form-control" rows="20">{{ robots['text'] }}</textarea></p>
    143 											<div class="bs-callout bs-callout-info">{{ help_robots }}</div>
    144 										</div>
    145 									</div>
    146 								</div>
    147 							</div>
    148 						</div>
    149 					</div>
    150 				</form>
    151 				<div class="p-lg text-center">{{ text_powered_by }}</div>
    152 			</div>
    153 		</div>
    154 		<div class="info-window">
    155 			<div class="info-window-wrap">
    156 				<div class="info-window-block">
    157 					<div class="info-window-close"><i class="fa fa-close"></i></div>
    158 					<div class="info-window-description"></div>
    159 				</div>
    160 			</div>
    161 		</div>
    162 		<br class="clear"/>
    163 	</div>
    164 </div>
    165 <script type="text/javascript">
    166 
    167 var info_window = {
    168 	'item' : new Array(),
    169 	'current_url' : ''
    170 }
    171 	
    172 $.each($('.info-window-item'), function(key, value) {
    173 	var url = $(this).attr('data-href');
    174 		
    175 	if (url) {
    176 		$.getJSON(url + '?format=json&callback=?', function(data) {
    177 			info_window.item[url] = data['description'];
    178 		});
    179 	}
    180 });
    181 	
    182 $('.info-window-item').on('click', function() {
    183 	var url = $(this).attr('data-href');
    184 	
    185 	if (url == info_window.current_url) {
    186 		info_window.current_url = '';
    187 		$('.info-window').removeClass('resized');
    188 		$('.panel-resizable').removeClass('resized');
    189 	} else {
    190 		info_window.current_url = url;
    191 		$('.info-window .info-window-description').html(info_window.item[url]);
    192 		$('.panel-resizable').addClass('resized');
    193 		$('.info-window').addClass('resized');
    194 	}
    195 });
    196 	
    197 $('.info-window .info-window-close').on('click', function() {
    198 	info_window.current_url = '';
    199 	$('.info-window').removeClass('resized');
    200 	$('.panel-resizable').removeClass('resized');
    201 });
    202 
    203 $('.switch').bootstrapSwitch({
    204     'onColor': 'success',
    205 	'labelWidth': '50',
    206     'onText': '{{ text_yes }}',
    207     'offText': '{{ text_no }}'
    208 });
    209 
    210 function showAlert(json) {
    211 	$('.alert, .text-danger').remove();
    212 	$('.form-group').removeClass('has-error');
    213 						
    214 	if (json['error']) {
    215 		if (json['error']['warning']) {
    216 			$('#content > .container-fluid').prepend('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i><button type="button" class="close" data-dismiss="alert">&times;</button> ' + json['error']['warning'] + '</div>');
    217 		}				
    218 				
    219 		for (i in json['error']) {
    220 			var element = $('#input_' + i);
    221 					
    222 			if (element.parent().hasClass('input-group')) {
    223                 $(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
    224 			} else {
    225 				$(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
    226 			}
    227 		}				
    228 				
    229 		$('.text-danger').parents('.form-group').addClass('has-error');
    230 	}
    231 			
    232 	if (json['success']) {
    233 		$('#content > .container-fluid').prepend('<div class="alert alert-success"><i class="fa fa-check-circle"></i><button type="button" class="close" data-dismiss="alert">&times;</button> ' + json['success'] + '</div>');
    234 	}
    235 }
    236 </script> 
    237 <script type="text/javascript">
    238 
    239 $('body').on('click', '#button_uninstall', function(event) {
    240 	if (confirm("{{ text_uninstall_confirm }}")) {		
    241 		$.ajax({
    242 			type: 'post',
    243 			url: $(this).attr('action'),
    244 			data: '',
    245 			dataType: 'json',
    246 			beforeSend: function() {
    247 				$('#button_uninstall .fa-refresh').removeClass('hide');
    248 				$('#button_uninstall .fa-trash').addClass('hide');
    249 			},
    250 			complete: function() {
    251 				$('#button_uninstall .fa-refresh').addClass('hide');
    252 				$('#button_uninstall .fa-trash').removeClass('hide');
    253 			},
    254 			success: function(json) {
    255 				showAlert(json);
    256 				
    257 				if (json['success']) {
    258 					location = '{{ module_link|replace({"&amp;" : "&"}) }}';
    259 				}
    260 			},
    261 			error: function(xhr, ajaxOptions, thrownError) {
    262 				console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    263 			}
    264 		});  
    265 	}
    266 });
    267 
    268 $('body').on('click', '#button_save_and_stay', function() {
    269     $.ajax({
    270 		type: 'post',
    271 		url: $('#form').attr('action'),
    272 		data: $('#form').serialize(),
    273 		dataType: 'json',
    274 		beforeSend: function() {
    275 			$('#button_save_and_stay .fa-refresh').removeClass('hide');
    276 			$('#button_save_and_stay .fa-save').addClass('hide');
    277 		},
    278 		complete: function() {
    279 			$('#button_save_and_stay .fa-refresh').addClass('hide');
    280 			$('#button_save_and_stay .fa-save').removeClass('hide');
    281 		},
    282 		success: function(json) {
    283 			showAlert(json);
    284 		},
    285 		error: function(xhr, ajaxOptions, thrownError) {
    286 			console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    287 		}
    288     });  
    289 });
    290 	
    291 $('body').on('click', '#button_save_and_exit', function() {
    292     $.ajax({
    293 		type: 'post',
    294 		url: $('#form').attr('action'),
    295 		data: $('#form').serialize(),
    296 		dataType: 'json',
    297 		beforeSend: function() {
    298 			$('#button_save_and_exit .fa-refresh').removeClass('hide');
    299 			$('#button_save_and_exit .fa-save').addClass('hide');
    300 		},
    301 		complete: function() {
    302 			$('#button_save_and_exit .fa-refresh').addClass('hide');
    303 			$('#button_save_and_exit .fa-save').removeClass('hide');
    304 		},
    305 		success: function(json) {
    306 			showAlert(json);
    307 			
    308 			if (json['success']) {
    309 				location = '{{ cancel|replace({"&amp;" : "&"}) }}';
    310 			}
    311 		},
    312 		error: function(xhr, ajaxOptions, thrownError) {
    313 			console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    314 		}
    315     });  
    316 });
    317 
    318 </script>
    319 {{ footer }}