Advanced Custom Fields - Version 3.2.2

Version Description

  • [Fixed] Fix layout bug: Nested repeaters of different layouts
  • [Fixed] Fix strip slashes bug
  • [Fixed] Fix nested repeater bug - http://www.advancedcustomfields.com/support/discussion/2068/latest-update-broken-editing-environment-
  • [Fixed] Test / Fix add multiple images to repeater
Download this release

Release Info

Developer elliotcondon
Plugin Icon 128x128 Advanced Custom Fields
Version 3.2.2
Comparing to
See all releases

Code changes from version 3.2.0 to 3.2.2

acf.php CHANGED
@@ -3,15 +3,13 @@
3
  Plugin Name: Advanced Custom Fields
4
  Plugin URI: http://www.advancedcustomfields.com/
5
  Description: Fully customise WordPress edit screens with powerful fields. Boasting a professional interface and a powerfull API, it’s a must have for any web developer working with WordPress.Field types include: Wysiwyg, text, textarea, image, file, select, checkbox, page link, post object, date picker, color picker and more!
6
- Version: 3.2.0
7
  Author: Elliot Condon
8
  Author URI: http://www.elliotcondon.com/
9
  License: GPL
10
  Copyright: Elliot Condon
11
  */
12
 
13
- //ini_set('error_reporting', E_ALL);
14
-
15
  include('core/api.php');
16
 
17
  $acf = new Acf();
@@ -46,7 +44,7 @@ class Acf
46
  $this->dir = plugins_url('',__FILE__);
47
  $this->siteurl = get_bloginfo('url');
48
  $this->wpadminurl = admin_url();
49
- $this->version = '3.2.0';
50
  $this->upgrade_version = '3.1.8'; // this is the latest version which requires an upgrade
51
  $this->cache = array(); // basic array cache to hold data throughout the page load
52
 
3
  Plugin Name: Advanced Custom Fields
4
  Plugin URI: http://www.advancedcustomfields.com/
5
  Description: Fully customise WordPress edit screens with powerful fields. Boasting a professional interface and a powerfull API, it’s a must have for any web developer working with WordPress.Field types include: Wysiwyg, text, textarea, image, file, select, checkbox, page link, post object, date picker, color picker and more!
6
+ Version: 3.2.2
7
  Author: Elliot Condon
8
  Author URI: http://www.elliotcondon.com/
9
  License: GPL
10
  Copyright: Elliot Condon
11
  */
12
 
 
 
13
  include('core/api.php');
14
 
15
  $acf = new Acf();
44
  $this->dir = plugins_url('',__FILE__);
45
  $this->siteurl = get_bloginfo('url');
46
  $this->wpadminurl = admin_url();
47
+ $this->version = '3.2.2';
48
  $this->upgrade_version = '3.1.8'; // this is the latest version which requires an upgrade
49
  $this->cache = array(); // basic array cache to hold data throughout the page load
50
 
core/actions/init.php CHANGED
@@ -14,9 +14,10 @@ $this->setup_fields();
14
  */
15
 
16
  $version = get_option('acf_version', false);
17
- if($version)
 
18
  {
19
- if(version_compare($version,$this->upgrade_version) < 0)
20
  {
21
  $this->admin_message('<p>' . __("Advanced Custom Fields",'acf') . 'v' . $this->version . ' ' . __("requires a database upgrade",'acf') .' (<a class="thickbox" href="' . admin_url() . 'plugin-install.php?tab=plugin-information&plugin=advanced-custom-fields&section=changelog&TB_iframe=true&width=640&height=559">' . __("why?",'acf') .'</a>). ' . __("Please",'acf') .' <a href="http://codex.wordpress.org/Backing_Up_Your_Database">' . __("backup your database",'acf') .'</a>, '. __("then click",'acf') . ' <a href="' . admin_url() . 'edit.php?post_type=acf&page=acf-upgrade" class="button">' . __("Upgrade Database",'acf') . '</a></p>');
22
 
@@ -150,17 +151,17 @@ function acf_post_updated_messages( $messages )
150
 
151
  $messages['acf'] = array(
152
  0 => '', // Unused. Messages start at index 1.
153
- 1 => __('Field group updated.'),
154
- 2 => __('Custom field updated.'),
155
- 3 => __('Custom field deleted.'),
156
- 4 => __('Field group updated.'),
157
  /* translators: %s: date and time of the revision */
158
- 5 => isset($_GET['revision']) ? sprintf( __('Field group restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
159
- 6 => __('Field group published.'),
160
- 7 => __('Field group saved.'),
161
- 8 => __('Field group submitted.'),
162
- 9 => __('Field group scheduled for.'),
163
- 10 => __('Field group draft updated.'),
164
  );
165
 
166
  return $messages;
14
  */
15
 
16
  $version = get_option('acf_version', false);
17
+
18
+ if( !$version )
19
  {
20
+ if( $version < $this->upgrade_version )
21
  {
22
  $this->admin_message('<p>' . __("Advanced Custom Fields",'acf') . 'v' . $this->version . ' ' . __("requires a database upgrade",'acf') .' (<a class="thickbox" href="' . admin_url() . 'plugin-install.php?tab=plugin-information&plugin=advanced-custom-fields&section=changelog&TB_iframe=true&width=640&height=559">' . __("why?",'acf') .'</a>). ' . __("Please",'acf') .' <a href="http://codex.wordpress.org/Backing_Up_Your_Database">' . __("backup your database",'acf') .'</a>, '. __("then click",'acf') . ' <a href="' . admin_url() . 'edit.php?post_type=acf&page=acf-upgrade" class="button">' . __("Upgrade Database",'acf') . '</a></p>');
23
 
151
 
152
  $messages['acf'] = array(
153
  0 => '', // Unused. Messages start at index 1.
154
+ 1 => __('Field group updated.', 'acf'),
155
+ 2 => __('Custom field updated.', 'acf'),
156
+ 3 => __('Custom field deleted.', 'acf'),
157
+ 4 => __('Field group updated.', 'acf'),
158
  /* translators: %s: date and time of the revision */
159
+ 5 => isset($_GET['revision']) ? sprintf( __('Field group restored to revision from %s', 'acf'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
160
+ 6 => __('Field group published.', 'acf'),
161
+ 7 => __('Field group saved.', 'acf'),
162
+ 8 => __('Field group submitted.', 'acf'),
163
+ 9 => __('Field group scheduled for.', 'acf'),
164
+ 10 => __('Field group draft updated.', 'acf'),
165
  );
166
 
167
  return $messages;
core/actions/save_fields.php CHANGED
@@ -1,8 +1,5 @@
1
  <?php
2
 
3
- // strip slashes
4
- $_POST = array_map('stripslashes_deep', $_POST);
5
-
6
  // save fields
7
  $fields = $_POST['fields'];
8
 
1
  <?php
2
 
 
 
 
3
  // save fields
4
  $fields = $_POST['fields'];
5
 
core/actions/save_input.php CHANGED
@@ -1,8 +1,5 @@
1
  <?php
2
 
3
- // strip slashes
4
- $_POST = array_map('stripslashes_deep', $_POST);
5
-
6
  // save fields
7
  $fields = $_POST['fields'];
8
 
1
  <?php
2
 
 
 
 
3
  // save fields
4
  $fields = $_POST['fields'];
5
 
core/admin/page_settings.php CHANGED
@@ -47,7 +47,6 @@ if($action == ""):
47
  </tr>
48
  </thead>
49
  <tbody>
50
- <!-- Repeater Field -->
51
  <tr>
52
  <td><?php _e("Repeater Field",'acf'); ?></td>
53
  <td><?php echo $this->is_field_unlocked('repeater') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
@@ -67,7 +66,6 @@ if($action == ""):
67
  </form>
68
  </td>
69
  </tr>
70
- <!-- Flexible Field -->
71
  <tr>
72
  <td><?php _e("Flexible Content Field",'acf'); ?></td>
73
  <td><?php echo $this->is_field_unlocked('flexible_content') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
@@ -87,7 +85,6 @@ if($action == ""):
87
  </form>
88
  </td>
89
  </tr>
90
- <!-- Options Page -->
91
  <tr>
92
  <td><?php _e("Options Page",'acf'); ?></td>
93
  <td><?php echo $this->is_field_unlocked('options_page') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
@@ -327,9 +324,11 @@ if(function_exists("register_field_group"))
327
  );
328
 
329
  ?>register_field_group(<?php var_export($var); ?>);
330
- }
331
  <?php
332
  }
 
 
 
333
  }
334
  else
335
  {
47
  </tr>
48
  </thead>
49
  <tbody>
 
50
  <tr>
51
  <td><?php _e("Repeater Field",'acf'); ?></td>
52
  <td><?php echo $this->is_field_unlocked('repeater') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
66
  </form>
67
  </td>
68
  </tr>
 
69
  <tr>
70
  <td><?php _e("Flexible Content Field",'acf'); ?></td>
71
  <td><?php echo $this->is_field_unlocked('flexible_content') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
85
  </form>
86
  </td>
87
  </tr>
 
88
  <tr>
89
  <td><?php _e("Options Page",'acf'); ?></td>
90
  <td><?php echo $this->is_field_unlocked('options_page') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
324
  );
325
 
326
  ?>register_field_group(<?php var_export($var); ?>);
 
327
  <?php
328
  }
329
+ ?>
330
+ }
331
+ <?php
332
  }
333
  else
334
  {
core/api.php CHANGED
@@ -442,10 +442,6 @@ function acf_form_head()
442
  {
443
  $post_id = $_POST['post_id'];
444
 
445
- // save
446
- // strip slashes
447
- $_POST = array_map('stripslashes_deep', $_POST);
448
-
449
  // save fields
450
  $fields = $_POST['fields'];
451
 
442
  {
443
  $post_id = $_POST['post_id'];
444
 
 
 
 
 
445
  // save fields
446
  $fields = $_POST['fields'];
447
 
core/everything_fields.php CHANGED
@@ -84,13 +84,12 @@ class Everything_fields
84
  // set page type
85
  $options = array();
86
 
87
- if( $pagenow == "edit-tags.php" )
88
  {
89
 
90
  $this->data['page_type'] = "taxonomy";
91
  $options['ef_taxonomy'] = $_GET['taxonomy'];
92
 
93
-
94
  $this->data['page_action'] = "add";
95
  $this->data['option_name'] = "";
96
 
@@ -111,7 +110,7 @@ class Everything_fields
111
  $this->data['option_name'] = "user_" . get_current_user_id();
112
 
113
  }
114
- elseif( $pagenow == "user-edit.php" )
115
  {
116
 
117
  $this->data['page_type'] = "user";
@@ -302,10 +301,6 @@ class Everything_fields
302
  }
303
 
304
 
305
- // strip slashes
306
- $_POST = array_map('stripslashes_deep', $_POST);
307
-
308
-
309
  // options name to save against
310
  $option_name = $_POST['taxonomy'] . '_' . $term_id;
311
 
@@ -342,10 +337,6 @@ class Everything_fields
342
  }
343
 
344
 
345
- // strip slashes
346
- $_POST = array_map('stripslashes_deep', $_POST);
347
-
348
-
349
  // options name to save against
350
  $option_name = 'user_' . $user_id;
351
 
@@ -382,11 +373,7 @@ class Everything_fields
382
  {
383
  return $post;
384
  }
385
-
386
-
387
- // strip slashes
388
- $_POST = array_map('stripslashes_deep', $_POST);
389
-
390
 
391
  // save fields
392
  $fields = $_POST['fields'];
84
  // set page type
85
  $options = array();
86
 
87
+ if( $pagenow == "edit-tags.php" && isset($_GET['taxonomy']) )
88
  {
89
 
90
  $this->data['page_type'] = "taxonomy";
91
  $options['ef_taxonomy'] = $_GET['taxonomy'];
92
 
 
93
  $this->data['page_action'] = "add";
94
  $this->data['option_name'] = "";
95
 
110
  $this->data['option_name'] = "user_" . get_current_user_id();
111
 
112
  }
113
+ elseif( $pagenow == "user-edit.php" && isset($_GET['user_id']) )
114
  {
115
 
116
  $this->data['page_type'] = "user";
301
  }
302
 
303
 
 
 
 
 
304
  // options name to save against
305
  $option_name = $_POST['taxonomy'] . '_' . $term_id;
306
 
337
  }
338
 
339
 
 
 
 
 
340
  // options name to save against
341
  $option_name = 'user_' . $user_id;
342
 
373
  {
374
  return $post;
375
  }
376
+
 
 
 
 
377
 
378
  // save fields
379
  $fields = $_POST['fields'];
core/fields/acf_field.php CHANGED
@@ -111,6 +111,10 @@ class acf_Field
111
 
112
  function update_value($post_id, $field, $value)
113
  {
 
 
 
 
114
  // if $post_id is a string, then it is used in the everything fields and can be found in the options table
115
  if( is_numeric($post_id) )
116
  {
@@ -123,6 +127,10 @@ class acf_Field
123
  update_option( '_' . $post_id . '_' . $field['name'], $field['key'] );
124
  }
125
 
 
 
 
 
126
  }
127
 
128
 
111
 
112
  function update_value($post_id, $field, $value)
113
  {
114
+ // strip slashes
115
+ $value = stripslashes_deep($value);
116
+
117
+
118
  // if $post_id is a string, then it is used in the everything fields and can be found in the options table
119
  if( is_numeric($post_id) )
120
  {
127
  update_option( '_' . $post_id . '_' . $field['name'], $field['key'] );
128
  }
129
 
130
+
131
+ //clear the cache for this field
132
+ wp_cache_delete('acf_get_field_' . $post_id . '_' . $field['name']);
133
+
134
  }
135
 
136
 
core/fields/file.php CHANGED
@@ -378,10 +378,10 @@ class acf_File extends acf_Field
378
  if((i+1) < ids.length)
379
  {
380
  // add row
381
- self.parent.acf_div.closest('.repeater').find('.table_footer #r_add_row').trigger('click');
382
 
383
  // set acf_div to new row file
384
- self.parent.acf_div = self.parent.acf_div.closest('.repeater').find('> table > tbody > tr.row:last-child .acf_file_uploader');
385
  }
386
  else
387
  {
378
  if((i+1) < ids.length)
379
  {
380
  // add row
381
+ self.parent.acf_div.closest('.repeater').find('.table_footer .add-row-end').trigger('click');
382
 
383
  // set acf_div to new row file
384
+ self.parent.acf_div = self.parent.acf_div.closest('.repeater').find('> table > tbody > tr:last-child .acf_file_uploader');
385
  }
386
  else
387
  {
core/fields/image.php CHANGED
@@ -38,6 +38,7 @@ class acf_Image extends acf_Field
38
 
39
  function acf_get_preview_image()
40
  {
 
41
  // vars
42
  $id_string = isset($_GET['id']) ? $_GET['id'] : false;
43
  $preview_size = isset($_GET['preview_size']) ? $_GET['preview_size'] : 'thumbnail';
@@ -66,8 +67,8 @@ class acf_Image extends acf_Field
66
  );
67
  }
68
  }
69
-
70
-
71
  // return json
72
  echo json_encode( $return );
73
  die();
@@ -349,33 +350,41 @@ class acf_Image extends acf_Field
349
  };
350
 
351
  // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
352
- $.getJSON(ajaxurl, data, function( json ) {
353
-
354
- // validate
355
- if(!json)
356
- {
357
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
358
  }
359
-
360
-
361
- // get item
362
- item = json[0];
363
-
364
-
365
- // update acf_div
366
- self.parent.acf_div.find('input.value').val( item.id );
367
- self.parent.acf_div.find('img').attr( 'src', item.url );
368
- self.parent.acf_div.addClass('active');
369
-
370
-
371
- // validation
372
- self.parent.acf_div.closest('.field').removeClass('error');
373
-
374
-
375
- // reset acf_div and return false
376
- self.parent.acf_div = null;
377
- self.parent.tb_remove();
378
-
379
  });
380
 
381
  return false;
@@ -433,10 +442,10 @@ class acf_Image extends acf_Field
433
  if((i+1) < total)
434
  {
435
  // add row
436
- self.parent.acf_div.closest('.repeater').find('.table_footer #r_add_row').trigger('click');
437
 
438
  // set acf_div to new row image
439
- self.parent.acf_div = self.parent.acf_div.closest('.repeater').find('> table > tbody > tr.row:last-child .acf_image_uploader');
440
  }
441
  else
442
  {
38
 
39
  function acf_get_preview_image()
40
  {
41
+
42
  // vars
43
  $id_string = isset($_GET['id']) ? $_GET['id'] : false;
44
  $preview_size = isset($_GET['preview_size']) ? $_GET['preview_size'] : 'thumbnail';
67
  );
68
  }
69
  }
