Saphali Woocommerce Russian - Version 1.4

Version Description

  • (select, checkbox, textarea).
Download this release

Release Info

Developer Saphali
Plugin Icon wp plugin Saphali Woocommerce Russian
Version 1.4
Comparing to
See all releases

Code changes from version 1.3.8.1 to 1.4

languages/woocommerce-ru_RU.mo CHANGED
Binary file
languages/woocommerce-ru_RU.po CHANGED
@@ -3,7 +3,7 @@ msgstr ""
3
  "Project-Id-Version: WooCommerce theme v1.0.0\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: \n"
6
- "PO-Revision-Date: 2013-12-05 17:28+0200\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
3
  "Project-Id-Version: WooCommerce theme v1.0.0\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: 2013-12-14 08:54+0200\n"
7
  "Last-Translator: \n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
readme.txt CHANGED
@@ -2,12 +2,12 @@
2
  Contributors: Saphali
3
  Plugin Name: Saphali Woocommerce Russian
4
  Plugin URI: http://saphali.com/saphali-woocommerce-plugin-wordpress
5
- Donate link: http://saphali.com/
6
  Tags: woocommerce, woo commerce russian, russian ruble, ukrainian hryvnia, mod, manadger filds checkout
7
  Requires at least: 3.3 or higher
8
- Tested up to: 3.7.1
9
- Stable tag: 1.3.8.1
10
- Version: 1.3.8.1
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
13
 
@@ -57,11 +57,16 @@ QIWI, Приват24, LiqPay, WebMoney, Яндекс.Деньги, Интерк
57
  == Screenshots ==
58
 
59
  1. Улучшенная русская локализация Woocommerce. В общий список валют добавлены — Украинская гривна (грн.), Русский рубль (руб.), Белорусский рубль (руб.), Armenian dram (Դրամ), Киргизский сом (сом) и Казахстанский тенге (тңг)
60
- 2. Управление полями на странице заказа и на странице профиля. Функция позволяет настроить заказную форму регистрации, чтобы настроить магазин на упрощенение оформления заказа. Вы можете сделать некоторые поля необязательными при регистрации/оформленнии заказа либо удалить их полностью.
61
- 3. Управление количеством колонок в каталоге товаров и рубриках.
 
 
62
 
63
  == Changelog ==
64
 
 
 
 
65
  = 1.3.8.1 =
66
  * Поля, которые имеют пустые заголовки не выводятся в письме, в заказах
67
 
@@ -96,7 +101,7 @@ QIWI, Приват24, LiqPay, WebMoney, Яндекс.Деньги, Интерк
96
 
97
  = 1.3.3 =
98
  * Мелкие исправления по локализации под WooCommerce
99
- * Добавлена поддежка валюты русского рубля в виде символа.
100
 
101
  = 1.3.2.1 =
102
  * Мелкие исправления по локализации под WooCommerce
@@ -157,6 +162,12 @@ QIWI, Приват24, LiqPay, WebMoney, Яндекс.Деньги, Интерк
157
 
158
  == Upgrade Notice ==
159
 
 
 
 
 
 
 
160
  = 1.3.8 =
161
  * Добавлен узбекский сум
162
 
2
  Contributors: Saphali
3
  Plugin Name: Saphali Woocommerce Russian
4
  Plugin URI: http://saphali.com/saphali-woocommerce-plugin-wordpress
5
+ Donate link: http://saphali.com/vznos
6
  Tags: woocommerce, woo commerce russian, russian ruble, ukrainian hryvnia, mod, manadger filds checkout
7
  Requires at least: 3.3 or higher
8
+ Tested up to: 3.8
9
+ Stable tag: 1.4
10
+ Version: 1.4
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
13
 
57
  == Screenshots ==
58
 
59
  1. Улучшенная русская локализация Woocommerce. В общий список валют добавлены — Украинская гривна (грн.), Русский рубль (руб.), Белорусский рубль (руб.), Armenian dram (Դրամ), Киргизский сом (сом) и Казахстанский тенге (тңг)
