Version Description
Changed: Styles improvements on admin pages.
Download this release
Release Info
Developer | webdorado |
Plugin | Contact Form Builder – a plugin for creating contact and feedback forms |
Version | 1.0.45 |
Comparing to | |
See all releases |
Code changes from version 1.0.44 to 1.0.45
- admin/views/CFMViewBlocked_ips_cfm.php +2 -2
- admin/views/CFMViewManage_cfm.php +10 -6
- contact-form-builder.php +2 -2
- css/contact_form_maker_tables.css +40 -34
- framework/WDW_CFM_Library.php +11 -0
- js/contact_form_maker_admin.js +4 -0
- readme.txt +5 -2
admin/views/CFMViewBlocked_ips_cfm.php
CHANGED
@@ -77,14 +77,14 @@ class CFMViewBlocked_ips_cfm {
|
|
77 |
<thead>
|
78 |
<tr>
|
79 |
<th class="manage-column column-cb check-column table_small_col"><input id="check_all" type="checkbox" style="margin: 0;" /></th>
|
80 |
-
<th class="table_small_col <?php if ($order_by == 'id') {echo $order_class;} ?>">
|
81 |
<a onclick="spider_set_input_value('task', '');
|
82 |
spider_set_input_value('order_by', 'id');
|
83 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html(stripslashes($_POST['order_by'])) == 'id') && esc_html(stripslashes($_POST['asc_or_desc'])) == 'asc') ? 'desc' : 'asc'); ?>');
|
84 |
spider_form_submit(event, 'blocked_ips')" href="">
|
85 |
<span>ID</span><span class="sorting-indicator"></span></th>
|
86 |
</a>
|
87 |
-
<th class="<?php if ($order_by == 'ip') {echo $order_class;} ?>">
|
88 |
<a onclick="spider_set_input_value('task', '');
|
89 |
spider_set_input_value('order_by', 'ip');
|
90 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html(stripslashes($_POST['order_by'])) == 'ip') && esc_html(stripslashes($_POST['asc_or_desc'])) == 'asc') ? 'desc' : 'asc'); ?>');
|
77 |
<thead>
|
78 |
<tr>
|
79 |
<th class="manage-column column-cb check-column table_small_col"><input id="check_all" type="checkbox" style="margin: 0;" /></th>
|
80 |
+
<th class="sortable table_small_col <?php if ($order_by == 'id') {echo $order_class;} ?>">
|
81 |
<a onclick="spider_set_input_value('task', '');
|
82 |
spider_set_input_value('order_by', 'id');
|
83 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html(stripslashes($_POST['order_by'])) == 'id') && esc_html(stripslashes($_POST['asc_or_desc'])) == 'asc') ? 'desc' : 'asc'); ?>');
|
84 |
spider_form_submit(event, 'blocked_ips')" href="">
|
85 |
<span>ID</span><span class="sorting-indicator"></span></th>
|
86 |
</a>
|
87 |
+
<th class="sortable <?php if ($order_by == 'ip') {echo $order_class;} ?>">
|
88 |
<a onclick="spider_set_input_value('task', '');
|
89 |
spider_set_input_value('order_by', 'ip');
|
90 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html(stripslashes($_POST['order_by'])) == 'ip') && esc_html(stripslashes($_POST['asc_or_desc'])) == 'asc') ? 'desc' : 'asc'); ?>');
|
admin/views/CFMViewManage_cfm.php
CHANGED
@@ -31,8 +31,9 @@ class CFMViewManage_cfm {
|
|
31 |
$order_by = (isset($_POST['order_by']) ? esc_html($_POST['order_by']) : 'id');
|
32 |
$order_class = 'manage-column column-title sorted ' . $asc_or_desc;
|
33 |
$ids_string = '';
|
|
|
34 |
?>
|
35 |
-
|
36 |
<?php echo __("This section allows you to edit forms", "contact_form_maker"); ?>.
|
37 |
<a style="color: blue; text-decoration: none;" target="_blank" href="http://web-dorado.com/wordpress-contact-form-builder-guide-2.html"><?php echo __("Read More in User Manual","contact_form_maker"); ?></a>
|
38 |
<p><?php echo __("There is no possibility of adding new form fields, whereas you can edit, enable/disable the current fields included in each form","contact_form_maker"); ?>.</p>
|
@@ -46,7 +47,7 @@ class CFMViewManage_cfm {
|
|
46 |
</a>
|
47 |
</div>
|
48 |
<div class="fm-clear"></div>
|
49 |
-
<form onkeypress="spider_doNothing(event)" class="wrap" id="manage_form" method="post" action="admin.php?page=manage_cfm" >
|
50 |
<?php wp_nonce_field('nonce_cfm', 'nonce_cfm'); ?>
|
51 |
<div class="fm-page-banner">
|
52 |
<div class="fm-logo">
|
@@ -62,26 +63,26 @@ class CFMViewManage_cfm {
|
|
62 |
<table class="wp-list-table widefat fixed pages">
|
63 |
<thead>
|
64 |
<th class="manage-column column-cb check-column table_small_col"><input id="check_all" type="checkbox" style="margin:0;"/></th>
|
65 |
-
<th class="table_small_col <?php if ($order_by == 'id') { echo $order_class; } ?>">
|
66 |
<a onclick="spider_set_input_value('task', '');
|
67 |
spider_set_input_value('order_by', 'id');
|
68 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html($_POST['order_by']) == 'id') && esc_html($_POST['asc_or_desc']) == 'asc') ? 'desc' : 'asc'); ?>');
|
69 |
spider_form_submit(event, 'manage_form')" href="">
|
70 |
<span>ID</span><span class="sorting-indicator"></span></a>
|
71 |
</th>
|
72 |
-
<th class="<?php if ($order_by == 'title') { echo $order_class; } ?>">
|
73 |
<a onclick="spider_set_input_value('task', '');
|
74 |
spider_set_input_value('order_by', 'title');
|
75 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html($_POST['order_by']) == 'title') && esc_html($_POST['asc_or_desc']) == 'asc') ? 'desc' : 'asc'); ?>');
|
76 |
spider_form_submit(event, 'manage_form')" href="">
|
77 |
<span><?php echo __("Title", "contact_form_maker"); ?></span><span class="sorting-indicator"></span></a>
|
78 |
</th>
|
79 |
-
<th class="<?php if ($order_by == 'mail') { echo $order_class; } ?>">
|
80 |
<a onclick="spider_set_input_value('task', '');
|
81 |
spider_set_input_value('order_by', 'mail');
|
82 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html($_POST['order_by']) == 'mail') && esc_html($_POST['asc_or_desc']) == 'asc') ? 'desc' : 'asc'); ?>');
|
83 |
spider_form_submit(event, 'manage_form')" href="">
|
84 |
-
<span><?php echo __("Email to
|
85 |
</th>
|
86 |
<th class="table_xxl_col"><?php echo __("Shortcode", "contact_form_maker"); ?></th>
|
87 |
<th class="table_xxl_col">PHP <?php echo __("function", "contact_form_maker"); ?></th>
|
@@ -145,6 +146,9 @@ class CFMViewManage_cfm {
|
|
145 |
$ids_string .= $row_data->id . ',';
|
146 |
}
|
147 |
}
|
|
|
|
|
|
|
148 |
?>
|
149 |
</tbody>
|
150 |
</table>
|
31 |
$order_by = (isset($_POST['order_by']) ? esc_html($_POST['order_by']) : 'id');
|
32 |
$order_class = 'manage-column column-title sorted ' . $asc_or_desc;
|
33 |
$ids_string = '';
|
34 |
+
$header_title = __('Forms', 'contact_form_maker');
|
35 |
?>
|
36 |
+
<div class="fm-user-manual">
|
37 |
<?php echo __("This section allows you to edit forms", "contact_form_maker"); ?>.
|
38 |
<a style="color: blue; text-decoration: none;" target="_blank" href="http://web-dorado.com/wordpress-contact-form-builder-guide-2.html"><?php echo __("Read More in User Manual","contact_form_maker"); ?></a>
|
39 |
<p><?php echo __("There is no possibility of adding new form fields, whereas you can edit, enable/disable the current fields included in each form","contact_form_maker"); ?>.</p>
|
47 |
</a>
|
48 |
</div>
|
49 |
<div class="fm-clear"></div>
|
50 |
+
<form onkeypress="spider_doNothing(event)" class="wrap cfm_form" id="manage_form" method="post" action="admin.php?page=manage_cfm" >
|
51 |
<?php wp_nonce_field('nonce_cfm', 'nonce_cfm'); ?>
|
52 |
<div class="fm-page-banner">
|
53 |
<div class="fm-logo">
|
63 |
<table class="wp-list-table widefat fixed pages">
|
64 |
<thead>
|
65 |
<th class="manage-column column-cb check-column table_small_col"><input id="check_all" type="checkbox" style="margin:0;"/></th>
|
66 |
+
<th class="sortable table_small_col <?php if ($order_by == 'id') { echo $order_class; } ?>">
|
67 |
<a onclick="spider_set_input_value('task', '');
|
68 |
spider_set_input_value('order_by', 'id');
|
69 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html($_POST['order_by']) == 'id') && esc_html($_POST['asc_or_desc']) == 'asc') ? 'desc' : 'asc'); ?>');
|
70 |
spider_form_submit(event, 'manage_form')" href="">
|
71 |
<span>ID</span><span class="sorting-indicator"></span></a>
|
72 |
</th>
|
73 |
+
<th class="sortable <?php if ($order_by == 'title') { echo $order_class; } ?>">
|
74 |
<a onclick="spider_set_input_value('task', '');
|
75 |
spider_set_input_value('order_by', 'title');
|
76 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html($_POST['order_by']) == 'title') && esc_html($_POST['asc_or_desc']) == 'asc') ? 'desc' : 'asc'); ?>');
|
77 |
spider_form_submit(event, 'manage_form')" href="">
|
78 |
<span><?php echo __("Title", "contact_form_maker"); ?></span><span class="sorting-indicator"></span></a>
|
79 |
</th>
|
80 |
+
<th class="sortable <?php if ($order_by == 'mail') { echo $order_class; } ?>">
|
81 |
<a onclick="spider_set_input_value('task', '');
|
82 |
spider_set_input_value('order_by', 'mail');
|
83 |
spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html($_POST['order_by']) == 'mail') && esc_html($_POST['asc_or_desc']) == 'asc') ? 'desc' : 'asc'); ?>');
|
84 |
spider_form_submit(event, 'manage_form')" href="">
|
85 |
+
<span><?php echo __("Email to", "contact_form_maker"); ?></span><span class="sorting-indicator"></span></a>
|
86 |
</th>
|
87 |
<th class="table_xxl_col"><?php echo __("Shortcode", "contact_form_maker"); ?></th>
|
88 |
<th class="table_xxl_col">PHP <?php echo __("function", "contact_form_maker"); ?></th>
|
146 |
$ids_string .= $row_data->id . ',';
|
147 |
}
|
148 |
}
|
149 |
+
else {
|
150 |
+
echo WDW_CFM_Library::no_items($header_title);
|
151 |
+
}
|
152 |
?>
|
153 |
</tbody>
|
154 |
</table>
|
contact-form-builder.php
CHANGED
@@ -3,14 +3,14 @@
|
|
3 |
* Plugin Name: Contact Form Builder
|
4 |
* Plugin URI: http://web-dorado.com/products/wordpress-contact-form-builder.html
|
5 |
* Description: Contact Form Builder is an advanced plugin to add contact forms into your website. It comes along with multiple default templates which can be customized.
|
6 |
-
* Version: 1.0.
|
7 |
* Author: WebDorado
|
8 |
* Author URI: http://web-dorado.com/
|
9 |
* License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
*/
|
11 |
define('WD_CFM_DIR', WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__)));
|
12 |
define('WD_CFM_URL', plugins_url(plugin_basename(dirname(__FILE__))));
|
13 |
-
define('WD_CFM_VERSION', '1.0.
|
14 |
|
15 |
// Plugin menu.
|
16 |
function contact_form_maker_options_panel() {
|
3 |
* Plugin Name: Contact Form Builder
|
4 |
* Plugin URI: http://web-dorado.com/products/wordpress-contact-form-builder.html
|
5 |
* Description: Contact Form Builder is an advanced plugin to add contact forms into your website. It comes along with multiple default templates which can be customized.
|
6 |
+
* Version: 1.0.45
|
7 |
* Author: WebDorado
|
8 |
* Author URI: http://web-dorado.com/
|
9 |
* License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
*/
|
11 |
define('WD_CFM_DIR', WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__)));
|
12 |
define('WD_CFM_URL', plugins_url(plugin_basename(dirname(__FILE__))));
|
13 |
+
define('WD_CFM_VERSION', '1.0.45');
|
14 |
|
15 |
// Plugin menu.
|
16 |
function contact_form_maker_options_panel() {
|
css/contact_form_maker_tables.css
CHANGED
@@ -258,7 +258,7 @@ div.wd_preview a {
|
|
258 |
|
259 |
.table_small_col {
|
260 |
text-align: center !important;
|
261 |
-
width:
|
262 |
}
|
263 |
|
264 |
.table_medium_col {
|
@@ -437,18 +437,20 @@ div.wd_preview a {
|
|
437 |
overflow-x: auto;
|
438 |
width: 99%;
|
439 |
}
|
|
|
440 |
.fm-tools-button {
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
|
|
452 |
}
|
453 |
|
454 |
.fm-total_rate, .fm-total_entries, .fm-total_views {
|
@@ -462,24 +464,25 @@ div.wd_preview a {
|
|
462 |
margin-right: 6px;
|
463 |
}
|
464 |
|
465 |
-
|
466 |
.fm-form-title {
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
}
|
|
|
478 |
.fm-reports {
|
479 |
-
|
480 |
display:inline-block;
|
481 |
vertical-align: middle;
|
482 |
}
|
|
|
483 |
#sbox-overlay {
|
484 |
z-index: 65555;
|
485 |
position: fixed;
|
@@ -506,18 +509,13 @@ div.wd_preview a {
|
|
506 |
z-index: 65556;
|
507 |
}
|
508 |
.submissions-actions {
|
509 |
-
|
510 |
-
|
511 |
}
|
512 |
|
513 |
.submissions-toolbar {
|
514 |
-
|
515 |
-
|
516 |
-
line-height: 100px;
|
517 |
-
}
|
518 |
-
|
519 |
-
.submissions-tools {
|
520 |
-
padding: 0 10px;
|
521 |
}
|
522 |
|
523 |
.submissions-tools select {
|
@@ -551,6 +549,7 @@ div.wd_preview a {
|
|
551 |
.fm-search-tools button {
|
552 |
margin-right:2px;
|
553 |
}
|
|
|
554 |
.fm-add-remove{
|
555 |
float:right;
|
556 |
}
|
@@ -1146,7 +1145,6 @@ button:focus {
|
|
1146 |
font-size: 15px;
|
1147 |
}
|
1148 |
|
1149 |
-
|
1150 |
.cfm_form {
|
1151 |
width: 95%;
|
1152 |
}
|
@@ -1157,4 +1155,12 @@ button:focus {
|
|
1157 |
line-height: 29px;
|
1158 |
margin: 0;
|
1159 |
padding: 9px 15px 4px 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1160 |
}
|
258 |
|
259 |
.table_small_col {
|
260 |
text-align: center !important;
|
261 |
+
width: 50px;
|
262 |
}
|
263 |
|
264 |
.table_medium_col {
|
437 |
overflow-x: auto;
|
438 |
width: 99%;
|
439 |
}
|
440 |
+
|
441 |
.fm-tools-button {
|
442 |
+
border: 1px solid;
|
443 |
+
border-radius: 0px;
|
444 |
+
text-align: left;
|
445 |
+
color: #0288C5;
|
446 |
+
height: 40px;
|
447 |
+
line-height: 40px;
|
448 |
+
display: inline-block;
|
449 |
+
padding: 0px 10px;
|
450 |
+
background: #F1F1F1;
|
451 |
+
border-color: #F1F1F1;
|
452 |
+
font-size: 15px;
|
453 |
+
vertical-align: middle;
|
454 |
}
|
455 |
|
456 |
.fm-total_rate, .fm-total_entries, .fm-total_views {
|
464 |
margin-right: 6px;
|
465 |
}
|
466 |
|
|
|
467 |
.fm-form-title {
|
468 |
+
text-align: left;
|
469 |
+
display: inline-block;
|
470 |
+
height: 46px;
|
471 |
+
line-height: 46px;
|
472 |
+
font-size: 28px;
|
473 |
+
font-weight: bold;
|
474 |
+
max-width: 450px;
|
475 |
+
overflow: hidden;
|
476 |
+
text-overflow: ellipsis;
|
477 |
+
white-space: nowrap;
|
478 |
}
|
479 |
+
|
480 |
.fm-reports {
|
481 |
+
text-align: left;
|
482 |
display:inline-block;
|
483 |
vertical-align: middle;
|
484 |
}
|
485 |
+
|
486 |
#sbox-overlay {
|
487 |
z-index: 65555;
|
488 |
position: fixed;
|
509 |
z-index: 65556;
|
510 |
}
|
511 |
.submissions-actions {
|
512 |
+
height: 70px;
|
513 |
+
line-height: 50px;
|
514 |
}
|
515 |
|
516 |
.submissions-toolbar {
|
517 |
+
background: #fff;
|
518 |
+
padding: 15px;
|
|
|
|
|
|
|
|
|
|
|
519 |
}
|
520 |
|
521 |
.submissions-tools select {
|
549 |
.fm-search-tools button {
|
550 |
margin-right:2px;
|
551 |
}
|
552 |
+
|
553 |
.fm-add-remove{
|
554 |
float:right;
|
555 |
}
|
1145 |
font-size: 15px;
|
1146 |
}
|
1147 |
|
|
|
1148 |
.cfm_form {
|
1149 |
width: 95%;
|
1150 |
}
|
1155 |
line-height: 29px;
|
1156 |
margin: 0;
|
1157 |
padding: 9px 15px 4px 0;
|
1158 |
+
}
|
1159 |
+
|
1160 |
+
.no-items .colspanchange {
|
1161 |
+
padding: 8px 10px;
|
1162 |
+
}
|
1163 |
+
|
1164 |
+
.submitterip_fc {
|
1165 |
+
width: 110px;
|
1166 |
}
|
framework/WDW_CFM_Library.php
CHANGED
@@ -412,6 +412,17 @@ class WDW_CFM_Library {
|
|
412 |
<?php
|
413 |
exit();
|
414 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
415 |
////////////////////////////////////////////////////////////////////////////////////////
|
416 |
// Private Methods //
|
417 |
////////////////////////////////////////////////////////////////////////////////////////
|
412 |
<?php
|
413 |
exit();
|
414 |
}
|
415 |
+
|
416 |
+
public static function no_items($title) {
|
417 |
+
$title = ($title != '') ? strtolower($title) : 'items';
|
418 |
+
ob_start();
|
419 |
+
?>
|
420 |
+
<tr class="no-items">
|
421 |
+
<td class="colspanchange" colspan="0"><?php echo sprintf(__('No %s found.', 'wds'), $title); ?></td>
|
422 |
+
</tr>
|
423 |
+
<?php
|
424 |
+
return ob_get_clean();
|
425 |
+
}
|
426 |
////////////////////////////////////////////////////////////////////////////////////////
|
427 |
// Private Methods //
|
428 |
////////////////////////////////////////////////////////////////////////////////////////
|
js/contact_form_maker_admin.js
CHANGED
@@ -1,3 +1,7 @@
|
|
|
|
|
|
|
|
|
|
1 |
function spider_select_value(obj) {
|
2 |
obj.focus();
|
3 |
obj.select();
|
1 |
+
jQuery(document).ready(function () {
|
2 |
+
jQuery(".cfm_form .colspanchange").attr("colspan", jQuery(".cfm_form table>thead>tr>th").length);
|
3 |
+
});
|
4 |
+
|
5 |
function spider_select_value(obj) {
|
6 |
obj.focus();
|
7 |
obj.select();
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== Form Builder ===
|
2 |
Contributors: webdorado
|
3 |
Donate link: http://web-dorado.com/products/wordpress-contact-form-builder.html
|
4 |
-
Tags: form, forms, contact form, contact forms, contact form plugin, contact forms plugin, forms plugin, Contact Form Builder, contact form manager, multiple contact forms, custom form, Contact Form Builder with recaptcha, contact form with google map, feedback form, feedback forms, contact us, wordpress contact form, email form, feedback, web form, contact me, email, contact manager, contact us form, admin, captcha, contact, database, email, javascript, jquery, page, plugin, survey, widget, custom form, forms creator, text input, validation, send copy, form with captcha, advanced form, recaptcha, contact form with captcha
|
5 |
Requires at least: 3.4
|
6 |
Tested up to: 4.5
|
7 |
-
Stable tag: 1.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -138,6 +138,9 @@ After downloading the ZIP file,
|
|
138 |
|
139 |
== Changelog ==
|
140 |
|
|
|
|
|
|
|
141 |
= 1.0.44 =
|
142 |
Changed: Featured plugins page.
|
143 |
|
1 |
=== Form Builder ===
|
2 |
Contributors: webdorado
|
3 |
Donate link: http://web-dorado.com/products/wordpress-contact-form-builder.html
|
4 |
+
Tags: form, forms, contact form, contact forms, contact form plugin, contact forms plugin, forms plugin, Contact Form Builder, contact form manager, multiple contact forms, custom form, Contact Form Builder with recaptcha, contact form with google map, feedback form, feedback forms, contact us, wordpress contact form, email form, feedback, web form, contact me, email, contact manager, contact us form, admin, captcha, contact, database, email, javascript, jquery, page, plugin, survey, widget, custom form, forms creator, text input, validation, send copy, form with captcha, advanced form, recaptcha, contact form with captcha
|
5 |
Requires at least: 3.4
|
6 |
Tested up to: 4.5
|
7 |
+
Stable tag: 1.0.45
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
138 |
|
139 |
== Changelog ==
|
140 |
|
141 |
+
= 1.0.45 =
|
142 |
+
Changed: Styles improvements on admin pages.
|
143 |
+
|
144 |
= 1.0.44 =
|
145 |
Changed: Featured plugins page.
|
146 |
|