70
+
71
+
72
  // return json
73
  echo json_encode( $return );
74
  die();
350
  };
351
 
352
  // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
353
+ $.ajax({
354
+ url: ajaxurl,
355
+ data : data,
356
+ cache: false,
357
+ dataType: "json",
358
+ success: function( json ) {
359
+
360
+
361
+ // validate
362
+ if(!json)
363
+ {
364
+ return false;
365
+ }
366
+
367
+
368
+ // get item
369
+ var item = json[0];
370
+
371
+
372
+ // update acf_div
373
+ self.parent.acf_div.find('input.value').val( item.id );
374
+ self.parent.acf_div.find('img').attr( 'src', item.url );
375
+ self.parent.acf_div.addClass('active');
376
+
377
+
378
+ // validation
379
+ self.parent.acf_div.closest('.field').removeClass('error');
380
+
381
+
382
+ // reset acf_div and return false
383
+ self.parent.acf_div = null;
384
+ self.parent.tb_remove();
385
+
386
+
387
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  });
389
 
390
  return false;
442
  if((i+1) < total)
443
  {
444
  // add row
445
+ self.parent.acf_div.closest('.repeater').find('.table_footer .add-row-end').trigger('click');
446
 
447
  // set acf_div to new row image
448
+ self.parent.acf_div = self.parent.acf_div.closest('.repeater').find('> table > tbody > tr:last-child .acf_image_uploader');
449
  }
450
  else
451
  {
core/fields/repeater.php CHANGED
@@ -45,7 +45,102 @@ class acf_Repeater extends acf_Field
45
  }
46
 
47
 
48
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  /*--------------------------------------------------------------------------------------
50
  *
51
  * create_field
@@ -62,7 +157,7 @@ class acf_Repeater extends acf_Field
62
  $row_limit = ( isset($field['row_limit']) && is_numeric($field['row_limit']) ) ? $field['row_limit'] : 999;
63
  $layout = isset($field['layout']) ? $field['layout'] : 'table';
64
  $sub_fields = isset($field['sub_fields']) ? $field['sub_fields'] : array();
65
- $button_label = ( isset($field['button_label']) && $field['button_label'] != "" ) ? $field['button_label'] : __("+ Add Row",'acf');
66
 
67
 
68
  // add clone field
@@ -78,49 +173,30 @@ class acf_Repeater extends acf_Field
78
  $sub_value = isset($sub_field['default_value']) ? $sub_field['default_value'] : '';
79
  $field['value'][999][$sub_field['name']] = $sub_value;
80
  }
 
81
 
82
  ?>
83
  <div class="repeater" data-row_limit="<?php echo $row_limit; ?>">
84
- <table class="widefat <?php if($layout == 'row'): ?>row_layout<?php endif; ?>">
85
 
86
- <thead>
87
- <tr>
88
- <?php if($row_limit > 1): ?><th class="order"></th><?php endif; ?>
89
-
90
- <?php if($layout == 'table'): ?>
91
-
92
- <?php foreach($sub_fields as $sub_field_i => $sub_field):?>
93
- <th class="<?php echo $sub_field['name']; ?>" <?php if($sub_field_i != 0): ?>style="width:<?php echo 95/count($sub_fields); ?>%;"<?php endif; ?>>
94
- <span><?php echo $sub_field['label']; ?></span>
95
- </th>
96
- <?php endforeach; ?>
97
-
98
- <?php else: ?>
99
-
100
- <?php
101
 
102
- $temp_th = array();
103
 
104
- foreach($sub_fields as $sub_field_i => $sub_field)
105
- {
106
- $temp_th[] = $sub_field['label'];
107
- }
 
108
 
109
- ?>
110
- <th>
111
- <span><?php echo implode(', ', $temp_th); ?></span>
112
- </th>
113
-
114
- <?php endif; ?>
115
-
116
- <?php if($row_limit > 1): ?><th class="remove"></th><?php endif; ?>
117
- </tr>
118
- </thead>
119
-
120
  <tbody>
121
- <?php foreach($field['value'] as $i => $value):?>
122
- <?php //if(($i+1) > $row_limit){continue;} ?>
123
- <tr class="<?php echo ($i == 999) ? "row_clone" : "row"; ?>">
124
 
125
  <?php if($row_limit > 1): ?>
126
  <td class="order">
@@ -130,7 +206,6 @@ class acf_Repeater extends acf_Field
130
 
131
  <?php if($layout == 'row'): ?><td><?php endif; ?>
132
 
133
-
134
  <?php foreach($sub_fields as $j => $sub_field):?>
135
 
136
  <?php if($layout == 'table'): ?>
@@ -172,17 +247,17 @@ class acf_Repeater extends acf_Field
172
  <?php if($layout == 'row'): ?></td><?php endif; ?>
173
 
174
  <?php if($row_limit > 1): ?>
175
- <td class="remove"><a class="remove_row" id="r_remove_row" href="javascript:;"></a></td>
176
  <?php endif; ?>
177
  </tr>
178
- <?php endforeach; ?>
179
  </tbody>
180
  </table>
181
  <?php if($row_limit > 1): ?>
182
  <div class="table_footer">
183
  <ul class="hl clearfix">
184
  <li class="right">
185
- <a href="javascript:;" id="r_add_row" class="add_row acf-button"><?php echo $button_label; ?></a>
186
  </li>
187
  </ul>
188
  </div>
@@ -210,7 +285,7 @@ class acf_Repeater extends acf_Field
210
  $field['row_limit'] = isset($field['row_limit']) ? $field['row_limit'] : '';
211
  $field['layout'] = isset($field['layout']) ? $field['layout'] : 'table';
212
  $field['sub_fields'] = isset($field['sub_fields']) ? $field['sub_fields'] : array();
213
- $field['button_label'] = (isset($field['button_label']) && $field['button_label'] != "") ? $field['button_label'] : __("+ Add Row",'acf');
214
 
215
 
216
  // add clone field
45
  }
46
 
47
 
48
+
49
+ /*--------------------------------------------------------------------------------------
50
+ *
51
+ * create_field_row
52
+ *
53
+ * @author Elliot Condon
54
+ * @since 3.2.1
55
+ *
56
+ *-------------------------------------------------------------------------------------
57
+
58
+ function temp_create_row( $options = array() )
59
+ {
60
+
61
+ // vars
62
+ $defaults = array(
63
+ 'i' => 999,
64
+ 'row_limit' => 999,
65
+ 'layout' => 'row',
66
+ 'sub_fields' => false
67
+ );
68
+ $options = array_merge($defaults, $options);
69
+
70
+
71
+ ?>
72
+ <tr class="<?php echo ( $options['i'] == 999 ) ? "row_clone" : "row"; ?>">
73
+
74
+ <?php
75
+
76
+ // add order number, if row_limit > 1
77
+
78
+ if( $options['row_limit'] > 1 ): ?>
79
+ <td class="order"><?php echo $i+1; ?></td>
80
+ <?php endif;
81
+
82
+
83
+ // if layout is row, create a td to hold all the fields
84
+
85
+ if( $options['layout'] == 'row'): ?>
86
+ <td>
87
+ <?php endif;
88
+
89
+
90
+ // loop through sub fields
91
+ if( $options['sub_fields'] ):
92
+ foreach( $options['sub_fields'] as $j => $sub_field):
93
+
94
+ if( $options['layout'] == 'table' ): ?>
95
+ <td>
96
+ <?php else: ?>
97
+ <div class="row-layout-field">
98
+ <p class="label">
99
+ <label><?php echo $sub_field['label']; ?></label>
100
+ <?php
101
+
102
+ if(!isset($sub_field['instructions']))
103
+ $sub_field['instructions'] = "";
104
+
105
+ echo $sub_field['instructions'];
106
+
107
+ ?>
108
+ </p>
109
+ <?php endif; ?>
110
+
111
+ <?php
112
+ // add value
113
+ $sub_field['value'] = isset($value[$sub_field['name']]) ? $value[$sub_field['name']] : '';
114
+
115
+ // add name
116
+ $sub_field['name'] = $field['name'] . '[' . $i . '][' . $sub_field['key'] . ']';
117
+
118
+ // create field
119
+ $this->parent->create_field($sub_field);
120
+ ?>
121
+
122
+ <?php if($layout == 'table'): ?>
123
+ </td>
124
+ <?php else: ?>
125
+ </div>
126
+ <?php endif; ?>
127
+
128
+ <?php endforeach;
129
+ endif; ?>
130
+
131
+ <?php if( $options['layout'] == 'row'): ?>
132
+ </td>
133
+ <?php endif; ?>
134
+
135
+ <?php if( $options['row_limit'] > 1 ): ?>
136
+ <td class="remove"><a class="remove_row" id="r_remove_row" href="javascript:;"></a></td>
137
+ <?php endif; ?>
138
+ </tr>
139
+ <?php
140
+ }
141
+ */
142
+
143
+
144
  /*--------------------------------------------------------------------------------------
145
  *
146
  * create_field
157
  $row_limit = ( isset($field['row_limit']) && is_numeric($field['row_limit']) ) ? $field['row_limit'] : 999;
158
  $layout = isset($field['layout']) ? $field['layout'] : 'table';
159
  $sub_fields = isset($field['sub_fields']) ? $field['sub_fields'] : array();
160
+ $button_label = ( isset($field['button_label']) && $field['button_label'] != "" ) ? $field['button_label'] : __("Add Row",'acf');
161
 
162
 
163
  // add clone field
173
  $sub_value = isset($sub_field['default_value']) ? $sub_field['default_value'] : '';
174
  $field['value'][999][$sub_field['name']] = $sub_value;
175
  }
176
+
177
 
178
  ?>
179
  <div class="repeater" data-row_limit="<?php echo $row_limit; ?>">
 
180
 
181
+ <table class="widefat <?php if($layout == 'row'): ?>row_layout<?php endif; ?>">
182
+ <?php if($layout == 'table'): ?>
183
+ <thead>
184
+ <tr><?php
 
 
 
 
 
 
 
 
 
 
 
185
 
186
+ if($row_limit > 1): ?><th class="order"></th><?php endif;
187
 
188
+ foreach($sub_fields as $sub_field_i => $sub_field):
189
+ ?><th class="<?php echo $sub_field['name']; ?>" <?php if($sub_field_i != 0): ?>style="width:<?php echo 95/count($sub_fields); ?>%;"<?php endif; ?>><span><?php echo $sub_field['label']; ?></span></th><?php
190
+ endforeach;
191
+
192
+ if($row_limit > 1): ?><th class="remove"></th><?php endif;
193
 
194
+ ?></tr>
195
+ </thead>
196
+ <?php endif; ?>
 
 
 
 
 
 
 
 
197
  <tbody>
198
+ <?php if( $field['value'] ): foreach($field['value'] as $i => $value):?>
199
+ <tr class="<?php echo ($i == 999) ? "row-clone" : "row"; ?>">
 
200
 
201
  <?php if($row_limit > 1): ?>
202
  <td class="order">
206
 
207
  <?php if($layout == 'row'): ?><td><?php endif; ?>
208
 
 
209
  <?php foreach($sub_fields as $j => $sub_field):?>
210
 
211
  <?php if($layout == 'table'): ?>
247
  <?php if($layout == 'row'): ?></td><?php endif; ?>
248
 
249
  <?php if($row_limit > 1): ?>
250
+ <td class="remove"><a class="add-row add-row-before" href="javascript:;"></a><a class="remove-row" href="javascript:;"></a></td>
251
  <?php endif; ?>
252
  </tr>
253
+ <?php endforeach; endif; ?>
254
  </tbody>
255
  </table>
256
  <?php if($row_limit > 1): ?>
257
  <div class="table_footer">
258
  <ul class="hl clearfix">
259
  <li class="right">
260
+ <a href="javascript:;" class="add-row-end acf-button"><?php echo $button_label; ?></a>
261
  </li>
262
  </ul>
263
  </div>
285
  $field['row_limit'] = isset($field['row_limit']) ? $field['row_limit'] : '';
286
  $field['layout'] = isset($field['layout']) ? $field['layout'] : 'table';
287
  $field['sub_fields'] = isset($field['sub_fields']) ? $field['sub_fields'] : array();
288
+ $field['button_label'] = (isset($field['button_label']) && $field['button_label'] != "") ? $field['button_label'] : __("Add Row",'acf');
289
 
290
 
291
  // add clone field
core/fields/wysiwyg.php CHANGED
@@ -20,8 +20,9 @@ class acf_Wysiwyg extends acf_Field
20
  $this->name = 'wysiwyg';
21
  $this->title = __("Wysiwyg Editor",'acf');
22
 
23
- add_action('admin_head', array($this, 'add_tiny_mce'));
24
- add_filter( 'wp_default_editor', array($this, 'my_default_editor'));
 
25
 
26
  }
27
 
@@ -64,7 +65,12 @@ class acf_Wysiwyg extends acf_Field
64
  }
65
  else
66
  {
67
- wp_tiny_mce();
 
 
 
 
 
68
  }
69
 
70
  }
@@ -107,6 +113,15 @@ class acf_Wysiwyg extends acf_Field
107
  ));
108
  }
109
 
 
 
 
 
 
 
 
 
 
110
 
111
 
112
  /*--------------------------------------------------------------------------------------
20
  $this->name = 'wysiwyg';
21
  $this->title = __("Wysiwyg Editor",'acf');
22
 
23
+ add_action( 'admin_head', array($this, 'add_tiny_mce') );
24
+ //add_action( 'admin_footer', array($this, 'admin_footer') );
25
+ add_filter( 'wp_default_editor', array($this, 'my_default_editor') );
26
 
27
  }
28
 
65
  }
66
  else
67
  {
68
+ // only add for pre 3.3
69
+ //if(get_bloginfo('version') < "3.3")
70
+ //{
71
+ wp_tiny_mce();
72
+ //}
73
+
74
  }
75
 
76
  }
113
  ));
114
  }
115
 
116
+ function admin_footer()
117
+ {
118
+ /*?>
119
+ <div style="display:none">
120
+ <?php wp_editor('', 'acf-temp-editor'); ?>
121
+ </div>
122
+ <?php*/
123
+ }
124
+
125
 