60
+ 2. Управление полями на странице заказа и на странице профиля. Функция позволяет настроить заказную форму регистрации, чтобы настроить магазин на упрощение оформления заказа. Вы можете сделать некоторые поля необязательными при регистрации/оформлении заказа либо удалить их полностью.
61
+ 3. Управление полями (перемещение в нужную позицию).
62
+ 4. Как выглядит на странице.
63
+ 5. Управление количеством колонок в каталоге товаров и рубриках.
64
 
65
  == Changelog ==
66
 
67
+ = 1.4 =
68
+ * В управлении полями реализована возможность использовать различные типы полей (select, checkbox, textarea).
69
+
70
  = 1.3.8.1 =
71
  * Поля, которые имеют пустые заголовки не выводятся в письме, в заказах
72
 
101
 
102
  = 1.3.3 =
103
  * Мелкие исправления по локализации под WooCommerce
104
+ * Добавлена поддержка валюты русского рубля в виде символа.
105
 
106
  = 1.3.2.1 =
107
  * Мелкие исправления по локализации под WooCommerce
162
 
163
  == Upgrade Notice ==
164
 
165
+ = 1.4 =
166
+ * В управлении полями реализована возможность использовать различные типы полей (select, checkbox, textarea).
167
+
168
+ = 1.3.8.1 =
169
+ * Поля, которые имеют пустые заголовки не выводятся в письме, в заказах
170
+
171
  = 1.3.8 =
172
  * Добавлен узбекский сум
173
 
saphali-woocommerce-lite.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Saphali Woocommerce Russian
4
  Plugin URI: http://saphali.com/saphali-woocommerce-plugin-wordpress
5
  Description: Saphali Woocommerce Russian - это бесплатный вордпресс плагин, который добавляет набор дополнений к интернет-магазину на Woocommerce.
6
- Version: 1.3.8.1
7
  Author: Saphali
8
  Author URI: http://saphali.com/
9
  */
@@ -30,7 +30,7 @@ Author URI: http://saphali.com/
30
  ------------------------------------------------------------ */
31
  // Подключение валюты и локализации
32
  define('SAPHALI_PLUGIN_DIR_URL',plugin_dir_url(__FILE__));
33
- define('SAPHALI_LITE_VERSION', '1.3.8.1' );
34
  define('SAPHALI_PLUGIN_DIR_PATH',plugin_dir_path(__FILE__));
35
  class saphali_lite {
36
  var $email_order_id;
@@ -238,28 +238,33 @@ Author URI: http://saphali.com/
238
  }
239
  else $f = $woocommerce->checkout;