126
 
127
  /*--------------------------------------------------------------------------------------
core/options_page.php CHANGED
@@ -134,10 +134,6 @@ class Options_page
134
  if(isset($_POST['update_options']))
135
  {
136
 
137
- // strip slashes
138
- $_POST = array_map('stripslashes_deep', $_POST);
139
-
140
-
141
  // options name to save against
142
  $option_name = 'options';
143
 
@@ -290,6 +286,8 @@ class Options_page
290
  </div>
291
  </div>
292
 
 
 
293
  </div>
294
 
295
  <!-- Main -->
134
  if(isset($_POST['update_options']))
135
  {
136
 
 
 
 
 
137
  // options name to save against
138
  $option_name = 'options';
139
 
286
  </div>
287
  </div>
288
 
289
+ <?php $meta_boxes = do_meta_boxes('acf_options_page', 'side', null); ?>
290
+
291
  </div>
292
 
293
  <!-- Main -->
css/fields.css CHANGED
@@ -2,7 +2,7 @@
2
  Postbox
3
  ---------------------------------------------------------------------------------------------*/
4
  #icon-edit {
5
- background: url(../images/acf-icon-32.png) 0 0 no-repeat !important;
6
  }
7
 
8
  #toplevel_page_edit-post_type-acf .wp-menu-image { background: url("../../../../wp-admin/images/menu.png") no-repeat scroll 0 -1px transparent; }
2
  Postbox
3
  ---------------------------------------------------------------------------------------------*/
4
  #icon-edit {
5
+ background: url(../images/sprite.png) 0 0 no-repeat !important;
6
  }
7
 
8
  #toplevel_page_edit-post_type-acf .wp-menu-image { background: url("../../../../wp-admin/images/menu.png") no-repeat scroll 0 -1px transparent; }
css/global.css CHANGED
@@ -28,6 +28,20 @@
28
  width: 16px;
29
  }
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  /*--------------------------------------------------------------------------------------------
32
  *
33
  * WP Box
@@ -263,18 +277,20 @@ input[type="submit"].acf-button.grey {
263
  text-shadow: 0 1px 0 #fff;
264
  color: #454545;
265
  background: #fff;
266
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff', endColorstr='#ececec'); /* for IE */
267
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ececec)); /* for webkit browsers */
268
  background: -moz-linear-gradient(top, #fff, #ececec); /* for firefox 3.6+ */
269
 
270
  }
271
 
272
  a.acf-button[disabled],
 
273
  input[type="submit"].acf-button[disabled] {
274
  opacity: 0.7;
275
  }
276
 
277
  a.acf-button[disabled]:hover,
 
278
  input[type="submit"].acf-button[disabled]:hover {
279
  background: #2c8bbe;
280
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2c8bbe', endColorstr='#246f99'); /* for IE */
28
  width: 16px;
29
  }
30
 
31
+ .acf-remove-item {
32
+ -webkit-transition: all 0.4s 0s ease-in-out;
33
+ -moz-transition: all 0.4s 0s ease-in-out;
34
+ -o-transition: all 0.4s 0s ease-in-out;
35
+ transition: all 0.4s 0s ease-in-out;
36
+
37
+ -webkit-transform: translate(25px, 0px);
38
+ -moz-transform: translate(25px, 0px);
39
+ -o-transform: translate(25px, 0px);
40
+ transform: translate(25px, 0px);
41
+
42
+ opacity: 0;
43
+ }
44
+
45
  /*--------------------------------------------------------------------------------------------
46
  *
47
  * WP Box
277
  text-shadow: 0 1px 0 #fff;
278
  color: #454545;
279
  background: #fff;
280
+ filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr='#ffffff', endColorstr='#ececec'); /* for IE */
281
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ececec)); /* for webkit browsers */
282
  background: -moz-linear-gradient(top, #fff, #ececec); /* for firefox 3.6+ */
283
 
284
  }
285
 
286
  a.acf-button[disabled],
287
+ .disabled a.acf-button,
288
  input[type="submit"].acf-button[disabled] {
289
  opacity: 0.7;
290
  }
291
 
292
  a.acf-button[disabled]:hover,
293
+ .disabled a.acf-button:hover,
294
  input[type="submit"].acf-button[disabled]:hover {
295
  background: #2c8bbe;
296
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2c8bbe', endColorstr='#246f99'); /* for IE */
css/input.css CHANGED
@@ -104,15 +104,20 @@
104
  Basic Field Styles
105
  ---------------------------------------------------------------------------------------------*/
106
 
107
- .acf_postbox .field input[type="text"],
108
- .acf_postbox .field input[type="password"],
109
- .acf_postbox .field textarea,
110
- .acf_postbox .field select{
111
- width: 100%;
112
  padding: 5px;
113
  resize: none;
114
  }
115
 
 
 
 
 
 
 
116
 
117
  #poststuff .acf_postbox .field select optgroup {
118
  padding: 5px;
@@ -201,6 +206,7 @@
201
  .acf_image_uploader img {
202
  display: none;
203
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
 
204
  }
205
 
206
  .acf_image_uploader.active img {
@@ -277,11 +283,11 @@
277
  position: relative;
278
  }
279
 
280
- .repeater > table > tbody > tr:last-child td {
281
  border-bottom: 0 none;
282
  }
283
 
284
- .repeater > table > tbody > tr td:last-child{
285
  border-right: 0 none;
286
  }
287
 
@@ -302,30 +308,67 @@
302
  border-right: 0 none;
303
  }
304
 
305
- .repeater > table > tbody > tr:hover >td.remove > a.remove_row {
 
 
 
 
 
 
 
306
  visibility: visible;
 
307
  }
308
 
309
- .repeater.hide_remove_buttons > table > tbody > tr:hover >td.remove a.remove_row {
310
- visibility: hidden;
311
  }
312
 
313
-
314
  .repeater > table.row_layout > tbody > tr > td > label:first-child {
315
  padding-top: 0;
316
  }
317
 
318
- a.remove_row {
319
  display: block;
320
  width: 16px;
321
  height: 16px;
322
- background: url(../images/button_remove.png) 0 0 no-repeat;
 
 
 
 
 
 
 
 
 
 
323
  visibility: hidden;
 
 
 
 
 
 
 
 
 
 
 
 
324
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
325
  border-radius: 8px;
 
 
 
 
 
 
 
 
326
  }
327
 
328
- a.remove_row:hover {
329
  background-position: 0 100%;
330
  }
331
 
@@ -342,6 +385,10 @@ a.remove_row:hover {
342
  cursor: move;
343
  }
344
 
 
 
 
 
345
  .repeater > table > thead > tr > th.remove,
346
  .repeater > table > tbody > tr > td.remove{
347
  width: 16px;
@@ -398,7 +445,7 @@ ul.checkbox_list {
398
  background: transparent !important;
399
  }
400
 
401
- .repeater tr.row_clone {
402
  display: none;
403
  }
404
 
@@ -410,7 +457,25 @@ ul.checkbox_list {
410
  padding-top: 10px;
411
  }
412
 
 
 
 
 
 
 
 
413
 
 
 
 
 
 
 
 
 
 
 
 
414
 
415
 
416
 
104
  Basic Field Styles
105
  ---------------------------------------------------------------------------------------------*/
106
 
107
+ .acf_postbox .field input[type="text"],
108
+ .acf_postbox .field input[type="password"],
109
+ .acf_postbox .field textarea{
110
+ width: 100%;
 
111
  padding: 5px;
112
  resize: none;
113
  }
114
 
115
+ .acf_postbox .field select{
116
+ width: 100%;
117
+ padding: 2px;
118
+ resize: none;
119
+ }
120
+
121
 
122
  #poststuff .acf_postbox .field select optgroup {
123
  padding: 5px;
206
  .acf_image_uploader img {
207
  display: none;
208
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
209
+ max-width:100%;
210
  }
211
 
212
  .acf_image_uploader.active img {
283
  position: relative;
284
  }
285
 
286
+ .repeater > table > tbody > tr:last-child > td {
287
  border-bottom: 0 none;
288
  }
289
 
290
+ .repeater > table > tbody > tr > td:last-child {
291
  border-right: 0 none;
292
  }
293
 
308
  border-right: 0 none;
309
  }
310
 
311
+ .repeater > table > tbody > tr:hover > td.remove > a.remove-row,
312
+ .repeater > table > tbody > tr:hover > td.remove > a.add-row {
313
+
314
+ -webkit-transition-delay:0s;
315
+ -moz-transition-delay:0s;
316
+ -o-transition-delay:0s;
317
+ transition-delay:0s;
318
+
319
  visibility: visible;
320
+ opacity: 1;
321
  }
322
 
323
+ .repeater.disabled > table > tbody > tr:hover > td.remove > a.add-row {
324
+ visibility: hidden !important;
325
  }
326
 
 
327
  .repeater > table.row_layout > tbody > tr > td > label:first-child {
328
  padding-top: 0;
329
  }
330
 
331
+ a.add-row {
332
  display: block;
333
  width: 16px;
334
  height: 16px;
335
+ background: url(../images/button_add.png) 0 0 no-repeat;
336
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
337
+ border-radius: 8px;
338
+ position: absolute;
339
+
340
+
341
+ -webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
342
+ -moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
343
+ -o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
344
+ transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
345
+
346
  visibility: hidden;
347
+ opacity: 0;
348
+ }
349
+
350
+ a.add-row:hover {
351
+ background-position: 0 100%;
352
+ }
353
+
354
+ a.remove-row {
355
+ display: block;
356
+ width: 16px;
357
+ height: 16px;
358
+ background: url(../images/button_remove.png) 0 0 no-repeat;
359
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
360
  border-radius: 8px;
361
+
362
+ -webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
363
+ -moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
364
+ -o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
365
+ transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
366
+
367
+ visibility: hidden;
368
+ opacity: 0;
369
  }
370
 
371
+ a.remove-row:hover {
372
  background-position: 0 100%;
373
  }
374
 
385
  cursor: move;
386
  }
387
 
388
+ .repeater table tr td.order:hover {
389
+ color: #666;
390
+ }
391
+
392
  .repeater > table > thead > tr > th.remove,
393
  .repeater > table > tbody > tr > td.remove{
394
  width: 16px;
445
  background: transparent !important;
446
  }
447
 
448
+ .repeater tr.row-clone {
449
  display: none;
450
  }
451
 
457
  padding-top: 10px;
458
  }
459
 
460
+ .repeater > table > tbody > tr.ui-sortable-helper {
461
+ box-shadow: 0 1px 5px rgba(0,0,0,0.2);
462
+ }
463
+
464
+ .repeater > table > tbody > tr.ui-sortable-placeholder {
465
+ visibility: visible !important;
466
+ }
467
 
468
+ .repeater > table > tbody > tr.ui-sortable-placeholder td {
469
+ border: 0 none !important;
470
+ box-shadow: inset 0 1px 3px rgba(0,0,0,0.15);
471
+ background: rgba(0,0,0,0.075);
472
+ }
473
+
474
+
475
+ /* empty repeater */
476
+ .repeater.empty table thead th {
477
+ border-bottom: 0 none;
478
+ }
479
 
480
 
481
 
js/fields.js CHANGED
@@ -237,7 +237,8 @@
237
 
238
  // open up form
239
  new_field.find('a.acf_edit_field').first().trigger('click');
240
- new_field.find('tr.field_type select').val( orig_type ).trigger('change');
 
241
 
242
 
243
  // update order numbers
@@ -345,7 +346,7 @@
345
  // update field type (if not a clone field)
346
  if($(this).closest('.field_clone').length == 0)
347
  {
348
- $(this).closest('.field').find('td.field_type').html(label);
349
  }
350
 
351
  });
237
 
238
  // open up form
239
  new_field.find('a.acf_edit_field').first().trigger('click');
240
+ //console.log( new_field.find('tr.field_type select').first() );
241
+ new_field.find('tr.field_type select').first().val( orig_type ).trigger('change');
242
 
243
 
244
  // update order numbers
346
  // update field type (if not a clone field)
347
  if($(this).closest('.field_clone').length == 0)
348
  {
349
+ $(this).closest('.field').find('td.field_type').first().html(label);
350
  }
351
 
352
  });
js/input-actions.js CHANGED
@@ -158,7 +158,6 @@ var acf = {
158
  {
159
  validation = false;
160
  }
161
- //console.log(validation);
162
 
163
  }
164
 
@@ -612,10 +611,11 @@ var acf = {
612
  return newDate.getTime();
613
  }
614
 
 
615
  // update order numbers