240
  if($_POST){
241
- if($_POST["reset"] != 'All') {
242
  // Управление новыми полями
243
 
244
- if(is_array($_POST["billing"]["new_fild"])) {
245
  foreach($_POST["billing"]["new_fild"] as $k_nf => $v_nf) {
246
- if($k_nf == 'name')
247
- foreach($v_nf as $v_nf_f)
248
- $new_fild[] = $v_nf_f;
249
- else {
250
- foreach($v_nf as $k_nf_f => $v_nf_f) {
251
- if($k_nf == 'class') {
252
- $v_nf_f = array ( $v_nf_f );
253
- $addFild["billing"][$new_fild[$k_nf_f]][$k_nf] = $v_nf_f;
254
- } else $addFild["billing"][$new_fild[$k_nf_f]][$k_nf] = $v_nf_f;
 
 
255
  //$addFild["billing"][$new_fild[$k_nf_f]]['add_new'] = true;
256
  }
 
 
 
257
  }
258
  }
259
  unset($_POST["billing"]["new_fild"]);
260
  unset($new_fild);
261
  }
262
- if(is_array($_POST["shipping"]["new_fild"])) {
263
  foreach($_POST["shipping"]["new_fild"] as $k_nf => $v_nf) {
264
  if($k_nf == 'name')
265
  foreach($v_nf as $v_nf_f)
@@ -277,7 +282,7 @@ Author URI: http://saphali.com/
277
  unset($_POST["shipping"]["new_fild"]);
278
  unset($new_fild);
279
  }
280
- if(is_array($_POST["order"]["new_fild"])) {
281
  foreach($_POST["order"]["new_fild"] as $k_nf => $v_nf) {
282
  if($k_nf == 'name')
283
  foreach($v_nf as $v_nf_f)
@@ -304,10 +309,10 @@ Author URI: http://saphali.com/
304
 
305
  foreach($filds["billing"] as $key_post => $value_post) {
306
 
307
- if( !isset($f->checkout_fields["billing"][$key_post]['type']) ) unset($filds["billing"][$key_post]['type'], $value_post["type"]);
308
 
309
 
310
- if($filds["billing"][$key_post]['public'] != 'on') {
311
  $filds_new["billing"][$filds["billing"][$key_post]["order"]][$key_post]["public"] = false;
312
  $fild_remove_filter["billing"][] = $key_post;
313
  } else {$filds_new["billing"][$filds["billing"][$key_post]["order"]][$key_post]["public"] = true;}
@@ -426,7 +431,7 @@ Author URI: http://saphali.com/
426
  ?>
427
  <div class="clear"></div>
428
  <h3 class="nav-tab-wrapper woo-nav-tab-wrapper" style="text-align: center;">Управление полями на странице заказа и на странице профиля</h3>
429
-
430
  <h2 align="center">Реквизиты оплаты</h2>
431
  <form action="" method="post">
432
  <table class="wp-list-table widefat fixed posts" cellspacing="0">
@@ -437,20 +442,22 @@ Author URI: http://saphali.com/
437
  <th width="130px">Текст в поле</th>
438
  <th width="35px">Clear<img class="help_tip" data-tip="Указывает на то, что следующее поле за текущим, будет начинаться с новой строки." src="<?php bloginfo('wpurl');?>/wp-content/plugins/woocommerce/assets/images/help.png" /> </th>
439
  <th width="130px">Класс поля<img class="help_tip" data-tip="<h3 style='margin:0;padding:0'>Задает стиль текущего поля</h3><ul style='text-align: left;'><li><span style='color: #000'>form-row-first</span>&nbsp;&ndash;&nbsp;первый в строке;</li><li><span style='color: #000'>form-row-last</span>&nbsp;&ndash;&nbsp;последний в строке.</li></ul><hr /><span style='color: #000'>ЕСЛИ ОСТАВИТЬ ПУСТЫМ</span>, то поле будет отображаться на всю ширину. Соответственно, в предыдущем поле (которое выше) нужно отметить &laquo;Clear&raquo;." src="<?php bloginfo('wpurl');?>/wp-content/plugins/woocommerce/assets/images/help.png" /></th>
440
- <th width="40px">Обя&shy;за&shy;те&shy;ль&shy;ное</th>
 
441
 
442
- <th width="40px">Опу&shy;бли&shy;ко&shy;вать</th>
443
-
444
- <th width="65px">Удалить/До&shy;ба&shy;вить</th>
445
- </tr>
446
- </thead>
447
- <tfoot>
448
- <tr>
449
- <th>Название</th>
450
- <th>Заголовок</th>
451
- <th>Текст в поле</th>
452
- <th width="35px">Clear<img class="help_tip" data-tip="Указывает на то, что следующее поле за текущим, будет начинаться с новой строки." src="<?php bloginfo('wpurl');?>/wp-content/plugins/woocommerce/assets/images/help.png" /> </th>
453
- <th>Класс поля</th>
 
454
  <th width="40px">Обя&shy;за&shy;те&shy;ль&shy;ное</th>
455
 
456
  <th width="40px">Опу&shy;бли&shy;ко&shy;вать</th>
@@ -471,23 +478,33 @@ Author URI: http://saphali.com/
471
  ?>
472
  <tr>
473
  <td> <input disabled value='<?php echo $key?>' type="text" name="billing[<?php echo $key?>][name]" /></td>
474
- <td><input value='<?php echo $value['label']?>' type="text" name="billing[<?php echo $key?>][label]" /><input value='<?php echo $value['type']?>' type="hidden" name="billing[<?php echo $key?>][type]" /></td>
475
- <td><input value='<?php echo $value['placeholder']?>' type="text" name="billing[<?php echo $key?>][placeholder]" /></td>
 
 
 
 
 
 
 
 
 
 
476
  <td><input <?php if($value['clear']) echo 'checked'?> class="<?php echo $value['clear']?>" type="checkbox" name="billing[<?php echo $key?>][clear]" /></td>
477
  <td><?php if(is_array($value['class'])) { foreach($value['class'] as $v_class) { ?>
478
  <input value='<?php echo $v_class;?>' type="text" name="billing[<?php echo $key?>][class][]" /> <?php } } else { ?>
479
  <input value='' type="text" name="billing[<?php echo $key?>][class][]" /> <?php
480
  } ?></td>
 
 
 
 
 
 
481
  <td><input <?php if($value['required']) echo 'checked'?> type="checkbox" name="billing[<?php echo $key?>][required]" /></td>
482
  <td><input <?php if($value['public']) echo 'checked';?> type="checkbox" name="billing[<?php echo $key?>][public]" /></td>
483
 
484
  <td><input rel="sort_order" id="order_count" type="hidden" name="billing[<?php echo $key?>][order]" value="<?php echo $count?>" />
485
- <?php
486
- if( isset($value['options']) && is_array($value['options']) ) {
487
- foreach($value['options'] as $key_option => $val_option) {?>
488
- <input id="options" type="hidden" name="billing[<?php echo $key?>][options][<?php echo $key_option; ?>]" value="<?php echo $val_option?>" />
489
- <?php }
490
- } ?>
491
  <input type="button" class="button" id="billing_delete" value="Удалить -"/></td>
492
  </tr>
493
  <?php $count++;
@@ -678,9 +695,38 @@ Author URI: http://saphali.com/
678
  'delay' : 200
679
  });
680
  jQuery('input[value="billing_booking_delivery_t"]').parent().parent().hide();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
681
  jQuery('.button#billing').live('click',function() {
682
  var obj = jQuery(this).parent().parent();
683
- obj.html('<td><input value="billing_new_fild'+(parseInt(obj.parent().find('tr td input#order_count:last').val(),10)+1)+'" type="text" name="billing[new_fild][name][]" /></td><td><input value="" type="text" name="billing[new_fild][label][]" /></td><td><input value="" type="text" name="billing[new_fild][placeholder][]" /></td><td><input type="checkbox" name="billing[new_fild][clear][]" /></td><td><input value="" type="text" name="billing[new_fild][class][]" /></td><td><input checked type="checkbox" name="billing[new_fild][required][]" /></td><td><input checked type="checkbox" name="billing[new_fild][public][]" /></td><td><input id="order_count" rel="sort_order" type="hidden" name="billing[new_fild][order][]" value="'+(parseInt(obj.parent().find('tr td input#order_count:last').val(),10)+1)+'" /><input type="button" class="button" id="billing_delete" value="Удалить -"/></td>');
684
  obj.removeClass('nodrop nodrag');
685
  obj.after('<tr class="nodrop nodrag"><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td><input type="button" class="button" id="billing" value="Добавить +"/></td></tr>');
686
  });
@@ -1098,9 +1144,9 @@ Author URI: http://saphali.com/
1098
  add_action('plugins_loaded', 'woocommerce_lang_s_l', 0);
1099
  if ( ! function_exists( 'woocommerce_lang_s_l' ) ) {
1100
  function woocommerce_lang_s_l() {
1101
- new saphali_lite();
1102
  if( is_admin() )
1103
- add_action( 'admin_enqueue_scripts', array('saphali_lite','admin_enqueue_scripts_page_saphali') );
1104
  }
1105
  }
1106
  //END
3
  Plugin Name: Saphali Woocommerce Russian
4
  Plugin URI: http://saphali.com/saphali-woocommerce-plugin-wordpress
5
  Description: Saphali Woocommerce Russian - это бесплатный вордпресс плагин, который добавляет набор дополнений к интернет-магазину на Woocommerce.
6
+ Version: 1.4
7
  Author: Saphali
8
  Author URI: http://saphali.com/
9
  */
30
  ------------------------------------------------------------ */
31
  // Подключение валюты и локализации
32
  define('SAPHALI_PLUGIN_DIR_URL',plugin_dir_url(__FILE__));
33
+ define('SAPHALI_LITE_VERSION', '1.4' );
34
  define('SAPHALI_PLUGIN_DIR_PATH',plugin_dir_path(__FILE__));
35
  class saphali_lite {
36
  var $email_order_id;
238
  }
239
  else $f = $woocommerce->checkout;
240
  if($_POST){
241
+ if(@$_POST["reset"] != 'All') {
242
  // Управление новыми полями
243
 
244
+ if(@is_array($_POST["billing"]["new_fild"])) {
245
  foreach($_POST["billing"]["new_fild"] as $k_nf => $v_nf) {
246
+ if($k_nf == 'name') {
247
+ foreach($v_nf as $v_nf_f) {
248
+ $new_fild = $v_nf_f;
249
+ }
250
+ }
251
+ else {
252
+ foreach($v_nf as $k_nf_f => $v_nf_f) {
253
+ if($k_nf == 'class' ) {
254
+ $v_nf_f = array ( $v_nf_f );
255
+ $addFild["billing"][$new_fild][$k_nf] = $v_nf_f;
256
+ } else $addFild["billing"][$new_fild][$k_nf] = $v_nf_f;
257
  //$addFild["billing"][$new_fild[$k_nf_f]]['add_new'] = true;
258
  }
259
+ if($k_nf == 'type' && !is_array($v_nf) || $k_nf == 'options') {
260
+ $addFild["billing"][$new_fild][$k_nf] = $v_nf;
261
+ }
262
  }
263
  }
264
  unset($_POST["billing"]["new_fild"]);
265
  unset($new_fild);
266
  }
267
+ if(@is_array($_POST["shipping"]["new_fild"])) {
268
  foreach($_POST["shipping"]["new_fild"] as $k_nf => $v_nf) {
269
  if($k_nf == 'name')
270
  foreach($v_nf as $v_nf_f)
282
  unset($_POST["shipping"]["new_fild"]);
283
  unset($new_fild);
284
  }
285
+ if(@is_array($_POST["order"]["new_fild"])) {
286
  foreach($_POST["order"]["new_fild"] as $k_nf => $v_nf) {
287
  if($k_nf == 'name')
288
  foreach($v_nf as $v_nf_f)
309
 
310
  foreach($filds["billing"] as $key_post => $value_post) {
311
 
312
+ if( !isset($f->checkout_fields["billing"][$key_post]['type']) && $filds["billing"][$key_post]['type'] != 'select' && $filds["billing"][$key_post]['type'] != 'checkbox' && $filds["billing"][$key_post]['type'] != 'textarea' ) unset($filds["billing"][$key_post]['type'], $value_post["type"]);
313
 
314
 
315
+ if(@$filds["billing"][$key_post]['public'] != 'on') {
316
  $filds_new["billing"][$filds["billing"][$key_post]["order"]][$key_post]["public"] = false;
317
  $fild_remove_filter["billing"][] = $key_post;
318
  } else {$filds_new["billing"][$filds["billing"][$key_post]["order"]][$key_post]["public"] = true;}
431
  ?>
432
  <div class="clear"></div>
433
  <h3 class="nav-tab-wrapper woo-nav-tab-wrapper" style="text-align: center;">Управление полями на странице заказа и на странице профиля</h3>
434
+ <?php if($_POST && @$_POST["reset"] != 'All') { ?><div class="updated" id="message"><p>Настройки сохранены</p></div><?php } ?>
435
  <h2 align="center">Реквизиты оплаты</h2>
436
  <form action="" method="post">
437
  <table class="wp-list-table widefat fixed posts" cellspacing="0">
442
  <th width="130px">Текст в поле</th>
443
  <th width="35px">Clear<img class="help_tip" data-tip="Указывает на то, что следующее поле за текущим, будет начинаться с новой строки." src="<?php bloginfo('wpurl');?>/wp-content/plugins/woocommerce/assets/images/help.png" /> </th>
444
  <th width="130px">Класс поля<img class="help_tip" data-tip="<h3 style='margin:0;padding:0'>Задает стиль текущего поля</h3><ul style='text-align: left;'><li><span style='color: #000'>form-row-first</span>&nbsp;&ndash;&nbsp;первый в строке;</li><li><span style='color: #000'>form-row-last</span>&nbsp;&ndash;&nbsp;последний в строке.</li></ul><hr /><span style='color: #000'>ЕСЛИ ОСТАВИТЬ ПУСТЫМ</span>, то поле будет отображаться на всю ширину. Соответственно, в предыдущем поле (которое выше) нужно отметить &laquo;Clear&raquo;." src="<?php bloginfo('wpurl');?>/wp-content/plugins/woocommerce/assets/images/help.png" /></th>
445
+ <th width="40px">Тип поля</th>
446
+ <th width="40px">Обя&shy;за&shy;те&shy;ль&shy;ное</th>
447
 
448
+ <th width="40px">Опу&shy;бли&shy;ко&shy;вать</th>
449
+
450
+ <th width="65px">Удалить/До&shy;ба&shy;вить</th>
451
+ </tr>
452
+ </thead>
453
+ <tfoot>
454
+ <tr>
455
+ <th>Название</th>
456
+ <th>Заголовок</th>
457
+ <th>Текст в поле</th>
458
+ <th width="35px">Clear<img class="help_tip" data-tip="Указывает на то, что следующее поле за текущим, будет начинаться с новой строки." src="<?php bloginfo('wpurl');?>/wp-content/plugins/woocommerce/assets/images/help.png" /> </th>
459
+ <th>Класс поля</th>
460
+ <th width="40px">Тип поля</th>
461
  <th width="40px">Обя&shy;за&shy;те&shy;ль&shy;ное</th>
462
 
463
  <th width="40px">Опу&shy;бли&shy;ко&shy;вать</th>
478
  ?>
479
  <tr>
480
  <td> <input disabled value='<?php echo $key?>' type="text" name="billing[<?php echo $key?>][name]" /></td>
481
+ <td><input value='<?php echo $value['label']?>' type="text" name="billing[<?php echo $key?>][label]" /></td>
482
+ <td<?php if($value['type'] == 'select') {echo ' class="option-area"';} ?>><?php if($value['type'] != 'select') { ?><input value='<?php echo $value['placeholder']?>' type="text" name="billing[<?php echo $key?>][placeholder]" /><?php } else {
483
+ if( isset($value['options']) && is_array($value['options']) ) {
484
+ foreach($value['options'] as $key_option => $val_option) {?>
485
+ <span><input id="options" type="text" name="billing[<?php echo $key?>][options][<?php echo $key_option; ?>]" value="<?php echo $val_option?>" /> <span class="delete-option" style="cursor:pointer;border:1px solid">Удалить</span></span><br />
486
+
487
+ <?php } ?>
488
+ <div class="button add_option" rel="<?php echo $key; ?>">Добавить еще</div>
489
+ <?php
490
+ }
491
+
492
+ } ?></td>
493
  <td><input <?php if($value['clear']) echo 'checked'?> class="<?php echo $value['clear']?>" type="checkbox" name="billing[<?php echo $key?>][clear]" /></td>
494
  <td><?php if(is_array($value['class'])) { foreach($value['class'] as $v_class) { ?>
495
  <input value='<?php echo $v_class;?>' type="text" name="billing[<?php echo $key?>][class][]" /> <?php } } else { ?>
496
  <input value='' type="text" name="billing[<?php echo $key?>][class][]" /> <?php
497
  } ?></td>
498
+ <td>
499
+ Select <input <?php if($value['type'] == 'select') echo 'checked'?> type="radio" name="billing[<?php echo $key?>][type]" value="select" /><br />
500
+ Checkbox <input <?php if($value['type'] == 'checkbox') echo 'checked'?> type="radio" name="billing[<?php echo $key?>][type]" value="checkbox" /><br />
501
+ Textarea <input <?php if($value['type'] == 'textarea') echo 'checked'?> type="radio" name="billing[<?php echo $key?>][type]" value="textarea" /><br />
502
+ <?php echo (!$value['type'] || $value['type'] == 'select'|| $value['type'] == 'checkbox'|| $value['type'] == 'textarea') ? 'Text' : $value['type']; ?> <input <?php if($value['type'] == $value['type'] && $value['type'] != 'select'&& $value['type'] != 'textarea'&& $value['type'] != 'checkbox') echo 'checked'?> type="radio" name="billing[<?php echo $key?>][type]" value="<?php if($value['type'] != 'select' && $value['type'] != 'textarea'&& $value['type'] != 'checkbox') echo $value['type']; ?>" />
503
+ </td>
504
  <td><input <?php if($value['required']) echo 'checked'?> type="checkbox" name="billing[<?php echo $key?>][required]" /></td>
505
  <td><input <?php if($value['public']) echo 'checked';?> type="checkbox" name="billing[<?php echo $key?>][public]" /></td>
506
 
507
  <td><input rel="sort_order" id="order_count" type="hidden" name="billing[<?php echo $key?>][order]" value="<?php echo $count?>" />
 
 
 
 
 
 
508
  <input type="button" class="button" id="billing_delete" value="Удалить -"/></td>
509
  </tr>
510
  <?php $count++;
695
  'delay' : 200
696
  });
697
  jQuery('input[value="billing_booking_delivery_t"]').parent().parent().hide();
698
+ jQuery('.delete-option').live('click',function() {
699
+ jQuery(this).parent().remove();
700
+ });
701
+ jQuery('.button.add_option').live('click',function() {
702
+ jQuery(this).before(' <span><br /><input type="text" id="options" value="" name="billing['+jQuery(this).attr('rel')+'][options][option-'+ (jQuery(this).parent().find('input').length + 1) +']"/><span class="delete-option" style="cursor:pointer;border:1px solid">Удалить</span></span>');
703
+ });
704
+ jQuery('input[type="radio"]').live('click',function() {
705
+ if( jQuery(this).val() == 'select' || jQuery(this).val() == 'radio') {
706
+ jQuery(this).parent().parent().find('td').css('border-bottom', 'none');
707
+ jQuery(this).parent().parent().addClass('parrent_td_option'+jQuery('.button.add_option').length);
708
+ if('billing[new_fild][name][]' != jQuery(this).parent().parent().find('td:first input').attr('name') )
709
+ jQuery(this).parent().parent().after('<tr style="border-top:0" class="tr_td_option'+jQuery('.button.add_option').length +'" ><td style="border-top:0;padding-left: 72%;" colspan="9"> <span><input id="options" type="text" value="" name="billing['+jQuery(this).parent().parent().find('td:first input').val()+'][options][option-1]"/><span class="delete-option" style="cursor:pointer;border:1px solid">Удалить</span></span> <div class="button add_option" rel="'+jQuery(this).parent().parent().find('td:first input').val()+'">Добавить еще</div></td></tr>');
710
+ else jQuery(this).parent().parent().after('<tr style="border-top:0" class="tr_td_option'+jQuery('.button.add_option').length +'" ><td style="border-top:0;padding-left: 72%;" colspan="9"> <span><input id="options" type="text" value="" name="billing[new_fild][options][option-1]"/><span class="delete-option" style="cursor:pointer;border:1px solid">Удалить</span></span> <div class="button add_option" rel="new_fild">Добавить еще</div></td></tr>');
711
+ } else {
712
+ if(jQuery(this).parent().parent().find('td').attr('style') != '') {
713
+ jQuery(this).parent().parent().find('td').attr('style', '');
714
+ var text = jQuery(this).parent().parent().attr('class');//parrent_td_option
715
+ text = text.replace(/parrent_td_option/g,'');
716
+ jQuery('tr.tr_td_option'+text).remove();
717
+ jQuery(this).parent().parent().attr('class', '');
718
+ }
719
+ }
720
+ });
721
+
722
+ jQuery('input#options').live('blur', function() {
723
+ var text = jQuery(this).attr('name');
724
+ text = text.replace(/\[options\]\[(.*)\]/g,'[options]['+ jQuery(this).val() +']');
725
+ jQuery(this).attr('name', text);
726
+ });
727
  jQuery('.button#billing').live('click',function() {
728
  var obj = jQuery(this).parent().parent();
729
+ obj.html('<td><input value="billing_new_fild'+(parseInt(obj.parent().find('tr td input#order_count:last').val(),10)+1)+'" type="text" name="billing[new_fild][name][]" /></td><td><input value="" type="text" name="billing[new_fild][label][]" /></td><td><input value="" type="text" name="billing[new_fild][placeholder][]" /></td><td><input type="checkbox" name="billing[new_fild][clear][]" /></td><td><input value="" type="text" name="billing[new_fild][class][]" /></td><td> Select <input type="radio" value="select" name="billing[new_fild][type]"><br>Radio <input type="radio" value="radio" name="billing[new_fild][type]"><br>Checkbox <input type="radio" value="checkbox" name="billing[new_fild][type]"><br> Textarea <input type="radio" value="textarea" name="billing[new_fild][type]"><br> Text <input type="radio" value="" name="billing[new_fild][type]" checked="checked"></td><td><input checked type="checkbox" name="billing[new_fild][required][]" /></td><td><input checked type="checkbox" name="billing[new_fild][public][]" /></td><td><input id="order_count" rel="sort_order" type="hidden" name="billing[new_fild][order][]" value="'+(parseInt(obj.parent().find('tr td input#order_count:last').val(),10)+1)+'" /><input type="button" class="button" id="billing_delete" value="Удалить -"/></td>');
730
  obj.removeClass('nodrop nodrag');
731
  obj.after('<tr class="nodrop nodrag"><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td><input type="button" class="button" id="billing" value="Добавить +"/></td></tr>');
732
  });
1144
  add_action('plugins_loaded', 'woocommerce_lang_s_l', 0);
1145
  if ( ! function_exists( 'woocommerce_lang_s_l' ) ) {
1146
  function woocommerce_lang_s_l() {
1147
+ $lite = new saphali_lite();
1148
  if( is_admin() )
1149
+ add_action( 'admin_enqueue_scripts', array( $lite, 'admin_enqueue_scripts_page_saphali' ) );
1150
  }
1151
  }
1152
  //END
screenshot-2.png CHANGED
Binary file
screenshot-3.png CHANGED
Binary file
screenshot-4.png ADDED
Binary file
screenshot-5.png ADDED
Binary file