616
- function update_r_order_numbers(div)
617
  {
618
- div.children('table').children('tbody').children('tr.row').each(function(i){
619
  $(this).children('td.order').html(i+1);
620
  });
621
 
@@ -623,7 +623,7 @@ var acf = {
623
 
624
 
625
  // make sortable
626
- function make_r_sortable(div){
627
 
628
  var fixHelper = function(e, ui) {
629
  ui.children().each(function() {
@@ -632,59 +632,104 @@ var acf = {
632
  return ui;
633
  };
634
 
635
- div.children('table').children('tbody').unbind('sortable').sortable({
636
  update: function(event, ui){
637
- update_r_order_numbers(div);
638
  },
639
- items : '> tr',
640
  handle: '> td.order',
641
  helper: fixHelper,
642
- axis: "y" // limit the dragging to up/down only
 
 
 
 
 
 
 
 
643
  });
644
  };
645
 
 
 
646
  $(document).live('acf/setup_fields', function(e, postbox){
647
 
648
  $(postbox).find('.repeater').each(function(){
649
-
650
- var div = $(this);
651
- var row_limit = parseInt(div.attr('data-row_limit'));
652
- var row_count = div.children('table').children('tbody').children('tr.row').length;
653
 
654
- // has limit been reached?
655
- if(row_count >= row_limit) div.find('#r_add_row').attr('disabled','true');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
656
 
657
  // sortable
658
  if(row_limit > 1){
659
- make_r_sortable(div);
660
  }
661
 
662
  });
663
 
664
  });
665
 
666
- // add field
667
- $('.repeater #r_add_row').live('click', function(){
 
 
 
 
 
668
 
669
- var div = $(this).closest('.repeater');
670
- var row_limit = parseInt(div.attr('data-row_limit'));
671
- var row_count = div.children('table').children('tbody').children('tr.row').length;
672
 
673
- // row limit
674
- if(row_count >= row_limit)
675
  {
676
- // reached row limit!
677
- div.find('#r_add_row').attr('disabled','true');
678
- return false;
 
 
679
  }
680
 
681
- // deactivate any wysiwygs
682
- div.children('table').children('tbody').children('tr.row_clone').acf_deactivate_wysiwyg();
 
 
 
 
 
 
 
 
 
683
 
 
 
 
 
 
 
 
 
 
 
 
684
  // create and add the new field
685
- var new_field = div.children('table').children('tbody').children('tr.row_clone').clone(false);
686
  new_field.attr('class', 'row');
687
 
 
688
  // update names
689
  var new_id = uniqid();
690
  new_field.find('[name]').each(function(){
@@ -695,50 +740,109 @@ var acf = {
695
 
696
  });
697
 
 
698
  // add row
699
- div.children('table').children('tbody').append(new_field);
 
 
 
 
 
 
 
700
 
701
- // activate wysiwyg
702
- $(document).trigger('acf/setup_fields',new_field);
703
- //new_field.acf_activate_wysiwyg();
704
-
705
- update_r_order_numbers(div);
706
 
707
- // there is now 1 more row
708
- row_count ++;
709
 
710
- // disable the add field button if row limit is reached
711
- if(row_count >= row_limit)
712
- {
713
- div.find('#r_add_row').attr('disabled','true');
714
- }
715
 
716
- // validation
717
- div.closest('.field').removeClass('error');
718
 
719
- return false;
720
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
721
  });
722
 
723
 
724
- // remove field
725
- $('.repeater a#r_remove_row').live('click', function(){
726
-
727
- var div = $(this).closest('.repeater');
728
- var tr = $(this).closest('tr');
 
 
 
 
 
 
 
 
 
 
 
729
 
730
- tr.animate({'left' : '50px', 'opacity' : 0}, 250,function(){
 
 
 
731
  tr.remove();
732
- update_r_order_numbers(div);
733
- });
 
 
734
 
735
- div.find('#r_add_row').removeAttr('disabled');
736
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
737
  return false;
 
 
 
 
 
 
 
 
 
 
738
 
739
  });
740
 
741
 
 
 
 
742
  /*
743
  * Field: Flexible Content
744
  *
158
  {
159
  validation = false;
160
  }
 
161
 
162
  }
163
 
611
  return newDate.getTime();
612
  }
613
 
614
+
615
  // update order numbers
616
+ function repeater_update_order( repeater )
617
  {
618
+ repeater.find('> table > tbody > tr.row').each(function(i){
619
  $(this).children('td.order').html(i+1);
620
  });
621
 
623
 
624
 
625
  // make sortable
626
+ function repeater_add_sortable( repeater ){
627
 
628
  var fixHelper = function(e, ui) {
629
  ui.children().each(function() {
632
  return ui;
633
  };
634
 
635
+ repeater.find('> table > tbody').unbind('sortable').sortable({
636
  update: function(event, ui){
637
+ repeater_update_order( repeater );
638
  },
639
+ items : '> tr.row',
640
  handle: '> td.order',
641
  helper: fixHelper,
642
+ forceHelperSize: true,
643
+ forcePlaceholderSize: true,
644
+ scroll: true,
645
+ start: function (event, ui) {
646
+
647
+ // add markup to the placeholder
648
+ var td_count = ui.item.children('td').length;
649
+ ui.placeholder.html('<td colspan="' + td_count + '"></td>');
650
+ }
651
  });
652
  };
653
 
654
+
655
+ // setup repeater fields
656
  $(document).live('acf/setup_fields', function(e, postbox){
657
 
658
  $(postbox).find('.repeater').each(function(){
 
 
 
 
659
 
660
+ var repeater = $(this);
661
+ var row_limit = parseInt( repeater.attr('data-row_limit') );
662
+
663
+
664
+ // move row-clone to be the first element (to avoid double border css bug)
665
+ var row_clone = repeater.find('> table > tbody > tr.row-clone');
666
+ if( row_clone.index() != 0 )
667
+ {
668
+ row_clone.closest('tbody').prepend( row_clone );
669
+ }
670
+
671
+
672
+
673
+ // update classes based on row count
674
+ repeater_check_rows( repeater );
675
+
676
 
677
  // sortable
678
  if(row_limit > 1){
679
+ repeater_add_sortable( repeater );
680
  }
681
 
682
  });
683
 
684
  });
685
 
686
+
687
+ // repeater_check_rows
688
+ function repeater_check_rows( repeater )
689
+ {
690
+ // vars
691
+ var row_limit = parseInt( repeater.attr('data-row_limit') );
692
+ var row_count = repeater.find('> table > tbody > tr.row').length;
693
 
 
 
 
694
 
695
+ // empty?
696
+ if( row_count == 0 )
697
  {
698
+ repeater.addClass('empty');
699
+ }
700
+ else
701
+ {
702
+ repeater.removeClass('empty');
703
  }
704
 
705
+
706
+ // row limit reached
707
+ if( row_count >= row_limit )
708
+ {
709
+ repeater.addClass('disabled');
710
+ }
711
+ else
712
+ {
713
+ repeater.removeClass('disabled');
714
+ }
715
+ }
716
 
717
+
718
+ // add field
719
+ function repeater_add_field( repeater, before )
720
+ {
721
+
722
+ // validate
723
+ if( repeater.hasClass('disabled') )
724
+ {
725
+ return false;
726
+ }
727
+
728
  // create and add the new field
729
+ var new_field = repeater.find('> table > tbody > tr.row-clone').clone(false);
730
  new_field.attr('class', 'row');
731
 
732
+
733
  // update names
734
  var new_id = uniqid();
735
  new_field.find('[name]').each(function(){
740
 
741
  });
742
 
743
+
744
  // add row
745
+ if( before )
746
+ {
747
+ before.before( new_field );
748
+ }
749
+ else
750
+ {
751
+ repeater.find('> table > tbody').append(new_field);
752
+ }
753
 
 
 
 
 
 
754
 
755
+ // trigger mouseenter on parent repeater to work out css margin on add-row button
756
+ repeater.closest('tr').trigger('mouseenter');
757
 
 
 
 
 
 
758
 
759
+ // update order
760
+ repeater_update_order( repeater );
761
 
 
762
 
763
+ // update classes based on row count
764
+ repeater_check_rows( repeater );
765
+
766
+
767
+ // setup fields
768
+ $(document).trigger('acf/setup_fields', new_field);
769
+
770
+
771
+ // validation
772
+ repeater.closest('.field').removeClass('error');
773
+ }
774
+
775
+
776
+ // add row - end
777
+ $('.repeater .add-row-end').live('click', function(){
778
+ var repeater = $(this).closest('.repeater');
779
+ repeater_add_field( repeater, false );
780
+ return false;
781
  });
782
 
783
 
784
+ // add row - before
785
+ $('.repeater .add-row-before').live('click', function(){
786
+ var repeater = $(this).closest('.repeater');
787
+ var before = $(this).closest('tr');
788
+ repeater_add_field( repeater, before );
789
+ return false;
790
+ });
791
+
792
+
793
+ function repeater_remove_row( tr )
794
+ {
795
+ // vars
796
+ var repeater = tr.closest('.repeater');
797
+ var column_count = tr.children('tr.row').length;
798
+ var row_height = tr.height();
799
+
800
 
801
+ // animate out tr
802
+ tr.addClass('acf-remove-item');
803
+ setTimeout(function(){
804
+
805
  tr.remove();
806
+
807
+
808
+ // trigger mouseenter on parent repeater to work out css margin on add-row button
809
+ repeater.closest('tr').trigger('mouseenter');
810
 
 
811
 
812
+ // update order
813
+ repeater_update_order( repeater );
814
+
815
+
816
+ // update classes based on row count
817
+ repeater_check_rows( repeater );
818
+
819
+ }, 400);
820
+
821
+ }
822
+
823
+
824
+ // remove field
825
+ $('.repeater .remove-row').live('click', function(){
826
+ var tr = $(this).closest('tr');
827
+ repeater_remove_row( tr );
828
  return false;
829
+ });
830
+
831
+
832
+ // hover over tr, align add-row button to top
833
+ $('.repeater tr').live('mouseenter', function(){
834
+
835
+ var button = $(this).find('> td.remove > a.add-row');
836
+ var margin = ( button.parent().height() / 2 ) + 9; // 9 = padding + border
837
+
838
+ button.css('margin-top', '-' + margin + 'px' );
839
 
840
  });
841
 
842
 
843
+
844
+
845
+
846
  /*
847
  * Field: Flexible Content
848
  *
lang/acf-sv_SE.mo ADDED
Binary file
lang/acf-sv_SE.po ADDED
@@ -0,0 +1,1412 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: \n"
4
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/advanced-custom-fields\n"
5
+ "POT-Creation-Date: 2012-05-12 11:12:49+00:00\n"
6
+ "PO-Revision-Date: 2012-MO-DA HO:MI+ZONE\n"
7
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
+ "Language-Team: LANGUAGE <LL@li.org>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
13
+ "X-Poedit-Language: \n"
14
+ "X-Poedit-Country: \n"
15
+ "X-Poedit-SourceCharset: utf-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
17
+ "X-Poedit-Basepath: \n"
18
+ "X-Poedit-Bookmarks: \n"
19
+ "X-Poedit-SearchPath-0: .\n"
20
+ "X-Textdomain-Support: yes"
21
+
22
+ #: acf.php:289
23
+ #: core/admin/meta_box_options.php:83
24
+ #@ acf
25
+ msgid "Custom Fields"
26
+ msgstr "Anpassade Fält"
27
+
28
+ #: acf.php:290
29
+ #@ acf
30
+ msgid "Settings"
31
+ msgstr "Inställningar"
32
+
33
+ #: acf.php:291
34
+ #@ acf
35
+ msgid "Upgrade"
36
+ msgstr "Uppgradera"
37
+
38
+ #: acf.php:503
39
+ #@ acf
40
+ msgid "Fields"
41
+ msgstr "Fält"
42
+
43
+ #: acf.php:504
44
+ #@ acf
45
+ msgid "Location"
46
+ msgstr "Målplats"
47
+
48
+ #: acf.php:504
49
+ #@ acf
50
+ msgid "Add Fields to Edit Screens"
51
+ msgstr "Lägg till Fält till Redigeringssidor"
52
+
53
+ #: acf.php:505
54
+ #: core/admin/meta_box_location.php:133
55
+ #: core/options_page.php:62
56
+ #: core/options_page.php:74
57
+ #@ acf
58
+ msgid "Options"
59
+ msgstr "Alternativ"
60
+
61
+ #: acf.php:505
62
+ #@ acf
63
+ msgid "Customise the edit page"
64
+ msgstr "Anpassa redigeringssidan"
65
+
66
+ #: acf.php:533
67
+ #: core/api.php:503
68
+ #: core/everything_fields.php:202
69
+ #: core/options_page.php:182
70
+ #@ acf
71
+ msgid "Validation Failed. One or more fields below are required."
72
+ msgstr "Validering Misslyckades. Ett eller flera fält nedan är obligatoriska."
73
+
74
+ #: acf.php:859
75
+ #@ acf
76
+ msgid "Error: Field Type does not exist!"
77
+ msgstr "Fel: Fälttyp finns inte!"
78
+
79
+ #: acf.php:2086
80
+ #@ acf
81
+ msgid "required"
82
+ msgstr "obligatorisk"
83
+
84
+ #: acf.php:2184
85
+ #@ acf
86
+ msgid "Parent Page"
87
+ msgstr "Överordnad Sida"
88
+
89
+ #: acf.php:2185
90
+ #@ acf
91
+ msgid "Child Page"
92
+ msgstr "Underordnad Sida"
93
+
94
+ #: acf.php:2193
95
+ #@ acf
96
+ msgid "Default Template"
97
+ msgstr "Standardmall"
98
+
99
+ #: core/actions/export.php:19
100
+ #@ acf
101
+ msgid "No ACF groups selected"
102
+ msgstr "Inga ACF-grupper valda"
103
+
104
+ #: core/actions/init.php:21
105
+ #: core/actions/init.php:116
106
+ #: core/admin/page_acf.php:14
107
+ #@ acf
108
+ msgid "Advanced Custom Fields"
109
+ msgstr "Advanced Custom Fields"
110
+
111
+ #: core/actions/init.php:21
112
+ #@ acf
113
+ msgid "requires a database upgrade"
114
+ msgstr "kräver en databasuppgradering"
115
+
116
+ #: core/actions/init.php:21
117
+ #@ acf
118
+ msgid "why?"
119
+ msgstr "varför?"
120
+
121
+ #: core/actions/init.php:21
122
+ #@ acf
123
+ msgid "Please"
124
+ msgstr "Vänligen"
125
+
126
+ #: core/actions/init.php:21
127
+ #@ acf
128
+ msgid "backup your database"
129
+ msgstr "säkerhetskopiera din databas"
130
+
131
+ #: core/actions/init.php:21
132
+ #@ acf
133
+ msgid "then click"
134
+ msgstr "klicka sedan"
135
+
136
+ #: core/actions/init.php:21
137
+ #@ acf
138
+ msgid "Upgrade Database"
139
+ msgstr "Uppgradera Databas"
140
+
141
+ #: core/actions/init.php:47
142
+ #@ acf
143
+ msgid "Repeater field deactivated"
144
+ msgstr "Upprepningsfält avaktiverat"
145
+
146
+ #: core/actions/init.php:51
147
+ #@ acf
148
+ msgid "Options page deactivated"
149
+ msgstr "Alternativsida avaktiverad"
150
+
151
+ #: core/actions/init.php:55
152
+ #@ acf
153
+ msgid "Flexible Content field deactivated"
154
+ msgstr "Flexibelt Innehållsfält avaktiverat"
155
+
156
+ #: core/actions/init.php:59
157
+ #@ acf
158
+ msgid "Everything Fields deactivated"
159
+ msgstr "Allt-fält avaktiverat"
160
+
161
+ #: core/actions/init.php:87
162
+ #@ acf
163
+ msgid "Repeater field activated"
164
+ msgstr "Upprepningsfält aktiverat"
165
+
166
+ #: core/actions/init.php:91
167
+ #@ acf
168
+ msgid "Options page activated"
169
+ msgstr "Alternativsida aktiverad"
170
+
171
+ #: core/actions/init.php:95
172
+ #@ acf
173
+ msgid "Flexible Content field activated"
174
+ msgstr "Flexibelt Innehållsfält aktiverat"
175
+
176
+ #: core/actions/init.php:99
177
+ #@ acf
178
+ msgid "Everything Fields activated"
179
+ msgstr "Allt-fält aktiverat"
180
+
181
+ #: core/actions/init.php:104
182
+ #@ acf
183
+ msgid "License key unrecognised"
184
+ msgstr "Licensnyckel ogiltig"
185
+
186
+ #: core/actions/init.php:115
187
+ #@ acf
188
+ msgid "Field&nbsp;Groups"
189
+ msgstr "Fältgrupper"
190
+
191
+ #: core/actions/init.php:117
192
+ #: core/fields/flexible_content.php:257
193
+ #@ acf
194
+ msgid "Add New"
195
+ msgstr "Lägg Till"
196
+
197
+ #: core/actions/init.php:118
198
+ #@ acf
199
+ msgid "Add New Field Group"
200
+ msgstr "Lägg Till Fältgrupp"
201
+
202
+ #: core/actions/init.php:119
203
+ #@ acf
204
+ msgid "Edit Field Group"
205
+ msgstr "Redigera Fältgrupp"
206
+
207
+ #: core/actions/init.php:120
208
+ #@ acf
209
+ msgid "New Field Group"
210
+ msgstr "Ny Fältgrupp"
211
+
212
+ #: core/actions/init.php:121
213
+ #@ acf
214
+ msgid "View Field Group"
215
+ msgstr "Visa Fältgrupp"
216
+
217
+ #: core/actions/init.php:122
218
+ #@ acf
219
+ msgid "Search Field Groups"
220
+ msgstr "Sök Fältgrupper"
221
+
222
+ #: core/actions/init.php:123
223
+ #@ acf
224
+ msgid "No Field Groups found"
225
+ msgstr "Inga Fältgrupper funna"
226
+
227
+ #: core/actions/init.php:124
228
+ #@ acf
229
+ msgid "No Field Groups found in Trash"
230
+ msgstr "Inga Fältgrupper funna i papperskorgen"
231
+
232
+ #: core/actions/init.php:153
233
+ #: core/actions/init.php:156
234
+ #@ default
235
+ msgid "Field group updated."
236
+ msgstr "Fältgrupp uppdaterad."
237
+
238
+ #: core/actions/init.php:154
239
+ #@ default
240
+ msgid "Custom field updated."
241
+ msgstr "Anpassat fält uppdaterat."
242
+
243
+ #: core/actions/init.php:155
244
+ #@ default
245
+ msgid "Custom field deleted."
246
+ msgstr "Anpassat fält borttaget."
247
+
248
+ #. translators: %s: date and time of the revision
249
+ #: core/actions/init.php:158
250
+ #, php-format
251
+ #@ default
252
+ msgid "Field group restored to revision from %s"
253
+ msgstr "Fältgrupp återställd till version från %s"
254
+
255
+ #: core/actions/init.php:159
256
+ #@ default
257
+ msgid "Field group published."
258
+ msgstr "Fältgrupp publicerad."
259
+
260
+ #: core/actions/init.php:160
261
+ #@ default
262
+ msgid "Field group saved."
263
+ msgstr "Fältgrupp sparad."
264
+
265
+ #: core/actions/init.php:161
266
+ #@ default
267
+ msgid "Field group submitted."
268
+ msgstr "Fältgrupp skickad."
269
+
270
+ #: core/actions/init.php:162
271
+ #@ default
272
+ msgid "Field group scheduled for."
273
+ msgstr "Fältgrupp planerad till."
274
+
275
+ #: core/actions/init.php:163
276
+ #@ default
277
+ msgid "Field group draft updated."
278
+ msgstr "Fältgruppens utkast uppdaterad."
279
+
280
+ #: core/actions/init.php:181
281
+ #@ default
282
+ msgid "Title"
283
+ msgstr "Titel"
284
+
285
+ #: core/admin/meta_box_fields.php:17
286
+ #: core/fields/flexible_content.php:245
287
+ #: core/fields/repeater.php:218
288
+ #@ acf
289
+ msgid "New Field"
290
+ msgstr "Nytt Fält"
291
+
292
+ #: core/admin/meta_box_fields.php:38
293
+ #@ acf
294
+ msgid "Move to trash. Are you sure?"
295
+ msgstr "Flytta till papperskorgen. Är du säker?"
296
+
297
+ #: core/admin/meta_box_fields.php:50
298
+ #: core/fields/flexible_content.php:309
299
+ #: core/fields/repeater.php:244
300
+ #@ acf
301
+ msgid "Field Order"
302
+ msgstr "Fältordning"
303
+
304
+ #: core/admin/meta_box_fields.php:51
305
+ #: core/admin/meta_box_fields.php:92
306
+ #: core/fields/flexible_content.php:310
307
+ #: core/fields/flexible_content.php:357
308
+ #: core/fields/repeater.php:245
309
+ #: core/fields/repeater.php:292
310
+ #@ acf
311
+ msgid "Field Label"
312
+ msgstr "Fältetikett"
313
+
314
+ #: core/admin/meta_box_fields.php:52
315
+ #: core/admin/meta_box_fields.php:108
316
+ #: core/fields/flexible_content.php:311
317
+ #: core/fields/flexible_content.php:373
318
+ #: core/fields/repeater.php:246
319
+ #: core/fields/repeater.php:308
320
+ #@ acf
321
+ msgid "Field Name"
322
+ msgstr "Fältnamn"
323
+
324
+ #: core/admin/meta_box_fields.php:53
325
+ #: core/admin/meta_box_fields.php:123
326
+ #: core/admin/page_settings.php:44
327
+ #: core/fields/flexible_content.php:312
328
+ #: core/fields/flexible_content.php:388
329
+ #: core/fields/repeater.php:247
330
+ #: core/fields/repeater.php:323
331
+ #@ acf
332
+ msgid "Field Type"
333
+ msgstr "Fälttyp"
334
+
335
+ #: core/admin/meta_box_fields.php:60
336
+ #@ acf
337
+ msgid "No fields. Click the <strong>+ Add Field</strong> button to create your first field."
338
+ msgstr "Inga fält. Klicka på <strong>+ Lägg Till Fält</ strong> för att skapa ditt första fält."
339
+
340
+ #: core/admin/meta_box_fields.php:71
341
+ #: core/admin/meta_box_fields.php:74
342
+ #: core/fields/flexible_content.php:336
343
+ #: core/fields/flexible_content.php:339
344
+ #: core/fields/repeater.php:270
345
+ #: core/fields/repeater.php:273
346
+ #@ acf
347
+ msgid "Edit this Field"
348
+ msgstr "Redigera detta Fält"
349
+
350
+ #: core/admin/meta_box_fields.php:74
351
+ #: core/fields/flexible_content.php:339
352
+ #: core/fields/repeater.php:273
353
+ #@ acf
354
+ msgid "Edit"
355
+ msgstr "Redigera"
356
+
357
+ #: core/admin/meta_box_fields.php:75
358
+ #: core/fields/flexible_content.php:340
359
+ #: core/fields/repeater.php:274
360
+ #@ acf
361
+ msgid "Read documentation for this field"
362
+ msgstr "Läs dokumentation för detta fält"
363
+
364
+ #: core/admin/meta_box_fields.php:75
365
+ #: core/fields/flexible_content.php:340
366
+ #: core/fields/repeater.php:274
367
+ #@ acf
368
+ msgid "Docs"
369
+ msgstr "Dokumentation"
370
+
371
+ #: core/admin/meta_box_fields.php:76
372
+ #: core/fields/flexible_content.php:341
373
+ #: core/fields/repeater.php:275
374
+ #@ acf
375
+ msgid "Duplicate this Field"
376
+ msgstr "Duplicera detta Fält"
377
+
378
+ #: core/admin/meta_box_fields.php:76
379
+ #: core/fields/flexible_content.php:341
380
+ #: core/fields/repeater.php:275
381
+ #@ acf
382
+ msgid "Duplicate"
383
+ msgstr "Duplicera"
384
+
385
+ #: core/admin/meta_box_fields.php:77
386
+ #: core/fields/flexible_content.php:342
387
+ #: core/fields/repeater.php:276
388
+ #@ acf
389
+ msgid "Delete this Field"
390
+ msgstr "Ta bort detta Fält"
391
+
392
+ #: core/admin/meta_box_fields.php:77
393
+ #: core/fields/flexible_content.php:258
394
+ #: core/fields/flexible_content.php:342
395
+ #: core/fields/repeater.php:276
396
+ #@ acf
397
+ msgid "Delete"
398
+ msgstr "Ta bort"
399
+
400
+ #: core/admin/meta_box_fields.php:93
401
+ #: core/fields/flexible_content.php:358
402
+ #: core/fields/repeater.php:293
403
+ #@ acf
404
+ msgid "This is the name which will appear on the EDIT page"
405
+ msgstr "Detta är det namn som visas på sidan redigeringssidan"
406
+
407
+ #: core/admin/meta_box_fields.php:109
408
+ #: core/fields/flexible_content.php:374
409
+ #: core/fields/repeater.php:309
410
+ #@ acf
411
+ msgid "Single word, no spaces. Underscores and dashes allowed"
412
+ msgstr "Ett ord, inga mellanslag. Understreck och bindestreck tillåtet"
413
+
414
+ #: core/admin/meta_box_fields.php:136
415
+ #@ acf
416
+ msgid "Field Instructions"
417
+ msgstr "Fältinstruktioner"
418
+
419
+ #: core/admin/meta_box_fields.php:137
420
+ #@ acf
421
+ msgid "Instructions for authors. Shown when submitting data"
422
+ msgstr "Instruktioner för författare. Visas när data skickas"
423
+
424
+ #: core/admin/meta_box_fields.php:149
425
+ #@ acf
426
+ msgid "Required?"
427
+ msgstr "Obligatorisk?"
428
+
429
+ #: core/admin/meta_box_fields.php:172
430
+ #: core/fields/flexible_content.php:408
431
+ #: core/fields/repeater.php:343
432
+ #@ acf
433
+ msgid "Save Field"
434
+ msgstr "Spara Fält"
435
+
436
+ #: core/admin/meta_box_fields.php:177
437
+ #: core/fields/flexible_content.php:413
438
+ #: core/fields/repeater.php:348
439
+ #@ acf
440
+ msgid "Close Field"
441
+ msgstr "Stäng Fält"
442
+
443
+ #: core/admin/meta_box_fields.php:190
444
+ #: core/fields/flexible_content.php:427
445
+ #: core/fields/repeater.php:363
446
+ #@ acf
447
+ msgid "Drag and drop to reorder"
448
+ msgstr "Dra &amp; släpp för att ändra ordning"
449
+
450
+ #: core/admin/meta_box_fields.php:191
451
+ #@ acf
452
+ msgid "+ Add Field"
453
+ msgstr "+ Lägg Till Fält"
454
+
455
+ #: core/admin/meta_box_location.php:25
456
+ #@ acf
457
+ msgid "Rules"
458
+ msgstr "Regler"
459
+
460
+ #: core/admin/meta_box_location.php:26
461
+ #@ acf
462
+ msgid "Create a set of rules to determine which edit screens will use these advanced custom fields"
463
+ msgstr "Skapa en uppsättning regler för att bestämma vilka redigeringssidor som ska använda dessa avancerade anpassade fält"
464
+
465
+ #: core/admin/meta_box_location.php:37
466
+ #: core/fields/wysiwyg.php:142
467
+ #@ acf
468
+ msgid "Basic"
469
+ msgstr "Enkel"
470
+
471
+ #: core/admin/meta_box_location.php:38
472
+ #: core/fields/page_link.php:194
473
+ #: core/fields/post_object.php:209
474
+ #: core/fields/relationship.php:246
475
+ #@ acf
476
+ msgid "Post Type"
477
+ msgstr "Inläggstyp"
478
+
479
+ #: core/admin/meta_box_location.php:39
480
+ #@ acf
481
+ msgid "Logged in User Type"
482
+ msgstr "Inloggad Användarroll"
483
+
484
+ #: core/admin/meta_box_location.php:41
485
+ #@ acf
486
+ msgid "Page Specific"
487
+ msgstr "Sidspecifik"
488
+
489
+ #: core/admin/meta_box_location.php:42
490
+ #@ acf
491
+ msgid "Page"
492
+ msgstr "Sida"
493
+
494
+ #: core/admin/meta_box_location.php:43
495
+ #@ acf
496
+ msgid "Page Type"
497
+ msgstr "Sidtyp"
498
+
499
+ #: core/admin/meta_box_location.php:44
500
+ #@ acf
501
+ msgid "Page Parent"
502
+ msgstr "Sidförälder"
503
+
504
+ #: core/admin/meta_box_location.php:45
505
+ #@ acf
506
+ msgid "Page Template"
507
+ msgstr "Sidmall"
508
+
509
+ #: core/admin/meta_box_location.php:47
510
+ #@ acf
511
+ msgid "Post Specific"
512
+ msgstr "Inläggsspecifik"
513
+
514
+ #: core/admin/meta_box_location.php:48
515
+ #@ acf
516
+ msgid "Post"
517
+ msgstr "Inlägg"
518
+
519
+ #: core/admin/meta_box_location.php:49
520
+ #@ acf
521
+ msgid "Post Category"
522
+ msgstr "Inläggskategori"
523
+
524
+ #: core/admin/meta_box_location.php:50
525
+ #@ acf
526
+ msgid "Post Format"
527
+ msgstr "Inläggsformat"
528
+
529
+ #: core/admin/meta_box_location.php:51
530
+ #@ acf
531
+ msgid "Post Taxonomy"
532
+ msgstr "Inläggstaxonomi"
533
+
534
+ #: core/admin/meta_box_location.php:53
535
+ #@ acf
536
+ msgid "Other"
537
+ msgstr "Annat"
538
+
539
+ #: core/admin/meta_box_location.php:54
540
+ #@ acf
541
+ msgid "Taxonomy (Add / Edit)"
542
+ msgstr "Taxonomi (Lägg till / Redigera)"
543
+
544
+ #: core/admin/meta_box_location.php:55
545
+ #@ acf
546
+ msgid "User (Add / Edit)"
547
+ msgstr "Användare (Lägg till / Redigera)"
548
+
549
+ #: core/admin/meta_box_location.php:56
550
+ #@ acf
551
+ msgid "Media (Edit)"
552
+ msgstr "Media (Redigera)"
553
+
554
+ #: core/admin/meta_box_location.php:64
555
+ #: core/admin/page_settings.php:92
556
+ #@ acf
557
+ msgid "Options Page"
558
+ msgstr "Alternativsida"
559
+
560
+ #: core/admin/meta_box_location.php:86
561
+ #@ acf
562
+ msgid "is equal to"
563
+ msgstr "är lika med"
564
+
565
+ #: core/admin/meta_box_location.php:87
566
+ #@ acf
567
+ msgid "is not equal to"
568
+ msgstr "är inte lika med"
569
+
570
+ #: core/admin/meta_box_location.php:111
571
+ #@ acf
572
+ msgid "match"
573
+ msgstr "matchar"
574
+
575
+ #: core/admin/meta_box_location.php:117
576
+ #@ acf
577
+ msgid "all"
578
+ msgstr "alla"
579
+
580
+ #: core/admin/meta_box_location.php:118
581
+ #@ acf
582
+ msgid "any"
583
+ msgstr "någon"
584
+
585
+ #: core/admin/meta_box_location.php:121
586
+ #@ acf
587
+ msgid "of the above"
588
+ msgstr "av ovanstående"
589
+
590
+ #: core/admin/meta_box_location.php:134
591
+ #@ acf
592
+ msgid "Unlock options add-on with an activation code"
593
+ msgstr "Lås upp alternativtillägget med en aktiveringskod"
594
+
595
+ #: core/admin/meta_box_options.php:13
596
+ #@ acf
597
+ msgid "Order No."
598
+ msgstr "Sorteringsnummer."
599
+
600
+ #: core/admin/meta_box_options.php:14
601
+ #@ acf
602
+ msgid "Field groups are created in order <br />from lowest to highest."
603
+ msgstr "Fältgrupper skapas i ordning <br /> från lägsta till högsta."
604
+
605
+ #: core/admin/meta_box_options.php:30
606
+ #@ acf
607
+ msgid "Position"
608
+ msgstr "Position"
609
+
610
+ #: core/admin/meta_box_options.php:40
611
+ #@ acf
612
+ msgid "Normal"
613
+ msgstr "Normal"
614
+
615
+ #: core/admin/meta_box_options.php:41
616
+ #@ acf
617
+ msgid "Side"
618
+ msgstr "Sidan"
619
+
620
+ #: core/admin/meta_box_options.php:50
621
+ #@ acf
622
+ msgid "Style"
623
+ msgstr "Stil"
624
+
625
+ #: core/admin/meta_box_options.php:60
626
+ #@ acf
627
+ msgid "Standard Metabox"
628
+ msgstr "Standard Metabox"
629
+
630
+ #: core/admin/meta_box_options.php:61
631
+ #@ acf
632
+ msgid "No Metabox"
633
+ msgstr "Ingen Metabox"
634
+
635
+ #: core/admin/meta_box_options.php:70
636
+ #@ acf
637
+ msgid "Show on page"
638
+ msgstr "Visa på sidan"
639
+
640
+ #: core/admin/meta_box_options.php:71
641
+ #@ acf
642
+ msgid "Deselect items to hide them on the edit page"
643
+ msgstr "Avmarkera objekt för att dölja dem på redigeringssidan"
644
+
645
+ #: core/admin/meta_box_options.php:72
646
+ #@ acf
647
+ msgid "If multiple ACF groups appear on an edit page, the first ACF group's options will be used. The first ACF group is the one with the lowest order number."
648
+ msgstr "Om flera ACF-grupper visas på en redigeringssidan kommer den första ACF-gruppens alternativ användas. Den första ACF-gruppen är den med lägst sorteringsnummer."
649
+
650
+ #: core/admin/meta_box_options.php:82
651
+ #@ acf
652
+ msgid "Content Editor"
653
+ msgstr "Innehållsredigerare"
654
+
655
+ #: core/admin/meta_box_options.php:84
656
+ #@ acf
657
+ msgid "Discussion"
658
+ msgstr "Diskussion"
659
+
660
+ #: core/admin/meta_box_options.php:85
661
+ #@ acf
662
+ msgid "Comments"
663
+ msgstr "Kommentarer"
664
+
665
+ #: core/admin/meta_box_options.php:86
666
+ #@ acf
667
+ msgid "Slug"
668
+ msgstr "URL"
669
+
670
+ #: core/admin/meta_box_options.php:87
671
+ #@ acf
672
+ msgid "Author"
673
+ msgstr "Författare"
674
+
675
+ #: core/admin/page_acf.php:16
676
+ #@ acf
677
+ msgid "Changelog"
678
+ msgstr "Versionslogg"
679
+
680
+ #: core/admin/page_acf.php:17
681
+ #@ acf
682
+ msgid "See what's new in"
683
+ msgstr "Se vad som är nytt i"
684
+
685
+ #: core/admin/page_acf.php:19
686
+ #@ acf
687
+ msgid "Resources"
688
+ msgstr "Resurser"
689
+
690
+ #: core/admin/page_acf.php:20
691
+ #@ acf
692
+ msgid "Read documentation, learn the functions and find some tips &amp; tricks for your next web project."
693
+ msgstr "Läs dokumentationen, lär dig funktionerna och hitta tips &amp; tricks för ditt nästa webbprojekt."
694
+
695
+ #: core/admin/page_acf.php:21
696
+ #@ acf
697
+ msgid "View the ACF website"
698
+ msgstr "Visa ACF:s webbplats"
699
+
700
+ #: core/admin/page_acf.php:26
701
+ #@ acf
702
+ msgid "Created by"
703
+ msgstr "Skapad av"
704
+
705
+ #: core/admin/page_acf.php:29
706
+ #@ acf
707
+ msgid "Vote"
708
+ msgstr "Rösta"
709
+
710
+ #: core/admin/page_acf.php:30
711
+ #@ acf
712
+ msgid "Follow"
713
+ msgstr "Följ"
714
+
715
+ #: core/admin/page_settings.php:23
716
+ #@ acf
717
+ msgid "Advanced Custom Fields Settings"
718
+ msgstr "Advanced Custom Fields Inställningar"
719
+
720
+ #: core/admin/page_settings.php:40
721
+ #@ acf
722
+ msgid "Activate Add-ons."
723
+ msgstr "Aktivera tillägg."
724
+
725
+ #: core/admin/page_settings.php:45
726
+ #@ acf
727
+ msgid "Status"
728
+ msgstr "Status"
729
+
730
+ #: core/admin/page_settings.php:46
731
+ #@ acf
732
+ msgid "Activation Code"
733
+ msgstr "Aktiveringskod"
734
+
735
+ #: core/admin/page_settings.php:52
736
+ #@ acf
737
+ msgid "Repeater Field"
738
+ msgstr "Upprepningsfält"
739
+
740
+ #: core/admin/page_settings.php:53
741
+ #: core/admin/page_settings.php:73
742
+ #: core/admin/page_settings.php:93
743
+ #@ acf
744
+ msgid "Active"
745
+ msgstr "Aktiv"
746
+
747
+ #: core/admin/page_settings.php:53
748
+ #: core/admin/page_settings.php:73
749
+ #: core/admin/page_settings.php:93
750
+ #@ acf
751
+ msgid "Inactive"
752
+ msgstr "Inaktiv"
753
+
754
+ #: core/admin/page_settings.php:72
755
+ #@ acf
756
+ msgid "Flexible Content Field"
757
+ msgstr "Flexibelt Innehållsfält"
758
+
759
+ #: core/admin/page_settings.php:115
760
+ #@ acf
761
+ msgid "Add-ons can be unlocked by purchasing a license key. Each key can be used on multiple sites."
762
+ msgstr "Tillägg kan låsas upp genom att köpa en licensnyckel. Varje nyckel kan användas på flera webbplatser."
763
+
764
+ #: core/admin/page_settings.php:115
765
+ #@ acf
766
+ msgid "Find Add-ons"
767
+ msgstr "Hitta Tillägg"
768
+
769
+ #: core/admin/page_settings.php:133
770
+ #@ acf
771
+ msgid "Export Field Groups to XML"
772
+ msgstr "Exportera Fältgrupper till XML"
773
+
774
+ #: core/admin/page_settings.php:166
775
+ #@ acf
776
+ msgid "ACF will create a .xml export file which is compatible with the native WP import plugin."
777
+ msgstr "ACF kommer att skapa en .xml exportfil som är kompatibel med det inbyggda WP-importverktyget."
778
+
779
+ #: core/admin/page_settings.php:169
780
+ #@ acf
781
+ msgid "Export XML"
782
+ msgstr "Exportera XML"
783
+
784
+ #: core/admin/page_settings.php:175
785
+ #@ acf
786
+ msgid "Import Field Groups"
787
+ msgstr "Importera Fältgrupper"
788
+
789
+ #: core/admin/page_settings.php:177
790
+ #@ acf
791
+ msgid "Navigate to the"
792
+ msgstr "Navigera till"
793
+
794
+ #: core/admin/page_settings.php:177
795
+ #@ acf
796
+ msgid "Import Tool"
797
+ msgstr "Import Verktyg"
798
+
799
+ #: core/admin/page_settings.php:177
800
+ #@ acf
801
+ msgid "and select WordPress"
802
+ msgstr "och välj Wordpress"
803
+
804
+ #: core/admin/page_settings.php:178
805
+ #@ acf
806
+ msgid "Install WP import plugin if prompted"
807
+ msgstr "Installera verktyget WP-import om du uppmanas"
808
+
809
+ #: core/admin/page_settings.php:179
810
+ #@ acf
811
+ msgid "Upload and import your exported .xml file"
812
+ msgstr "Ladda upp och importera den exporterade .xml-filen"
813
+
814
+ #: core/admin/page_settings.php:180
815
+ #@ acf
816
+ msgid "Select your user and ignore Import Attachments"
817
+ msgstr "Välj användare och ignorera Importera Bilagor"
818
+
819
+ #: core/admin/page_settings.php:181
820
+ #@ acf
821
+ msgid "That's it! Happy WordPressing"
822
+ msgstr "Det var allt! Happy WordPressing"
823
+
824
+ #: core/admin/page_settings.php:200
825
+ #@ acf
826
+ msgid "Export Field Groups to PHP"
827
+ msgstr "Exportera Fältgrupper till PHP"
828
+
829
+ #: core/admin/page_settings.php:233
830
+ #@ acf
831
+ msgid "ACF will create the PHP code to include in your theme"
832
+ msgstr "ACF kommer att skapa den PHP-kod du ska lägga in i ditt tema"
833
+
834
+ #: core/admin/page_settings.php:236
835
+ #@ acf
836
+ msgid "Create PHP"
837
+ msgstr "Skapa PHP"
838
+
839
+ #: core/admin/page_settings.php:242
840
+ #: core/admin/page_settings.php:270
841
+ #@ acf
842
+ msgid "Register Field Groups with PHP"
843
+ msgstr "Registrera Fältgrupper med PHP"
844
+
845
+ #: core/admin/page_settings.php:244
846
+ #: core/admin/page_settings.php:272
847
+ #@ acf
848
+ msgid "Copy the PHP code generated"
849
+ msgstr "Kopiera den genererade PHP-koden"
850
+
851
+ #: core/admin/page_settings.php:245
852
+ #: core/admin/page_settings.php:273
853
+ #@ acf
854
+ msgid "Paste into your functions.php file"
855
+ msgstr "Klistra in i din functions.php-fil"
856
+
857
+ #: core/admin/page_settings.php:246
858
+ #: core/admin/page_settings.php:274
859
+ #@ acf
860
+ msgid "To activate any Add-ons, edit and use the code in the first few lines."
861
+ msgstr "För att aktivera Tillägg, redigera och använda koden i de första raderna."
862
+
863
+ #: core/admin/page_settings.php:267
864
+ #@ acf
865
+ msgid "Back to settings"
866
+ msgstr "Tillbaka till inställningar"
867
+
868
+ #: core/admin/page_settings.php:295
869
+ #@ acf
870
+ msgid ""
871
+ "/**\n"
872
+ " * Activate Add-ons\n"
873
+ " * Here you can enter your activation codes to unlock Add-ons to use in your theme. \n"
874
+ " * Since all activation codes are multi-site licenses, you are allowed to include your key in premium themes. \n"
875
+ " * Use the commented out code to update the database with your activation code. \n"
876
+ " * You may place this code inside an IF statement that only runs on theme activation.\n"
877
+ " */"
878
+ msgstr ""
879
+ "/**\n"
880
+ " * Aktivera tillägg\n"
881
+ " * Här kan du ange dina aktiveringskoder för att låsa upp tillägg att använda i ditt tema. \n"
882
+ " * Eftersom alla aktiveringskoder är multi-site-licenser, är det tillåtet att använda din nyckel i premium-teman. \n"
883
+ " * Använd den bortkommenterad koden för att uppdatera databasen med din aktiveringskod. \n"
884
+ " * Du kan placera den här koden inuti en IF-sats som bara körs vid tema-aktivering.\n"
885
+ " */"
886
+
887
+ #: core/admin/page_settings.php:308
888
+ #@ acf
889
+ msgid ""
890
+ "/**\n"
891
+ " * Register field groups\n"
892
+ " * The register_field_group function accepts 1 array which holds the relevant data to register a field group\n"
893
+ " * You may edit the array as you see fit. However, this may result in errors if the array is not compatible with ACF\n"
894
+ " * This code must run every time the functions.php file is read\n"
895
+ " */"
896
+ msgstr ""
897
+ "/**\n"
898
+ " * Registrera fältgrupper \n"
899
+ " * register_field_group-funktionen accepterar 1 lista som innehåller relevanta data för att registrera en fältgrupp\n"
900
+ " * Du kan redigera listan som du vill. Detta kan dock resultera i fel om listan inte är kompatibel med ACF\n"
901
+ " * Denna kod måste köra varje gång functions.php-filen läses\n"
902
+ " */"
903
+
904
+ #: core/admin/page_settings.php:336
905
+ #@ acf
906
+ msgid "No field groups were selected"
907
+ msgstr "Inga fältgrupper valdes"
908
+
909
+ #: core/fields/checkbox.php:21
910
+ #@ acf
911
+ msgid "Checkbox"
912
+ msgstr "Kryssryta"
913
+
914
+ #: core/fields/checkbox.php:44
915
+ #: core/fields/radio.php:45
916
+ #: core/fields/select.php:50
917
+ #@ acf
918
+ msgid "No choices to choose from"
919
+ msgstr "Inga val att välja mellan"
920
+
921
+ #: core/fields/checkbox.php:102
922
+ #: core/fields/radio.php:114
923
+ #: core/fields/select.php:164
924
+ #@ acf
925
+ msgid "Choices"
926
+ msgstr "Val"
927
+
928
+ #: core/fields/checkbox.php:103
929
+ #: core/fields/radio.php:115
930
+ #: core/fields/select.php:165
931
+ #@ acf
932
+ msgid "Enter your choices one per line"
933
+ msgstr "Ange dina val, ett per rad"
934
+
935
+ #: core/fields/checkbox.php:105
936
+ #: core/fields/radio.php:117
937
+ #: core/fields/select.php:167
938
+ #@ acf
939
+ msgid "Red"
940
+ msgstr "Röd"
941
+
942
+ #: core/fields/checkbox.php:106
943
+ #: core/fields/radio.php:118
944
+ #: core/fields/select.php:168
945
+ #@ acf
946
+ msgid "Blue"
947
+ msgstr "Blå"
948
+
949
+ #: core/fields/checkbox.php:108
950
+ #: core/fields/radio.php:120
951
+ #: core/fields/select.php:170
952
+ #@ acf
953
+ msgid "red : Red"
954
+ msgstr "röd : Röd"
955
+
956
+ #: core/fields/checkbox.php:109
957
+ #: core/fields/radio.php:121
958
+ #: core/fields/select.php:171
959
+ #@ acf
960
+ msgid "blue : Blue"
961
+ msgstr "blå : Blå"
962
+
963
+ #: core/fields/color_picker.php:21
964
+ #@ acf
965
+ msgid "Color Picker"
966
+ msgstr "Färgväljare"
967
+
968
+ #: core/fields/date_picker/date_picker.php:21
969
+ #@ acf
970
+ msgid "Date Picker"
971
+ msgstr "Datumväljare"
972
+
973
+ #: core/fields/date_picker/date_picker.php:82
974
+ #@ acf
975
+ msgid "Date format"
976
+ msgstr "Datumformat"
977
+
978
+ #: core/fields/date_picker/date_picker.php:83
979
+ #@ acf
980
+ msgid "eg. dd/mm/yy. read more about"
981
+ msgstr "t.ex. dd/mm/yy. läs mer om"
982
+
983
+ #: core/fields/file.php:20
984
+ #@ acf
985
+ msgid "File"
986
+ msgstr "Fil"
987
+
988
+ #: core/fields/file.php:60
989
+ #@ acf
990
+ msgid "Remove File"
991
+ msgstr "Ta Bort Fil"
992
+
993
+ #: core/fields/file.php:165
994
+ #@ acf
995
+ msgid "No File Selected"
996
+ msgstr "Ingen Fil Vald"
997
+
998
+ #: core/fields/file.php:165
999
+ #@ acf
1000
+ msgid "Add File"
1001
+ msgstr "Lägg Till Fil"
1002
+
1003
+ #: core/fields/file.php:194
1004
+ #: core/fields/image.php:177
1005
+ #@ acf
1006
+ msgid "Return Value"
1007
+ msgstr "Returnera Värde"
1008
+
1009
+ #: core/fields/file.php:342
1010
+ #@ acf
1011
+ msgid "No files selected"
1012
+ msgstr "Inga filer valda"
1013
+
1014
+ #: core/fields/file.php:419
1015
+ #@ acf
1016
+ msgid "Add Selected Files"
1017
+ msgstr "Lägg till Valda Filer"
1018
+
1019
+ #: core/fields/file.php:445
1020
+ #@ acf
1021
+ msgid "Select File"
1022
+ msgstr "Välj Fil"
1023
+
1024
+ #: core/fields/flexible_content.php:21
1025
+ #@ acf
1026
+ msgid "Flexible Content"
1027
+ msgstr "Flexibelt Innehåll"
1028
+
1029
+ #: core/fields/flexible_content.php:38
1030
+ #: core/fields/flexible_content.php:218
1031
+ #: core/fields/repeater.php:65
1032
+ #: core/fields/repeater.php:213
1033
+ #@ acf
1034
+ msgid "+ Add Row"
1035
+ msgstr "+ Lägg Till Rad"
1036
+
1037
+ #: core/fields/flexible_content.php:254
1038
+ #: core/fields/radio.php:144
1039
+ #: core/fields/repeater.php:386
1040
+ #@ acf
1041
+ msgid "Layout"
1042
+ msgstr "Layout"
1043
+
1044
+ #: core/fields/flexible_content.php:256
1045
+ #@ acf
1046
+ msgid "Reorder Layout"
1047
+ msgstr "Ändra Ordning på Layout"
1048
+
1049
+ #: core/fields/flexible_content.php:256
1050
+ #@ acf
1051
+ msgid "Reorder"
1052
+ msgstr "Ändra ordning"
1053
+
1054
+ #: core/fields/flexible_content.php:257
1055
+ #@ acf
1056
+ msgid "Add New Layout"
1057
+ msgstr "Lägg till Ny Layout"
1058
+
1059
+ #: core/fields/flexible_content.php:258
1060
+ #@ acf
1061
+ msgid "Delete Layout"
1062
+ msgstr "Ta bort Layout"
1063
+
1064
+ #: core/fields/flexible_content.php:268
1065
+ #@ acf
1066
+ msgid "Label"
1067
+ msgstr "Etikett"
1068
+
1069
+ #: core/fields/flexible_content.php:278
1070
+ #@ acf
1071
+ msgid "Name"
1072
+ msgstr "Namn"
1073
+
1074
+ #: core/fields/flexible_content.php:288
1075
+ #@ acf
1076
+ msgid "Display"
1077
+ msgstr "Visa som"
1078
+
1079
+ #: core/fields/flexible_content.php:295
1080
+ #@ acf
1081
+ msgid "Table"
1082
+ msgstr "Tabell"
1083
+
1084
+ #: core/fields/flexible_content.php:296
1085
+ #: core/fields/repeater.php:397
1086
+ #@ acf
1087
+ msgid "Row"
1088
+ msgstr "Rad"
1089
+
1090
+ #: core/fields/flexible_content.php:320
1091
+ #: core/fields/repeater.php:255
1092
+ #@ acf
1093
+ msgid "No fields. Click the \"+ Add Sub Field button\" to create your first field."
1094
+ msgstr "Inga fält. Klicka på \"+ Lägg till Subfält-knappen\" för att skapa ditt första fält."
1095
+
1096
+ #: core/fields/flexible_content.php:413
1097
+ #: core/fields/repeater.php:348
1098
+ #@ acf
1099
+ msgid "Close Sub Field"
1100
+ msgstr "Stäng Subfält"
1101
+
1102
+ #: core/fields/flexible_content.php:428
1103
+ #: core/fields/repeater.php:364
1104
+ #@ acf
1105
+ msgid "+ Add Sub Field"
1106
+ msgstr "+ Lägg till Subfält"
1107
+
1108
+ #: core/fields/flexible_content.php:435
1109
+ #: core/fields/repeater.php:405
1110
+ #@ acf
1111
+ msgid "Button Label"
1112
+ msgstr "Knappetikett"
1113
+
1114
+ #: core/fields/image.php:21
1115
+ #@ acf
1116
+ msgid "Image"
1117
+ msgstr "Bild"
1118
+
1119
+ #: core/fields/image.php:153
1120
+ #@ acf
1121
+ msgid "No image selected"
1122
+ msgstr "Ingen bild vald"
1123
+
1124
+ #: core/fields/image.php:153
1125
+ #@ acf
1126
+ msgid "Add Image"
1127
+ msgstr "Lägg till Bild"
1128
+
1129
+ #: core/fields/image.php:187
1130
+ #@ acf
1131
+ msgid "Image URL"
1132
+ msgstr "Bild URL"
1133
+
1134
+ #: core/fields/image.php:188
1135
+ #@ acf
1136
+ msgid "Attachment ID"
1137
+ msgstr "Bilagans ID"
1138
+
1139
+ #: core/fields/image.php:196
1140
+ #@ acf
1141
+ msgid "Preview Size"
1142
+ msgstr "Förhandsgranskningens storlek"
1143
+
1144
+ #: core/fields/image.php:206
1145
+ #@ acf
1146
+ msgid "Thumbnail"
1147
+ msgstr "Miniatyr"
1148
+
1149
+ #: core/fields/image.php:207
1150
+ #@ acf
1151
+ msgid "Medium"
1152
+ msgstr "Medium"
1153
+
1154
+ #: core/fields/image.php:208
1155
+ #@ acf
1156
+ msgid "Large"
1157
+ msgstr "Stor"
1158
+
1159
+ #: core/fields/image.php:209
1160
+ #: core/fields/wysiwyg.php:141
1161
+ #@ acf
1162
+ msgid "Full"
1163
+ msgstr "Original"
1164
+
1165
+ #: core/fields/image.php:392
1166
+ #@ acf
1167
+ msgid "No images selected"
1168
+ msgstr "Inga bilder valda"
1169
+
1170
+ #: core/fields/image.php:469
1171
+ #@ acf
1172
+ msgid "Add selected Images"
1173
+ msgstr "Lägg till valda Bilder"
1174
+
1175
+ #: core/fields/image.php:495
1176
+ #@ acf
1177
+ msgid "Select Image"
1178
+ msgstr "Välj bild"
1179
+
1180
+ #: core/fields/page_link.php:21
1181
+ #@ acf
1182
+ msgid "Page Link"
1183
+ msgstr "Sidlänk"
1184
+
1185
+ #: core/fields/page_link.php:71
1186
+ #: core/fields/post_object.php:64
1187
+ #: core/fields/select.php:21
1188
+ #@ acf
1189
+ msgid "Select"
1190
+ msgstr "Välj"
1191
+
1192
+ #: core/fields/page_link.php:195
1193
+ #@ acf
1194
+ msgid ""
1195
+ "Filter posts by selecting a post type<br />\n"
1196
+ "\t\t\t\tTip: deselect all post types to show all post type's posts"
1197
+ msgstr ""
1198
+ "Filtrera inlägg genom att välja en inläggstyp<br />\n"
1199
+ "\t\t\t\tTip: avmarkera alla inläggstyper för att visa alla inläggstypers inlägg"
1200
+
1201
+ #: core/fields/page_link.php:200
1202
+ #: core/fields/post_object.php:213
1203
+ #: core/fields/post_object.php:237
1204
+ #: core/fields/relationship.php:250
1205
+ #: core/fields/relationship.php:301
1206
+ #@ acf
1207
+ msgid "All"
1208
+ msgstr "Alla"
1209
+
1210
+ #: core/fields/page_link.php:223
1211
+ #: core/fields/post_object.php:281
1212
+ #: core/fields/select.php:194
1213
+ #@ acf
1214
+ msgid "Allow Null?"
1215
+ msgstr "Tillåt oredigerade fält?"
1216
+
1217
+ #: core/fields/page_link.php:232
1218
+ #: core/fields/page_link.php:251
1219
+ #: core/fields/post_object.php:290
1220
+ #: core/fields/post_object.php:309
1221
+ #: core/fields/select.php:203
1222
+ #: core/fields/select.php:222
1223
+ #: core/fields/wysiwyg.php:160
1224
+ #@ acf
1225
+ msgid "Yes"
1226
+ msgstr "Ja"
1227
+
1228
+ #: core/fields/page_link.php:233
1229
+ #: core/fields/page_link.php:252
1230
+ #: core/fields/post_object.php:291
1231
+ #: core/fields/post_object.php:310
1232
+ #: core/fields/select.php:204
1233
+ #: core/fields/select.php:223
1234
+ #: core/fields/wysiwyg.php:161
1235
+ #@ acf
1236
+ msgid "No"
1237
+ msgstr "Nej"
1238
+
1239
+ #: core/fields/page_link.php:242
1240
+ #: core/fields/post_object.php:300
1241
+ #: core/fields/select.php:213
1242
+ #@ acf
1243
+ msgid "Select multiple values?"
1244
+ msgstr "Markera flera värden?"
1245
+
1246
+ #: core/fields/post_object.php:21
1247
+ #@ acf
1248
+ msgid "Post Object"
1249
+ msgstr "Inläggsobjekt"
1250
+
1251
+ #: core/fields/post_object.php:231
1252
+ #: core/fields/relationship.php:295
1253
+ #@ acf
1254
+ msgid "Filter from Taxonomy"
1255
+ msgstr "Filtrera från Taxonomi"
1256
+
1257
+ #: core/fields/radio.php:21
1258
+ #@ acf
1259
+ msgid "Radio Button"
1260
+ msgstr "Envalsknapp"
1261
+
1262
+ #: core/fields/radio.php:130
1263
+ #: core/fields/select.php:180
1264
+ #: core/fields/text.php:61
1265
+ #: core/fields/textarea.php:62
1266
+ #@ acf
1267
+ msgid "Default Value"
1268
+ msgstr "Standardvärde"
1269
+
1270
+ #: core/fields/radio.php:154
1271
+ #@ acf
1272
+ msgid "Vertical"
1273
+ msgstr "Vertikal"
1274
+
1275
+ #: core/fields/radio.php:155
1276
+ #@ acf
1277
+ msgid "Horizontal"
1278
+ msgstr "Horisontell"
1279
+
1280
+ #: core/fields/relationship.php:21
1281
+ #@ acf
1282
+ msgid "Relationship"
1283
+ msgstr "Förhållande"
1284
+
1285
+ #: core/fields/relationship.php:134
1286
+ #@ acf
1287
+ msgid "Search"
1288
+ msgstr "Sök"
1289
+
1290
+ #: core/fields/relationship.php:318
1291
+ #@ acf
1292
+ msgid "Maximum posts"
1293
+ msgstr "Maximalt antal inlägg"
1294
+
1295
+ #: core/fields/relationship.php:319
1296
+ #@ acf
1297
+ msgid "Set to -1 for infinite"
1298
+ msgstr "Ställ in -1 för oändligt"
1299
+
1300
+ #: core/fields/repeater.php:21
1301
+ #@ acf
1302
+ msgid "Repeater"
1303
+ msgstr "Upprepning"
1304
+
1305
+ #: core/fields/repeater.php:236
1306
+ #@ acf
1307
+ msgid "Repeater Fields"
1308
+ msgstr "Upprepningsfält"
1309
+
1310
+ #: core/fields/repeater.php:372
1311
+ #@ acf
1312
+ msgid "Row Limit"
1313
+ msgstr "Rad Begränsning"
1314
+
1315
+ #: core/fields/repeater.php:396
1316
+ #@ acf
1317
+ msgid "Table (default)"
1318
+ msgstr "Tabell (standard)"
1319
+
1320
+ #: core/fields/text.php:21
1321
+ #@ acf
1322
+ msgid "Text"
1323
+ msgstr "Text"
1324
+
1325
+ #: core/fields/text.php:75
1326
+ #: core/fields/textarea.php:76
1327
+ #@ acf
1328
+ msgid "Formatting"
1329
+ msgstr "Formatering"
1330
+
1331
+ #: core/fields/text.php:76
1332
+ #@ acf
1333
+ msgid "Define how to render html tags"
1334
+ msgstr "Ange hur html-taggar ska renderas"
1335
+
1336
+ #: core/fields/text.php:85
1337
+ #: core/fields/textarea.php:86
1338
+ #@ acf
1339
+ msgid "None"
1340
+ msgstr "Ingen"
1341
+
1342
+ #: core/fields/text.php:86
1343
+ #: core/fields/textarea.php:88
1344
+ #@ acf
1345
+ msgid "HTML"
1346
+ msgstr "HTML"
1347
+
1348
+ #: core/fields/textarea.php:21
1349
+ #@ acf
1350
+ msgid "Text Area"
1351
+ msgstr "Textfält"
1352
+
1353
+ #: core/fields/textarea.php:77
1354
+ #@ acf
1355
+ msgid "Define how to render html tags / new lines"
1356
+ msgstr "Ange hur html-taggar / nya rader ska renderas"
1357
+
1358
+ #: core/fields/textarea.php:87
1359
+ #@ acf
1360
+ msgid "auto &lt;br /&gt;"
1361
+ msgstr "auto &lt;br /&gt;"
1362
+
1363
+ #: core/fields/true_false.php:21
1364
+ #@ acf
1365
+ msgid "True / False"
1366
+ msgstr "Sant / Falskt"
1367
+
1368
+ #: core/fields/true_false.php:68
1369
+ #@ acf
1370
+ msgid "Message"
1371
+ msgstr "Meddelande"
1372
+
1373
+ #: core/fields/true_false.php:69
1374
+ #@ acf
1375
+ msgid "eg. Show extra content"
1376
+ msgstr "t.ex. Visa extra innehåll"
1377
+
1378
+ #: core/fields/wysiwyg.php:21
1379
+ #@ acf
1380
+ msgid "Wysiwyg Editor"
1381
+ msgstr "Wysiwyg-redigerare"
1382
+
1383
+ #: core/fields/wysiwyg.php:131
1384
+ #@ acf
1385
+ msgid "Toolbar"
1386
+ msgstr "Verktygsfält"
1387
+
1388
+ #: core/fields/wysiwyg.php:150
1389
+ #@ acf
1390
+ msgid "Show Media Upload Buttons?"
1391
+ msgstr "Visa knappar för Mediauppladdning?"
1392
+
1393
+ #: core/options_page.php:161
1394
+ #@ acf
1395
+ msgid "Options Updated"
1396
+ msgstr "Alternativ Uppdaterade"
1397
+
1398
+ #: core/options_page.php:275
1399
+ #@ acf
1400
+ msgid "No Custom Field Group found for the options page"
1401
+ msgstr "Inga Anpassade Fältgrupper funna för alternativsidan"
1402
+
1403
+ #: core/options_page.php:275
1404
+ #@ acf
1405
+ msgid "Create a Custom Field Group"
1406
+ msgstr "Skapa en anpassad fältgrupp"
1407
+
1408
+ #: core/options_page.php:286
1409
+ #@ acf
1410
+ msgid "Publish"
1411
+ msgstr "Publicera"
1412
+
readme.txt CHANGED
@@ -85,6 +85,24 @@ http://www.advancedcustomfields.com/support/
85
 
86
  == Changelog ==
87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  = 3.2.0 =
89
  * Fixed Browser bug with Flexible Field: Add Row button works again
90
  * Added Brazilian Translation. Thanks to Marcelo Paoli Graciano - www.paolidesign.com.br
85
 
86
  == Changelog ==
87
 
88
+ = 3.2.2 =
89
+ * [Fixed] Fix layout bug: Nested repeaters of different layouts
90
+ * [Fixed] Fix strip slashes bug
91
+ * [Fixed] Fix nested repeater bug - http://www.advancedcustomfields.com/support/discussion/2068/latest-update-broken-editing-environment-
92
+ * [Fixed] Test / Fix add multiple images to repeater
93
+
94
+ = 3.2.1 =
95
+ * Field groups can now be added to options page with layout "side"
96
+ * Fixed debug error when saving a taxonomy:
97
+ * Fixed unnecessary code: Remove Strip Slashes on save functions
98
+ * Added new add row buttons to the repeater field and upgraded the css / js
99
+ * Fixed debug error caused by the WYSIWYG field: wp_tiny_mce is deprecated since version 3.3! Use wp_editor() instead.
100
+ * Fixed duplicate field error where all sub fields became repeater fields.
101
+ * Add Swedish translation: http://advancedcustomfields.com/support/discussion/1993/swedish-translation
102
+ * CSS improvements
103
+ * Fixed IE9 Bug not returning an image preview on upload / select
104
+ * Fixed Multi export php syntax bug.
105
+
106
  = 3.2.0 =
107
  * Fixed Browser bug with Flexible Field: Add Row button works again
108
  * Added Brazilian Translation. Thanks to Marcelo Paoli Graciano - www.paolidesign.com.br