Pods – Custom Content Types and Fields - Version 2.5.5

Version Description

  • September 16th, 2015 =
  • Added: Unit testing for PHPUnit 4.8 support. (#3090, #3069) Kudos to @Ramoonus
  • Fixed: Drop External code coverage - timeout in Scrutinizer. (#3091) Kudos to @Ramoonus
  • Fixed: Changed Content property to fix spacing issues with AutoComplete Field where the formatted selection fields have awkward spacing between the selection box and the selection list. (#3098, #3097, #3099) Kudos to @nicdford
  • Fixed: Issue where [each] tag traversal did not work with Taxonomy in Pods Templates. Related notes regarding pod->object_fields for taxonomy added for 3.0 notes. (#3106, #3018, #3107, #3111) Major thanks to @pglewis
  • Fixed: permalink field traversal has only been working for post types, not for related taxonomies. (#2779, #3114, #3115) Kudos to @pglewis
  • Added: Support for CPT UI 1.0.x in CPT UI migration component by adding support for multiple possible option names for post types and taxonomies. (#3112, #3109, #3113, #3116, #3117) Kudos to @pglewis
  • Added: Merged Auto Template into Pods Template Component. (#3125, #3105) Major thanks to @Shelob9 both for the original plugin and for incorporating this into Pods Templates.
  • Added: License.txt changes to sync with GPL v2 (#3130, #3133) Kudos to @Ramoonus
Download this release

Release Info

Developer sc0ttkclark
Plugin Icon 128x128 Pods – Custom Content Types and Fields
Version 2.5.5
Comparing to
See all releases

Code changes from version 2.4.4 to 2.5.5

Files changed (51) hide show
  1. classes/Pods.php +184 -79
  2. classes/PodsAPI.php +654 -460
  3. classes/PodsAdmin.php +47 -33
  4. classes/PodsComponents.php +1 -1
  5. classes/PodsData.php +196 -121
  6. classes/PodsForm.php +97 -31
  7. classes/PodsInit.php +85 -32
  8. classes/PodsMeta.php +122 -40
  9. classes/PodsTermSplitting.php +515 -0
  10. classes/PodsUI.php +257 -268
  11. classes/PodsView.php +17 -10
  12. classes/fields/avatar.php +8 -0
  13. classes/fields/color.php +6 -4
  14. classes/fields/currency.php +7 -2
  15. classes/fields/file.php +11 -5
  16. classes/fields/number.php +5 -0
  17. classes/fields/pick.php +92 -34
  18. classes/widgets/PodsWidgetField.php +19 -5
  19. classes/widgets/PodsWidgetForm.php +19 -2
  20. classes/widgets/PodsWidgetList.php +19 -5
  21. classes/widgets/PodsWidgetSingle.php +18 -5
  22. classes/widgets/PodsWidgetView.php +19 -5
  23. components/Helpers.php +1 -1
  24. components/Migrate-CPTUI/Migrate-CPTUI.php +86 -20
  25. components/Migrate-CPTUI/ui/wizard.php +2 -2
  26. components/Migrate-Packages/ui/wizard.php +10 -10
  27. components/Pages.php +11 -7
  28. components/Roles/Roles.php +0 -1
  29. components/Roles/ui/add.php +3 -3
  30. components/Roles/ui/edit.php +2 -2
  31. components/Templates/Templates.php +13 -15
  32. components/Templates/assets/css/codemirror1.css +0 -247
  33. components/Templates/assets/js/codemirror-compressed1.js +0 -6
  34. components/Templates/assets/js/editor1.js +13 -5
  35. components/Templates/class-pods_templates.php +18 -16
  36. components/Templates/includes/auto-template/Pods_Templates_Auto_Template_Front_End.php +372 -0
  37. components/Templates/includes/auto-template/Pods_Templates_Auto_Template_Settings.php +363 -0
  38. components/Templates/includes/element-pod_reference.php +2 -2
  39. components/Templates/includes/functions-view_template.php +142 -42
  40. deprecated/classes/Pods.php +55 -21
  41. deprecated/classes/PodsAPI.php +2 -0
  42. deprecated/deprecated.php +23 -5
  43. includes/classes.php +2 -2
  44. includes/data.php +414 -383
  45. includes/general.php +148 -94
  46. includes/media.php +78 -2
  47. init.php +21 -68
  48. languages/pods-es_ES.mo +0 -0
  49. languages/pods-es_ES.po +2792 -2738
  50. languages/pods-fr_FR.mo +0 -0
  51. languages/pods-fr_FR.po +1795 -1996
classes/Pods.php CHANGED
@@ -47,7 +47,7 @@ class Pods implements Iterator {
47
  /**
48
  * @var bool
49
  */
50
- public $display_errors = false;
51
 
52
  /**
53
  * @var array|bool|mixed|null|void
@@ -423,7 +423,7 @@ class Pods implements Iterator {
423
  * @link http://pods.io/docs/data/
424
  */
425
  public function data () {
426
- $this->do_hook( 'data' );
427
 
428
  if ( empty( $this->rows ) )
429
  return false;
@@ -511,7 +511,18 @@ class Pods implements Iterator {
511
  }
512
  }
513
 
514
- return $this->do_hook( 'fields', $field_data, $field, $option );
 
 
 
 
 
 
 
 
 
 
 
515
  }
516
 
517
  /**
@@ -522,7 +533,7 @@ class Pods implements Iterator {
522
  * @since 2.0
523
  */
524
  public function row () {
525
- $this->do_hook( 'row' );
526
 
527
  if ( !is_array( $this->row ) )
528
  return false;
@@ -566,9 +577,15 @@ class Pods implements Iterator {
566
  $value = $this->field( $params );
567
 
568
  if ( is_array( $value ) ) {
 
 
 
 
 
 
569
  $serial_params = array(
570
  'field' => $params->name,
571
- 'fields' => $this->fields
572
  );
573
 
574
  if ( !empty( $params->serial_params ) && is_array( $params->serial_params ) )
@@ -667,7 +684,15 @@ class Pods implements Iterator {
667
  $params->output = 'ids';
668
  }
669
  elseif ( null === $params->output ) {
670
- $params->output = $this->do_hook( 'field_related_output_type', 'arrays', $this->row, $params );
 
 
 
 
 
 
 
 
671
  }
672
 
673
  if ( in_array( $params->output, array( 'id', 'name', 'object', 'array', 'pod' ) ) )
@@ -675,7 +700,9 @@ class Pods implements Iterator {
675
 
676
  // Support old $orderby variable
677
  if ( null !== $params->single && is_string( $params->single ) && empty( $params->orderby ) ) {
678
- pods_deprecated( 'Pods::field', '2.0', 'Use $params[ \'orderby\' ] instead' );
 
 
679
 
680
  $params->orderby = $params->single;
681
  $params->single = false;
@@ -684,10 +711,10 @@ class Pods implements Iterator {
684
  if ( null !== $params->single )
685
  $params->single = (boolean) $params->single;
686
 
687
- if ( is_array( $params->name ) || strlen( trim( $params->name ) ) < 1 )
 
688
  return null;
689
 
690
- $params->name = trim( $params->name );
691
  $params->full_name = $params->name;
692
 
693
  $value = null;
@@ -712,7 +739,7 @@ class Pods implements Iterator {
712
  }
713
 
714
  $tableless_field_types = PodsForm::tableless_field_types();
715
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
716
 
717
  $params->traverse = array();
718
 
@@ -729,7 +756,7 @@ class Pods implements Iterator {
729
  $value = get_comment_link( $this->id() );
730
  }
731
 
732
- $field_data = false;
733
  $field_type = false;
734
 
735
  $first_field = explode( '.', $params->name );
@@ -739,7 +766,7 @@ class Pods implements Iterator {
739
  $field_data = $this->fields[ $first_field ];
740
  $field_type = 'field';
741
  }
742
- elseif ( isset( $this->pod_data[ 'object_fields' ] ) && !empty( $this->pod_data[ 'object_fields' ] ) ) {
743
  if ( isset( $this->pod_data[ 'object_fields' ][ $first_field ] ) ) {
744
  $field_data = $this->pod_data[ 'object_fields' ][ $first_field ];
745
  $field_type = 'object_field';
@@ -785,6 +812,13 @@ class Pods implements Iterator {
785
  if ( empty( $field_data ) || in_array( $field_data[ 'type' ], array( 'boolean', 'number', 'currency' ) ) )
786
  $params->raw = true;
787
 
 
 
 
 
 
 
 
788
  $value = $this->row[ $params->name ];
789
  }
790
  elseif ( empty( $value ) ) {
@@ -946,7 +980,20 @@ class Pods implements Iterator {
946
  }
947
 
948
  if ( isset( $this->fields[ $params->name ] ) && isset( $this->fields[ $params->name ][ 'type' ] ) ) {
949
- $v = $this->do_hook( 'field_' . $this->fields[ $params->name ][ 'type' ], null, $this->fields[ $params->name ], $this->row, $params );
 
 
 
 
 
 
 
 
 
 
 
 
 
950
 
951
  if ( null !== $v )
952
  return $v;
@@ -999,7 +1046,11 @@ class Pods implements Iterator {
999
 
1000
  $value = get_post_meta( $id, $params->name, $params->single );
1001
 
1002
- $single_multi = pods_var( $this->fields[ $params->name ][ 'type' ] . '_format_type', $this->fields[ $params->name ][ 'options' ], 'single' );
 
 
 
 
1003
 
1004
  if ( $simple && !is_array( $value ) && 'single' != $single_multi ) {
1005
  $value = get_post_meta( $id, $params->name );
@@ -1008,7 +1059,11 @@ class Pods implements Iterator {
1008
  elseif ( in_array( $this->pod_data[ 'type' ], array( 'user', 'comment' ) ) ) {
1009
  $value = get_metadata( $this->pod_data[ 'type' ], $this->id(), $params->name, $params->single );
1010
 
1011
- $single_multi = pods_var( $this->fields[ $params->name ][ 'type' ] . '_format_type', $this->fields[ $params->name ][ 'options' ], 'single' );
 
 
 
 
1012
 
1013
  if ( $simple && !is_array( $value ) && 'single' != $single_multi ) {
1014
  $value = get_metadata( $this->pod_data[ 'type' ], $this->id(), $params->name );
@@ -1022,6 +1077,7 @@ class Pods implements Iterator {
1022
  if ( null === $params->single )
1023
  $params->single = false;
1024
 
 
1025
  $value = PodsForm::field_method( 'pick', 'simple_value', $params->name, $value, $this->fields[ $params->name ], $this->pod_data, $this->id(), true );
1026
  }
1027
 
@@ -1036,17 +1092,6 @@ class Pods implements Iterator {
1036
 
1037
  $lookup = $params->traverse;
1038
 
1039
- if ( !empty( $lookup ) ) {
1040
- unset( $lookup[ 0 ] );
1041
-
1042
- foreach ( $this->fields as $field ) {
1043
- if ( !in_array( $field[ 'type' ], $tableless_field_types ) || in_array( $field[ 'name' ], $lookup ) )
1044
- continue;
1045
-
1046
- $lookup[] = $field[ 'name' ];
1047
- }
1048
- }
1049
-
1050
  // Get fields matching traversal names
1051
  if ( !empty( $lookup ) ) {
1052
  $fields = $this->api->load_fields( array(
@@ -1066,7 +1111,7 @@ class Pods implements Iterator {
1066
  }
1067
  }
1068
 
1069
- if ( isset( $this->pod_data[ 'object_fields' ] ) && !empty( $this->pod_data[ 'object_fields' ] ) ) {
1070
  foreach ( $this->pod_data[ 'object_fields' ] as $object_field => $object_field_opt ) {
1071
  if ( in_array( $object_field_opt[ 'type' ], $tableless_field_types ) ) {
1072
  $all_fields[ $this->pod ][ $object_field ] = $object_field_opt;
@@ -1078,10 +1123,10 @@ class Pods implements Iterator {
1078
  $last_type = $last_object = $last_pick_val = '';
1079
  $last_options = array();
1080
 
1081
- $single_multi = pods_var( $this->fields[ $params->name ][ 'type' ] . '_format_type', $this->fields[ $params->name ][ 'options' ], 'single' );
1082
 
1083
  if ( 'multi' == $single_multi )
1084
- $limit = (int) pods_var( $this->fields[ $params->name ][ 'type' ] . '_limit', $this->fields[ $params->name ][ 'options' ], 0 );
1085
  else
1086
  $limit = 1;
1087
 
@@ -1106,32 +1151,26 @@ class Pods implements Iterator {
1106
 
1107
  // Tableless handler
1108
  if ( $field_exists && ( !in_array( $all_fields[ $pod ][ $field ][ 'type' ], array( 'pick', 'taxonomy' ) ) || !$simple ) ) {
1109
-
1110
  $type = $all_fields[ $pod ][ $field ][ 'type' ];
1111
  $pick_object = $all_fields[ $pod ][ $field ][ 'pick_object' ];
1112
  $pick_val = $all_fields[ $pod ][ $field ][ 'pick_val' ];
1113
 
1114
  if ( 'table' == $pick_object ) {
1115
-
1116
- $pick_val = pods_var( 'pick_table', $all_fields[ $pod ][ $field ][ 'options' ], $pick_val, null, true );
1117
  }
1118
  elseif ( '__current__' == $pick_val ) {
1119
-
1120
  $pick_val = $pod;
1121
  }
1122
 
1123
  $last_limit = 0;
1124
 
1125
  if ( in_array( $type, $tableless_field_types ) ) {
1126
-
1127
- $single_multi = pods_var( "{$type}_format_type", $all_fields[ $pod ][ $field ][ 'options' ], 'single' );
1128
 
1129
  if ( 'multi' == $single_multi ) {
1130
-
1131
- $last_limit = (int) pods_var( "{$type}_limit", $all_fields[ $pod ][ $field ][ 'options' ], 0 );
1132
  }
1133
  else {
1134
-
1135
  $last_limit = 1;
1136
  }
1137
  }
@@ -1146,11 +1185,10 @@ class Pods implements Iterator {
1146
 
1147
  // Get related IDs
1148
  if ( !isset( $all_fields[ $pod ][ $field ][ 'pod_id' ] ) ) {
1149
-
1150
  $all_fields[ $pod ][ $field ][ 'pod_id' ] = 0;
1151
  }
1152
- if ( isset( $all_fields[ $pod ][ $field ][ 'id' ] ) ) {
1153
 
 
1154
  $ids = $this->api->lookup_related_items(
1155
  $all_fields[ $pod ][ $field ][ 'id' ],
1156
  $all_fields[ $pod ][ $field ][ 'pod_id' ],
@@ -1161,27 +1199,21 @@ class Pods implements Iterator {
1161
 
1162
  // No items found
1163
  if ( empty( $ids ) ) {
1164
-
1165
  return false;
1166
  } // @todo This should return array() if not $params->single
1167
  elseif ( 0 < $last_limit ) {
1168
-
1169
  $ids = array_slice( $ids, 0, $last_limit );
1170
  }
1171
 
1172
  // Get $pod if related to a Pod
1173
- if ( !empty( $pick_object ) && !empty( $pick_val ) ) {
1174
-
1175
  if ( 'pod' == $pick_object ) {
1176
-
1177
  $pod = $pick_val;
1178
  }
1179
  else {
1180
-
1181
  $check = $this->api->get_table_info( $pick_object, $pick_val );
1182
 
1183
  if ( !empty( $check ) && !empty( $check[ 'pod' ] ) ) {
1184
-
1185
  $pod = $check[ 'pod' ][ 'name' ];
1186
  }
1187
  }
@@ -1236,7 +1268,7 @@ class Pods implements Iterator {
1236
 
1237
  if ( 'pod' == $object_type )
1238
  $related_obj = pods( $object, null, false );
1239
- elseif ( isset( $table[ 'pod' ] ) && !empty( $table[ 'pod' ] ) )
1240
  $related_obj = pods( $table[ 'pod' ][ 'name' ], null, false );
1241
 
1242
  if ( !empty( $table[ 'table' ] ) || !empty( $related_obj ) ) {
@@ -1248,7 +1280,8 @@ class Pods implements Iterator {
1248
  'orderby' => $params->orderby,
1249
  'pagination' => false,
1250
  'search' => false,
1251
- 'limit' => -1
 
1252
  );
1253
 
1254
  // Output types
@@ -1257,7 +1290,7 @@ class Pods implements Iterator {
1257
  elseif ( 'names' == $params->output && !empty( $table[ 'field_index' ] ) )
1258
  $sql[ 'select' ] = '`t`.`' . $table[ 'field_index' ] . '` AS `pod_item_index`, `t`.`' . $table[ 'field_id' ] . '` AS `pod_item_id`';
1259
 
1260
- if ( is_array( $params->params ) && !empty( $params->params ) ) {
1261
  $where = $sql[ 'where' ];
1262
 
1263
  $sql = array_merge( $sql, $params->params );
@@ -1292,9 +1325,6 @@ class Pods implements Iterator {
1292
  // Get Item ID
1293
  $item_id = $item->pod_item_id;
1294
 
1295
- // Cleanup
1296
- unset( $item->pod_item_id );
1297
-
1298
  // Output types
1299
  if ( 'ids' == $params->output )
1300
  $item = (int) $item_id;
@@ -1345,8 +1375,16 @@ class Pods implements Iterator {
1345
  // Return all of the data in the order expected
1346
  if ( empty( $params->orderby ) ) {
1347
  foreach ( $ids as $id ) {
1348
- if ( isset( $items[ $id ] ) )
1349
  $data[ $id ] = $items[ $id ];
 
 
 
 
 
 
 
 
1350
  }
1351
  }
1352
  }
@@ -1417,7 +1455,7 @@ class Pods implements Iterator {
1417
 
1418
  $params->raw_display = true;
1419
  }
1420
- elseif ( in_array( $field, array( '_link', 'detail_url' ) ) || ( in_array( $field, array( 'permalink', 'the_permalink' ) ) && 'post' == $object_type ) ) {
1421
  if ( 'pod' == $object_type ) {
1422
  if ( is_object( $related_obj ) ) {
1423
  $related_obj->fetch( $item_id );
@@ -1488,6 +1526,10 @@ class Pods implements Iterator {
1488
  $value = current( $value );
1489
  }
1490
 
 
 
 
 
1491
  break;
1492
  }
1493
  }
@@ -1510,6 +1552,10 @@ class Pods implements Iterator {
1510
  if ( $params->single && is_array( $value ) && 1 == count( $value ) )
1511
  $value = current( $value );
1512
 
 
 
 
 
1513
  // @todo Expand this into traversed fields too
1514
  if ( !empty( $field_data ) && ( $params->display || !$params->raw ) && !$params->in_form && !$params->raw_display ) {
1515
  if ( $params->display || ( ( $params->get_meta || $params->deprecated ) && !in_array( $field_data[ 'type' ], $tableless_field_types ) ) ) {
@@ -1517,7 +1563,7 @@ class Pods implements Iterator {
1517
 
1518
  $post_temp = false;
1519
 
1520
- if ( 'post_type' == pods_var( 'type', $this->pod_data ) && 0 < $this->id() && ( !isset( $GLOBALS[ 'post' ] ) || empty( $GLOBALS[ 'post' ] ) ) ) {
1521
  global $post_ID, $post;
1522
 
1523
  $post_temp = true;
@@ -1544,7 +1590,7 @@ class Pods implements Iterator {
1544
 
1545
  $value = call_user_func_array( 'apply_filters', $args );
1546
  }
1547
- elseif ( 1 == pods_var( 'display_process', $field_data[ 'options' ], 1 ) ) {
1548
  $value = PodsForm::display(
1549
  $field_data[ 'type' ],
1550
  $value,
@@ -1572,7 +1618,20 @@ class Pods implements Iterator {
1572
  }
1573
  }
1574
 
1575
- $value = $this->do_hook( 'field', $value, $this->row, $params );
 
 
 
 
 
 
 
 
 
 
 
 
 
1576
 
1577
  return $value;
1578
  }
@@ -1606,7 +1665,7 @@ class Pods implements Iterator {
1606
  if ( !is_array( $value ) )
1607
  $value = explode( ',', $value );
1608
 
1609
- if ( 'pick' == $this->fields[ $field ][ 'type' ] && in_array( $this->fields[ $field ][ 'pick_object' ], PodsForm::field_method( 'pick', 'simple_objects' ) ) ) {
1610
  $current_value = $pod->raw( $field );
1611
 
1612
  if ( !empty( $current_value ) )
@@ -1680,7 +1739,7 @@ class Pods implements Iterator {
1680
 
1681
  $current_value = array();
1682
 
1683
- if ( 'pick' == $this->fields[ $field ][ 'type' ] && in_array( $this->fields[ $field ][ 'pick_object' ], PodsForm::field_method( 'pick', 'simple_objects' ) ) ) {
1684
  $current_value = $pod->raw( $field );
1685
 
1686
  if ( !empty( $current_value ) )
@@ -1768,6 +1827,10 @@ class Pods implements Iterator {
1768
  * @since 2.0
1769
  */
1770
  public function id () {
 
 
 
 
1771
  return $this->field( $this->data->field_id );
1772
  }
1773
 
@@ -2033,6 +2096,7 @@ class Pods implements Iterator {
2033
  $new_id = $pod->id();
2034
 
2035
  $new_id = $this->do_hook( 'last_id', $new_id, $pod, $params_override );
 
2036
  }
2037
 
2038
  /**
@@ -2058,8 +2122,10 @@ class Pods implements Iterator {
2058
  * @link http://pods.io/docs/find/
2059
  */
2060
  public function find ( $params = null, $limit = 15, $where = null, $sql = null ) {
 
2061
  $tableless_field_types = PodsForm::tableless_field_types();
2062
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
 
2063
 
2064
  $this->params = $params;
2065
 
@@ -2111,7 +2177,7 @@ class Pods implements Iterator {
2111
  $params = (object) $defaults;
2112
  }
2113
 
2114
- $params = $this->do_hook( 'find', $params );
2115
 
2116
  $params->limit = (int) $params->limit;
2117
 
@@ -2273,7 +2339,15 @@ class Pods implements Iterator {
2273
  * @link http://pods.io/docs/fetch/
2274
  */
2275
  public function fetch ( $id = null, $explicit_set = true ) {
2276
- $this->do_hook( 'fetch', $id );
 
 
 
 
 
 
 
 
2277
 
2278
  if ( !empty( $id ) )
2279
  $this->params = array();
@@ -2296,7 +2370,15 @@ class Pods implements Iterator {
2296
  * @link http://pods.io/docs/reset/
2297
  */
2298
  public function reset ( $row = null ) {
2299
- $this->do_hook( 'reset', $row );
 
 
 
 
 
 
 
 
2300
 
2301
  $this->data->reset( $row );
2302
 
@@ -2315,7 +2397,7 @@ class Pods implements Iterator {
2315
  * @link http://pods.io/docs/total/
2316
  */
2317
  public function total () {
2318
- $this->do_hook( 'total' );
2319
 
2320
  $this->data->total();
2321
 
@@ -2336,7 +2418,15 @@ class Pods implements Iterator {
2336
  * @link http://pods.io/docs/total-found/
2337
  */
2338
  public function total_found () {
2339
- $this->do_hook( 'total_found' );
 
 
 
 
 
 
 
 
2340
 
2341
  $this->data->total_found();
2342
 
@@ -2491,7 +2581,7 @@ class Pods implements Iterator {
2491
  if ( !is_array( $value ) )
2492
  $value = explode( ',', $value );
2493
 
2494
- if ( 'pick' == $this->fields[ $field ][ 'type' ] && in_array( $this->fields[ $field ][ 'pick_object' ], PodsForm::field_method( 'pick', 'simple_objects' ) ) ) {
2495
  $current_value = $pod->raw( $field );
2496
 
2497
  if ( !empty( $current_value ) || ( !is_array( $current_value ) && 0 < strlen( $current_value ) ) )
@@ -2606,7 +2696,7 @@ class Pods implements Iterator {
2606
  $value = explode( ',', $value );
2607
  }
2608
 
2609
- if ( 'pick' == $this->fields[ $field ][ 'type' ] && in_array( $this->fields[ $field ][ 'pick_object' ], PodsForm::field_method( 'pick', 'simple_objects' ) ) ) {
2610
  $current_value = $pod->raw( $field );
2611
 
2612
  if ( !empty( $current_value ) ) {
@@ -2725,10 +2815,12 @@ class Pods implements Iterator {
2725
 
2726
  $fetch = false;
2727
 
2728
- if ( null === $id ) {
2729
  $fetch = true;
2730
 
2731
- $id = $this->id();
 
 
2732
  }
2733
 
2734
  $data = (array) $this->do_hook( 'save', $data, $id );
@@ -2967,7 +3059,7 @@ class Pods implements Iterator {
2967
 
2968
  $this->page_var = pods_var_raw( 'page_var', $params, $this->page_var );
2969
 
2970
- $url = pods_var_update( null, null, $this->page_var );
2971
 
2972
  $append = '?';
2973
 
@@ -3115,7 +3207,16 @@ class Pods implements Iterator {
3115
 
3116
  $output = ob_get_clean();
3117
 
3118
- return $this->do_hook( 'filters', $output, $params );
 
 
 
 
 
 
 
 
 
3119
  }
3120
 
3121
  /**
@@ -3126,7 +3227,6 @@ class Pods implements Iterator {
3126
  * @param string $helper Helper name
3127
  * @param string $value Value to run the helper on
3128
  * @param string $name Field name
3129
- * @internal param array $params An associative array of parameters
3130
  *
3131
  * @return mixed Anything returned by the helper
3132
  * @since 2.0
@@ -3342,9 +3442,9 @@ class Pods implements Iterator {
3342
  if ( 1 < PodsForm::$form_counter )
3343
  $success .= PodsForm::$form_counter;
3344
 
3345
- $thank_you = pods_var_update( array( 'success*' => null, $success => 1 ) );
3346
 
3347
- if ( 1 == pods_var( $success, 'get', 0 ) ) {
3348
  $message = __( 'Form submitted successfully', 'pods' );
3349
  /**
3350
  * Change the text of the message that appears on succesful form submission.
@@ -3790,12 +3890,15 @@ class Pods implements Iterator {
3790
  $var = null;
3791
 
3792
  if ( isset( $this->deprecated->{$name} ) ) {
3793
- pods_deprecated( "Pods->{$name}", '2.0' );
 
 
3794
 
3795
  $var = $this->deprecated->{$name};
3796
  }
3797
- else
3798
  pods_deprecated( "Pods->{$name}", '2.0' );
 
3799
 
3800
  return $var;
3801
  }
@@ -3823,9 +3926,11 @@ class Pods implements Iterator {
3823
  $this->deprecated = new Pods_Deprecated( $this );
3824
  }
3825
 
3826
- if ( method_exists( $this->deprecated, $name ) )
3827
  return call_user_func_array( array( $this->deprecated, $name ), $args );
3828
- else
 
3829
  pods_deprecated( "Pods::{$name}", '2.0' );
 
3830
  }
3831
  }
47
  /**
48
  * @var bool
49
  */
50
+ public $display_errors = true;
51
 
52
  /**
53
  * @var array|bool|mixed|null|void
423
  * @link http://pods.io/docs/data/
424
  */
425
  public function data () {
426
+ do_action( 'pods_pods_data', $this );
427
 
428
  if ( empty( $this->rows ) )
429
  return false;
511
  }
512
  }
513
 
514
+ /**
515
+ * Modify the field data before returning
516
+ *
517
+ * @since unknown
518
+ *
519
+ * @param array $field_data The data for the field.
520
+ * @param string|null $field The specific field that data is being return for, if set when method is called or null.
521
+ * @param string|null $option Value of option param when method was called. Can be used to get a list of available items from a relationship field.
522
+ * @param Pods|object $this The current Pods class instance.
523
+ */
524
+ return apply_filters( 'pods_pods_fields', $field_data, $field, $option, $this );
525
+
526
  }
527
 
528
  /**
533
  * @since 2.0
534
  */
535
  public function row () {
536
+ do_action( 'pods_pods_row', $this );
537
 
538
  if ( !is_array( $this->row ) )
539
  return false;
577
  $value = $this->field( $params );
578
 
579
  if ( is_array( $value ) ) {
580
+ $fields = $this->fields;
581
+
582
+ if ( isset( $this->pod_data[ 'object_fields' ] ) ) {
583
+ $fields = array_merge( $fields, $this->pod_data[ 'object_fields' ] );
584
+ }
585
+
586
  $serial_params = array(
587
  'field' => $params->name,
588
+ 'fields' => $fields
589
  );
590
 
591
  if ( !empty( $params->serial_params ) && is_array( $params->serial_params ) )
684
  $params->output = 'ids';
685
  }
686
  elseif ( null === $params->output ) {
687
+ /**
688
+ * Override the way realted fields are output
689
+ *
690
+ * @param string $output How to output related fields. Default is 'arrays'. Options: id|name|object|array|pod
691
+ * @param array|object $row Current row being outputted.
692
+ * @param array $params Params array passed to field().
693
+ * @param object|Pods $this Current Pods object.
694
+ */
695
+ $params->output = apply_filters( 'pods_pods_field_related_output_type', 'arrays', $this->row, $params, $this );
696
  }
697
 
698
  if ( in_array( $params->output, array( 'id', 'name', 'object', 'array', 'pod' ) ) )
700
 
701
  // Support old $orderby variable
702
  if ( null !== $params->single && is_string( $params->single ) && empty( $params->orderby ) ) {
703
+ if ( ! class_exists( 'Pod' ) || Pod::$deprecated_notice ) {
704
+ pods_deprecated( 'Pods::field', '2.0', 'Use $params[ \'orderby\' ] instead' );
705
+ }
706
 
707
  $params->orderby = $params->single;
708
  $params->single = false;
711
  if ( null !== $params->single )
712
  $params->single = (boolean) $params->single;
713
 
714
+ $params->name = trim( $params->name );
715
+ if ( is_array( $params->name ) || strlen( $params->name ) < 1 )
716
  return null;
717
 
 
718
  $params->full_name = $params->name;
719
 
720
  $value = null;
739
  }
740
 
741
  $tableless_field_types = PodsForm::tableless_field_types();
742
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
743
 
744
  $params->traverse = array();
745
 
756
  $value = get_comment_link( $this->id() );
757
  }
758
 
759
+ $field_data = $last_field_data = false;
760
  $field_type = false;
761
 
762
  $first_field = explode( '.', $params->name );
766
  $field_data = $this->fields[ $first_field ];
767
  $field_type = 'field';
768
  }
769
+ elseif ( !empty( $this->pod_data[ 'object_fields' ] ) ) {
770
  if ( isset( $this->pod_data[ 'object_fields' ][ $first_field ] ) ) {
771
  $field_data = $this->pod_data[ 'object_fields' ][ $first_field ];
772
  $field_type = 'object_field';
812
  if ( empty( $field_data ) || in_array( $field_data[ 'type' ], array( 'boolean', 'number', 'currency' ) ) )
813
  $params->raw = true;
814
 
815
+ if ( null === $params->single ) {
816
+ if ( isset( $this->fields[ $params->name ] ) && !in_array( $this->fields[ $params->name ][ 'type' ], $tableless_field_types ) )
817
+ $params->single = true;
818
+ else
819
+ $params->single = false;
820
+ }
821
+
822
  $value = $this->row[ $params->name ];
823
  }
824
  elseif ( empty( $value ) ) {
980
  }
981
 
982
  if ( isset( $this->fields[ $params->name ] ) && isset( $this->fields[ $params->name ][ 'type' ] ) ) {
983
+ /**
984
+ * Modify value returned by field() after its retrieved, but before its validated or formatted
985
+ *
986
+ * Filter name is set dynamically with name of field: "pods_pods_field_{field_name}"
987
+ *
988
+ * @since unknown
989
+ *
990
+ * @param array|string|null $value Value retrieved.
991
+ * @param array|object $row Current row being outputted.
992
+ * @param array $params Params array passed to field().
993
+ * @param object|Pods $this Current Pods object.
994
+ *
995
+ */
996
+ $v = apply_filters( 'pods_pods_field_' . $this->fields[ $params->name ][ 'type' ], null, $this->fields[ $params->name ], $this->row, $params, $this );
997
 
998
  if ( null !== $v )
999
  return $v;
1046
 
1047
  $value = get_post_meta( $id, $params->name, $params->single );
1048
 
1049
+ $single_multi = 'single';
1050
+
1051
+ if ( isset( $this->fields[ $params->name ] ) ) {
1052
+ $single_multi = pods_v( $this->fields[ $params->name ][ 'type' ] . '_format_type', $this->fields[ $params->name ][ 'options' ], 'single' );
1053
+ }
1054
 
1055
  if ( $simple && !is_array( $value ) && 'single' != $single_multi ) {
1056
  $value = get_post_meta( $id, $params->name );
1059
  elseif ( in_array( $this->pod_data[ 'type' ], array( 'user', 'comment' ) ) ) {
1060
  $value = get_metadata( $this->pod_data[ 'type' ], $this->id(), $params->name, $params->single );
1061
 
1062
+ $single_multi = 'single';
1063
+
1064
+ if ( isset( $this->fields[ $params->name ] ) ) {
1065
+ $single_multi = pods_v( $this->fields[ $params->name ][ 'type' ] . '_format_type', $this->fields[ $params->name ][ 'options' ], 'single' );
1066
+ }
1067
 
1068
  if ( $simple && !is_array( $value ) && 'single' != $single_multi ) {
1069
  $value = get_metadata( $this->pod_data[ 'type' ], $this->id(), $params->name );
1077
  if ( null === $params->single )
1078
  $params->single = false;
1079
 
1080
+
1081
  $value = PodsForm::field_method( 'pick', 'simple_value', $params->name, $value, $this->fields[ $params->name ], $this->pod_data, $this->id(), true );
1082
  }
1083
 
1092
 
1093
  $lookup = $params->traverse;
1094
 
 
 
 
 
 
 
 
 
 
 
 
1095
  // Get fields matching traversal names
1096
  if ( !empty( $lookup ) ) {
1097
  $fields = $this->api->load_fields( array(
1111
  }
1112
  }
1113
 
1114
+ if ( !empty( $this->pod_data[ 'object_fields' ] ) ) {
1115
  foreach ( $this->pod_data[ 'object_fields' ] as $object_field => $object_field_opt ) {
1116
  if ( in_array( $object_field_opt[ 'type' ], $tableless_field_types ) ) {
1117
  $all_fields[ $this->pod ][ $object_field ] = $object_field_opt;
1123
  $last_type = $last_object = $last_pick_val = '';
1124
  $last_options = array();
1125
 
1126
+ $single_multi = pods_v( $this->fields[ $params->name ][ 'type' ] . '_format_type', $this->fields[ $params->name ][ 'options' ], 'single' );
1127
 
1128
  if ( 'multi' == $single_multi )
1129
+ $limit = (int) pods_v( $this->fields[ $params->name ][ 'type' ] . '_limit', $this->fields[ $params->name ][ 'options' ], 0 );
1130
  else
1131
  $limit = 1;
1132
 
1151
 
1152
  // Tableless handler
1153
  if ( $field_exists && ( !in_array( $all_fields[ $pod ][ $field ][ 'type' ], array( 'pick', 'taxonomy' ) ) || !$simple ) ) {
 
1154
  $type = $all_fields[ $pod ][ $field ][ 'type' ];
1155
  $pick_object = $all_fields[ $pod ][ $field ][ 'pick_object' ];
1156
  $pick_val = $all_fields[ $pod ][ $field ][ 'pick_val' ];
1157
 
1158
  if ( 'table' == $pick_object ) {
1159
+ $pick_val = pods_v( 'pick_table', $all_fields[ $pod ][ $field ][ 'options' ], $pick_val, true );
 
1160
  }
1161
  elseif ( '__current__' == $pick_val ) {
 
1162
  $pick_val = $pod;
1163
  }
1164
 
1165
  $last_limit = 0;
1166
 
1167
  if ( in_array( $type, $tableless_field_types ) ) {
1168
+ $single_multi = pods_v( "{$type}_format_type", $all_fields[ $pod ][ $field ][ 'options' ], 'single' );
 
1169
 
1170
  if ( 'multi' == $single_multi ) {
1171
+ $last_limit = (int) pods_v( "{$type}_limit", $all_fields[ $pod ][ $field ][ 'options' ], 0 );
 
1172
  }
1173
  else {
 
1174
  $last_limit = 1;
1175
  }
1176
  }
1185
 
1186
  // Get related IDs
1187
  if ( !isset( $all_fields[ $pod ][ $field ][ 'pod_id' ] ) ) {
 
1188
  $all_fields[ $pod ][ $field ][ 'pod_id' ] = 0;
1189
  }
 
1190
 
1191
+ if ( isset( $all_fields[ $pod ][ $field ][ 'id' ] ) ) {
1192
  $ids = $this->api->lookup_related_items(
1193
  $all_fields[ $pod ][ $field ][ 'id' ],
1194
  $all_fields[ $pod ][ $field ][ 'pod_id' ],
1199
 
1200
  // No items found
1201
  if ( empty( $ids ) ) {
 
1202
  return false;
1203
  } // @todo This should return array() if not $params->single
1204
  elseif ( 0 < $last_limit ) {
 
1205
  $ids = array_slice( $ids, 0, $last_limit );
1206
  }
1207
 
1208
  // Get $pod if related to a Pod
1209
+ if ( !empty( $pick_object ) && ( !empty( $pick_val ) || in_array( $pick_object, array( 'user', 'media', 'comment' ) ) ) ) {
 
1210
  if ( 'pod' == $pick_object ) {
 
1211
  $pod = $pick_val;
1212
  }
1213
  else {
 
1214
  $check = $this->api->get_table_info( $pick_object, $pick_val );
1215
 
1216
  if ( !empty( $check ) && !empty( $check[ 'pod' ] ) ) {
 
1217
  $pod = $check[ 'pod' ][ 'name' ];
1218
  }
1219
  }
1268
 
1269
  if ( 'pod' == $object_type )
1270
  $related_obj = pods( $object, null, false );
1271
+ elseif ( !empty( $table[ 'pod' ] ) )
1272
  $related_obj = pods( $table[ 'pod' ][ 'name' ], null, false );
1273
 
1274
  if ( !empty( $table[ 'table' ] ) || !empty( $related_obj ) ) {
1280
  'orderby' => $params->orderby,
1281
  'pagination' => false,
1282
  'search' => false,
1283
+ 'limit' => -1,
1284
+ 'expires' => 180 // @todo This could potentially cause issues if someone changes the data within this time and persistent storage is used
1285
  );
1286
 
1287
  // Output types
1290
  elseif ( 'names' == $params->output && !empty( $table[ 'field_index' ] ) )
1291
  $sql[ 'select' ] = '`t`.`' . $table[ 'field_index' ] . '` AS `pod_item_index`, `t`.`' . $table[ 'field_id' ] . '` AS `pod_item_id`';
1292
 
1293
+ if ( !empty( $params->params ) && is_array( $params->params ) ) {
1294
  $where = $sql[ 'where' ];
1295
 
1296
  $sql = array_merge( $sql, $params->params );
1325
  // Get Item ID
1326
  $item_id = $item->pod_item_id;
1327
 
 
 
 
1328
  // Output types
1329
  if ( 'ids' == $params->output )
1330
  $item = (int) $item_id;
1375
  // Return all of the data in the order expected
1376
  if ( empty( $params->orderby ) ) {
1377
  foreach ( $ids as $id ) {
1378
+ if ( isset( $items[ $id ] ) ) {
1379
  $data[ $id ] = $items[ $id ];
1380
+ }
1381
+ }
1382
+ } else {
1383
+ // Use order set by orderby
1384
+ foreach ( $items as $id => $v ) {
1385
+ if ( in_array( $id, $ids ) ) {
1386
+ $data[ $id ] = $v;
1387
+ }
1388
  }
1389
  }
1390
  }
1455
 
1456
  $params->raw_display = true;
1457
  }
1458
+ elseif ( in_array( $field, array( '_link', 'detail_url' ) ) || in_array( $field, array( 'permalink', 'the_permalink' ) ) ) {
1459
  if ( 'pod' == $object_type ) {
1460
  if ( is_object( $related_obj ) ) {
1461
  $related_obj->fetch( $item_id );
1526
  $value = current( $value );
1527
  }
1528
 
1529
+ if ( $last_options ) {
1530
+ $last_field_data = $last_options;
1531
+ }
1532
+
1533
  break;
1534
  }
1535
  }
1552
  if ( $params->single && is_array( $value ) && 1 == count( $value ) )
1553
  $value = current( $value );
1554
 
1555
+ if ( ! empty( $last_field_data ) ) {
1556
+ $field_data = $last_field_data;
1557
+ }
1558
+
1559
  // @todo Expand this into traversed fields too
1560
  if ( !empty( $field_data ) && ( $params->display || !$params->raw ) && !$params->in_form && !$params->raw_display ) {
1561
  if ( $params->display || ( ( $params->get_meta || $params->deprecated ) && !in_array( $field_data[ 'type' ], $tableless_field_types ) ) ) {
1563
 
1564
  $post_temp = false;
1565
 
1566
+ if ( 'post_type' == pods_v( 'type', $this->pod_data ) && 0 < $this->id() && ( !isset( $GLOBALS[ 'post' ] ) || empty( $GLOBALS[ 'post' ] ) ) ) {
1567
  global $post_ID, $post;
1568
 
1569
  $post_temp = true;
1590
 
1591
  $value = call_user_func_array( 'apply_filters', $args );
1592
  }
1593
+ elseif ( 1 == pods_v( 'display_process', $field_data[ 'options' ], 1 ) ) {
1594
  $value = PodsForm::display(
1595
  $field_data[ 'type' ],
1596
  $value,
1618
  }
1619
  }
1620
 
1621
+ /**
1622
+ * Modify value returned by field() directly before output.
1623
+ *
1624
+ * Will not run if value was null
1625
+ *
1626
+ * @since unknown
1627
+ *
1628
+ * @param array|string|null $value Value to be returned.
1629
+ * @param array|object $row Current row being outputted.
1630
+ * @param array $params Params array passed to field().
1631
+ * @param object|Pods $this Current Pods object.
1632
+ *
1633
+ */
1634
+ $value = apply_filters( 'pods_pods_field', $value, $this->row, $params, $this );
1635
 
1636
  return $value;
1637
  }
1665
  if ( !is_array( $value ) )
1666
  $value = explode( ',', $value );
1667
 
1668
+ if ( 'pick' == $this->fields[ $field ][ 'type' ] && in_array( $this->fields[ $field ][ 'pick_object' ], PodsForm::simple_tableless_objects() ) ) {
1669
  $current_value = $pod->raw( $field );
1670
 
1671
  if ( !empty( $current_value ) )
1739
 
1740
  $current_value = array();
1741
 
1742
+ if ( 'pick' == $this->fields[ $field ][ 'type' ] && in_array( $this->fields[ $field ][ 'pick_object' ], PodsForm::simple_tableless_objects() ) ) {
1743
  $current_value = $pod->raw( $field );
1744
 
1745
  if ( !empty( $current_value ) )
1827
  * @since 2.0
1828
  */
1829
  public function id () {
1830
+ if ( isset( $this->data->row ) && isset( $this->data->row[ 'id' ] ) ) {
1831
+ // If we already have data loaded return that ID
1832
+ return $this->data->row[ 'id' ];
1833
+ }
1834
  return $this->field( $this->data->field_id );
1835
  }
1836
 
2096
  $new_id = $pod->id();
2097
 
2098
  $new_id = $this->do_hook( 'last_id', $new_id, $pod, $params_override );
2099
+ return $new_id;
2100
  }
2101
 
2102
  /**
2122
  * @link http://pods.io/docs/find/
2123
  */
2124
  public function find ( $params = null, $limit = 15, $where = null, $sql = null ) {
2125
+
2126
  $tableless_field_types = PodsForm::tableless_field_types();
2127
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
2128
+
2129
 
2130
  $this->params = $params;
2131
 
2177
  $params = (object) $defaults;
2178
  }
2179
 
2180
+ $params = apply_filters( 'pods_pods_find', $params );
2181
 
2182
  $params->limit = (int) $params->limit;
2183
 
2339
  * @link http://pods.io/docs/fetch/
2340
  */
2341
  public function fetch ( $id = null, $explicit_set = true ) {
2342
+ /**
2343
+ * Runs directly before an item is fetched by fetch()
2344
+ *
2345
+ * @since unknown
2346
+ *
2347
+ * @param int|string|null $id Item ID being fetched or null.
2348
+ * @param object|Pods $this Current Pods object.
2349
+ */
2350
+ do_action( 'pods_pods_fetch', $id, $this );
2351
 
2352
  if ( !empty( $id ) )
2353
  $this->params = array();
2370
  * @link http://pods.io/docs/reset/
2371
  */
2372
  public function reset ( $row = null ) {
2373
+ /**
2374
+ * Runs directly before the Pods object is reset by reset()
2375
+ *
2376
+ * @since unknown
2377
+ *
2378
+ * @param int|string|null The ID of the row being reset to or null if being reset to the beginningg.
2379
+ * @param object|Pods $this Current Pods object.
2380
+ */
2381
+ do_action( 'pods_pods_reset', $row, $this );
2382
 
2383
  $this->data->reset( $row );
2384
 
2397
  * @link http://pods.io/docs/total/
2398
  */
2399
  public function total () {
2400
+ do_action( 'pods_pods_total', $this );
2401
 
2402
  $this->data->total();
2403
 
2418
  * @link http://pods.io/docs/total-found/
2419
  */
2420
  public function total_found () {
2421
+ /**
2422
+ * Runs directly before the value of total_found() is determined and returned.
2423
+ *
2424
+ * @since unknown
2425
+ *
2426
+ * @param object|Pods $this Current Pods object.
2427
+ *
2428
+ */
2429
+ do_action( 'pods_pods_total_found', $this );
2430
 
2431
  $this->data->total_found();
2432
 
2581
  if ( !is_array( $value ) )
2582
  $value = explode( ',', $value );
2583
 
2584
+ if ( 'pick' == $this->fields[ $field ][ 'type' ] && in_array( $this->fields[ $field ][ 'pick_object' ], PodsForm::simple_tableless_objects() ) ) {
2585
  $current_value = $pod->raw( $field );
2586
 
2587
  if ( !empty( $current_value ) || ( !is_array( $current_value ) && 0 < strlen( $current_value ) ) )
2696
  $value = explode( ',', $value );
2697
  }
2698
 
2699
+ if ( 'pick' == $this->fields[ $field ][ 'type' ] && in_array( $this->fields[ $field ][ 'pick_object' ], PodsForm::simple_tableless_objects() ) ) {
2700
  $current_value = $pod->raw( $field );
2701
 
2702
  if ( !empty( $current_value ) ) {
2815
 
2816
  $fetch = false;
2817
 
2818
+ if ( null === $id || ( $this->row && $id == $this->id() ) ) {
2819
  $fetch = true;
2820
 
2821
+ if ( null === $id ) {
2822
+ $id = $this->id();
2823
+ }
2824
  }
2825
 
2826
  $data = (array) $this->do_hook( 'save', $data, $id );
3059
 
3060
  $this->page_var = pods_var_raw( 'page_var', $params, $this->page_var );
3061
 
3062
+ $url = pods_query_arg( null, null, $this->page_var );
3063
 
3064
  $append = '?';
3065
 
3207
 
3208
  $output = ob_get_clean();
3209
 
3210
+ /**
3211
+ * Filter the HTML output of filters()
3212
+ *
3213
+ * @since unknown
3214
+ *
3215
+ * @param string $output
3216
+ * @param array $params Params array passed to filters().
3217
+ * @param object|Pods $this Current Pods object.
3218
+ */
3219
+ return apply_filters( 'pods_pods_filters', $output, $params, $this );
3220
  }
3221
 
3222
  /**
3227
  * @param string $helper Helper name
3228
  * @param string $value Value to run the helper on
3229
  * @param string $name Field name
 
3230
  *
3231
  * @return mixed Anything returned by the helper
3232
  * @since 2.0
3442
  if ( 1 < PodsForm::$form_counter )
3443
  $success .= PodsForm::$form_counter;
3444
 
3445
+ $thank_you = pods_query_arg( array( 'success*' => null, $success => 1 ) );
3446
 
3447
+ if ( 1 == pods_v( $success, 'get', 0 ) ) {
3448
  $message = __( 'Form submitted successfully', 'pods' );
3449
  /**
3450
  * Change the text of the message that appears on succesful form submission.
3890
  $var = null;
3891
 
3892
  if ( isset( $this->deprecated->{$name} ) ) {
3893
+ if ( ! class_exists( 'Pod' ) || Pod::$deprecated_notice ) {
3894
+ pods_deprecated( "Pods->{$name}", '2.0' );
3895
+ }
3896
 
3897
  $var = $this->deprecated->{$name};
3898
  }
3899
+ elseif ( ! class_exists( 'Pod' ) || Pod::$deprecated_notice ) {
3900
  pods_deprecated( "Pods->{$name}", '2.0' );
3901
+ }
3902
 
3903
  return $var;
3904
  }
3926
  $this->deprecated = new Pods_Deprecated( $this );
3927
  }
3928
 
3929
+ if ( method_exists( $this->deprecated, $name ) ) {
3930
  return call_user_func_array( array( $this->deprecated, $name ), $args );
3931
+ }
3932
+ elseif ( ! class_exists( 'Pod' ) || Pod::$deprecated_notice ) {
3933
  pods_deprecated( "Pods::{$name}", '2.0' );
3934
+ }
3935
  }
3936
  }
classes/PodsAPI.php CHANGED
@@ -9,6 +9,12 @@ class PodsAPI {
9
  */
10
  static $instance = null;
11
 
 
 
 
 
 
 
12
  /**
13
  * @var bool
14
  */
@@ -45,8 +51,28 @@ class PodsAPI {
45
  */
46
  private $deprecated;
47
 
48
- /**
49
- * Singleton handling for a basic pods_api() request
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  *
51
  * @param string $pod (optional) The pod name
52
  * @param string $format (deprecated) Format for import/export, "php" or "csv"
@@ -55,16 +81,21 @@ class PodsAPI {
55
  *
56
  * @since 2.3.5
57
  */
58
- public static function init ( $pod = null, $format = null ) {
59
- if ( null !== $pod || null !== $format ) {
60
- return new PodsAPI( $pod, $format );
 
 
 
 
61
  }
62
- elseif ( !is_object( self::$instance ) ) {
63
- self::$instance = new PodsAPI();
64
  }
65
 
66
- return self::$instance;
67
- }
 
68
 
69
  /**
70
  * Store and retrieve data programatically
@@ -229,7 +260,7 @@ class PodsAPI {
229
  * @since 2.0
230
  */
231
  public function save_post_meta ( $id, $post_meta = null, $strict = false, $fields = array() ) {
232
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
233
 
234
  $conflicted = pods_no_conflict_check( 'post' );
235
 
@@ -260,7 +291,7 @@ class PodsAPI {
260
  else {
261
  $simple = false;
262
 
263
- if ( isset( $fields[ $meta_key ] ) && is_array( $meta_value ) ) {
264
  $field_data = $fields[ $meta_key ];
265
 
266
  $simple = ( 'pick' == $field_data[ 'type' ] && in_array( pods_var( 'pick_object', $field_data ), $simple_tableless_objects ) );
@@ -271,6 +302,10 @@ class PodsAPI {
271
 
272
  update_post_meta( $id, '_pods_' . $meta_key, $meta_value );
273
 
 
 
 
 
274
  foreach ( $meta_value as $value ) {
275
  add_post_meta( $id, $meta_key, $value );
276
  }
@@ -370,7 +405,7 @@ class PodsAPI {
370
  *
371
  */
372
  public function save_user_meta ( $id, $user_meta = null, $strict = false, $fields = array() ) {
373
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
374
 
375
  $conflicted = pods_no_conflict_check( 'user' );
376
 
@@ -396,7 +431,7 @@ class PodsAPI {
396
  else {
397
  $simple = false;
398
 
399
- if ( isset( $fields[ $meta_key ] ) && is_array( $meta_value ) ) {
400
  $field_data = $fields[ $meta_key ];
401
 
402
  $simple = ( 'pick' == $field_data[ 'type' ] && in_array( pods_var( 'pick_object', $field_data ), $simple_tableless_objects ) );
@@ -405,6 +440,10 @@ class PodsAPI {
405
  if ( $simple ) {
406
  delete_user_meta( $id, $meta_key );
407
 
 
 
 
 
408
  foreach ( $meta_value as $value ) {
409
  add_user_meta( $id, $meta_key, $value );
410
  }
@@ -459,7 +498,7 @@ class PodsAPI {
459
  }
460
 
461
  if ( !isset( $comment_data[ 'comment_ID' ] ) || empty( $comment_data[ 'comment_ID' ] ) )
462
- $comment_data[ 'comment_ID' ] = wp_insert_comment( $comment_data );
463
  elseif ( 1 < count( $comment_data ) )
464
  wp_update_comment( $comment_data );
465
 
@@ -496,7 +535,7 @@ class PodsAPI {
496
  * @since 2.0
497
  */
498
  public function save_comment_meta ( $id, $comment_meta = null, $strict = false, $fields = array() ) {
499
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
500
 
501
  $conflicted = pods_no_conflict_check( 'comment' );
502
 
@@ -522,7 +561,7 @@ class PodsAPI {
522
  else {
523
  $simple = false;
524
 
525
- if ( isset( $fields[ $meta_key ] ) && is_array( $meta_value ) ) {
526
  $field_data = $fields[ $meta_key ];
527
 
528
  $simple = ( 'pick' == $field_data[ 'type' ] && in_array( pods_var( 'pick_object', $field_data ), $simple_tableless_objects ) );
@@ -531,6 +570,10 @@ class PodsAPI {
531
  if ( $simple ) {
532
  delete_comment_meta( $id, $meta_key );
533
 
 
 
 
 
534
  foreach ( $meta_value as $value ) {
535
  add_comment_meta( $id, $meta_key, $value );
536
  }
@@ -731,6 +774,15 @@ class PodsAPI {
731
 
732
  if ( 'post_type' == $object ) {
733
  $fields = array(
 
 
 
 
 
 
 
 
 
734
  'post_title' => array(
735
  'name' => 'post_title',
736
  'label' => 'Title',
@@ -896,7 +948,10 @@ class PodsAPI {
896
  'name' => 'menu_order',
897
  'label' => 'Menu Order',
898
  'type' => 'number',
899
- 'alias' => array()
 
 
 
900
  ),
901
  'post_type' => array(
902
  'name' => 'post_type',
@@ -942,6 +997,15 @@ class PodsAPI {
942
  }
943
  elseif ( 'user' == $object ) {
944
  $fields = array(
 
 
 
 
 
 
 
 
 
945
  'user_login' => array(
946
  'name' => 'user_login',
947
  'label' => 'Title',
@@ -989,7 +1053,7 @@ class PodsAPI {
989
  'type' => 'text',
990
  'alias' => array( 'url', 'website' ),
991
  'options' => array(
992
- 'required' => 1,
993
  'text_format_type' => 'website',
994
  'text_format_website' => 'normal'
995
  )
@@ -1007,6 +1071,15 @@ class PodsAPI {
1007
  }
1008
  elseif ( 'comment' == $object ) {
1009
  $fields = array(
 
 
 
 
 
 
 
 
 
1010
  'comment_content' => array(
1011
  'name' => 'comment_content',
1012
  'label' => 'Content',
@@ -1017,7 +1090,10 @@ class PodsAPI {
1017
  'name' => 'comment_approved',
1018
  'label' => 'Approved',
1019
  'type' => 'number',
1020
- 'alias' => array( 'approved' )
 
 
 
1021
  ),
1022
  'comment_post_ID' => array(
1023
  'name' => 'comment_post_ID',
@@ -1042,11 +1118,61 @@ class PodsAPI {
1042
  'options' => array(
1043
  'date_format_type' => 'datetime'
1044
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1045
  )
1046
  );
1047
  }
1048
  elseif ( 'taxonomy' == $object ) {
1049
  $fields = array(
 
 
 
 
 
 
 
 
 
1050
  'name' => array(
1051
  'name' => 'name',
1052
  'label' => 'Title',
@@ -1085,22 +1211,31 @@ class PodsAPI {
1085
  'name' => 'term_taxonomy_id',
1086
  'label' => 'Term Taxonomy ID',
1087
  'type' => 'number',
1088
- 'alias' => array( 'term_taxonomy_id' ),
1089
- 'hidden' => true
 
 
 
1090
  ),
1091
  'term_group' => array(
1092
  'name' => 'term_group',
1093
  'label' => 'Term Group',
1094
  'type' => 'number',
1095
- 'alias' => array( 'term_group' ),
1096
- 'hidden' => true
 
 
 
1097
  ),
1098
  'count' => array(
1099
  'name' => 'count',
1100
  'label' => 'Count',
1101
  'type' => 'number',
1102
- 'alias' => array( 'count' ),
1103
- 'hidden' => true
 
 
 
1104
  )
1105
  );
1106
  }
@@ -1331,7 +1466,7 @@ class PodsAPI {
1331
  */
1332
  public function save_pod ( $params, $sanitized = false, $db = true ) {
1333
  $tableless_field_types = PodsForm::tableless_field_types();
1334
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
1335
 
1336
  $load_params = (object) $params;
1337
 
@@ -2013,7 +2148,7 @@ class PodsAPI {
2013
  $table_operation = false;
2014
 
2015
  $tableless_field_types = PodsForm::tableless_field_types();
2016
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
2017
 
2018
  $params = (object) $params;
2019
 
@@ -2760,7 +2895,7 @@ class PodsAPI {
2760
 
2761
  $tableless_field_types = PodsForm::tableless_field_types();
2762
  $repeatable_field_types = PodsForm::repeatable_field_types();
2763
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
2764
 
2765
  // @deprecated 2.0
2766
  if ( isset( $params->datatype ) ) {
@@ -3191,6 +3326,8 @@ class PodsAPI {
3191
  if ( !isset( $custom_label[ 1 ] ) )
3192
  $custom_label[ 1 ] = $custom_label[ 0 ];
3193
 
 
 
3194
  $custom_values[ $custom_label[ 0 ] ] = $custom_label[ 1 ];
3195
  }
3196
  }
@@ -3338,6 +3475,16 @@ class PodsAPI {
3338
  // Save terms for taxonomies associated to a post type
3339
  if ( 0 < $params->id && 'post_type' == $pod[ 'type' ] && !empty( $post_term_data ) ) {
3340
  foreach ( $post_term_data as $post_taxonomy => $post_terms ) {
 
 
 
 
 
 
 
 
 
 
3341
  wp_set_object_terms( $params->id, $post_terms, $post_taxonomy );
3342
  }
3343
  }
@@ -4036,7 +4183,7 @@ class PodsAPI {
4036
  */
4037
  private function export_pod_item_level ( $pod, $fields, $depth, $flatten = false, $current_depth = 1 ) {
4038
  $tableless_field_types = PodsForm::tableless_field_types();
4039
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
4040
 
4041
  $object_fields = (array) pods_var_raw( 'object_fields', $pod->pod_data, array(), null, true );
4042
 
@@ -4132,6 +4279,7 @@ class PodsAPI {
4132
  $data[ $field[ 'name' ] ] = pods_serial_comma( $data[ $field[ 'name' ] ], array( 'field' => $field[ 'name' ], 'fields' => $export_fields, 'and' => '' ) );
4133
  }
4134
 
 
4135
  return $data;
4136
  }
4137
 
@@ -4428,7 +4576,7 @@ class PodsAPI {
4428
  global $wpdb;
4429
 
4430
  $tableless_field_types = PodsForm::tableless_field_types();
4431
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
4432
 
4433
  $params = (object) pods_sanitize( $params );
4434
 
@@ -4459,7 +4607,7 @@ class PodsAPI {
4459
  if ( !isset( $params->id ) )
4460
  $params->id = 0;
4461
 
4462
- $field = $this->load_field( array( 'name' => $params->name, 'id' => $params->id ) );
4463
 
4464
  if ( false === $field )
4465
  return pods_error( __( 'Field not found', 'pods' ), $this );
@@ -4877,6 +5025,10 @@ class PodsAPI {
4877
  elseif ( !in_array( $id, $related_ids ) )
4878
  return;
4879
 
 
 
 
 
4880
  unset( $related_ids[ array_search( $id, $related_ids ) ] );
4881
 
4882
  $no_conflict = pods_no_conflict_check( $related_pod[ 'type' ] );
@@ -5020,6 +5172,13 @@ class PodsAPI {
5020
  elseif ( is_array( $params ) && isset( $params[ 'fields' ] ) && !$params[ 'fields' ] )
5021
  $load_fields = false;
5022
 
 
 
 
 
 
 
 
5023
  $transient = 'pods_' . $wpdb->prefix . '_pod';
5024
 
5025
  if ( !empty( $current_language ) )
@@ -5028,7 +5187,7 @@ class PodsAPI {
5028
  if ( !$load_fields )
5029
  $transient .= '_nofields';
5030
 
5031
- if ( pods_var_raw( 'table_info', $params, false ) )
5032
  $transient .= '_tableinfo';
5033
 
5034
  if ( is_object( $params ) && isset( $params->post_name ) ) {
@@ -5037,7 +5196,7 @@ class PodsAPI {
5037
  if ( pods_api_cache() )
5038
  $pod = pods_transient_get( $transient . '_' . $params->post_name );
5039
 
5040
- if ( false !== $pod && ( pods_var_raw( 'table_info', $params, false ) || isset( $pod[ 'table' ] ) ) ) {
5041
  if ( in_array( $pod[ 'type' ], array( 'post_type', 'taxonomy' ) ) && is_object( $sitepress ) && !$icl_adjust_id_url_filter_off )
5042
  $pod = array_merge( $pod, $this->get_table_info( $pod[ 'type' ], $pod[ 'object' ], $pod[ 'name' ], $pod ) );
5043
 
@@ -5088,7 +5247,7 @@ class PodsAPI {
5088
  elseif ( pods_api_cache() )
5089
  $pod = pods_transient_get( $transient . '_' . $params->name );
5090
 
5091
- if ( false !== $pod && ( pods_var_raw( 'table_info', $params, false ) || isset( $pod[ 'table' ] ) ) ) {
5092
  if ( in_array( $pod[ 'type' ], array( 'post_type', 'taxonomy' ) ) && is_object( $sitepress ) && !$icl_adjust_id_url_filter_off )
5093
  $pod = array_merge( $pod, $this->get_table_info( $pod[ 'type' ], $pod[ 'object' ], $pod[ 'name' ], $pod ) );
5094
 
@@ -5124,7 +5283,7 @@ class PodsAPI {
5124
  if ( pods_api_cache() )
5125
  $pod = pods_transient_get( $transient . '_' . $_pod[ 'post_name' ] );
5126
 
5127
- if ( false !== $pod && ( pods_var_raw( 'table_info', $params, false ) || isset( $pod[ 'table' ] ) ) ) {
5128
  if ( in_array( $pod[ 'type' ], array( 'post_type', 'taxonomy' ) ) && is_object( $sitepress ) && !$icl_adjust_id_url_filter_off )
5129
  $pod = array_merge( $pod, $this->get_table_info( $pod[ 'type' ], $pod[ 'object' ], $pod[ 'name' ], $pod ) );
5130
 
@@ -5180,7 +5339,7 @@ class PodsAPI {
5180
  unset( $pod[ 'options' ][ 'object' ] );
5181
  unset( $pod[ 'options' ][ 'alias' ] );
5182
 
5183
- if ( pods_var_raw( 'table_info', $params, false ) )
5184
  $pod = array_merge( $this->get_table_info( $pod[ 'type' ], $pod[ 'object' ], $pod[ 'name' ], $pod ), $pod );
5185
 
5186
  if ( isset( $pod[ 'pod' ] ) )
@@ -5205,7 +5364,7 @@ class PodsAPI {
5205
  if ( !empty( $fields ) ) {
5206
  foreach ( $fields as $field ) {
5207
  $field->pod = $pod[ 'name' ];
5208
- $field->table_info = (boolean) pods_var_raw( 'table_info', $params, false );
5209
 
5210
  if ( $load_fields ) {
5211
  $field = $this->load_field( $field );
@@ -5293,8 +5452,8 @@ class PodsAPI {
5293
  'compare' => 'IN'
5294
  );
5295
 
5296
- if ( 1 == count( $params->type ) )
5297
- $cache_key .= '_type_' . trim( implode( '', $params->type ) );
5298
  }
5299
 
5300
  if ( isset( $params->object ) && !empty( $params->object ) ) {
@@ -5781,6 +5940,12 @@ class PodsAPI {
5781
  * @since 1.7.9
5782
  */
5783
  public function load_fields ( $params, $strict = false ) {
 
 
 
 
 
 
5784
  $params = (object) pods_sanitize( $params );
5785
 
5786
  if ( !isset( $params->pod ) || empty( $params->pod ) )
@@ -5872,14 +6037,6 @@ class PodsAPI {
5872
  $args[ 'post__in' ] = $ids;
5873
  }
5874
 
5875
- $fields = false;
5876
-
5877
- if ( pods_api_cache() )
5878
- $fields = pods_cache_get( md5( json_encode( $args ) ), 'pods_load_fields' );
5879
-
5880
- if ( false !== $fields )
5881
- return $fields;
5882
-
5883
  $fields = array();
5884
 
5885
  $_fields = get_posts( $args );
@@ -5890,9 +6047,6 @@ class PodsAPI {
5890
  if ( !empty( $field ) )
5891
  $fields[ $field[ 'id' ] ] = $field;
5892
  }
5893
-
5894
- if ( pods_api_cache() )
5895
- pods_cache_set( md5( json_encode( $args ) ), $fields, 'pods_load_fields' );
5896
  }
5897
  else {
5898
  if ( empty( $params->name ) && empty( $params->id ) && empty( $params->type ) )
@@ -5914,14 +6068,6 @@ class PodsAPI {
5914
 
5915
  $lookup = implode( ' AND ', $lookup );
5916
 
5917
- $fields = false;
5918
-
5919
- if ( pods_api_cache() )
5920
- $fields = pods_cache_get( md5( $lookup ), 'pods_load_fields' );
5921
-
5922
- if ( false !== $fields )
5923
- return $fields;
5924
-
5925
  $result = pods_query( "SELECT `ID`, `post_name`, `post_parent` FROM `@wp_posts` WHERE `post_type` = '_pods_field' AND ( {$lookup} )" );
5926
 
5927
  $fields = array();
@@ -5938,11 +6084,10 @@ class PodsAPI {
5938
  $fields[ $field[ 'id' ] ] = $field;
5939
  }
5940
  }
5941
-
5942
- if ( pods_api_cache() )
5943
- pods_cache_set( md5( $lookup ), $fields, 'pods_load_fields' );
5944
  }
5945
-
 
 
5946
  return $fields;
5947
  }
5948
 
@@ -6464,7 +6609,7 @@ class PodsAPI {
6464
 
6465
  // Verify required fields
6466
  if ( 1 == pods_var( 'required', $options[ 'options' ], 0 ) && 'slug' != $type ) {
6467
- if ( '' == $value || null === $value || array() === $value || 0 === $value || '0' === $value || 0.00 === $value || '0.00' === $value )
6468
  return pods_error( sprintf( __( '%s is empty', 'pods' ), $label ), $this );
6469
 
6470
  if ( 'multi' == pods_var( 'pick_format_type', $options[ 'options' ] ) && 'autocomplete' != pods_var( 'pick_format_multi', $options[ 'options' ] ) ) {
@@ -6488,7 +6633,7 @@ class PodsAPI {
6488
 
6489
  // @todo move this to after pre-save preparations
6490
  // Verify unique fields
6491
- if ( 1 == pods_var( 'unique', $options[ 'options' ], 0 ) && '' !== $value && null !== $value && array() !== $value && 0 !== $value && '0' !== $value && 0.00 !== $value && '0.00' !== $value ) {
6492
  if ( empty( $pod ) )
6493
  return false;
6494
 
@@ -6549,9 +6694,15 @@ class PodsAPI {
6549
 
6550
  $ids = array_unique( array_filter( $ids ) );
6551
 
 
 
 
 
 
 
6552
  $tableless_field_types = PodsForm::tableless_field_types();
6553
 
6554
- $field_type = pods_var( 'type', $field );
6555
 
6556
  if ( empty( $ids ) || !in_array( $field_type, $tableless_field_types ) )
6557
  return array();
@@ -6565,9 +6716,9 @@ class PodsAPI {
6565
  if ( !empty( $field ) ) {
6566
  $options = (array) pods_var_raw( 'options', $field, $field, null, true );
6567
 
6568
- $related_pick_limit = (int) pods_var( pods_var( 'type', $field ) . '_limit', $options, 0 );
6569
 
6570
- if ( 'single' == pods_var_raw( pods_var( 'type', $field ) . '_format_type', $options ) )
6571
  $related_pick_limit = 1;
6572
 
6573
  // Temporary hack until there's some better handling here
@@ -6575,7 +6726,7 @@ class PodsAPI {
6575
  }
6576
 
6577
  if ( 'taxonomy' == $field_type ) {
6578
- $related = wp_get_object_terms( $ids, pods_var( 'name', $field ), array( 'fields' => 'ids' ) );
6579
 
6580
  if ( !is_wp_error( $related ) ) {
6581
  $related_ids = $related;
@@ -6593,7 +6744,7 @@ class PodsAPI {
6593
  ";
6594
 
6595
  $sql = "
6596
- SELECT *
6597
  FROM `@wp_podsrel`
6598
  WHERE
6599
  {$related_where}
@@ -6604,7 +6755,7 @@ class PodsAPI {
6604
 
6605
  if ( !empty( $relationships ) ) {
6606
  foreach ( $relationships as $relation ) {
6607
- if ( $field_id == $relation->field_id && !in_array( $relation->related_item_id, $related_ids ) )
6608
  $related_ids[] = (int) $relation->related_item_id;
6609
  elseif ( 0 < $sister_id && $field_id == $relation->related_field_id && !in_array( $relation->item_id, $related_ids ) )
6610
  $related_ids[] = (int) $relation->item_id;
@@ -6687,6 +6838,10 @@ class PodsAPI {
6687
  if ( 0 < $related_pick_limit && !empty( $related_ids ) )
6688
  $related_ids = array_slice( $related_ids, 0, $related_pick_limit );
6689
  }
 
 
 
 
6690
 
6691
  return $related_ids;
6692
  }
@@ -6713,7 +6868,7 @@ class PodsAPI {
6713
 
6714
  $tableless_field_types = PodsForm::tableless_field_types();
6715
 
6716
- if ( empty( $id ) || !in_array( pods_var( 'type', $field ), $tableless_field_types ) )
6717
  return false;
6718
 
6719
  $related_pick_limit = 0;
@@ -6721,7 +6876,7 @@ class PodsAPI {
6721
  if ( !empty( $field ) ) {
6722
  $options = (array) pods_var_raw( 'options', $field, $field, null, true );
6723
 
6724
- $related_pick_limit = (int) pods_var( 'pick_limit', $options, 0 );
6725
 
6726
  if ( 'single' == pods_var_raw( 'pick_format_type', $options ) )
6727
  $related_pick_limit = 1;
@@ -6836,6 +6991,125 @@ class PodsAPI {
6836
  return $related_ids;
6837
  }
6838
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6839
  /**
6840
  * Get information about an objects MySQL table
6841
  *
@@ -6901,11 +7175,17 @@ class PodsAPI {
6901
  $object_type = 'post_type';
6902
  $object = 'post';
6903
  }
 
 
 
6904
 
6905
  $pod_name = $pod;
6906
 
6907
  if ( is_array( $pod_name ) )
6908
  $pod_name = pods_var_raw( 'name', $pod_name, ( version_compare( PHP_VERSION, '5.4.0', '>=' ) ? json_encode( $pod_name, JSON_UNESCAPED_UNICODE ) : json_encode( $pod_name ) ), null, true );
 
 
 
6909
 
6910
  $field_name = $field;
6911
 
@@ -6935,436 +7215,351 @@ class PodsAPI {
6935
 
6936
  $_info = false;
6937
 
6938
- if ( pods_api_cache() )
6939
- $_info = pods_transient_get( $transient );
6940
-
6941
- if ( pods_api_cache() && false === $_info && !did_action( 'init' ) )
6942
- $_info = pods_transient_get( $transient . '_pre_init' );
6943
-
6944
- if ( false !== $_info )
6945
- $info = $_info;
6946
- else {
6947
- if ( 'pod' == $object_type && null === $pod ) {
6948
- if ( empty( $name ) ) {
6949
- $prefix = 'pod-';
6950
-
6951
- // Make sure we actually have the prefix before trying anything with the name
6952
- if ( 0 === strpos( $object_type, $prefix ) )
6953
- $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
6954
- }
6955
-
6956
- if ( empty( $name ) && !empty( $object ) )
6957
- $name = $object;
6958
-
6959
- $pod = $this->load_pod( array( 'name' => $name, 'table_info' => false ), false );
6960
-
6961
- if ( !empty( $pod ) ) {
6962
- $object_type = $pod[ 'type' ];
6963
- $name = $pod[ 'name' ];
6964
- $object = $pod[ 'object' ];
6965
-
6966
- $info[ 'pod' ] = $pod;
6967
- }
6968
- }
6969
- elseif ( null === $pod ) {
6970
- if ( empty( $name ) ) {
6971
- $prefix = $object_type . '-';
6972
-
6973
- // Make sure we actually have the prefix before trying anything with the name
6974
- if ( 0 === strpos( $object_type, $prefix ) )
6975
- $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
6976
- }
6977
-
6978
- if ( empty( $name ) && !empty( $object ) )
6979
- $name = $object;
6980
-
6981
- if ( !empty( $name ) ) {
6982
- $pod = $this->load_pod( array( 'name' => $name, 'table_info' => false ), false );
6983
-
6984
- if ( !empty( $pod ) && ( null === $object_type || $object_type == $pod[ 'type' ] ) ) {
6985
- $object_type = $pod[ 'type' ];
6986
- $name = $pod[ 'name' ];
6987
- $object = $pod[ 'object' ];
6988
-
6989
- $info[ 'pod' ] = $pod;
6990
- }
6991
- }
6992
- }
6993
- elseif ( !empty( $pod ) )
6994
- $info[ 'pod' ] = $pod;
6995
-
6996
- if ( 0 === strpos( $object_type, 'pod' ) ) {
6997
- if ( empty( $name ) ) {
6998
- $prefix = 'pod-';
6999
-
7000
- // Make sure we actually have the prefix before trying anything with the name
7001
- if ( 0 === strpos( $object_type, $prefix ) )
7002
- $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
7003
- }
7004
-
7005
- $object_type = 'pod';
7006
-
7007
- $info[ 'table' ] = $info[ 'meta_table' ] = $wpdb->prefix . 'pods_' . ( empty( $object ) ? $name : $object );
7008
-
7009
- if ( is_array( $info[ 'pod' ] ) && 'pod' == pods_var( 'type', $info[ 'pod' ] ) ) {
7010
- $info[ 'pod_field_index' ] = $info[ 'field_index' ] = $info[ 'meta_field_index' ] = $info[ 'meta_field_value' ] = pods_var( 'pod_index', $info[ 'pod' ][ 'options' ], 'id', null, true );
7011
-
7012
- $slug_field = get_posts( array(
7013
- 'post_type' => '_pods_field',
7014
- 'posts_per_page' => 1,
7015
- 'nopaging' => true,
7016
- 'post_parent' => $info[ 'pod' ][ 'id' ],
7017
- 'orderby' => 'menu_order',
7018
- 'order' => 'ASC',
7019
- 'meta_query' => array(
7020
- array(
7021
- 'key' => 'type',
7022
- 'value' => 'slug',
7023
- )
7024
- )
7025
- ) );
7026
-
7027
- if ( !empty( $slug_field ) ) {
7028
- $slug_field = $slug_field[ 0 ];
7029
-
7030
- $info[ 'field_slug' ] = $info[ 'pod_field_slug' ] = $slug_field->post_name;
7031
- }
7032
-
7033
- if ( 1 == pods_var( 'hierarchical', $info[ 'pod' ][ 'options' ], 0 ) ) {
7034
- $parent_field = pods_var( 'pod_parent', $info[ 'pod' ][ 'options' ], 'id', null, true );
7035
-
7036
- if ( !empty( $parent_field ) && isset( $info[ 'pod' ][ 'fields' ][ $parent_field ] ) ) {
7037
- $info[ 'object_hierarchical' ] = true;
7038
-
7039
- $info[ 'pod_field_parent' ] = $info[ 'field_parent' ] = $parent_field . '_select';
7040
- $info[ 'field_parent_select' ] = '`' . $parent_field . '`.`id` AS `' . $info[ 'field_parent' ] . '`';
7041
- }
7042
- }
7043
- }
7044
- }
7045
-
7046
- if ( 0 === strpos( $object_type, 'post_type' ) || 'media' == $object_type || in_array( pods_var_raw( 'type', $info[ 'pod' ] ), array( 'post_type', 'media' ) ) ) {
7047
- $info[ 'table' ] = $wpdb->posts;
7048
- $info[ 'meta_table' ] = $wpdb->postmeta;
7049
-
7050
- $info[ 'field_id' ] = 'ID';
7051
- $info[ 'field_index' ] = 'post_title';
7052
- $info[ 'field_slug' ] = 'post_name';
7053
- $info[ 'field_type' ] = 'post_type';
7054
- $info[ 'field_parent' ] = 'post_parent';
7055
- $info[ 'field_parent_select' ] = '`t`.`' . $info[ 'field_parent' ] . '`';
7056
-
7057
- $info[ 'meta_field_id' ] = 'post_id';
7058
- $info[ 'meta_field_index' ] = 'meta_key';
7059
- $info[ 'meta_field_value' ] = 'meta_value';
7060
-
7061
- if ( 'media' == $object_type )
7062
- $object = 'attachment';
7063
-
7064
- if ( empty( $name ) ) {
7065
- $prefix = 'post_type-';
7066
-
7067
- // Make sure we actually have the prefix before trying anything with the name
7068
- if ( 0 === strpos( $object_type, $prefix ) )
7069
- $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
7070
- }
7071
-
7072
- if ( 'media' != $object_type )
7073
- $object_type = 'post_type';
7074
-
7075
- $post_type = pods_sanitize( ( empty( $object ) ? $name : $object ) );
7076
-
7077
- if ( 'attachment' == $post_type || 'media' == $object_type )
7078
- $info[ 'pod_table' ] = $wpdb->prefix . 'pods_media';
7079
- else
7080
- $info[ 'pod_table' ] = $wpdb->prefix . 'pods_' . pods_clean_name( $post_type, true, false );
7081
-
7082
- $post_type_object = get_post_type_object( $post_type );
7083
-
7084
- if ( is_object( $post_type_object ) && $post_type_object->hierarchical )
7085
- $info[ 'object_hierarchical' ] = true;
7086
-
7087
- /**
7088
- * Default Post Stati to query for.
7089
- *
7090
- * Use to change "default" post status from publish to any other status or statuses.
7091
- *
7092
- * @param array $post_stati List of post statuses. Default is 'publish'
7093
- * @param string $post_type Post type of current object
7094
- * @param array $info Array of information about the object.
7095
- * @param string $object Type of object
7096
- * @param string $name Name of pod to load
7097
- * @param array $pod Array with Pod information. Result of PodsAPI::load_pod()
7098
- * @param array $field Array with field information
7099
- *
7100
- * @since unknown
7101
- */
7102
- $post_stati = apply_filters( 'pods_api_get_table_info_default_post_status', array( 'publish' ), $post_type, $info, $object_type, $object, $name, $pod, $field );
7103
-
7104
- $info[ 'where' ] = array(
7105
- //'post_status' => '`t`.`post_status` IN ( "inherit", "publish" )', // @todo Figure out what statuses Attachments can be
7106
- 'post_type' => '`t`.`' . $info[ 'field_type' ] . '` = "' . $post_type . '"'
7107
- );
7108
-
7109
- if ( 'post_type' == $object_type )
7110
- $info[ 'where_default' ] = '`t`.`post_status` IN ( "' . implode( '", "', $post_stati ) . '" )';
7111
-
7112
- $info[ 'orderby' ] = '`t`.`menu_order`, `t`.`' . $info[ 'field_index' ] . '`, `t`.`post_date`';
7113
-
7114
- // WPML support
7115
- if ( is_object( $sitepress ) && $sitepress->is_translated_post_type( $post_type ) && !$icl_adjust_id_url_filter_off ) {
7116
- $info[ 'join' ][ 'wpml_translations' ] = "
7117
  LEFT JOIN `{$wpdb->prefix}icl_translations` AS `wpml_translations`
7118
  ON `wpml_translations`.`element_id` = `t`.`ID`
7119
  AND `wpml_translations`.`element_type` = 'post_{$post_type}'
7120
  AND `wpml_translations`.`language_code` = '{$current_language}'
7121
  ";
7122
 
7123
- $info[ 'join' ][ 'wpml_languages' ] = "
7124
  LEFT JOIN `{$wpdb->prefix}icl_languages` AS `wpml_languages`
7125
  ON `wpml_languages`.`code` = `wpml_translations`.`language_code` AND `wpml_languages`.`active` = 1
7126
  ";
7127
 
7128
- $info[ 'where' ][ 'wpml_languages' ] = "`wpml_languages`.`code` IS NOT NULL";
7129
- }
7130
- // Polylang support
7131
- elseif( is_object( $polylang ) && !empty( $current_language ) && function_exists( 'pll_is_translated_post_type' ) && pll_is_translated_post_type( $post_type ) ) {
7132
- $info[ 'join' ][ 'polylang_languages' ] = "
7133
  LEFT JOIN `{$wpdb->term_relationships}` AS `polylang_languages`
7134
  ON `polylang_languages`.`object_id` = `t`.`ID`
7135
  AND `polylang_languages`.`term_taxonomy_id` = {$current_language_tt_id}
7136
  ";
7137
 
7138
- $info[ 'where' ][ 'polylang_languages' ] = "`polylang_languages`.`object_id` IS NOT NULL";
7139
- }
7140
 
7141
- $info[ 'object_fields' ] = $this->get_wp_object_fields( $object_type, $info[ 'pod' ] );
7142
- }
7143
- elseif ( 0 === strpos( $object_type, 'taxonomy' ) || in_array( $object_type, array( 'nav_menu', 'post_format' ) ) || 'taxonomy' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7144
- $info[ 'table' ] = $info[ 'meta_table' ] = $wpdb->terms;
7145
 
7146
- $info[ 'join' ][ 'tt' ] = "LEFT JOIN `{$wpdb->term_taxonomy}` AS `tt` ON `tt`.`term_id` = `t`.`term_id`";
7147
- $info[ 'field_id' ] = $info[ 'meta_field_id' ] = 'term_id';
7148
- $info[ 'field_index' ] = $info[ 'meta_field_index' ] = $info[ 'meta_field_value' ] = 'name';
7149
- $info[ 'field_slug' ] = 'slug';
7150
- $info[ 'field_type' ] = 'taxonomy';
7151
- $info[ 'field_parent' ] = 'parent';
7152
- $info[ 'field_parent_select' ] = '`tt`.`' . $info[ 'field_parent' ] . '`';
7153
 
7154
- if ( 'nav_menu' == $object_type )
7155
- $object = 'nav_menu';
7156
- elseif ( 'post_format' == $object_type )
7157
- $object = 'post_format';
7158
 
7159
- if ( empty( $name ) ) {
7160
- $prefix = 'taxonomy-';
7161
 
7162
- // Make sure we actually have the prefix before trying anything with the name
7163
- if ( 0 === strpos( $object_type, $prefix ) )
7164
- $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
7165
- }
7166
 
7167
- if ( !in_array( $object_type, array( 'nav_menu', 'post_format' ) ) )
7168
- $object_type = 'taxonomy';
7169
 
7170
- $taxonomy = pods_sanitize( ( empty( $object ) ? $name : $object ) );
7171
 
7172
- $info[ 'pod_table' ] = $wpdb->prefix . 'pods_' . pods_clean_name( $taxonomy, true, false );
7173
 
7174
- $taxonomy_object = get_taxonomy( $taxonomy );
7175
 
7176
- if ( is_object( $taxonomy_object ) && $taxonomy_object->hierarchical )
7177
- $info[ 'object_hierarchical' ] = true;
7178
 
7179
- $info[ 'where' ] = array(
7180
- 'tt.taxonomy' => '`tt`.`' . $info[ 'field_type' ] . '` = "' . $taxonomy . '"'
7181
- );
7182
 
7183
- // WPML Support
7184
- if ( is_object( $sitepress ) && $sitepress->is_translated_taxonomy( $taxonomy ) && !$icl_adjust_id_url_filter_off ) {
7185
- $info[ 'join' ][ 'wpml_translations' ] = "
7186
  LEFT JOIN `{$wpdb->prefix}icl_translations` AS `wpml_translations`
7187
  ON `wpml_translations`.`element_id` = `tt`.`term_taxonomy_id`
7188
  AND `wpml_translations`.`element_type` = 'tax_{$taxonomy}'
7189
  AND `wpml_translations`.`language_code` = '{$current_language}'
7190
  ";
7191
 
7192
- $info[ 'join' ][ 'wpml_languages' ] = "
7193
  LEFT JOIN `{$wpdb->prefix}icl_languages` AS `wpml_languages`
7194
  ON `wpml_languages`.`code` = `wpml_translations`.`language_code` AND `wpml_languages`.`active` = 1
7195
  ";
7196
 
7197
- $info[ 'where' ][ 'wpml_languages' ] = "`wpml_languages`.`code` IS NOT NULL";
7198
- }
7199
- // Polylang support
7200
- elseif ( is_object( $polylang ) && !empty( $current_language ) && function_exists( 'pll_is_translated_taxonomy' ) && pll_is_translated_taxonomy( $taxonomy ) ) {
7201
- $info[ 'join' ][ 'polylang_languages' ] = "
7202
  LEFT JOIN `{$wpdb->termmeta}` AS `polylang_languages`
7203
  ON `polylang_languages`.`term_id` = `t`.`term_id`
7204
  AND `polylang_languages`.`meta_value` = {$current_language_t_id}
7205
  ";
7206
 
7207
- $info[ 'where' ][ 'polylang_languages' ] = "`polylang_languages`.`term_id` IS NOT NULL";
7208
- }
7209
-
7210
- $info[ 'object_fields' ] = $this->get_wp_object_fields( $object_type, $info[ 'pod' ] );
7211
- }
7212
- elseif ( 'user' == $object_type || 'user' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7213
- $info[ 'table' ] = $wpdb->users;
7214
- $info[ 'meta_table' ] = $wpdb->usermeta;
7215
- $info[ 'pod_table' ] = $wpdb->prefix . 'pods_user';
7216
-
7217
- $info[ 'field_id' ] = 'ID';
7218
- $info[ 'field_index' ] = 'display_name';
7219
- $info[ 'field_slug' ] = 'user_nicename';
7220
-
7221
- $info[ 'meta_field_id' ] = 'user_id';
7222
- $info[ 'meta_field_index' ] = 'meta_key';
7223
- $info[ 'meta_field_value' ] = 'meta_value';
7224
-
7225
- $info[ 'where' ] = array(
7226
- 'user_status' => '`t`.`user_status` = 0'
7227
- );
7228
-
7229
- $info[ 'object_fields' ] = $this->get_wp_object_fields( $object_type, $info[ 'pod' ] );
7230
- }
7231
- elseif ( 'comment' == $object_type || 'comment' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7232
- //$info[ 'object_hierarchical' ] = true;
7233
-
7234
- $info[ 'table' ] = $wpdb->comments;
7235
- $info[ 'meta_table' ] = $wpdb->commentmeta;
7236
- $info[ 'pod_table' ] = $wpdb->prefix . 'pods_comment';
7237
-
7238
- $info[ 'field_id' ] = 'comment_ID';
7239
- $info[ 'field_index' ] = 'comment_date';
7240
- $info[ 'field_type' ] = 'comment_type';
7241
- $info[ 'field_parent' ] = 'comment_parent';
7242
- $info[ 'field_parent_select' ] = '`t`.`' . $info[ 'field_parent' ] . '`';
7243
-
7244
- $info[ 'meta_field_id' ] = 'comment_id';
7245
- $info[ 'meta_field_index' ] = 'meta_key';
7246
- $info[ 'meta_field_value' ] = 'meta_value';
7247
-
7248
- $object = 'comment';
7249
-
7250
- $comment_type = ( empty( $object ) ? $name : $object );
7251
-
7252
- $comment_type_clause = '`t`.`' . $info[ 'field_type' ] . '` = "' . $comment_type . '"';
7253
-
7254
- if ( 'comment' == $comment_type ) {
7255
- $comment_type_clause = '( ' . $comment_type_clause . ' OR `t`.`' . $info[ 'field_type' ] . '` = "" )';
7256
- }
7257
-
7258
- $info[ 'where' ] = array(
7259
- 'comment_approved' => '`t`.`comment_approved` = 1',
7260
- 'comment_type' => $comment_type_clause
7261
- );
7262
-
7263
- $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` DESC, `t`.`' . $info[ 'field_id' ] . '`';
7264
- }
7265
- elseif ( in_array( $object_type, array( 'option', 'settings' ) ) || 'settings' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7266
- $info[ 'table' ] = $wpdb->options;
7267
- $info[ 'meta_table' ] = $wpdb->options;
7268
-
7269
- $info[ 'field_id' ] = 'option_id';
7270
- $info[ 'field_index' ] = 'option_name';
7271
-
7272
- $info[ 'meta_field_id' ] = 'option_id';
7273
- $info[ 'meta_field_index' ] = 'option_name';
7274
- $info[ 'meta_field_value' ] = 'option_value';
7275
-
7276
- $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` ASC';
7277
- }
7278
- elseif ( is_multisite() && ( in_array( $object_type, array( 'site_option', 'site_settings' ) ) || 'site_settings' == pods_var_raw( 'type', $info[ 'pod' ] ) ) ) {
7279
- $info[ 'table' ] = $wpdb->sitemeta;
7280
- $info[ 'meta_table' ] = $wpdb->sitemeta;
7281
-
7282
- $info[ 'field_id' ] = 'site_id';
7283
- $info[ 'field_index' ] = 'meta_key';
7284
-
7285
- $info[ 'meta_field_id' ] = 'site_id';
7286
- $info[ 'meta_field_index' ] = 'meta_key';
7287
- $info[ 'meta_field_value' ] = 'meta_value';
7288
-
7289
- $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` ASC';
7290
- }
7291
- elseif ( is_multisite() && 'network' == $object_type ) { // Network = Site
7292
- $info[ 'table' ] = $wpdb->site;
7293
- $info[ 'meta_table' ] = $wpdb->sitemeta;
7294
-
7295
- $info[ 'field_id' ] = 'id';
7296
- $info[ 'field_index' ] = 'domain';
7297
-
7298
- $info[ 'meta_field_id' ] = 'site_id';
7299
- $info[ 'meta_field_index' ] = 'meta_key';
7300
- $info[ 'meta_field_value' ] = 'meta_value';
7301
-
7302
- $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` ASC, `t`.`path` ASC, `t`.`' . $info[ 'field_id' ] . '`';
7303
- }
7304
- elseif ( is_multisite() && 'site' == $object_type ) { // Site = Blog
7305
- $info[ 'table' ] = $wpdb->blogs;
7306
-
7307
- $info[ 'field_id' ] = 'blog_id';
7308
- $info[ 'field_index' ] = 'domain';
7309
- $info[ 'field_type' ] = 'site_id';
7310
-
7311
- $info[ 'where' ] = array(
7312
- 'archived' => '`t`.`archived` = 0',
7313
- 'spam' => '`t`.`spam` = 0',
7314
- 'deleted' => '`t`.`deleted` = 0',
7315
- 'site_id' => '`t`.`' . $info[ 'field_type' ] . '` = ' . (int) get_current_site()->id
7316
- );
7317
-
7318
- $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` ASC, `t`.`path` ASC, `t`.`' . $info[ 'field_id' ] . '`';
7319
- }
7320
- elseif ( 'table' == $object_type || 'table' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7321
- $info[ 'table' ] = ( empty( $object ) ? $name : $object );
7322
- $info[ 'pod_table' ] = $wpdb->prefix . 'pods_' . $info[ 'table' ];
7323
-
7324
- if ( !empty( $field ) && is_array( $field ) ) {
7325
- $info[ 'table' ] = pods_var_raw( 'pick_table', pods_var_raw( 'options', $field, $field ) );
7326
- $info[ 'field_id' ] = pods_var_raw( 'pick_table_id', pods_var_raw( 'options', $field, $field ) );
7327
- $info[ 'field_index' ] = $info[ 'meta_field_index' ] = $info[ 'meta_field_value' ] = pods_var_raw( 'pick_table_index', pods_var_raw( 'options', $field, $field ) );
7328
- }
7329
- }
7330
-
7331
- $info[ 'table' ] = pods_clean_name( $info[ 'table' ], false, false );
7332
- $info[ 'meta_table' ] = pods_clean_name( $info[ 'meta_table' ], false, false );
7333
- $info[ 'pod_table' ] = pods_clean_name( $info[ 'pod_table' ], false, false );
7334
-
7335
- $info[ 'field_id' ] = pods_clean_name( $info[ 'field_id' ], false, false );
7336
- $info[ 'field_index' ] = pods_clean_name( $info[ 'field_index' ], false, false );
7337
- $info[ 'field_slug' ] = pods_clean_name( $info[ 'field_slug' ], false, false );
7338
-
7339
- $info[ 'meta_field_id' ] = pods_clean_name( $info[ 'meta_field_id' ], false, false );
7340
- $info[ 'meta_field_index' ] = pods_clean_name( $info[ 'meta_field_index' ], false, false );
7341
- $info[ 'meta_field_value' ] = pods_clean_name( $info[ 'meta_field_value' ], false, false );
7342
-
7343
- if ( empty( $info[ 'orderby' ] ) )
7344
- $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '`, `t`.`' . $info[ 'field_id' ] . '`';
7345
-
7346
- if ( 'table' == pods_var_raw( 'storage', $info[ 'pod' ] ) && !in_array( $object_type, array( 'pod', 'table' ) ) ) {
7347
- $info[ 'join' ][ 'd' ] = 'LEFT JOIN `' . $info[ 'pod_table' ] . '` AS `d` ON `d`.`id` = `t`.`' . $info[ 'field_id' ] . '`';
7348
- //$info[ 'select' ] .= ', `d`.*';
7349
- }
7350
-
7351
- if ( !empty( $info[ 'pod' ] ) && is_array( $info[ 'pod' ] ) )
7352
- $info[ 'recurse' ] = true;
7353
-
7354
- $info[ 'type' ] = $object_type;
7355
- $info[ 'object_name' ] = $object;
7356
-
7357
- if ( pods_api_cache() ) {
7358
- if ( did_action( 'init' ) )
7359
- pods_transient_set( $transient, $info );
7360
- else
7361
- pods_transient_set( $transient . '_pre_init', $info );
7362
- }
7363
- }
7364
 
7365
- $info = $this->do_hook( 'get_table_info', $info, $object_type, $object, $name, $pod, $field );
 
7366
 
7367
- return $info;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7368
  }
7369
 
7370
  /**
@@ -7480,7 +7675,7 @@ class PodsAPI {
7480
 
7481
  $fields = array_merge( $pod[ 'fields' ], $pod[ 'object_fields' ] );
7482
 
7483
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
7484
 
7485
  foreach ( $import_data as $key => $data_row ) {
7486
  $data = array();
@@ -7644,7 +7839,6 @@ class PodsAPI {
7644
 
7645
  while ( $pod->fetch() ) {
7646
  $data[ $pod->id() ] = $this->export_pod_item( $params, $pod );
7647
- $data[ $pod->id() ][ 'ID' ] = (int) $pod->id();
7648
  }
7649
 
7650
  $data = $this->do_hook( 'export', $data, $pod->pod, $pod );
9
  */
10
  static $instance = null;
11
 
12
+ /**
13
+ * @var array PodsAPI
14
+ */
15
+ static $instances = array();
16
+
17
+
18
  /**
19
  * @var bool
20
  */
51
  */
52
  private $deprecated;
53
 
54
+ /**
55
+ * @var array
56
+ * @since 2.5
57
+ */
58
+ private $fields_cache = array();
59
+
60
+ /**
61
+ * @var array
62
+ * @since 2.5
63
+ *
64
+ */
65
+ private static $table_info_cache = array();
66
+
67
+ /**
68
+ * @var array
69
+ * @since 2.5
70
+ *
71
+ */
72
+ private static $related_item_cache = array();
73
+
74
+ /**
75
+ * Singleton-ish handling for a basic pods_api() request
76
  *
77
  * @param string $pod (optional) The pod name
78
  * @param string $format (deprecated) Format for import/export, "php" or "csv"
81
  *
82
  * @since 2.3.5
83
  */
84
+ public static function init ( $pod = null, $format = null ) {
85
+ if ( null !== $pod || null !== $format ) {
86
+ if ( ! isset( self::$instances[ $pod ] ) ) {
87
+ // Cache API singleton per Pod
88
+ self::$instances[ $pod ] = new PodsAPI( $pod, $format );
89
+ }
90
+ return self::$instances[ $pod ];
91
  }
92
+ elseif ( !is_object( self::$instance ) ) {
93
+ self::$instance = new PodsAPI();
94
  }
95
 
96
+ return self::$instance;
97
+ }
98
+
99
 
100
  /**
101
  * Store and retrieve data programatically
260
  * @since 2.0
261
  */
262
  public function save_post_meta ( $id, $post_meta = null, $strict = false, $fields = array() ) {
263
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
264
 
265
  $conflicted = pods_no_conflict_check( 'post' );
266
 
291
  else {
292
  $simple = false;
293
 
294
+ if ( isset( $fields[ $meta_key ] ) ) {
295
  $field_data = $fields[ $meta_key ];
296
 
297
  $simple = ( 'pick' == $field_data[ 'type' ] && in_array( pods_var( 'pick_object', $field_data ), $simple_tableless_objects ) );
302
 
303
  update_post_meta( $id, '_pods_' . $meta_key, $meta_value );
304
 
305
+ if ( ! is_array( $meta_value ) ) {
306
+ $meta_value = array( $meta_value );
307
+ }
308
+
309
  foreach ( $meta_value as $value ) {
310
  add_post_meta( $id, $meta_key, $value );
311
  }
405
  *
406
  */
407
  public function save_user_meta ( $id, $user_meta = null, $strict = false, $fields = array() ) {
408
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
409
 
410
  $conflicted = pods_no_conflict_check( 'user' );
411
 
431
  else {
432
  $simple = false;
433
 
434
+ if ( isset( $fields[ $meta_key ] ) ) {
435
  $field_data = $fields[ $meta_key ];
436
 
437
  $simple = ( 'pick' == $field_data[ 'type' ] && in_array( pods_var( 'pick_object', $field_data ), $simple_tableless_objects ) );
440
  if ( $simple ) {
441
  delete_user_meta( $id, $meta_key );
442
 
443
+ if ( ! is_array( $meta_value ) ) {
444
+ $meta_value = array( $meta_value );
445
+ }
446
+
447
  foreach ( $meta_value as $value ) {
448
  add_user_meta( $id, $meta_key, $value );
449
  }
498
  }
499
 
500
  if ( !isset( $comment_data[ 'comment_ID' ] ) || empty( $comment_data[ 'comment_ID' ] ) )
501
+ $comment_data[ 'comment_ID' ] = wp_insert_comment( pods_slash( $comment_data ) ); // Expects slashed
502
  elseif ( 1 < count( $comment_data ) )
503
  wp_update_comment( $comment_data );
504
 
535
  * @since 2.0
536
  */
537
  public function save_comment_meta ( $id, $comment_meta = null, $strict = false, $fields = array() ) {
538
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
539
 
540
  $conflicted = pods_no_conflict_check( 'comment' );
541
 
561
  else {
562
  $simple = false;
563
 
564
+ if ( isset( $fields[ $meta_key ] ) ) {
565
  $field_data = $fields[ $meta_key ];
566
 
567
  $simple = ( 'pick' == $field_data[ 'type' ] && in_array( pods_var( 'pick_object', $field_data ), $simple_tableless_objects ) );
570
  if ( $simple ) {
571
  delete_comment_meta( $id, $meta_key );
572
 
573
+ if ( ! is_array( $meta_value ) ) {
574
+ $meta_value = array( $meta_value );
575
+ }
576
+
577
  foreach ( $meta_value as $value ) {
578
  add_comment_meta( $id, $meta_key, $value );
579
  }
774
 
775
  if ( 'post_type' == $object ) {
776
  $fields = array(
777
+ 'ID' => array(
778
+ 'name' => 'ID',
779
+ 'label' => 'ID',
780
+ 'type' => 'number',
781
+ 'alias' => array( 'id' ),
782
+ 'options' => array(
783
+ 'number_format' => '9999.99'
784
+ )
785
+ ),
786
  'post_title' => array(
787
  'name' => 'post_title',
788
  'label' => 'Title',
948
  'name' => 'menu_order',
949
  'label' => 'Menu Order',
950
  'type' => 'number',
951
+ 'alias' => array(),
952
+ 'options' => array(
953
+ 'number_format' => '9999.99'
954
+ )
955
  ),
956
  'post_type' => array(
957
  'name' => 'post_type',
997
  }
998
  elseif ( 'user' == $object ) {
999
  $fields = array(
1000
+ 'ID' => array(
1001
+ 'name' => 'ID',
1002
+ 'label' => 'ID',
1003
+ 'type' => 'number',
1004
+ 'alias' => array( 'id' ),
1005
+ 'options' => array(
1006
+ 'number_format' => '9999.99'
1007
+ )
1008
+ ),
1009
  'user_login' => array(
1010
  'name' => 'user_login',
1011
  'label' => 'Title',
1053
  'type' => 'text',
1054
  'alias' => array( 'url', 'website' ),
1055
  'options' => array(
1056
+ 'required' => 0,
1057
  'text_format_type' => 'website',
1058
  'text_format_website' => 'normal'
1059
  )
1071
  }
1072
  elseif ( 'comment' == $object ) {
1073
  $fields = array(
1074
+ 'comment_ID' => array(
1075
+ 'name' => 'comment_ID',
1076
+ 'label' => 'ID',
1077
+ 'type' => 'number',
1078
+ 'alias' => array( 'id', 'ID', 'comment_id' ),
1079
+ 'options' => array(
1080
+ 'number_format' => '9999.99'
1081
+ )
1082
+ ),
1083
  'comment_content' => array(
1084
  'name' => 'comment_content',
1085
  'label' => 'Content',
1090
  'name' => 'comment_approved',
1091
  'label' => 'Approved',
1092
  'type' => 'number',
1093
+ 'alias' => array( 'approved' ),
1094
+ 'options' => array(
1095
+ 'number_format' => '9999.99'
1096
+ )
1097
  ),
1098
  'comment_post_ID' => array(
1099
  'name' => 'comment_post_ID',
1118
  'options' => array(
1119
  'date_format_type' => 'datetime'
1120
  )
1121
+ ),
1122
+ 'comment_author' => array(
1123
+ 'name' => 'comment_author',
1124
+ 'label' => 'Author',
1125
+ 'type' => 'text',
1126
+ 'alias' => array( 'author' )
1127
+ ),
1128
+ 'comment_author_email' => array(
1129
+ 'name' => 'comment_author_email',
1130
+ 'label' => 'Author E-mail',
1131
+ 'type' => 'email',
1132
+ 'alias' => array( 'author_email' )
1133
+ ),
1134
+ 'comment_author_url' => array(
1135
+ 'name' => 'comment_author_url',
1136
+ 'label' => 'Author URL',
1137
+ 'type' => 'text',
1138
+ 'alias' => array( 'author_url' )
1139
+ ),
1140
+ 'comment_author_IP' => array(
1141
+ 'name' => 'comment_author_IP',
1142
+ 'label' => 'Author IP',
1143
+ 'type' => 'text',
1144
+ 'alias' => array( 'author_IP' )
1145
+ ),
1146
+ 'comment_type' => array(
1147
+ 'name' => 'comment_type',
1148
+ 'label' => 'Type',
1149
+ 'type' => 'text',
1150
+ 'alias' => array( 'type' ),
1151
+ 'hidden' => true
1152
+ ),
1153
+ 'comment_parent' => array(
1154
+ 'name' => 'comment_parent',
1155
+ 'label' => 'Parent',
1156
+ 'type' => 'pick',
1157
+ 'pick_object' => 'comment',
1158
+ 'pick_val' => '__current__',
1159
+ 'alias' => array( 'parent' ),
1160
+ 'data' => array(),
1161
+ 'hidden' => true
1162
  )
1163
  );
1164
  }
1165
  elseif ( 'taxonomy' == $object ) {
1166
  $fields = array(
1167
+ 'term_id' => array(
1168
+ 'name' => 'term_id',
1169
+ 'label' => 'ID',
1170
+ 'type' => 'number',
1171
+ 'alias' => array( 'id', 'ID' ),
1172
+ 'options' => array(
1173
+ 'number_format' => '9999.99'
1174
+ )
1175
+ ),
1176
  'name' => array(
1177
  'name' => 'name',
1178
  'label' => 'Title',
1211
  'name' => 'term_taxonomy_id',
1212
  'label' => 'Term Taxonomy ID',
1213
  'type' => 'number',
1214
+ 'alias' => array(),
1215
+ 'hidden' => true,
1216
+ 'options' => array(
1217
+ 'number_format' => '9999.99'
1218
+ )
1219
  ),
1220
  'term_group' => array(
1221
  'name' => 'term_group',
1222
  'label' => 'Term Group',
1223
  'type' => 'number',
1224
+ 'alias' => array( 'group' ),
1225
+ 'hidden' => true,
1226
+ 'options' => array(
1227
+ 'number_format' => '9999.99'
1228
+ )
1229
  ),
1230
  'count' => array(
1231
  'name' => 'count',
1232
  'label' => 'Count',
1233
  'type' => 'number',
1234
+ 'alias' => array(),
1235
+ 'hidden' => true,
1236
+ 'options' => array(
1237
+ 'number_format' => '9999.99'
1238
+ )
1239
  )
1240
  );
1241
  }
1466
  */
1467
  public function save_pod ( $params, $sanitized = false, $db = true ) {
1468
  $tableless_field_types = PodsForm::tableless_field_types();
1469
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
1470
 
1471
  $load_params = (object) $params;
1472
 
2148
  $table_operation = false;
2149
 
2150
  $tableless_field_types = PodsForm::tableless_field_types();
2151
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
2152
 
2153
  $params = (object) $params;
2154
 
2895
 
2896
  $tableless_field_types = PodsForm::tableless_field_types();
2897
  $repeatable_field_types = PodsForm::repeatable_field_types();
2898
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
2899
 
2900
  // @deprecated 2.0
2901
  if ( isset( $params->datatype ) ) {
3326
  if ( !isset( $custom_label[ 1 ] ) )
3327
  $custom_label[ 1 ] = $custom_label[ 0 ];
3328
 
3329
+ $custom_label[ 0 ] = trim( (string) $custom_label[ 0 ] );
3330
+ $custom_label[ 1 ] = trim( (string) $custom_label[ 1 ] );
3331
  $custom_values[ $custom_label[ 0 ] ] = $custom_label[ 1 ];
3332
  }
3333
  }
3475
  // Save terms for taxonomies associated to a post type
3476
  if ( 0 < $params->id && 'post_type' == $pod[ 'type' ] && !empty( $post_term_data ) ) {
3477
  foreach ( $post_term_data as $post_taxonomy => $post_terms ) {
3478
+ $post_terms = (array) $post_terms;
3479
+
3480
+ foreach ( $post_terms as $k => $v ) {
3481
+ if ( ! preg_match( '/[^0-9]/', $v ) ) {
3482
+ $v = (int) $v;
3483
+ }
3484
+
3485
+ $post_terms[ $k ] = $v;
3486
+ }
3487
+
3488
  wp_set_object_terms( $params->id, $post_terms, $post_taxonomy );
3489
  }
3490
  }
4183
  */
4184
  private function export_pod_item_level ( $pod, $fields, $depth, $flatten = false, $current_depth = 1 ) {
4185
  $tableless_field_types = PodsForm::tableless_field_types();
4186
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
4187
 
4188
  $object_fields = (array) pods_var_raw( 'object_fields', $pod->pod_data, array(), null, true );
4189
 
4279
  $data[ $field[ 'name' ] ] = pods_serial_comma( $data[ $field[ 'name' ] ], array( 'field' => $field[ 'name' ], 'fields' => $export_fields, 'and' => '' ) );
4280
  }
4281
 
4282
+ $data[ 'id' ] = (int) $pod->id();
4283
  return $data;
4284
  }
4285
 
4576
  global $wpdb;
4577
 
4578
  $tableless_field_types = PodsForm::tableless_field_types();
4579
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
4580
 
4581
  $params = (object) pods_sanitize( $params );
4582
 
4607
  if ( !isset( $params->id ) )
4608
  $params->id = 0;
4609
 
4610
+ $field = $this->load_field( array( 'name' => $params->name, 'id' => $params->id, 'pod' => $params->pod, 'pod_id' => $params->pod_id ) );
4611
 
4612
  if ( false === $field )
4613
  return pods_error( __( 'Field not found', 'pods' ), $this );
5025
  elseif ( !in_array( $id, $related_ids ) )
5026
  return;
5027
 
5028
+ if ( isset( self::$related_item_cache[ $related_pod[ 'id' ] ][ $related_field[ 'id' ] ] ) ) {
5029
+ // Delete relationship from cache
5030
+ unset( self::$related_item_cache[ $related_pod[ 'id' ] ][ $related_field[ 'id' ] ] );
5031
+ }
5032
  unset( $related_ids[ array_search( $id, $related_ids ) ] );
5033
 
5034
  $no_conflict = pods_no_conflict_check( $related_pod[ 'type' ] );
5172
  elseif ( is_array( $params ) && isset( $params[ 'fields' ] ) && !$params[ 'fields' ] )
5173
  $load_fields = false;
5174
 
5175
+ $table_info = false;
5176
+
5177
+ if ( is_object( $params ) && ! empty( $params->table_info ) )
5178
+ $table_info = true;
5179
+ elseif ( is_array( $params ) && ! empty( $params[ 'table_info' ] ) )
5180
+ $table_info = true;
5181
+
5182
  $transient = 'pods_' . $wpdb->prefix . '_pod';
5183
 
5184
  if ( !empty( $current_language ) )
5187
  if ( !$load_fields )
5188
  $transient .= '_nofields';
5189
 
5190
+ if ( $table_info )
5191
  $transient .= '_tableinfo';
5192
 
5193
  if ( is_object( $params ) && isset( $params->post_name ) ) {
5196
  if ( pods_api_cache() )
5197
  $pod = pods_transient_get( $transient . '_' . $params->post_name );
5198
 
5199
+ if ( false !== $pod && ( ! $table_info || isset( $pod[ 'table' ] ) ) ) {
5200
  if ( in_array( $pod[ 'type' ], array( 'post_type', 'taxonomy' ) ) && is_object( $sitepress ) && !$icl_adjust_id_url_filter_off )
5201
  $pod = array_merge( $pod, $this->get_table_info( $pod[ 'type' ], $pod[ 'object' ], $pod[ 'name' ], $pod ) );
5202
 
5247
  elseif ( pods_api_cache() )
5248
  $pod = pods_transient_get( $transient . '_' . $params->name );
5249
 
5250
+ if ( false !== $pod && ( ! $table_info || isset( $pod[ 'table' ] ) ) ) {
5251
  if ( in_array( $pod[ 'type' ], array( 'post_type', 'taxonomy' ) ) && is_object( $sitepress ) && !$icl_adjust_id_url_filter_off )
5252
  $pod = array_merge( $pod, $this->get_table_info( $pod[ 'type' ], $pod[ 'object' ], $pod[ 'name' ], $pod ) );
5253
 
5283
  if ( pods_api_cache() )
5284
  $pod = pods_transient_get( $transient . '_' . $_pod[ 'post_name' ] );
5285
 
5286
+ if ( false !== $pod && ( ! $table_info || isset( $pod[ 'table' ] ) ) ) {
5287
  if ( in_array( $pod[ 'type' ], array( 'post_type', 'taxonomy' ) ) && is_object( $sitepress ) && !$icl_adjust_id_url_filter_off )
5288
  $pod = array_merge( $pod, $this->get_table_info( $pod[ 'type' ], $pod[ 'object' ], $pod[ 'name' ], $pod ) );
5289
 
5339
  unset( $pod[ 'options' ][ 'object' ] );
5340
  unset( $pod[ 'options' ][ 'alias' ] );
5341
 
5342
+ if ( $table_info )
5343
  $pod = array_merge( $this->get_table_info( $pod[ 'type' ], $pod[ 'object' ], $pod[ 'name' ], $pod ), $pod );
5344
 
5345
  if ( isset( $pod[ 'pod' ] ) )
5364
  if ( !empty( $fields ) ) {
5365
  foreach ( $fields as $field ) {
5366
  $field->pod = $pod[ 'name' ];
5367
+ $field->table_info = $table_info;
5368
 
5369
  if ( $load_fields ) {
5370
  $field = $this->load_field( $field );
5452
  'compare' => 'IN'
5453
  );
5454
 
5455
+ if ( 0 < count( $params->type ) )
5456
+ $cache_key .= '_type_' . trim( implode( '_', $params->type ) );
5457
  }
5458
 
5459
  if ( isset( $params->object ) && !empty( $params->object ) ) {
5940
  * @since 1.7.9
5941
  */
5942
  public function load_fields ( $params, $strict = false ) {
5943
+ // @todo Get away from using md5/serialize, I'm sure we can cache specific parts
5944
+ $cache_key = md5( serialize( $params ) );
5945
+ if ( isset( $this->fields_cache[ $cache_key ] ) ) {
5946
+ return $this->fields_cache[ $cache_key ];
5947
+ }
5948
+
5949
  $params = (object) pods_sanitize( $params );
5950
 
5951
  if ( !isset( $params->pod ) || empty( $params->pod ) )
6037
  $args[ 'post__in' ] = $ids;
6038
  }
6039
 
 
 
 
 
 
 
 
 
6040
  $fields = array();
6041
 
6042
  $_fields = get_posts( $args );
6047
  if ( !empty( $field ) )
6048
  $fields[ $field[ 'id' ] ] = $field;
6049
  }
 
 
 
6050
  }
6051
  else {
6052
  if ( empty( $params->name ) && empty( $params->id ) && empty( $params->type ) )
6068
 
6069
  $lookup = implode( ' AND ', $lookup );
6070
 
 
 
 
 
 
 
 
 
6071
  $result = pods_query( "SELECT `ID`, `post_name`, `post_parent` FROM `@wp_posts` WHERE `post_type` = '_pods_field' AND ( {$lookup} )" );
6072
 
6073
  $fields = array();
6084
  $fields[ $field[ 'id' ] ] = $field;
6085
  }
6086
  }
 
 
 
6087
  }
6088
+ if ( isset( $cache_key ) ) {
6089
+ $this->fields_cache[ $cache_key ] = $fields;
6090
+ }
6091
  return $fields;
6092
  }
6093
 
6609
 
6610
  // Verify required fields
6611
  if ( 1 == pods_var( 'required', $options[ 'options' ], 0 ) && 'slug' != $type ) {
6612
+ if ( '' == $value || null === $value || array() === $value )
6613
  return pods_error( sprintf( __( '%s is empty', 'pods' ), $label ), $this );
6614
 
6615
  if ( 'multi' == pods_var( 'pick_format_type', $options[ 'options' ] ) && 'autocomplete' != pods_var( 'pick_format_multi', $options[ 'options' ] ) ) {
6633
 
6634
  // @todo move this to after pre-save preparations
6635
  // Verify unique fields
6636
+ if ( 1 == pods_var( 'unique', $options[ 'options' ], 0 ) && '' !== $value && null !== $value && array() !== $value ) {
6637
  if ( empty( $pod ) )
6638
  return false;
6639
 
6694
 
6695
  $ids = array_unique( array_filter( $ids ) );
6696
 
6697
+ $idstring = implode( ',', $ids );
6698
+ if ( 0 != $pod_id && 0 != $field_id && isset( self::$related_item_cache[ $pod_id ][ $field_id ][ $idstring ] ) ) {
6699
+ // Check cache first, no point in running the same query multiple times
6700
+ return self::$related_item_cache[ $pod_id ][ $field_id ][ $idstring ];
6701
+ }
6702
+
6703
  $tableless_field_types = PodsForm::tableless_field_types();
6704
 
6705
+ $field_type = pods_v( 'type', $field );
6706
 
6707
  if ( empty( $ids ) || !in_array( $field_type, $tableless_field_types ) )
6708
  return array();
6716
  if ( !empty( $field ) ) {
6717
  $options = (array) pods_var_raw( 'options', $field, $field, null, true );
6718
 
6719
+ $related_pick_limit = (int) pods_v( $field_type . '_limit', $options, 0 );
6720
 
6721
+ if ( 'single' == pods_var_raw( $field_type . '_format_type', $options ) )
6722
  $related_pick_limit = 1;
6723
 
6724
  // Temporary hack until there's some better handling here
6726
  }
6727
 
6728
  if ( 'taxonomy' == $field_type ) {
6729
+ $related = wp_get_object_terms( $ids, pods_v( 'name', $field ), array( 'fields' => 'ids' ) );
6730
 
6731
  if ( !is_wp_error( $related ) ) {
6732
  $related_ids = $related;
6744
  ";
6745
 
6746
  $sql = "
6747
+ SELECT item_id, related_item_id, related_field_id
6748
  FROM `@wp_podsrel`
6749
  WHERE
6750
  {$related_where}
6755
 
6756
  if ( !empty( $relationships ) ) {
6757
  foreach ( $relationships as $relation ) {
6758
+ if ( !in_array( $relation->related_item_id, $related_ids ) )
6759
  $related_ids[] = (int) $relation->related_item_id;
6760
  elseif ( 0 < $sister_id && $field_id == $relation->related_field_id && !in_array( $relation->item_id, $related_ids ) )
6761
  $related_ids[] = (int) $relation->item_id;
6838
  if ( 0 < $related_pick_limit && !empty( $related_ids ) )
6839
  $related_ids = array_slice( $related_ids, 0, $related_pick_limit );
6840
  }
6841
+ if ( 0 != $pod_id && 0 != $field_id && ! empty( $related_ids ) ) {
6842
+ // Only cache if $pod_id and $field_id were passed
6843
+ self::$related_item_cache[ $pod_id ][ $field_id ][ $idstring ] = $related_ids;
6844
+ }
6845
 
6846
  return $related_ids;
6847
  }
6868
 
6869
  $tableless_field_types = PodsForm::tableless_field_types();
6870
 
6871
+ if ( empty( $id ) || !in_array( pods_v( 'type', $field ), $tableless_field_types ) )
6872
  return false;
6873
 
6874
  $related_pick_limit = 0;
6876
  if ( !empty( $field ) ) {
6877
  $options = (array) pods_var_raw( 'options', $field, $field, null, true );
6878
 
6879
+ $related_pick_limit = (int) pods_v( 'pick_limit', $options, 0 );
6880
 
6881
  if ( 'single' == pods_var_raw( 'pick_format_type', $options ) )
6882
  $related_pick_limit = 1;
6991
  return $related_ids;
6992
  }
6993
 
6994
+ /**
6995
+ *
6996
+ * Load the information about an objects MySQL table
6997
+ *
6998
+ * @param $object_type
6999
+ * @param string $object The object to look for
7000
+ * @param null $name (optional) Name of the pod to load
7001
+ * @param array $pod (optional) Array with pod information
7002
+ *
7003
+ * @return array
7004
+ *
7005
+ * @since 2.5
7006
+ */
7007
+ public function get_table_info_load ( $object_type, $object, $name = null, $pod = null ) {
7008
+
7009
+ $info = array();
7010
+
7011
+ if ( 'pod' == $object_type && null === $pod ) {
7012
+ if ( empty( $name ) ) {
7013
+ $prefix = 'pod-';
7014
+
7015
+ // Make sure we actually have the prefix before trying anything with the name
7016
+ if ( 0 === strpos( $object_type, $prefix ) )
7017
+ $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
7018
+ }
7019
+
7020
+ if ( empty( $name ) && !empty( $object ) )
7021
+ $name = $object;
7022
+
7023
+ $pod = $this->load_pod( array( 'name' => $name, 'table_info' => false ), false );
7024
+
7025
+ if ( !empty( $pod ) ) {
7026
+ $object_type = $pod[ 'type' ];
7027
+ $name = $pod[ 'name' ];
7028
+ $object = $pod[ 'object' ];
7029
+
7030
+ $info[ 'pod' ] = $pod;
7031
+ }
7032
+ }
7033
+ elseif ( null === $pod ) {
7034
+ if ( empty( $name ) ) {
7035
+ $prefix = $object_type . '-';
7036
+
7037
+ // Make sure we actually have the prefix before trying anything with the name
7038
+ if ( 0 === strpos( $object_type, $prefix ) )
7039
+ $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
7040
+ }
7041
+
7042
+ if ( empty( $name ) && !empty( $object ) )
7043
+ $name = $object;
7044
+
7045
+ if ( !empty( $name ) ) {
7046
+ $pod = $this->load_pod( array( 'name' => $name, 'table_info' => false ), false );
7047
+
7048
+ if ( !empty( $pod ) && ( null === $object_type || $object_type == $pod[ 'type' ] ) ) {
7049
+ $object_type = $pod[ 'type' ];
7050
+ $name = $pod[ 'name' ];
7051
+ $object = $pod[ 'object' ];
7052
+
7053
+ $info[ 'pod' ] = $pod;
7054
+ }
7055
+ }
7056
+ }
7057
+ elseif ( !empty( $pod ) )
7058
+ $info[ 'pod' ] = $pod;
7059
+
7060
+ if ( 0 === strpos( $object_type, 'pod' ) ) {
7061
+ if ( empty( $name ) ) {
7062
+ $prefix = 'pod-';
7063
+
7064
+ // Make sure we actually have the prefix before trying anything with the name
7065
+ if ( 0 === strpos( $object_type, $prefix ) )
7066
+ $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
7067
+ }
7068
+
7069
+ $info[ 'type' ] = 'pod';
7070
+ global $wpdb;
7071
+
7072
+ $info[ 'table' ] = $info[ 'meta_table' ] = $wpdb->prefix . 'pods_' . ( empty( $object ) ? $name : $object );
7073
+
7074
+ if ( is_array( $info[ 'pod' ] ) && 'pod' == pods_v( 'type', $info[ 'pod' ] ) ) {
7075
+ $info[ 'pod_field_index' ] = $info[ 'field_index' ] = $info[ 'meta_field_index' ] = $info[ 'meta_field_value' ] = pods_v( 'pod_index', $info[ 'pod' ][ 'options' ], 'id', true );
7076
+
7077
+ $slug_field = get_posts( array(
7078
+ 'post_type' => '_pods_field',
7079
+ 'posts_per_page' => 1,
7080
+ 'nopaging' => true,
7081
+ 'post_parent' => $info[ 'pod' ][ 'id' ],
7082
+ 'orderby' => 'menu_order',
7083
+ 'order' => 'ASC',
7084
+ 'meta_query' => array(
7085
+ array(
7086
+ 'key' => 'type',
7087
+ 'value' => 'slug',
7088
+ )
7089
+ )
7090
+ ) );
7091
+
7092
+ if ( !empty( $slug_field ) ) {
7093
+ $slug_field = $slug_field[ 0 ];
7094
+
7095
+ $info[ 'field_slug' ] = $info[ 'pod_field_slug' ] = $slug_field->post_name;
7096
+ }
7097
+
7098
+ if ( 1 == pods_v( 'hierarchical', $info[ 'pod' ][ 'options' ], 0 ) ) {
7099
+ $parent_field = pods_v( 'pod_parent', $info[ 'pod' ][ 'options' ], 'id', true );
7100
+
7101
+ if ( !empty( $parent_field ) && isset( $info[ 'pod' ][ 'fields' ][ $parent_field ] ) ) {
7102
+ $info[ 'object_hierarchical' ] = true;
7103
+
7104
+ $info[ 'pod_field_parent' ] = $info[ 'field_parent' ] = $parent_field . '_select';
7105
+ $info[ 'field_parent_select' ] = '`' . $parent_field . '`.`id` AS `' . $info[ 'field_parent' ] . '`';
7106
+ }
7107
+ }
7108
+ }
7109
+ }
7110
+ return $info;
7111
+ }
7112
+
7113
  /**
7114
  * Get information about an objects MySQL table
7115
  *
7175
  $object_type = 'post_type';
7176
  $object = 'post';
7177
  }
7178
+ elseif ( empty( $object ) && in_array( $object_type, array( 'user', 'media', 'comment' ) ) ) {
7179
+ $object = $object_type;
7180
+ }
7181
 
7182
  $pod_name = $pod;
7183
 
7184
  if ( is_array( $pod_name ) )
7185
  $pod_name = pods_var_raw( 'name', $pod_name, ( version_compare( PHP_VERSION, '5.4.0', '>=' ) ? json_encode( $pod_name, JSON_UNESCAPED_UNICODE ) : json_encode( $pod_name ) ), null, true );
7186
+ else {
7187
+ $pod_name = $object;
7188
+ }
7189
 
7190
  $field_name = $field;
7191
 
7215
 
7216
  $_info = false;
7217
 
7218
+ if ( isset( self::$table_info_cache[ $transient ] ) ) {
7219
+ // Prefer info from the object internal cache
7220
+ $_info = self::$table_info_cache[ $transient ];
7221
+ } elseif ( pods_api_cache() ) {
7222
+ $_info = pods_transient_get( $transient );
7223
+ if ( false === $_info && ! did_action( 'init' ) ) {
7224
+ $_info = pods_transient_get( $transient . '_pre_init' );
7225
+ }
7226
+ }
7227
+
7228
+ if ( false !== $_info ) {
7229
+ // Data was cached, use that
7230
+ $info = $_info;
7231
+ } else {
7232
+ // Data not cached, load it up
7233
+ $_info = $this->get_table_info_load( $object_type, $object, $name, $pod );
7234
+ if ( isset( $_info[ 'type' ] ) ) {
7235
+ // Allow function to override $object_type
7236
+ $object_type = $_info[ 'type' ];
7237
+ }
7238
+ $info = array_merge( $info, $_info );
7239
+ }
7240
+
7241
+ if ( 0 === strpos( $object_type, 'post_type' ) || 'media' == $object_type || in_array( pods_var_raw( 'type', $info[ 'pod' ] ), array( 'post_type', 'media' ) ) ) {
7242
+ $info[ 'table' ] = $wpdb->posts;
7243
+ $info[ 'meta_table' ] = $wpdb->postmeta;
7244
+
7245
+ $info[ 'field_id' ] = 'ID';
7246
+ $info[ 'field_index' ] = 'post_title';
7247
+ $info[ 'field_slug' ] = 'post_name';
7248
+ $info[ 'field_type' ] = 'post_type';
7249
+ $info[ 'field_parent' ] = 'post_parent';
7250
+ $info[ 'field_parent_select' ] = '`t`.`' . $info[ 'field_parent' ] . '`';
7251
+
7252
+ $info[ 'meta_field_id' ] = 'post_id';
7253
+ $info[ 'meta_field_index' ] = 'meta_key';
7254
+ $info[ 'meta_field_value' ] = 'meta_value';
7255
+
7256
+ if ( 'media' == $object_type )
7257
+ $object = 'attachment';
7258
+
7259
+ if ( empty( $name ) ) {
7260
+ $prefix = 'post_type-';
7261
+
7262
+ // Make sure we actually have the prefix before trying anything with the name
7263
+ if ( 0 === strpos( $object_type, $prefix ) )
7264
+ $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
7265
+ }
7266
+
7267
+ if ( 'media' != $object_type )
7268
+ $object_type = 'post_type';
7269
+
7270
+ $post_type = pods_sanitize( ( empty( $object ) ? $name : $object ) );
7271
+
7272
+ if ( 'attachment' == $post_type || 'media' == $object_type )
7273
+ $info[ 'pod_table' ] = $wpdb->prefix . 'pods_media';
7274
+ else
7275
+ $info[ 'pod_table' ] = $wpdb->prefix . 'pods_' . pods_clean_name( $post_type, true, false );
7276
+
7277
+ $post_type_object = get_post_type_object( $post_type );
7278
+
7279
+ if ( is_object( $post_type_object ) && $post_type_object->hierarchical )
7280
+ $info[ 'object_hierarchical' ] = true;
7281
+
7282
+ /**
7283
+ * Default Post Status to query for.
7284
+ *
7285
+ * Use to change "default" post status from publish to any other status or statuses.
7286
+ *
7287
+ * @param array $post_status List of post statuses. Default is 'publish'
7288
+ * @param string $post_type Post type of current object
7289
+ * @param array $info Array of information about the object.
7290
+ * @param string $object Type of object
7291
+ * @param string $name Name of pod to load
7292
+ * @param array $pod Array with Pod information. Result of PodsAPI::load_pod()
7293
+ * @param array $field Array with field information
7294
+ *
7295
+ * @since unknown
7296
+ */
7297
+ $post_status = apply_filters( 'pods_api_get_table_info_default_post_status', array( 'publish' ), $post_type, $info, $object_type, $object, $name, $pod, $field );
7298
+
7299
+ $info[ 'where' ] = array(
7300
+ //'post_status' => '`t`.`post_status` IN ( "inherit", "publish" )', // @todo Figure out what statuses Attachments can be
7301
+ 'post_type' => '`t`.`' . $info[ 'field_type' ] . '` = "' . $post_type . '"'
7302
+ );
7303
+
7304
+ if ( 'post_type' == $object_type )
7305
+ $info[ 'where_default' ] = '`t`.`post_status` IN ( "' . implode( '", "', $post_status ) . '" )';
7306
+
7307
+ $info[ 'orderby' ] = '`t`.`menu_order`, `t`.`' . $info[ 'field_index' ] . '`, `t`.`post_date`';
7308
+
7309
+ // WPML support
7310
+ if ( is_object( $sitepress ) && $sitepress->is_translated_post_type( $post_type ) && !$icl_adjust_id_url_filter_off ) {
7311
+ $info[ 'join' ][ 'wpml_translations' ] = "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7312
  LEFT JOIN `{$wpdb->prefix}icl_translations` AS `wpml_translations`
7313
  ON `wpml_translations`.`element_id` = `t`.`ID`
7314
  AND `wpml_translations`.`element_type` = 'post_{$post_type}'
7315
  AND `wpml_translations`.`language_code` = '{$current_language}'
7316
  ";
7317
 
7318
+ $info[ 'join' ][ 'wpml_languages' ] = "
7319
  LEFT JOIN `{$wpdb->prefix}icl_languages` AS `wpml_languages`
7320
  ON `wpml_languages`.`code` = `wpml_translations`.`language_code` AND `wpml_languages`.`active` = 1
7321
  ";
7322
 
7323
+ $info[ 'where' ][ 'wpml_languages' ] = "`wpml_languages`.`code` IS NOT NULL";
7324
+ }
7325
+ // Polylang support
7326
+ elseif( is_object( $polylang ) && !empty( $current_language ) && function_exists( 'pll_is_translated_post_type' ) && pll_is_translated_post_type( $post_type ) ) {
7327
+ $info[ 'join' ][ 'polylang_languages' ] = "
7328
  LEFT JOIN `{$wpdb->term_relationships}` AS `polylang_languages`
7329
  ON `polylang_languages`.`object_id` = `t`.`ID`
7330
  AND `polylang_languages`.`term_taxonomy_id` = {$current_language_tt_id}
7331
  ";
7332
 
7333
+ $info[ 'where' ][ 'polylang_languages' ] = "`polylang_languages`.`object_id` IS NOT NULL";
7334
+ }
7335
 
7336
+ $info[ 'object_fields' ] = $this->get_wp_object_fields( $object_type, $info[ 'pod' ] );
7337
+ }
7338
+ elseif ( 0 === strpos( $object_type, 'taxonomy' ) || in_array( $object_type, array( 'nav_menu', 'post_format' ) ) || 'taxonomy' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7339
+ $info[ 'table' ] = $info[ 'meta_table' ] = $wpdb->terms;
7340
 
7341
+ $info[ 'join' ][ 'tt' ] = "LEFT JOIN `{$wpdb->term_taxonomy}` AS `tt` ON `tt`.`term_id` = `t`.`term_id`";
7342
+ $info[ 'field_id' ] = $info[ 'meta_field_id' ] = 'term_id';
7343
+ $info[ 'field_index' ] = $info[ 'meta_field_index' ] = $info[ 'meta_field_value' ] = 'name';
7344
+ $info[ 'field_slug' ] = 'slug';
7345
+ $info[ 'field_type' ] = 'taxonomy';
7346
+ $info[ 'field_parent' ] = 'parent';
7347
+ $info[ 'field_parent_select' ] = '`tt`.`' . $info[ 'field_parent' ] . '`';
7348
 
7349
+ if ( 'nav_menu' == $object_type )
7350
+ $object = 'nav_menu';
7351
+ elseif ( 'post_format' == $object_type )
7352
+ $object = 'post_format';
7353
 
7354
+ if ( empty( $name ) ) {
7355
+ $prefix = 'taxonomy-';
7356
 
7357
+ // Make sure we actually have the prefix before trying anything with the name
7358
+ if ( 0 === strpos( $object_type, $prefix ) )
7359
+ $name = substr( $object_type, strlen( $prefix ), strlen( $object_type ) );
7360
+ }
7361
 
7362
+ if ( !in_array( $object_type, array( 'nav_menu', 'post_format' ) ) )
7363
+ $object_type = 'taxonomy';
7364
 
7365
+ $taxonomy = pods_sanitize( ( empty( $object ) ? $name : $object ) );
7366
 
7367
+ $info[ 'pod_table' ] = $wpdb->prefix . 'pods_' . pods_clean_name( $taxonomy, true, false );
7368
 
7369
+ $taxonomy_object = get_taxonomy( $taxonomy );
7370
 
7371
+ if ( is_object( $taxonomy_object ) && $taxonomy_object->hierarchical )
7372
+ $info[ 'object_hierarchical' ] = true;
7373
 
7374
+ $info[ 'where' ] = array(
7375
+ 'tt.taxonomy' => '`tt`.`' . $info[ 'field_type' ] . '` = "' . $taxonomy . '"'
7376
+ );
7377
 
7378
+ // WPML Support
7379
+ if ( is_object( $sitepress ) && $sitepress->is_translated_taxonomy( $taxonomy ) && !$icl_adjust_id_url_filter_off ) {
7380
+ $info[ 'join' ][ 'wpml_translations' ] = "
7381
  LEFT JOIN `{$wpdb->prefix}icl_translations` AS `wpml_translations`
7382
  ON `wpml_translations`.`element_id` = `tt`.`term_taxonomy_id`
7383
  AND `wpml_translations`.`element_type` = 'tax_{$taxonomy}'
7384
  AND `wpml_translations`.`language_code` = '{$current_language}'
7385
  ";
7386
 
7387
+ $info[ 'join' ][ 'wpml_languages' ] = "
7388
  LEFT JOIN `{$wpdb->prefix}icl_languages` AS `wpml_languages`
7389
  ON `wpml_languages`.`code` = `wpml_translations`.`language_code` AND `wpml_languages`.`active` = 1
7390
  ";
7391
 
7392
+ $info[ 'where' ][ 'wpml_languages' ] = "`wpml_languages`.`code` IS NOT NULL";
7393
+ }
7394
+ // Polylang support
7395
+ elseif ( is_object( $polylang ) && !empty( $current_language ) && function_exists( 'pll_is_translated_taxonomy' ) && pll_is_translated_taxonomy( $taxonomy ) ) {
7396
+ $info[ 'join' ][ 'polylang_languages' ] = "
7397
  LEFT JOIN `{$wpdb->termmeta}` AS `polylang_languages`
7398
  ON `polylang_languages`.`term_id` = `t`.`term_id`
7399
  AND `polylang_languages`.`meta_value` = {$current_language_t_id}
7400
  ";
7401
 
7402
+ $info[ 'where' ][ 'polylang_languages' ] = "`polylang_languages`.`term_id` IS NOT NULL";
7403
+ }
7404
+
7405
+ $info[ 'object_fields' ] = $this->get_wp_object_fields( $object_type, $info[ 'pod' ] );
7406
+ }
7407
+ elseif ( 'user' == $object_type || 'user' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7408
+ $info[ 'table' ] = $wpdb->users;
7409
+ $info[ 'meta_table' ] = $wpdb->usermeta;
7410
+ $info[ 'pod_table' ] = $wpdb->prefix . 'pods_user';
7411
+
7412
+ $info[ 'field_id' ] = 'ID';
7413
+ $info[ 'field_index' ] = 'display_name';
7414
+ $info[ 'field_slug' ] = 'user_nicename';
7415
+
7416
+ $info[ 'meta_field_id' ] = 'user_id';
7417
+ $info[ 'meta_field_index' ] = 'meta_key';
7418
+ $info[ 'meta_field_value' ] = 'meta_value';
7419
+
7420
+ $info[ 'where' ] = array(
7421
+ 'user_status' => '`t`.`user_status` = 0'
7422
+ );
7423
+
7424
+ $info[ 'object_fields' ] = $this->get_wp_object_fields( $object_type, $info[ 'pod' ] );
7425
+ }
7426
+ elseif ( 'comment' == $object_type || 'comment' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7427
+ //$info[ 'object_hierarchical' ] = true;
7428
+
7429
+ $info[ 'table' ] = $wpdb->comments;
7430
+ $info[ 'meta_table' ] = $wpdb->commentmeta;
7431
+ $info[ 'pod_table' ] = $wpdb->prefix . 'pods_comment';
7432
+
7433
+ $info[ 'field_id' ] = 'comment_ID';
7434
+ $info[ 'field_index' ] = 'comment_date';
7435
+ $info[ 'field_type' ] = 'comment_type';
7436
+ $info[ 'field_parent' ] = 'comment_parent';
7437
+ $info[ 'field_parent_select' ] = '`t`.`' . $info[ 'field_parent' ] . '`';
7438
+
7439
+ $info[ 'meta_field_id' ] = 'comment_id';
7440
+ $info[ 'meta_field_index' ] = 'meta_key';
7441
+ $info[ 'meta_field_value' ] = 'meta_value';
7442
+
7443
+ $object = 'comment';
7444
+
7445
+ $comment_type = ( empty( $object ) ? $name : $object );
7446
+
7447
+ $comment_type_clause = '`t`.`' . $info[ 'field_type' ] . '` = "' . $comment_type . '"';
7448
+
7449
+ if ( 'comment' == $comment_type ) {
7450
+ $comment_type_clause = '( ' . $comment_type_clause . ' OR `t`.`' . $info[ 'field_type' ] . '` = "" )';
7451
+ }
7452
+
7453
+ $info[ 'where' ] = array(
7454
+ 'comment_approved' => '`t`.`comment_approved` = 1',
7455
+ 'comment_type' => $comment_type_clause
7456
+ );
7457
+
7458
+ $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` DESC, `t`.`' . $info[ 'field_id' ] . '`';
7459
+ }
7460
+ elseif ( in_array( $object_type, array( 'option', 'settings' ) ) || 'settings' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7461
+ $info[ 'table' ] = $wpdb->options;
7462
+ $info[ 'meta_table' ] = $wpdb->options;
7463
+
7464
+ $info[ 'field_id' ] = 'option_id';
7465
+ $info[ 'field_index' ] = 'option_name';
7466
+
7467
+ $info[ 'meta_field_id' ] = 'option_id';
7468
+ $info[ 'meta_field_index' ] = 'option_name';
7469
+ $info[ 'meta_field_value' ] = 'option_value';
7470
+
7471
+ $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` ASC';
7472
+ }
7473
+ elseif ( is_multisite() && ( in_array( $object_type, array( 'site_option', 'site_settings' ) ) || 'site_settings' == pods_var_raw( 'type', $info[ 'pod' ] ) ) ) {
7474
+ $info[ 'table' ] = $wpdb->sitemeta;
7475
+ $info[ 'meta_table' ] = $wpdb->sitemeta;
7476
+
7477
+ $info[ 'field_id' ] = 'site_id';
7478
+ $info[ 'field_index' ] = 'meta_key';
7479
+
7480
+ $info[ 'meta_field_id' ] = 'site_id';
7481
+ $info[ 'meta_field_index' ] = 'meta_key';
7482
+ $info[ 'meta_field_value' ] = 'meta_value';
7483
+
7484
+ $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` ASC';
7485
+ }
7486
+ elseif ( is_multisite() && 'network' == $object_type ) { // Network = Site
7487
+ $info[ 'table' ] = $wpdb->site;
7488
+ $info[ 'meta_table' ] = $wpdb->sitemeta;
7489
+
7490
+ $info[ 'field_id' ] = 'id';
7491
+ $info[ 'field_index' ] = 'domain';
7492
+
7493
+ $info[ 'meta_field_id' ] = 'site_id';
7494
+ $info[ 'meta_field_index' ] = 'meta_key';
7495
+ $info[ 'meta_field_value' ] = 'meta_value';
7496
+
7497
+ $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` ASC, `t`.`path` ASC, `t`.`' . $info[ 'field_id' ] . '`';
7498
+ }
7499
+ elseif ( is_multisite() && 'site' == $object_type ) { // Site = Blog
7500
+ $info[ 'table' ] = $wpdb->blogs;
7501
+
7502
+ $info[ 'field_id' ] = 'blog_id';
7503
+ $info[ 'field_index' ] = 'domain';
7504
+ $info[ 'field_type' ] = 'site_id';
7505
+
7506
+ $info[ 'where' ] = array(
7507
+ 'archived' => '`t`.`archived` = 0',
7508
+ 'spam' => '`t`.`spam` = 0',
7509
+ 'deleted' => '`t`.`deleted` = 0',
7510
+ 'site_id' => '`t`.`' . $info[ 'field_type' ] . '` = ' . (int) get_current_site()->id
7511
+ );
7512
+
7513
+ $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '` ASC, `t`.`path` ASC, `t`.`' . $info[ 'field_id' ] . '`';
7514
+ }
7515
+ elseif ( 'table' == $object_type || 'table' == pods_var_raw( 'type', $info[ 'pod' ] ) ) {
7516
+ $info[ 'table' ] = ( empty( $object ) ? $name : $object );
7517
+ $info[ 'pod_table' ] = $wpdb->prefix . 'pods_' . $info[ 'table' ];
7518
+
7519
+ if ( !empty( $field ) && is_array( $field ) ) {
7520
+ $info[ 'table' ] = pods_var_raw( 'pick_table', pods_var_raw( 'options', $field, $field ) );
7521
+ $info[ 'field_id' ] = pods_var_raw( 'pick_table_id', pods_var_raw( 'options', $field, $field ) );
7522
+ $info[ 'field_index' ] = $info[ 'meta_field_index' ] = $info[ 'meta_field_value' ] = pods_var_raw( 'pick_table_index', pods_var_raw( 'options', $field, $field ) );
7523
+ }
7524
+ }
7525
+
7526
+ $info[ 'table' ] = pods_clean_name( $info[ 'table' ], false, false );
7527
+ $info[ 'meta_table' ] = pods_clean_name( $info[ 'meta_table' ], false, false );
7528
+ $info[ 'pod_table' ] = pods_clean_name( $info[ 'pod_table' ], false, false );
7529
+
7530
+ $info[ 'field_id' ] = pods_clean_name( $info[ 'field_id' ], false, false );
7531
+ $info[ 'field_index' ] = pods_clean_name( $info[ 'field_index' ], false, false );
7532
+ $info[ 'field_slug' ] = pods_clean_name( $info[ 'field_slug' ], false, false );
7533
+
7534
+ $info[ 'meta_field_id' ] = pods_clean_name( $info[ 'meta_field_id' ], false, false );
7535
+ $info[ 'meta_field_index' ] = pods_clean_name( $info[ 'meta_field_index' ], false, false );
7536
+ $info[ 'meta_field_value' ] = pods_clean_name( $info[ 'meta_field_value' ], false, false );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7537
 
7538
+ if ( empty( $info[ 'orderby' ] ) )
7539
+ $info[ 'orderby' ] = '`t`.`' . $info[ 'field_index' ] . '`, `t`.`' . $info[ 'field_id' ] . '`';
7540
 
7541
+ if ( 'table' == pods_var_raw( 'storage', $info[ 'pod' ] ) && !in_array( $object_type, array( 'pod', 'table' ) ) ) {
7542
+ $info[ 'join' ][ 'd' ] = 'LEFT JOIN `' . $info[ 'pod_table' ] . '` AS `d` ON `d`.`id` = `t`.`' . $info[ 'field_id' ] . '`';
7543
+ //$info[ 'select' ] .= ', `d`.*';
7544
+ }
7545
+
7546
+ if ( !empty( $info[ 'pod' ] ) && is_array( $info[ 'pod' ] ) )
7547
+ $info[ 'recurse' ] = true;
7548
+
7549
+ $info[ 'type' ] = $object_type;
7550
+ $info[ 'object_name' ] = $object;
7551
+
7552
+ if ( pods_api_cache() ) {
7553
+ if ( ! did_action( 'init' ) ) {
7554
+ $transient .= '_pre_init';
7555
+ }
7556
+ pods_transient_set( $transient, $info );
7557
+ }
7558
+
7559
+
7560
+ self::$table_info_cache[ $transient ] = apply_filters( 'pods_api_get_table_info', $info, $object_type, $object, $name, $pod, $field, $this );
7561
+
7562
+ return self::$table_info_cache[ $transient ];
7563
  }
7564
 
7565
  /**
7675
 
7676
  $fields = array_merge( $pod[ 'fields' ], $pod[ 'object_fields' ] );
7677
 
7678
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
7679
 
7680
  foreach ( $import_data as $key => $data_row ) {
7681
  $data = array();
7839
 
7840
  while ( $pod->fetch() ) {
7841
  $data[ $pod->id() ] = $this->export_pod_item( $params, $pod );
 
7842
  }
7843
 
7844
  $data = $this->do_hook( 'export', $data, $pod->pod, $pod );
classes/PodsAdmin.php CHANGED
@@ -92,6 +92,8 @@ class PodsAdmin {
92
  public function admin_head () {
93
  wp_register_style( 'pods-admin', PODS_URL . 'ui/css/pods-admin.css', array(), PODS_VERSION );
94
 
 
 
95
  wp_register_script( 'pods-floatmenu', PODS_URL . 'ui/js/floatmenu.js', array(), PODS_VERSION );
96
 
97
  wp_register_script( 'pods-admin-importer', PODS_URL . 'ui/js/admin-importer.js', array(), PODS_VERSION );
@@ -109,7 +111,7 @@ class PodsAdmin {
109
  if ( 'pods' == $page || ( false !== strpos( $page, 'pods-' ) && 0 === strpos( $page, 'pods-' ) ) ) {
110
  ?>
111
  <script type="text/javascript">
112
- var PODS_URL = "<?php echo PODS_URL; ?>";
113
  </script>
114
  <?php
115
  wp_enqueue_script( 'jquery' );
@@ -120,8 +122,8 @@ class PodsAdmin {
120
 
121
  wp_enqueue_script( 'pods-floatmenu' );
122
 
123
- wp_enqueue_style( 'pods-qtip' );
124
- wp_enqueue_script( 'jquery-qtip' );
125
  wp_enqueue_script( 'pods-qtip-init' );
126
 
127
  wp_enqueue_script( 'pods' );
@@ -156,6 +158,8 @@ class PodsAdmin {
156
  }
157
  }
158
  }
 
 
159
  }
160
 
161
  /**
@@ -220,9 +224,8 @@ class PodsAdmin {
220
  $parent_page = $page = 'pods-manage-' . $pod[ 'name' ];
221
 
222
  if ( empty( $menu_position ) )
223
- add_object_page( $page_title, $menu_label, 'read', $parent_page, '', $menu_icon );
224
- else
225
- add_menu_page( $page_title, $menu_label, 'read', $parent_page, '', $menu_icon, $menu_position );
226
 
227
  $all_title = $plural_label;
228
  $all_label = __( 'All', 'pods' ) . ' ' . $plural_label;
@@ -247,9 +250,8 @@ class PodsAdmin {
247
  $parent_page = $page;
248
 
249
  if ( empty( $menu_position ) )
250
- add_object_page( $page_title, $menu_label, 'read', $parent_page, '', $menu_icon );
251
- else
252
- add_menu_page( $page_title, $menu_label, 'read', $parent_page, '', $menu_icon, $menu_position );
253
  }
254
 
255
  $add_title = __( 'Add New', 'pods' ) . ' ' . $singular_label;
@@ -277,7 +279,7 @@ class PodsAdmin {
277
  if ( null === $parent_page ) {
278
  $parent_page = $page;
279
 
280
- add_menu_page( 'Pods', 'Pods', 'read', $parent_page, null, PODS_URL . 'ui/images/icon16.png', '58.5' );
281
  }
282
 
283
  $all_title = $plural_label;
@@ -298,7 +300,7 @@ class PodsAdmin {
298
  if ( null === $parent_page ) {
299
  $parent_page = $page;
300
 
301
- add_menu_page( 'Pods', 'Pods', 'read', $parent_page, null, PODS_URL . 'ui/images/icon16.png', '58.5' );
302
  }
303
 
304
  $add_title = __( 'Add New', 'pods' ) . ' ' . $singular_label;
@@ -351,9 +353,8 @@ class PodsAdmin {
351
  add_theme_page( $page_title, $menu_label, 'read', $menu_slug );
352
  elseif ( 'objects' == $menu_location ) {
353
  if ( empty( $menu_position ) )
354
- add_object_page( $page_title, $menu_label, 'read', $menu_slug, '', $menu_icon );
355
- else
356
- add_menu_page( $page_title, $menu_label, 'read', $menu_slug, '', $menu_icon, $menu_position );
357
  }
358
  elseif ( 'top' == $menu_location )
359
  add_menu_page( $page_title, $menu_label, 'read', $menu_slug, '', $menu_icon, $menu_position );
@@ -393,9 +394,8 @@ class PodsAdmin {
393
  add_theme_page( $page_title, $menu_label, 'read', $menu_slug, array( $this, 'admin_content_settings' ) );
394
  elseif ( 'objects' == $menu_location ) {
395
  if ( empty( $menu_position ) )
396
- add_object_page( $page_title, $menu_label, 'read', $menu_slug, array( $this, 'admin_content_settings' ), $menu_icon );
397
- else
398
- add_menu_page( $page_title, $menu_label, 'read', $menu_slug, array( $this, 'admin_content_settings' ), $menu_icon, $menu_position );
399
  }
400
  elseif ( 'top' == $menu_location )
401
  add_menu_page( $page_title, $menu_label, 'read', $menu_slug, array( $this, 'admin_content_settings' ), $menu_icon, $menu_position );
@@ -498,7 +498,7 @@ class PodsAdmin {
498
  if ( 'pods-upgrade' == $parent )
499
  $menu = __( 'Pods Upgrade', 'pods' );
500
 
501
- add_menu_page( $menu, $menu, 'read', $parent, null, PODS_URL . 'ui/images/icon16.png' );
502
  }
503
 
504
  add_submenu_page( $parent, $menu_item[ 'label' ], $menu_item[ 'label' ], 'read', $page, $menu_item[ 'function' ] );
@@ -511,6 +511,12 @@ class PodsAdmin {
511
 
512
  /**
513
  * Set the correct parent_file to highlight the correct top level menu
 
 
 
 
 
 
514
  */
515
  public function parent_file ( $parent_file ) {
516
  global $current_screen;
@@ -561,8 +567,8 @@ class PodsAdmin {
561
  echo '<div class="error fade"><p>';
562
  echo sprintf(
563
  __( '<strong>NOTICE:</strong> Pods %s requires your action to complete the upgrade. Please run the <a href="%s">Upgrade Wizard</a>.', 'pods' ),
564
- PODS_VERSION,
565
- admin_url( 'admin.php?page=pods-upgrade' )
566
  );
567
  echo '</p></div>';
568
  }
@@ -640,6 +646,10 @@ class PodsAdmin {
640
  * @return string
641
  */
642
  public function media_button ( $context = null ) {
 
 
 
 
643
 
644
  /**
645
  * Filter to remove Pods shortcode button from the post editor.
@@ -664,7 +674,7 @@ class PodsAdmin {
664
 
665
  add_action( 'admin_footer', array( $this, 'mce_popup' ) );
666
 
667
- echo '<a href="#TB_inline?width=640&inlineId=pods_shortcode_form" class="thickbox" id="add_pod_button" title="Pods Shortcode"><img src="' . PODS_URL . 'ui/images/icon16.png" alt="Pods Shortcode" /></a>';
668
  }
669
 
670
  /**
@@ -695,12 +705,12 @@ class PodsAdmin {
695
 
696
  if ( 'pods-add-new' == $_GET[ 'page' ] ) {
697
  if ( isset( $_GET[ 'action' ] ) && 'add' != $_GET[ 'action' ] )
698
- pods_redirect( pods_var_update( array( 'page' => 'pods', 'action' => $_GET[ 'action' ] ) ) );
699
  else
700
  $_GET[ 'action' ] = 'add';
701
  }
702
  elseif ( isset( $_GET[ 'action' ] ) && 'add' == $_GET[ 'action' ] )
703
- pods_redirect( pods_var_update( array( 'page' => 'pods-add-new', 'action' => '' ) ) );
704
 
705
  $types = array(
706
  'post_type' => __( 'Post Type (extended)', 'pods' ),
@@ -795,7 +805,6 @@ class PodsAdmin {
795
  'row' => $row,
796
  'total' => count( $pods ),
797
  'total_found' => count( $pods ),
798
- 'icon' => PODS_URL . 'ui/images/icon32.png',
799
  'items' => 'Pods',
800
  'item' => 'Pod',
801
  'fields' => array(
@@ -813,12 +822,13 @@ class PodsAdmin {
813
  'label' => __( 'Delete All Items', 'pods' ),
814
  'confirm' => __( 'Are you sure you want to delete all items from this Pod? If this is an extended Pod, it will remove the original items extended too.', 'pods' ),
815
  'callback' => array( $this, 'admin_setup_reset' ),
816
- 'restrict_callback' => array( $this, 'admin_setup_reset_restrict' )
 
817
  ),
818
  'delete' => array( $this, 'admin_setup_delete' )
819
  ),
820
  'action_links' => array(
821
- 'add' => pods_var_update( array( 'page' => 'pods-add-new', 'action' => '', 'id' => '', 'do' => '' ) )
822
  ),
823
  'search' => false,
824
  'searchable' => false,
@@ -1710,7 +1720,7 @@ class PodsAdmin {
1710
  $new_id = pods_api()->duplicate_pod( array( 'id' => $obj->id ) );
1711
 
1712
  if ( 0 < $new_id )
1713
- pods_redirect( pods_var_update( array( 'action' => 'edit', 'id' => $new_id, 'do' => 'duplicate' ) ) );
1714
  }
1715
 
1716
  /**
@@ -1897,9 +1907,9 @@ class PodsAdmin {
1897
  );
1898
 
1899
  if ( !empty( $component_data[ 'category' ] ) ) {
1900
- $category_url = pods_var_update( array( 'view' => sanitize_title( $component_data[ 'category' ] ), 'pg' => '', 'page' => $_GET[ 'page' ] ) );
1901
 
1902
- $component_data[ 'category' ] = '<a href="' . $category_url . '">' . $component_data[ 'category' ] . '</a>';
1903
  }
1904
 
1905
  if ( isset( PodsInit::$components->settings[ 'components' ][ $component_data[ 'id' ] ] ) && 0 != PodsInit::$components->settings[ 'components' ][ $component_data[ 'id' ] ] )
@@ -1912,7 +1922,6 @@ class PodsAdmin {
1912
  'data' => $components,
1913
  'total' => count( $components ),
1914
  'total_found' => count( $components ),
1915
- 'icon' => PODS_URL . 'ui/images/icon32.png',
1916
  'items' => 'Components',
1917
  'item' => 'Component',
1918
  'fields' => array(
@@ -1946,7 +1955,10 @@ class PodsAdmin {
1946
  ),
1947
  'actions_disabled' => array( 'duplicate', 'view', 'export', 'add', 'edit', 'delete' ),
1948
  'actions_custom' => array(
1949
- 'toggle' => array( 'callback' => array( $this, 'admin_components_toggle' ) )
 
 
 
1950
  ),
1951
  'filters_enhanced' => true,
1952
  'views' => array(
@@ -2035,7 +2047,7 @@ class PodsAdmin {
2035
  return;
2036
  }
2037
 
2038
- if ( 1 == pods_var( 'toggled' ) ) {
2039
  $toggle = PodsInit::$components->toggle( $component );
2040
 
2041
  if ( true === $toggle )
@@ -2073,7 +2085,7 @@ class PodsAdmin {
2073
 
2074
  pods_transient_clear( 'pods_components' );
2075
 
2076
- $url = pods_var_update( array( 'toggled' => null ) );
2077
 
2078
  pods_redirect( $url );
2079
  }
@@ -2281,6 +2293,8 @@ class PodsAdmin {
2281
 
2282
  $api = pods_api();
2283
 
 
 
2284
  if ( 'upgrade' == $method->name )
2285
  $output = (string) pods_upgrade( $params->version )->ajax( $params );
2286
  elseif ( 'migrate' == $method->name )
92
  public function admin_head () {
93
  wp_register_style( 'pods-admin', PODS_URL . 'ui/css/pods-admin.css', array(), PODS_VERSION );
94
 
95
+ wp_register_style( 'pods-font', PODS_URL . 'ui/css/pods-font.css', array(), PODS_VERSION );
96
+
97
  wp_register_script( 'pods-floatmenu', PODS_URL . 'ui/js/floatmenu.js', array(), PODS_VERSION );
98
 
99
  wp_register_script( 'pods-admin-importer', PODS_URL . 'ui/js/admin-importer.js', array(), PODS_VERSION );
111
  if ( 'pods' == $page || ( false !== strpos( $page, 'pods-' ) && 0 === strpos( $page, 'pods-' ) ) ) {
112
  ?>
113
  <script type="text/javascript">
114
+ var PODS_URL = "<?php echo esc_js( PODS_URL ); ?>";
115
  </script>
116
  <?php
117
  wp_enqueue_script( 'jquery' );
122
 
123
  wp_enqueue_script( 'pods-floatmenu' );
124
 
125
+ wp_enqueue_style( 'jquery-qtip2' );
126
+ wp_enqueue_script( 'jquery-qtip2' );
127
  wp_enqueue_script( 'pods-qtip-init' );
128
 
129
  wp_enqueue_script( 'pods' );
158
  }
159
  }
160
  }
161
+
162
+ wp_enqueue_style( 'pods-font' );
163
  }
164
 
165
  /**
224
  $parent_page = $page = 'pods-manage-' . $pod[ 'name' ];
225
 
226
  if ( empty( $menu_position ) )
227
+ $menu_position = null;
228
+ add_menu_page( $page_title, $menu_label, 'read', $parent_page, '', $menu_icon, $menu_position );
 
229
 
230
  $all_title = $plural_label;
231
  $all_label = __( 'All', 'pods' ) . ' ' . $plural_label;
250
  $parent_page = $page;
251
 
252
  if ( empty( $menu_position ) )
253
+ $menu_position = null;
254
+ add_menu_page( $page_title, $menu_label, 'read', $parent_page, '', $menu_icon, $menu_position );
 
255
  }
256
 
257
  $add_title = __( 'Add New', 'pods' ) . ' ' . $singular_label;
279
  if ( null === $parent_page ) {
280
  $parent_page = $page;
281
 
282
+ add_menu_page( 'Pods', 'Pods', 'read', $parent_page, null, 'dashicons-pods', '58.5' );
283
  }
284
 
285
  $all_title = $plural_label;
300
  if ( null === $parent_page ) {
301
  $parent_page = $page;
302
 
303
+ add_menu_page( 'Pods', 'Pods', 'read', $parent_page, null, 'dashicons-pods', '58.5' );
304
  }
305
 
306
  $add_title = __( 'Add New', 'pods' ) . ' ' . $singular_label;
353
  add_theme_page( $page_title, $menu_label, 'read', $menu_slug );
354
  elseif ( 'objects' == $menu_location ) {
355
  if ( empty( $menu_position ) )
356
+ $menu_position = null;
357
+ add_menu_page( $page_title, $menu_label, 'read', $menu_slug, '', $menu_icon, $menu_position );
 
358
  }
359
  elseif ( 'top' == $menu_location )
360
  add_menu_page( $page_title, $menu_label, 'read', $menu_slug, '', $menu_icon, $menu_position );
394
  add_theme_page( $page_title, $menu_label, 'read', $menu_slug, array( $this, 'admin_content_settings' ) );
395
  elseif ( 'objects' == $menu_location ) {
396
  if ( empty( $menu_position ) )
397
+ $menu_position = null;
398
+ add_menu_page( $page_title, $menu_label, 'read', $menu_slug, array( $this, 'admin_content_settings' ), $menu_icon, $menu_position );
 
399
  }
400
  elseif ( 'top' == $menu_location )
401
  add_menu_page( $page_title, $menu_label, 'read', $menu_slug, array( $this, 'admin_content_settings' ), $menu_icon, $menu_position );
498
  if ( 'pods-upgrade' == $parent )
499
  $menu = __( 'Pods Upgrade', 'pods' );
500
 
501
+ add_menu_page( $menu, $menu, 'read', $parent, null, 'dashicons-pods' );
502
  }
503
 
504
  add_submenu_page( $parent, $menu_item[ 'label' ], $menu_item[ 'label' ], 'read', $page, $menu_item[ 'function' ] );
511
 
512
  /**
513
  * Set the correct parent_file to highlight the correct top level menu
514
+ *
515
+ * @param $parent_file The parent file
516
+ *
517
+ * @return mixed|string
518
+ *
519
+ * @since unknown
520
  */
521
  public function parent_file ( $parent_file ) {
522
  global $current_screen;
567
  echo '<div class="error fade"><p>';
568
  echo sprintf(
569
  __( '<strong>NOTICE:</strong> Pods %s requires your action to complete the upgrade. Please run the <a href="%s">Upgrade Wizard</a>.', 'pods' ),
570
+ esc_html( PODS_VERSION ),
571
+ esc_url( admin_url( 'admin.php?page=pods-upgrade' ) )
572
  );
573
  echo '</p></div>';
574
  }
646
  * @return string
647
  */
648
  public function media_button ( $context = null ) {
649
+ // If shortcodes are disabled don't show the button
650
+ if ( defined( 'PODS_DISABLE_SHORTCODE' ) && PODS_DISABLE_SHORTCODE ) {
651
+ return '';
652
+ }
653
 
654
  /**
655
  * Filter to remove Pods shortcode button from the post editor.
674
 
675
  add_action( 'admin_footer', array( $this, 'mce_popup' ) );
676
 
677
+ echo '<a href="#TB_inline?width=640&inlineId=pods_shortcode_form" class="thickbox button" id="add_pod_button" title="Pods Shortcode"><img style="padding: 0px 6px 0px 0px; margin: -3px 0px 0px;" src="' . PODS_URL . 'ui/images/icon16.png" alt="' . __('Pods Shortcode' ,'pods') . '" />' . __('Pods Shortcode' ,'pods') . '</a>';
678
  }
679
 
680
  /**
705
 
706
  if ( 'pods-add-new' == $_GET[ 'page' ] ) {
707
  if ( isset( $_GET[ 'action' ] ) && 'add' != $_GET[ 'action' ] )
708
+ pods_redirect( pods_query_arg( array( 'page' => 'pods', 'action' => $_GET[ 'action' ] ) ) );
709
  else
710
  $_GET[ 'action' ] = 'add';
711
  }
712
  elseif ( isset( $_GET[ 'action' ] ) && 'add' == $_GET[ 'action' ] )
713
+ pods_redirect( pods_query_arg( array( 'page' => 'pods-add-new', 'action' => '' ) ) );
714
 
715
  $types = array(
716
  'post_type' => __( 'Post Type (extended)', 'pods' ),
805
  'row' => $row,
806
  'total' => count( $pods ),
807
  'total_found' => count( $pods ),
 
808
  'items' => 'Pods',
809
  'item' => 'Pod',
810
  'fields' => array(
822
  'label' => __( 'Delete All Items', 'pods' ),
823
  'confirm' => __( 'Are you sure you want to delete all items from this Pod? If this is an extended Pod, it will remove the original items extended too.', 'pods' ),
824
  'callback' => array( $this, 'admin_setup_reset' ),
825
+ 'restrict_callback' => array( $this, 'admin_setup_reset_restrict' ),
826
+ 'nonce' => true
827
  ),
828
  'delete' => array( $this, 'admin_setup_delete' )
829
  ),
830
  'action_links' => array(
831
+ 'add' => pods_query_arg( array( 'page' => 'pods-add-new', 'action' => '', 'id' => '', 'do' => '' ) )
832
  ),
833
  'search' => false,
834
  'searchable' => false,
1720
  $new_id = pods_api()->duplicate_pod( array( 'id' => $obj->id ) );
1721
 
1722
  if ( 0 < $new_id )
1723
+ pods_redirect( pods_query_arg( array( 'action' => 'edit', 'id' => $new_id, 'do' => 'duplicate' ) ) );
1724
  }
1725
 
1726
  /**
1907
  );
1908
 
1909
  if ( !empty( $component_data[ 'category' ] ) ) {
1910
+ $category_url = pods_query_arg( array( 'view' => sanitize_title( $component_data[ 'category' ] ), 'pg' => '', 'page' => $_GET[ 'page' ] ) );
1911
 
1912
+ $component_data[ 'category' ] = '<a href="' . esc_url( $category_url ) . '">' . $component_data[ 'category' ] . '</a>';
1913
  }
1914
 
1915
  if ( isset( PodsInit::$components->settings[ 'components' ][ $component_data[ 'id' ] ] ) && 0 != PodsInit::$components->settings[ 'components' ][ $component_data[ 'id' ] ] )
1922
  'data' => $components,
1923
  'total' => count( $components ),
1924
  'total_found' => count( $components ),
 
1925
  'items' => 'Components',
1926
  'item' => 'Component',
1927
  'fields' => array(
1955
  ),
1956
  'actions_disabled' => array( 'duplicate', 'view', 'export', 'add', 'edit', 'delete' ),
1957
  'actions_custom' => array(
1958
+ 'toggle' => array(
1959
+ 'callback' => array( $this, 'admin_components_toggle' ),
1960
+ 'nonce' => true
1961
+ )
1962
  ),
1963
  'filters_enhanced' => true,
1964
  'views' => array(
2047
  return;
2048
  }
2049
 
2050
+ if ( '1' == pods_v( 'toggled' ) ) {
2051
  $toggle = PodsInit::$components->toggle( $component );
2052
 
2053
  if ( true === $toggle )
2085
 
2086
  pods_transient_clear( 'pods_components' );
2087
 
2088
+ $url = pods_query_arg( array( 'toggled' => null ) );
2089
 
2090
  pods_redirect( $url );
2091
  }
2293
 
2294
  $api = pods_api();
2295
 
2296
+ $api->display_errors = false;
2297
+
2298
  if ( 'upgrade' == $method->name )
2299
  $output = (string) pods_upgrade( $params->version )->ajax( $params );
2300
  elseif ( 'migrate' == $method->name )
classes/PodsComponents.php CHANGED
@@ -407,7 +407,7 @@ class PodsComponents {
407
  $component_data[ 'MenuName' ] = $component_data[ 'Name' ];
408
 
409
  if ( empty( $component_data[ 'Class' ] ) )
410
- $component_data[ 'Class' ] = 'Pods_' . pods_clean_name( basename( $component, '.php' ), false );
411
 
412
  if ( empty( $component_data[ 'ID' ] ) )
413
  $component_data[ 'ID' ] = $component_data[ 'Name' ];
407
  $component_data[ 'MenuName' ] = $component_data[ 'Name' ];
408
 
409
  if ( empty( $component_data[ 'Class' ] ) )
410
+ $component_data[ 'Class' ] = 'Pods_' . pods_js_name( basename( $component, '.php' ), false );
411
 
412
  if ( empty( $component_data[ 'ID' ] ) )
413
  $component_data[ 'ID' ] = $component_data[ 'Name' ];
classes/PodsData.php CHANGED
@@ -624,15 +624,17 @@ class PodsData {
624
 
625
  $cache_key = $results = false;
626
 
 
 
627
  // Debug purposes
628
- if ( 1 == pods_var( 'pods_debug_params', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
629
  pods_debug( $params );
630
 
631
  // Get from cache if enabled
632
- if ( null !== pods_var( 'expires', $params, null, null, true ) ) {
633
- $cache_key = md5( serialize( get_object_vars( $params ) ) );
634
 
635
- $results = pods_view_get( $cache_key, pods_var( 'cache_mode', $params, 'cache', null, true ), 'pods_data_select' );
636
 
637
  if ( empty( $results ) )
638
  $results = false;
@@ -643,8 +645,8 @@ class PodsData {
643
  $this->sql = $this->build( $params );
644
 
645
  // Debug purposes
646
- if ( ( 1 == pods_var( 'pods_debug_sql', 'get', 0 ) || 1 == pods_var( 'pods_debug_sql_all', 'get', 0 ) ) && pods_is_admin( array( 'pods' ) ) )
647
- echo '<textarea cols="100" rows="24">' . str_replace( array( '@wp_users', '@wp_' ), array( $wpdb->users, $wpdb->prefix ), $this->sql ) . '</textarea>';
648
 
649
  if ( empty( $this->sql ) )
650
  return array();
@@ -654,14 +656,15 @@ class PodsData {
654
 
655
  // Cache if enabled
656
  if ( false !== $cache_key )
657
- pods_view_set( $cache_key, $results, pods_var( 'expires', $params, 0, null, true ), pods_var( 'cache_mode', $params, 'cache', null, true ), 'pods_data_select' );
658
  }
659
 
660
- $results = $this->do_hook( 'select', $results );
661
 
662
  $this->data = $results;
663
 
664
  $this->row_number = -1;
 
665
 
666
  // Fill in empty field data (if none provided)
667
  if ( ( !isset( $this->fields ) || empty( $this->fields ) ) && !empty( $this->data ) ) {
@@ -670,13 +673,21 @@ class PodsData {
670
 
671
  foreach ( $data as $data_key => $data_value ) {
672
  $this->fields[ $data_key ] = array( 'label' => ucwords( str_replace( '-', ' ', str_replace( '_', ' ', $data_key ) ) ) );
 
 
 
673
  }
674
 
675
  $this->fields = PodsForm::fields_setup( $this->fields );
676
  }
 
677
  $this->total_found_calculated = false;
678
 
679
- $this->total = count( (array) $this->data );
 
 
 
 
680
 
681
  return $this->data;
682
  }
@@ -710,7 +721,8 @@ class PodsData {
710
  * @since 2.0
711
  */
712
  public function build ( $params ) {
713
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
 
714
 
715
  $defaults = array(
716
  'select' => '*',
@@ -850,28 +862,47 @@ class PodsData {
850
  }
851
  }
852
 
853
- // Allow where array ( 'field' => 'value' ) and WP_Query meta_query syntax
854
- $params->where = $this->query_fields( (array) $params->where, $pod, $params );
855
-
856
- if ( empty( $params->where ) ) {
857
- $params->where = array();
858
- }
859
- else {
860
- $params->where = (array) $params->where;
861
- }
862
-
863
- // Allow having array ( 'field' => 'value' ) and WP_Query meta_query syntax
864
- $params->having = $this->query_fields( (array) $params->having, $pod );
865
-
866
- if ( empty( $params->having ) )
867
- $params->having = array();
868
- else
869
- $params->having = (array) $params->having;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
870
 
871
- if ( !empty( $params->orderby ) )
872
- $params->orderby = (array) $params->orderby;
873
- else
874
- $params->orderby = array();
875
 
876
  if ( false === $params->strict && !empty( $this->orderby ) )
877
  $params->orderby = array_merge( $params->orderby, (array) $this->orderby );
@@ -886,7 +917,7 @@ class PodsData {
886
 
887
  $params->search = (boolean) $params->search;
888
 
889
- if ( 1 == pods_var( 'pods_debug_params_all', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
890
  pods_debug( $params );
891
 
892
  $params->field_table_alias = 't';
@@ -952,7 +983,7 @@ class PodsData {
952
  foreach ( $params->fields as $key => $field ) {
953
  if ( is_array( $field ) ) {
954
  $attributes = $field;
955
- $field = pods_var( 'name', $field, $key, null, true );
956
  }
957
  else {
958
  $attributes = array(
@@ -969,12 +1000,12 @@ class PodsData {
969
 
970
  $fieldfield = '`' . $field . '`';
971
 
972
- if ( 'pick' == $attributes[ 'type' ] && !in_array( pods_var( 'pick_object', $attributes ), $simple_tableless_objects ) ) {
973
  if ( false === $params->search_across_picks )
974
  continue;
975
  else {
976
- if ( !isset( $attributes[ 'table_info' ] ) || empty( $attributes[ 'table_info' ] ) )
977
- $attributes[ 'table_info' ] = $this->api->get_table_info( pods_var( 'pick_object', $attributes ), pods_var( 'pick_val', $attributes ) );
978
 
979
  if ( empty( $attributes[ 'table_info' ][ 'field_index' ] ) )
980
  continue;
@@ -982,7 +1013,7 @@ class PodsData {
982
  $fieldfield = $fieldfield . '.`' . $attributes[ 'table_info' ][ 'field_index' ] . '`';
983
  }
984
  }
985
- elseif ( in_array( $attributes[ 'type' ], PodsForm::file_field_types() ) ) {
986
  if ( false === $params->search_across_files )
987
  continue;
988
  else
@@ -994,15 +1025,15 @@ class PodsData {
994
  else
995
  $fieldfield = '`' . $params->pod_table_prefix . '`.' . $fieldfield;
996
  }
997
- elseif ( !empty( $params->object_fields ) && !isset( $params->object_fields[ $field ] ) )
998
- $fieldfield = $fieldfield . '.`meta_value`';
999
  else
1000
- $fieldfield = '`t`.' . $fieldfield;
1001
 
1002
  if ( isset( $this->aliases[ $field ] ) )
1003
  $fieldfield = '`' . $this->aliases[ $field ] . '`';
1004
 
1005
- if ( isset( $attributes[ 'real_name' ] ) && !empty( $attributes[ 'real_name' ] ) )
1006
  $fieldfield = $attributes[ 'real_name' ];
1007
 
1008
  if ( isset( $attributes[ 'group_related' ] ) && false !== $attributes[ 'group_related' ] )
@@ -1022,7 +1053,7 @@ class PodsData {
1022
  else
1023
  $fieldfield = '`' . $params->pod_table_prefix . '`.`' . $params->index . '`';
1024
  }
1025
- elseif ( !empty( $params->object_fields ) && !isset( $params->object_fields[ $params->index ] ) )
1026
  $fieldfield = '`' . $params->index . '`.`meta_value`';
1027
 
1028
  if ( isset( $attributes[ 'real_name' ] ) && false !== $attributes[ 'real_name' ] && !empty( $attributes[ 'real_name' ] ) )
@@ -1049,28 +1080,28 @@ class PodsData {
1049
  continue;
1050
 
1051
  $attributes = $params->fields[ $filter ];
1052
- $field = pods_var( 'name', $attributes, $filter, null, true );
1053
 
1054
  $filterfield = '`' . $field . '`';
1055
 
1056
- if ( 'pick' == $attributes[ 'type' ] && !in_array( pods_var( 'pick_object', $attributes ), $simple_tableless_objects ) ) {
1057
- if ( !isset( $attributes[ 'table_info' ] ) || empty( $attributes[ 'table_info' ] ) )
1058
- $attributes[ 'table_info' ] = $this->api->get_table_info( pods_var( 'pick_object', $attributes ), pods_var( 'pick_val', $attributes ) );
1059
 
1060
  if ( empty( $attributes[ 'table_info' ][ 'field_index' ] ) )
1061
  continue;
1062
 
1063
  $filterfield = $filterfield . '.`' . $attributes[ 'table_info' ][ 'field_index' ] . '`';
1064
  }
1065
- elseif ( in_array( $attributes[ 'type' ], PodsForm::file_field_types() ) )
1066
  $filterfield = $filterfield . '.`post_title`';
1067
  elseif ( isset( $params->fields[ $field ] ) ) {
1068
- if ( $params->meta_fields )
1069
  $filterfield = $filterfield . '.`meta_value`';
1070
  else
1071
  $filterfield = '`' . $params->pod_table_prefix . '`.' . $filterfield;
1072
  }
1073
- elseif ( !empty( $params->object_fields ) && !isset( $params->object_fields[ $field ] ) )
1074
  $filterfield = $filterfield . '.`meta_value`';
1075
  else
1076
  $filterfield = '`t`.' . $filterfield;
@@ -1078,17 +1109,17 @@ class PodsData {
1078
  if ( isset( $this->aliases[ $field ] ) )
1079
  $filterfield = '`' . $this->aliases[ $field ] . '`';
1080
 
1081
- if ( isset( $attributes[ 'real_name' ] ) && false !== $attributes[ 'real_name' ] && !empty( $attributes[ 'real_name' ] ) )
1082
  $filterfield = $attributes[ 'real_name' ];
1083
 
1084
  if ( 'pick' == $attributes[ 'type' ] ) {
1085
- $filter_value = pods_var_raw( 'filter_' . $field, 'get' );
1086
 
1087
  if ( !is_array( $filter_value ) )
1088
  $filter_value = (array) $filter_value;
1089
 
1090
  foreach ( $filter_value as $filter_v ) {
1091
- if ( in_array( pods_var( 'pick_object', $attributes ), $simple_tableless_objects ) ) {
1092
  if ( strlen( $filter_v ) < 1 )
1093
  continue;
1094
 
@@ -1117,20 +1148,21 @@ class PodsData {
1117
  }
1118
  }
1119
  elseif ( in_array( $attributes[ 'type' ], array( 'date', 'datetime' ) ) ) {
1120
- $start = date_i18n( 'Y-m-d' ) . ( 'datetime' == $attributes[ 'type' ] ) ? ' 00:00:00' : '';
1121
- $end = date_i18n( 'Y-m-d' ) . ( 'datetime' == $attributes[ 'type' ] ) ? ' 23:59:59' : '';
1122
-
1123
- $start_value = pods_var( 'filter_' . $field . '_start', 'get', false );
1124
- $end_value = pods_var( 'filter_' . $field . '_end', 'get', false );
1125
 
1126
  if ( empty( $start_value ) && empty( $end_value ) )
1127
  continue;
1128
 
1129
- if ( !empty( $start_value ) )
1130
  $start = date_i18n( 'Y-m-d', strtotime( $start_value ) ) . ( 'datetime' == $attributes[ 'type' ] ? ' 00:00:00' : '' );
 
 
1131
 
1132
  if ( !empty( $end_value ) )
1133
  $end = date_i18n( 'Y-m-d', strtotime( $end_value ) ) . ( 'datetime' == $attributes[ 'type' ] ? ' 23:59:59' : '' );
 
 
1134
 
1135
  if ( isset( $attributes[ 'date_ongoing' ] ) && true === $attributes[ 'date_ongoing' ] ) {
1136
  $date_ongoing = '`' . $attributes[ 'date_ongoing' ] . '`';
@@ -1151,7 +1183,7 @@ class PodsData {
1151
  }
1152
  }
1153
  else {
1154
- $filter_value = pods_var_raw( 'filter_' . $field, 'get', '' );
1155
 
1156
  if ( strlen( $filter_value ) < 1 )
1157
  continue;
@@ -1181,7 +1213,7 @@ class PodsData {
1181
  $haystack = preg_replace( '/\w\(/', ' ', $haystack );
1182
  $haystack = str_replace( array( '(', ')', ' ', '\\\'', "\\\"" ), ' ', $haystack );
1183
 
1184
- preg_match_all( '/`?[\w]+`?(?:\\.`?[\w]+`?)+(?=[^"\']*(?:"[^"]*"[^"]*|\'[^\']*\'[^\']*)*$)/', $haystack, $found, PREG_PATTERN_ORDER );
1185
 
1186
  $found = (array) @current( $found );
1187
  $find = $replace = $traverse = array();
@@ -1191,25 +1223,28 @@ class PodsData {
1191
  $value = explode( '.', $value );
1192
  $dot = $last_value = array_pop( $value );
1193
 
1194
- if ( 't' == $value[ 0 ] || in_array( '/\b' . trim( $found[ $key ], '`' ) . '\b(?=[^"\']*(?:"[^"]*"[^"]*|\'[^\']*\'[^\']*)*$)/', $find ) )
1195
  continue;
 
 
 
1196
  elseif ( 1 == count( $value ) && '' == preg_replace( '/[0-9]*/', '', $value[ 0 ] ) && '' == preg_replace( '/[0-9]*/', '', $last_value ) )
1197
  continue;
1198
 
1199
- $find[ $key ] = '/\b' . trim( $found[ $key ], '`' ) . '\b(?=[^"\']*(?:"[^"]*"[^"]*|\'[^\']*\'[^\']*)*$)/';
1200
-
1201
- $esc_start = $esc_end = '`';
1202
 
1203
- if ( strlen( ltrim( $found[ $key ], '`' ) ) < strlen( $found[ $key ] ) )
1204
- $esc_start = '';
 
1205
 
1206
- if ( strlen( rtrim( $found[ $key ], '`' ) ) < strlen( $found[ $key ] ) )
1207
- $esc_end = '';
1208
 
1209
  if ( '*' != $dot )
1210
- $dot = '`' . $dot . $esc_end;
1211
 
1212
- $replace[ $key ] = $esc_start . implode( '_', $value ) . '`.' . $dot;
1213
 
1214
  $value[] = $last_value;
1215
 
@@ -1279,9 +1314,16 @@ class PodsData {
1279
  ";
1280
 
1281
  if ( !$params->calc_rows ) {
 
 
 
 
 
 
 
 
1282
  $this->total_sql = "
1283
- SELECT
1284
- COUNT( " . ( $params->distinct ? 'DISTINCT `t`.`' . $params->id . '`' : '*' ) . " )
1285
  FROM {$params->table} AS `t`
1286
  " . ( !empty( $params->join ) ? ( is_array( $params->join ) ? implode( "\n ", $params->join ) : $params->join ) : '' ) . "
1287
  " . ( !empty( $params->where ) ? 'WHERE ' . ( is_array( $params->where ) ? implode( ' AND ', $params->where ) : $params->where ) : '' ) . "
@@ -1674,9 +1716,10 @@ class PodsData {
1674
  if ( null === $row )
1675
  $explicit_set = false;
1676
 
 
1677
  $id = $row;
1678
 
1679
- $tableless_field_types = PodsForm::tableless_field_types();
1680
 
1681
  if ( null === $row ) {
1682
  $this->row_number++;
@@ -1718,9 +1761,11 @@ class PodsData {
1718
 
1719
  $row = false;
1720
 
1721
- // @todo Figure out why taking out this in_array() causes cached data issues in User edit screen
1722
- if ( !empty( $this->pod ) && in_array( $this->pod_data[ 'type' ], array( 'pod', 'table' ) ) ) {
1723
  $row = pods_cache_get( $id, 'pods_items_' . $this->pod );
 
 
 
1724
  }
1725
 
1726
  $current_row_id = false;
@@ -1892,7 +1937,7 @@ class PodsData {
1892
  }
1893
  }
1894
 
1895
- if ( !$explicit_set && is_array( $this->row ) && !empty( $this->row ) && !empty( $old_row ) ) {
1896
  $this->row = array_merge( $old_row, $this->row );
1897
  }
1898
 
@@ -1919,19 +1964,18 @@ class PodsData {
1919
  $row = get_object_vars( (object) @current( $current_row ) );
1920
 
1921
  if ( is_array( $this->row ) && !empty( $this->row ) )
1922
- $this->row = array_merge( $row, $this->row );
1923
  else
1924
  $this->row = $row;
1925
  }
1926
  }
1927
 
1928
- // @todo Figure out why taking out this in_array() causes cached data issues in User edit screen
1929
- if ( !empty( $this->pod ) && in_array( $this->pod_data[ 'type' ], array( 'pod', 'table' ) ) ) {
1930
  pods_cache_set( $id, $this->row, 'pods_items_' . $this->pod, 0 );
1931
  }
1932
  }
1933
 
1934
- $this->row = $this->do_hook( 'fetch', $this->row, $id, $this->row_number );
1935
 
1936
  return $this->row;
1937
  }
@@ -2025,17 +2069,17 @@ class PodsData {
2025
  $params = array_merge( $params, $sql );
2026
 
2027
  if ( 1 == pods_var( 'pods_debug_sql_all', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
2028
- echo '<textarea cols="100" rows="24">' . str_replace( array( '@wp_users', '@wp_' ), array( $wpdb->users, $wpdb->prefix ), $params->sql ) . '</textarea>';
2029
  }
2030
 
2031
  $params->sql = trim( $params->sql );
2032
 
2033
  // Run Query
2034
- $params->sql = self::do_hook( 'query', $params->sql, $params );
2035
 
2036
  $result = $wpdb->query( $params->sql );
2037
 
2038
- $result = self::do_hook( 'query_result', $result, $params );
2039
 
2040
  if ( false === $result && !empty( $params->error ) && !empty( $wpdb->last_error ) )
2041
  return pods_error( "{$params->error}; SQL: {$params->sql}; Response: {$wpdb->last_error}", $params->display_errors );
@@ -2171,7 +2215,7 @@ class PodsData {
2171
  * @var $wpdb wpdb
2172
  */
2173
  global $wpdb;
2174
- list( $sql, $data ) = self::do_hook( 'prepare', array( $sql, $data ) );
2175
  return $wpdb->prepare( $sql, $data );
2176
  }
2177
 
@@ -2253,7 +2297,7 @@ class PodsData {
2253
  $haystack = preg_replace( '/\w\(/', ' ', $haystack );
2254
  $haystack = str_replace( array( '(', ')', ' ', '\\\'', "\\\"" ), ' ', $haystack );
2255
 
2256
- preg_match_all( '/`?[\w]+`?(?:\\.`?[\w]+`?)+(?=[^"\']*(?:"[^"]*"[^"]*|\'[^\']*\'[^\']*)*$)/', $haystack, $found, PREG_PATTERN_ORDER );
2257
 
2258
  $found = (array) @current( $found );
2259
 
@@ -2310,7 +2354,7 @@ class PodsData {
2310
  public static function query_field ( $field, $q, $pod = null, &$params = null ) {
2311
  global $wpdb;
2312
 
2313
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
2314
 
2315
  $field_query = null;
2316
 
@@ -2372,10 +2416,10 @@ class PodsData {
2372
 
2373
  if ( isset( $pod[ 'fields' ][ $field_name ] ) && in_array( $pod[ 'fields' ][ $field_name ][ 'type' ], $tableless_field_types ) ) {
2374
  if ( in_array( $pod[ 'fields' ][ $field_name ][ 'pick_object' ], $simple_tableless_objects ) ) {
2375
- if ( 'table' == $pod[ 'storage' ] )
2376
- $field_cast = "`t`.`{$field_name}`";
2377
- else
2378
  $field_cast = "`{$field_name}`.`meta_value`";
 
 
2379
  }
2380
  else {
2381
  $table = pods_api()->get_table_info( $pod[ 'fields' ][ $field_name ][ 'pick_object' ], $pod[ 'fields' ][ $field_name ][ 'pick_val' ] );
@@ -2390,10 +2434,10 @@ class PodsData {
2390
  if ( isset( $pod[ 'object_fields' ][ $field_name ] ) )
2391
  $field_cast = "`t`.`{$field_name}`";
2392
  elseif ( isset( $pod[ 'fields' ][ $field_name ] ) ) {
2393
- if ( 'table' == $pod[ 'storage' ] )
2394
- $field_cast = "`d`.`{$field_name}`";
2395
- else
2396
  $field_cast = "`{$field_name}`.`meta_value`";
 
 
2397
  }
2398
  else {
2399
  foreach ( $pod[ 'object_fields' ] as $object_field => $object_field_opt ) {
@@ -2406,17 +2450,18 @@ class PodsData {
2406
  }
2407
  }
2408
  elseif ( isset( $pod[ 'fields' ][ $field_name ] ) ) {
2409
- if ( 'table' == $pod[ 'storage' ] )
2410
- $field_cast = "`t`.`{$field_name}`";
2411
- else
2412
  $field_cast = "`{$field_name}`.`meta_value`";
 
 
2413
  }
2414
 
2415
  if ( empty( $field_cast ) ) {
2416
- if ( 'table' == $pod[ 'storage' ] )
2417
- $field_cast = "`{$field_name}`";
2418
- else
2419
  $field_cast = "`{$field_name}`.`meta_value`";
 
 
 
2420
  }
2421
  }
2422
  }
@@ -2445,18 +2490,18 @@ class PodsData {
2445
  }
2446
 
2447
  // Restrict to supported comparisons
2448
- if ( !in_array( $field_compare, array( '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'EXISTS', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP', 'RLIKE' ) ) )
2449
  $field_compare = '=';
2450
 
2451
  // Restrict to supported array comparisons
2452
- if ( is_array( $field_value ) && !in_array( $field_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) {
2453
  if ( in_array( $field_compare, array( '!=', 'NOT LIKE' ) ) )
2454
  $field_compare = 'NOT IN';
2455
  else
2456
  $field_compare = 'IN';
2457
  }
2458
  // Restrict to supported string comparisons
2459
- elseif ( !is_array( $field_value ) && in_array( $field_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) {
2460
  $check_value = preg_split( '/[,\s]+/', $field_value );
2461
 
2462
  if ( 1 < count( $check_value ) )
@@ -2479,8 +2524,12 @@ class PodsData {
2479
  }
2480
  }
2481
 
 
 
 
 
2482
  // Empty array handling
2483
- if ( in_array( $field_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) && empty( $field_value ) ) {
2484
  $field_compare = 'EXISTS';
2485
  }
2486
 
@@ -2512,7 +2561,19 @@ class PodsData {
2512
  $field_query = $field_cast . ' ' . $field_compare . ' "' . $field_value . '"';
2513
  }
2514
  }
2515
- elseif ( in_array( $field_compare, array( 'IN', 'NOT IN' ) ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
2516
  if ( $field_sanitize ) {
2517
  $field_query = $wpdb->prepare( $field_cast . ' ' . $field_compare . ' ( ' . substr( str_repeat( ', ' . $field_sanitize_format, count( $field_value ) ), 1 ) . ' )', $field_value );
2518
  }
@@ -2650,14 +2711,14 @@ class PodsData {
2650
  $pod_data[ 'fields' ] = array_merge( $pod_data[ 'fields' ], $pod_data[ 'object_fields' ] );
2651
  }
2652
 
2653
- $tableless_field_types = PodsForm::tableless_field_types();
2654
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
2655
- $file_field_types = PodsForm::file_field_types();
2656
 
2657
  if ( !isset( $this->traversal[ $traverse_recurse[ 'pod' ] ] ) )
2658
  $this->traversal[ $traverse_recurse[ 'pod' ] ] = array();
2659
 
2660
- if ( ( empty( $pod_data[ 'meta_table' ] ) || $pod_data[ 'meta_table' ] == $pod_data[ 'table' ] ) && ( empty( $traverse_recurse[ 'fields' ] ) || !isset( $traverse_recurse[ 'fields' ][ $traverse_recurse[ 'depth' ] ] ) || empty( $traverse_recurse[ 'fields' ][ $traverse_recurse[ 'depth' ] ] ) ) )
2661
  return $joins;
2662
 
2663
  $field = $traverse_recurse[ 'fields' ][ $traverse_recurse[ 'depth' ] ];
@@ -2667,7 +2728,7 @@ class PodsData {
2667
  'polylang_languages'
2668
  );
2669
 
2670
- $ignore_aliases = $this->do_hook( 'traverse_recurse_ignore_aliases', $ignore_aliases, $field, $traverse_recurse );
2671
 
2672
  if ( in_array( $field, $ignore_aliases ) )
2673
  return $joins;
@@ -2706,7 +2767,7 @@ class PodsData {
2706
 
2707
  if ( 'post_type' == $pod_data[ 'type' ] && isset( $pod_data[ 'object_fields'][ $field ] ) && in_array( $pod_data[ 'object_fields' ][ $field ][ 'type' ], $tableless_field_types ) )
2708
  $pod_data[ 'fields' ][ $field ] = $pod_data[ 'object_fields' ][ $field ];
2709
- elseif ( in_array( $pod_data[ 'type' ], array( 'post_type', 'media', 'user', 'comment' ) ) && 'meta_value' == $last )
2710
  $pod_data[ 'fields' ][ $field ] = PodsForm::field_setup( array( 'name' => $field ) );
2711
  else {
2712
  if ( 'post_type' == $pod_data[ 'type' ] ) {
@@ -2720,7 +2781,9 @@ class PodsData {
2720
  else
2721
  return $joins;
2722
  }
2723
- }
 
 
2724
 
2725
  $traverse = $pod_data[ 'fields' ][ $field ];
2726
 
@@ -2737,16 +2800,21 @@ class PodsData {
2737
  if ( !empty( $traverse[ 'table_info' ][ 'meta_table' ] ) )
2738
  $meta_data_table = true;
2739
  }
2740
- elseif ( !in_array( $traverse[ 'type' ], $tableless_field_types ) && isset( $traverse_recurse[ 'last_table_info' ] ) && !empty( $traverse_recurse[ 'last_table_info' ] ) && 0 == $traverse_recurse[ 'depth' ] )
2741
  $traverse[ 'table_info' ] = $traverse_recurse[ 'last_table_info' ];
2742
- else
2743
- $traverse[ 'table_info' ] = $this->api->get_table_info( $traverse[ 'pick_object' ], $traverse[ 'pick_val' ], null, $traverse[ 'pod' ], $traverse );
 
 
 
 
 
2744
  }
2745
 
2746
  if ( isset( $this->traversal[ $traverse_recurse[ 'pod' ] ][ $traverse[ 'name' ] ] ) )
2747
  $traverse = array_merge( $traverse, (array) $this->traversal[ $traverse_recurse[ 'pod' ] ][ $traverse[ 'name' ] ] );
2748
 
2749
- $traverse = $this->do_hook( 'traverse', $traverse, compact( 'pod', 'fields', 'joined', 'depth', 'joined_id', 'params' ) );
2750
 
2751
  if ( empty( $traverse ) )
2752
  return $joins;
@@ -2771,7 +2839,7 @@ class PodsData {
2771
 
2772
  $rel_alias = 'rel_' . $field_joined;
2773
 
2774
- if ( pods_var( 'search', $traverse_recurse[ 'params' ], false ) && empty( $traverse_recurse[ 'params' ]->filters ) ) {
2775
  if ( 0 < strlen( pods_var( 'filter_' . $field_joined, 'get' ) ) ) {
2776
  $val = absint( pods_var( 'filter_' . $field_joined, 'get' ) );
2777
 
@@ -2826,7 +2894,7 @@ class PodsData {
2826
  $joined_index = $table_info[ 'field_index' ];
2827
  }
2828
  }
2829
- elseif ( in_array( $traverse[ 'type' ], $tableless_field_types ) && ( 'pick' != $traverse[ 'type' ] || !in_array( pods_var( 'pick_object', $traverse ), $simple_tableless_objects ) ) ) {
2830
  if ( pods_tableless() ) {
2831
  $the_join = "
2832
  LEFT JOIN `{$table_info[ 'meta_table' ]}` AS `{$rel_alias}` ON
@@ -2842,10 +2910,17 @@ class PodsData {
2842
  $joined_index = $table_info[ 'meta_field_index' ];
2843
  }
2844
  elseif ( $meta_data_table ) {
 
 
 
 
 
 
 
2845
  $the_join = "
2846
- LEFT JOIN `{$table_info[ 'pod_table' ]}` AS `{$field_joined}` ON
2847
- `{$field_joined}`.`{$table_info[ 'pod_field_id' ]}` = `{$traverse_recurse[ 'rel_alias' ]}`.`{$traverse_recurse[ 'joined_id' ]}`
2848
- ";
2849
  }
2850
  else {
2851
  $the_join = "
@@ -2895,7 +2970,7 @@ class PodsData {
2895
  'last_table_info' => $table_info
2896
  );
2897
 
2898
- $the_join = $this->do_hook( 'traverse_the_join', $the_join, $traverse_recurse, $traverse_recursive );
2899
 
2900
  if ( empty( $the_join ) )
2901
  return $joins;
@@ -2985,4 +3060,4 @@ class PodsData {
2985
 
2986
  return $sql;
2987
  }
2988
- }
624
 
625
  $cache_key = $results = false;
626
 
627
+ $params = apply_filters( 'pods_data_pre_select_params', $params );
628
+
629
  // Debug purposes
630
+ if ( 1 == pods_v( 'pods_debug_params', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
631
  pods_debug( $params );
632
 
633
  // Get from cache if enabled
634
+ if ( null !== pods_v( 'expires', $params, null, false ) ) {
635
+ $cache_key = md5( (string) $this->pod . serialize( $params ) );
636
 
637
+ $results = pods_view_get( $cache_key, pods_v( 'cache_mode', $params, 'cache', true ), 'pods_data_select' );
638
 
639
  if ( empty( $results ) )
640
  $results = false;
645
  $this->sql = $this->build( $params );
646
 
647
  // Debug purposes
648
+ if ( ( 1 == pods_v( 'pods_debug_sql', 'get', 0 ) || 1 == pods_v( 'pods_debug_sql_all', 'get', 0 ) ) && pods_is_admin( array( 'pods' ) ) )
649
+ echo '<textarea cols="100" rows="24">' . esc_textarea( str_replace( array( '@wp_users', '@wp_' ), array( $wpdb->users, $wpdb->prefix ), $this->sql ) ) . '</textarea>';
650
 
651
  if ( empty( $this->sql ) )
652
  return array();
656
 
657
  // Cache if enabled
658
  if ( false !== $cache_key )
659
+ pods_view_set( $cache_key, $results, pods_v( 'expires', $params, 0, false ), pods_v( 'cache_mode', $params, 'cache', true ), 'pods_data_select' );
660
  }
661
 
662
+ $results = apply_filters( 'pods_data_select', $results, $params, $this );
663
 
664
  $this->data = $results;
665
 
666
  $this->row_number = -1;
667
+ $this->row = null;
668
 
669
  // Fill in empty field data (if none provided)
670
  if ( ( !isset( $this->fields ) || empty( $this->fields ) ) && !empty( $this->data ) ) {
673
 
674
  foreach ( $data as $data_key => $data_value ) {
675
  $this->fields[ $data_key ] = array( 'label' => ucwords( str_replace( '-', ' ', str_replace( '_', ' ', $data_key ) ) ) );
676
+ if ( isset( $this->pod_data[ 'object_fields' ][ $data_key ] ) ) {
677
+ $this->fields[ $data_key ] = $this->pod_data[ 'object_fields' ][ $data_key ];
678
+ }
679
  }
680
 
681
  $this->fields = PodsForm::fields_setup( $this->fields );
682
  }
683
+
684
  $this->total_found_calculated = false;
685
 
686
+ $this->total = 0;
687
+
688
+ if ( ! empty( $this->data ) ) {
689
+ $this->total = count( (array) $this->data );
690
+ }
691
 
692
  return $this->data;
693
  }
721
  * @since 2.0
722
  */
723
  public function build ( $params ) {
724
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
725
+ $file_field_types = PodsForm::file_field_types();
726
 
727
  $defaults = array(
728
  'select' => '*',
862
  }
863
  }
864
 
865
+ // Allow where array ( 'field' => 'value' ) and WP_Query meta_query syntax
866
+ if ( ! empty( $params->where ) ) {
867
+ $params->where = $this->query_fields( (array) $params->where, $pod, $params );
868
+ }
869
+
870
+ if ( empty( $params->where ) ) {
871
+ $params->where = array();
872
+ } else {
873
+ $params->where = (array) $params->where;
874
+ }
875
+
876
+ // Allow having array ( 'field' => 'value' ) and WP_Query meta_query syntax
877
+ if ( ! empty( $params->having ) ) {
878
+ $params->having = $this->query_fields( (array) $params->having, $pod, $params );
879
+ }
880
+
881
+ if ( empty( $params->having ) ) {
882
+ $params->having = array();
883
+ } else {
884
+ $params->having = (array) $params->having;
885
+ }
886
+
887
+ if ( !empty( $params->orderby ) ) {
888
+ if ( 'post_type' == $pod[ 'type' ] && 'meta' == $pod[ 'storage' ] && is_array( $params->orderby ) ) {
889
+
890
+ foreach ( $params->orderby as $i => $orderby ) {
891
+ if ( strpos( $orderby, '.meta_value_num' ) ) {
892
+ $params->orderby[ $i ] = 'CAST(' . str_replace( '.meta_value_num', '.meta_value', $orderby ) . ' AS DECIMAL)';
893
+ } elseif ( strpos( $orderby, '.meta_value_date' ) ) {
894
+ $params->orderby[ $i ] = 'CAST(' . str_replace( '.meta_value_date', '.meta_value', $orderby ) . ' AS DATE)';
895
+ }
896
+
897
+ }
898
+
899
+ }
900
+
901
+ $params->orderby = (array) $params->orderby;
902
+ } else {
903
+ $params->orderby = array();
904
+ }
905
 
 
 
 
 
906
 
907
  if ( false === $params->strict && !empty( $this->orderby ) )
908
  $params->orderby = array_merge( $params->orderby, (array) $this->orderby );
917
 
918
  $params->search = (boolean) $params->search;
919
 
920
+ if ( 1 == pods_v( 'pods_debug_params_all', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
921
  pods_debug( $params );
922
 
923
  $params->field_table_alias = 't';
983
  foreach ( $params->fields as $key => $field ) {
984
  if ( is_array( $field ) ) {
985
  $attributes = $field;
986
+ $field = pods_v( 'name', $field, $key, true );
987
  }
988
  else {
989
  $attributes = array(
1000
 
1001
  $fieldfield = '`' . $field . '`';
1002
 
1003
+ if ( 'pick' == $attributes[ 'type' ] && !in_array( pods_v( 'pick_object', $attributes ), $simple_tableless_objects ) ) {
1004
  if ( false === $params->search_across_picks )
1005
  continue;
1006
  else {
1007
+ if ( empty( $attributes[ 'table_info' ] ) )
1008
+ $attributes[ 'table_info' ] = $this->api->get_table_info( pods_v( 'pick_object', $attributes ), pods_v( 'pick_val', $attributes ) );
1009
 
1010
  if ( empty( $attributes[ 'table_info' ][ 'field_index' ] ) )
1011
  continue;
1013
  $fieldfield = $fieldfield . '.`' . $attributes[ 'table_info' ][ 'field_index' ] . '`';
1014
  }
1015
  }
1016
+ elseif ( in_array( $attributes[ 'type' ], $file_field_types ) ) {
1017
  if ( false === $params->search_across_files )
1018
  continue;
1019
  else
1025
  else
1026
  $fieldfield = '`' . $params->pod_table_prefix . '`.' . $fieldfield;
1027
  }
1028
+ elseif ( !empty( $params->object_fields ) && !isset( $params->object_fields[ $field ] ) && 'meta' == $pod['storage'] )
1029
+ $fieldfield = $fieldfield . '.`meta_value`';
1030
  else
1031
+ $fieldfield = '`t`.' . $fieldfield;
1032
 
1033
  if ( isset( $this->aliases[ $field ] ) )
1034
  $fieldfield = '`' . $this->aliases[ $field ] . '`';
1035
 
1036
+ if ( !empty( $attributes[ 'real_name' ] ) )
1037
  $fieldfield = $attributes[ 'real_name' ];
1038
 
1039
  if ( isset( $attributes[ 'group_related' ] ) && false !== $attributes[ 'group_related' ] )
1053
  else
1054
  $fieldfield = '`' . $params->pod_table_prefix . '`.`' . $params->index . '`';
1055
  }
1056
+ elseif ( !empty( $params->object_fields ) && !isset( $params->object_fields[ $params->index ] ) && 'meta' == $pod['storage'] )
1057
  $fieldfield = '`' . $params->index . '`.`meta_value`';
1058
 
1059
  if ( isset( $attributes[ 'real_name' ] ) && false !== $attributes[ 'real_name' ] && !empty( $attributes[ 'real_name' ] ) )
1080
  continue;
1081
 
1082
  $attributes = $params->fields[ $filter ];
1083
+ $field = pods_v( 'name', $attributes, $filter, true );
1084
 
1085
  $filterfield = '`' . $field . '`';
1086
 
1087
+ if ( 'pick' == $attributes[ 'type' ] && !in_array( pods_v( 'pick_object', $attributes ), $simple_tableless_objects ) ) {
1088
+ if ( empty( $attributes[ 'table_info' ] ) )
1089
+ $attributes[ 'table_info' ] = $this->api->get_table_info( pods_v( 'pick_object', $attributes ), pods_v( 'pick_val', $attributes ) );
1090
 
1091
  if ( empty( $attributes[ 'table_info' ][ 'field_index' ] ) )
1092
  continue;
1093
 
1094
  $filterfield = $filterfield . '.`' . $attributes[ 'table_info' ][ 'field_index' ] . '`';
1095
  }
1096
+ elseif ( in_array( $attributes[ 'type' ], $file_field_types ) )
1097
  $filterfield = $filterfield . '.`post_title`';
1098
  elseif ( isset( $params->fields[ $field ] ) ) {
1099
+ if ( $params->meta_fields && 'meta' == $pod['storage'] )
1100
  $filterfield = $filterfield . '.`meta_value`';
1101
  else
1102
  $filterfield = '`' . $params->pod_table_prefix . '`.' . $filterfield;
1103
  }
1104
+ elseif ( !empty( $params->object_fields ) && !isset( $params->object_fields[ $field ] ) && 'meta' == $pod['storage'] )
1105
  $filterfield = $filterfield . '.`meta_value`';
1106
  else
1107
  $filterfield = '`t`.' . $filterfield;
1109
  if ( isset( $this->aliases[ $field ] ) )
1110
  $filterfield = '`' . $this->aliases[ $field ] . '`';
1111
 
1112
+ if ( !empty( $attributes[ 'real_name' ] ) )
1113
  $filterfield = $attributes[ 'real_name' ];
1114
 
1115
  if ( 'pick' == $attributes[ 'type' ] ) {
1116
+ $filter_value = pods_v( 'filter_' . $field, 'get' );
1117
 
1118
  if ( !is_array( $filter_value ) )
1119
  $filter_value = (array) $filter_value;
1120
 
1121
  foreach ( $filter_value as $filter_v ) {
1122
+ if ( in_array( pods_v( 'pick_object', $attributes ), $simple_tableless_objects ) ) {
1123
  if ( strlen( $filter_v ) < 1 )
1124
  continue;
1125
 
1148
  }
1149
  }
1150
  elseif ( in_array( $attributes[ 'type' ], array( 'date', 'datetime' ) ) ) {
1151
+ $start_value = pods_v( 'filter_' . $field . '_start', 'get', false );
1152
+ $end_value = pods_v( 'filter_' . $field . '_end', 'get', false );
 
 
 
1153
 
1154
  if ( empty( $start_value ) && empty( $end_value ) )
1155
  continue;
1156
 
1157
+ if ( !empty( $start_value ) )
1158
  $start = date_i18n( 'Y-m-d', strtotime( $start_value ) ) . ( 'datetime' == $attributes[ 'type' ] ? ' 00:00:00' : '' );
1159
+ else
1160
+ $start = date_i18n( 'Y-m-d' ) . ( 'datetime' == $attributes[ 'type' ] ) ? ' 00:00:00' : '';
1161
 
1162
  if ( !empty( $end_value ) )
1163
  $end = date_i18n( 'Y-m-d', strtotime( $end_value ) ) . ( 'datetime' == $attributes[ 'type' ] ? ' 23:59:59' : '' );
1164
+ else
1165
+ $end = date_i18n( 'Y-m-d' ) . ( 'datetime' == $attributes[ 'type' ] ) ? ' 23:59:59' : '';
1166
 
1167
  if ( isset( $attributes[ 'date_ongoing' ] ) && true === $attributes[ 'date_ongoing' ] ) {
1168
  $date_ongoing = '`' . $attributes[ 'date_ongoing' ] . '`';
1183
  }
1184
  }
1185
  else {
1186
+ $filter_value = pods_v( 'filter_' . $field, 'get', '' );
1187
 
1188
  if ( strlen( $filter_value ) < 1 )
1189
  continue;
1213
  $haystack = preg_replace( '/\w\(/', ' ', $haystack );
1214
  $haystack = str_replace( array( '(', ')', ' ', '\\\'', "\\\"" ), ' ', $haystack );
1215
 
1216
+ preg_match_all( '/`?[\w\-]+`?(?:\\.`?[\w\-]+`?)+(?=[^"\']*(?:"[^"]*"[^"]*|\'[^\']*\'[^\']*)*$)/', $haystack, $found, PREG_PATTERN_ORDER );
1217
 
1218
  $found = (array) @current( $found );
1219
  $find = $replace = $traverse = array();
1223
  $value = explode( '.', $value );
1224
  $dot = $last_value = array_pop( $value );
1225
 
1226
+ if ( 't' == $value[ 0 ] )
1227
  continue;
1228
+ elseif ( array_key_exists( $value[ 0 ], $params->join ) )
1229
+ // Don't traverse for tables we are already going to join
1230
+ continue;
1231
  elseif ( 1 == count( $value ) && '' == preg_replace( '/[0-9]*/', '', $value[ 0 ] ) && '' == preg_replace( '/[0-9]*/', '', $last_value ) )
1232
  continue;
1233
 
1234
+ $found_value = str_replace( '`', '', $found[ $key ] );
1235
+ $found_value = '([`]{1}|\b)' . str_replace( '.', '[`]*\.[`]*', $found_value ) . '([`]{1}|\b)';
1236
+ $found_value = '/' . $found_value . '(?=[^"\']*(?:"[^"]*"[^"]*|\'[^\']*\'[^\']*)*$)/';
1237
 
1238
+ if ( in_array( $found_value, $find ) ) {
1239
+ continue;
1240
+ }
1241
 
1242
+ $find[ $key ] = $found_value;
 
1243
 
1244
  if ( '*' != $dot )
1245
+ $dot = '`' . $dot . '`';
1246
 
1247
+ $replace[ $key ] = '`' . implode( '_', $value ) . '`.' . $dot;
1248
 
1249
  $value[] = $last_value;
1250
 
1314
  ";
1315
 
1316
  if ( !$params->calc_rows ) {
1317
+ // Handle COUNT() SELECT
1318
+ $total_sql_select = "COUNT( " . ( $params->distinct ? 'DISTINCT `t`.`' . $params->id . '`' : '*' ) . " )";
1319
+
1320
+ // If 'having' is set, we have to select all so it has access to anything it needs
1321
+ if ( ! empty( $params->having ) ) {
1322
+ $total_sql_select .= ', ' . ( !empty( $params->select ) ? ( is_array( $params->select ) ? implode( ', ', $params->select ) : $params->select ) : '*' );
1323
+ }
1324
+
1325
  $this->total_sql = "
1326
+ SELECT {$total_sql_select}
 
1327
  FROM {$params->table} AS `t`
1328
  " . ( !empty( $params->join ) ? ( is_array( $params->join ) ? implode( "\n ", $params->join ) : $params->join ) : '' ) . "
1329
  " . ( !empty( $params->where ) ? 'WHERE ' . ( is_array( $params->where ) ? implode( ' AND ', $params->where ) : $params->where ) : '' ) . "
1716
  if ( null === $row )
1717
  $explicit_set = false;
1718
 
1719
+ $already_cached = false;
1720
  $id = $row;
1721
 
1722
+ $tableless_field_types = PodsForm::tableless_field_types();
1723
 
1724
  if ( null === $row ) {
1725
  $this->row_number++;
1761
 
1762
  $row = false;
1763
 
1764
+ if ( !empty( $this->pod ) ) {
 
1765
  $row = pods_cache_get( $id, 'pods_items_' . $this->pod );
1766
+ if ( false !== $row ) {
1767
+ $already_cached = true;
1768
+ }
1769
  }
1770
 
1771
  $current_row_id = false;
1937
  }
1938
  }
1939
 
1940
+ if ( !$explicit_set && !empty( $this->row ) && is_array( $this->row ) && !empty( $old_row ) ) {
1941
  $this->row = array_merge( $old_row, $this->row );
1942
  }
1943
 
1964
  $row = get_object_vars( (object) @current( $current_row ) );
1965
 
1966
  if ( is_array( $this->row ) && !empty( $this->row ) )
1967
+ $this->row = array_merge( $this->row, $row );
1968
  else
1969
  $this->row = $row;
1970
  }
1971
  }
1972
 
1973
+ if ( !empty( $this->pod ) && ! $already_cached ) {
 
1974
  pods_cache_set( $id, $this->row, 'pods_items_' . $this->pod, 0 );
1975
  }
1976
  }
1977
 
1978
+ $this->row = apply_filters( 'pods_data_fetch', $this->row, $id, $this->row_number, $this );
1979
 
1980
  return $this->row;
1981
  }
2069
  $params = array_merge( $params, $sql );
2070
 
2071
  if ( 1 == pods_var( 'pods_debug_sql_all', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
2072
+ echo '<textarea cols="100" rows="24">' . esc_textarea( str_replace( array( '@wp_users', '@wp_' ), array( $wpdb->users, $wpdb->prefix ), $params->sql ) ) . '</textarea>';
2073
  }
2074
 
2075
  $params->sql = trim( $params->sql );
2076
 
2077
  // Run Query
2078
+ $params->sql = apply_filters( 'pods_data_query', $params->sql, $params );
2079
 
2080
  $result = $wpdb->query( $params->sql );
2081
 
2082
+ $result = apply_filters( 'pods_data_query_result', $result, $params );
2083
 
2084
  if ( false === $result && !empty( $params->error ) && !empty( $wpdb->last_error ) )
2085
  return pods_error( "{$params->error}; SQL: {$params->sql}; Response: {$wpdb->last_error}", $params->display_errors );
2215
  * @var $wpdb wpdb
2216
  */
2217
  global $wpdb;
2218
+ list( $sql, $data ) = apply_filters( 'pods_data_prepare', array( $sql, $data ) );
2219
  return $wpdb->prepare( $sql, $data );
2220
  }
2221
 
2297
  $haystack = preg_replace( '/\w\(/', ' ', $haystack );
2298
  $haystack = str_replace( array( '(', ')', ' ', '\\\'', "\\\"" ), ' ', $haystack );
2299
 
2300
+ preg_match_all( '/`?[\w\-]+`?(?:\\.`?[\w\-]+`?)+(?=[^"\']*(?:"[^"]*"[^"]*|\'[^\']*\'[^\']*)*$)/', $haystack, $found, PREG_PATTERN_ORDER );
2301
 
2302
  $found = (array) @current( $found );
2303
 
2354
  public static function query_field ( $field, $q, $pod = null, &$params = null ) {
2355
  global $wpdb;
2356
 
2357
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
2358
 
2359
  $field_query = null;
2360
 
2416
 
2417
  if ( isset( $pod[ 'fields' ][ $field_name ] ) && in_array( $pod[ 'fields' ][ $field_name ][ 'type' ], $tableless_field_types ) ) {
2418
  if ( in_array( $pod[ 'fields' ][ $field_name ][ 'pick_object' ], $simple_tableless_objects ) ) {
2419
+ if ( 'meta' == $pod[ 'storage' ] )
 
 
2420
  $field_cast = "`{$field_name}`.`meta_value`";
2421
+ else
2422
+ $field_cast = "`t`.`{$field_name}`";
2423
  }
2424
  else {
2425
  $table = pods_api()->get_table_info( $pod[ 'fields' ][ $field_name ][ 'pick_object' ], $pod[ 'fields' ][ $field_name ][ 'pick_val' ] );
2434
  if ( isset( $pod[ 'object_fields' ][ $field_name ] ) )
2435
  $field_cast = "`t`.`{$field_name}`";
2436
  elseif ( isset( $pod[ 'fields' ][ $field_name ] ) ) {
2437
+ if ( 'meta' == $pod['storage'] )
 
 
2438
  $field_cast = "`{$field_name}`.`meta_value`";
2439
+ else
2440
+ $field_cast = "`d`.`{$field_name}`";
2441
  }
2442
  else {
2443
  foreach ( $pod[ 'object_fields' ] as $object_field => $object_field_opt ) {
2450
  }
2451
  }
2452
  elseif ( isset( $pod[ 'fields' ][ $field_name ] ) ) {
2453
+ if ( 'meta' == $pod['storage'] )
 
 
2454
  $field_cast = "`{$field_name}`.`meta_value`";
2455
+ else
2456
+ $field_cast = "`t`.`{$field_name}`";
2457
  }
2458
 
2459
  if ( empty( $field_cast ) ) {
2460
+ if ( 'meta' == $pod['storage'] ) {
 
 
2461
  $field_cast = "`{$field_name}`.`meta_value`";
2462
+ }
2463
+ else
2464
+ $field_cast = "`t`.`{$field_name}`";
2465
  }
2466
  }
2467
  }
2490
  }
2491
 
2492
  // Restrict to supported comparisons
2493
+ if ( !in_array( $field_compare, array( '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'ALL', 'BETWEEN', 'NOT BETWEEN', 'EXISTS', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP', 'RLIKE' ) ) )
2494
  $field_compare = '=';
2495
 
2496
  // Restrict to supported array comparisons
2497
+ if ( is_array( $field_value ) && !in_array( $field_compare, array( 'IN', 'NOT IN', 'ALL', 'BETWEEN', 'NOT BETWEEN' ) ) ) {
2498
  if ( in_array( $field_compare, array( '!=', 'NOT LIKE' ) ) )
2499
  $field_compare = 'NOT IN';
2500
  else
2501
  $field_compare = 'IN';
2502
  }
2503
  // Restrict to supported string comparisons
2504
+ elseif ( !is_array( $field_value ) && in_array( $field_compare, array( 'IN', 'NOT IN', 'ALL', 'BETWEEN', 'NOT BETWEEN' ) ) ) {
2505
  $check_value = preg_split( '/[,\s]+/', $field_value );
2506
 
2507
  if ( 1 < count( $check_value ) )
2524
  }
2525
  }
2526
 
2527
+ // Single array handling
2528
+ if ( 1 == count( $field_value ) && $field_compare == 'ALL' ) {
2529
+ $field_compare = '=';
2530
+ }
2531
  // Empty array handling
2532
+ elseif ( empty( $field_value ) && in_array( $field_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) {
2533
  $field_compare = 'EXISTS';
2534
  }
2535
 
2561
  $field_query = $field_cast . ' ' . $field_compare . ' "' . $field_value . '"';
2562
  }
2563
  }
2564
+ elseif ( in_array( $field_compare, array( 'IN', 'NOT IN', 'ALL' ) ) ) {
2565
+ if ( $field_compare == 'ALL' ) {
2566
+ $field_compare = 'IN';
2567
+
2568
+ if ( ! empty( $pod ) ) {
2569
+ $params->having[] = 'COUNT( DISTINCT ' . $field_cast . ' ) = ' . count( $field_value );
2570
+
2571
+ if ( empty( $params->groupby ) || ( ! in_array( '`t`.`' . $pod['field_id'] . '`', $params->groupby ) && ! in_array( 't.' . $pod['field_id'] . '', $params->groupby ) ) ) {
2572
+ $params->groupby[] = '`t`.`' . $pod['field_id'] . '`';
2573
+ }
2574
+ }
2575
+ }
2576
+
2577
  if ( $field_sanitize ) {
2578
  $field_query = $wpdb->prepare( $field_cast . ' ' . $field_compare . ' ( ' . substr( str_repeat( ', ' . $field_sanitize_format, count( $field_value ) ), 1 ) . ' )', $field_value );
2579
  }
2711
  $pod_data[ 'fields' ] = array_merge( $pod_data[ 'fields' ], $pod_data[ 'object_fields' ] );
2712
  }
2713
 
2714
+ $tableless_field_types = PodsForm::tableless_field_types();
2715
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
2716
+ $file_field_types = PodsForm::file_field_types();
2717
 
2718
  if ( !isset( $this->traversal[ $traverse_recurse[ 'pod' ] ] ) )
2719
  $this->traversal[ $traverse_recurse[ 'pod' ] ] = array();
2720
 
2721
+ if ( ( empty( $pod_data[ 'meta_table' ] ) || $pod_data[ 'meta_table' ] == $pod_data[ 'table' ] ) && ( empty( $traverse_recurse[ 'fields' ] ) || empty( $traverse_recurse[ 'fields' ][ $traverse_recurse[ 'depth' ] ] ) ) )
2722
  return $joins;
2723
 
2724
  $field = $traverse_recurse[ 'fields' ][ $traverse_recurse[ 'depth' ] ];
2728
  'polylang_languages'
2729
  );
2730
 
2731
+ $ignore_aliases = apply_filters( 'pods_data_traverse_recurse_ignore_aliases', $ignore_aliases, $field, $traverse_recurse, $this );
2732
 
2733
  if ( in_array( $field, $ignore_aliases ) )
2734
  return $joins;
2767
 
2768
  if ( 'post_type' == $pod_data[ 'type' ] && isset( $pod_data[ 'object_fields'][ $field ] ) && in_array( $pod_data[ 'object_fields' ][ $field ][ 'type' ], $tableless_field_types ) )
2769
  $pod_data[ 'fields' ][ $field ] = $pod_data[ 'object_fields' ][ $field ];
2770
+ elseif ( 'meta_value' === $last && in_array( $pod_data[ 'type' ], array( 'post_type', 'media', 'user', 'comment' ) ) )
2771
  $pod_data[ 'fields' ][ $field ] = PodsForm::field_setup( array( 'name' => $field ) );
2772
  else {
2773
  if ( 'post_type' == $pod_data[ 'type' ] ) {
2781
  else
2782
  return $joins;
2783
  }
2784
+ } elseif ( isset( $pod_data[ 'object_fields' ] ) && isset( $pod_data[ 'object_fields' ][ $field ] ) && ! in_array( $pod_data[ 'object_fields' ][ $field ][ 'type' ], $tableless_field_types ) ) {
2785
+ return $joins;
2786
+ }
2787
 
2788
  $traverse = $pod_data[ 'fields' ][ $field ];
2789
 
2800
  if ( !empty( $traverse[ 'table_info' ][ 'meta_table' ] ) )
2801
  $meta_data_table = true;
2802
  }
2803
+ elseif ( !in_array( $traverse[ 'type' ], $tableless_field_types ) && !empty( $traverse_recurse[ 'last_table_info' ] ) && 0 == $traverse_recurse[ 'depth' ] )
2804
  $traverse[ 'table_info' ] = $traverse_recurse[ 'last_table_info' ];
2805
+ else {
2806
+ if ( ! isset( $traverse[ 'pod' ] ) ) {
2807
+ $traverse[ 'pod' ] = null;
2808
+ }
2809
+
2810
+ $traverse[ 'table_info' ] = $this->api->get_table_info( $traverse[ 'pick_object' ], $traverse[ 'pick_val' ], null, $traverse[ 'pod' ], $traverse );
2811
+ }
2812
  }
2813
 
2814
  if ( isset( $this->traversal[ $traverse_recurse[ 'pod' ] ][ $traverse[ 'name' ] ] ) )
2815
  $traverse = array_merge( $traverse, (array) $this->traversal[ $traverse_recurse[ 'pod' ] ][ $traverse[ 'name' ] ] );
2816
 
2817
+ $traverse = apply_filters( 'pods_data_traverse', $traverse, compact( 'pod', 'fields', 'joined', 'depth', 'joined_id', 'params' ), $this );
2818
 
2819
  if ( empty( $traverse ) )
2820
  return $joins;
2839
 
2840
  $rel_alias = 'rel_' . $field_joined;
2841
 
2842
+ if ( pods_v( 'search', $traverse_recurse[ 'params' ], false ) && empty( $traverse_recurse[ 'params' ]->filters ) ) {
2843
  if ( 0 < strlen( pods_var( 'filter_' . $field_joined, 'get' ) ) ) {
2844
  $val = absint( pods_var( 'filter_' . $field_joined, 'get' ) );
2845
 
2894
  $joined_index = $table_info[ 'field_index' ];
2895
  }
2896
  }
2897
+ elseif ( in_array( $traverse[ 'type' ], $tableless_field_types ) && ( 'pick' != $traverse[ 'type' ] || !in_array( pods_v( 'pick_object', $traverse ), $simple_tableless_objects ) ) ) {
2898
  if ( pods_tableless() ) {
2899
  $the_join = "
2900
  LEFT JOIN `{$table_info[ 'meta_table' ]}` AS `{$rel_alias}` ON
2910
  $joined_index = $table_info[ 'meta_field_index' ];
2911
  }
2912
  elseif ( $meta_data_table ) {
2913
+ if ( $traverse[ 'id' ] !== $traverse[ 'pick_val' ] ) {
2914
+ // This must be a relationship
2915
+ $joined_id = 'related_item_id';
2916
+ } else {
2917
+ $joined_id = $traverse_recurse[ 'joined_id' ];
2918
+ }
2919
+
2920
  $the_join = "
2921
+ LEFT JOIN `{$table_info['pod_table']}` AS `{$field_joined}` ON
2922
+ `{$field_joined}`.`{$table_info['pod_field_id']}` = `{$traverse_recurse['rel_alias']}`.`{$joined_id}`
2923
+ ";
2924
  }
2925
  else {
2926
  $the_join = "
2970
  'last_table_info' => $table_info
2971
  );
2972
 
2973
+ $the_join = apply_filters( 'pods_data_traverse_the_join', $the_join, $traverse_recurse, $traverse_recursive, $this );
2974
 
2975
  if ( empty( $the_join ) )
2976
  return $joins;
3060
 
3061
  return $sql;
3062
  }
3063
+ }
classes/PodsForm.php CHANGED
@@ -687,7 +687,7 @@ class PodsForm {
687
  $fields = array( $fields );
688
 
689
  foreach ( $fields as $f => $field ) {
690
- $fields[ $f ] = self::field_setup( $field, $core_defaults, pods_var( 'type', $field, 'text' ) );
691
 
692
  if ( !$single && strlen( $fields[ $f ][ 'name' ] ) < 1 )
693
  $fields[ $f ][ 'name' ] = $f;
@@ -842,10 +842,7 @@ class PodsForm {
842
  public static function value( $type, $value = null, $name = null, $options = null, $pod = null, $id = null, $traverse = null ) {
843
  self::field_loader( $type );
844
 
845
- $tableless_field_types = self::tableless_field_types();
846
- $repeatable_field_types = self::repeatable_field_types();
847
-
848
- if ( in_array( $type, $repeatable_field_types ) && 1 == pods_v( $type . '_repeatable', $options, 0 ) && !is_array( $value ) ) {
849
  if ( 0 < strlen( $value ) ) {
850
  $simple = @json_decode( $value, true );
851
 
@@ -859,7 +856,7 @@ class PodsForm {
859
  }
860
 
861
  if ( method_exists( self::$loaded[ $type ], 'value' ) ) {
862
- if ( is_array( $value ) && in_array( $type, $tableless_field_types ) ) {
863
  foreach ( $value as &$display_value ) {
864
  $display_value = call_user_func_array( array( self::$loaded[ $type ], 'value' ), array( $display_value, $name, $options, $pod, $id, $traverse ) );
865
  }
@@ -1094,7 +1091,9 @@ class PodsForm {
1094
 
1095
  $default = pods_v( 'default', $options, $default_value, true );
1096
 
1097
- $default_value = str_replace( array( '{@', '}' ), '', trim( $default ) );
 
 
1098
 
1099
  if ( $default != $default_value && 1 == (int) pods_v( 'default_evaluate_tags', $options, 1 ) )
1100
  $default = pods_evaluate_tags( $default );
@@ -1357,9 +1356,14 @@ class PodsForm {
1357
  * @since 2.3
1358
  */
1359
  public static function tableless_field_types() {
1360
- $field_types = array( 'pick', 'file', 'avatar', 'taxonomy' );
 
 
 
1361
 
1362
- return apply_filters( 'pods_tableless_field_types', $field_types );
 
 
1363
  }
1364
 
1365
  /**
@@ -1370,9 +1374,14 @@ class PodsForm {
1370
  * @since 2.3
1371
  */
1372
  public static function file_field_types() {
1373
- $field_types = array( 'file', 'avatar' );
1374
 
1375
- return apply_filters( 'pods_file_field_types', $field_types );
 
 
 
 
 
1376
  }
1377
 
1378
  /**
@@ -1383,9 +1392,28 @@ class PodsForm {
1383
  * @since 2.3
1384
  */
1385
  public static function repeatable_field_types() {
1386
- $field_types = array( 'code', 'color', 'currency', 'date', 'datetime', 'email', 'number', 'paragraph', 'phone', 'text', 'time', 'website', 'wysiwyg' );
1387
-
1388
- return apply_filters( 'pods_repeatable_field_types', $field_types );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1389
  }
1390
 
1391
  /**
@@ -1396,9 +1424,14 @@ class PodsForm {
1396
  * @since 2.3
1397
  */
1398
  public static function number_field_types() {
1399
- $field_types = array( 'currency', 'number' );
1400
 
1401
- return apply_filters( 'pods_tableless_field_types', $field_types );
 
 
 
 
 
1402
  }
1403
 
1404
  /**
@@ -1409,9 +1442,14 @@ class PodsForm {
1409
  * @since 2.3
1410
  */
1411
  public static function date_field_types() {
1412
- $field_types = array( 'date', 'datetime', 'time' );
 
 
 
1413
 
1414
- return apply_filters( 'pods_tableless_field_types', $field_types );
 
 
1415
  }
1416
 
1417
  /**
@@ -1422,9 +1460,14 @@ class PodsForm {
1422
  * @since 2.3
1423
  */
1424
  public static function text_field_types() {
1425
- $field_types = array( 'code', 'paragraph', 'slug','password', 'text', 'wysiwyg' );
1426
 
1427
- return apply_filters( 'pods_text_field_types', $field_types );
 
 
 
 
 
1428
  }
1429
 
1430
  /**
@@ -1435,15 +1478,38 @@ class PodsForm {
1435
  * @since 2.3
1436
  */
1437
  public static function block_field_types() {
1438
- $field_types = array( 'heading', 'html' );
1439
-
1440
- /**
1441
- * Returns the available text field types
1442
- *
1443
- * @since unknown
1444
- *
1445
- * @param object $field_types Outputs the field types
1446
- */
1447
- return apply_filters( 'pods_block_field_types', $field_types );
 
 
 
 
 
 
1448
  }
1449
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
687
  $fields = array( $fields );
688
 
689
  foreach ( $fields as $f => $field ) {
690
+ $fields[ $f ] = self::field_setup( $field, $core_defaults, pods_v( 'type', $field, 'text' ) );
691
 
692
  if ( !$single && strlen( $fields[ $f ][ 'name' ] ) < 1 )
693
  $fields[ $f ][ 'name' ] = $f;
842
  public static function value( $type, $value = null, $name = null, $options = null, $pod = null, $id = null, $traverse = null ) {
843
  self::field_loader( $type );
844
 
845
+ if ( in_array( $type, self::repeatable_field_types() ) && 1 == pods_v( $type . '_repeatable', $options, 0 ) && !is_array( $value ) ) {
 
 
 
846
  if ( 0 < strlen( $value ) ) {
847
  $simple = @json_decode( $value, true );
848
 
856
  }
857
 
858
  if ( method_exists( self::$loaded[ $type ], 'value' ) ) {
859
+ if ( is_array( $value ) && in_array( $type, self::tableless_field_types() ) ) {
860
  foreach ( $value as &$display_value ) {
861
  $display_value = call_user_func_array( array( self::$loaded[ $type ], 'value' ), array( $display_value, $name, $options, $pod, $id, $traverse ) );
862
  }
1091
 
1092
  $default = pods_v( 'default', $options, $default_value, true );
1093
 
1094
+ if ( is_string( $default ) ) {
1095
+ $default_value = str_replace( array( '{@', '}' ), '', trim( $default ) );
1096
+ }
1097
 
1098
  if ( $default != $default_value && 1 == (int) pods_v( 'default_evaluate_tags', $options, 1 ) )
1099
  $default = pods_evaluate_tags( $default );
1356
  * @since 2.3
1357
  */
1358
  public static function tableless_field_types() {
1359
+ static $field_types = null;
1360
+
1361
+ if ( null === $field_types ) {
1362
+ $field_types = array( 'pick', 'file', 'avatar', 'taxonomy' );
1363
 
1364
+ $field_types = apply_filters( 'pods_tableless_field_types', $field_types );
1365
+ }
1366
+ return $field_types;
1367
  }
1368
 
1369
  /**
1374
  * @since 2.3
1375
  */
1376
  public static function file_field_types() {
1377
+ static $field_types = null;
1378
 
1379
+ if ( null === $field_types ) {
1380
+ $field_types = array( 'file', 'avatar' );
1381
+
1382
+ $field_types = apply_filters( 'pods_file_field_types', $field_types );
1383
+ }
1384
+ return $field_types;
1385
  }
1386
 
1387
  /**
1392
  * @since 2.3
1393
  */
1394
  public static function repeatable_field_types() {
1395
+ static $field_types = null;
1396
+
1397
+ if ( null === $field_types ) {
1398
+ $field_types = array(
1399
+ 'code',
1400
+ 'color',
1401
+ 'currency',
1402
+ 'date',
1403
+ 'datetime',
1404
+ 'email',
1405
+ 'number',
1406
+ 'paragraph',
1407
+ 'phone',
1408
+ 'text',
1409
+ 'time',
1410
+ 'website',
1411
+ 'wysiwyg'
1412
+ );
1413
+
1414
+ $field_types = apply_filters( 'pods_repeatable_field_types', $field_types );
1415
+ }
1416
+ return $field_types;
1417
  }
1418
 
1419
  /**
1424
  * @since 2.3
1425
  */
1426
  public static function number_field_types() {
1427
+ static $field_types = null;
1428
 
1429
+ if ( null === $field_types ) {
1430
+ $field_types = array( 'currency', 'number' );
1431
+
1432
+ $field_types = apply_filters( 'pods_tableless_field_types', $field_types );
1433
+ }
1434
+ return $field_types;
1435
  }
1436
 
1437
  /**
1442
  * @since 2.3
1443
  */
1444
  public static function date_field_types() {
1445
+ static $field_types = null;
1446
+
1447
+ if ( null === $field_types ) {
1448
+ $field_types = array( 'date', 'datetime', 'time' );
1449
 
1450
+ $field_types = apply_filters( 'pods_tableless_field_types', $field_types );
1451
+ }
1452
+ return $field_types;
1453
  }
1454
 
1455
  /**
1460
  * @since 2.3
1461
  */
1462
  public static function text_field_types() {
1463
+ static $field_types = null;
1464
 
1465
+ if ( null === $field_types ) {
1466
+ $field_types = array( 'code', 'paragraph', 'slug', 'password', 'text', 'wysiwyg' );
1467
+
1468
+ $field_types = apply_filters( 'pods_text_field_types', $field_types );
1469
+ }
1470
+ return $field_types;
1471
  }
1472
 
1473
  /**
1478
  * @since 2.3
1479
  */
1480
  public static function block_field_types() {
1481
+ static $field_types = null;
1482
+
1483
+ if ( null === $field_types ) {
1484
+ $field_types = array( 'heading', 'html' );
1485
+
1486
+ /**
1487
+ * Returns the available text field types
1488
+ *
1489
+ * @since unknown
1490
+ *
1491
+ * @param object $field_types Outputs the field types
1492
+ */
1493
+
1494
+ $field_types = apply_filters( 'pods_block_field_types', $field_types );
1495
+ }
1496
+ return $field_types;
1497
  }
1498
+
1499
+ /**
1500
+ * Get list of available text field types
1501
+ *
1502
+ * @return array Text field types
1503
+ *
1504
+ * @since 2.3
1505
+ */
1506
+ public static function simple_tableless_objects() {
1507
+ static $object_types = null;
1508
+
1509
+ if ( null === $object_types ) {
1510
+ $object_types = PodsForm::field_method( 'pick', 'simple_objects' );
1511
+ }
1512
+ return $object_types;
1513
+ }
1514
+
1515
+ }
classes/PodsInit.php CHANGED
@@ -119,31 +119,10 @@ class PodsInit {
119
  add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ) );
120
 
121
  add_action( 'init', array( $this, 'activate_install' ), 9 );
 
122
 
123
  if ( !empty( self::$version ) ) {
124
- add_action( 'plugins_loaded', array( $this, 'load_components' ), 11 );
125
-
126
- add_action( 'setup_theme', array( $this, 'load_meta' ), 14 );
127
-
128
- add_action( 'init', array( $this, 'core' ), 11 );
129
-
130
- add_action( 'wp_enqueue_scripts', array( $this, 'register_assets' ), 15 );
131
- add_action( 'admin_enqueue_scripts', array( $this, 'register_assets' ), 15 );
132
- add_action( 'login_enqueue_scripts', array( $this, 'register_assets' ), 15 );
133
-
134
- add_action( 'init', array( $this, 'setup_content_types' ), 11 );
135
-
136
- add_filter( 'post_updated_messages', array( $this, 'setup_updated_messages' ), 10, 1 );
137
- add_action( 'delete_attachment', array( $this, 'delete_attachment' ) );
138
-
139
- if ( is_admin() )
140
- add_action( 'init', array( $this, 'admin_init' ), 12 );
141
-
142
- // Register widgets
143
- add_action( 'widgets_init', array( $this, 'register_widgets' ) );
144
-
145
- // Show admin bar links
146
- add_action( 'admin_bar_menu', array( $this, 'admin_bar_links' ), 81 );
147
  }
148
  }
149
 
@@ -234,19 +213,29 @@ class PodsInit {
234
 
235
  wp_register_script( 'pods-json', PODS_URL . 'ui/js/jquery.json.js', array( 'jquery' ), '2.3' );
236
 
237
- wp_register_style( 'pods-qtip', PODS_URL . 'ui/css/jquery.qtip.min.css', array(), '2.0-2012-07-03' );
238
- wp_register_script( 'jquery-qtip', PODS_URL . 'ui/js/jquery.qtip.min.js', array( 'jquery' ), '2.0-2012-07-03' );
 
 
 
 
 
239
 
240
- wp_register_script( 'pods', PODS_URL . 'ui/js/jquery.pods.js', array( 'jquery', 'pods-json', 'jquery-qtip' ), PODS_VERSION );
241
 
242
  wp_register_style( 'pods-form', PODS_URL . 'ui/css/pods-form.css', array(), PODS_VERSION );
243
 
244
  wp_register_style( 'pods-cleditor', PODS_URL . 'ui/css/jquery.cleditor.css', array(), '1.3.0' );
245
  wp_register_script( 'pods-cleditor', PODS_URL . 'ui/js/jquery.cleditor.min.js', array( 'jquery' ), '1.3.0' );
246
 
247
- wp_register_style( 'pods-codemirror', PODS_URL . 'ui/css/codemirror.css', array(), '2.33' );
248
- wp_register_script( 'pods-codemirror', PODS_URL . 'ui/js/codemirror.js', array(), '2.33', true );
249
- wp_register_script( 'pods-codemirror-loadmode', PODS_URL . 'ui/js/codemirror/utils/loadmode.js', array( 'pods-codemirror' ), '2.33', true );
 
 
 
 
 
250
 
251
  if ( !wp_style_is( 'jquery-ui-timepicker', 'registered' ) )
252
  wp_register_style( 'jquery-ui-timepicker', PODS_URL . 'ui/css/jquery.ui.timepicker.css', array(), '1.1.1' );
@@ -284,7 +273,7 @@ class PodsInit {
284
  'has_archive' => false,
285
  'hierarchical' => false,
286
  'supports' => array( 'title', 'author' ),
287
- 'menu_icon' => PODS_URL . 'ui/images/icon16.png'
288
  );
289
 
290
  $args = self::object_label_fix( $args, 'post_type' );
@@ -302,7 +291,7 @@ class PodsInit {
302
  'has_archive' => false,
303
  'hierarchical' => true,
304
  'supports' => array( 'title', 'editor', 'author' ),
305
- 'menu_icon' => PODS_URL . 'ui/images/icon16.png'
306
  );
307
 
308
  $args = self::object_label_fix( $args, 'post_type' );
@@ -511,6 +500,11 @@ class PodsInit {
511
  'query_var' => ( false !== (boolean) pods_var( 'query_var', $post_type, true ) ? pods_var( 'query_var_string', $post_type, $post_type_name, null, true ) : false ),
512
  'can_export' => (boolean) pods_var( 'can_export', $post_type, true )
513
  );
 
 
 
 
 
514
 
515
  // Prevent reserved query_var issues
516
  if ( in_array( $pods_post_types[ $post_type_name ][ 'query_var' ], $reserved_query_vars ) ) {
@@ -633,7 +627,7 @@ class PodsInit {
633
  $ct_post_types = array();
634
  $_post_types = get_post_types();
635
  $_post_types = array_merge_recursive( $_post_types, $pods_post_types );
636
- $ignore = array( 'revision', 'nav_menu_item' );
637
 
638
  foreach ( $_post_types as $post_type => $options ) {
639
  if ( in_array( $post_type, $ignore ) )
@@ -738,6 +732,14 @@ class PodsInit {
738
  self::$content_types_registered[ 'post_types' ][] = $post_type;
739
  }
740
 
 
 
 
 
 
 
 
 
741
  $flush = pods_transient_get( 'pods_flush_rewrites' );
742
 
743
  if ( 1 == $flush ) {
@@ -1026,6 +1028,9 @@ class PodsInit {
1026
  // Restore DB table prefix (if switched)
1027
  if ( null !== $_blog_id )
1028
  restore_current_blog();
 
 
 
1029
  }
1030
 
1031
  /**
@@ -1109,6 +1114,54 @@ class PodsInit {
1109
  restore_current_blog();
1110
  }
1111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1112
  /**
1113
  * Delete Attachments from relationships
1114
  *
119
  add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ) );
120
 
121
  add_action( 'init', array( $this, 'activate_install' ), 9 );
122
+ add_action( 'wp_loaded', array( $this, 'flush_rewrite_rules' ) );
123
 
124
  if ( !empty( self::$version ) ) {
125
+ $this->run();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  }
127
  }
128
 
213
 
214
  wp_register_script( 'pods-json', PODS_URL . 'ui/js/jquery.json.js', array( 'jquery' ), '2.3' );
215
 
216
+ if ( ! wp_style_is( 'jquery-qtip2', 'registered' ) ) {
217
+ wp_register_style( 'jquery-qtip2', PODS_URL . 'ui/css/jquery.qtip.min.css', array(), '2.2' );
218
+ }
219
+
220
+ if ( ! wp_script_is( 'jquery-qtip2', 'registered' ) ) {
221
+ wp_register_script( 'jquery-qtip2', PODS_URL . 'ui/js/jquery.qtip.min.js', array( 'jquery' ), '2.2' );
222
+ }
223
 
224
+ wp_register_script( 'pods', PODS_URL . 'ui/js/jquery.pods.js', array( 'jquery', 'pods-json', 'jquery-qtip2' ), PODS_VERSION );
225
 
226
  wp_register_style( 'pods-form', PODS_URL . 'ui/css/pods-form.css', array(), PODS_VERSION );
227
 
228
  wp_register_style( 'pods-cleditor', PODS_URL . 'ui/css/jquery.cleditor.css', array(), '1.3.0' );
229
  wp_register_script( 'pods-cleditor', PODS_URL . 'ui/js/jquery.cleditor.min.js', array( 'jquery' ), '1.3.0' );
230
 
231
+ wp_register_style( 'pods-codemirror', PODS_URL . 'ui/css/codemirror.css', array(), '4.8' );
232
+ wp_register_script( 'pods-codemirror', PODS_URL . 'ui/js/codemirror.js', array(), '4.8', true );
233
+ wp_register_script( 'pods-codemirror-loadmode', PODS_URL . 'ui/js/codemirror/addon/mode/loadmode.js', array( 'pods-codemirror' ), '4.8', true );
234
+ wp_register_script( 'pods-codemirror-overlay', PODS_URL . 'ui/js/codemirror/addon/mode/overlay.js', array( 'pods-codemirror' ), '4.8', true );
235
+ wp_register_script( 'pods-codemirror-hints', PODS_URL . 'ui/js/codemirror/addon/mode/show-hint.js', array( 'pods-codemirror' ), '4.8', true );
236
+ wp_register_script( 'pods-codemirror-mode-xml', PODS_URL . 'ui/js/codemirror/mode/xml/xml.js', array( 'pods-codemirror' ), '4.8', true );
237
+ wp_register_script( 'pods-codemirror-mode-html', PODS_URL . 'ui/js/codemirror/mode/htmlmixed/htmlmixed.js', array( 'pods-codemirror' ), '4.8', true );
238
+ wp_register_script( 'pods-codemirror-mode-css', PODS_URL . 'ui/js/codemirror/mode/css/css.js', array( 'pods-codemirror' ), '4.8', true );
239
 
240
  if ( !wp_style_is( 'jquery-ui-timepicker', 'registered' ) )
241
  wp_register_style( 'jquery-ui-timepicker', PODS_URL . 'ui/css/jquery.ui.timepicker.css', array(), '1.1.1' );
273
  'has_archive' => false,
274
  'hierarchical' => false,
275
  'supports' => array( 'title', 'author' ),
276
+ 'menu_icon' => 'dashicons-pods'
277
  );
278
 
279
  $args = self::object_label_fix( $args, 'post_type' );
291
  'has_archive' => false,
292
  'hierarchical' => true,
293
  'supports' => array( 'title', 'editor', 'author' ),
294
+ 'menu_icon' => 'dashicons-pods'
295
  );
296
 
297
  $args = self::object_label_fix( $args, 'post_type' );
500
  'query_var' => ( false !== (boolean) pods_var( 'query_var', $post_type, true ) ? pods_var( 'query_var_string', $post_type, $post_type_name, null, true ) : false ),
501
  'can_export' => (boolean) pods_var( 'can_export', $post_type, true )
502
  );
503
+
504
+ // YARPP doesn't use 'supports' array option (yet)
505
+ if ( ! empty( $cpt_supports[ 'yarpp_support' ] ) ) {
506
+ $pods_post_types[ $post_type_name ][ 'yarpp_support' ] = true;
507
+ }
508
 
509
  // Prevent reserved query_var issues
510
  if ( in_array( $pods_post_types[ $post_type_name ][ 'query_var' ], $reserved_query_vars ) ) {
627
  $ct_post_types = array();
628
  $_post_types = get_post_types();
629
  $_post_types = array_merge_recursive( $_post_types, $pods_post_types );
630
+ $ignore = array( 'revision' );
631
 
632
  foreach ( $_post_types as $post_type => $options ) {
633
  if ( in_array( $post_type, $ignore ) )
732
  self::$content_types_registered[ 'post_types' ][] = $post_type;
733
  }
734
 
735
+ }
736
+
737
+ /**
738
+ * Check if we need to flush WordPress rewrite rules
739
+ * This gets run during 'init' action late in the game to give other plugins time to register their rewrite rules
740
+ *
741
+ */
742
+ public function flush_rewrite_rules() {
743
  $flush = pods_transient_get( 'pods_flush_rewrites' );
744
 
745
  if ( 1 == $flush ) {
1028
  // Restore DB table prefix (if switched)
1029
  if ( null !== $_blog_id )
1030
  restore_current_blog();
1031
+ else {
1032
+ $this->run();
1033
+ }
1034
  }
1035
 
1036
  /**
1114
  restore_current_blog();
1115
  }
1116
 
1117
+ public function run () {
1118
+
1119
+ if ( ! did_action( 'plugins_loaded' ) ) {
1120
+ add_action( 'plugins_loaded', array( $this, 'load_components' ), 11 );
1121
+ }
1122
+ else {
1123
+ $this->load_components();
1124
+ }
1125
+
1126
+ if ( ! did_action( 'setup_theme' ) ) {
1127
+ add_action( 'setup_theme', array( $this, 'load_meta' ), 14 );
1128
+ }
1129
+ else {
1130
+ $this->load_meta();
1131
+ }
1132
+
1133
+ if ( ! did_action( 'init' ) ) {
1134
+ add_action( 'init', array( $this, 'core' ), 11 );
1135
+ add_action( 'init', array( $this, 'setup_content_types' ), 11 );
1136
+
1137
+ if ( is_admin() ) {
1138
+ add_action( 'init', array( $this, 'admin_init' ), 12 );
1139
+ }
1140
+ }
1141
+ else {
1142
+ $this->core();
1143
+ $this->setup_content_types();
1144
+
1145
+ if ( is_admin() ) {
1146
+ $this->admin_init();
1147
+ }
1148
+ }
1149
+
1150
+ add_action( 'wp_enqueue_scripts', array( $this, 'register_assets' ), 15 );
1151
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_assets' ), 15 );
1152
+ add_action( 'login_enqueue_scripts', array( $this, 'register_assets' ), 15 );
1153
+
1154
+ add_filter( 'post_updated_messages', array( $this, 'setup_updated_messages' ), 10, 1 );
1155
+ add_action( 'delete_attachment', array( $this, 'delete_attachment' ) );
1156
+
1157
+ // Register widgets
1158
+ add_action( 'widgets_init', array( $this, 'register_widgets' ) );
1159
+
1160
+ // Show admin bar links
1161
+ add_action( 'admin_bar_menu', array( $this, 'admin_bar_links' ), 81 );
1162
+
1163
+ }
1164
+
1165
  /**
1166
  * Delete Attachments from relationships
1167
  *
classes/PodsMeta.php CHANGED
@@ -173,7 +173,7 @@ class PodsMeta {
173
 
174
  if ( $has_fields ) {
175
  // Handle Term Editor
176
- add_action( 'edit_term', array( $this, 'save_taxonomy' ), 10, 3 );
177
  add_action( 'create_term', array( $this, 'save_taxonomy' ), 10, 3 );
178
 
179
  if ( apply_filters( 'pods_meta_handler', true, 'term' ) ) {
@@ -191,6 +191,18 @@ class PodsMeta {
191
  }
192
  }
193
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  // Handle Delete
195
  add_action( 'delete_term_taxonomy', array( $this, 'delete_taxonomy' ), 10, 1 );
196
 
@@ -401,39 +413,32 @@ class PodsMeta {
401
 
402
  public function integrations () {
403
  // Codepress Admin Columns 2.x
404
- add_filter( 'cac/meta_keys/storage_key=post', array( $this, 'cpac_meta_keys_get' ), 10, 2 );
405
- add_filter( 'cac/meta_keys/storage_key=link', array( $this, 'cpac_meta_keys_get' ), 10, 2 );
406
- add_filter( 'cac/meta_keys/storage_key=media', array( $this, 'cpac_meta_keys_get' ), 10, 2 );
407
- add_filter( 'cac/meta_keys/storage_key=user', array( $this, 'cpac_meta_keys_get' ), 10, 2 );
408
- add_filter( 'cac/meta_keys/storage_key=comment', array( $this, 'cpac_meta_keys_get' ), 10, 2 );
409
  add_filter( 'cac/post_types', array( $this, 'cpac_post_types' ), 10, 1 );
410
  add_filter( 'cac/column/meta/value', array( $this, 'cpac_meta_value' ), 10, 3 );
411
-
412
- // Codepress Admin Columns 1.x
413
- add_filter( 'cpac-get-meta-by-type', array( $this, 'cpac_meta_keys' ), 10, 2 );
414
- add_filter( 'cpac-get-post-types', array( $this, 'cpac_post_types' ), 10, 1 );
415
- add_filter( 'cpac_get_column_value_custom_field', array( $this, 'cpac_meta_values' ), 10, 5 );
416
  }
417
 
418
- public function cpac_meta_keys_get ( $meta_fields, $obj ) {
419
- return $this->cpac_meta_keys( $meta_fields, $obj->key, $obj->type );
420
- }
421
 
422
- public function cpac_meta_keys ( $meta_fields, $cac_key, $cac_type = null ) {
423
  $object_type = 'post_type';
424
- $object = $cac_key;
425
-
426
- if ( !empty( $cac_type ) )
427
- $object_type = $cac_key;
428
 
429
- if ( in_array( $cac_key, array( 'wp-links', 'link' ) ) )
430
  $object_type = $object = 'link';
431
- elseif ( in_array( $cac_key, array( 'wp-media', 'media' ) ) )
 
432
  $object_type = $object = 'media';
433
- elseif ( in_array( $cac_key, array( 'wp-users', 'user' ) ) )
 
434
  $object_type = $object = 'user';
435
- elseif ( in_array( $cac_key, array( 'wp-comments', 'comment' ) ) )
 
436
  $object_type = $object = 'comment';
 
 
 
 
 
437
 
438
  if ( empty( self::$current_pod_data ) || !is_object( self::$current_pod_data ) || self::$current_pod_data[ 'name' ] != $object )
439
  self::$current_pod_data = pods_api()->load_pod( array( 'name' => $object ), false );
@@ -478,14 +483,22 @@ class PodsMeta {
478
  $object_type = 'post_type';
479
  $object = $obj->storage_model->key;
480
 
481
- if ( in_array( $obj->storage_model->type, array( 'wp-links', 'link' ) ) )
482
  $object_type = $object = 'link';
483
- elseif ( in_array( $obj->storage_model->type, array( 'wp-media', 'media' ) ) )
 
484
  $object_type = $object = 'media';
485
- elseif ( in_array( $obj->storage_model->type, array( 'wp-users', 'user' ) ) )
 
486
  $object_type = $object = 'user';
487
- elseif ( in_array( $obj->storage_model->type, array( 'wp-comments', 'comment' ) ) )
 
488
  $object_type = $object = 'comment';
 
 
 
 
 
489
 
490
  $field = substr( $obj->options->field, 0, 10 ) == "cpachidden" ? str_replace( 'cpachidden', '', $obj->options->field ) : $obj->options->field;
491
  $field_type = $obj->options->field_type;
@@ -497,8 +510,16 @@ class PodsMeta {
497
 
498
  // Add Pods fields
499
  if ( !empty( $pod ) && isset( $pod[ 'fields' ][ $field ] ) ) {
500
- if ( in_array( $pod[ 'type' ], array( 'post_type', 'user', 'comment', 'media' ) ) && ( !empty( $field_type ) || in_array( $pod[ 'fields' ][ $field ][ 'type' ], $tableless_field_types ) ) )
 
501
  $meta = get_metadata( ( 'post_type' == $pod[ 'type' ] ? 'post' : $pod[ 'type' ] ), $id, $field, true );
 
 
 
 
 
 
 
502
 
503
  $meta = PodsForm::field_method( $pod[ 'fields' ][ $field ][ 'type' ], 'ui', $id, $meta, $field, array_merge( $pod[ 'fields' ][ $field ], $pod[ 'fields' ][ $field ][ 'options' ] ), $pod[ 'fields' ], $pod );
504
  }
@@ -671,8 +692,8 @@ class PodsMeta {
671
  add_action( $pod[ 'object' ] . '_add_form_fields', array( $this, 'meta_taxonomy' ), 10, 1 );
672
  }
673
 
674
- if ( !has_action( 'edit_term', array( $this, 'save_taxonomy' ), 10, 3 ) ) {
675
- add_action( 'edit_term', array( $this, 'save_taxonomy' ), 10, 3 );
676
  add_action( 'create_term', array( $this, 'save_taxonomy' ), 10, 3 );
677
  }
678
  }
@@ -754,10 +775,11 @@ class PodsMeta {
754
  /**
755
  * @param $type
756
  * @param $name
 
757
  *
758
  * @return array
759
  */
760
- public function groups_get ( $type, $name ) {
761
  if ( 'post_type' == $type && 'attachment' == $name ) {
762
  $type = 'media';
763
  $name = 'media';
@@ -778,8 +800,10 @@ class PodsMeta {
778
  $object = self::$user;
779
  elseif ( 'comment' == $type )
780
  $object = self::$comment;
 
 
781
 
782
- if ( 'pod' != $type && !empty( $object ) && is_array( $object ) && isset( $object[ $name ] ) )
783
  $fields = $object[ $name ][ 'fields' ];
784
  else {
785
  if ( empty( self::$current_pod_data ) || !is_object( self::$current_pod_data ) || self::$current_pod_data[ 'name' ] != $name )
@@ -791,6 +815,10 @@ class PodsMeta {
791
  $fields = $pod[ 'fields' ];
792
  }
793
 
 
 
 
 
794
  $defaults = array(
795
  'name' => 'post',
796
  'object' => 'post',
@@ -848,6 +876,7 @@ class PodsMeta {
848
  $post_type = $post->post_type;
849
 
850
  $groups = $this->groups_get( 'post_type', $post_type );
 
851
 
852
  foreach ( $groups as $group ) {
853
  if ( empty( $group[ 'fields' ] ) )
@@ -866,6 +895,7 @@ class PodsMeta {
866
  $group[ 'label' ] = get_post_type_object( $post_type )->labels->label;
867
 
868
  if ( $field_found ) {
 
869
  add_meta_box(
870
  'pods-meta-' . sanitize_title( $group[ 'label' ] ),
871
  $group[ 'label' ],
@@ -878,6 +908,20 @@ class PodsMeta {
878
 
879
  }
880
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
881
  }
882
 
883
  /**
@@ -947,7 +991,7 @@ class PodsMeta {
947
 
948
  do_action( 'pods_meta_' . __FUNCTION__ . '_' . $field[ 'name' ], $post, $field, $pod );
949
  ?>
950
- <tr class="form-field pods-field <?php echo 'pods-form-ui-row-type-' . $field[ 'type' ] . ' pods-form-ui-row-name-' . PodsForm::clean( $field[ 'name' ], true ); ?> <?php echo $depends; ?>">
951
  <th scope="row" valign="top"><?php echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field ); ?></th>
952
  <td>
953
  <?php
@@ -955,8 +999,10 @@ class PodsMeta {
955
  if ( isset( $field[ 'help' ] ) )
956
  unset( $field[ 'help' ] );
957
  ?>
 
958
  <?php echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id ); ?>
959
  <?php echo PodsForm::comment( 'pods_meta_' . $field[ 'name' ], $field[ 'description' ], $field ); ?>
 
960
  </td>
961
  </tr>
962
  <?php
@@ -978,6 +1024,8 @@ class PodsMeta {
978
 
979
  <script type="text/javascript">
980
  jQuery( function ( $ ) {
 
 
981
  $( document ).Pods( 'dependency', true );
982
  } );
983
  </script>
@@ -1358,7 +1406,7 @@ class PodsMeta {
1358
 
1359
  if ( !is_object( $tag ) ) {
1360
  ?>
1361
- <div class="form-field pods-field"<?php echo( 'hidden' == $field[ 'type' ] ? ' style="display:none;"' : '' ); ?>>
1362
  <?php
1363
  echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field );
1364
  echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id );
@@ -1369,7 +1417,7 @@ class PodsMeta {
1369
  }
1370
  else {
1371
  ?>
1372
- <tr class="form-field pods-field <?php echo 'pods-form-ui-row-type-' . $field[ 'type' ] . ' pods-form-ui-row-name-' . PodsForm::clean( $field[ 'name' ], true ); ?>"<?php echo( 'hidden' == $field[ 'type' ] ? ' style="display:none;"' : '' ); ?>>
1373
  <th scope="row" valign="top"><?php echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field ); ?></th>
1374
  <td>
1375
  <?php
@@ -1558,7 +1606,7 @@ class PodsMeta {
1558
  }
1559
  else {
1560
  ?>
1561
- <tr class="form-field pods-field <?php echo 'pods-form-ui-row-type-' . $field[ 'type' ] . ' pods-form-ui-row-name-' . PodsForm::clean( $field[ 'name' ], true ); ?>">
1562
  <th scope="row" valign="top"><?php echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field ); ?></th>
1563
  <td>
1564
  <?php echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id ); ?>
@@ -1730,7 +1778,7 @@ class PodsMeta {
1730
  pods_no_conflict_off( 'comment' );
1731
  }
1732
  ?>
1733
- <p class="comment-form-author comment-form-pods-meta-<?php echo $field[ 'name' ]; ?> pods-field"<?php echo ( 'hidden' == $field[ 'type' ] ? ' style="display:none;"' : '' ); ?>>
1734
  <?php
1735
  echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field );
1736
  echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id );
@@ -1797,7 +1845,7 @@ class PodsMeta {
1797
 
1798
  ob_start();
1799
  ?>
1800
- <p class="comment-form-author comment-form-pods-meta-<?php echo $field[ 'name' ]; ?> pods-field"<?php echo( 'hidden' == $field[ 'type' ] ? ' style="display:none;"' : '' ); ?>>
1801
  <?php
1802
  echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field );
1803
  echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id );
@@ -1920,7 +1968,7 @@ class PodsMeta {
1920
  }
1921
  else {
1922
  ?>
1923
- <tr class="form-field pods-field <?php echo 'pods-form-ui-row-type-' . $field[ 'type' ] . ' pods-form-ui-row-name-' . PodsForm::clean( $field[ 'name' ], true ); ?>">
1924
  <th scope="row" valign="top"><?php echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field ); ?></th>
1925
  <td>
1926
  <?php echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id ); ?>
@@ -2442,7 +2490,6 @@ class PodsMeta {
2442
  return false;
2443
 
2444
  $reserved_post_types = array(
2445
- 'nav_menu_item',
2446
  'revision'
2447
  );
2448
 
@@ -2674,6 +2721,22 @@ class PodsMeta {
2674
 
2675
  $pod = self::$current_field_pod;
2676
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2677
  $pod->save( $meta_key, $meta_value, $object_id );
2678
 
2679
  return $object_id;
@@ -2752,6 +2815,25 @@ class PodsMeta {
2752
  }
2753
  }
2754
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2755
  public function delete_user ( $id ) {
2756
  return $this->delete_object( 'user', $id );
2757
  }
173
 
174
  if ( $has_fields ) {
175
  // Handle Term Editor
176
+ add_action( 'edited_term', array( $this, 'save_taxonomy' ), 10, 3 );
177
  add_action( 'create_term', array( $this, 'save_taxonomy' ), 10, 3 );
178
 
179
  if ( apply_filters( 'pods_meta_handler', true, 'term' ) ) {
191
  }
192
  }
193
 
194
+ /**
195
+ * Fires after a previously shared taxonomy term is split into two separate terms.
196
+ *
197
+ * @since 4.2.0
198
+ *
199
+ * @param int $term_id ID of the formerly shared term.
200
+ * @param int $new_term_id ID of the new term created for the $term_taxonomy_id.
201
+ * @param int $term_taxonomy_id ID for the term_taxonomy row affected by the split.
202
+ * @param string $taxonomy Taxonomy for the split term.
203
+ */
204
+ add_action( 'split_shared_term', array( $this, 'split_shared_term' ), 10, 4 );
205
+
206
  // Handle Delete
207
  add_action( 'delete_term_taxonomy', array( $this, 'delete_taxonomy' ), 10, 1 );
208
 
413
 
414
  public function integrations () {
415
  // Codepress Admin Columns 2.x
416
+ add_filter( 'cac/storage_model/meta_keys', array( $this, 'cpac_meta_keys' ), 10, 2 );
 
 
 
 
417
  add_filter( 'cac/post_types', array( $this, 'cpac_post_types' ), 10, 1 );
418
  add_filter( 'cac/column/meta/value', array( $this, 'cpac_meta_value' ), 10, 3 );
 
 
 
 
 
419
  }
420
 
 
 
 
421
 
422
+ public function cpac_meta_keys ( $meta_fields, $storage_model ) {
423
  $object_type = 'post_type';
424
+ $object = $storage_model->key;
 
 
 
425
 
426
+ if ( in_array( $storage_model->key, array( 'wp-links', 'link' ) ) ) {
427
  $object_type = $object = 'link';
428
+ }
429
+ elseif ( in_array( $storage_model->key, array( 'wp-media', 'media' ) ) ) {
430
  $object_type = $object = 'media';
431
+ }
432
+ elseif ( in_array( $storage_model->key, array( 'wp-users', 'user' ) ) ) {
433
  $object_type = $object = 'user';
434
+ }
435
+ elseif ( in_array( $storage_model->key, array( 'wp-comments', 'comment' ) ) ) {
436
  $object_type = $object = 'comment';
437
+ }
438
+ elseif ( 'taxonomy' === $storage_model->type ) {
439
+ $object_type = 'taxonomy';
440
+ $object = $storage_model->taxonomy;
441
+ }
442
 
443
  if ( empty( self::$current_pod_data ) || !is_object( self::$current_pod_data ) || self::$current_pod_data[ 'name' ] != $object )
444
  self::$current_pod_data = pods_api()->load_pod( array( 'name' => $object ), false );
483
  $object_type = 'post_type';
484
  $object = $obj->storage_model->key;
485
 
486
+ if ( in_array( $obj->storage_model->type, array( 'wp-links', 'link' ) ) ) {
487
  $object_type = $object = 'link';
488
+ }
489
+ elseif ( in_array( $obj->storage_model->type, array( 'wp-media', 'media' ) ) ) {
490
  $object_type = $object = 'media';
491
+ }
492
+ elseif ( in_array( $obj->storage_model->type, array( 'wp-users', 'user' ) ) ) {
493
  $object_type = $object = 'user';
494
+ }
495
+ elseif ( in_array( $obj->storage_model->type, array( 'wp-comments', 'comment' ) ) ) {
496
  $object_type = $object = 'comment';
497
+ }
498
+ elseif ( 'taxonomy' === $obj->storage_model->type ) {
499
+ $object_type = 'taxonomy';
500
+ $object = $obj->storage_model->taxonomy;
501
+ }
502
 
503
  $field = substr( $obj->options->field, 0, 10 ) == "cpachidden" ? str_replace( 'cpachidden', '', $obj->options->field ) : $obj->options->field;
504
  $field_type = $obj->options->field_type;
510
 
511
  // Add Pods fields
512
  if ( !empty( $pod ) && isset( $pod[ 'fields' ][ $field ] ) ) {
513
+
514
+ if ( in_array( $pod[ 'type' ], array( 'post_type', 'user', 'comment', 'media' ) ) && ( !empty( $field_type ) || in_array( $pod[ 'fields' ][ $field ][ 'type' ], $tableless_field_types ) ) ) {
515
  $meta = get_metadata( ( 'post_type' == $pod[ 'type' ] ? 'post' : $pod[ 'type' ] ), $id, $field, true );
516
+ }
517
+
518
+ elseif ( 'taxonomy' === $pod['type'] ) {
519
+ $podterms = pods( $pod['name'] );
520
+ $podterms->fetch( $id );
521
+ $meta = $podterms->field( $field );
522
+ }
523
 
524
  $meta = PodsForm::field_method( $pod[ 'fields' ][ $field ][ 'type' ], 'ui', $id, $meta, $field, array_merge( $pod[ 'fields' ][ $field ], $pod[ 'fields' ][ $field ][ 'options' ] ), $pod[ 'fields' ], $pod );
525
  }
692
  add_action( $pod[ 'object' ] . '_add_form_fields', array( $this, 'meta_taxonomy' ), 10, 1 );
693
  }
694
 
695
+ if ( !has_action( 'edited_term', array( $this, 'save_taxonomy' ), 10, 3 ) ) {
696
+ add_action( 'edited_term', array( $this, 'save_taxonomy' ), 10, 3 );
697
  add_action( 'create_term', array( $this, 'save_taxonomy' ), 10, 3 );
698
  }
699
  }
775
  /**
776
  * @param $type
777
  * @param $name
778
+ * @param $default_fields
779
  *
780
  * @return array
781
  */
782
+ public function groups_get ( $type, $name, $default_fields = null ) {
783
  if ( 'post_type' == $type && 'attachment' == $name ) {
784
  $type = 'media';
785
  $name = 'media';
800
  $object = self::$user;
801
  elseif ( 'comment' == $type )
802
  $object = self::$comment;
803
+ elseif ( 'pod' == $type )
804
+ $object = self::$advanced_content_types;
805
 
806
+ if ( !empty( $object ) && is_array( $object ) && isset( $object[ $name ] ) )
807
  $fields = $object[ $name ][ 'fields' ];
808
  else {
809
  if ( empty( self::$current_pod_data ) || !is_object( self::$current_pod_data ) || self::$current_pod_data[ 'name' ] != $name )
815
  $fields = $pod[ 'fields' ];
816
  }
817
 
818
+ if ( null !== $default_fields ) {
819
+ $fields = $default_fields;
820
+ }
821
+
822
  $defaults = array(
823
  'name' => 'post',
824
  'object' => 'post',
876
  $post_type = $post->post_type;
877
 
878
  $groups = $this->groups_get( 'post_type', $post_type );
879
+ $pods_field_found = false;
880
 
881
  foreach ( $groups as $group ) {
882
  if ( empty( $group[ 'fields' ] ) )
895
  $group[ 'label' ] = get_post_type_object( $post_type )->labels->label;
896
 
897
  if ( $field_found ) {
898
+ $pods_field_found = true;
899
  add_meta_box(
900
  'pods-meta-' . sanitize_title( $group[ 'label' ] ),
901
  $group[ 'label' ],
908
 
909
  }
910
  }
911
+
912
+ if ( $pods_field_found ) {
913
+ // Only add the classes to forms that actually have pods fields
914
+ add_action( 'post_edit_form_tag', array( $this, 'add_class_submittable' ) );
915
+ }
916
+ }
917
+
918
+ /**
919
+ *
920
+ * Called by 'post_edit_form_tag' action to include the classes in the <form> tag
921
+ *
922
+ */
923
+ public function add_class_submittable () {
924
+ echo ' class="pods-submittable pods-form"';
925
  }
926
 
927
  /**
991
 
992
  do_action( 'pods_meta_' . __FUNCTION__ . '_' . $field[ 'name' ], $post, $field, $pod );
993
  ?>
994
+ <tr class="form-field pods-field pods-field-input <?php echo esc_attr( 'pods-form-ui-row-type-' . $field[ 'type' ] . ' pods-form-ui-row-name-' . PodsForm::clean( $field[ 'name' ], true ) ); ?> <?php echo esc_attr( $depends ); ?>">
995
  <th scope="row" valign="top"><?php echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field ); ?></th>
996
  <td>
997
  <?php
999
  if ( isset( $field[ 'help' ] ) )
1000
  unset( $field[ 'help' ] );
1001
  ?>
1002
+ <div class="pods-submittable-fields">
1003
  <?php echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id ); ?>
1004
  <?php echo PodsForm::comment( 'pods_meta_' . $field[ 'name' ], $field[ 'description' ], $field ); ?>
1005
+ </div>
1006
  </td>
1007
  </tr>
1008
  <?php
1024
 
1025
  <script type="text/javascript">
1026
  jQuery( function ( $ ) {
1027
+ $( document ).Pods( 'validate' );
1028
+ $( document ).Pods( 'submit_meta' );
1029
  $( document ).Pods( 'dependency', true );
1030
  } );
1031
  </script>
1406
 
1407
  if ( !is_object( $tag ) ) {
1408
  ?>
1409
+ <div class="form-field pods-field" style="<?php echo esc_attr( 'hidden' == $field[ 'type' ] ? 'display:none;' : '' ); ?>">
1410
  <?php
1411
  echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field );
1412
  echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id );
1417
  }
1418
  else {
1419
  ?>
1420
+ <tr class="form-field pods-field <?php echo esc_attr( 'pods-form-ui-row-type-' . $field[ 'type' ] . ' pods-form-ui-row-name-' . PodsForm::clean( $field[ 'name' ], true ) ); ?>" style="<?php echo esc_attr( 'hidden' == $field[ 'type' ] ? 'display:none;' : '' ); ?>">
1421
  <th scope="row" valign="top"><?php echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field ); ?></th>
1422
  <td>
1423
  <?php
1606
  }
1607
  else {
1608
  ?>
1609
+ <tr class="form-field pods-field <?php echo esc_attr( 'pods-form-ui-row-type-' . $field[ 'type' ] . ' pods-form-ui-row-name-' . PodsForm::clean( $field[ 'name' ], true ) ); ?>">
1610
  <th scope="row" valign="top"><?php echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field ); ?></th>
1611
  <td>
1612
  <?php echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id ); ?>
1778
  pods_no_conflict_off( 'comment' );
1779
  }
1780
  ?>
1781
+ <p class="comment-form-author comment-form-pods-meta-<?php echo esc_attr( $field[ 'name' ] ); ?> pods-field" style="<?php echo esc_attr( 'hidden' == $field[ 'type' ] ? 'display:none;' : '' ); ?>">
1782
  <?php
1783
  echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field );
1784
  echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id );
1845
 
1846
  ob_start();
1847
  ?>
1848
+ <p class="comment-form-author comment-form-pods-meta-<?php echo esc_attr( $field[ 'name' ] ); ?> pods-field" style="<?php echo esc_attr( 'hidden' == $field[ 'type' ] ? 'display:none;' : '' ); ?>">
1849
  <?php
1850
  echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field );
1851
  echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id );
1968
  }
1969
  else {
1970
  ?>
1971
+ <tr class="form-field pods-field <?php echo esc_attr( 'pods-form-ui-row-type-' . $field[ 'type' ] . ' pods-form-ui-row-name-' . PodsForm::clean( $field[ 'name' ], true ) ); ?>">
1972
  <th scope="row" valign="top"><?php echo PodsForm::label( 'pods_meta_' . $field[ 'name' ], $field[ 'label' ], $field[ 'help' ], $field ); ?></th>
1973
  <td>
1974
  <?php echo PodsForm::field( 'pods_meta_' . $field[ 'name' ], $value, $field[ 'type' ], $field, $pod, $id ); ?>
2490
  return false;
2491
 
2492
  $reserved_post_types = array(
 
2493
  'revision'
2494
  );
2495
 
2721
 
2722
  $pod = self::$current_field_pod;
2723
 
2724
+ if ( ( isset( $pod->fields[ $meta_key ] ) || false !== strpos( $meta_key, '.' ) ) && $pod->row !== null) {
2725
+
2726
+ $key = $meta_key;
2727
+ if(false !== strpos( $meta_key, '.' )){
2728
+ $key = current( explode( '.', $meta_key ) );
2729
+ }
2730
+
2731
+ $pod->row[ $meta_key ] = $meta_value;
2732
+
2733
+ if ( isset( $pod->fields[ $key ] ) ) {
2734
+ if ( in_array( $pod->fields[ $key ][ 'type' ], PodsForm::tableless_field_types() ) && isset( $meta_cache[ '_pods_' . $key ] ) )
2735
+ unset( $meta_cache[ '_pods_' . $key ] );
2736
+ }
2737
+
2738
+ }
2739
+
2740
  $pod->save( $meta_key, $meta_value, $object_id );
2741
 
2742
  return $object_id;
2815
  }
2816
  }
2817
 
2818
+ /**
2819
+ * Hook the split_shared_term action and point it to this method
2820
+ *
2821
+ * Fires after a previously shared taxonomy term is split into two separate terms.
2822
+ *
2823
+ * @param int $term_id ID of the formerly shared term.
2824
+ * @param int $new_term_id ID of the new term created for the $term_taxonomy_id.
2825
+ * @param int $term_taxonomy_id ID for the term_taxonomy row affected by the split.
2826
+ * @param string $taxonomy Taxonomy for the split term.
2827
+ */
2828
+ public static function split_shared_term( $term_id, $new_term_id, $term_taxonomy_id, $taxonomy ) {
2829
+
2830
+ require_once( PODS_DIR . 'classes/PodsTermSplitting.php' );
2831
+
2832
+ $term_splitting = new Pods_Term_Splitting( $term_id, $new_term_id, $taxonomy );
2833
+ $term_splitting->split_shared_term();
2834
+
2835
+ }
2836
+
2837
  public function delete_user ( $id ) {
2838
  return $this->delete_object( 'user', $id );
2839
  }
classes/PodsTermSplitting.php ADDED
@@ -0,0 +1,515 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * @package Pods
5
+ */
6
+ class Pods_Term_Splitting {
7
+
8
+ /** @var int ID of the formerly shared term */
9
+ private $term_id;
10
+
11
+ /** @var int ID of the new term created for the $term_taxonomy_id */
12
+ private $new_term_id;
13
+
14
+ /** @var string Taxonomy for the split term */
15
+ private $taxonomy;
16
+
17
+ /** @var string */
18
+ private $progress_option_name;
19
+
20
+ /** @var array */
21
+ private $previous_progress = array();
22
+
23
+ /**
24
+ * @param int $term_id ID of the formerly shared term.
25
+ * @param int $new_term_id ID of the new term created for the $term_taxonomy_id.
26
+ * @param string $taxonomy Taxonomy for the split term.
27
+ */
28
+ public function __construct( $term_id, $new_term_id, $taxonomy ) {
29
+
30
+ $this->term_id = $term_id;
31
+ $this->new_term_id = $new_term_id;
32
+ $this->taxonomy = $taxonomy;
33
+
34
+ $this->progress_option_name = "_pods_term_split_{$term_id}_{$taxonomy}";
35
+
36
+ }
37
+
38
+ /**
39
+ *
40
+ */
41
+ public function split_shared_term() {
42
+
43
+ // Stash any previous progress
44
+ $this->previous_progress = $this->get_progress();
45
+ if ( empty( $this->previous_progress ) ) {
46
+ $this->append_progress( 'started' );
47
+ $this->append_progress( "new term ID: {$this->new_term_id}" );
48
+ }
49
+
50
+ // Get the Pod information if the taxonomy is a Pod
51
+ $taxonomy_pod = $this->get_pod_info();
52
+
53
+ // Is the taxonomy a Pod?
54
+ if ( is_array( $taxonomy_pod ) ) {
55
+ $this->update_podsrel_taxonomy( $taxonomy_pod[ 'id' ] );
56
+
57
+ // Update the Pods table if the taxonomy is a table based Pod
58
+ if ( 'table' == $taxonomy_pod[ 'storage' ] ) {
59
+ $this->update_pod_table( $taxonomy_pod[ 'pod_table' ] );
60
+ }
61
+ }
62
+
63
+ // Track down all fields related to the target taxonomy and update stored term IDs as necessary
64
+ $this->update_relationships_to_term();
65
+
66
+ // Clean up
67
+ $this->delete_progress();
68
+
69
+ }
70
+
71
+ /**
72
+ * Return the Pod information for the specified taxonomy, or null if the taxonomy isn't a Pod
73
+ *
74
+ * @return array|bool|mixed|null
75
+ */
76
+ private function get_pod_info() {
77
+
78
+ $pod_info = null;
79
+
80
+ if ( pods_api()->pod_exists( $this->taxonomy ) ) {
81
+
82
+ // Load the taxonomy Pod
83
+ $params = array(
84
+ 'name' => $this->taxonomy,
85
+ 'table_info' => true
86
+ );
87
+ $pod_info = pods_api()->load_pod( $params, false );
88
+ }
89
+
90
+ return $pod_info;
91
+
92
+ }
93
+
94
+ /**
95
+ * @param int $pod_id
96
+ */
97
+ private function update_podsrel_taxonomy( $pod_id ) {
98
+
99
+ /** @global wpdb $wpdb */
100
+ global $wpdb;
101
+
102
+ $task = "update_podsrel_taxonomy_{$pod_id}";
103
+ if ( ! $this->have_done( $task ) ) {
104
+
105
+ // UPDATE {$wpdb->prefix}podsrel SET item_id = {$new_term_id} WHERE pod_id = {$pod_id} AND item_id = {$term_id}
106
+ $table = "{$wpdb->prefix}podsrel";
107
+ $data = array( 'item_id' => $this->new_term_id );
108
+ $where = array(
109
+ 'pod_id' => $pod_id,
110
+ 'item_id' => $this->term_id
111
+ );
112
+ $format = '%d';
113
+ $where_format = '%d';
114
+
115
+ $wpdb->update( $table, $data, $where, $format, $where_format );
116
+
117
+ $this->append_progress( $task );
118
+ }
119
+
120
+ }
121
+
122
+ /**
123
+ * @param string $pod_table
124
+ */
125
+ private function update_pod_table( $pod_table ) {
126
+
127
+ /** @global wpdb $wpdb */
128
+ global $wpdb;
129
+
130
+ $task = "update_pod_table_{$pod_table}";
131
+ if ( ! $this->have_done( $task ) ) {
132
+
133
+ // Prime the values and update
134
+ $data = array( 'id' => $this->new_term_id );
135
+ $where = array( 'id' => $this->term_id );
136
+ $format = '%d';
137
+ $where_format = '%d';
138
+ $wpdb->update( $pod_table, $data, $where, $format, $where_format );
139
+
140
+ $this->append_progress( $task );
141
+ }
142
+
143
+ }
144
+
145
+ /**
146
+ * Track down all fields related to the target taxonomy and update stored term IDs as necessary
147
+ */
148
+ private function update_relationships_to_term() {
149
+
150
+ // Loop through all Pods
151
+ $all_pods = pods_api()->load_pods();
152
+
153
+ if ( ! is_array( $all_pods ) ) {
154
+ return;
155
+ }
156
+
157
+ foreach ( $all_pods as $this_pod_id => $this_pod ) {
158
+
159
+ // Loop through all fields in this Pod
160
+ foreach ( $this_pod[ 'fields' ] as $this_field_name => $this_field ) {
161
+
162
+ // Ignore everything except relationship fields to this taxonomy
163
+ if ( 'pick' != $this_field[ 'type' ] || 'taxonomy' != $this_field[ 'pick_object' ] || $this->taxonomy != $this_field[ 'pick_val' ] ) {
164
+ continue;
165
+ }
166
+
167
+ // Update the term ID in podsrel everywhere it is the value for this field
168
+ $this->update_podsrel_related_term( $this_field[ 'id' ] );
169
+
170
+ // Fix-up any special-case relationships that store term IDs in their own meta table and/or serialized
171
+ switch ( $this_pod[ 'type' ] ) {
172
+
173
+ case 'post_type':
174
+ $this->update_postmeta( $this_pod[ 'name' ], $this_field_name );
175
+ break;
176
+
177
+ case 'comment':
178
+ $this->update_commentmeta( $this_field_name );
179
+ break;
180
+
181
+ case 'user':
182
+ $this->update_usermeta( $this_field_name );
183
+ break;
184
+
185
+ case 'settings':
186
+ $this->update_setting_meta( $this_pod[ 'name' ], $this_field_name );
187
+ break;
188
+ }
189
+ }
190
+ }
191
+
192
+ }
193
+
194
+ /**
195
+ * @param int $field_id
196
+ */
197
+ private function update_podsrel_related_term( $field_id ) {
198
+
199
+ /** @global wpdb $wpdb */
200
+ global $wpdb;
201
+
202
+ $task = "update_podsrel_related_term_{$field_id}";
203
+ if ( ! $this->have_done( $task ) ) {
204
+
205
+ // UPDATE {$wpdb->prefix}podsrel SET related_item_id = {$new_term_id} WHERE field_id = {$field_id} AND related_item_id = {$term_id}
206
+ $table = "{$wpdb->prefix}podsrel";
207
+ $data = array(
208
+ 'related_item_id' => $this->new_term_id
209
+ );
210
+ $where = array(
211
+ 'field_id' => $field_id,
212
+ 'related_item_id' => $this->term_id
213
+ );
214
+ $format = '%d';
215
+ $where_format = '%d';
216
+ $wpdb->update( $table, $data, $where, $format, $where_format );
217
+
218
+ $this->append_progress( $task );
219
+ }
220
+
221
+ }
222
+
223
+ /**
224
+ * Called for all fields related to the target taxonomy that are in a post_type
225
+ *
226
+ * @param string $pod_name
227
+ * @param string $field_name
228
+ */
229
+ private function update_postmeta( $pod_name, $field_name ) {
230
+
231
+ /** @global wpdb $wpdb */
232
+ global $wpdb;
233
+
234
+ // Fix up the unserialized data
235
+ $task = "update_postmeta_{$pod_name}_{$field_name}_unserialized";
236
+ if ( ! $this->have_done( $task ) ) {
237
+
238
+ $wpdb->query( $wpdb->prepare(
239
+ "
240
+ UPDATE
241
+ {$wpdb->postmeta} AS meta
242
+ LEFT JOIN {$wpdb->posts} AS t
243
+ ON meta.post_id = t.ID
244
+ SET
245
+ meta_value = %s
246
+ WHERE
247
+ meta_key = %s
248
+ AND meta_value = %s
249
+ AND t.post_type = %s
250
+ ",
251
+ $this->new_term_id,
252
+ $field_name,
253
+ $this->term_id,
254
+ $pod_name
255
+ ) );
256
+
257
+ $this->append_progress( $task );
258
+ }
259
+
260
+ // Fix up the serialized data
261
+ $task = "update_postmeta_{$pod_name}_{$field_name}_serialized";
262
+ if ( ! $this->have_done( $task ) ) {
263
+
264
+ $meta_key = sprintf( '_pods_%s', $field_name );
265
+ $target_serialized = sprintf( ';i:%s;', $this->term_id );
266
+ $replace_serialized = sprintf( ';i:%s;', $this->new_term_id );
267
+
268
+ $wpdb->query( $wpdb->prepare(
269
+ "
270
+ UPDATE
271
+ {$wpdb->postmeta} AS meta
272
+ LEFT JOIN {$wpdb->posts} AS t
273
+ ON meta.post_id = t.ID
274
+ SET
275
+ meta.meta_value = REPLACE( meta.meta_value, %s, %s )
276
+ WHERE
277
+ meta.meta_key = %s
278
+ AND t.post_type = %s
279
+ AND meta_value LIKE '%%%s%%'
280
+ ",
281
+ $target_serialized,
282
+ $replace_serialized,
283
+ $meta_key,
284
+ $pod_name,
285
+ pods_sanitize_like( $target_serialized )
286
+ ) );
287
+
288
+ $this->append_progress( $task );
289
+ }
290
+
291
+ }
292
+
293
+ /**
294
+ * Called for all fields related to the target taxonomy that are in a comment Pod
295
+ *
296
+ * @param string $field_name
297
+ */
298
+ private function update_commentmeta( $field_name ) {
299
+
300
+ /** @global wpdb $wpdb */
301
+ global $wpdb;
302
+
303
+ // Fix up the unserialized data
304
+ $task = "update_commentmeta_{$field_name}_unserialized";
305
+ if ( ! $this->have_done( $task ) ) {
306
+
307
+ $table = $wpdb->commentmeta;
308
+ $data = array( 'meta_value' => $this->new_term_id );
309
+ $where = array(
310
+ 'meta_key' => $field_name,
311
+ 'meta_value' => $this->term_id
312
+ );
313
+ $format = '%s';
314
+ $where_format = array( '%s', '%s' );
315
+ $wpdb->update( $table, $data, $where, $format, $where_format );
316
+
317
+ $this->append_progress( $task );
318
+ }
319
+
320
+ // Fix up the serialized data
321
+ $task = "update_commentmeta_{$field_name}_serialized";
322
+ if ( ! $this->have_done( $task ) ) {
323
+
324
+ $meta_key = sprintf( '_pods_%s', $field_name );
325
+ $target_serialized = sprintf( ';i:%s;', $this->term_id );
326
+ $replace_serialized = sprintf( ';i:%s;', $this->new_term_id );
327
+
328
+ $wpdb->query( $wpdb->prepare(
329
+ "
330
+ UPDATE
331
+ {$wpdb->commentmeta}
332
+ SET
333
+ meta_value = REPLACE( meta_value, %s, %s )
334
+ WHERE
335
+ meta_key = %s
336
+ AND meta_value LIKE '%%%s%%'
337
+ ",
338
+ $target_serialized,
339
+ $replace_serialized,
340
+ $meta_key,
341
+ pods_sanitize_like( $target_serialized )
342
+ ) );
343
+
344
+ $this->append_progress( $task );
345
+ }
346
+
347
+ }
348
+
349
+ /**
350
+ * Called for all fields related to the target taxonomy that are in a user Pod
351
+ *
352
+ * @param string $field_name
353
+ */
354
+ private function update_usermeta( $field_name ) {
355
+
356
+ /** @global wpdb $wpdb */
357
+ global $wpdb;
358
+
359
+ // Fix up the unserialized data
360
+ $task = "update_usermeta_{$field_name}_unserialized";
361
+ if ( ! $this->have_done( $task ) ) {
362
+
363
+ $table = $wpdb->usermeta;
364
+ $data = array( 'meta_value' => $this->new_term_id );
365
+ $where = array(
366
+ 'meta_key' => $field_name,
367
+ 'meta_value' => $this->term_id
368
+ );
369
+ $format = '%s';
370
+ $where_format = array( '%s', '%s' );
371
+ $wpdb->update( $table, $data, $where, $format, $where_format );
372
+
373
+ $this->append_progress( $task );
374
+ }
375
+
376
+ // Fix up the serialized data
377
+ $task = "update_usermeta_{$field_name}_serialized";
378
+ if ( ! $this->have_done( $task ) ) {
379
+
380
+ $meta_key = sprintf( '_pods_%s', $field_name );
381
+ $target_serialized = sprintf( ';i:%s;', $this->term_id );
382
+ $replace_serialized = sprintf( ';i:%s;', $this->new_term_id );
383
+
384
+ $wpdb->query( $wpdb->prepare(
385
+ "
386
+ UPDATE
387
+ {$wpdb->usermeta}
388
+ SET
389
+ meta_value = REPLACE( meta_value, %s, %s )
390
+ WHERE
391
+ meta_key = %s
392
+ AND meta_value LIKE '%%%s%%'
393
+ ",
394
+ $target_serialized,
395
+ $replace_serialized,
396
+ $meta_key,
397
+ pods_sanitize_like( $target_serialized )
398
+ ) );
399
+
400
+ $this->append_progress( $task );
401
+ }
402
+
403
+ }
404
+
405
+ /**
406
+ * Called for all fields related to the target taxonomy that are in a user Pod
407
+ *
408
+ * @param string $pod_name
409
+ * @param string $field_name
410
+ */
411
+ private function update_setting_meta( $pod_name, $field_name ) {
412
+
413
+ /** @global wpdb $wpdb */
414
+ global $wpdb;
415
+
416
+ $option_name = "{$pod_name}_{$field_name}";
417
+
418
+ // Fix up the unserialized data
419
+ $task = "update_setting_meta_{$pod_name}_{$field_name}_unserialized";
420
+ if ( ! $this->have_done( $task ) ) {
421
+
422
+ // UPDATE {$wpdb->options} SET option_value = '{$new_term_id}' WHERE option_name = '{$pod_name}_{$field_name}' AND option_value = '{$term_id}'
423
+ $table = $wpdb->options;
424
+ $data = array( 'option_value' => $this->new_term_id );
425
+ $where = array(
426
+ 'option_name' => $option_name,
427
+ 'option_value' => $this->term_id
428
+ );
429
+ $format = '%s';
430
+ $where_format = array( '%s', '%s' );
431
+ $wpdb->update( $table, $data, $where, $format, $where_format );
432
+
433
+ $this->append_progress( $task );
434
+ }
435
+
436
+ // Fix up the serialized data
437
+ $task = "update_setting_meta_{$pod_name}_{$field_name}_serialized";
438
+ if ( ! $this->have_done( $task ) ) {
439
+
440
+ $target_serialized = sprintf( ';i:%s;', $this->term_id );
441
+ $replace_serialized = sprintf( ';i:%s;', $this->new_term_id );
442
+
443
+ $wpdb->query( $wpdb->prepare(
444
+ "
445
+ UPDATE
446
+ {$wpdb->options}
447
+ SET
448
+ option_value = REPLACE( option_value, %s, %s )
449
+ WHERE
450
+ option_name = %s
451
+ AND option_value LIKE '%%%s%%'
452
+ ",
453
+ $target_serialized,
454
+ $replace_serialized,
455
+ $option_name,
456
+ pods_sanitize_like( $target_serialized )
457
+ ) );
458
+
459
+ $this->append_progress( $task );
460
+ }
461
+
462
+ }
463
+
464
+ /**
465
+ * @param string $task_name
466
+ *
467
+ * @return bool
468
+ */
469
+ private function have_done( $task_name ) {
470
+
471
+ return in_array( $task_name, $this->previous_progress );
472
+
473
+ }
474
+
475
+ /**
476
+ * @return array
477
+ */
478
+ private function get_progress() {
479
+
480
+ return get_option( $this->progress_option_name, array() );
481
+ }
482
+
483
+ /**
484
+ * @param $data
485
+ */
486
+ private function append_progress( $data ) {
487
+
488
+ // Get the current progress array
489
+ $current_progress = $this->get_progress();
490
+ if ( ! is_array( $current_progress ) ) {
491
+ $current_progress = array();
492
+ }
493
+
494
+ // Tack on the new data
495
+ $updated_progress = array_merge( $current_progress, array( $data ) );
496
+
497
+ // Note: we don't want autoload set and you cannot specify autoload via update_option
498
+ if ( ! empty( $current_progress ) && is_array( $current_progress ) ) {
499
+ update_option( $this->progress_option_name, $updated_progress );
500
+ } else {
501
+ add_option( $this->progress_option_name, $updated_progress, '', false );
502
+ }
503
+
504
+ }
505
+
506
+ /**
507
+ *
508
+ */
509
+ private function delete_progress() {
510
+
511
+ delete_option( $this->progress_option_name );
512
+
513
+ }
514
+
515
+ }
classes/PodsUI.php CHANGED
@@ -4,6 +4,11 @@
4
  */
5
  class PodsUI {
6
 
 
 
 
 
 
7
  // internal
8
  /**
9
  * @var bool|PodsData
@@ -68,6 +73,7 @@ class PodsUI {
68
  'action',
69
  'action_bulk',
70
  'action_bulk_ids',
 
71
  'view',
72
  'export',
73
  'export_type',
@@ -427,6 +433,9 @@ class PodsUI {
427
  * @since 2.0
428
  */
429
  public function __construct ( $options, $deprecated = false ) {
 
 
 
430
  $object = null;
431
 
432
  if ( is_object( $options ) ) {
@@ -847,7 +856,7 @@ class PodsUI {
847
  }
848
  $options->validate( 'sql', $this->sql, 'array_merge' );
849
 
850
- $options->validate( 'orderby_dir', strtoupper( pods_var_raw( 'orderby_dir' . $options[ 'num' ], 'get', $this->orderby_dir, null, true ) ), 'in_array', array( 'ASC', 'DESC' ) );
851
 
852
  $orderby = $this->orderby;
853
 
@@ -1269,7 +1278,7 @@ class PodsUI {
1269
  public function message ( $msg, $error = false ) {
1270
  $msg = $this->do_hook( ( $error ) ? 'error' : 'message', $msg );
1271
  ?>
1272
- <div id="message" class="<?php echo ( $error ) ? 'error' : 'updated'; ?> fade"><p><?php echo $msg; ?></p></div>
1273
  <?php
1274
  }
1275
 
@@ -1294,7 +1303,7 @@ class PodsUI {
1294
 
1295
  if ( false !== $this->css ) {
1296
  ?>
1297
- <link type="text/css" rel="stylesheet" href="<?php echo $this->css; ?>" />
1298
  <?php
1299
  }
1300
  if ( false !== $this->wpcss ) {
@@ -1322,7 +1331,7 @@ class PodsUI {
1322
  $this->save();
1323
  $this->edit( ( 'duplicate' == $this->action && !in_array( $this->action, $this->actions_disabled ) ) ? true : false );
1324
  }
1325
- elseif ( 'delete' == $this->action && !in_array( $this->action, $this->actions_disabled ) ) {
1326
  $this->delete( $this->id );
1327
  $this->manage();
1328
  }
@@ -1359,7 +1368,7 @@ class PodsUI {
1359
  $row = $this->get_row();
1360
  }
1361
 
1362
- if ( $this->restricted( $this->action, $row ) ) {
1363
  return $this->error( sprintf( __( '<strong>Error:</strong> You do not have access to this %s.', 'pods' ), $this->item ) );
1364
  }
1365
  elseif ( $more_args && false !== $this->callback_action( true, $this->action, $this->id, $row ) ) {
@@ -1393,7 +1402,7 @@ class PodsUI {
1393
  else
1394
  $value = $this->$setting;
1395
 
1396
- pods_var_set( $value, $setting, $method );
1397
  }
1398
  }
1399
 
@@ -1411,7 +1420,7 @@ class PodsUI {
1411
  }
1412
  ?>
1413
  <div class="wrap pods-ui">
1414
- <div id="icon-edit-pages" class="icon32"<?php if ( false !== $this->icon ) { ?> style="background-position:0 0;background-size:100%;background-image:url(<?php echo $this->icon; ?>);"<?php } ?>><br /></div>
1415
  <h2>
1416
  <?php
1417
  echo $this->header[ 'add' ];
@@ -1422,7 +1431,7 @@ class PodsUI {
1422
  $link = $this->action_links[ 'manage' ];
1423
  }
1424
  ?>
1425
- <a href="<?php echo $link; ?>" class="add-new-h2">&laquo; <?php echo sprintf( __( 'Back to %s', 'pods' ), $this->heading[ 'manage' ] ); ?></a>
1426
  </h2>
1427
 
1428
  <?php $this->form( true ); ?>
@@ -1450,27 +1459,27 @@ class PodsUI {
1450
  }
1451
  ?>
1452
  <div class="wrap pods-ui">
1453
- <div id="icon-edit-pages" class="icon32"<?php if ( false !== $this->icon ) { ?> style="background-position:0 0;background-size:100%;background-image:url(<?php echo $this->icon; ?>);"<?php } ?>><br /></div>
1454
  <h2>
1455
  <?php
1456
  echo $this->do_template( $duplicate ? $this->header[ 'duplicate' ] : $this->header[ 'edit' ] );
1457
 
1458
  if ( !in_array( 'add', $this->actions_disabled ) && !in_array( 'add', $this->actions_hidden ) ) {
1459
- $link = pods_var_update( array( 'action' . $this->num => 'add', 'id' . $this->num => '', 'do' . $this->num = '' ), self::$allowed, $this->exclusion() );
1460
 
1461
  if ( !empty( $this->action_links[ 'add' ] ) )
1462
  $link = $this->action_links[ 'add' ];
1463
  ?>
1464
- <a href="<?php echo $link; ?>" class="add-new-h2"><?php echo $this->heading[ 'add' ]; ?></a>
1465
  <?php
1466
  }
1467
  elseif ( !in_array( 'manage', $this->actions_disabled ) && !in_array( 'manage', $this->actions_hidden ) ) {
1468
- $link = pods_var_update( array( 'action' . $this->num => 'manage', 'id' . $this->num => '' ), self::$allowed, $this->exclusion() );
1469
 
1470
  if ( !empty( $this->action_links[ 'manage' ] ) )
1471
  $link = $this->action_links[ 'manage' ];
1472
  ?>
1473
- <a href="<?php echo $link; ?>" class="add-new-h2">&laquo; <?php echo sprintf( __( 'Back to %s', 'pods' ), $this->heading[ 'manage' ] ); ?></a>
1474
  <?php
1475
  }
1476
  ?>
@@ -1613,8 +1622,8 @@ class PodsUI {
1613
  $fields = $this->do_hook( 'form_fields', $fields, $this->pod );
1614
 
1615
  $pod =& $this->pod;
1616
- $thank_you = pods_var_update( $vars, self::$allowed, $this->exclusion() );
1617
- $thank_you_alt = pods_var_update( $alt_vars, self::$allowed, $this->exclusion() );
1618
  $obj =& $this;
1619
  $singular_label = $this->item;
1620
  $plural_label = $this->items;
@@ -1644,6 +1653,7 @@ class PodsUI {
1644
  }
1645
 
1646
  $pod =& $this->pod;
 
1647
 
1648
  $fields = array();
1649
 
@@ -1727,7 +1737,7 @@ class PodsUI {
1727
  unset( $view_fields ); // Cleanup
1728
  ?>
1729
  <div class="wrap pods-ui">
1730
- <div id="icon-edit-pages" class="icon32"<?php if ( false !== $this->icon ) { ?> style="background-position:0 0;background-size:100%;background-image:url(<?php echo $this->icon; ?>);"<?php } ?>><br /></div>
1731
  <h2>
1732
  <?php
1733
  echo $this->do_template( $this->header[ 'view' ] );
@@ -1739,7 +1749,7 @@ class PodsUI {
1739
  $link = $this->action_links[ 'add' ];
1740
  }
1741
  ?>
1742
- <a href="<?php echo $link; ?>" class="add-new-h2"><?php echo $this->heading[ 'add' ]; ?></a>
1743
  <?php
1744
  }
1745
  elseif ( !in_array( 'manage', $this->actions_disabled ) && !in_array( 'manage', $this->actions_hidden ) ) {
@@ -1749,7 +1759,7 @@ class PodsUI {
1749
  $link = $this->action_links[ 'manage' ];
1750
  }
1751
  ?>
1752
- <a href="<?php echo $link; ?>" class="add-new-h2">&laquo; <?php echo sprintf( __( 'Back to %s', 'pods' ), $this->heading[ 'manage' ] ); ?></a>
1753
  <?php
1754
  }
1755
 
@@ -1947,7 +1957,7 @@ class PodsUI {
1947
  }
1948
 
1949
  if ( $success )
1950
- pods_redirect( pods_var_update( array( 'action_bulk' => 'delete', 'deleted_bulk' => 1 ), array( 'page', 'lang', 'action', 'id' ) ) );
1951
  else
1952
  $this->error( sprintf( __( "<strong>Error:</strong> %s has not been deleted.", 'pods' ), $this->item ) );
1953
  }
@@ -2050,12 +2060,16 @@ class PodsUI {
2050
  }
2051
 
2052
  /**
2053
- * @param bool $full Whether to get ALL data or use pagination
2054
  *
2055
- * @return bool
 
2056
  */
2057
- public function get_data ( $params = null ) {
2058
- $action = $this->action;
 
 
 
2059
 
2060
  $defaults = array(
2061
  'full' => false,
@@ -2072,37 +2086,46 @@ class PodsUI {
2072
  if ( !in_array( $action, array( 'manage', 'reorder' ) ) )
2073
  $action = 'manage';
2074
 
2075
- if ( false !== $this->pod && is_object( $this->pod ) && ( 'Pods' == get_class( $this->pod ) || 'Pod' == get_class( $this->pod ) ) ) {
2076
- $orderby = array();
2077
 
2078
- $limit = $this->limit;
2079
 
2080
- $sql = null;
2081
 
2082
- if ( 'reorder' == $this->action ) {
2083
- if ( !empty( $this->reorder[ 'orderby' ] ) )
2084
- $orderby[ $this->reorder[ 'orderby' ] ] = $this->reorder[ 'orderby_dir' ];
2085
- else
2086
- $orderby[ $this->reorder[ 'on' ] ] = $this->reorder[ 'orderby_dir' ];
2087
 
2088
- if ( !empty( $this->reorder[ 'limit' ] ) )
2089
- $limit = $this->reorder[ 'limit' ];
 
 
 
 
2090
 
2091
- if ( !empty( $this->reorder[ 'sql' ] ) )
2092
- $sql = $this->reorder[ 'sql' ];
2093
- }
2094
 
2095
- if ( !empty( $this->orderby ) ) {
2096
- $this->orderby = (array) $this->orderby;
 
 
2097
 
2098
- foreach ( $this->orderby as $order ) {
2099
- if ( false === strpos( ' ', $order ) && !isset( $orderby[ $order ] ) )
2100
- $orderby[ $order ] = $this->orderby_dir;
 
 
 
 
 
 
2101
  }
2102
  }
 
2103
 
 
2104
  $find_params = array(
2105
- 'where' => pods_var_raw( $action, $this->where, null, null, true ),
2106
  'orderby' => $orderby,
2107
  'page' => (int) $this->page,
2108
  'pagination' => true,
@@ -2115,18 +2138,72 @@ class PodsUI {
2115
  'sql' => $sql
2116
  );
2117
 
2118
- if ( empty( $find_params[ 'where' ] ) && $this->restricted( $this->action ) )
2119
- $find_params[ 'where' ] = $this->pods_data->query_fields( $this->restrict[ $this->action ], ( is_object( $this->pod ) ? $this->pod->pod_data : null ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2120
 
2121
- if ( $params->full )
2122
- $find_params[ 'limit' ] = -1;
2123
 
 
2124
  $find_params = array_merge( $find_params, (array) $this->params );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2125
 
2126
- // Debug purposes
2127
- if ( 1 == pods_var( 'pods_debug_params', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
2128
- pods_debug( $find_params );
2129
 
 
2130
  $this->pod->find( $find_params );
2131
 
2132
  if ( !$params->full ) {
@@ -2134,8 +2211,9 @@ class PodsUI {
2134
 
2135
  $this->data = $data;
2136
 
2137
- if ( !empty( $this->data ) )
2138
  $this->data_keys = array_keys( $this->data );
 
2139
 
2140
  $this->total = $this->pod->total();
2141
  $this->total_found = $this->pod->total_found();
@@ -2169,100 +2247,6 @@ class PodsUI {
2169
  if ( empty( $this->sql[ 'table' ] ) )
2170
  return $this->data;
2171
 
2172
- $orderby = array();
2173
-
2174
- if ( !empty( $this->orderby ) ) {
2175
- $this->orderby = (array) $this->orderby;
2176
-
2177
- foreach ( $this->orderby as $k => $order ) {
2178
- if ( false === strpos( $order, ' ' ) ) {
2179
- if ( in_array( strtoupper( $order ), array( 'ASC', 'DESC' ) ) ) {
2180
- $orderby[ $k ] = $order;
2181
- }
2182
- elseif ( !isset( $orderby[ $order ] ) ) {
2183
- $orderby[ $order ] = $this->orderby_dir;
2184
- }
2185
- }
2186
- else {
2187
- $orderby[] = $order;
2188
- }
2189
- }
2190
- }
2191
-
2192
- // Allow orderby array ( 'field' => 'asc|desc' )
2193
- if ( !empty( $orderby ) && is_array( $orderby ) ) {
2194
- foreach ( $orderby as $k => &$orderby_value ) {
2195
- if ( !is_numeric( $k ) ) {
2196
- $order = 'ASC';
2197
-
2198
- if ( 'DESC' == strtoupper( $orderby_value ) )
2199
- $order = 'DESC';
2200
-
2201
- if ( false !== strpos( $k, '.' ) ) {
2202
- $key = $k;
2203
-
2204
- if ( false === strpos( $key, ' ' ) && false === strpos( $key, '`' ) )
2205
- $key = '`' . str_replace( '.', '`.`', $key ) . '`';
2206
- }
2207
- else {
2208
- $key = "`t`.`{$k}`";
2209
- }
2210
-
2211
- $orderby_value = $key;
2212
-
2213
- if ( false === strpos( $orderby_value, ' ' ) )
2214
- $orderby_value .= ' ' . $order;
2215
- }
2216
- }
2217
- }
2218
-
2219
- // Add prefix to $orderby if needed
2220
- if ( !empty( $orderby ) ) {
2221
- if ( !is_array( $orderby ) )
2222
- $orderby = array( $orderby );
2223
-
2224
- foreach ( $orderby as &$prefix_orderby ) {
2225
- if ( false === strpos( $prefix_orderby, ',' ) && false === strpos( $prefix_orderby, '(' ) && false === stripos( $prefix_orderby, ' AS ' ) && false === strpos( $prefix_orderby, '`' ) && false === strpos( $prefix_orderby, '.' ) ) {
2226
- if ( false !== stripos( $prefix_orderby, ' DESC' ) ) {
2227
- $k = trim( str_ireplace( array( '`', ' DESC' ), '', $prefix_orderby ) );
2228
- $dir = 'DESC';
2229
- }
2230
- else {
2231
- $k = trim( str_ireplace( array( '`', ' ASC' ), '', $prefix_orderby ) );
2232
- $dir = 'ASC';
2233
- }
2234
-
2235
- $key = "`t`.`{$k}`";
2236
-
2237
- $prefix_orderby = "{$key} {$dir}";
2238
- }
2239
- }
2240
- }
2241
-
2242
- $find_params = array(
2243
- 'table' => $this->sql[ 'table' ],
2244
- 'id' => $this->sql[ 'field_id' ],
2245
- 'index' => $this->sql[ 'field_index' ],
2246
- 'where' => pods_var_raw( $action, $this->where, null, null, true ),
2247
- 'orderby' => $orderby,
2248
- 'page' => (int) $this->page,
2249
- 'pagination' => true,
2250
- 'limit' => (int) $this->limit,
2251
- 'search' => $this->searchable,
2252
- 'search_query' => $this->search,
2253
- 'fields' => $this->fields[ 'search' ]
2254
- );
2255
-
2256
- if ( empty( $find_params[ 'where' ] ) && $this->restricted( $this->action ) )
2257
- $find_params[ 'where' ] = $this->pods_data->query_fields( $this->restrict[ $this->action ], ( is_object( $this->pod ) ? $this->pod->pod_data : null ) );
2258
-
2259
- if ( $params->full )
2260
- $find_params[ 'limit' ] = -1;
2261
-
2262
- // Debug purposes
2263
- if ( 1 == pods_var( 'pods_debug_params', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
2264
- pods_debug( $find_params );
2265
-
2266
  $this->pods_data->select( $find_params );
2267
 
2268
  if ( !$params->full ) {
@@ -2364,7 +2348,10 @@ class PodsUI {
2364
  }
2365
 
2366
  if ( !empty( $this->action_bulk ) && !empty( $this->actions_bulk ) && isset( $this->actions_bulk[ $this->action_bulk ] ) && !in_array( $this->action_bulk, $this->actions_disabled ) && !empty( $this->bulk ) ) {
2367
- if ( false !== $this->callback_bulk( $this->action_bulk, $this->bulk ) ) {
 
 
 
2368
  return null;
2369
  }
2370
  elseif ( 'delete' == $this->action_bulk ) {
@@ -2378,39 +2365,39 @@ class PodsUI {
2378
  wp_enqueue_script( 'jquery-ui-sortable' );
2379
  ?>
2380
  <div class="wrap pods-admin pods-ui">
2381
- <div id="icon-edit-pages" class="icon32"<?php if ( false !== $this->icon ) { ?> style="background-position:0 0;background-size:100%;background-image:url(<?php echo $this->icon; ?>);"<?php } ?>><br /></div>
2382
  <h2>
2383
  <?php
2384
  if ( true === $reorder ) {
2385
  echo $this->header[ 'reorder' ];
2386
 
2387
- $link = pods_var_update( array( 'action' . $this->num => 'manage', 'id' . $this->num => '' ), self::$allowed, $this->exclusion() );
2388
 
2389
  if ( !empty( $this->action_links[ 'manage' ] ) )
2390
  $link = $this->action_links[ 'manage' ];
2391
  ?>
2392
- <small>(<a href="<?php echo $link; ?>">&laquo; <?php echo sprintf( __( 'Back to %s', 'pods' ), $this->heading[ 'manage' ] ); ?></a>)</small>
2393
  <?php
2394
  }
2395
  else
2396
  echo $this->header[ 'manage' ];
2397
 
2398
  if ( !in_array( 'add', $this->actions_disabled ) && !in_array( 'add', $this->actions_hidden ) ) {
2399
- $link = pods_var_update( array( 'action' . $this->num => 'add', 'id' . $this->num => '', 'do' . $this->num => '' ), self::$allowed, $this->exclusion() );
2400
 
2401
  if ( !empty( $this->action_links[ 'add' ] ) )
2402
  $link = $this->action_links[ 'add' ];
2403
  ?>
2404
- <a href="<?php echo $link; ?>" class="add-new-h2"><?php echo $this->label[ 'add_new' ]; ?></a>
2405
  <?php
2406
  }
2407
  if ( !in_array( 'reorder', $this->actions_disabled ) && !in_array( 'reorder', $this->actions_hidden ) && false !== $this->reorder[ 'on' ] ) {
2408
- $link = pods_var_update( array( 'action' . $this->num => 'reorder' ), self::$allowed, $this->exclusion() );
2409
 
2410
  if ( !empty( $this->action_links[ 'reorder' ] ) )
2411
  $link = $this->action_links[ 'reorder' ];
2412
  ?>
2413
- <a href="<?php echo $link; ?>" class="add-new-h2"><?php echo $this->label[ 'reorder' ]; ?></a>
2414
  <?php
2415
  }
2416
  ?>
@@ -2423,7 +2410,8 @@ class PodsUI {
2423
  'pg' . $this->num,
2424
  'action' . $this->num,
2425
  'action_bulk' . $this->num,
2426
- 'action_bulk_ids' . $this->num
 
2427
  );
2428
 
2429
  $filters = $this->filters;
@@ -2521,12 +2509,12 @@ class PodsUI {
2521
  if ( !empty( $end ) && !in_array( $end, array( '0000-00-00', '0000-00-00 00:00:00', '00:00:00' ) ) )
2522
  $end = PodsForm::field_method( $filter_field[ 'type' ], 'convert_date', $end, 'n/j/Y' );
2523
  ?>
2524
- <label for="pods-form-ui-filter-<?php echo $filter; ?>_start">
2525
  <?php echo $filter_field[ 'label' ]; ?>
2526
  </label>
2527
  <?php echo PodsForm::field( 'filter_' . $filter . '_start', $start, $filter_field[ 'type' ], $filter_field ); ?>
2528
 
2529
- <label for="pods-form-ui-filter-<?php echo $filter; ?>_end">
2530
  to
2531
  </label>
2532
  <?php
@@ -2549,7 +2537,7 @@ class PodsUI {
2549
 
2550
  $options = array_merge( $filter_field, $filter_field[ 'options' ] );
2551
  ?>
2552
- <label for="pods-form-ui-filter-<?php echo $filter; ?>">
2553
  <?php echo $filter_field[ 'label' ]; ?>
2554
  </label>
2555
  <?php
@@ -2578,7 +2566,7 @@ class PodsUI {
2578
 
2579
  $options = array_merge( $filter_field, $filter_field[ 'options' ] );
2580
  ?>
2581
- <label for="pods-form-ui-filter-<?php echo $filter; ?>">
2582
  <?php echo $filter_field[ 'label' ]; ?>
2583
  </label>
2584
  <?php
@@ -2595,9 +2583,9 @@ class PodsUI {
2595
 
2596
  $options = array();
2597
  $options[ 'input_helper' ] = pods_var_raw( 'ui_input_helper', pods_var_raw( 'options', pods_var_raw( $filter, $this->fields[ 'search' ], array(), null, true ), array(), null, true ), '', null, true );
2598
- $options[ 'input_helper' ] = pods_var_raw( 'ui_input_helper', $options, $filter_field[ 'options' ][ 'input_helper' ], null, true );
2599
  ?>
2600
- <label for="pods-form-ui-filter-<?php echo $filter; ?>">
2601
  <?php echo $filter_field[ 'label' ]; ?>
2602
  </label>
2603
  <?php
@@ -2607,7 +2595,7 @@ class PodsUI {
2607
 
2608
  if ( false !== $this->do_hook( 'filters_show_search', true ) ) {
2609
  ?>
2610
- &nbsp;&nbsp; <label<?php echo ( empty( $this->filters ) ) ? ' class="screen-reader-text"' : ''; ?> for="page-search<?php echo $this->num; ?>-input"><?php _e( 'Search', 'pods' ); ?>:</label>
2611
  <?php echo PodsForm::field( 'search' . $this->num, $this->search, 'text', array( 'attributes' => array( 'id' => 'page-search' . $this->num . '-input' ) ) ); ?>
2612
  <?php
2613
  }
@@ -2629,7 +2617,7 @@ class PodsUI {
2629
  }
2630
  ?>
2631
  <br class="clear" />
2632
- <small>[<a href="<?php echo pods_var_update( $clear_filters, array( 'orderby' . $this->num, 'orderby_dir' . $this->num, 'limit' . $this->num, 'page' ), $this->exclusion() ); ?>"><?php _e( 'Reset Filters', 'pods' ); ?></a>]</small>
2633
  <br class="clear" />
2634
  <?php
2635
  }
@@ -2651,7 +2639,9 @@ class PodsUI {
2651
  if ( !empty( $this->data ) && !empty( $this->actions_bulk ) ) {
2652
  ?>
2653
  <div class="alignleft actions">
2654
- <select name="action_bulk<?php echo $this->num; ?>">
 
 
2655
  <option value="-1" selected="selected"><?php _e( 'Bulk Actions', 'pods' ); ?></option>
2656
 
2657
  <?php
@@ -2668,14 +2658,14 @@ class PodsUI {
2668
  ?>
2669
  </select>
2670
 
2671
- <input type="submit" id="doaction_bulk<?php echo $this->num; ?>" class="button-secondary action" value="<?php _e( 'Apply', 'pods' ); ?>">
2672
  </div>
2673
  <?php
2674
  }
2675
 
2676
  if ( true !== $reorder && ( false !== $this->pagination_total || false !== $this->pagination ) ) {
2677
  ?>
2678
- <div class="tablenav-pages<?php echo ( $this->limit < $this->total_found || 1 < $this->page ) ? '' : ' one-page'; ?>">
2679
  <?php $this->pagination( 1 ); ?>
2680
  </div>
2681
  <?php
@@ -2688,22 +2678,11 @@ class PodsUI {
2688
  $link = $this->action_links[ 'manage' ];
2689
  }
2690
  ?>
2691
- <input type="button" value="<?php _e( 'Update Order', 'pods' ); ?>" class="button" onclick="jQuery('form.admin_ui_reorder_form').submit();" />
2692
- <input type="button" value="<?php _e( 'Cancel', 'pods' ); ?>" class="button" onclick="document.location='<?php echo esc_attr( $link ); ?>';" />
2693
  </form>
2694
  <?php
2695
  }
2696
- /*
2697
- elseif (!in_array('delete', $this->actions_disabled) && !in_array('delete', $this->actions_hidden) && is_developer() ) {
2698
- ?>
2699
- <div class="alignleft actions">
2700
- <select name="action">
2701
- <option value="-1" selected="selected"><?php _e('Bulk Actions', 'pods'); ?></option>
2702
- <option value="delete"><?php _e('Delete', 'pods'); ?></option>
2703
- </select> <input type="submit" id="doaction" class="button-secondary action" value="<?php _e('Apply', 'pods'); ?>">
2704
- </div>
2705
- <?php
2706
- }*/
2707
  elseif ( !in_array( 'export', $this->actions_disabled ) && !in_array( 'export', $this->actions_hidden ) ) {
2708
  ?>
2709
  <div class="alignleft actions">
@@ -2711,7 +2690,7 @@ class PodsUI {
2711
  <?php
2712
  foreach ( $this->export[ 'formats' ] as $format => $separator ) {
2713
  ?>
2714
- <input type="button" value=" <?php echo strtoupper( $format ); ?> " class="button" onclick="document.location='<?php echo pods_var_update( array( 'action' . $this->num => 'export', 'export_type' . $this->num => $format ), self::$allowed, $this->exclusion() ); ?>';" />
2715
  <?php
2716
  }
2717
  ?>
@@ -2742,7 +2721,7 @@ class PodsUI {
2742
  if ( true !== $reorder && ( false !== $this->pagination_total || false !== $this->pagination ) ) {
2743
  ?>
2744
  <div class="tablenav">
2745
- <div class="tablenav-pages<?php echo ( $this->limit < $this->total_found || 1 < $this->page ) ? '' : ' one-page'; ?>">
2746
  <?php $this->pagination( 0 ); ?>
2747
  <br class="clear" />
2748
  </div>
@@ -2802,15 +2781,15 @@ class PodsUI {
2802
  <?php
2803
  foreach ( $this->views as $view => $label ) {
2804
  if ( false === strpos( $label, '<a' ) ) {
2805
- $link = pods_var_update( array( 'view' . $this->num => $view, 'pg' . $this->num => '' ), self::$allowed, $this->exclusion() );
2806
 
2807
  if ( $this->view == $view )
2808
- $label = '<a href="' . $link . '" class="current">' . $label . '</a>';
2809
  else
2810
- $label = '<a href="' . $link . '">' . $label . '</a>';
2811
  }
2812
  ?>
2813
- <li class="<?php echo $view; ?>"><?php echo $label; ?></li>
2814
  <?php
2815
  }
2816
  ?>
@@ -2835,13 +2814,13 @@ class PodsUI {
2835
  $clear_filters[ 'filter_' . $filter ] = false;
2836
  }
2837
  ?>
2838
- <a href="<?php echo pods_var_update( $clear_filters, array( 'orderby' . $this->num, 'orderby_dir' . $this->num, 'limit' . $this->num, 'page' ), $this->exclusion() ); ?>" class="pods-ui-filter-reset">[<?php _e( 'Reset', 'pods' ); ?>]</a>
2839
  <?php
2840
  }
2841
 
2842
  if ( false !== $this->do_hook( 'filters_show_search', true ) ) {
2843
  ?>
2844
- &nbsp;&nbsp; <label class="screen-reader-text" for="page-search<?php echo $this->num; ?>-input"><?php _e( 'Search', 'pods' ); ?>:</label>
2845
  <?php echo PodsForm::field( 'search' . $this->num, $this->search, 'text', array( 'attributes' => array( 'id' => 'page-search' . $this->num . '-input' ) ) ); ?>
2846
  <?php
2847
  }
@@ -2928,7 +2907,7 @@ class PodsUI {
2928
  if ( strlen( $value_label ) < 1 )
2929
  $value_label = $value;
2930
  ?>
2931
- <li class="pods-ui-filter-bar-filter" data-filter="<?php echo $data_filter; ?>">
2932
  <a href="#TB_inline?width=640&inlineId=pods-ui-posts-filter-popup" class="thickbox" title="<?php esc_attr_e( 'Advanced Filters', 'pods' ); ?>">
2933
  <strong><?php echo $filter_field[ 'label' ]; ?>:</strong>
2934
  <?php echo esc_html( $value_label ); ?>
@@ -2964,9 +2943,10 @@ class PodsUI {
2964
  jQuery( this ).remove();
2965
  } );
2966
 
2967
- jQuery( 'form#posts-filter [name="pg"]' ).prop( 'disabled', true );
2968
- jQuery( 'form#posts-filter [name="action"]' ).prop( 'disabled', true );
2969
- jQuery( 'form#posts-filter [name="action_bulk<?php echo $this->num; ?>"]' ).prop( 'disabled', true );
 
2970
 
2971
  jQuery( 'form#posts-filter' ).submit();
2972
 
@@ -2991,7 +2971,8 @@ class PodsUI {
2991
  'pg' . $this->num,
2992
  'action' . $this->num,
2993
  'action_bulk' . $this->num,
2994
- 'action_bulk_ids' . $this->num
 
2995
  );
2996
 
2997
  foreach ( $filters as $filter ) {
@@ -3028,7 +3009,7 @@ class PodsUI {
3028
  continue;
3029
  }
3030
  ?>
3031
- <p class="pods-ui-posts-filter-toggled pods-ui-posts-filter-<?php echo $filter . ( $zebra ? ' clear' : '' ); ?>">
3032
  <?php
3033
  if ( in_array( $filter_field[ 'type' ], array( 'date', 'datetime', 'time' ) ) ) {
3034
  $start = pods_var_raw( 'filter_' . $filter . '_start', 'get', pods_var_raw( 'filter_default', $filter_field, '', null, true ), null, true );
@@ -3044,17 +3025,17 @@ class PodsUI {
3044
  if ( !empty( $end ) && !in_array( $end, array( '0000-00-00', '0000-00-00 00:00:00', '00:00:00' ) ) )
3045
  $end = PodsForm::field_method( $filter_field[ 'type' ], 'convert_date', $end, 'n/j/Y' );
3046
  ?>
3047
- <span class="pods-ui-posts-filter-toggle toggle-on<?php echo ( ( empty( $start ) && empty( $end ) ) ? '' : ' hidden' ); ?>">+</span>
3048
- <span class="pods-ui-posts-filter-toggle toggle-off<?php echo ( ( empty( $start ) && empty( $end ) ) ? ' hidden' : '' ); ?>"><?php _e( 'Clear', 'pods' ); ?></span>
3049
 
3050
- <label for="pods-form-ui-filter-<?php echo $filter; ?>_start">
3051
  <?php echo $filter_field[ 'label' ]; ?>
3052
  </label>
3053
 
3054
- <span class="pods-ui-posts-filter<?php echo ( ( empty( $start ) && empty( $end ) ) ? ' hidden' : '' ); ?>">
3055
  <?php echo PodsForm::field( 'filter_' . $filter . '_start', $start, $filter_field[ 'type' ], $filter_field ); ?>
3056
 
3057
- <label for="pods-form-ui-filter-<?php echo $filter; ?>_end">to</label>
3058
  <?php echo PodsForm::field( 'filter_' . $filter . '_end', $end, $filter_field[ 'type' ], $filter_field ); ?>
3059
  </span>
3060
  <?php
@@ -3076,14 +3057,14 @@ class PodsUI {
3076
 
3077
  $options = array_merge( $filter_field, $filter_field[ 'options' ] );
3078
  ?>
3079
- <span class="pods-ui-posts-filter-toggle toggle-on<?php echo ( empty( $value ) ? '' : ' hidden' ); ?>">+</span>
3080
- <span class="pods-ui-posts-filter-toggle toggle-off<?php echo ( empty( $value ) ? ' hidden' : '' ); ?>"><?php _e( 'Clear', 'pods' ); ?></span>
3081
 
3082
- <label for="pods-form-ui-filter-<?php echo $filter; ?>">
3083
  <?php echo $filter_field[ 'label' ]; ?>
3084
  </label>
3085
 
3086
- <span class="pods-ui-posts-filter<?php echo ( strlen( $value ) < 1 ? ' hidden' : '' ); ?>">
3087
  <?php echo PodsForm::field( 'filter_' . $filter, $value, 'pick', $options ); ?>
3088
  </span>
3089
  <?php
@@ -3111,14 +3092,14 @@ class PodsUI {
3111
 
3112
  $options = array_merge( $filter_field, $filter_field[ 'options' ] );
3113
  ?>
3114
- <span class="pods-ui-posts-filter-toggle toggle-on<?php echo ( empty( $value ) ? '' : ' hidden' ); ?>">+</span>
3115
- <span class="pods-ui-posts-filter-toggle toggle-off<?php echo ( empty( $value ) ? ' hidden' : '' ); ?>"><?php _e( 'Clear', 'pods' ); ?></span>
3116
 
3117
- <label for="pods-form-ui-filter-<?php echo $filter; ?>">
3118
  <?php echo $filter_field[ 'label' ]; ?>
3119
  </label>
3120
 
3121
- <span class="pods-ui-posts-filter<?php echo ( strlen( $value ) < 1 ? ' hidden' : '' ); ?>">
3122
  <?php echo PodsForm::field( 'filter_' . $filter, $value, 'pick', $options ); ?>
3123
  </span>
3124
  <?php
@@ -3136,14 +3117,14 @@ class PodsUI {
3136
  if ( empty( $options[ 'input_helper' ] ) && isset( $filter_field[ 'options' ] ) && isset( $filter_field[ 'options' ][ 'input_helper' ] ) )
3137
  $options[ 'input_helper' ] = $filter_field[ 'options' ][ 'input_helper' ];
3138
  ?>
3139
- <span class="pods-ui-posts-filter-toggle toggle-on<?php echo ( empty( $value ) ? '' : ' hidden' ); ?>">+</span>
3140
- <span class="pods-ui-posts-filter-toggle toggle-off<?php echo ( empty( $value ) ? ' hidden' : '' ); ?>"><?php _e( 'Clear', 'pods' ); ?></span>
3141
 
3142
- <label for="pods-form-ui-filter-<?php echo $filter; ?>">
3143
  <?php echo $filter_field[ 'label' ]; ?>
3144
  </label>
3145
 
3146
- <span class="pods-ui-posts-filter<?php echo ( empty( $value ) ? ' hidden' : '' ); ?>">
3147
  <?php echo PodsForm::field( 'filter_' . $filter, $value, 'text', $options ); ?>
3148
  </span>
3149
  <?php
@@ -3155,15 +3136,15 @@ class PodsUI {
3155
  }
3156
  ?>
3157
 
3158
- <p class="pods-ui-posts-filter-toggled pods-ui-posts-filter-search<?php echo ( $zebra ? ' clear' : '' ); ?>">
3159
- <label for="pods-form-ui-search<?php echo $this->num; ?>"><?php _e( 'Search Text', 'pods' ); ?></label>
3160
  <?php echo PodsForm::field( 'search' . $this->num, pods_var_raw( 'search' . $this->num, 'get' ), 'text' ); ?>
3161
  </p>
3162
 
3163
  <?php $zebra = empty( $zebra ); ?>
3164
  </div>
3165
 
3166
- <p class="submit<?php echo ( $zebra ? ' clear' : '' ); ?>"><input type="submit" value="<?php echo esc_attr( $this->header[ 'search' ] ); ?>" class="button button-primary" /></p>
3167
  </form>
3168
  </div>
3169
 
@@ -3228,7 +3209,7 @@ class PodsUI {
3228
  }
3229
 
3230
  .dragme {
3231
- background: url(<?php echo PODS_URL; ?>/ui/images/handle.gif) no-repeat;
3232
  background-position: 8px 8px;
3233
  cursor: pointer;
3234
  }
@@ -3237,7 +3218,7 @@ class PodsUI {
3237
  margin-left: 30px;
3238
  }
3239
  </style>
3240
- <form action="<?php echo pods_var_update( array( 'action' . $this->num => 'reorder', 'do' . $this->num => 'save', 'page' => pods_var_raw( 'page' ) ), self::$allowed, $this->exclusion() ); ?>" method="post" class="admin_ui_reorder_form">
3241
  <?php
3242
  }
3243
  $table_fields = $this->fields[ 'manage' ];
@@ -3285,23 +3266,23 @@ class PodsUI {
3285
 
3286
  $att_id = '';
3287
  if ( !empty( $id ) )
3288
- $att_id = ' id="' . $id . '"';
3289
 
3290
  $width = '';
3291
 
3292
  if ( isset( $attributes[ 'width' ] ) && !empty( $attributes[ 'width' ] ) )
3293
- $width = ' style="width: ' . $attributes[ 'width' ] . '"';
3294
 
3295
  if ( $fields[ $field ][ 'sortable' ] ) {
3296
  ?>
3297
- <th scope="col"<?php echo $att_id; ?> class="manage-column column-<?php echo $id; ?> sortable<?php echo $current_sort; ?>"<?php echo $width; ?>>
3298
- <a href="<?php echo pods_var_update( array( 'orderby' . $this->num => $field, 'orderby_dir' . $this->num => $dir ), array( 'limit' . $this->num, 'search' . $this->num, 'pg' . $this->num, 'page' ), $this->exclusion() ); ?>"> <span><?php echo $attributes[ 'label' ]; ?></span> <span class="sorting-indicator"></span> </a>
3299
  </th>
3300
  <?php
3301
  }
3302
  else {
3303
  ?>
3304
- <th scope="col"<?php echo $att_id; ?> class="manage-column column-<?php echo $id; ?>"<?php echo $width; ?>><?php echo $attributes[ 'label' ]; ?></th>
3305
  <?php
3306
  }
3307
  }
@@ -3335,16 +3316,16 @@ class PodsUI {
3335
  $width = '';
3336
 
3337
  if ( isset( $attributes[ 'width' ] ) && !empty( $attributes[ 'width' ] ) )
3338
- $width = ' style="width: ' . $attributes[ 'width' ] . '"';
3339
 
3340
  if ( $fields[ $field ][ 'sortable' ] ) {
3341
  ?>
3342
- <th scope="col" class="manage-column column-<?php echo $id; ?> sortable <?php echo $current_sort; ?>"<?php echo $width; ?>><a href="<?php echo pods_var_update( array( 'orderby' . $this->num => $field, 'orderby_dir' . $this->num => $dir ), array( 'limit' . $this->num, 'search' . $this->num, 'pg' . $this->num, 'page' ), $this->exclusion() ); ?>"><span><?php echo $attributes[ 'label' ]; ?></span><span class="sorting-indicator"></span></a></th>
3343
  <?php
3344
  }
3345
  else {
3346
  ?>
3347
- <th scope="col" class="manage-column column-<?php echo $id; ?>"<?php echo $width; ?>><?php echo $attributes[ 'label' ]; ?></th>
3348
  <?php
3349
  }
3350
  }
@@ -3373,11 +3354,11 @@ class PodsUI {
3373
  $toggle_class = ' pods-toggled-off';
3374
  }
3375
  ?>
3376
- <tr id="item-<?php echo $row[ $this->sql[ 'field_id' ] ]; ?>" class="iedit<?php echo $toggle_class; ?>">
3377
  <?php
3378
  if ( !empty( $this->actions_bulk ) ) {
3379
  ?>
3380
- <th scope="row" class="check-column"><input type="checkbox" name="action_bulk_ids<?php echo $this->num; ?>[]" value="<?php echo $row[$this->sql['field_id']]; ?>"></th>
3381
  <?php
3382
  }
3383
 
@@ -3494,26 +3475,26 @@ class PodsUI {
3494
  $default_action = $this->do_hook( 'default_action', 'edit', $row );
3495
 
3496
  if ( !in_array( 'edit', $this->actions_disabled ) && !in_array( 'edit', $this->actions_hidden ) && ( false === $reorder || in_array( 'reorder', $this->actions_disabled ) || false === $this->reorder[ 'on' ] ) && 'edit' == $default_action ) {
3497
- $link = pods_var_update( array( 'action' . $this->num => 'edit', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3498
 
3499
  if ( !empty( $this->action_links[ 'edit' ] ) )
3500
  $link = $this->do_template( $this->action_links[ 'edit' ], $row );
3501
  ?>
3502
- <td class="post-title page-title column-title<?php echo $css_classes; ?>"><strong><a class="row-title" href="<?php echo $link; ?>" title="<?php _e( 'Edit this item', 'pods' ); ?>"><?php echo $row_value; ?></a></strong>
3503
  <?php
3504
  }
3505
  elseif ( !in_array( 'view', $this->actions_disabled ) && !in_array( 'view', $this->actions_hidden ) && ( false === $reorder || in_array( 'reorder', $this->actions_disabled ) || false === $this->reorder[ 'on' ] ) && 'view' == $default_action ) {
3506
- $link = pods_var_update( array( 'action' . $this->num => 'view', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3507
 
3508
  if ( !empty( $this->action_links[ 'view' ] ) )
3509
  $link = $this->do_template( $this->action_links[ 'view' ], $row );
3510
  ?>
3511
- <td class="post-title page-title column-title<?php echo $css_classes; ?>"><strong><a class="row-title" href="<?php echo $link; ?>" title="<?php _e( 'View this item', 'pods' ); ?>"><?php echo $row_value; ?></a></strong>
3512
  <?php
3513
  }
3514
  else {
3515
  ?>
3516
- <td class="post-title page-title column-title<?php echo $css_classes; ?><?php echo ( 1 == $reorder && $this->reorder ) ? ' dragme' : ''; ?>"><strong><?php echo $row_value; ?></strong>
3517
  <?php
3518
  }
3519
 
@@ -3522,39 +3503,40 @@ class PodsUI {
3522
  $actions = array();
3523
 
3524
  if ( !in_array( 'view', $this->actions_disabled ) && !in_array( 'view', $this->actions_hidden ) ) {
3525
- $link = pods_var_update( array( 'action' . $this->num => 'view', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3526
 
3527
  if ( !empty( $this->action_links[ 'view' ] ) )
3528
  $link = $this->do_template( $this->action_links[ 'view' ], $row );
3529
 
3530
- $actions[ 'view' ] = '<span class="view"><a href="' . $link . '" title="' . __( 'View this item', 'pods' ) . '">' . __( 'View', 'pods' ) . '</a></span>';
3531
  }
3532
 
3533
  if ( !in_array( 'edit', $this->actions_disabled ) && !in_array( 'edit', $this->actions_hidden ) && !$this->restricted( 'edit', $row ) ) {
3534
- $link = pods_var_update( array( 'action' . $this->num => 'edit', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3535
 
3536
  if ( !empty( $this->action_links[ 'edit' ] ) )
3537
  $link = $this->do_template( $this->action_links[ 'edit' ], $row );
3538
 
3539
- $actions[ 'edit' ] = '<span class="edit"><a href="' . $link . '" title="' . __( 'Edit this item', 'pods' ) . '">' . __( 'Edit', 'pods' ) . '</a></span>';
3540
  }
3541
 
3542
  if ( !in_array( 'duplicate', $this->actions_disabled ) && !in_array( 'duplicate', $this->actions_hidden ) && !$this->restricted( 'edit', $row ) ) {
3543
- $link = pods_var_update( array( 'action' . $this->num => 'duplicate', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3544
 
3545
  if ( !empty( $this->action_links[ 'duplicate' ] ) )
3546
  $link = $this->do_template( $this->action_links[ 'duplicate' ], $row );
3547
 
3548
- $actions[ 'duplicate' ] = '<span class="edit"><a href="' . $link . '" title="' . __( 'Duplicate this item', 'pods' ) . '">' . __( 'Duplicate', 'pods' ) . '</a></span>';
3549
  }
3550
 
3551
  if ( !in_array( 'delete', $this->actions_disabled ) && !in_array( 'delete', $this->actions_hidden ) && !$this->restricted( 'delete', $row ) ) {
3552
- $link = pods_var_update( array( 'action' . $this->num => 'delete', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3553
 
3554
- if ( !empty( $this->action_links[ 'delete' ] ) )
3555
- $link = $this->do_template( $this->action_links[ 'delete' ], $row );
 
3556
 
3557
- $actions[ 'delete' ] = '<span class="delete"><a href="' . $link . '" title="' . __( 'Delete this item', 'pods' ) . '" class="submitdelete" onclick="if(confirm(\'' . __( 'You are about to permanently delete this item\n Choose \\\'Cancel\\\' to stop, \\\'OK\\\' to delete.', 'pods' ) . '\')){return true;}return false;">' . __( 'Delete', 'pods' ) . '</a></span>';
3558
  }
3559
 
3560
  if ( is_array( $this->actions_custom ) ) {
@@ -3577,7 +3559,8 @@ class PodsUI {
3577
  if ( !isset( $custom_data[ 'link' ] ) ) {
3578
  $vars = array(
3579
  'action' => $custom_action,
3580
- 'id' => $row[ $this->sql[ 'field_id' ] ]
 
3581
  );
3582
 
3583
  if ( 'toggle' == $custom_action ) {
@@ -3585,22 +3568,23 @@ class PodsUI {
3585
  $vars[ 'toggled' ] = 1;
3586
  }
3587
 
3588
- $custom_data[ 'link' ] = pods_var_update( $vars, self::$allowed, $this->exclusion() );
3589
 
3590
- if ( isset( $this->action_links[ $custom_action ] ) && !empty( $this->action_links[ $custom_action ] ) )
3591
- $custom_data[ 'link' ] = $this->do_template( $this->action_links[ $custom_action ], $row );
 
3592
  }
3593
 
3594
  $confirm = '';
3595
 
3596
  if ( isset( $custom_data[ 'confirm' ] ) )
3597
- $confirm = ' onclick="if(confirm(\'' . $custom_data[ 'confirm' ] . '\')){return true;}return false;"';
3598
 
3599
  if ( $this->restricted( $custom_action, $row ) ) {
3600
  continue;
3601
  }
3602
 
3603
- $actions[ $custom_action ] = '<span class="edit action-' . $custom_action . '"><a href="' . $this->do_template( $custom_data[ 'link' ], $row ) . '" title="' . esc_attr( $custom_data[ 'label' ] ) . ' this item"' . $confirm . '>' . $custom_data[ 'label' ] . '</a></span>';
3604
  }
3605
  }
3606
  }
@@ -3610,7 +3594,7 @@ class PodsUI {
3610
 
3611
  if ( !empty( $actions ) ) {
3612
  ?>
3613
- <div class="row-actions<?php echo ( $toggle ? ' row-actions-toggle' : '' ); ?>">
3614
  <?php
3615
  $this->callback( 'actions_start', $row, $actions );
3616
 
@@ -3624,7 +3608,7 @@ class PodsUI {
3624
  }
3625
  else {
3626
  ?>
3627
- <input type="hidden" name="order[]" value="<?php echo $row[ $this->sql[ 'field_id' ] ]; ?>" />
3628
  <?php
3629
  }
3630
  ?>
@@ -3633,12 +3617,12 @@ class PodsUI {
3633
  }
3634
  elseif ( 'date' == $attributes[ 'type' ] ) {
3635
  ?>
3636
- <td class="date column-date<?php echo $css_classes; ?>"><abbr title="<?php echo esc_attr( $row_value ); ?>"><?php echo $row_value; ?></abbr></td>
3637
  <?php
3638
  }
3639
  else {
3640
  ?>
3641
- <td class="author<?php echo $css_classes; ?>"><span><?php echo $row_value; ?></span></td>
3642
  <?php
3643
  }
3644
  }
@@ -3745,8 +3729,8 @@ class PodsUI {
3745
  if ( false === $attributes[ 'display' ] || true === $attributes[ 'hidden' ] )
3746
  continue;
3747
  ?>
3748
- <label for="<?php echo $field; ?>-hide">
3749
- <input class="hide-column-tog" name="<?php echo $this->unique_identifier; ?>_<?php echo $field; ?>-hide" type="checkbox" id="<?php echo $field; ?>-hide" value="<?php echo $field; ?>" checked="checked"><?php echo $attributes[ 'label' ]; ?></label>
3750
  <?php
3751
  }
3752
  ?>
@@ -3760,13 +3744,13 @@ class PodsUI {
3760
  <?php
3761
  if ( true === $this->pagination ) {
3762
  ?>
3763
- <input type="text" class="screen-per-page" name="wp_screen_options[value]" id="<?php echo $this->unique_identifier; ?>_per_page" maxlength="3" value="20"> <label for="<?php echo $this->unique_identifier; ?>_per_page"><?php echo $this->items; ?> per page</label>
3764
  <?php
3765
  }
3766
  $this->do_hook( 'screen_meta_screen_submit' );
3767
  ?>
3768
- <input type="submit" name="screen-options-apply" id="screen-options-apply" class="button" value="<?php _e( 'Apply', 'pods' ); ?>">
3769
- <input type="hidden" name="wp_screen_options[option]" value="<?php echo $this->unique_identifier; ?>_per_page">
3770
  <?php wp_nonce_field( 'screen-options-nonce', 'screenoptionnonce', false ); ?>
3771
  </div>
3772
  <?php
@@ -3795,7 +3779,7 @@ class PodsUI {
3795
  <?php
3796
  if ( 0 < strlen( $help_link ) ) {
3797
  ?>
3798
- <a href="<?php echo $help_link; ?>" class="show-settings">Help</a>
3799
  <?php
3800
  }
3801
  else {
@@ -3813,7 +3797,7 @@ class PodsUI {
3813
  <?php
3814
  if ( 0 < strlen( $screen_link ) ) {
3815
  ?>
3816
- <a href="<?php echo $screen_link; ?>" class="show-settings">Screen Options</a>
3817
  <?php
3818
  }
3819
  else {
@@ -3847,7 +3831,7 @@ class PodsUI {
3847
  }
3848
 
3849
  $total_pages = ceil( $this->total_found / $this->limit );
3850
- $request_uri = pods_var_update( array( 'pg' . $this->num => '' ), array( 'limit' . $this->num, 'orderby' . $this->num, 'orderby_dir' . $this->num, 'search' . $this->num, 'filter_*', 'view' . $this->num, 'page' . $this->num ), $this->exclusion() );
3851
 
3852
  $append = false;
3853
 
@@ -3858,26 +3842,31 @@ class PodsUI {
3858
  $singular_label = strtolower( $this->item );
3859
  $plural_label = strtolower( $this->items );
3860
  ?>
3861
- <span class="displaying-num"><?php echo number_format_i18n( $this->total_found ) . ' ' . _n( $singular_label, $plural_label, $this->total_found, 'pods' ) . $this->extra[ 'total' ] ?></span>
3862
  <?php
3863
  }
3864
 
3865
  if ( false !== $this->pagination ) {
3866
  if ( 1 < $total_pages ) {
3867
  ?>
3868
- <a class="first-page<?php echo ( 1 < $this->page ) ? '' : ' disabled'; ?>" title="<?php _e( 'Go to the first page', 'pods' ); ?>" href="<?php echo $request_uri . ( $append ? '&' : '?' ) . 'pg' . $this->num . '=1'; ?>">&laquo;</a>
3869
- <a class="prev-page<?php echo ( 1 < $this->page ) ? '' : ' disabled'; ?>" title="<?php _e( 'Go to the previous page', 'pods' ); ?>" href="<?php echo $request_uri . ( $append ? '&' : '?' ) . 'pg' . $this->num . '=' . max( $this->page - 1, 1 ); ?>">&lsaquo;</a>
3870
  <?php
3871
  if ( true == $header ) {
3872
  ?>
3873
- <span class="paging-input"><input class="current-page" title="<?php _e( 'Current page', 'pods' ); ?>" type="text" name="pg<?php echo $this->num; ?>" value="<?php echo $this->page; ?>" size="<?php echo strlen( $total_pages ); ?>"> <?php _e( 'of', 'pods' ); ?> <span class="total-pages"><?php echo $total_pages; ?></span></span>
3874
  <script>
3875
 
3876
  jQuery( document ).ready( function ( $ ) {
3877
  var pageInput = $( 'input.current-page' );
3878
  var currentPage = pageInput.val();
3879
  pageInput.closest( 'form' ).submit( function ( e ) {
3880
- if ( (1 > $( 'select[name="action"]' ).length || $( 'select[name="action"]' ).val() == -1) && (1 > $( 'select[name="action_bulk"]' ).length || $( 'select[name="action_bulk"]' ).val() == -1) && pageInput.val() == currentPage ) {
 
 
 
 
 
3881
  pageInput.val( '1' );
3882
  }
3883
  } );
@@ -3891,8 +3880,8 @@ class PodsUI {
3891
  <?php
3892
  }
3893
  ?>
3894
- <a class="next-page<?php echo ( $this->page < $total_pages ) ? '' : ' disabled'; ?>" title="<?php _e( 'Go to the next page', 'pods' ); ?>" href="<?php echo $request_uri . ( $append ? '&' : '?' ) . 'pg' . $this->num . '=' . min( $this->page + 1, $total_pages ); ?>">&rsaquo;</a>
3895
- <a class="last-page<?php echo ( $this->page < $total_pages ) ? '' : ' disabled'; ?>" title="<?php _e( 'Go to the last page', 'pods' ); ?>'" href="<?php echo $request_uri . ( $append ? '&' : '?' ) . 'pg' . $this->num . '=' . $total_pages; ?>">&raquo;</a>
3896
  <?php
3897
  }
3898
  }
@@ -3916,9 +3905,9 @@ class PodsUI {
3916
 
3917
  foreach ( $options as $option ) {
3918
  if ( $option == $this->limit )
3919
- echo " <span class=\"page-numbers current\">{$option}</span>";
3920
  else
3921
- echo ' <a href="' . pods_var_update( array( 'limit' => $option ), array( 'orderby' . $this->num, 'orderby_dir' . $this->num, 'search' . $this->num, 'filter_*', 'page' . $this->num ), $this->exclusion() ) . '">' . $option . '</a>';
3922
  }
3923
  }
3924
 
@@ -4018,13 +4007,13 @@ class PodsUI {
4018
  if ( is_array( $v ) ) {
4019
  foreach ( $v as $vk => $vv ) {
4020
  ?>
4021
- <input type="hidden" name="<?php echo $k; ?>[<?php echo $vk; ?>]" value="<?php echo $vv; ?>" />
4022
  <?php
4023
  }
4024
  }
4025
  else {
4026
  ?>
4027
- <input type="hidden" name="<?php echo $k; ?>" value="<?php echo $v; ?>" />
4028
  <?php
4029
  }
4030
  }
4
  */
5
  class PodsUI {
6
 
7
+ /**
8
+ * @var null Nonce for security
9
+ */
10
+ private $_nonce = null;
11
+
12
  // internal
13
  /**
14
  * @var bool|PodsData
73
  'action',
74
  'action_bulk',
75
  'action_bulk_ids',
76
+ '_wpnonce',
77
  'view',
78
  'export',
79
  'export_type',
433
  * @since 2.0
434
  */
435
  public function __construct ( $options, $deprecated = false ) {
436
+
437
+ $this->_nonce = pods_v( '_wpnonce', 'request' );
438
+
439
  $object = null;
440
 
441
  if ( is_object( $options ) ) {
856
  }
857
  $options->validate( 'sql', $this->sql, 'array_merge' );
858
 
859
+ $options->validate( 'orderby_dir', strtoupper( pods_v( 'orderby_dir' . $options[ 'num' ], 'get', $this->orderby_dir, true ) ), 'in_array', array( 'ASC', 'DESC' ) );
860
 
861
  $orderby = $this->orderby;
862
 
1278
  public function message ( $msg, $error = false ) {
1279
  $msg = $this->do_hook( ( $error ) ? 'error' : 'message', $msg );
1280
  ?>
1281
+ <div id="message" class="<?php echo esc_attr( ( $error ) ? 'error' : 'updated' ); ?> fade"><p><?php echo $msg; ?></p></div>
1282
  <?php
1283
  }
1284
 
1303
 
1304
  if ( false !== $this->css ) {
1305
  ?>
1306
+ <link type="text/css" rel="stylesheet" href="<?php echo esc_url( $this->css ); ?>" />
1307
  <?php
1308
  }
1309
  if ( false !== $this->wpcss ) {
1331
  $this->save();
1332
  $this->edit( ( 'duplicate' == $this->action && !in_array( $this->action, $this->actions_disabled ) ) ? true : false );
1333
  }
1334
+ elseif ( 'delete' == $this->action && !in_array( $this->action, $this->actions_disabled ) && false !== wp_verify_nonce( $this->_nonce, 'pods-ui-action-delete' ) ) {
1335
  $this->delete( $this->id );
1336
  $this->manage();
1337
  }
1368
  $row = $this->get_row();
1369
  }
1370
 
1371
+ if ( $this->restricted( $this->action, $row ) || ( $more_args && ! empty( $more_args[ 'nonce' ] ) && false === wp_verify_nonce( $this->_nonce, 'pods-ui-action-' . $this->action ) ) ) {
1372
  return $this->error( sprintf( __( '<strong>Error:</strong> You do not have access to this %s.', 'pods' ), $this->item ) );
1373
  }
1374
  elseif ( $more_args && false !== $this->callback_action( true, $this->action, $this->id, $row ) ) {
1402
  else
1403
  $value = $this->$setting;
1404
 
1405
+ pods_v_set( $value, $setting, $method );
1406
  }
1407
  }
1408
 
1420
  }
1421
  ?>
1422
  <div class="wrap pods-ui">
1423
+ <div id="icon-edit-pages" class="icon32"<?php if ( false !== $this->icon ) { ?> style="background-position:0 0;background-size:100%;background-image:url(<?php echo esc_url( $this->icon ); ?>);"<?php } ?>><br /></div>
1424
  <h2>
1425
  <?php
1426
  echo $this->header[ 'add' ];
1431
  $link = $this->action_links[ 'manage' ];
1432
  }
1433
  ?>
1434
+ <a href="<?php echo esc_url( $link ); ?>" class="add-new-h2">&laquo; <?php echo sprintf( __( 'Back to %s', 'pods' ), $this->heading[ 'manage' ] ); ?></a>
1435
  </h2>
1436
 
1437
  <?php $this->form( true ); ?>
1459
  }
1460
  ?>
1461
  <div class="wrap pods-ui">
1462
+ <div id="icon-edit-pages" class="icon32"<?php if ( false !== $this->icon ) { ?> style="background-position:0 0;background-size:100%;background-image:url(<?php echo esc_url( $this->icon ); ?>);"<?php } ?>><br /></div>
1463
  <h2>
1464
  <?php
1465
  echo $this->do_template( $duplicate ? $this->header[ 'duplicate' ] : $this->header[ 'edit' ] );
1466
 
1467
  if ( !in_array( 'add', $this->actions_disabled ) && !in_array( 'add', $this->actions_hidden ) ) {
1468
+ $link = pods_query_arg( array( 'action' . $this->num => 'add', 'id' . $this->num => '', 'do' . $this->num = '' ), self::$allowed, $this->exclusion() );
1469
 
1470
  if ( !empty( $this->action_links[ 'add' ] ) )
1471
  $link = $this->action_links[ 'add' ];
1472
  ?>
1473
+ <a href="<?php echo esc_url( $link ); ?>" class="add-new-h2"><?php echo $this->heading[ 'add' ]; ?></a>
1474
  <?php
1475
  }
1476
  elseif ( !in_array( 'manage', $this->actions_disabled ) && !in_array( 'manage', $this->actions_hidden ) ) {
1477
+ $link = pods_query_arg( array( 'action' . $this->num => 'manage', 'id' . $this->num => '' ), self::$allowed, $this->exclusion() );
1478
 
1479
  if ( !empty( $this->action_links[ 'manage' ] ) )
1480
  $link = $this->action_links[ 'manage' ];
1481
  ?>
1482
+ <a href="<?php echo esc_url( $link ); ?>" class="add-new-h2">&laquo; <?php echo sprintf( __( 'Back to %s', 'pods' ), $this->heading[ 'manage' ] ); ?></a>
1483
  <?php
1484
  }
1485
  ?>
1622
  $fields = $this->do_hook( 'form_fields', $fields, $this->pod );
1623
 
1624
  $pod =& $this->pod;
1625
+ $thank_you = pods_query_arg( $vars, self::$allowed, $this->exclusion() );
1626
+ $thank_you_alt = pods_query_arg( $alt_vars, self::$allowed, $this->exclusion() );
1627
  $obj =& $this;
1628
  $singular_label = $this->item;
1629
  $plural_label = $this->items;
1653
  }
1654
 
1655
  $pod =& $this->pod;
1656
+ $obj =& $this;
1657
 
1658
  $fields = array();
1659
 
1737
  unset( $view_fields ); // Cleanup
1738
  ?>
1739
  <div class="wrap pods-ui">
1740
+ <div id="icon-edit-pages" class="icon32"<?php if ( false !== $this->icon ) { ?> style="background-position:0 0;background-size:100%;background-image:url(<?php echo esc_url( $this->icon ); ?>);"<?php } ?>><br /></div>
1741
  <h2>
1742
  <?php
1743
  echo $this->do_template( $this->header[ 'view' ] );
1749
  $link = $this->action_links[ 'add' ];
1750
  }
1751
  ?>
1752
+ <a href="<?php echo esc_url( $link ); ?>" class="add-new-h2"><?php echo $this->heading[ 'add' ]; ?></a>
1753
  <?php
1754
  }
1755
  elseif ( !in_array( 'manage', $this->actions_disabled ) && !in_array( 'manage', $this->actions_hidden ) ) {
1759
  $link = $this->action_links[ 'manage' ];
1760
  }
1761
  ?>
1762
+ <a href="<?php echo esc_url( $link ); ?>" class="add-new-h2">&laquo; <?php echo sprintf( __( 'Back to %s', 'pods' ), $this->heading[ 'manage' ] ); ?></a>
1763
  <?php
1764
  }
1765
 
1957
  }
1958
 
1959
  if ( $success )
1960
+ pods_redirect( pods_query_arg( array( 'action_bulk' => 'delete', 'deleted_bulk' => 1 ), array( 'page', 'lang', 'action', 'id' ) ) );
1961
  else
1962
  $this->error( sprintf( __( "<strong>Error:</strong> %s has not been deleted.", 'pods' ), $this->item ) );
1963
  }
2060
  }
2061
 
2062
  /**
2063
+ * Get find() params based on current UI action
2064
  *
2065
+ * @param null|array $params
2066
+ * @param null|string $action
2067
  */
2068
+ public function get_params( $params = null, $action = null ) {
2069
+
2070
+ if ( null === $action ) {
2071
+ $action = $this->action;
2072
+ }
2073
 
2074
  $defaults = array(
2075
  'full' => false,
2086
  if ( !in_array( $action, array( 'manage', 'reorder' ) ) )
2087
  $action = 'manage';
2088
 
2089
+ $params_override = false;
 
2090
 
2091
+ $orderby = array();
2092
 
2093
+ $limit = $this->limit;
2094
 
2095
+ $sql = null;
 
 
 
 
2096
 
2097
+ if ( 'reorder' == $this->action ) {
2098
+ if ( ! empty( $this->reorder[ 'orderby' ] ) ) {
2099
+ $orderby[ $this->reorder[ 'orderby' ] ] = $this->reorder[ 'orderby_dir' ];
2100
+ } else {
2101
+ $orderby[ $this->reorder[ 'on' ] ] = $this->reorder[ 'orderby_dir' ];
2102
+ }
2103
 
2104
+ if ( ! empty( $this->reorder[ 'limit' ] ) ) {
2105
+ $limit = $this->reorder[ 'limit' ];
2106
+ }
2107
 
2108
+ if ( ! empty( $this->reorder[ 'sql' ] ) ) {
2109
+ $sql = $this->reorder[ 'sql' ];
2110
+ }
2111
+ }
2112
 
2113
+ if ( !empty( $this->orderby ) ) {
2114
+ $this->orderby = (array) $this->orderby;
2115
+
2116
+ foreach ( $this->orderby as $order ) {
2117
+ if ( false !== strpos( $order, ' ' ) ) {
2118
+ $orderby[] = $order;
2119
+ }
2120
+ elseif ( !isset( $orderby[ $order ] ) ) {
2121
+ $orderby[ $order ] = $this->orderby_dir;
2122
  }
2123
  }
2124
+ }
2125
 
2126
+ if ( false !== $this->pod && is_object( $this->pod ) && ( 'Pods' == get_class( $this->pod ) || 'Pod' == get_class( $this->pod ) ) ) {
2127
  $find_params = array(
2128
+ 'where' => pods_v( $action, $this->where, null, true ),
2129
  'orderby' => $orderby,
2130
  'page' => (int) $this->page,
2131
  'pagination' => true,
2138
  'sql' => $sql
2139
  );
2140
 
2141
+ $params_override = true;
2142
+ }
2143
+ else {
2144
+ $find_params = array(
2145
+ 'table' => $this->sql[ 'table' ],
2146
+ 'id' => $this->sql[ 'field_id' ],
2147
+ 'index' => $this->sql[ 'field_index' ],
2148
+ 'where' => pods_v( $action, $this->where, null, true ),
2149
+ 'orderby' => $orderby,
2150
+ 'page' => (int) $this->page,
2151
+ 'pagination' => true,
2152
+ 'limit' => (int) $limit,
2153
+ 'search' => $this->searchable,
2154
+ 'search_query' => $this->search,
2155
+ 'fields' => $this->fields[ 'search' ],
2156
+ 'sql' => $sql
2157
+ );
2158
+
2159
+ if ( ! empty( $this->sql['select'] ) ) {
2160
+ $find_params['select'] = $this->sql['select'];
2161
+ }
2162
+ }
2163
 
2164
+ if ( empty( $find_params[ 'where' ] ) && $this->restricted( $this->action ) )
2165
+ $find_params[ 'where' ] = $this->pods_data->query_fields( $this->restrict[ $this->action ], ( is_object( $this->pod ) ? $this->pod->pod_data : null ) );
2166
 
2167
+ if ( $params_override ) {
2168
  $find_params = array_merge( $find_params, (array) $this->params );
2169
+ }
2170
+
2171
+ if ( $params->full )
2172
+ $find_params[ 'limit' ] = -1;
2173
+
2174
+ // Debug purposes
2175
+ if ( 1 == pods_v( 'pods_debug_params', 'get', 0 ) && pods_is_admin( array( 'pods' ) ) )
2176
+ pods_debug( $find_params );
2177
+
2178
+ return $find_params;
2179
+ }
2180
+
2181
+ /**
2182
+ * @param bool $full Whether to get ALL data or use pagination
2183
+ *
2184
+ * @return bool
2185
+ */
2186
+ public function get_data ( $params = null ) {
2187
+ $action = $this->action;
2188
+
2189
+ $defaults = array(
2190
+ 'full' => false,
2191
+ 'flatten' => true,
2192
+ 'fields' => null,
2193
+ 'type' => ''
2194
+ );
2195
+
2196
+ if ( !empty( $params ) && is_array( $params ) )
2197
+ $params = (object) array_merge( $defaults, $params );
2198
+ else
2199
+ $params = (object) $defaults;
2200
+
2201
+ if ( !in_array( $action, array( 'manage', 'reorder' ) ) )
2202
+ $action = 'manage';
2203
 
2204
+ $find_params = $this->get_params( $params );
 
 
2205
 
2206
+ if ( false !== $this->pod && is_object( $this->pod ) && ( 'Pods' == get_class( $this->pod ) || 'Pod' == get_class( $this->pod ) ) ) {
2207
  $this->pod->find( $find_params );
2208
 
2209
  if ( !$params->full ) {
2211
 
2212
  $this->data = $data;
2213
 
2214
+ if ( !empty( $this->data ) ) {
2215
  $this->data_keys = array_keys( $this->data );
2216
+ }
2217
 
2218
  $this->total = $this->pod->total();
2219
  $this->total_found = $this->pod->total_found();
2247
  if ( empty( $this->sql[ 'table' ] ) )
2248
  return $this->data;
2249
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2250
  $this->pods_data->select( $find_params );
2251
 
2252
  if ( !$params->full ) {
2348
  }
2349
 
2350
  if ( !empty( $this->action_bulk ) && !empty( $this->actions_bulk ) && isset( $this->actions_bulk[ $this->action_bulk ] ) && !in_array( $this->action_bulk, $this->actions_disabled ) && !empty( $this->bulk ) ) {
2351
+ if ( empty( $_REQUEST[ '_wpnonce' . $this->num ] ) || false === wp_verify_nonce( $_REQUEST[ '_wpnonce' . $this->num ], 'pods-ui-action-bulk' ) ) {
2352
+ pods_message( __( 'Invalid bulk request, please try again.', 'pods' ) );
2353
+ }
2354
+ elseif ( false !== $this->callback_bulk( $this->action_bulk, $this->bulk ) ) {
2355
  return null;
2356
  }
2357
  elseif ( 'delete' == $this->action_bulk ) {
2365
  wp_enqueue_script( 'jquery-ui-sortable' );
2366
  ?>
2367
  <div class="wrap pods-admin pods-ui">
2368
+ <div id="icon-edit-pages" class="icon32"<?php if ( false !== $this->icon ) { ?> style="background-position:0 0;background-size:100%;background-image:url(<?php echo esc_url( $this->icon ); ?>);"<?php } ?>><br /></div>
2369
  <h2>
2370
  <?php
2371
  if ( true === $reorder ) {
2372
  echo $this->header[ 'reorder' ];
2373
 
2374
+ $link = pods_query_arg( array( 'action' . $this->num => 'manage', 'id' . $this->num => '' ), self::$allowed, $this->exclusion() );
2375
 
2376
  if ( !empty( $this->action_links[ 'manage' ] ) )
2377
  $link = $this->action_links[ 'manage' ];
2378
  ?>
2379
+ <small>(<a href="<?php echo esc_url( $link ); ?>">&laquo; <?php echo sprintf( __( 'Back to %s', 'pods' ), $this->heading[ 'manage' ] ); ?></a>)</small>
2380
  <?php
2381
  }
2382
  else
2383
  echo $this->header[ 'manage' ];
2384
 
2385
  if ( !in_array( 'add', $this->actions_disabled ) && !in_array( 'add', $this->actions_hidden ) ) {
2386
+ $link = pods_query_arg( array( 'action' . $this->num => 'add', 'id' . $this->num => '', 'do' . $this->num => '' ), self::$allowed, $this->exclusion() );
2387
 
2388
  if ( !empty( $this->action_links[ 'add' ] ) )
2389
  $link = $this->action_links[ 'add' ];
2390
  ?>
2391
+ <a href="<?php echo esc_url( $link ); ?>" class="add-new-h2"><?php echo $this->label[ 'add_new' ]; ?></a>
2392
  <?php
2393
  }
2394
  if ( !in_array( 'reorder', $this->actions_disabled ) && !in_array( 'reorder', $this->actions_hidden ) && false !== $this->reorder[ 'on' ] ) {
2395
+ $link = pods_query_arg( array( 'action' . $this->num => 'reorder' ), self::$allowed, $this->exclusion() );
2396
 
2397
  if ( !empty( $this->action_links[ 'reorder' ] ) )
2398
  $link = $this->action_links[ 'reorder' ];
2399
  ?>
2400
+ <a href="<?php echo esc_url( $link ); ?>" class="add-new-h2"><?php echo $this->label[ 'reorder' ]; ?></a>
2401
  <?php
2402
  }
2403
  ?>
2410
  'pg' . $this->num,
2411
  'action' . $this->num,
2412
  'action_bulk' . $this->num,
2413
+ 'action_bulk_ids' . $this->num,
2414
+ '_wpnonce' . $this->num
2415
  );
2416
 
2417
  $filters = $this->filters;
2509
  if ( !empty( $end ) && !in_array( $end, array( '0000-00-00', '0000-00-00 00:00:00', '00:00:00' ) ) )
2510
  $end = PodsForm::field_method( $filter_field[ 'type' ], 'convert_date', $end, 'n/j/Y' );
2511
  ?>
2512
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>_start">
2513
  <?php echo $filter_field[ 'label' ]; ?>
2514
  </label>
2515
  <?php echo PodsForm::field( 'filter_' . $filter . '_start', $start, $filter_field[ 'type' ], $filter_field ); ?>
2516
 
2517
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>_end">
2518
  to
2519
  </label>
2520
  <?php
2537
 
2538
  $options = array_merge( $filter_field, $filter_field[ 'options' ] );
2539
  ?>
2540
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>">
2541
  <?php echo $filter_field[ 'label' ]; ?>
2542
  </label>
2543
  <?php
2566
 
2567
  $options = array_merge( $filter_field, $filter_field[ 'options' ] );
2568
  ?>
2569
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>">
2570
  <?php echo $filter_field[ 'label' ]; ?>
2571
  </label>
2572
  <?php
2583
 
2584
  $options = array();
2585
  $options[ 'input_helper' ] = pods_var_raw( 'ui_input_helper', pods_var_raw( 'options', pods_var_raw( $filter, $this->fields[ 'search' ], array(), null, true ), array(), null, true ), '', null, true );
2586
+ $options[ 'input_helper' ] = pods_var_raw( 'ui_input_helper', $options, $options[ 'input_helper' ], null, true );
2587
  ?>
2588
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>">
2589
  <?php echo $filter_field[ 'label' ]; ?>
2590
  </label>
2591
  <?php
2595
 
2596
  if ( false !== $this->do_hook( 'filters_show_search', true ) ) {
2597
  ?>
2598
+ &nbsp;&nbsp; <label<?php echo ( empty( $this->filters ) ) ? ' class="screen-reader-text"' : ''; ?> for="page-search<?php echo esc_attr( $this->num ); ?>-input"><?php _e( 'Search', 'pods' ); ?>:</label>
2599
  <?php echo PodsForm::field( 'search' . $this->num, $this->search, 'text', array( 'attributes' => array( 'id' => 'page-search' . $this->num . '-input' ) ) ); ?>
2600
  <?php
2601
  }
2617
  }
2618
  ?>
2619
  <br class="clear" />
2620
+ <small>[<a href="<?php echo esc_url( pods_query_arg( $clear_filters, array( 'orderby' . $this->num, 'orderby_dir' . $this->num, 'limit' . $this->num, 'page' ), $this->exclusion() ) ); ?>"><?php _e( 'Reset Filters', 'pods' ); ?></a>]</small>
2621
  <br class="clear" />
2622
  <?php
2623
  }
2639
  if ( !empty( $this->data ) && !empty( $this->actions_bulk ) ) {
2640
  ?>
2641
  <div class="alignleft actions">
2642
+ <?php wp_nonce_field( 'pods-ui-action-bulk', '_wpnonce' . $this->num, false ); ?>
2643
+
2644
+ <select name="action_bulk<?php echo esc_attr( $this->num ); ?>">
2645
  <option value="-1" selected="selected"><?php _e( 'Bulk Actions', 'pods' ); ?></option>
2646
 
2647
  <?php
2658
  ?>
2659
  </select>
2660
 
2661
+ <input type="submit" id="doaction_bulk<?php echo esc_attr( $this->num ); ?>" class="button-secondary action" value="<?php esc_attr_e( 'Apply', 'pods' ); ?>">
2662
  </div>
2663
  <?php
2664
  }
2665
 
2666
  if ( true !== $reorder && ( false !== $this->pagination_total || false !== $this->pagination ) ) {
2667
  ?>
2668
+ <div class="tablenav-pages<?php echo esc_attr( ( $this->limit < $this->total_found || 1 < $this->page ) ? '' : ' one-page' ); ?>">
2669
  <?php $this->pagination( 1 ); ?>
2670
  </div>
2671
  <?php
2678
  $link = $this->action_links[ 'manage' ];
2679
  }
2680
  ?>
2681
+ <input type="button" value="<?php esc_attr_e( 'Update Order', 'pods' ); ?>" class="button" onclick="jQuery('form.admin_ui_reorder_form').submit();" />
2682
+ <input type="button" value="<?php esc_attr_e( 'Cancel', 'pods' ); ?>" class="button" onclick="document.location='<?php echo esc_js( $link ); ?>';" />
2683
  </form>
2684
  <?php
2685
  }
 
 
 
 
 
 
 
 
 
 
 
2686
  elseif ( !in_array( 'export', $this->actions_disabled ) && !in_array( 'export', $this->actions_hidden ) ) {
2687
  ?>
2688
  <div class="alignleft actions">
2690
  <?php
2691
  foreach ( $this->export[ 'formats' ] as $format => $separator ) {
2692
  ?>
2693
+ <input type="button" value=" <?php echo esc_attr( strtoupper( $format ) ); ?> " class="button" onclick="document.location='<?php echo pods_slash( pods_query_arg( array( 'action' . $this->num => 'export', 'export_type' . $this->num => $format, '_wpnonce' => wp_create_nonce( 'pods-ui-action-export' ) ), self::$allowed, $this->exclusion() ) ); ?>';" />
2694
  <?php
2695
  }
2696
  ?>
2721
  if ( true !== $reorder && ( false !== $this->pagination_total || false !== $this->pagination ) ) {
2722
  ?>
2723
  <div class="tablenav">
2724
+ <div class="tablenav-pages<?php echo esc_attr( ( $this->limit < $this->total_found || 1 < $this->page ) ? '' : ' one-page' ); ?>">
2725
  <?php $this->pagination( 0 ); ?>
2726
  <br class="clear" />
2727
  </div>
2781
  <?php
2782
  foreach ( $this->views as $view => $label ) {
2783
  if ( false === strpos( $label, '<a' ) ) {
2784
+ $link = pods_query_arg( array( 'view' . $this->num => $view, 'pg' . $this->num => '' ), self::$allowed, $this->exclusion() );
2785
 
2786
  if ( $this->view == $view )
2787
+ $label = '<a href="' . esc_url( $link ) . '" class="current">' . $label . '</a>';
2788
  else
2789
+ $label = '<a href="' . esc_url( $link ) . '">' . $label . '</a>';
2790
  }
2791
  ?>
2792
+ <li class="<?php echo esc_attr( $view ); ?>"><?php echo $label; ?></li>
2793
  <?php
2794
  }
2795
  ?>
2814
  $clear_filters[ 'filter_' . $filter ] = false;
2815
  }
2816
  ?>
2817
+ <a href="<?php echo esc_url( pods_query_arg( $clear_filters, array( 'orderby' . $this->num, 'orderby_dir' . $this->num, 'limit' . $this->num, 'page' ), $this->exclusion() ) ); ?>" class="pods-ui-filter-reset">[<?php _e( 'Reset', 'pods' ); ?>]</a>
2818
  <?php
2819
  }
2820
 
2821
  if ( false !== $this->do_hook( 'filters_show_search', true ) ) {
2822
  ?>
2823
+ &nbsp;&nbsp; <label class="screen-reader-text" for="page-search<?php echo esc_attr( $this->num ); ?>-input"><?php _e( 'Search', 'pods' ); ?>:</label>
2824
  <?php echo PodsForm::field( 'search' . $this->num, $this->search, 'text', array( 'attributes' => array( 'id' => 'page-search' . $this->num . '-input' ) ) ); ?>
2825
  <?php
2826
  }
2907
  if ( strlen( $value_label ) < 1 )
2908
  $value_label = $value;
2909
  ?>
2910
+ <li class="pods-ui-filter-bar-filter" data-filter="<?php echo esc_attr( $data_filter ); ?>">
2911
  <a href="#TB_inline?width=640&inlineId=pods-ui-posts-filter-popup" class="thickbox" title="<?php esc_attr_e( 'Advanced Filters', 'pods' ); ?>">
2912
  <strong><?php echo $filter_field[ 'label' ]; ?>:</strong>
2913
  <?php echo esc_html( $value_label ); ?>
2943
  jQuery( this ).remove();
2944
  } );
2945
 
2946
+ jQuery( 'form#posts-filter [name="pg<?php echo esc_attr( $this->num ); ?>"]' ).prop( 'disabled', true );
2947
+ jQuery( 'form#posts-filter [name="action<?php echo esc_attr( $this->num ); ?>"]' ).prop( 'disabled', true );
2948
+ jQuery( 'form#posts-filter [name="action_bulk<?php echo esc_attr( $this->num ); ?>"]' ).prop( 'disabled', true );
2949
+ jQuery( 'form#posts-filter [name="_wpnonce<?php echo esc_attr( $this->num ); ?>"]' ).prop( 'disabled', true );
2950
 
2951
  jQuery( 'form#posts-filter' ).submit();
2952
 
2971
  'pg' . $this->num,
2972
  'action' . $this->num,
2973
  'action_bulk' . $this->num,
2974
+ 'action_bulk_ids' . $this->num,
2975
+ '_wpnonce' . $this->num
2976
  );
2977
 
2978
  foreach ( $filters as $filter ) {
3009
  continue;
3010
  }
3011
  ?>
3012
+ <p class="pods-ui-posts-filter-toggled pods-ui-posts-filter-<?php echo esc_attr( $filter . ( $zebra ? ' clear' : '' ) ); ?>">
3013
  <?php
3014
  if ( in_array( $filter_field[ 'type' ], array( 'date', 'datetime', 'time' ) ) ) {
3015
  $start = pods_var_raw( 'filter_' . $filter . '_start', 'get', pods_var_raw( 'filter_default', $filter_field, '', null, true ), null, true );
3025
  if ( !empty( $end ) && !in_array( $end, array( '0000-00-00', '0000-00-00 00:00:00', '00:00:00' ) ) )
3026
  $end = PodsForm::field_method( $filter_field[ 'type' ], 'convert_date', $end, 'n/j/Y' );
3027
  ?>
3028
+ <span class="pods-ui-posts-filter-toggle toggle-on<?php echo esc_attr( ( empty( $start ) && empty( $end ) ) ? '' : ' hidden' ); ?>">+</span>
3029
+ <span class="pods-ui-posts-filter-toggle toggle-off<?php echo esc_attr( ( empty( $start ) && empty( $end ) ) ? ' hidden' : '' ); ?>"><?php _e( 'Clear', 'pods' ); ?></span>
3030
 
3031
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>_start">
3032
  <?php echo $filter_field[ 'label' ]; ?>
3033
  </label>
3034
 
3035
+ <span class="pods-ui-posts-filter<?php echo esc_attr( ( empty( $start ) && empty( $end ) ) ? ' hidden' : '' ); ?>">
3036
  <?php echo PodsForm::field( 'filter_' . $filter . '_start', $start, $filter_field[ 'type' ], $filter_field ); ?>
3037
 
3038
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>_end">to</label>
3039
  <?php echo PodsForm::field( 'filter_' . $filter . '_end', $end, $filter_field[ 'type' ], $filter_field ); ?>
3040
  </span>
3041
  <?php
3057
 
3058
  $options = array_merge( $filter_field, $filter_field[ 'options' ] );
3059
  ?>
3060
+ <span class="pods-ui-posts-filter-toggle toggle-on<?php echo esc_attr( empty( $value ) ? '' : ' hidden' ); ?>">+</span>
3061
+ <span class="pods-ui-posts-filter-toggle toggle-off<?php echo esc_attr( empty( $value ) ? ' hidden' : '' ); ?>"><?php _e( 'Clear', 'pods' ); ?></span>
3062
 
3063
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>">
3064
  <?php echo $filter_field[ 'label' ]; ?>
3065
  </label>
3066
 
3067
+ <span class="pods-ui-posts-filter<?php echo esc_attr( strlen( $value ) < 1 ? ' hidden' : '' ); ?>">
3068
  <?php echo PodsForm::field( 'filter_' . $filter, $value, 'pick', $options ); ?>
3069
  </span>
3070
  <?php
3092
 
3093
  $options = array_merge( $filter_field, $filter_field[ 'options' ] );
3094
  ?>
3095
+ <span class="pods-ui-posts-filter-toggle toggle-on<?php echo esc_attr( empty( $value ) ? '' : ' hidden' ); ?>">+</span>
3096
+ <span class="pods-ui-posts-filter-toggle toggle-off<?php echo esc_attr( empty( $value ) ? ' hidden' : '' ); ?>"><?php _e( 'Clear', 'pods' ); ?></span>
3097
 
3098
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>">
3099
  <?php echo $filter_field[ 'label' ]; ?>
3100
  </label>
3101
 
3102
+ <span class="pods-ui-posts-filter<?php echo esc_attr( strlen( $value ) < 1 ? ' hidden' : '' ); ?>">
3103
  <?php echo PodsForm::field( 'filter_' . $filter, $value, 'pick', $options ); ?>
3104
  </span>
3105
  <?php
3117
  if ( empty( $options[ 'input_helper' ] ) && isset( $filter_field[ 'options' ] ) && isset( $filter_field[ 'options' ][ 'input_helper' ] ) )
3118
  $options[ 'input_helper' ] = $filter_field[ 'options' ][ 'input_helper' ];
3119
  ?>
3120
+ <span class="pods-ui-posts-filter-toggle toggle-on<?php echo esc_attr( empty( $value ) ? '' : ' hidden' ); ?>">+</span>
3121
+ <span class="pods-ui-posts-filter-toggle toggle-off<?php echo esc_attr( empty( $value ) ? ' hidden' : '' ); ?>"><?php _e( 'Clear', 'pods' ); ?></span>
3122
 
3123
+ <label for="pods-form-ui-filter-<?php echo esc_attr( $filter ); ?>">
3124
  <?php echo $filter_field[ 'label' ]; ?>
3125
  </label>
3126
 
3127
+ <span class="pods-ui-posts-filter<?php echo esc_attr( empty( $value ) ? ' hidden' : '' ); ?>">
3128
  <?php echo PodsForm::field( 'filter_' . $filter, $value, 'text', $options ); ?>
3129
  </span>
3130
  <?php
3136
  }
3137
  ?>
3138
 
3139
+ <p class="pods-ui-posts-filter-toggled pods-ui-posts-filter-search<?php echo esc_attr( $zebra ? ' clear' : '' ); ?>">
3140
+ <label for="pods-form-ui-search<?php echo esc_attr( $this->num ); ?>"><?php _e( 'Search Text', 'pods' ); ?></label>
3141
  <?php echo PodsForm::field( 'search' . $this->num, pods_var_raw( 'search' . $this->num, 'get' ), 'text' ); ?>
3142
  </p>
3143
 
3144
  <?php $zebra = empty( $zebra ); ?>
3145
  </div>
3146
 
3147
+ <p class="submit<?php echo esc_attr( $zebra ? ' clear' : '' ); ?>"><input type="submit" value="<?php echo esc_attr( $this->header[ 'search' ] ); ?>" class="button button-primary" /></p>
3148
  </form>
3149
  </div>
3150
 
3209
  }
3210
 
3211
  .dragme {
3212
+ background: url(<?php echo esc_url( PODS_URL ); ?>/ui/images/handle.gif) no-repeat;
3213
  background-position: 8px 8px;
3214
  cursor: pointer;
3215
  }
3218
  margin-left: 30px;
3219
  }
3220
  </style>
3221
+ <form action="<?php echo esc_url( pods_query_arg( array( 'action' . $this->num => 'reorder', 'do' . $this->num => 'save', 'page' => pods_var_raw( 'page' ) ), self::$allowed, $this->exclusion() ) ); ?>" method="post" class="admin_ui_reorder_form">
3222
  <?php
3223
  }
3224
  $table_fields = $this->fields[ 'manage' ];
3266
 
3267
  $att_id = '';
3268
  if ( !empty( $id ) )
3269
+ $att_id = ' id="' . esc_attr( $id ) . '"';
3270
 
3271
  $width = '';
3272
 
3273
  if ( isset( $attributes[ 'width' ] ) && !empty( $attributes[ 'width' ] ) )
3274
+ $width = ' style="width: ' . esc_attr( $attributes[ 'width' ] ) . '"';
3275
 
3276
  if ( $fields[ $field ][ 'sortable' ] ) {
3277
  ?>
3278
+ <th scope="col"<?php echo $att_id; ?> class="manage-column column-<?php echo esc_attr( $id ); ?> sortable<?php echo esc_attr( $current_sort ); ?>"<?php echo $width; ?>>
3279
+ <a href="<?php echo esc_url_raw( pods_query_arg( array( 'orderby' . $this->num => $field, 'orderby_dir' . $this->num => $dir ), array( 'limit' . $this->num, 'search' . $this->num, 'pg' . $this->num, 'page' ), $this->exclusion() ) ); ?>"> <span><?php echo $attributes[ 'label' ]; ?></span> <span class="sorting-indicator"></span> </a>
3280
  </th>
3281
  <?php
3282
  }
3283
  else {
3284
  ?>
3285
+ <th scope="col"<?php echo $att_id; ?> class="manage-column column-<?php echo esc_attr( $id ); ?>"<?php echo $width; ?>><?php echo $attributes[ 'label' ]; ?></th>
3286
  <?php
3287
  }
3288
  }
3316
  $width = '';
3317
 
3318
  if ( isset( $attributes[ 'width' ] ) && !empty( $attributes[ 'width' ] ) )
3319
+ $width = ' style="width: ' . esc_attr( $attributes[ 'width' ] ) . '"';
3320
 
3321
  if ( $fields[ $field ][ 'sortable' ] ) {
3322
  ?>
3323
+ <th scope="col" class="manage-column column-<?php echo esc_attr( $id ); ?> sortable <?php echo esc_attr( $current_sort ); ?>"<?php echo $width; ?>><a href="<?php echo esc_url_raw( pods_query_arg( array( 'orderby' . $this->num => $field, 'orderby_dir' . $this->num => $dir ), array( 'limit' . $this->num, 'search' . $this->num, 'pg' . $this->num, 'page' ), $this->exclusion() ) ); ?>"><span><?php echo $attributes[ 'label' ]; ?></span><span class="sorting-indicator"></span></a></th>
3324
  <?php
3325
  }
3326
  else {
3327
  ?>
3328
+ <th scope="col" class="manage-column column-<?php echo esc_attr( $id ); ?>"<?php echo $width; ?>><?php echo $attributes[ 'label' ]; ?></th>
3329
  <?php
3330
  }
3331
  }
3354
  $toggle_class = ' pods-toggled-off';
3355
  }
3356
  ?>
3357
+ <tr id="item-<?php echo esc_attr( $row[ $this->sql[ 'field_id' ] ] ); ?>" class="iedit<?php echo esc_attr( $toggle_class ); ?>">
3358
  <?php
3359
  if ( !empty( $this->actions_bulk ) ) {
3360
  ?>
3361
+ <th scope="row" class="check-column"><input type="checkbox" name="action_bulk_ids<?php echo esc_attr( $this->num ); ?>[]" value="<?php echo esc_attr( $row[$this->sql['field_id']] ); ?>"></th>
3362
  <?php
3363
  }
3364
 
3475
  $default_action = $this->do_hook( 'default_action', 'edit', $row );
3476
 
3477
  if ( !in_array( 'edit', $this->actions_disabled ) && !in_array( 'edit', $this->actions_hidden ) && ( false === $reorder || in_array( 'reorder', $this->actions_disabled ) || false === $this->reorder[ 'on' ] ) && 'edit' == $default_action ) {
3478
+ $link = pods_query_arg( array( 'action' . $this->num => 'edit', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3479
 
3480
  if ( !empty( $this->action_links[ 'edit' ] ) )
3481
  $link = $this->do_template( $this->action_links[ 'edit' ], $row );
3482
  ?>
3483
+ <td class="post-title page-title column-title<?php echo esc_attr( $css_classes ); ?>"><strong><a class="row-title" href="<?php echo esc_url_raw( $link ); ?>" title="<?php esc_attr_e( 'Edit this item', 'pods' ); ?>"><?php echo $row_value; ?></a></strong>
3484
  <?php
3485
  }
3486
  elseif ( !in_array( 'view', $this->actions_disabled ) && !in_array( 'view', $this->actions_hidden ) && ( false === $reorder || in_array( 'reorder', $this->actions_disabled ) || false === $this->reorder[ 'on' ] ) && 'view' == $default_action ) {
3487
+ $link = pods_query_arg( array( 'action' . $this->num => 'view', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3488
 
3489
  if ( !empty( $this->action_links[ 'view' ] ) )
3490
  $link = $this->do_template( $this->action_links[ 'view' ], $row );
3491
  ?>
3492
+ <td class="post-title page-title column-title<?php echo esc_attr( $css_classes ); ?>"><strong><a class="row-title" href="<?php echo esc_url_raw( $link ); ?>" title="<?php esc_attr_e( 'View this item', 'pods' ); ?>"><?php echo $row_value; ?></a></strong>
3493
  <?php
3494
  }
3495
  else {
3496
  ?>
3497
+ <td class="post-title page-title column-title<?php echo esc_attr( $css_classes ); ?><?php echo esc_attr( ( 1 == $reorder && $this->reorder ) ? ' dragme' : '' ); ?>"><strong><?php echo $row_value; ?></strong>
3498
  <?php
3499
  }
3500
 
3503
  $actions = array();
3504
 
3505
  if ( !in_array( 'view', $this->actions_disabled ) && !in_array( 'view', $this->actions_hidden ) ) {
3506
+ $link = pods_query_arg( array( 'action' . $this->num => 'view', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3507
 
3508
  if ( !empty( $this->action_links[ 'view' ] ) )
3509
  $link = $this->do_template( $this->action_links[ 'view' ], $row );
3510
 
3511
+ $actions[ 'view' ] = '<span class="view"><a href="' . esc_url( $link ) . '" title="' . esc_attr__( 'View this item', 'pods' ) . '">' . __( 'View', 'pods' ) . '</a></span>';
3512
  }
3513
 
3514
  if ( !in_array( 'edit', $this->actions_disabled ) && !in_array( 'edit', $this->actions_hidden ) && !$this->restricted( 'edit', $row ) ) {
3515
+ $link = pods_query_arg( array( 'action' . $this->num => 'edit', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3516
 
3517
  if ( !empty( $this->action_links[ 'edit' ] ) )
3518
  $link = $this->do_template( $this->action_links[ 'edit' ], $row );
3519
 
3520
+ $actions[ 'edit' ] = '<span class="edit"><a href="' . esc_url( $link ) . '" title="' . esc_attr__( 'Edit this item', 'pods' ) . '">' . __( 'Edit', 'pods' ) . '</a></span>';
3521
  }
3522
 
3523
  if ( !in_array( 'duplicate', $this->actions_disabled ) && !in_array( 'duplicate', $this->actions_hidden ) && !$this->restricted( 'edit', $row ) ) {
3524
+ $link = pods_query_arg( array( 'action' . $this->num => 'duplicate', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ] ), self::$allowed, $this->exclusion() );
3525
 
3526
  if ( !empty( $this->action_links[ 'duplicate' ] ) )
3527
  $link = $this->do_template( $this->action_links[ 'duplicate' ], $row );
3528
 
3529
+ $actions[ 'duplicate' ] = '<span class="edit"><a href="' . esc_url( $link ) . '" title="' . esc_attr__( 'Duplicate this item', 'pods' ) . '">' . __( 'Duplicate', 'pods' ) . '</a></span>';
3530
  }
3531
 
3532
  if ( !in_array( 'delete', $this->actions_disabled ) && !in_array( 'delete', $this->actions_hidden ) && !$this->restricted( 'delete', $row ) ) {
3533
+ $link = pods_query_arg( array( 'action' . $this->num => 'delete', 'id' . $this->num => $row[ $this->sql[ 'field_id' ] ], '_wpnonce' => wp_create_nonce( 'pods-ui-action-delete' ) ), self::$allowed, $this->exclusion() );
3534
 
3535
+ if ( !empty( $this->action_links[ 'delete' ] ) ) {
3536
+ $link = add_query_arg( array( '_wpnonce' => wp_create_nonce( 'pods-ui-action-delete' ) ), $this->do_template( $this->action_links[ 'delete' ], $row ) );
3537
+ }
3538
 
3539
+ $actions[ 'delete' ] = '<span class="delete"><a href="' . esc_url( $link ) . '" title="' . esc_attr__( 'Delete this item', 'pods' ) . '" class="submitdelete" onclick="if(confirm(\'' . esc_attr__( 'You are about to permanently delete this item\n Choose \\\'Cancel\\\' to stop, \\\'OK\\\' to delete.', 'pods' ) . '\')){return true;}return false;">' . __( 'Delete', 'pods' ) . '</a></span>';
3540
  }
3541
 
3542
  if ( is_array( $this->actions_custom ) ) {
3559
  if ( !isset( $custom_data[ 'link' ] ) ) {
3560
  $vars = array(
3561
  'action' => $custom_action,
3562
+ 'id' => $row[ $this->sql[ 'field_id' ] ],
3563
+ '_wpnonce' => wp_create_nonce( 'pods-ui-action-' . $custom_action )
3564
  );
3565
 
3566
  if ( 'toggle' == $custom_action ) {
3568
  $vars[ 'toggled' ] = 1;
3569
  }
3570
 
3571
+ $custom_data[ 'link' ] = pods_query_arg( $vars, self::$allowed, $this->exclusion() );
3572
 
3573
+ if ( isset( $this->action_links[ $custom_action ] ) && !empty( $this->action_links[ $custom_action ] ) ) {
3574
+ $custom_data[ 'link' ] = add_query_arg( array( '_wpnonce' => wp_create_nonce( 'pods-ui-action-' . $custom_action ) ), $this->do_template( $this->action_links[ $custom_action ], $row ) );
3575
+ }
3576
  }
3577
 
3578
  $confirm = '';
3579
 
3580
  if ( isset( $custom_data[ 'confirm' ] ) )
3581
+ $confirm = ' onclick="if(confirm(\'' . esc_js( $custom_data[ 'confirm' ] ) . '\')){return true;}return false;"';
3582
 
3583
  if ( $this->restricted( $custom_action, $row ) ) {
3584
  continue;
3585
  }
3586
 
3587
+ $actions[ $custom_action ] = '<span class="edit action-' . esc_attr( $custom_action ) . '"><a href="' . esc_url( $this->do_template( $custom_data[ 'link' ], $row ) ) . '" title="' . esc_attr( $custom_data[ 'label' ] ) . ' this item"' . $confirm . '>' . $custom_data[ 'label' ] . '</a></span>';
3588
  }
3589
  }
3590
  }
3594
 
3595
  if ( !empty( $actions ) ) {
3596
  ?>
3597
+ <div class="row-actions<?php echo esc_attr( $toggle ? ' row-actions-toggle' : '' ); ?>">
3598
  <?php
3599
  $this->callback( 'actions_start', $row, $actions );
3600
 
3608
  }
3609
  else {
3610
  ?>
3611
+ <input type="hidden" name="order[]" value="<?php echo esc_attr( $row[ $this->sql[ 'field_id' ] ] ); ?>" />
3612
  <?php
3613
  }
3614
  ?>
3617
  }
3618
  elseif ( 'date' == $attributes[ 'type' ] ) {
3619
  ?>
3620
+ <td class="date column-date<?php echo esc_attr( $css_classes ); ?>"><abbr title="<?php echo esc_attr( $row_value ); ?>"><?php echo $row_value; ?></abbr></td>
3621
  <?php
3622
  }
3623
  else {
3624
  ?>
3625
+ <td class="author<?php echo esc_attr( $css_classes ); ?>"><span><?php echo $row_value; ?></span></td>
3626
  <?php
3627
  }
3628
  }
3729
  if ( false === $attributes[ 'display' ] || true === $attributes[ 'hidden' ] )
3730
  continue;
3731
  ?>
3732
+ <label for="<?php echo esc_attr( $field ); ?>-hide">
3733
+ <input class="hide-column-tog" name="<?php echo esc_attr( $this->unique_identifier ); ?>_<?php echo esc_attr( $field ); ?>-hide" type="checkbox" id="<?php echo esc_attr( $field ); ?>-hide" value="<?php echo esc_attr( $field ); ?>" checked="checked"><?php echo $attributes[ 'label' ]; ?></label>
3734
  <?php
3735
  }
3736
  ?>
3744
  <?php
3745
  if ( true === $this->pagination ) {
3746
  ?>
3747
+ <input type="text" class="screen-per-page" name="wp_screen_options[value]" id="<?php echo esc_attr( $this->unique_identifier ); ?>_per_page" maxlength="3" value="20"> <label for="<?php echo esc_attr( $this->unique_identifier ); ?>_per_page"><?php echo $this->items; ?> per page</label>
3748
  <?php
3749
  }
3750
  $this->do_hook( 'screen_meta_screen_submit' );
3751
  ?>
3752
+ <input type="submit" name="screen-options-apply" id="screen-options-apply" class="button" value="<?php esc_attr_e( 'Apply', 'pods' ); ?>">
3753
+ <input type="hidden" name="wp_screen_options[option]" value="<?php echo esc_attr( $this->unique_identifier ); ?>_per_page">
3754
  <?php wp_nonce_field( 'screen-options-nonce', 'screenoptionnonce', false ); ?>
3755
  </div>
3756
  <?php
3779
  <?php
3780
  if ( 0 < strlen( $help_link ) ) {
3781
  ?>
3782
+ <a href="<?php echo esc_url( $help_link ); ?>" class="show-settings">Help</a>
3783
  <?php
3784
  }
3785
  else {
3797
  <?php
3798
  if ( 0 < strlen( $screen_link ) ) {
3799
  ?>
3800
+ <a href="<?php echo esc_url( $screen_link ); ?>" class="show-settings">Screen Options</a>
3801
  <?php
3802
  }
3803
  else {
3831
  }
3832
 
3833
  $total_pages = ceil( $this->total_found / $this->limit );
3834
+ $request_uri = pods_query_arg( array( 'pg' . $this->num => '' ), array( 'limit' . $this->num, 'orderby' . $this->num, 'orderby_dir' . $this->num, 'search' . $this->num, 'filter_*', 'view' . $this->num, 'page' . $this->num ), $this->exclusion() );
3835
 
3836
  $append = false;
3837
 
3842
  $singular_label = strtolower( $this->item );
3843
  $plural_label = strtolower( $this->items );
3844
  ?>
3845
+ <span class="displaying-num"><?php echo number_format_i18n( $this->total_found ) . ' ' . _n( $singular_label, $plural_label, $this->total_found, 'pods' ) . $this->extra[ 'total' ]; ?></span>
3846
  <?php
3847
  }
3848
 
3849
  if ( false !== $this->pagination ) {
3850
  if ( 1 < $total_pages ) {
3851
  ?>
3852
+ <a class="first-page<?php echo esc_attr( ( 1 < $this->page ) ? '' : ' disabled' ); ?>" title="<?php esc_attr_e( 'Go to the first page', 'pods' ); ?>" href="<?php echo esc_url( $request_uri . ( $append ? '&' : '?' ) . 'pg' . $this->num . '=1' ); ?>">&laquo;</a>
3853
+ <a class="prev-page<?php echo esc_attr( ( 1 < $this->page ) ? '' : ' disabled' ); ?>" title="<?php esc_attr_e( 'Go to the previous page', 'pods' ); ?>" href="<?php echo esc_url( $request_uri . ( $append ? '&' : '?' ) . 'pg' . $this->num . '=' . max( $this->page - 1, 1 ) ); ?>">&lsaquo;</a>
3854
  <?php
3855
  if ( true == $header ) {
3856
  ?>
3857
+ <span class="paging-input"><input class="current-page" title="<?php esc_attr_e( 'Current page', 'pods' ); ?>" type="text" name="pg<?php echo esc_attr( $this->num ); ?>" value="<?php echo esc_attr( $this->page ); ?>" size="<?php echo esc_attr( strlen( $total_pages ) ); ?>"> <?php _e( 'of', 'pods' ); ?> <span class="total-pages"><?php echo $total_pages; ?></span></span>
3858
  <script>
3859
 
3860
  jQuery( document ).ready( function ( $ ) {
3861
  var pageInput = $( 'input.current-page' );
3862
  var currentPage = pageInput.val();
3863
  pageInput.closest( 'form' ).submit( function ( e ) {
3864
+ if (
3865
+ ( 1 > $( 'select[name="action<?php echo esc_attr( $this->num ); ?>"]' ).length
3866
+ || $( 'select[name="action<?php echo esc_attr( $this->num ); ?>"]' ).val() == -1 )
3867
+ && ( 1 > $( 'select[name="action_bulk<?php echo esc_attr( $this->num ); ?>"]' ).length
3868
+ || $( 'select[name="action_bulk<?php echo esc_attr( $this->num ); ?>"]' ).val() == -1 )
3869
+ && pageInput.val() == currentPage ) {
3870
  pageInput.val( '1' );
3871
  }
3872
  } );
3880
  <?php
3881
  }
3882
  ?>
3883
+ <a class="next-page<?php echo esc_attr( ( $this->page < $total_pages ) ? '' : ' disabled' ); ?>" title="<?php esc_attr_e( 'Go to the next page', 'pods' ); ?>" href="<?php echo esc_url( $request_uri . ( $append ? '&' : '?' ) . 'pg' . $this->num . '=' . min( $this->page + 1, $total_pages ) ); ?>">&rsaquo;</a>
3884
+ <a class="last-page<?php echo esc_attr( ( $this->page < $total_pages ) ? '' : ' disabled' ); ?>" title="<?php esc_attr_e( 'Go to the last page', 'pods' ); ?>'" href="<?php echo esc_url( $request_uri . ( $append ? '&' : '?' ) . 'pg' . $this->num . '=' . $total_pages ); ?>">&raquo;</a>
3885
  <?php
3886
  }
3887
  }
3905
 
3906
  foreach ( $options as $option ) {
3907
  if ( $option == $this->limit )
3908
+ echo ' <span class="page-numbers current">' . esc_html( $option ) . '</span>';
3909
  else
3910
+ echo ' <a href="' . esc_url( pods_query_arg( array( 'limit' => $option ), array( 'orderby' . $this->num, 'orderby_dir' . $this->num, 'search' . $this->num, 'filter_*', 'page' . $this->num ), $this->exclusion() ) ) . '">' . esc_html( $option ) . '</a>';
3911
  }
3912
  }
3913
 
4007
  if ( is_array( $v ) ) {
4008
  foreach ( $v as $vk => $vv ) {
4009
  ?>
4010
+ <input type="hidden" name="<?php echo esc_attr( $k ); ?>[<?php echo esc_attr( $vk ); ?>]" value="<?php echo esc_attr( $vv ); ?>" />
4011
  <?php
4012
  }
4013
  }
4014
  else {
4015
  ?>
4016
+ <input type="hidden" name="<?php echo esc_attr( $k ); ?>" value="<?php echo esc_attr( $v ); ?>" />
4017
  <?php
4018
  }
4019
  }
classes/PodsView.php CHANGED
@@ -460,7 +460,7 @@ class PodsView {
460
  wp_cache_flush();
461
  }
462
  else {
463
- wp_cache_delete( ( empty( $key ) ? 'pods_view' : $key ), 'pods_view' );
464
  }
465
  }
466
  elseif ( 'option-cache' == $cache_mode ) {
@@ -573,7 +573,6 @@ class PodsView {
573
 
574
  // Keep it safe
575
  $_view = trim( str_replace( array( '../', '\\' ), array( '', '/' ), (string) $_view ) );
576
- $_view = preg_replace( '/\/+/', '/', $_view );
577
 
578
  if ( empty( $_view ) ) {
579
  return false;
@@ -587,13 +586,27 @@ class PodsView {
587
 
588
  $located = false;
589
 
590
- if ( false === strpos( $_real_view, realpath( WP_PLUGIN_DIR ) ) && false === strpos( $_real_view, realpath( WPMU_PLUGIN_DIR ) ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
591
  $_real_view = trim( $_real_view, '/' );
592
 
593
  if ( empty( $_real_view ) ) {
594
  return false;
595
  }
596
 
 
597
  if ( file_exists( realpath( get_stylesheet_directory() . '/' . $_real_view ) ) ) {
598
  $located = realpath( get_stylesheet_directory() . '/' . $_real_view );
599
  }
@@ -601,15 +614,9 @@ class PodsView {
601
  $located = realpath( get_template_directory() . '/' . $_real_view );
602
  }
603
  }
604
- // Allow includes within plugins directory too for plugins utilizing this
605
- elseif ( file_exists( $_view ) ) {
606
- $located = $_view;
607
- }
608
- else {
609
- $located = apply_filters( 'pods_view_locate_template', $located, $_view );
610
- }
611
 
612
  return $located;
 
613
  }
614
 
615
  /**
460
  wp_cache_flush();
461
  }
462
  else {
463
+ wp_cache_delete( ( empty( $key ) ? 'pods_view' : $key ), ( empty( $group ) ? 'pods_view' : $group ) );
464
  }
465
  }
466
  elseif ( 'option-cache' == $cache_mode ) {
573
 
574
  // Keep it safe
575
  $_view = trim( str_replace( array( '../', '\\' ), array( '', '/' ), (string) $_view ) );
 
576
 
577
  if ( empty( $_view ) ) {
578
  return false;
586
 
587
  $located = false;
588
 
589
+ // Is the view's file somewhere within the plugin directory tree?
590
+ // Note: we explicitly whitelist PODS_DIR for the case of symlinks (see issue #2945)
591
+ if ( false !== strpos( $_real_view, realpath( WP_PLUGIN_DIR ) ) ||
592
+ false !== strpos( $_real_view, realpath( WPMU_PLUGIN_DIR ) ) ||
593
+ false !== strpos( $_real_view, PODS_DIR )
594
+ ) {
595
+ if ( file_exists( $_view ) ) {
596
+ $located = $_view;
597
+ }
598
+ else {
599
+ $located = apply_filters( 'pods_view_locate_template', $located, $_view );
600
+ }
601
+
602
+ } else { // The view's file is outside the plugin directory
603
  $_real_view = trim( $_real_view, '/' );
604
 
605
  if ( empty( $_real_view ) ) {
606
  return false;
607
  }
608
 
609
+ // Allow views in the theme or child theme
610
  if ( file_exists( realpath( get_stylesheet_directory() . '/' . $_real_view ) ) ) {
611
  $located = realpath( get_stylesheet_directory() . '/' . $_real_view );
612
  }
614
  $located = realpath( get_template_directory() . '/' . $_real_view );
615
  }
616
  }
 
 
 
 
 
 
 
617
 
618
  return $located;
619
+
620
  }
621
 
622
  /**
classes/fields/avatar.php CHANGED
@@ -298,6 +298,14 @@ class PodsField_Avatar extends PodsField {
298
  * @return string <img> tag for the user's avatar
299
  */
300
  public function get_avatar ( $avatar, $id_or_email, $size, $default = '', $alt ='' ) {
 
 
 
 
 
 
 
 
301
  $_user_ID = 0;
302
 
303
  if ( is_numeric( $id_or_email ) && 0 < $id_or_email )
298
  * @return string <img> tag for the user's avatar
299
  */
300
  public function get_avatar ( $avatar, $id_or_email, $size, $default = '', $alt ='' ) {
301
+ // Don't replace for the Avatars section of the Discussion settings page
302
+ if ( is_admin() ) {
303
+ $current_screen = get_current_screen();
304
+ if ( ! is_null( $current_screen ) && 'options-discussion' == $current_screen->id && 32 == $size ) {
305
+ return $avatar;
306
+ }
307
+ }
308
+
309
  $_user_ID = 0;
310
 
311
  if ( is_numeric( $id_or_email ) && 0 < $id_or_email )
classes/fields/color.php CHANGED
@@ -107,12 +107,14 @@ class PodsField_Color extends PodsField {
107
  if ( is_array( $value ) )
108
  $value = implode( ' ', $value );
109
 
110
- // Farbtastic for below 3.5
111
- if ( pods_version_check( 'wp', '3.5', '>' ) )
112
- $field_type = 'farbtastic';
113
  // WP Color Picker for 3.5+
114
- else
115
  $field_type = 'color';
 
 
 
 
 
116
 
117
  if ( isset( $options[ 'name' ] ) && false === PodsForm::permission( self::$type, $options[ 'name' ], $options, null, $pod, $id ) ) {
118
  if ( pods_v( 'read_only', $options, false ) ) {
107
  if ( is_array( $value ) )
108
  $value = implode( ' ', $value );
109
 
 
 
 
110
  // WP Color Picker for 3.5+
111
+ if ( pods_version_check( 'wp', '3.5' ) ) {
112
  $field_type = 'color';
113
+ }
114
+ // Farbtastic for below 3.5
115
+ else {
116
+ $field_type = 'farbtastic';
117
+ }
118
 
119
  if ( isset( $options[ 'name' ] ) && false === PodsForm::permission( self::$type, $options[ 'name' ], $options, null, $pod, $id ) ) {
120
  if ( pods_v( 'read_only', $options, false ) ) {
classes/fields/currency.php CHANGED
@@ -271,7 +271,7 @@ class PodsField_Currency extends PodsField {
271
  }
272
 
273
  if ( 0 < $decimals ) {
274
- $format = '%01.' . $decimals . 'f';
275
  }
276
  else {
277
  $format = '%d';
@@ -626,6 +626,11 @@ class PodsField_Currency extends PodsField {
626
 
627
  global $wp_locale;
628
 
 
 
 
 
 
629
  if ( '9.999,99' == pods_v( self::$type . '_format', $options ) ) {
630
  $thousands = '.';
631
  $dot = ',';
@@ -661,7 +666,7 @@ class PodsField_Currency extends PodsField {
661
  $length = 64;
662
  }
663
 
664
- $decimals = (int) pods_v( self::$type . '_decimals', $options, 2, true );
665
 
666
  if ( $decimals < 1 ) {
667
  $decimals = 0;
271
  }
272
 
273
  if ( 0 < $decimals ) {
274
+ $format = '%01.' . $decimals . 'F';
275
  }
276
  else {
277
  $format = '%d';
626
 
627
  global $wp_locale;
628
 
629
+ if ( null === $value ) {
630
+ // Don't enforce a default value here
631
+ return null;
632
+ }
633
+
634
  if ( '9.999,99' == pods_v( self::$type . '_format', $options ) ) {
635
  $thousands = '.';
636
  $dot = ',';
666
  $length = 64;
667
  }
668
 
669
+ $decimals = (int) pods_v( self::$type . '_decimals', $options, 2 );
670
 
671
  if ( $decimals < 1 ) {
672
  $decimals = 0;
classes/fields/file.php CHANGED
@@ -236,7 +236,7 @@ class PodsField_File extends PodsField {
236
 
237
  foreach ( $attachments as $v ) {
238
  if ( !is_array( $v ) )
239
- $values[] = $v;
240
  elseif ( isset( $v[ 'ID' ] ) )
241
  $value[] = wp_get_attachment_url( $v[ 'ID' ] );
242
  }
@@ -477,8 +477,12 @@ class PodsField_File extends PodsField {
477
  if ( empty( $id ) )
478
  $id = '{{id}}';
479
 
480
- if ( empty( $icon ) )
481
- $icon = '{{icon}}';
 
 
 
 
482
 
483
  if ( empty( $name ) )
484
  $name = '{{name}}';
@@ -489,7 +493,7 @@ class PodsField_File extends PodsField {
489
  $editable = (boolean) $editable;
490
  $linked = (boolean) $linked;
491
  ?>
492
- <li class="pods-file hidden" id="pods-file-<?php echo $id ?>">
493
  <?php echo PodsForm::field( $attributes[ 'name' ] . '[' . $id . '][id]', $id, 'hidden' ); ?>
494
 
495
  <ul class="pods-file-meta media-item">
@@ -515,7 +519,7 @@ class PodsField_File extends PodsField {
515
  <?php
516
  if ( $linked ) {
517
  ?>
518
- <li class="pods-file-col pods-file-download"><a href="<?php echo $link; ?>" target="_blank">Download</a></li>
519
  <?php
520
  }
521
  ?>
@@ -602,6 +606,8 @@ class PodsField_File extends PodsField {
602
 
603
  $api = pods_api();
604
 
 
 
605
  if ( !empty( $params->pod ) ) {
606
  $pod = $api->load_pod( array( 'id' => (int) $params->pod ) );
607
  $field = $api->load_field( array( 'id' => (int) $params->field ) );
236
 
237
  foreach ( $attachments as $v ) {
238
  if ( !is_array( $v ) )
239
+ $value[] = $v;
240
  elseif ( isset( $v[ 'ID' ] ) )
241
  $value[] = wp_get_attachment_url( $v[ 'ID' ] );
242
  }
477
  if ( empty( $id ) )
478
  $id = '{{id}}';
479
 
480
+ if ( empty( $icon ) ) {
481
+ $icon = '{{icon}}';
482
+ }else{
483
+ $icon = esc_url( $icon );
484
+ }
485
+
486
 
487
  if ( empty( $name ) )
488
  $name = '{{name}}';
493
  $editable = (boolean) $editable;
494
  $linked = (boolean) $linked;
495
  ?>
496
+ <li class="pods-file hidden" id="pods-file-<?php echo esc_attr( $id ); ?>">
497
  <?php echo PodsForm::field( $attributes[ 'name' ] . '[' . $id . '][id]', $id, 'hidden' ); ?>
498
 
499
  <ul class="pods-file-meta media-item">
519
  <?php
520
  if ( $linked ) {
521
  ?>
522
+ <li class="pods-file-col pods-file-download"><a href="<?php echo esc_url( $link ); ?>" target="_blank">Download</a></li>
523
  <?php
524
  }
525
  ?>
606
 
607
  $api = pods_api();
608
 
609
+ $api->display_errors = false;
610
+
611
  if ( !empty( $params->pod ) ) {
612
  $pod = $api->load_pod( array( 'id' => (int) $params->pod ) );
613
  $field = $api->load_field( array( 'id' => (int) $params->field ) );
classes/fields/number.php CHANGED
@@ -450,6 +450,11 @@ class PodsField_Number extends PodsField {
450
  public function format ( $value = null, $name = null, $options = null, $pod = null, $id = null ) {
451
  global $wp_locale;
452
 
 
 
 
 
 
453
  if ( '9.999,99' == pods_var( self::$type . '_format', $options ) ) {
454
  $thousands = '.';
455
  $dot = ',';
450
  public function format ( $value = null, $name = null, $options = null, $pod = null, $id = null ) {
451
  global $wp_locale;
452
 
453
+ if ( null === $value ) {
454
+ // Don't enforce a default value here
455
+ return null;
456
+ }
457
+
458
  if ( '9.999,99' == pods_var( self::$type . '_format', $options ) ) {
459
  $thousands = '.';
460
  $dot = ',';
classes/fields/pick.php CHANGED
@@ -68,7 +68,31 @@ class PodsField_Pick extends PodsField {
68
  */
69
  protected static $api = false;
70
 
71
- /**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  * Setup related objects list
73
  *
74
  * @since 2.0
@@ -311,15 +335,27 @@ class PodsField_Pick extends PodsField {
311
  * Setup related objects
312
  *
313
  * @param boolean $force Whether to force refresh of related objects
314
- *
315
  * @since 2.3
316
  */
317
  public function setup_related_objects ( $force = false ) {
318
- $related_objects = pods_transient_get( 'pods_related_objects' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
319
 
320
- if ( !$force && !empty( $related_objects ) )
321
- self::$related_objects = $related_objects;
322
- else {
323
  // Custom
324
  self::$related_objects[ 'custom-simple' ] = array(
325
  'label' => __( 'Simple (custom defined list)', 'pods' ),
@@ -513,8 +549,12 @@ class PodsField_Pick extends PodsField {
513
  }
514
 
515
  foreach ( self::$custom_related_objects as $object => $related_object ) {
516
- self::$related_objects[ $object ] = $related_object;
 
 
 
517
  }
 
518
  }
519
 
520
  /**
@@ -526,18 +566,21 @@ class PodsField_Pick extends PodsField {
526
  * @since 2.3
527
  */
528
  public function related_objects ( $force = false ) {
529
- $this->setup_related_objects( $force );
 
530
 
531
- $related_objects = array();
 
 
 
532
 
533
- foreach ( self::$related_objects as $related_object_name => $related_object ) {
534
- if ( !isset( $related_objects[ $related_object[ 'group' ] ] ) )
535
- $related_objects[ $related_object[ 'group' ] ] = array();
536
 
537
- $related_objects[ $related_object[ 'group' ] ][ $related_object_name ] = $related_object[ 'label' ];
538
  }
539
 
540
- return (array) apply_filters( 'pods_form_ui_field_pick_related_objects', $related_objects );
541
  }
542
 
543
  /**
@@ -547,18 +590,20 @@ class PodsField_Pick extends PodsField {
547
  * @since 2.3
548
  */
549
  public function simple_objects () {
550
- $this->setup_related_objects();
 
551
 
552
- $simple_objects = array();
 
 
553
 
554
- foreach ( self::$related_objects as $object => $related_object ) {
555
- if ( !isset( $related_object[ 'simple' ] ) || !$related_object[ 'simple' ] )
556
- continue;
557
 
558
- $simple_objects[] = $object;
559
- }
560
 
561
- return (array) apply_filters( 'pods_form_ui_field_pick_simple_objects', $simple_objects );
562
  }
563
 
564
  /**
@@ -568,18 +613,20 @@ class PodsField_Pick extends PodsField {
568
  * @since 2.3.4
569
  */
570
  public function bidirectional_objects () {
571
- $this->setup_related_objects();
 
572
 
573
- $bidirectional_objects = array();
 
 
574
 
575
- foreach ( self::$related_objects as $object => $related_object ) {
576
- if ( !isset( $related_object[ 'bidirectional' ] ) || !$related_object[ 'bidirectional' ] )
577
- continue;
578
 
579
- $bidirectional_objects[] = $object;
580
  }
581
 
582
- return (array) apply_filters( 'pods_form_ui_field_pick_bidirectional_objects', $bidirectional_objects );
583
  }
584
 
585
  /**
@@ -616,10 +663,19 @@ class PodsField_Pick extends PodsField {
616
  public function display ( $value = null, $name = null, $options = null, $pod = null, $id = null ) {
617
  $fields = null;
618
 
619
- if ( is_object( $pod ) && isset( $pod->fields ) && isset( $pod->pod_data[ 'object_fields' ] ) )
620
- $fields = array_merge( $pod->fields, $pod->pod_data[ 'object_fields' ] );
621
- elseif ( is_array( $pod ) && isset( $pod[ 'fields' ] ) )
622
- $fields = array_merge( $pod[ 'fields' ], $pod[ 'object_fields' ] );
 
 
 
 
 
 
 
 
 
623
 
624
  return pods_serial_comma( $value, array( 'field' => $name, 'fields' => $fields ) );
625
  }
@@ -1401,6 +1457,8 @@ class PodsField_Pick extends PodsField {
1401
 
1402
  if ( 'table' == $options[ 'table_info' ][ 'pod' ][ 'storage' ] && !in_array( $options[ 'table_info' ][ 'pod' ][ 'type' ], array( 'pod', 'table' ) ) )
1403
  $params[ 'select' ] = "`t`.`{$search_data->field_id}`, `d`.`{$search_data->field_index}`";
 
 
1404
  else
1405
  $params[ 'select' ] = "`t`.`{$search_data->field_id}`, `t`.`{$search_data->field_index}`";
1406
  }
@@ -1516,7 +1574,7 @@ class PodsField_Pick extends PodsField {
1516
  if ( empty( $role ) || ( pods_clean_name( $role ) != $role && sanitize_title( $role ) != $role ) )
1517
  continue;
1518
 
1519
- $where[] = 'wp_' . ( ( is_multisite() && !is_main_site() ) ? get_current_blog_id() . '_' : '' ) . 'capabilities.meta_value LIKE "%\"' . pods_sanitize_like( $role ) . '\"%"';
1520
  }
1521
 
1522
  if ( !empty( $where ) ) {
68
  */
69
  protected static $api = false;
70
 
71
+ /**
72
+ * Saved array of simple relationship names
73
+ *
74
+ * @var array
75
+ * @since 2.5
76
+ */
77
+ private static $names_simple = null;
78
+
79
+ /**
80
+ * Saved array of relationship names
81
+ *
82
+ * @var array
83
+ * @since 2.5
84
+ */
85
+ private static $names_related = null;
86
+
87
+ /**
88
+ * Saved array of bidirectional relationship names
89
+ *
90
+ * @var array
91
+ * @since 2.5
92
+ */
93
+ private static $names_bidirectional = null;
94
+
95
+ /**
96
  * Setup related objects list
97
  *
98
  * @since 2.0
335
  * Setup related objects
336
  *
337
  * @param boolean $force Whether to force refresh of related objects
338
+ * @return bool True when data has been loaded
339
  * @since 2.3
340
  */
341
  public function setup_related_objects ( $force = false ) {
342
+ $new_data_loaded = false;
343
+
344
+ if ( ! $force && empty( self::$related_objects ) ) {
345
+ // Only load transient if we aren't forcing a refresh
346
+ self::$related_objects = pods_transient_get( 'pods_related_objects' );
347
+ if ( false !== self::$related_objects ) {
348
+ $new_data_loaded = true;
349
+ }
350
+ } elseif ( $force ) {
351
+ // If we are rebuilding, make sure we start with a clean slate
352
+ self::$related_objects = array();
353
+ }
354
+
355
+ if ( empty( self::$related_objects ) ) {
356
+ // Do a complete build of related_objects
357
+ $new_data_loaded = true;
358
 
 
 
 
359
  // Custom
360
  self::$related_objects[ 'custom-simple' ] = array(
361
  'label' => __( 'Simple (custom defined list)', 'pods' ),
549
  }
550
 
551
  foreach ( self::$custom_related_objects as $object => $related_object ) {
552
+ if ( ! isset( self::$related_objects[ $object ] ) ) {
553
+ $new_data_loaded = true;
554
+ self::$related_objects[ $object ] = $related_object;
555
+ }
556
  }
557
+ return $new_data_loaded;
558
  }
559
 
560
  /**
566
  * @since 2.3
567
  */
568
  public function related_objects ( $force = false ) {
569
+ if ( $this->setup_related_objects( $force ) || null === self::$names_related ) {
570
+ $related_objects = array();
571
 
572
+ foreach ( self::$related_objects as $related_object_name => $related_object ) {
573
+ if ( ! isset( $related_objects[ $related_object[ 'group' ] ] ) ) {
574
+ $related_objects[ $related_object[ 'group' ] ] = array();
575
+ }
576
 
577
+ $related_objects[ $related_object[ 'group' ] ][ $related_object_name ] = $related_object[ 'label' ];
578
+ }
 
579
 
580
+ self::$names_related = (array) apply_filters( 'pods_form_ui_field_pick_related_objects', $related_objects );
581
  }
582
 
583
+ return self::$names_related;
584
  }
585
 
586
  /**
590
  * @since 2.3
591
  */
592
  public function simple_objects () {
593
+ if ( $this->setup_related_objects() || null === self::$names_simple ) {
594
+ $simple_objects = array();
595
 
596
+ foreach ( self::$related_objects as $object => $related_object ) {
597
+ if ( !isset( $related_object[ 'simple' ] ) || !$related_object[ 'simple' ] )
598
+ continue;
599
 
600
+ $simple_objects[] = $object;
601
+ }
 
602
 
603
+ self::$names_simple = (array) apply_filters( 'pods_form_ui_field_pick_simple_objects', $simple_objects );
604
+ }
605
 
606
+ return self::$names_simple;
607
  }
608
 
609
  /**
613
  * @since 2.3.4
614
  */
615
  public function bidirectional_objects () {
616
+ if ( $this->setup_related_objects() || null === self::$names_bidirectional ) {
617
+ $bidirectional_objects = array();
618
 
619
+ foreach ( self::$related_objects as $object => $related_object ) {
620
+ if ( !isset( $related_object[ 'bidirectional' ] ) || !$related_object[ 'bidirectional' ] )
621
+ continue;
622
 
623
+ $bidirectional_objects[] = $object;
624
+ }
 
625
 
626
+ self::$names_bidirectional = (array) apply_filters( 'pods_form_ui_field_pick_bidirectional_objects', $bidirectional_objects );
627
  }
628
 
629
+ return self::$names_bidirectional;
630
  }
631
 
632
  /**
663
  public function display ( $value = null, $name = null, $options = null, $pod = null, $id = null ) {
664
  $fields = null;
665
 
666
+ if ( is_object( $pod ) && isset( $pod->fields ) ) {
667
+ $fields = $pod->fields;
668
+
669
+ if ( ! empty( $pod->pod_data[ 'object_fields' ] ) ) {
670
+ $fields = array_merge( $fields, $pod->pod_data[ 'object_fields' ] );
671
+ }
672
+ } elseif ( is_array( $pod ) && isset( $pod[ 'fields' ] ) ) {
673
+ $fields = $pod[ 'fields' ];
674
+
675
+ if ( ! empty( $pod[ 'object_fields' ] ) ) {
676
+ $fields = array_merge( $fields, $pod[ 'object_fields' ] );
677
+ }
678
+ }
679
 
680
  return pods_serial_comma( $value, array( 'field' => $name, 'fields' => $fields ) );
681
  }
1457
 
1458
  if ( 'table' == $options[ 'table_info' ][ 'pod' ][ 'storage' ] && !in_array( $options[ 'table_info' ][ 'pod' ][ 'type' ], array( 'pod', 'table' ) ) )
1459
  $params[ 'select' ] = "`t`.`{$search_data->field_id}`, `d`.`{$search_data->field_index}`";
1460
+ elseif ( 'meta' == $options[ 'table_info' ][ 'pod' ][ 'storage' ] )
1461
+ $params[ 'select' ] = "`t`.`{$search_data->field_id}`, `{$search_data->field_index}`.`meta_value` AS {$search_data->field_index}";
1462
  else
1463
  $params[ 'select' ] = "`t`.`{$search_data->field_id}`, `t`.`{$search_data->field_index}`";
1464
  }
1574
  if ( empty( $role ) || ( pods_clean_name( $role ) != $role && sanitize_title( $role ) != $role ) )
1575
  continue;
1576
 
1577
+ $where[] = $wpdb->base_prefix . ( ( is_multisite() && !is_main_site() ) ? get_current_blog_id() . '_' : '' ) . 'capabilities.meta_value LIKE "%\"' . pods_sanitize_like( $role ) . '\"%"';
1578
  }
1579
 
1580
  if ( !empty( $where ) ) {
classes/widgets/PodsWidgetField.php CHANGED
@@ -4,16 +4,30 @@
4
  */
5
  class PodsWidgetField extends WP_Widget {
6
 
7
- /**
8
- * Register the widget
9
- */
10
- public function PodsWidgetField () {
11
- $this->WP_Widget(
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  'pods_widget_field',
13
  'Pods - Field Value',
14
  array( 'classname' => 'pods_widget_field', 'description' => "Display a single Pod item's field value" ),
15
  array( 'width' => 200 )
16
  );
 
17
  }
18
 
19
  /**
4
  */
5
  class PodsWidgetField extends WP_Widget {
6
 
7
+ /**
8
+ * Register the widget
9
+ *
10
+ * @since 2.5.4
11
+ *
12
+ * Note: params are totally ignored. Included for the sake of strict standards.
13
+ *
14
+ *
15
+ * @param string $id_base Optional Base ID for the widget, lowercase and unique. If left empty,
16
+ * a portion of the widget's class name will be used Has to be unique.
17
+ * @param string $name Name for the widget displayed on the configuration page.
18
+ * @param array $widget_options Optional. Widget options. See {@see wp_register_sidebar_widget()} for
19
+ * information on accepted arguments. Default empty array.
20
+ * @param array $control_options Optional. Widget control options. See {@see wp_register_widget_control()}
21
+ * for information on accepted arguments. Default empty array.
22
+ */
23
+ public function __construct( $id_base = 'pods_widget_field', $name = 'Pods - Field Value', $widget_options = array(), $control_options = array() ) {
24
+ parent::__construct(
25
  'pods_widget_field',
26
  'Pods - Field Value',
27
  array( 'classname' => 'pods_widget_field', 'description' => "Display a single Pod item's field value" ),
28
  array( 'width' => 200 )
29
  );
30
+
31
  }
32
 
33
  /**
classes/widgets/PodsWidgetForm.php CHANGED
@@ -4,13 +4,30 @@
4
  */
5
  class PodsWidgetForm extends WP_Widget {
6
 
7
- public function PodsWidgetForm () {
8
- $this->WP_Widget(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  'pods_widget_form',
10
  'Pods - Form',
11
  array( 'classname' => 'pods_widget_form', 'description' => 'Display a form for creating and editing Pod items' ),
12
  array( 'width' => 200 )
13
  );
 
14
  }
15
 
16
  public function widget ( $args, $instance ) {
4
  */
5
  class PodsWidgetForm extends WP_Widget {
6
 
7
+ /**
8
+ * Register the widget
9
+ *
10
+ * @since 2.5.4
11
+ *
12
+ * Note: params are totally ignored. Included for the sake of strict standards.
13
+ *
14
+ *
15
+ * @param string $id_base Optional Base ID for the widget, lowercase and unique. If left empty,
16
+ * a portion of the widget's class name will be used Has to be unique.
17
+ * @param string $name Name for the widget displayed on the configuration page.
18
+ * @param array $widget_options Optional. Widget options. See {@see wp_register_sidebar_widget()} for
19
+ * information on accepted arguments. Default empty array.
20
+ * @param array $control_options Optional. Widget control options. See {@see wp_register_widget_control()}
21
+ * for information on accepted arguments. Default empty array.
22
+ */
23
+ public function __construct( $id_base = 'pods_widget_form', $name = 'Pods - Form', $widget_options = array(), $control_options = array() ) {
24
+ parent::__construct(
25
  'pods_widget_form',
26
  'Pods - Form',
27
  array( 'classname' => 'pods_widget_form', 'description' => 'Display a form for creating and editing Pod items' ),
28
  array( 'width' => 200 )
29
  );
30
+
31
  }
32
 
33
  public function widget ( $args, $instance ) {
classes/widgets/PodsWidgetList.php CHANGED
@@ -4,16 +4,30 @@
4
  */
5
  class PodsWidgetList extends WP_Widget {
6
 
7
- /**
8
- * Register the widget
9
- */
10
- public function PodsWidgetList () {
11
- $this->WP_Widget(
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  'pods_widget_list',
13
  'Pods - List Items',
14
  array( 'classname' => 'pods_widget_list', 'description' => 'Display multiple Pod items' ),
15
  array( 'width' => 200 )
16
  );
 
17
  }
18
 
19
  /**
4
  */
5
  class PodsWidgetList extends WP_Widget {
6
 
7
+ /**
8
+ * Register the widget
9
+ *
10
+ * @since 2.5.4
11
+ *
12
+ * Note: params are totally ignored. Included for the sake of strict standards.
13
+ *
14
+ *
15
+ * @param string $id_base Optional Base ID for the widget, lowercase and unique. If left empty,
16
+ * a portion of the widget's class name will be used Has to be unique.
17
+ * @param string $name Name for the widget displayed on the configuration page.
18
+ * @param array $widget_options Optional. Widget options. See {@see wp_register_sidebar_widget()} for
19
+ * information on accepted arguments. Default empty array.
20
+ * @param array $control_options Optional. Widget control options. See {@see wp_register_widget_control()}
21
+ * for information on accepted arguments. Default empty array.
22
+ */
23
+ public function __construct( $id_base = 'pods_widget_list', $name = 'Pods - List Items', $widget_options = array(), $control_options = array() ) {
24
+ parent::__construct(
25
  'pods_widget_list',
26
  'Pods - List Items',
27
  array( 'classname' => 'pods_widget_list', 'description' => 'Display multiple Pod items' ),
28
  array( 'width' => 200 )
29
  );
30
+
31
  }
32
 
33
  /**
classes/widgets/PodsWidgetSingle.php CHANGED
@@ -4,11 +4,24 @@
4
  */
5
  class PodsWidgetSingle extends WP_Widget {
6
 
7
- /**
8
- * Register the widget
9
- */
10
- public function PodsWidgetSingle () {
11
- $this->WP_Widget(
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  'pods_widget_single',
13
  'Pods - Single Item',
14
  array( 'classname' => 'pods_widget_single', 'description' => 'Display a Single Pod Item' ),
4
  */
5
  class PodsWidgetSingle extends WP_Widget {
6
 
7
+ /**
8
+ * Register the widget
9
+ *
10
+ * @since 2.5.4
11
+ *
12
+ * Note: params are totally ignored. Included for the sake of strict standards.
13
+ *
14
+ *
15
+ * @param string $id_base Optional Base ID for the widget, lowercase and unique. If left empty,
16
+ * a portion of the widget's class name will be used Has to be unique.
17
+ * @param string $name Name for the widget displayed on the configuration page.
18
+ * @param array $widget_options Optional. Widget options. See {@see wp_register_sidebar_widget()} for
19
+ * information on accepted arguments. Default empty array.
20
+ * @param array $control_options Optional. Widget control options. See {@see wp_register_widget_control()}
21
+ * for information on accepted arguments. Default empty array.
22
+ */
23
+ public function __construct( $id_base = 'pods_widget_single', $name = 'Pods - Single Item', $widget_options = array(), $control_options = array() ) {
24
+ parent::__construct(
25
  'pods_widget_single',
26
  'Pods - Single Item',
27
  array( 'classname' => 'pods_widget_single', 'description' => 'Display a Single Pod Item' ),
classes/widgets/PodsWidgetView.php CHANGED
@@ -4,16 +4,30 @@
4
  */
5
  class PodsWidgetView extends WP_Widget {
6
 
7
- /**
8
- * Register the widget
9
- */
10
- public function PodsWidgetView () {
11
- $this->WP_Widget(
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  'pods_widget_view',
13
  'Pods - View',
14
  array( 'classname' => 'pods_widget_view', 'description' => "Include a file from a theme, with caching options" ),
15
  array( 'width' => 200 )
16
  );
 
17
  }
18
 
19
  /**
4
  */
5
  class PodsWidgetView extends WP_Widget {
6
 
7
+ /**
8
+ * Register the widget
9
+ *
10
+ * @since 2.5.4
11
+ *
12
+ * Note: params are totally ignored. Included for the sake of strict standards.
13
+ *
14
+ *
15
+ * @param string $id_base Optional Base ID for the widget, lowercase and unique. If left empty,
16
+ * a portion of the widget's class name will be used Has to be unique.
17
+ * @param string $name Name for the widget displayed on the configuration page.
18
+ * @param array $widget_options Optional. Widget options. See {@see wp_register_sidebar_widget()} for
19
+ * information on accepted arguments. Default empty array.
20
+ * @param array $control_options Optional. Widget control options. See {@see wp_register_widget_control()}
21
+ * for information on accepted arguments. Default empty array.
22
+ */
23
+ public function __construct( $id_base = 'pods_widget_view', $name = 'Pods - View', $widget_options = array(), $control_options = array() ) {
24
+ parent::__construct(
25
  'pods_widget_view',
26
  'Pods - View',
27
  array( 'classname' => 'pods_widget_view', 'description' => "Include a file from a theme, with caching options" ),
28
  array( 'width' => 200 )
29
  );
30
+
31
  }
32
 
33
  /**
components/Helpers.php CHANGED
@@ -58,7 +58,7 @@ class Pods_Helpers extends PodsComponent {
58
  'has_archive' => false,
59
  'hierarchical' => false,
60
  'supports' => array( 'title', 'author', 'revisions' ),
61
- 'menu_icon' => PODS_URL . 'ui/images/icon16.png'
62
  );
63
 
64
  if ( !pods_is_admin() )
58
  'has_archive' => false,
59
  'hierarchical' => false,
60
  'supports' => array( 'title', 'author', 'revisions' ),
61
+ 'menu_icon' => 'dashicons-pods'
62
  );
63
 
64
  if ( !pods_is_admin() )
components/Migrate-CPTUI/Migrate-CPTUI.php CHANGED
@@ -21,20 +21,49 @@ if ( class_exists( 'Pods_Migrate_CPTUI' ) )
21
 
22
  class Pods_Migrate_CPTUI extends PodsComponent {
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  private $api = null;
25
 
26
- private $post_types = null;
 
 
 
 
27
 
28
- private $taxonomies = null;
29
 
30
  /**
31
  * Do things like register scripts and stylesheets
32
  *
33
  * @since 2.0
34
  */
35
- public function __construct () {
36
- $this->post_types = (array) get_option( 'cpt_custom_post_types', array() );
37
- $this->taxonomies = (array) get_option( 'cpt_custom_tax_types', array() );
 
 
 
 
 
 
 
38
  }
39
 
40
  /**
@@ -106,15 +135,25 @@ class Pods_Migrate_CPTUI extends PodsComponent {
106
  }
107
 
108
  if ( 1 == pods_var( 'cleanup', $params, 0 ) ) {
109
- if ( !empty( $post_types ) )
110
- update_option( 'cpt_custom_post_types', $post_types );
111
- else
112
- delete_option( 'cpt_custom_post_types' );
113
-
114
- if ( !empty( $taxonomies ) )
115
- update_option( 'cpt_custom_tax_types', $taxonomies );
116
- else
117
- delete_option( 'cpt_custom_tax_types' );
 
 
 
 
 
 
 
 
 
 
118
  }
119
  }
120
 
@@ -199,7 +238,7 @@ class Pods_Migrate_CPTUI extends PodsComponent {
199
  return false;
200
 
201
  if ( $pod[ 'name' ] != $params[ 'name' ] )
202
- $this->api->rename_wp_object( $params[ 'type ' ], $params[ 'name' ], $pod[ 'name' ] );
203
 
204
  return $id;
205
  }
@@ -265,7 +304,7 @@ class Pods_Migrate_CPTUI extends PodsComponent {
265
  return false;
266
 
267
  if ( $pod[ 'name' ] != $params[ 'name' ] )
268
- $this->api->rename_wp_object( $params[ 'type ' ], $params[ 'name' ], $pod[ 'name' ] );
269
 
270
  return $id;
271
  }
@@ -274,8 +313,35 @@ class Pods_Migrate_CPTUI extends PodsComponent {
274
  *
275
  * @since 2.0
276
  */
277
- public function clean () {
278
- delete_option( 'cpt_custom_post_types' );
279
- delete_option( 'cpt_custom_tax_types' );
 
 
 
 
 
 
 
280
  }
281
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
  class Pods_Migrate_CPTUI extends PodsComponent {
23
 
24
+ /** @var array
25
+ *
26
+ * Support option names for multiple versions, list from newest to oldest
27
+ */
28
+ private $post_option_name_list = array(
29
+ 'cptui_post_types',
30
+ 'cpt_custom_post_types'
31
+ );
32
+
33
+ /** @var array
34
+ *
35
+ * Support option names for multiple versions, list from newest to oldest
36
+ */
37
+ private $taxonomy_option_name_list = array(
38
+ 'cptui_taxonomies',
39
+ 'cpt_custom_tax_types'
40
+ );
41
+
42
  private $api = null;
43
 
44
+ private $post_option_name = null;
45
+
46
+ private $taxonomy_option_name = null;
47
+
48
+ private $post_types = array();
49
 
50
+ private $taxonomies = array();
51
 
52
  /**
53
  * Do things like register scripts and stylesheets
54
  *
55
  * @since 2.0
56
  */
57
+ public function __construct() {
58
+
59
+ $this->post_option_name = $this->get_option_name( $this->post_option_name_list );
60
+ if ( ! is_null( $this->post_option_name ) ) {
61
+ $this->post_types = (array) get_option( $this->post_option_name, array() );
62
+ }
63
+ $this->taxonomy_option_name = $this->get_option_name( $this->taxonomy_option_name_list );
64
+ if ( ! is_null( $this->taxonomy_option_name ) ) {
65
+ $this->taxonomies = (array) get_option( $this->taxonomy_option_name, array() );
66
+ }
67
  }
68
 
69
  /**
135
  }
136
 
137
  if ( 1 == pods_var( 'cleanup', $params, 0 ) ) {
138
+ if ( ! empty( $post_types ) ) {
139
+ if ( ! is_null( $this->post_option_name ) ) {
140
+ update_option( $this->post_option_name, $post_types );
141
+ }
142
+ } else {
143
+ if ( ! is_null( $this->post_option_name ) ) {
144
+ delete_option( $this->post_option_name );
145
+ }
146
+ }
147
+
148
+ if ( ! empty( $taxonomies ) ) {
149
+ if ( ! is_null( $this->taxonomy_option_name ) ) {
150
+ update_option( $this->taxonomy_option_name, $taxonomies );
151
+ }
152
+ } else {
153
+ if ( ! is_null( $this->taxonomy_option_name ) ) {
154
+ delete_option( $this->taxonomy_option_name );
155
+ }
156
+ }
157
  }
158
  }
159
 
238
  return false;
239
 
240
  if ( $pod[ 'name' ] != $params[ 'name' ] )
241
+ $this->api->rename_wp_object_type( $params[ 'type ' ], $params[ 'name' ], $pod[ 'name' ] );
242
 
243
  return $id;
244
  }
304
  return false;
305
 
306
  if ( $pod[ 'name' ] != $params[ 'name' ] )
307
+ $this->api->rename_wp_object_type( $params[ 'type ' ], $params[ 'name' ], $pod[ 'name' ] );
308
 
309
  return $id;
310
  }
313
  *
314
  * @since 2.0
315
  */
316
+ public function clean() {
317
+
318
+ if ( ! is_null( $this->post_option_name ) ) {
319
+ delete_option( $this->post_option_name );
320
+ }
321
+
322
+ if ( ! is_null( $this->taxonomy_option_name ) ) {
323
+ delete_option( $this->taxonomy_option_name );
324
+ }
325
+
326
  }
327
+
328
+ /**
329
+ * @param array $option_name_list List of possible option names.
330
+ *
331
+ * @return null|string The first found option name, or NULL if none were found
332
+ */
333
+ private function get_option_name( $option_name_list ) {
334
+
335
+ $option_name_list = (array) $option_name_list;
336
+
337
+ foreach ( $option_name_list as $this_option_name ) {
338
+ if ( null !== get_option( $this_option_name, null ) ) {
339
+ return $this_option_name;
340
+ }
341
+ }
342
+
343
+ return null;
344
+
345
+ }
346
+
347
+ }
components/Migrate-CPTUI/ui/wizard.php CHANGED
@@ -1,6 +1,6 @@
1
  <div class="wrap pods-admin">
2
  <script>
3
- var PODS_URL = '<?php echo PODS_URL; ?>';
4
  </script>
5
  <div id="icon-pods" class="icon32"><br /></div>
6
 
@@ -14,7 +14,7 @@
14
 
15
  <h2 class="italicized"><?php _e( 'Migrate: Import from Custom Post Type UI', 'pods' ); ?></h2>
16
 
17
- <img src="<?php echo PODS_URL; ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" />
18
 
19
  <div id="pods-wizard-box" class="pods-wizard-steps-2 pods-wizard-hide-first">
20
  <div id="pods-wizard-heading">
1
  <div class="wrap pods-admin">
2
  <script>
3
+ var PODS_URL = '<?php echo esc_js( PODS_URL ); ?>';
4
  </script>
5
  <div id="icon-pods" class="icon32"><br /></div>
6
 
14
 
15
  <h2 class="italicized"><?php _e( 'Migrate: Import from Custom Post Type UI', 'pods' ); ?></h2>
16
 
17
+ <img src="<?php echo esc_url( PODS_URL ); ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" />
18
 
19
  <div id="pods-wizard-box" class="pods-wizard-steps-2 pods-wizard-hide-first">
20
  <div id="pods-wizard-heading">
components/Migrate-Packages/ui/wizard.php CHANGED
@@ -1,6 +1,6 @@
1
  <div class="wrap pods-admin">
2
  <script>
3
- var PODS_URL = '<?php echo PODS_URL; ?>';
4
  </script>
5
  <div id="icon-pods" class="icon32"><br /></div>
6
 
@@ -14,7 +14,7 @@
14
 
15
  <h2 class="italicized"><?php _e( 'Migrate: Packages', 'pods' ); ?></h2>
16
 
17
- <img src="<?php echo PODS_URL; ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" />
18
 
19
  <div id="pods-wizard-box" class="pods-wizard-steps-2" data-step-process="1">
20
  <div id="pods-wizard-heading">
@@ -114,7 +114,7 @@
114
  <div class="inside pods-manage-field pods-dependency">
115
  <div class="pods-field-option-group">
116
  <p>
117
- <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo $data_name; ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
118
  </p>
119
 
120
  <div class="pods-pick-values pods-pick-checkbox pods-zebra">
@@ -129,7 +129,7 @@
129
 
130
  $zebra = ( !$zebra );
131
  ?>
132
- <li class="pods-zebra-<?php echo $class; ?>">
133
  <?php echo PodsForm::field( $data_name . '[' . $item[ 'id' ] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item[ 'name' ] . ( !empty( $item[ 'label' ] ) ? ' (' . $item[ 'label' ] . ')' : '' ) ) ); ?>
134
  </li>
135
  <?php
@@ -153,7 +153,7 @@
153
  <div class="inside pods-manage-field pods-dependency">
154
  <div class="pods-field-option-group">
155
  <p>
156
- <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo $data_name; ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
157
  </p>
158
 
159
  <div class="pods-pick-values pods-pick-checkbox pods-zebra">
@@ -168,7 +168,7 @@
168
 
169
  $zebra = ( !$zebra );
170
  ?>
171
- <li class="pods-zebra-<?php echo $class; ?>">
172
  <?php echo PodsForm::field( $data_name . '[' . $item[ 'id' ] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item[ 'name' ] . ( !empty( $item[ 'label' ] ) ? ' (' . $item[ 'label' ] . ')' : '' ) ) ); ?>
173
  </li>
174
  <?php
@@ -192,7 +192,7 @@
192
  <div class="inside pods-manage-field pods-dependency">
193
  <div class="pods-field-option-group">
194
  <p>
195
- <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo $data_name; ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
196
  </p>
197
 
198
  <div class="pods-pick-values pods-pick-checkbox pods-zebra">
@@ -207,7 +207,7 @@
207
 
208
  $zebra = ( !$zebra );
209
  ?>
210
- <li class="pods-zebra-<?php echo $class; ?>">
211
  <?php echo PodsForm::field( $data_name . '[' . $item[ 'id' ] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item[ 'name' ] . ( !empty( $item[ 'label' ] ) ? ' (' . $item[ 'label' ] . ')' : '' ) ) ); ?>
212
  </li>
213
  <?php
@@ -231,7 +231,7 @@
231
  <div class="inside pods-manage-field pods-dependency">
232
  <div class="pods-field-option-group">
233
  <p>
234
- <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo $data_name; ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
235
  </p>
236
 
237
  <div class="pods-pick-values pods-pick-checkbox pods-zebra">
@@ -246,7 +246,7 @@
246
 
247
  $zebra = ( !$zebra );
248
  ?>
249
- <li class="pods-zebra-<?php echo $class; ?>">
250
  <?php echo PodsForm::field( $data_name . '[' . $item[ 'id' ] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item[ 'name' ] . ( !empty( $item[ 'label' ] ) ? ' (' . $item[ 'label' ] . ')' : '' ) ) ); ?>
251
  </li>
252
  <?php
1
  <div class="wrap pods-admin">
2
  <script>
3
+ var PODS_URL = '<?php echo esc_js( PODS_URL ); ?>';
4
  </script>
5
  <div id="icon-pods" class="icon32"><br /></div>
6
 
14
 
15
  <h2 class="italicized"><?php _e( 'Migrate: Packages', 'pods' ); ?></h2>
16
 
17
+ <img src="<?php echo esc_url( PODS_URL ); ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" />
18
 
19
  <div id="pods-wizard-box" class="pods-wizard-steps-2" data-step-process="1">
20
  <div id="pods-wizard-heading">
114
  <div class="inside pods-manage-field pods-dependency">
115
  <div class="pods-field-option-group">
116
  <p>
117
+ <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo esc_attr( $data_name ); ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
118
  </p>
119
 
120
  <div class="pods-pick-values pods-pick-checkbox pods-zebra">
129
 
130
  $zebra = ( !$zebra );
131
  ?>
132
+ <li class="pods-zebra-<?php echo esc_attr( $class ); ?>">
133
  <?php echo PodsForm::field( $data_name . '[' . $item[ 'id' ] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item[ 'name' ] . ( !empty( $item[ 'label' ] ) ? ' (' . $item[ 'label' ] . ')' : '' ) ) ); ?>
134
  </li>
135
  <?php
153
  <div class="inside pods-manage-field pods-dependency">
154
  <div class="pods-field-option-group">
155
  <p>
156
+ <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo esc_attr( $data_name ); ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
157
  </p>
158
 
159
  <div class="pods-pick-values pods-pick-checkbox pods-zebra">
168
 
169
  $zebra = ( !$zebra );
170
  ?>
171
+ <li class="pods-zebra-<?php echo esc_attr( $class ); ?>">
172
  <?php echo PodsForm::field( $data_name . '[' . $item[ 'id' ] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item[ 'name' ] . ( !empty( $item[ 'label' ] ) ? ' (' . $item[ 'label' ] . ')' : '' ) ) ); ?>
173
  </li>
174
  <?php
192
  <div class="inside pods-manage-field pods-dependency">
193
  <div class="pods-field-option-group">
194
  <p>
195
+ <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo esc_attr( $data_name ); ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
196
  </p>
197
 
198
  <div class="pods-pick-values pods-pick-checkbox pods-zebra">
207
 
208
  $zebra = ( !$zebra );
209
  ?>
210
+ <li class="pods-zebra-<?php echo esc_attr( $class ); ?>">
211
  <?php echo PodsForm::field( $data_name . '[' . $item[ 'id' ] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item[ 'name' ] . ( !empty( $item[ 'label' ] ) ? ' (' . $item[ 'label' ] . ')' : '' ) ) ); ?>
212
  </li>
213
  <?php
231
  <div class="inside pods-manage-field pods-dependency">
232
  <div class="pods-field-option-group">
233
  <p>
234
+ <a href="#toggle" class="button pods-wizard-toggle-all" data-toggle="<?php echo esc_attr( $data_name ); ?>"><?php _e( 'Toggle all on / off', 'pods' ); ?></a>
235
  </p>
236
 
237
  <div class="pods-pick-values pods-pick-checkbox pods-zebra">
246
 
247
  $zebra = ( !$zebra );
248
  ?>
249
+ <li class="pods-zebra-<?php echo esc_attr( $class ); ?>">
250
  <?php echo PodsForm::field( $data_name . '[' . $item[ 'id' ] . ']', $checked, 'boolean', array( 'boolean_yes_label' => $item[ 'name' ] . ( !empty( $item[ 'label' ] ) ? ' (' . $item[ 'label' ] . ')' : '' ) ) ); ?>
251
  </li>
252
  <?php
components/Pages.php CHANGED
@@ -76,7 +76,7 @@ class Pods_Pages extends PodsComponent {
76
  'has_archive' => false,
77
  'hierarchical' => false,
78
  'supports' => array( 'title', 'author', 'revisions' ),
79
- 'menu_icon' => PODS_URL . 'ui/images/icon16.png'
80
  );
81
 
82
  if ( !pods_is_admin() )
@@ -421,7 +421,7 @@ class Pods_Pages extends PodsComponent {
421
  array(
422
  'name' => 'pod_slug',
423
  'label' => __( 'Wildcard Slug', 'pods' ),
424
- 'help' => __( 'Setting the Wildcard Slug is an easy way to setup a detail page. You can use the special tag {@url.2} to match the *third* level of the URL of a Pod Page named "first/second/*" part of the pod page. This is functionally the same as using pods_var( 2, "url" ) in PHP.', 'pods' ),
425
  'type' => 'text',
426
  'excludes-on' => array( 'pod' => 0 )
427
  )
@@ -661,10 +661,14 @@ class Pods_Pages extends PodsComponent {
661
  return false;
662
  }
663
 
664
- $object = false;
 
 
 
665
 
666
- if ( false === strpos( $uri, '*' ) && !apply_filters( 'pods_page_regex_matching', false ) )
667
- $object = pods_by_title( $uri, ARRAY_A, '_pods_page', 'publish' );
 
668
 
669
  $wildcard = false;
670
 
@@ -942,7 +946,7 @@ class Pods_Pages extends PodsComponent {
942
 
943
  if ( !defined( 'PODS_DISABLE_VERSION_OUTPUT' ) || !PODS_DISABLE_VERSION_OUTPUT ) {
944
  ?>
945
- <!-- Pods Framework <?php echo PODS_VERSION; ?> -->
946
  <?php
947
  }
948
  if ( ( !defined( 'PODS_DISABLE_META' ) || !PODS_DISABLE_META ) && is_object( $pods ) && !is_wp_error( $pods ) ) {
@@ -1241,4 +1245,4 @@ function pods_page_flush_rewrites () {
1241
  /*
1242
  * Deprecated global variable
1243
  */
1244
- $GLOBALS[ 'pod_page_exists' ] =& Pods_Pages::$exists;
76
  'has_archive' => false,
77
  'hierarchical' => false,
78
  'supports' => array( 'title', 'author', 'revisions' ),
79
+ 'menu_icon' => 'dashicons-pods'
80
  );
81
 
82
  if ( !pods_is_admin() )
421
  array(
422
  'name' => 'pod_slug',
423
  'label' => __( 'Wildcard Slug', 'pods' ),
424
+ 'help' => __( 'Setting the Wildcard Slug is an easy way to setup a detail page. You can use the special tag {@url.2} to match the *third* level of the URL of a Pod Page named "first/second/*" part of the pod page. This is functionally the same as using pods_v_sanitized( 2, "url" ) in PHP.', 'pods' ),
425
  'type' => 'text',
426
  'excludes-on' => array( 'pod' => 0 )
427
  )
661
  return false;
662
  }
663
 
664
+ $object = apply_filters( 'pods_page_exists', false, $uri );
665
+ if ( !empty ( $object ) ) {
666
+ return $object;
667
+ }
668
 
669
+ if ( false === strpos( $uri, '*' ) && ! apply_filters( 'pods_page_regex_matching', false ) ) {
670
+ $object = pods_by_title( $uri, ARRAY_A, '_pods_page', 'publish' );
671
+ }
672
 
673
  $wildcard = false;
674
 
946
 
947
  if ( !defined( 'PODS_DISABLE_VERSION_OUTPUT' ) || !PODS_DISABLE_VERSION_OUTPUT ) {
948
  ?>
949
+ <!-- Pods Framework <?php echo esc_html( PODS_VERSION ); ?> -->
950
  <?php
951
  }
952
  if ( ( !defined( 'PODS_DISABLE_META' ) || !PODS_DISABLE_META ) && is_object( $pods ) && !is_wp_error( $pods ) ) {
1245
  /*
1246
  * Deprecated global variable
1247
  */
1248
+ $GLOBALS[ 'pod_page_exists' ] =& Pods_Pages::$exists;
components/Roles/Roles.php CHANGED
@@ -83,7 +83,6 @@ class Pods_Roles extends PodsComponent {
83
  'data' => $roles,
84
  'total' => count( $roles ),
85
  'total_found' => count( $roles ),
86
- 'icon' => PODS_URL . 'ui/images/icon32.png',
87
  'items' => 'Roles',
88
  'item' => 'Role',
89
  'fields' => array(
83
  'data' => $roles,
84
  'total' => count( $roles ),
85
  'total_found' => count( $roles ),
 
86
  'items' => 'Roles',
87
  'item' => 'Role',
88
  'fields' => array(
components/Roles/ui/add.php CHANGED
@@ -1,6 +1,6 @@
1
  <div class="wrap pods-admin">
2
  <script>
3
- var PODS_URL = '<?php echo PODS_URL; ?>';
4
  </script>
5
  <div id="icon-pods" class="icon32"><br /></div>
6
 
@@ -13,7 +13,7 @@
13
 
14
  <h2 class="italicized"><?php _e( 'Roles &amp; Capabilities: Add New Role', 'pods' ); ?></h2>
15
 
16
- <img src="<?php echo PODS_URL; ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" />
17
 
18
  <div id="pods-wizard-box" class="pods-wizard-steps-2">
19
  <div id="pods-wizard-heading">
@@ -81,7 +81,7 @@
81
 
82
  $zebra = ( !$zebra );
83
  ?>
84
- <li class="pods-zebra-<?php echo $class; ?>" data-capability="<?php echo esc_attr( $capability ); ?>">
85
  <?php echo PodsForm::field( 'capabilities[' . $capability . ']', pods_var_raw( 'capabilities[' . $capability . ']', 'post', $checked ), 'boolean', array( 'boolean_yes_label' => $capability ) ); ?>
86
  </li>
87
  <?php
1
  <div class="wrap pods-admin">
2
  <script>
3
+ var PODS_URL = '<?php echo esc_js( PODS_URL ); ?>';
4
  </script>
5
  <div id="icon-pods" class="icon32"><br /></div>
6
 
13
 
14
  <h2 class="italicized"><?php _e( 'Roles &amp; Capabilities: Add New Role', 'pods' ); ?></h2>
15
 
16
+ <img src="<?php echo esc_url( PODS_URL ); ?>ui/images/pods-logo-notext-rgb-transparent.png" class="pods-leaf-watermark-right" />
17
 
18
  <div id="pods-wizard-box" class="pods-wizard-steps-2">
19
  <div id="pods-wizard-heading">
81
 
82
  $zebra = ( !$zebra );
83
  ?>
84
+ <li class="pods-zebra-<?php echo esc_attr( $class ); ?>" data-capability="<?php echo esc_attr( $capability ); ?>">
85
  <?php echo PodsForm::field( 'capabilities[' . $capability . ']', pods_var_raw( 'capabilities[' . $capability . ']', 'post', $checked ), 'boolean', array( 'boolean_yes_label' => $capability ) ); ?>
86
  </li>
87
  <?php
components/Roles/ui/edit.php CHANGED
@@ -1,6 +1,6 @@
1
  <div class="wrap pods-admin">
2
  <script>
3
- var PODS_URL = '<?php echo PODS_URL; ?>';
4
  </script>
5
  <div id="icon-pods" class="icon32"><br /></div>
6
 
@@ -97,7 +97,7 @@
97
 
98
  $zebra = ( !$zebra );
99
  ?>
100
- <li class="pods-zebra-<?php echo $class; ?>" data-capability="<?php echo esc_attr( $capability ); ?>">
101
  <?php echo PodsForm::field( 'capabilities[' . $capability . ']', pods_var_raw( 'capabilities[' . $capability . ']', 'post', $checked ), 'boolean', array( 'boolean_yes_label' => $capability ) ); ?>
102
  </li>
103
  <?php
1
  <div class="wrap pods-admin">
2
  <script>
3
+ var PODS_URL = '<?php echo esc_js( PODS_URL ); ?>';
4
  </script>
5
  <div id="icon-pods" class="icon32"><br /></div>
6
 
97
 
98
  $zebra = ( !$zebra );
99
  ?>
100
+ <li class="pods-zebra-<?php echo esc_attr( $class ); ?>" data-capability="<?php echo esc_attr( $capability ); ?>">
101
  <?php echo PodsForm::field( 'capabilities[' . $capability . ']', pods_var_raw( 'capabilities[' . $capability . ']', 'post', $checked ), 'boolean', array( 'boolean_yes_label' => $capability ) ); ?>
102
  </li>
103
  <?php
components/Templates/Templates.php CHANGED
@@ -15,22 +15,19 @@
15
  * @subpackage Templates
16
  */
17
 
18
- if ( class_exists( 'Pods_Templates' ) ){
 
 
19
 
20
- // Pull in the functions
21
- require_once( plugin_dir_path( __FILE__ ) . '/includes/functions-view_template.php' );
22
- require_once( plugin_dir_path( __FILE__ ) . '/includes/functions-pod_reference.php' );
23
 
24
- // dont run if the Frontier Template Editor is already running.
25
- if ( class_exists( 'Pods_Frontier_Template_Editor' ) || class_exists( 'Pods_Templates_Frontier' ) )
26
- return;
27
 
28
- // Pull in the Frontier Template System
29
- require_once( plugin_dir_path( __FILE__ ) . 'class-pods_templates.php' );
30
 
31
- Pods_Templates_Frontier::get_instance();
32
- return;
33
- }
34
 
35
  class Pods_Templates extends PodsComponent {
36
 
@@ -78,8 +75,8 @@ class Pods_Templates extends PodsComponent {
78
  'rewrite' => false,
79
  'has_archive' => false,
80
  'hierarchical' => false,
81
- 'supports' => array( 'title', 'author', 'revisions' ),
82
- 'menu_icon' => PODS_URL . 'ui/images/icon16.png'
83
  );
84
 
85
  if ( !pods_is_admin() )
@@ -106,6 +103,7 @@ class Pods_Templates extends PodsComponent {
106
  add_filter( 'bulk_actions-edit-' . $this->object_type, array( $this, 'remove_bulk_actions' ) );
107
 
108
  add_filter( 'builder_layout_filter_non_layout_post_types', array( $this, 'disable_builder_layout' ) );
 
109
  }
110
  }
111
 
@@ -511,4 +509,4 @@ class Pods_Templates extends PodsComponent {
511
  return apply_filters( 'pods_templates_do_template', $out, $code, $obj );
512
  }
513
 
514
- }
15
  * @subpackage Templates
16
  */
17
 
18
+ // Pull in the functions
19
+ require_once( plugin_dir_path( __FILE__ ) . '/includes/functions-view_template.php' );
20
+ require_once( plugin_dir_path( __FILE__ ) . '/includes/functions-pod_reference.php' );
21
 
22
+ // Pull in the Frontier Template System
23
+ require_once( plugin_dir_path( __FILE__ ) . 'class-pods_templates.php' );
 
24
 
25
+ //Pull in Auto Template
26
+ require_once( dirname( __FILE__ ) . '/includes/auto-template/Pods_Templates_Auto_Template_Settings.php' );
27
+ new Pods_Templates_Auto_Template_Settings();
28
 
29
+ Pods_Templates_Frontier::get_instance();
 
30
 
 
 
 
31
 
32
  class Pods_Templates extends PodsComponent {
33
 
75
  'rewrite' => false,
76
  'has_archive' => false,
77
  'hierarchical' => false,
78
+ 'supports' => array( 'title', 'author', 'revisions' ),
79
+ 'menu_icon' => 'dashicons-pods'
80
  );
81
 
82
  if ( !pods_is_admin() )
103
  add_filter( 'bulk_actions-edit-' . $this->object_type, array( $this, 'remove_bulk_actions' ) );
104
 
105
  add_filter( 'builder_layout_filter_non_layout_post_types', array( $this, 'disable_builder_layout' ) );
106
+
107
  }
108
  }
109
 
509
  return apply_filters( 'pods_templates_do_template', $out, $code, $obj );
510
  }
511
 
512
+ }
components/Templates/assets/css/codemirror1.css DELETED
@@ -1,247 +0,0 @@
1
- /* BASICS */
2
-
3
- .CodeMirror {
4
- /* Set height, width, borders, and global font properties here */
5
- font-family: monospace;
6
- height: 300px;
7
- margin: -6px -11px -12px -12px;
8
- }
9
- .CodeMirror-scroll {
10
- /* Set scrolling behaviour here */
11
- overflow: auto;
12
- }
13
-
14
- /* PADDING */
15
-
16
- .CodeMirror-lines {
17
- padding: 4px 0; /* Vertical padding around content */
18
- }
19
- .CodeMirror pre {
20
- padding: 0 4px; /* Horizontal padding of content */
21
- }
22
-
23
- .CodeMirror-scrollbar-filler {
24
- background-color: white; /* The little square between H and V scrollbars */
25
- }
26
-
27
- /* GUTTER */
28
-
29
- .CodeMirror-gutters {
30
- border-right: 1px solid #ddd;
31
- background-color: #EFEFEF;
32
- }
33
- .CodeMirror-linenumbers {}
34
- .CodeMirror-linenumber {
35
- padding: 0 3px 0 5px;
36
- min-width: 20px;
37
- text-align: right;
38
- color: #999;
39
- }
40
-
41
- /* CURSOR */
42
-
43
- .CodeMirror div.CodeMirror-cursor {
44
- border-left: 1px solid black;
45
- z-index: 3;
46
- }
47
- /* Shown when moving in bi-directional text */
48
- .CodeMirror div.CodeMirror-secondarycursor {
49
- border-left: 1px solid silver;
50
- }
51
- .CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor {
52
- width: auto;
53
- border: 0;
54
- background: #7e7;
55
- z-index: 1;
56
- }
57
- /* Can style cursor different in overwrite (non-insert) mode */
58
- .CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite {}
59
-
60
- .cm-tab { display: inline-block; }
61
-
62
- /* DEFAULT THEME */
63
-
64
- .cm-s-default .cm-keyword {color: #708;}
65
- .cm-s-default .cm-atom {color: #219;}
66
- .cm-s-default .cm-number {color: #164;}
67
- .cm-s-default .cm-def {color: #00f;}
68
- .cm-s-default .cm-variable {color: black;}
69
- .cm-s-default .cm-variable-2 {color: #05a;}
70
- .cm-s-default .cm-variable-3 {color: #085;}
71
- .cm-s-default .cm-property {color: black;}
72
- .cm-s-default .cm-operator {color: black;}
73
- .cm-s-default .cm-comment {color: #a50;}
74
- .cm-s-default .cm-string {color: #a11;}
75
- .cm-s-default .cm-string-2 {color: #f50;}
76
- .cm-s-default .cm-meta {color: #555;}
77
- .cm-s-default .cm-error {color: #f00;}
78
- .cm-s-default .cm-qualifier {color: #555;}
79
- .cm-s-default .cm-builtin {color: #30a;}
80
- .cm-s-default .cm-bracket {color: #997;}
81
- .cm-s-default .cm-tag {color: #170;}
82
- .cm-s-default .cm-attribute {color: #00c;}
83
- .cm-s-default .cm-header {color: blue;}
84
- .cm-s-default .cm-quote {color: #090;}
85
- .cm-s-default .cm-hr {color: #999;}
86
- .cm-s-default .cm-link {color: #00c;}
87
-
88
- .cm-negative {color: #d44;}
89
- .cm-positive {color: #292;}
90
- .cm-header, .cm-strong {font-weight: bold;}
91
- .cm-em {font-style: italic;}
92
- .cm-link {text-decoration: underline;}
93
-
94
- .cm-invalidchar {color: #f00;}
95
-
96
- div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
97
- div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
98
-
99
- /* STOP */
100
-
101
- /* The rest of this file contains styles related to the mechanics of
102
- the editor. You probably shouldn't touch them. */
103
-
104
- .CodeMirror {
105
- line-height: 1;
106
- position: relative;
107
- overflow: hidden;
108
- background: white;
109
- color: black;
110
- }
111
-
112
- .CodeMirror-scroll {
113
- /* 30px is the magic margin used to hide the element's real scrollbars */
114
- /* See overflow: hidden in .CodeMirror, and the paddings in .CodeMirror-sizer */
115
- margin-bottom: -30px; margin-right: -30px;
116
- padding-bottom: 30px; padding-right: 30px;
117
- height: 100%;
118
- outline: none; /* Prevent dragging from highlighting the element */
119
- position: relative;
120
- }
121
- .CodeMirror-sizer {
122
- position: relative;
123
- }
124
-
125
- /* The fake, visible scrollbars. Used to force redraw during scrolling
126
- before actuall scrolling happens, thus preventing shaking and
127
- flickering artifacts. */
128
- .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler {
129
- position: absolute;
130
- z-index: 6;
131
- display: none;
132
- }
133
- .CodeMirror-vscrollbar {
134
- right: 0; top: 0;
135
- overflow-x: hidden;
136
- overflow-y: scroll;
137
- }
138
- .CodeMirror-hscrollbar {
139
- bottom: 0; left: 0;
140
- overflow-y: hidden;
141
- overflow-x: scroll;
142
- }
143
- .CodeMirror-scrollbar-filler {
144
- right: 0; bottom: 0;
145
- z-index: 6;
146
- }
147
-
148
- .CodeMirror-gutters {
149
- position: absolute; left: 0; top: 0;
150
- height: 100%;
151
- padding-bottom: 30px;
152
- z-index: 3;
153
- }
154
- .CodeMirror-gutter {
155
- height: 100%;
156
- padding-bottom: 30px;
157
- margin-bottom: -32px;
158
- display: inline-block;
159
- /* Hack to make IE7 behave */
160
- *zoom:1;
161
- *display:inline;
162
- }
163
- .CodeMirror-gutter-elt {
164
- position: absolute;
165
- cursor: default;
166
- z-index: 4;
167
- }
168
-
169
- .CodeMirror-lines {
170
- cursor: text;
171
- }
172
- .CodeMirror pre {
173
- /* Reset some styles that the rest of the page might have set */
174
- -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
175
- border-width: 0;
176
- background: transparent;
177
- font-family: inherit;
178
- font-size: inherit;
179
- margin: 0;
180
- white-space: pre;
181
- word-wrap: normal;
182
- line-height: inherit;
183
- color: inherit;
184
- z-index: 2;
185
- position: relative;
186
- overflow: visible;
187
- }
188
- .CodeMirror-wrap pre {
189
- word-wrap: break-word;
190
- white-space: pre-wrap;
191
- word-break: normal;
192
- }
193
- .CodeMirror-linebackground {
194
- position: absolute;
195
- left: 0; right: 0; top: 0; bottom: 0;
196
- z-index: 0;
197
- }
198
-
199
- .CodeMirror-linewidget {
200
- position: relative;
201
- z-index: 2;
202
- overflow: auto;
203
- }
204
-
205
- .CodeMirror-widget {
206
- display: inline-block;
207
- }
208
-
209
- .CodeMirror-wrap .CodeMirror-scroll {
210
- overflow-x: hidden;
211
- }
212
-
213
- .CodeMirror-measure {
214
- position: absolute;
215
- width: 100%; height: 0px;
216
- overflow: hidden;
217
- visibility: hidden;
218
- }
219
- .CodeMirror-measure pre { position: static; }
220
-
221
- .CodeMirror div.CodeMirror-cursor {
222
- position: absolute;
223
- visibility: hidden;
224
- border-right: none;
225
- width: 0;
226
- }
227
- .CodeMirror-focused div.CodeMirror-cursor {
228
- visibility: visible;
229
- }
230
-
231
- .CodeMirror-selected { background: #d9d9d9; }
232
- .CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
233
-
234
- .cm-searching {
235
- background: #ffa;
236
- background: rgba(255, 255, 0, .4);
237
- }
238
-
239
- /* IE7 hack to prevent it from returning funny offsetTops on the spans */
240
- .CodeMirror span { *vertical-align: text-bottom; }
241
-
242
- @media print {
243
- /* Hide the cursor when printing */
244
- .CodeMirror div.CodeMirror-cursor {
245
- visibility: hidden;
246
- }
247
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
components/Templates/assets/js/codemirror-compressed1.js DELETED
@@ -1,6 +0,0 @@
1
- window.CodeMirror=function(){"use strict";function w(a,c){if(!(this instanceof w))return new w(a,c);this.options=c=c||{};for(var d in Xc)!c.hasOwnProperty(d)&&Xc.hasOwnProperty(d)&&(c[d]=Xc[d]);I(c);var e="string"==typeof c.value?0:c.value.first,f=this.display=x(a,e);f.wrapper.CodeMirror=this,F(this),c.autofocus&&!o&&Lb(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,draggingText:!1,highlight:new Te},D(this),c.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");var g=c.value;"string"==typeof g&&(g=new ce(c.value,c.mode)),Db(this,ge)(this,g),b&&setTimeout(bf(Kb,this,!0),20),Nb(this);var h;try{h=document.activeElement==f.input}catch(i){}h||c.autofocus&&!o?setTimeout(bf(ic,this),20):jc(this),Db(this,function(){for(var a in Wc)Wc.propertyIsEnumerable(a)&&Wc[a](this,c[a],Zc);for(var b=0;b<bd.length;++b)bd[b](this)})()}function x(a,b){var d={},f=d.input=gf("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none; font-size: 4px;");return e?f.style.width="1000px":f.setAttribute("wrap","off"),n&&(f.style.border="1px solid black"),f.setAttribute("autocorrect","off"),f.setAttribute("autocapitalize","off"),f.setAttribute("spellcheck","false"),d.inputDiv=gf("div",[f],null,"overflow: hidden; position: relative; width: 3px; height: 0px;"),d.scrollbarH=gf("div",[gf("div",null,null,"height: 1px")],"CodeMirror-hscrollbar"),d.scrollbarV=gf("div",[gf("div",null,null,"width: 1px")],"CodeMirror-vscrollbar"),d.scrollbarFiller=gf("div",null,"CodeMirror-scrollbar-filler"),d.gutterFiller=gf("div",null,"CodeMirror-gutter-filler"),d.lineDiv=gf("div",null,"CodeMirror-code"),d.selectionDiv=gf("div",null,null,"position: relative; z-index: 1"),d.cursor=gf("div","\xa0","CodeMirror-cursor"),d.otherCursor=gf("div","\xa0","CodeMirror-cursor CodeMirror-secondarycursor"),d.measure=gf("div",null,"CodeMirror-measure"),d.lineSpace=gf("div",[d.measure,d.selectionDiv,d.lineDiv,d.cursor,d.otherCursor],null,"position: relative; outline: none"),d.mover=gf("div",[gf("div",[d.lineSpace],"CodeMirror-lines")],null,"position: relative"),d.sizer=gf("div",[d.mover],"CodeMirror-sizer"),d.heightForcer=gf("div",null,null,"position: absolute; height: "+Re+"px; width: 1px;"),d.gutters=gf("div",null,"CodeMirror-gutters"),d.lineGutter=null,d.scroller=gf("div",[d.sizer,d.heightForcer,d.gutters],"CodeMirror-scroll"),d.scroller.setAttribute("tabIndex","-1"),d.wrapper=gf("div",[d.inputDiv,d.scrollbarH,d.scrollbarV,d.scrollbarFiller,d.gutterFiller,d.scroller],"CodeMirror"),c&&(d.gutters.style.zIndex=-1,d.scroller.style.paddingRight=0),a.appendChild?a.appendChild(d.wrapper):a(d.wrapper),n&&(f.style.width="0px"),e||(d.scroller.draggable=!0),j?(d.inputDiv.style.height="1px",d.inputDiv.style.position="absolute"):c&&(d.scrollbarH.style.minWidth=d.scrollbarV.style.minWidth="18px"),d.viewOffset=d.lastSizeC=0,d.showingFrom=d.showingTo=b,d.lineNumWidth=d.lineNumInnerWidth=d.lineNumChars=null,d.prevInput="",d.alignWidgets=!1,d.pollingFast=!1,d.poll=new Te,d.cachedCharWidth=d.cachedTextHeight=null,d.measureLineCache=[],d.measureLineCachePos=0,d.inaccurateSelection=!1,d.maxLine=null,d.maxLineLength=0,d.maxLineChanged=!1,d.wheelDX=d.wheelDY=d.wheelStartX=d.wheelStartY=null,d}function y(a){a.doc.mode=w.getMode(a.options,a.doc.modeOption),a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null)}),a.doc.frontier=a.doc.first,ab(a,100),a.state.modeGen++,a.curOp&&Gb(a)}function z(a){a.options.lineWrapping?(a.display.wrapper.className+=" CodeMirror-wrap",a.display.sizer.style.minWidth=""):(a.display.wrapper.className=a.display.wrapper.className.replace(" CodeMirror-wrap",""),H(a)),B(a),Gb(a),nb(a),setTimeout(function(){J(a)},100)}function A(a){var b=yb(a.display),c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/zb(a.display)-3);return function(e){return Cd(a.doc,e)?0:c?(Math.ceil(e.text.length/d)||1)*b:b}}function B(a){var b=a.doc,c=A(a);b.iter(function(a){var b=c(a);b!=a.height&&ke(a,b)})}function C(a){var b=gd[a.options.keyMap],c=b.style;a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-keymap-\S+/g,"")+(c?" cm-keymap-"+c:""),a.state.disableInput=b.disableInput}function D(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g," cm-s-"),nb(a)}function E(a){F(a),Gb(a),setTimeout(function(){L(a)},20)}function F(a){var b=a.display.gutters,c=a.options.gutters;hf(b);for(var d=0;d<c.length;++d){var e=c[d],f=b.appendChild(gf("div",null,"CodeMirror-gutter "+e));"CodeMirror-linenumbers"==e&&(a.display.lineGutter=f,f.style.width=(a.display.lineNumWidth||1)+"px")}b.style.display=d?"":"none"}function G(a,b){if(0==b.height)return 0;for(var d,c=b.text.length,e=b;d=zd(e);){var f=d.find();e=he(a,f.from.line),c+=f.from.ch-f.to.ch}for(e=b;d=Ad(e);){var f=d.find();c-=e.text.length-f.from.ch,e=he(a,f.to.line),c+=e.text.length-f.to.ch}return c}function H(a){var b=a.display,c=a.doc;b.maxLine=he(c,c.first),b.maxLineLength=G(c,b.maxLine),b.maxLineChanged=!0,c.iter(function(a){var d=G(c,a);d>b.maxLineLength&&(b.maxLineLength=d,b.maxLine=a)})}function I(a){for(var b=!1,c=0;c<a.gutters.length;++c)"CodeMirror-linenumbers"==a.gutters[c]&&(a.lineNumbers?b=!0:a.gutters.splice(c--,1));!b&&a.lineNumbers&&a.gutters.push("CodeMirror-linenumbers")}function J(a){var b=a.display,c=a.doc.height,d=c+fb(b);b.sizer.style.minHeight=b.heightForcer.style.top=d+"px",b.gutters.style.height=Math.max(d,b.scroller.clientHeight-Re)+"px";var e=Math.max(d,b.scroller.scrollHeight),f=b.scroller.scrollWidth>b.scroller.clientWidth+1,g=e>b.scroller.clientHeight+1;g?(b.scrollbarV.style.display="block",b.scrollbarV.style.bottom=f?pf(b.measure)+"px":"0",b.scrollbarV.firstChild.style.height=e-b.scroller.clientHeight+b.scrollbarV.clientHeight+"px"):b.scrollbarV.style.display="",f?(b.scrollbarH.style.display="block",b.scrollbarH.style.right=g?pf(b.measure)+"px":"0",b.scrollbarH.firstChild.style.width=b.scroller.scrollWidth-b.scroller.clientWidth+b.scrollbarH.clientWidth+"px"):b.scrollbarH.style.display="",f&&g?(b.scrollbarFiller.style.display="block",b.scrollbarFiller.style.height=b.scrollbarFiller.style.width=pf(b.measure)+"px"):b.scrollbarFiller.style.display="",f&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(b.gutterFiller.style.display="block",b.gutterFiller.style.height=pf(b.measure)+"px",b.gutterFiller.style.width=b.gutters.offsetWidth+"px"):b.gutterFiller.style.display="",k&&0===pf(b.measure)&&(b.scrollbarV.style.minWidth=b.scrollbarH.style.minHeight=l?"18px":"12px")}function K(a,b,c){var d=a.scroller.scrollTop,e=a.wrapper.clientHeight;"number"==typeof c?d=c:c&&(d=c.top,e=c.bottom-c.top),d=Math.floor(d-eb(a));var f=Math.ceil(d+e);return{from:me(b,d),to:me(b,f)}}function L(a){var b=a.display;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var c=O(b)-b.scroller.scrollLeft+a.doc.scrollLeft,d=b.gutters.offsetWidth,e=c+"px",f=b.lineDiv.firstChild;f;f=f.nextSibling)if(f.alignable)for(var g=0,h=f.alignable;g<h.length;++g)h[g].style.left=e;a.options.fixedGutter&&(b.gutters.style.left=c+d+"px")}}function M(a){if(!a.options.lineNumbers)return!1;var b=a.doc,c=N(a.options,b.first+b.size-1),d=a.display;if(c.length!=d.lineNumChars){var e=d.measure.appendChild(gf("div",[gf("div",c)],"CodeMirror-linenumber CodeMirror-gutter-elt")),f=e.firstChild.offsetWidth,g=e.offsetWidth-f;return d.lineGutter.style.width="",d.lineNumInnerWidth=Math.max(f,d.lineGutter.offsetWidth-g),d.lineNumWidth=d.lineNumInnerWidth+g,d.lineNumChars=d.lineNumInnerWidth?c.length:-1,d.lineGutter.style.width=d.lineNumWidth+"px",!0}return!1}function N(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function O(a){return lf(a.scroller).left-lf(a.sizer).left}function P(a,b,c,d){for(var g,e=a.display.showingFrom,f=a.display.showingTo,h=K(a.display,a.doc,c);Q(a,b,h,d)&&(d=!1,g=!0,Y(a),J(a),c&&(c=Math.min(a.display.scroller.scrollHeight-a.display.scroller.clientHeight,"number"==typeof c?c:c.top)),h=K(a.display,a.doc,c),!(h.from>=a.display.showingFrom&&h.to<=a.display.showingTo));)b=[];return g&&(Me(a,"update",a),(a.display.showingFrom!=e||a.display.showingTo!=f)&&Me(a,"viewportChange",a,a.display.showingFrom,a.display.showingTo)),g}function Q(a,b,c,d){var e=a.display,f=a.doc;if(!e.wrapper.clientWidth)return e.showingFrom=e.showingTo=f.first,e.viewOffset=0,void 0;if(!(!d&&0==b.length&&c.from>e.showingFrom&&c.to<e.showingTo)){M(a)&&(b=[{from:f.first,to:f.first+f.size}]);var g=e.sizer.style.marginLeft=e.gutters.offsetWidth+"px";e.scrollbarH.style.left=a.options.fixedGutter?g:"0";var h=1/0;if(a.options.lineNumbers)for(var i=0;i<b.length;++i)if(b[i].diff){h=b[i].from;break}var j=f.first+f.size,k=Math.max(c.from-a.options.viewportMargin,f.first),l=Math.min(j,c.to+a.options.viewportMargin);if(e.showingFrom<k&&k-e.showingFrom<20&&(k=Math.max(f.first,e.showingFrom)),e.showingTo>l&&e.showingTo-l<20&&(l=Math.min(j,e.showingTo)),v)for(k=le(Bd(f,he(f,k)));j>l&&Cd(f,he(f,l));)++l;var m=[{from:Math.max(e.showingFrom,f.first),to:Math.min(e.showingTo,j)}];if(m=m[0].from>=m[0].to?[]:T(m,b),v)for(var i=0;i<m.length;++i)for(var o,n=m[i];o=Ad(he(f,n.to-1));){var p=o.find().from.line;if(!(p>n.from)){m.splice(i--,1);break}n.to=p}for(var q=0,i=0;i<m.length;++i){var n=m[i];n.from<k&&(n.from=k),n.to>l&&(n.to=l),n.from>=n.to?m.splice(i--,1):q+=n.to-n.from}if(!d&&q==l-k&&k==e.showingFrom&&l==e.showingTo)return S(a),void 0;m.sort(function(a,b){return a.from-b.from});try{var r=document.activeElement}catch(s){}.7*(l-k)>q&&(e.lineDiv.style.display="none"),V(a,k,l,m,h),e.lineDiv.style.display="",r&&document.activeElement!=r&&r.offsetHeight&&r.focus();var t=k!=e.showingFrom||l!=e.showingTo||e.lastSizeC!=e.wrapper.clientHeight;return t&&(e.lastSizeC=e.wrapper.clientHeight,ab(a,400)),e.showingFrom=k,e.showingTo=l,R(a),S(a),!0}}function R(a){for(var f,b=a.display,d=b.lineDiv.offsetTop,e=b.lineDiv.firstChild;e;e=e.nextSibling)if(e.lineObj){if(c){var g=e.offsetTop+e.offsetHeight;f=g-d,d=g}else{var h=lf(e);f=h.bottom-h.top}var i=e.lineObj.height-f;if(2>f&&(f=yb(b)),i>.001||-.001>i){ke(e.lineObj,f);var j=e.lineObj.widgets;if(j)for(var k=0;k<j.length;++k)j[k].height=j[k].node.offsetHeight}}}function S(a){var b=a.display.viewOffset=ne(a,he(a.doc,a.display.showingFrom));a.display.mover.style.top=b+"px"}function T(a,b){for(var c=0,d=b.length||0;d>c;++c){for(var e=b[c],f=[],g=e.diff||0,h=0,i=a.length;i>h;++h){var j=a[h];e.to<=j.from&&e.diff?f.push({from:j.from+g,to:j.to+g}):e.to<=j.from||e.from>=j.to?f.push(j):(e.from>j.from&&f.push({from:j.from,to:e.from}),e.to<j.to&&f.push({from:e.to+g,to:j.to+g}))}a=f}return a}function U(a){for(var b=a.display,c={},d={},e=b.gutters.firstChild,f=0;e;e=e.nextSibling,++f)c[a.options.gutters[f]]=e.offsetLeft,d[a.options.gutters[f]]=e.offsetWidth;return{fixedPos:O(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function V(a,b,c,d,f){function l(b){var c=b.nextSibling;return e&&p&&a.display.currentWheelTarget==b?(b.style.display="none",b.lineObj=null):b.parentNode.removeChild(b),c}var g=U(a),h=a.display,i=a.options.lineNumbers;d.length||e&&a.display.currentWheelTarget||hf(h.lineDiv);var j=h.lineDiv,k=j.firstChild,m=d.shift(),n=b;for(a.doc.iter(b,c,function(b){if(m&&m.to==n&&(m=d.shift()),Cd(a.doc,b)){if(0!=b.height&&ke(b,0),b.widgets&&k.previousSibling)for(var c=0;c<b.widgets.length;++c){var e=b.widgets[c];if(e.showIfHidden){var h=k.previousSibling;if(/pre/i.test(h.nodeName)){var o=gf("div",null,null,"position: relative");h.parentNode.replaceChild(o,h),o.appendChild(h),h=o}var p=h.appendChild(gf("div",[e.node],"CodeMirror-linewidget"));e.handleMouseEvents||(p.ignoreEvents=!0),X(e,p,h,g)}}}else if(m&&m.from<=n&&m.to>n){for(;k.lineObj!=b;)k=l(k);i&&n>=f&&k.lineNumber&&kf(k.lineNumber,N(a.options,n)),k=k.nextSibling}else{if(b.widgets)for(var s,q=0,r=k;r&&20>q;++q,r=r.nextSibling)if(r.lineObj==b&&/div/i.test(r.nodeName)){s=r;break}var t=W(a,b,n,g,s);if(t!=s)j.insertBefore(t,k);else{for(;k!=s;)k=l(k);k=k.nextSibling}t.lineObj=b}++n});k;)k=l(k)}function W(a,b,d,e,f){var j,g=Td(a,b),h=b.gutterMarkers,i=a.display;if(!(a.options.lineNumbers||h||b.bgClass||b.wrapClass||b.widgets))return g;if(f){f.alignable=null;for(var o,k=!0,l=0,m=null,n=f.firstChild;n;n=o)if(o=n.nextSibling,/\bCodeMirror-linewidget\b/.test(n.className)){for(var p=0;p<b.widgets.length;++p){var q=b.widgets[p];if(q.node==n.firstChild){q.above||m||(m=n),X(q,n,f,e),++l;break}}if(p==b.widgets.length){k=!1;break}}else f.removeChild(n);f.insertBefore(g,m),k&&l==b.widgets.length&&(j=f,f.className=b.wrapClass||"")}if(j||(j=gf("div",null,b.wrapClass,"position: relative"),j.appendChild(g)),b.bgClass&&j.insertBefore(gf("div",null,b.bgClass+" CodeMirror-linebackground"),j.firstChild),a.options.lineNumbers||h){var r=j.insertBefore(gf("div",null,null,"position: absolute; left: "+(a.options.fixedGutter?e.fixedPos:-e.gutterTotalWidth)+"px"),j.firstChild);if(a.options.fixedGutter&&(j.alignable||(j.alignable=[])).push(r),!a.options.lineNumbers||h&&h["CodeMirror-linenumbers"]||(j.lineNumber=r.appendChild(gf("div",N(a.options,d),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+e.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+i.lineNumInnerWidth+"px"))),h)for(var s=0;s<a.options.gutters.length;++s){var t=a.options.gutters[s],u=h.hasOwnProperty(t)&&h[t];u&&r.appendChild(gf("div",[u],"CodeMirror-gutter-elt","left: "+e.gutterLeft[t]+"px; width: "+e.gutterWidth[t]+"px"))}}if(c&&(j.style.zIndex=2),b.widgets&&j!=f)for(var p=0,v=b.widgets;p<v.length;++p){var q=v[p],w=gf("div",[q.node],"CodeMirror-linewidget");q.handleMouseEvents||(w.ignoreEvents=!0),X(q,w,j,e),q.above?j.insertBefore(w,a.options.lineNumbers&&0!=b.height?r:g):j.appendChild(w),Me(q,"redraw")}return j}function X(a,b,c,d){if(a.noHScroll){(c.alignable||(c.alignable=[])).push(b);var e=d.wrapperWidth;b.style.left=d.fixedPos+"px",a.coverGutter||(e-=d.gutterTotalWidth,b.style.paddingLeft=d.gutterTotalWidth+"px"),b.style.width=e+"px"}a.coverGutter&&(b.style.zIndex=5,b.style.position="relative",a.noHScroll||(b.style.marginLeft=-d.gutterTotalWidth+"px"))}function Y(a){var b=a.display,c=yc(a.doc.sel.from,a.doc.sel.to);if(c||a.options.showCursorWhenSelecting?Z(a):b.cursor.style.display=b.otherCursor.style.display="none",c?b.selectionDiv.style.display="none":$(a),a.options.moveInputWithCursor){var d=tb(a,a.doc.sel.head,"div"),e=lf(b.wrapper),f=lf(b.lineDiv);b.inputDiv.style.top=Math.max(0,Math.min(b.wrapper.clientHeight-10,d.top+f.top-e.top))+"px",b.inputDiv.style.left=Math.max(0,Math.min(b.wrapper.clientWidth-10,d.left+f.left-e.left))+"px"}}function Z(a){var b=a.display,c=tb(a,a.doc.sel.head,"div");b.cursor.style.left=c.left+"px",b.cursor.style.top=c.top+"px",b.cursor.style.height=Math.max(0,c.bottom-c.top)*a.options.cursorHeight+"px",b.cursor.style.display="",c.other?(b.otherCursor.style.display="",b.otherCursor.style.left=c.other.left+"px",b.otherCursor.style.top=c.other.top+"px",b.otherCursor.style.height=.85*(c.other.bottom-c.other.top)+"px"):b.otherCursor.style.display="none"}function $(a){function h(a,b,c,d){0>b&&(b=0),e.appendChild(gf("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; width: "+(null==c?f-a:c)+"px; height: "+(d-b)+"px"))}function i(b,d,e){function m(c,d){return sb(a,xc(b,c),"div",i,d)}var k,l,i=he(c,b),j=i.text.length;return wf(oe(i),d||0,null==e?j:e,function(a,b,c){var n,o,p,i=m(a,"left");if(a==b)n=i,o=p=i.left;else{if(n=m(b-1,"right"),"rtl"==c){var q=i;i=n,n=q}o=i.left,p=n.right}null==d&&0==a&&(o=g),n.top-i.top>3&&(h(o,i.top,null,i.bottom),o=g,i.bottom<n.top&&h(o,i.bottom,null,n.top)),null==e&&b==j&&(p=f),(!k||i.top<k.top||i.top==k.top&&i.left<k.left)&&(k=i),(!l||n.bottom>l.bottom||n.bottom==l.bottom&&n.right>l.right)&&(l=n),g+1>o&&(o=g),h(o,n.top,p-o,n.bottom)}),{start:k,end:l}}var b=a.display,c=a.doc,d=a.doc.sel,e=document.createDocumentFragment(),f=b.lineSpace.offsetWidth,g=gb(a.display);if(d.from.line==d.to.line)i(d.from.line,d.from.ch,d.to.ch);else{var j=he(c,d.from.line),k=he(c,d.to.line),l=Bd(c,j)==Bd(c,k),m=i(d.from.line,d.from.ch,l?j.text.length:null).end,n=i(d.to.line,l?0:null,d.to.ch).start;l&&(m.top<n.top-2?(h(m.right,m.top,null,m.bottom),h(g,n.top,n.left,n.bottom)):h(m.right,m.top,n.left-m.right,m.bottom)),m.bottom<n.top&&h(g,m.bottom,null,n.top)}jf(b.selectionDiv,e),b.selectionDiv.style.display=""}function _(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursor.style.visibility=b.otherCursor.style.visibility="",b.blinker=setInterval(function(){b.cursor.style.visibility=b.otherCursor.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate)}}function ab(a,b){a.doc.mode.startState&&a.doc.frontier<a.display.showingTo&&a.state.highlight.set(b,bf(bb,a))}function bb(a){var b=a.doc;if(b.frontier<b.first&&(b.frontier=b.first),!(b.frontier>=a.display.showingTo)){var f,c=+new Date+a.options.workTime,d=dd(b.mode,db(a,b.frontier)),e=[];b.iter(b.frontier,Math.min(b.first+b.size,a.display.showingTo+500),function(g){if(b.frontier>=a.display.showingFrom){var h=g.styles;g.styles=Od(a,g,d);for(var i=!h||h.length!=g.styles.length,j=0;!i&&j<h.length;++j)i=h[j]!=g.styles[j];i&&(f&&f.end==b.frontier?f.end++:e.push(f={start:b.frontier,end:b.frontier+1})),g.stateAfter=dd(b.mode,d)}else Qd(a,g,d),g.stateAfter=0==b.frontier%5?dd(b.mode,d):null;return++b.frontier,+new Date>c?(ab(a,a.options.workDelay),!0):void 0}),e.length&&Db(a,function(){for(var a=0;a<e.length;++a)Gb(this,e[a].start,e[a].end)})()}}function cb(a,b,c){for(var d,e,f=a.doc,g=b,h=b-100;g>h;--g){if(g<=f.first)return f.first;var i=he(f,g-1);if(i.stateAfter&&(!c||g<=f.frontier))return g;var j=Ue(i.text,null,a.options.tabSize);(null==e||d>j)&&(e=g-1,d=j)}return e}function db(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=cb(a,b,c),g=f>d.first&&he(d,f-1).stateAfter;return g=g?dd(d.mode,g):ed(d.mode),d.iter(f,b,function(c){Qd(a,c,g);var h=f==b-1||0==f%5||f>=e.showingFrom&&f<e.showingTo;c.stateAfter=h?dd(d.mode,g):null,++f}),g}function eb(a){return a.lineSpace.offsetTop}function fb(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function gb(a){var b=jf(a.measure,gf("pre",null,null,"text-align: left")).appendChild(gf("span","x"));return b.offsetLeft}function hb(a,b,c,d,e){var f=-1;d=d||kb(a,b);for(var g=c;;g+=f){var h=d[g];if(h)break;0>f&&0==g&&(f=1)}return e=g>c?"left":c>g?"right":e,"left"==e&&h.leftSide?h=h.leftSide:"right"==e&&h.rightSide&&(h=h.rightSide),{left:c>g?h.right:h.left,right:g>c?h.left:h.right,top:h.top,bottom:h.bottom}}function ib(a,b){for(var c=a.display.measureLineCache,d=0;d<c.length;++d){var e=c[d];if(e.text==b.text&&e.markedSpans==b.markedSpans&&a.display.scroller.clientWidth==e.width&&e.classes==b.textClass+"|"+b.bgClass+"|"+b.wrapClass)return e}}function jb(a,b){var c=ib(a,b);c&&(c.text=c.measure=c.markedSpans=null)}function kb(a,b){var c=ib(a,b);if(c)return c.measure;var d=lb(a,b),e=a.display.measureLineCache,f={text:b.text,width:a.display.scroller.clientWidth,markedSpans:b.markedSpans,measure:d,classes:b.textClass+"|"+b.bgClass+"|"+b.wrapClass};return 16==e.length?e[++a.display.measureLineCachePos%16]=f:e.push(f),d}function lb(a,e){function t(a){var b=a.top-p.top,c=a.bottom-p.top;c>s&&(c=s),0>b&&(b=0);for(var d=q.length-2;d>=0;d-=2){var e=q[d],f=q[d+1];if(!(e>c||b>f)&&(b>=e&&f>=c||e>=b&&c>=f||Math.min(c,f)-Math.max(b,e)>=c-b>>1)){q[d]=Math.min(b,e),q[d+1]=Math.max(c,f);break}}return 0>d&&(d=q.length,q.push(b,c)),{left:a.left-p.left,right:a.right-p.left,top:d,bottom:null}}function u(a){a.bottom=q[a.top+1],a.top=q[a.top]}var f=a.display,g=af(e.text.length),h=Td(a,e,g,!0);if(b&&!c&&!a.options.lineWrapping&&h.childNodes.length>100){for(var i=document.createDocumentFragment(),j=10,k=h.childNodes.length,l=0,m=Math.ceil(k/j);m>l;++l){for(var n=gf("div",null,null,"display: inline-block"),o=0;j>o&&k;++o)n.appendChild(h.firstChild),--k;i.appendChild(n)}h.appendChild(i)}jf(f.measure,h);var p=lf(f.lineDiv),q=[],r=af(e.text.length),s=h.offsetHeight;d&&f.measure.first!=h&&jf(f.measure,h);for(var v,l=0;l<g.length;++l)if(v=g[l]){var w=v,x=null;if(/\bCodeMirror-widget\b/.test(v.className)&&v.getClientRects){1==v.firstChild.nodeType&&(w=v.firstChild);var y=w.getClientRects();y.length>1&&(x=r[l]=t(y[0]),x.rightSide=t(y[y.length-1]))}x||(x=r[l]=t(lf(w))),v.measureRight&&(x.right=lf(v.measureRight).left),v.leftSide&&(x.leftSide=t(lf(v.leftSide)))}for(var v,l=0;l<r.length;++l)(v=r[l])&&(u(v),v.leftSide&&u(v.leftSide),v.rightSide&&u(v.rightSide));return r}function mb(a,b){var c=!1;if(b.markedSpans)for(var d=0;d<b.markedSpans;++d){var e=b.markedSpans[d];!e.collapsed||null!=e.to&&e.to!=b.text.length||(c=!0)}var f=!c&&ib(a,b);if(f)return hb(a,b,b.text.length,f.measure,"right").right;var g=Td(a,b,null,!0),h=g.appendChild(rf(a.display.measure));return jf(a.display.measure,g),lf(h).right-lf(a.display.lineDiv).left}function nb(a){a.display.measureLineCache.length=a.display.measureLineCachePos=0,a.display.cachedCharWidth=a.display.cachedTextHeight=null,a.options.lineWrapping||(a.display.maxLineChanged=!0),a.display.lineNumChars=null}function ob(){return window.pageXOffset||(document.documentElement||document.body).scrollLeft}function pb(){return window.pageYOffset||(document.documentElement||document.body).scrollTop}function qb(a,b,c,d){if(b.widgets)for(var e=0;e<b.widgets.length;++e)if(b.widgets[e].above){var f=Id(b.widgets[e]);c.top+=f,c.bottom+=f}if("line"==d)return c;d||(d="local");var g=ne(a,b);if("local"==d?g+=eb(a.display):g-=a.display.viewOffset,"page"==d||"window"==d){var h=lf(a.display.lineSpace);g+=h.top+("window"==d?0:pb());var i=h.left+("window"==d?0:ob());c.left+=i,c.right+=i}return c.top+=g,c.bottom+=g,c}function rb(a,b,c){if("div"==c)return b;var d=b.left,e=b.top;if("page"==c)d-=ob(),e-=pb();else if("local"==c||!c){var f=lf(a.display.sizer);d+=f.left,e+=f.top}var g=lf(a.display.lineSpace);return{left:d-g.left,top:e-g.top}}function sb(a,b,c,d,e){return d||(d=he(a.doc,b.line)),qb(a,d,hb(a,d,b.ch,null,e),c)}function tb(a,b,c,d,e){function f(b,f){var g=hb(a,d,b,e,f?"right":"left");return f?g.left=g.right:g.right=g.left,qb(a,d,g,c)}function g(a,b){var c=h[b],d=c.level%2;return a==xf(c)&&b&&c.level<h[b-1].level?(c=h[--b],a=yf(c)-(c.level%2?0:1),d=!0):a==yf(c)&&b<h.length-1&&c.level<h[b+1].level&&(c=h[++b],a=xf(c)-c.level%2,d=!1),d&&a==c.to&&a>c.from?f(a-1):f(a,d)}d=d||he(a.doc,b.line),e||(e=kb(a,d));var h=oe(d),i=b.ch;if(!h)return f(i);var j=Ff(h,i),k=g(i,j);return null!=Ef&&(k.other=g(i,Ef)),k}function ub(a,b,c,d){var e=new xc(a,b);return e.xRel=d,c&&(e.outside=!0),e}function vb(a,b,c){var d=a.doc;if(c+=a.display.viewOffset,0>c)return ub(d.first,0,!0,-1);var e=me(d,c),f=d.first+d.size-1;if(e>f)return ub(d.first+d.size-1,he(d,f).text.length,!0,1);for(0>b&&(b=0);;){var g=he(d,e),h=wb(a,g,e,b,c),i=Ad(g),j=i&&i.find();if(!i||!(h.ch>j.from.ch||h.ch==j.from.ch&&h.xRel>0))return h;e=j.to.line}}function wb(a,b,c,d,e){function j(d){var e=tb(a,xc(c,d),"line",b,i);return g=!0,f>e.bottom?e.left-h:f<e.top?e.left+h:(g=!1,e.left)}var f=e-ne(a,b),g=!1,h=2*a.display.wrapper.clientWidth,i=kb(a,b),k=oe(b),l=b.text.length,m=zf(b),n=Af(b),o=j(m),p=g,q=j(n),r=g;if(d>q)return ub(c,n,r,1);for(;;){if(k?n==m||n==Hf(b,m,1):1>=n-m){for(var s=o>d||q-d>=d-o?m:n,t=d-(s==m?o:q);ff.test(b.text.charAt(s));)++s;var u=ub(c,s,s==m?p:r,0>t?-1:t?1:0);return u}var v=Math.ceil(l/2),w=m+v;if(k){w=m;for(var x=0;v>x;++x)w=Hf(b,w,1)}var y=j(w);y>d?(n=w,q=y,(r=g)&&(q+=1e3),l=v):(m=w,o=y,p=g,l-=v)}}function yb(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==xb){xb=gf("pre");for(var b=0;49>b;++b)xb.appendChild(document.createTextNode("x")),xb.appendChild(gf("br"));xb.appendChild(document.createTextNode("x"))}jf(a.measure,xb);var c=xb.offsetHeight/50;return c>3&&(a.cachedTextHeight=c),hf(a.measure),c||1}function zb(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth;var b=gf("span","x"),c=gf("pre",[b]);jf(a.measure,c);var d=b.offsetWidth;return d>2&&(a.cachedCharWidth=d),d||10}function Bb(a){a.curOp={changes:[],forceUpdate:!1,updateInput:null,userSelChange:null,textChanged:null,selectionChanged:!1,cursorActivity:!1,updateMaxLine:!1,updateScrollPos:!1,id:++Ab},Le++||(Ke=[])}function Cb(a){var b=a.curOp,c=a.doc,d=a.display;if(a.curOp=null,b.updateMaxLine&&H(a),d.maxLineChanged&&!a.options.lineWrapping&&d.maxLine){var e=mb(a,d.maxLine);d.sizer.style.minWidth=Math.max(0,e+3+Re)+"px",d.maxLineChanged=!1;var f=Math.max(0,d.sizer.offsetLeft+d.sizer.offsetWidth-d.scroller.clientWidth);f<c.scrollLeft&&!b.updateScrollPos&&Yb(a,Math.min(d.scroller.scrollLeft,f),!0)}var g,h;if(b.updateScrollPos)g=b.updateScrollPos;else if(b.selectionChanged&&d.scroller.clientHeight){var i=tb(a,c.sel.head);g=Nc(a,i.left,i.top,i.left,i.bottom)}(b.changes.length||b.forceUpdate||g&&null!=g.scrollTop)&&(h=P(a,b.changes,g&&g.scrollTop,b.forceUpdate),a.display.scroller.offsetHeight&&(a.doc.scrollTop=a.display.scroller.scrollTop)),!h&&b.selectionChanged&&Y(a),b.updateScrollPos?(d.scroller.scrollTop=d.scrollbarV.scrollTop=c.scrollTop=g.scrollTop,d.scroller.scrollLeft=d.scrollbarH.scrollLeft=c.scrollLeft=g.scrollLeft,L(a),b.scrollToPos&&Lc(a,Cc(a.doc,b.scrollToPos),b.scrollToPosMargin)):g&&Kc(a),b.selectionChanged&&_(a),a.state.focused&&b.updateInput&&Kb(a,b.userSelChange);var j=b.maybeHiddenMarkers,k=b.maybeUnhiddenMarkers;if(j)for(var l=0;l<j.length;++l)j[l].lines.length||Je(j[l],"hide");if(k)for(var l=0;l<k.length;++l)k[l].lines.length&&Je(k[l],"unhide");var m;if(--Le||(m=Ke,Ke=null),b.textChanged&&Je(a,"change",a,b.textChanged),b.cursorActivity&&Je(a,"cursorActivity",a),m)for(var l=0;l<m.length;++l)m[l]()}function Db(a,b){return function(){var c=a||this,d=!c.curOp;d&&Bb(c);try{var e=b.apply(c,arguments)}finally{d&&Cb(c)}return e}}function Eb(a){return function(){var c,b=this.cm&&!this.cm.curOp;b&&Bb(this.cm);try{c=a.apply(this,arguments)}finally{b&&Cb(this.cm)}return c}}function Fb(a,b){var d,c=!a.curOp;c&&Bb(a);try{d=b()}finally{c&&Cb(a)}return d}function Gb(a,b,c,d){null==b&&(b=a.doc.first),null==c&&(c=a.doc.first+a.doc.size),a.curOp.changes.push({from:b,to:c,diff:d})}function Hb(a){a.display.pollingFast||a.display.poll.set(a.options.pollInterval,function(){Jb(a),a.state.focused&&Hb(a)})}function Ib(a){function c(){var d=Jb(a);d||b?(a.display.pollingFast=!1,Hb(a)):(b=!0,a.display.poll.set(60,c))}var b=!1;a.display.pollingFast=!0,a.display.poll.set(20,c)}function Jb(a){var c=a.display.input,e=a.display.prevInput,f=a.doc,g=f.sel;if(!a.state.focused||tf(c)||Mb(a)||a.state.disableInput)return!1;var h=c.value;if(h==e&&yc(g.from,g.to))return!1;if(b&&!d&&a.display.inputHasSelection===h)return Kb(a,!0),!1;var i=!a.curOp;i&&Bb(a),g.shift=!1;for(var j=0,k=Math.min(e.length,h.length);k>j&&e.charCodeAt(j)==h.charCodeAt(j);)++j;var l=g.from,m=g.to;j<e.length?l=xc(l.line,l.ch-(e.length-j)):a.state.overwrite&&yc(l,m)&&!a.state.pasteIncoming&&(m=xc(m.line,Math.min(he(f,m.line).text.length,m.ch+(h.length-j))));var n=a.curOp.updateInput,o={from:l,to:m,text:sf(h.slice(j)),origin:a.state.pasteIncoming?"paste":"+input"};return qc(a.doc,o,"end"),a.curOp.updateInput=n,Me(a,"inputRead",a,o),h.length>1e3||h.indexOf("\n")>-1?c.value=a.display.prevInput="":a.display.prevInput=h,i&&Cb(a),a.state.pasteIncoming=!1,!0}function Kb(a,c){var e,f,g=a.doc;if(yc(g.sel.from,g.sel.to))c&&(a.display.prevInput=a.display.input.value="",b&&!d&&(a.display.inputHasSelection=null));else{a.display.prevInput="",e=uf&&(g.sel.to.line-g.sel.from.line>100||(f=a.getSelection()).length>1e3);var h=e?"-":f||a.getSelection();a.display.input.value=h,a.state.focused&&Ye(a.display.input),b&&!d&&(a.display.inputHasSelection=h)}a.display.inaccurateSelection=e}function Lb(a){"nocursor"==a.options.readOnly||o&&document.activeElement==a.display.input||a.display.input.focus()}function Mb(a){return a.options.readOnly||a.doc.cantEdit}function Nb(a){function d(){a.state.focused&&setTimeout(bf(Lb,a),0)}function f(){null==e&&(e=setTimeout(function(){e=null,c.cachedCharWidth=c.cachedTextHeight=of=null,nb(a),Fb(a,bf(Gb,a))},100))}function g(){for(var a=c.wrapper.parentNode;a&&a!=document.body;a=a.parentNode);a?setTimeout(g,5e3):Ie(window,"resize",f)}function h(b){Ne(a,b)||a.options.onDragEvent&&a.options.onDragEvent(a,Ae(b))||Ee(b)}function i(){c.inaccurateSelection&&(c.prevInput="",c.inaccurateSelection=!1,c.input.value=a.getSelection(),Ye(c.input))}var c=a.display;He(c.scroller,"mousedown",Db(a,Sb)),b?He(c.scroller,"dblclick",Db(a,function(b){if(!Ne(a,b)){var c=Pb(a,b);if(c&&!Tb(a,b)&&!Ob(a.display,b)){Be(b);var d=Uc(he(a.doc,c.line).text,c);Fc(a.doc,d.from,d.to)}}})):He(c.scroller,"dblclick",function(b){Ne(a,b)||Be(b)}),He(c.lineSpace,"selectstart",function(a){Ob(c,a)||Be(a)}),t||He(c.scroller,"contextmenu",function(b){lc(a,b)}),He(c.scroller,"scroll",function(){c.scroller.clientHeight&&(Xb(a,c.scroller.scrollTop),Yb(a,c.scroller.scrollLeft,!0),Je(a,"scroll",a))}),He(c.scrollbarV,"scroll",function(){c.scroller.clientHeight&&Xb(a,c.scrollbarV.scrollTop)}),He(c.scrollbarH,"scroll",function(){c.scroller.clientHeight&&Yb(a,c.scrollbarH.scrollLeft)}),He(c.scroller,"mousewheel",function(b){_b(a,b)}),He(c.scroller,"DOMMouseScroll",function(b){_b(a,b)}),He(c.scrollbarH,"mousedown",d),He(c.scrollbarV,"mousedown",d),He(c.wrapper,"scroll",function(){c.wrapper.scrollTop=c.wrapper.scrollLeft=0});var e;He(window,"resize",f),setTimeout(g,5e3),He(c.input,"keyup",Db(a,function(b){Ne(a,b)||a.options.onKeyEvent&&a.options.onKeyEvent(a,Ae(b))||16==b.keyCode&&(a.doc.sel.shift=!1)})),He(c.input,"input",bf(Ib,a)),He(c.input,"keydown",Db(a,gc)),He(c.input,"keypress",Db(a,hc)),He(c.input,"focus",bf(ic,a)),He(c.input,"blur",bf(jc,a)),a.options.dragDrop&&(He(c.scroller,"dragstart",function(b){Wb(a,b)}),He(c.scroller,"dragenter",h),He(c.scroller,"dragover",h),He(c.scroller,"drop",Db(a,Vb))),He(c.scroller,"paste",function(b){Ob(c,b)||(Lb(a),Ib(a))}),He(c.input,"paste",function(){a.state.pasteIncoming=!0,Ib(a)}),He(c.input,"cut",i),He(c.input,"copy",i),j&&He(c.sizer,"mouseup",function(){document.activeElement==c.input&&c.input.blur(),Lb(a)})}function Ob(a,b){for(var c=Fe(b);c!=a.wrapper;c=c.parentNode)if(!c||c.ignoreEvents||c.parentNode==a.sizer&&c!=a.mover)return!0}function Pb(a,b,c){var d=a.display;if(!c){var e=Fe(b);if(e==d.scrollbarH||e==d.scrollbarH.firstChild||e==d.scrollbarV||e==d.scrollbarV.firstChild||e==d.scrollbarFiller||e==d.gutterFiller)return null}var f,g,h=lf(d.lineSpace);try{f=b.clientX,g=b.clientY}catch(b){return null}return vb(a,f-h.left,g-h.top)}function Sb(a){function q(a){if(!yc(p,a)){if(p=a,"single"==j)return Fc(c.doc,Cc(f,h),a),void 0;if(n=Cc(f,n),o=Cc(f,o),"double"==j){var b=Uc(he(f,a.line).text,a);zc(a,n)?Fc(c.doc,b.from,o):Fc(c.doc,n,b.to)}else"triple"==j&&(zc(a,n)?Fc(c.doc,o,Cc(f,xc(a.line,0))):Fc(c.doc,n,Cc(f,xc(a.line+1,0))))}}function u(a){var b=++s,e=Pb(c,a,!0);if(e)if(yc(e,l)){var h=a.clientY<r.top?-20:a.clientY>r.bottom?20:0;h&&setTimeout(Db(c,function(){s==b&&(d.scroller.scrollTop+=h,u(a))}),50)}else{c.state.focused||ic(c),l=e,q(e);var g=K(d,f);(e.line>=g.to||e.line<g.from)&&setTimeout(Db(c,function(){s==b&&u(a)}),150)}}function v(a){s=1/0,Be(a),Lb(c),Ie(document,"mousemove",w),Ie(document,"mouseup",x)}if(!Ne(this,a)){var c=this,d=c.display,f=c.doc,g=f.sel;if(g.shift=a.shiftKey,Ob(d,a))return e||(d.scroller.draggable=!1,setTimeout(function(){d.scroller.draggable=!0},100)),void 0;if(!Tb(c,a)){var h=Pb(c,a);switch(Ge(a)){case 3:return t&&lc.call(c,c,a),void 0;case 2:return h&&Fc(c.doc,h),setTimeout(bf(Lb,c),20),Be(a),void 0}if(!h)return Fe(a)==d.scroller&&Be(a),void 0;c.state.focused||ic(c);var i=+new Date,j="single";if(Rb&&Rb.time>i-400&&yc(Rb.pos,h))j="triple",Be(a),setTimeout(bf(Lb,c),20),Vc(c,h.line);else if(Qb&&Qb.time>i-400&&yc(Qb.pos,h)){j="double",Rb={time:i,pos:h},Be(a);var k=Uc(he(f,h.line).text,h);Fc(c.doc,k.from,k.to)}else Qb={time:i,pos:h};var l=h;if(c.options.dragDrop&&mf&&!Mb(c)&&!yc(g.from,g.to)&&!zc(h,g.from)&&!zc(g.to,h)&&"single"==j){var m=Db(c,function(b){e&&(d.scroller.draggable=!1),c.state.draggingText=!1,Ie(document,"mouseup",m),Ie(d.scroller,"drop",m),Math.abs(a.clientX-b.clientX)+Math.abs(a.clientY-b.clientY)<10&&(Be(b),Fc(c.doc,h),Lb(c))
2
- });return e&&(d.scroller.draggable=!0),c.state.draggingText=m,d.scroller.dragDrop&&d.scroller.dragDrop(),He(document,"mouseup",m),He(d.scroller,"drop",m),void 0}Be(a),"single"==j&&Fc(c.doc,Cc(f,h));var n=g.from,o=g.to,p=h,r=lf(d.wrapper),s=0,w=Db(c,function(a){b||Ge(a)?u(a):v(a)}),x=Db(c,v);He(document,"mousemove",w),He(document,"mouseup",x)}}}function Tb(a,b){var c=a.display;try{var d=b.clientX,e=b.clientY}catch(b){return!1}if(d>=Math.floor(lf(c.gutters).right))return!1;if(Be(b),!Pe(a,"gutterClick"))return!0;var f=lf(c.lineDiv);if(e>f.bottom)return!0;e-=f.top-c.viewOffset;for(var g=0;g<a.options.gutters.length;++g){var h=c.gutters.childNodes[g];if(h&&lf(h).right>=d){var i=me(a.doc,e),j=a.options.gutters[g];Me(a,"gutterClick",a,i,j,b);break}}return!0}function Vb(a){var c=this;if(!(Ne(c,a)||Ob(c.display,a)||c.options.onDragEvent&&c.options.onDragEvent(c,Ae(a)))){Be(a),b&&(Ub=+new Date);var d=Pb(c,a,!0),e=a.dataTransfer.files;if(d&&!Mb(c))if(e&&e.length&&window.FileReader&&window.File)for(var f=e.length,g=Array(f),h=0,i=function(a,b){var e=new FileReader;e.onload=function(){g[b]=e.result,++h==f&&(d=Cc(c.doc,d),qc(c.doc,{from:d,to:d,text:sf(g.join("\n")),origin:"paste"},"around"))},e.readAsText(a)},j=0;f>j;++j)i(e[j],j);else{if(c.state.draggingText&&!zc(d,c.doc.sel.from)&&!zc(c.doc.sel.to,d))return c.state.draggingText(a),setTimeout(bf(Lb,c),20),void 0;try{var g=a.dataTransfer.getData("Text");if(g){var k=c.doc.sel.from,l=c.doc.sel.to;Hc(c.doc,d,d),c.state.draggingText&&wc(c.doc,"",k,l,"paste"),c.replaceSelection(g,null,"paste"),Lb(c),ic(c)}}catch(a){}}}}function Wb(a,c){if(b&&(!a.state.draggingText||+new Date-Ub<100))return Ee(c),void 0;if(!Ne(a,c)&&!Ob(a.display,c)){var d=a.getSelection();if(c.dataTransfer.setData("Text",d),c.dataTransfer.setDragImage&&!i){var e=gf("img",null,null,"position: fixed; left: 0; top: 0;");h&&(e.width=e.height=1,a.display.wrapper.appendChild(e),e._top=e.offsetTop),c.dataTransfer.setDragImage(e,0,0),h&&e.parentNode.removeChild(e)}}}function Xb(b,c){Math.abs(b.doc.scrollTop-c)<2||(b.doc.scrollTop=c,a||P(b,[],c),b.display.scroller.scrollTop!=c&&(b.display.scroller.scrollTop=c),b.display.scrollbarV.scrollTop!=c&&(b.display.scrollbarV.scrollTop=c),a&&P(b,[]),ab(b,100))}function Yb(a,b,c){(c?b==a.doc.scrollLeft:Math.abs(a.doc.scrollLeft-b)<2)||(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,L(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbarH.scrollLeft!=b&&(a.display.scrollbarH.scrollLeft=b))}function _b(b,c){var d=c.wheelDeltaX,f=c.wheelDeltaY;null==d&&c.detail&&c.axis==c.HORIZONTAL_AXIS&&(d=c.detail),null==f&&c.detail&&c.axis==c.VERTICAL_AXIS?f=c.detail:null==f&&(f=c.wheelDelta);var g=b.display,i=g.scroller;if(d&&i.scrollWidth>i.clientWidth||f&&i.scrollHeight>i.clientHeight){if(f&&p&&e)for(var j=c.target;j!=i;j=j.parentNode)if(j.lineObj){b.display.currentWheelTarget=j;break}if(d&&!a&&!h&&null!=$b)return f&&Xb(b,Math.max(0,Math.min(i.scrollTop+f*$b,i.scrollHeight-i.clientHeight))),Yb(b,Math.max(0,Math.min(i.scrollLeft+d*$b,i.scrollWidth-i.clientWidth))),Be(c),g.wheelStartX=null,void 0;if(f&&null!=$b){var k=f*$b,l=b.doc.scrollTop,m=l+g.wrapper.clientHeight;0>k?l=Math.max(0,l+k-50):m=Math.min(b.doc.height,m+k+50),P(b,[],{top:l,bottom:m})}20>Zb&&(null==g.wheelStartX?(g.wheelStartX=i.scrollLeft,g.wheelStartY=i.scrollTop,g.wheelDX=d,g.wheelDY=f,setTimeout(function(){if(null!=g.wheelStartX){var a=i.scrollLeft-g.wheelStartX,b=i.scrollTop-g.wheelStartY,c=b&&g.wheelDY&&b/g.wheelDY||a&&g.wheelDX&&a/g.wheelDX;g.wheelStartX=g.wheelStartY=null,c&&($b=($b*Zb+c)/(Zb+1),++Zb)}},200)):(g.wheelDX+=d,g.wheelDY+=f))}}function ac(a,b,c){if("string"==typeof b&&(b=fd[b],!b))return!1;a.display.pollingFast&&Jb(a)&&(a.display.pollingFast=!1);var d=a.doc,e=d.sel.shift,f=!1;try{Mb(a)&&(a.state.suppressEdits=!0),c&&(d.sel.shift=!1),f=b(a)!=Se}finally{d.sel.shift=e,a.state.suppressEdits=!1}return f}function bc(a){var b=a.state.keyMaps.slice(0);return a.options.extraKeys&&b.push(a.options.extraKeys),b.push(a.options.keyMap),b}function dc(a,b){var c=hd(a.options.keyMap),e=c.auto;clearTimeout(cc),e&&!jd(b)&&(cc=setTimeout(function(){hd(a.options.keyMap)==c&&(a.options.keyMap=e.call?e.call(null,a):e,C(a))},50));var f=kd(b,!0),g=!1;if(!f)return!1;var h=bc(a);return g=b.shiftKey?id("Shift-"+f,h,function(b){return ac(a,b,!0)})||id(f,h,function(b){return("string"==typeof b?/^go[A-Z]/.test(b):b.motion)?ac(a,b):void 0}):id(f,h,function(b){return ac(a,b)}),g&&(Be(b),_(a),d&&(b.oldKeyCode=b.keyCode,b.keyCode=0),Me(a,"keyHandled",a,f,b)),g}function ec(a,b,c){var d=id("'"+c+"'",bc(a),function(b){return ac(a,b,!0)});return d&&(Be(b),_(a),Me(a,"keyHandled",a,"'"+c+"'",b)),d}function gc(a){var c=this;if(c.state.focused||ic(c),b&&27==a.keyCode&&(a.returnValue=!1),!(Ne(c,a)||c.options.onKeyEvent&&c.options.onKeyEvent(c,Ae(a)))){var d=a.keyCode;c.doc.sel.shift=16==d||a.shiftKey;var e=dc(c,a);h&&(fc=e?d:null,!e&&88==d&&!uf&&(p?a.metaKey:a.ctrlKey)&&c.replaceSelection(""))}}function hc(a){var c=this;if(!(Ne(c,a)||c.options.onKeyEvent&&c.options.onKeyEvent(c,Ae(a)))){var e=a.keyCode,f=a.charCode;if(h&&e==fc)return fc=null,Be(a),void 0;if(!(h&&(!a.which||a.which<10)||j)||!dc(c,a)){var g=String.fromCharCode(null==f?e:f);this.options.electricChars&&this.doc.mode.electricChars&&this.options.smartIndent&&!Mb(this)&&this.doc.mode.electricChars.indexOf(g)>-1&&setTimeout(Db(c,function(){Qc(c,c.doc.sel.to.line,"smart")}),75),ec(c,a,g)||(b&&!d&&(c.display.inputHasSelection=null),Ib(c))}}}function ic(a){"nocursor"!=a.options.readOnly&&(a.state.focused||(Je(a,"focus",a),a.state.focused=!0,-1==a.display.wrapper.className.search(/\bCodeMirror-focused\b/)&&(a.display.wrapper.className+=" CodeMirror-focused"),Kb(a,!0)),Hb(a),_(a))}function jc(a){a.state.focused&&(Je(a,"blur",a),a.state.focused=!1,a.display.wrapper.className=a.display.wrapper.className.replace(" CodeMirror-focused","")),clearInterval(a.display.blinker),setTimeout(function(){a.state.focused||(a.doc.sel.shift=!1)},150)}function lc(a,c){function k(){if(null!=e.input.selectionStart){var a=e.input.value=" "+(yc(f.from,f.to)?"":e.input.value);e.prevInput=" ",e.input.selectionStart=1,e.input.selectionEnd=a.length}}function l(){if(e.inputDiv.style.position="relative",e.input.style.cssText=j,d&&(e.scrollbarV.scrollTop=e.scroller.scrollTop=i),Hb(a),null!=e.input.selectionStart){(!b||d)&&k(),clearTimeout(kc);var c=0,f=function(){" "==e.prevInput&&0==e.input.selectionStart?Db(a,fd.selectAll)(a):c++<10?kc=setTimeout(f,500):Kb(a)};kc=setTimeout(f,200)}}if(!Ne(a,c,"contextmenu")){var e=a.display,f=a.doc.sel;if(!Ob(e,c)){var g=Pb(a,c),i=e.scroller.scrollTop;if(g&&!h){(yc(f.from,f.to)||zc(g,f.from)||!zc(g,f.to))&&Db(a,Hc)(a.doc,g,g);var j=e.input.style.cssText;if(e.inputDiv.style.position="absolute",e.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(c.clientY-5)+"px; left: "+(c.clientX-5)+"px; z-index: 1000; background: white; outline: none;"+"border-width: 0; outline: none; overflow: hidden; opacity: .05; -ms-opacity: .05; filter: alpha(opacity=5);",Lb(a),Kb(a,!0),yc(f.from,f.to)&&(e.input.value=e.prevInput=" "),b&&!d&&k(),t){Ee(c);var m=function(){Ie(window,"mouseup",m),setTimeout(l,20)};He(window,"mouseup",m)}else setTimeout(l,50)}}}}function nc(a,b,c){if(!zc(b.from,c))return Cc(a,c);var d=b.text.length-1-(b.to.line-b.from.line);if(c.line>b.to.line+d){var e=c.line-d,f=a.first+a.size-1;return e>f?xc(f,he(a,f).text.length):Dc(c,he(a,e).text.length)}if(c.line==b.to.line+d)return Dc(c,Xe(b.text).length+(1==b.text.length?b.from.ch:0)+he(a,b.to.line).text.length-b.to.ch);var g=c.line-b.from.line;return Dc(c,b.text[g].length+(g?0:b.from.ch))}function oc(a,b,c){if(c&&"object"==typeof c)return{anchor:nc(a,b,c.anchor),head:nc(a,b,c.head)};if("start"==c)return{anchor:b.from,head:b.from};var d=mc(b);if("around"==c)return{anchor:b.from,head:d};if("end"==c)return{anchor:d,head:d};var e=function(a){if(zc(a,b.from))return a;if(!zc(b.to,a))return d;var c=a.line+b.text.length-(b.to.line-b.from.line)-1,e=a.ch;return a.line==b.to.line&&(e+=d.ch-b.to.ch),xc(c,e)};return{anchor:e(a.sel.anchor),head:e(a.sel.head)}}function pc(a,b,c){var d={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){this.canceled=!0}};return c&&(d.update=function(b,c,d,e){b&&(this.from=Cc(a,b)),c&&(this.to=Cc(a,c)),d&&(this.text=d),void 0!==e&&(this.origin=e)}),Je(a,"beforeChange",a,d),a.cm&&Je(a.cm,"beforeChange",a.cm,d),d.canceled?null:{from:d.from,to:d.to,text:d.text,origin:d.origin}}function qc(a,b,c,d){if(a.cm){if(!a.cm.curOp)return Db(a.cm,qc)(a,b,c,d);if(a.cm.state.suppressEdits)return}if(!(Pe(a,"beforeChange")||a.cm&&Pe(a.cm,"beforeChange"))||(b=pc(a,b,!0))){var e=u&&!d&&xd(a,b.from,b.to);if(e){for(var f=e.length-1;f>=1;--f)rc(a,{from:e[f].from,to:e[f].to,text:[""]});e.length&&rc(a,{from:e[0].from,to:e[0].to,text:b.text},c)}else rc(a,b,c)}}function rc(a,b,c){var d=oc(a,b,c);se(a,b,d,a.cm?a.cm.curOp.id:0/0),uc(a,b,d,vd(a,b));var e=[];fe(a,function(a,c){c||-1!=Ze(e,a.history)||(ye(a.history,b),e.push(a.history)),uc(a,b,null,vd(a,b))})}function sc(a,b){if(!a.cm||!a.cm.state.suppressEdits){var c=a.history,d=("undo"==b?c.done:c.undone).pop();if(d){var e={changes:[],anchorBefore:d.anchorAfter,headBefore:d.headAfter,anchorAfter:d.anchorBefore,headAfter:d.headBefore,generation:c.generation};("undo"==b?c.undone:c.done).push(e),c.generation=d.generation||++c.maxGeneration;for(var f=Pe(a,"beforeChange")||a.cm&&Pe(a.cm,"beforeChange"),g=d.changes.length-1;g>=0;--g){var h=d.changes[g];if(h.origin=b,f&&!pc(a,h,!1))return("undo"==b?c.done:c.undone).length=0,void 0;e.changes.push(re(a,h));var i=g?oc(a,h,null):{anchor:d.anchorBefore,head:d.headBefore};uc(a,h,i,wd(a,h));var j=[];fe(a,function(a,b){b||-1!=Ze(j,a.history)||(ye(a.history,h),j.push(a.history)),uc(a,h,null,wd(a,h))})}}}}function tc(a,b){function c(a){return xc(a.line+b,a.ch)}a.first+=b,a.cm&&Gb(a.cm,a.first,a.first,b),a.sel.head=c(a.sel.head),a.sel.anchor=c(a.sel.anchor),a.sel.from=c(a.sel.from),a.sel.to=c(a.sel.to)}function uc(a,b,c,d){if(a.cm&&!a.cm.curOp)return Db(a.cm,uc)(a,b,c,d);if(b.to.line<a.first)return tc(a,b.text.length-1-(b.to.line-b.from.line)),void 0;if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);tc(a,e),b={from:xc(a.first,0),to:xc(b.to.line+e,b.to.ch),text:[Xe(b.text)],origin:b.origin}}var f=a.lastLine();b.to.line>f&&(b={from:b.from,to:xc(f,he(a,f).text.length),text:[b.text[0]],origin:b.origin}),b.removed=ie(a,b.from,b.to),c||(c=oc(a,b,null)),a.cm?vc(a.cm,b,d,c):$d(a,b,d,c)}}function vc(a,b,c,d){var e=a.doc,f=a.display,g=b.from,h=b.to,i=!1,j=g.line;a.options.lineWrapping||(j=le(Bd(e,he(e,g.line))),e.iter(j,h.line+1,function(a){return a==f.maxLine?(i=!0,!0):void 0})),zc(e.sel.head,b.from)||zc(b.to,e.sel.head)||(a.curOp.cursorActivity=!0),$d(e,b,c,d,A(a)),a.options.lineWrapping||(e.iter(j,g.line+b.text.length,function(a){var b=G(e,a);b>f.maxLineLength&&(f.maxLine=a,f.maxLineLength=b,f.maxLineChanged=!0,i=!1)}),i&&(a.curOp.updateMaxLine=!0)),e.frontier=Math.min(e.frontier,g.line),ab(a,400);var k=b.text.length-(h.line-g.line)-1;if(Gb(a,g.line,h.line+1,k),Pe(a,"change")){var l={from:g,to:h,text:b.text,removed:b.removed,origin:b.origin};if(a.curOp.textChanged){for(var m=a.curOp.textChanged;m.next;m=m.next);m.next=l}else a.curOp.textChanged=l}}function wc(a,b,c,d,e){if(d||(d=c),zc(d,c)){var f=d;d=c,c=f}"string"==typeof b&&(b=sf(b)),qc(a,{from:c,to:d,text:b,origin:e},null)}function xc(a,b){return this instanceof xc?(this.line=a,this.ch=b,void 0):new xc(a,b)}function yc(a,b){return a.line==b.line&&a.ch==b.ch}function zc(a,b){return a.line<b.line||a.line==b.line&&a.ch<b.ch}function Ac(a){return xc(a.line,a.ch)}function Bc(a,b){return Math.max(a.first,Math.min(b,a.first+a.size-1))}function Cc(a,b){if(b.line<a.first)return xc(a.first,0);var c=a.first+a.size-1;return b.line>c?xc(c,he(a,c).text.length):Dc(b,he(a,b.line).text.length)}function Dc(a,b){var c=a.ch;return null==c||c>b?xc(a.line,b):0>c?xc(a.line,0):a}function Ec(a,b){return b>=a.first&&b<a.first+a.size}function Fc(a,b,c,d){if(a.sel.shift||a.sel.extend){var e=a.sel.anchor;if(c){var f=zc(b,e);f!=zc(c,e)?(e=b,b=c):f!=zc(b,c)&&(b=c)}Hc(a,e,b,d)}else Hc(a,b,c||b,d);a.cm&&(a.cm.curOp.userSelChange=!0)}function Gc(a,b,c){var d={anchor:b,head:c};return Je(a,"beforeSelectionChange",a,d),a.cm&&Je(a.cm,"beforeSelectionChange",a.cm,d),d.anchor=Cc(a,d.anchor),d.head=Cc(a,d.head),d}function Hc(a,b,c,d,e){if(!e&&Pe(a,"beforeSelectionChange")||a.cm&&Pe(a.cm,"beforeSelectionChange")){var f=Gc(a,b,c);c=f.head,b=f.anchor}var g=a.sel;if(g.goalColumn=null,(e||!yc(b,g.anchor))&&(b=Jc(a,b,d,"push"!=e)),(e||!yc(c,g.head))&&(c=Jc(a,c,d,"push"!=e)),!yc(g.anchor,b)||!yc(g.head,c)){g.anchor=b,g.head=c;var h=zc(c,b);g.from=h?c:b,g.to=h?b:c,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=a.cm.curOp.cursorActivity=!0),Me(a,"cursorActivity",a)}}function Ic(a){Hc(a.doc,a.doc.sel.from,a.doc.sel.to,null,"push")}function Jc(a,b,c,d){var e=!1,f=b,g=c||1;a.cantEdit=!1;a:for(;;){var h=he(a,f.line);if(h.markedSpans)for(var i=0;i<h.markedSpans.length;++i){var j=h.markedSpans[i],k=j.marker;if((null==j.from||(k.inclusiveLeft?j.from<=f.ch:j.from<f.ch))&&(null==j.to||(k.inclusiveRight?j.to>=f.ch:j.to>f.ch))){if(d&&(Je(k,"beforeCursorEnter"),k.explicitlyCleared)){if(h.markedSpans){--i;continue}break}if(!k.atomic)continue;var l=k.find()[0>g?"from":"to"];if(yc(l,f)&&(l.ch+=g,l.ch<0?l=l.line>a.first?Cc(a,xc(l.line-1)):null:l.ch>h.text.length&&(l=l.line<a.first+a.size-1?xc(l.line+1,0):null),!l)){if(e)return d?(a.cantEdit=!0,xc(a.first,0)):Jc(a,b,c,!0);e=!0,l=b,g=-g}f=l;continue a}}return f}}function Kc(a){var b=Lc(a,a.doc.sel.head,a.options.cursorScrollMargin);if(a.state.focused){var c=a.display,d=lf(c.sizer),e=null;if(b.top+d.top<0?e=!0:b.bottom+d.top>(window.innerHeight||document.documentElement.clientHeight)&&(e=!1),null!=e&&!m){var f="none"==c.cursor.style.display;f&&(c.cursor.style.display="",c.cursor.style.left=b.left+"px",c.cursor.style.top=b.top-c.viewOffset+"px"),c.cursor.scrollIntoView(e),f&&(c.cursor.style.display="none")}}}function Lc(a,b,c){for(null==c&&(c=0);;){var d=!1,e=tb(a,b),f=Nc(a,e.left,e.top-c,e.left,e.bottom+c),g=a.doc.scrollTop,h=a.doc.scrollLeft;if(null!=f.scrollTop&&(Xb(a,f.scrollTop),Math.abs(a.doc.scrollTop-g)>1&&(d=!0)),null!=f.scrollLeft&&(Yb(a,f.scrollLeft),Math.abs(a.doc.scrollLeft-h)>1&&(d=!0)),!d)return e}}function Mc(a,b,c,d,e){var f=Nc(a,b,c,d,e);null!=f.scrollTop&&Xb(a,f.scrollTop),null!=f.scrollLeft&&Yb(a,f.scrollLeft)}function Nc(a,b,c,d,e){var f=a.display,g=yb(a.display);0>c&&(c=0);var h=f.scroller.clientHeight-Re,i=f.scroller.scrollTop,j={},k=a.doc.height+fb(f),l=g>c,m=e>k-g;if(i>c)j.scrollTop=l?0:c;else if(e>i+h){var n=Math.min(c,(m?k:e)-h);n!=i&&(j.scrollTop=n)}var o=f.scroller.clientWidth-Re,p=f.scroller.scrollLeft;b+=f.gutters.offsetWidth,d+=f.gutters.offsetWidth;var q=f.gutters.offsetWidth,r=q+10>b;return p+q>b||r?(r&&(b=0),j.scrollLeft=Math.max(0,b-10-q)):d>o+p-3&&(j.scrollLeft=d+10-o),j}function Oc(a,b,c){a.curOp.updateScrollPos={scrollLeft:null==b?a.doc.scrollLeft:b,scrollTop:null==c?a.doc.scrollTop:c}}function Pc(a,b,c){var d=a.curOp.updateScrollPos||(a.curOp.updateScrollPos={scrollLeft:a.doc.scrollLeft,scrollTop:a.doc.scrollTop}),e=a.display.scroller;d.scrollTop=Math.max(0,Math.min(e.scrollHeight-e.clientHeight,d.scrollTop+c)),d.scrollLeft=Math.max(0,Math.min(e.scrollWidth-e.clientWidth,d.scrollLeft+b))}function Qc(a,b,c,d){var e=a.doc;if(null==c&&(c="add"),"smart"==c)if(a.doc.mode.indent)var f=db(a,b);else c="prev";var k,g=a.options.tabSize,h=he(e,b),i=Ue(h.text,null,g),j=h.text.match(/^\s*/)[0];if("smart"==c&&(k=a.doc.mode.indent(f,h.text.slice(j.length),h.text),k==Se)){if(!d)return;c="prev"}"prev"==c?k=b>e.first?Ue(he(e,b-1).text,null,g):0:"add"==c?k=i+a.options.indentUnit:"subtract"==c?k=i-a.options.indentUnit:"number"==typeof c&&(k=i+c),k=Math.max(0,k);var l="",m=0;if(a.options.indentWithTabs)for(var n=Math.floor(k/g);n;--n)m+=g,l+=" ";k>m&&(l+=We(k-m)),l!=j&&wc(a.doc,l,xc(b,0),xc(b,j.length),"+input"),h.stateAfter=null}function Rc(a,b,c){var d=b,e=b,f=a.doc;return"number"==typeof b?e=he(f,Bc(f,b)):d=le(b),null==d?null:c(e,d)?(Gb(a,d,d+1),e):null}function Sc(a,b,c,d,e){function k(){var b=f+c;return b<a.first||b>=a.first+a.size?j=!1:(f=b,i=he(a,b))}function l(a){var b=(e?Hf:If)(i,g,c,!0);if(null==b){if(a||!k())return j=!1;g=e?(0>c?Af:zf)(i):0>c?i.text.length:0}else g=b;return!0}var f=b.line,g=b.ch,h=c,i=he(a,f),j=!0;if("char"==d)l();else if("column"==d)l(!0);else if("word"==d||"group"==d)for(var m=null,n="group"==d,o=!0;!(0>c)||l(!o);o=!1){var p=i.text.charAt(g)||"\n",q=df(p)?"w":n?/\s/.test(p)?null:"p":null;if(m&&m!=q){0>c&&(c=1,l());break}if(q&&(m=q),c>0&&!l(!o))break}var r=Jc(a,xc(f,g),h,!0);return j||(r.hitSide=!0),r}function Tc(a,b,c,d){var g,e=a.doc,f=b.left;if("page"==d){var h=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);g=b.top+c*(h-(0>c?1.5:.5)*yb(a.display))}else"line"==d&&(g=c>0?b.bottom+3:b.top-3);for(;;){var i=vb(a,f,g);if(!i.outside)break;if(0>c?0>=g:g>=e.height){i.hitSide=!0;break}g+=5*c}return i}function Uc(a,b){var c=b.ch,d=b.ch;if(a){(b.xRel<0||d==a.length)&&c?--c:++d;for(var e=a.charAt(c),f=df(e)?df:/\s/.test(e)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!df(a)};c>0&&f(a.charAt(c-1));)--c;for(;d<a.length&&f(a.charAt(d));)++d}return{from:xc(b.line,c),to:xc(b.line,d)}}function Vc(a,b){Fc(a.doc,xc(b,0),Cc(a.doc,xc(b+1,0)))}function Yc(a,b,c,d){w.defaults[a]=b,c&&(Wc[a]=d?function(a,b,d){d!=Zc&&c(a,b,d)}:c)}function dd(a,b){if(b===!0)return b;if(a.copyState)return a.copyState(b);var c={};for(var d in b){var e=b[d];e instanceof Array&&(e=e.concat([])),c[d]=e}return c}function ed(a,b,c){return a.startState?a.startState(b,c):!0}function hd(a){return"string"==typeof a?gd[a]:a}function id(a,b,c){function d(b){b=hd(b);var e=b[a];if(e===!1)return"stop";if(null!=e&&c(e))return!0;if(b.nofallthrough)return"stop";var f=b.fallthrough;if(null==f)return!1;if("[object Array]"!=Object.prototype.toString.call(f))return d(f);for(var g=0,h=f.length;h>g;++g){var i=d(f[g]);if(i)return i}return!1}for(var e=0;e<b.length;++e){var f=d(b[e]);if(f)return"stop"!=f}}function jd(a){var b=vf[a.keyCode];return"Ctrl"==b||"Alt"==b||"Shift"==b||"Mod"==b}function kd(a,b){if(h&&34==a.keyCode&&a["char"])return!1;var c=vf[a.keyCode];return null==c||a.altGraphKey?!1:(a.altKey&&(c="Alt-"+c),(s?a.metaKey:a.ctrlKey)&&(c="Ctrl-"+c),(s?a.ctrlKey:a.metaKey)&&(c="Cmd-"+c),!b&&a.shiftKey&&(c="Shift-"+c),c)}function ld(a,b){this.pos=this.start=0,this.string=a,this.tabSize=b||8,this.lastColumnPos=this.lastColumnValue=0}function md(a,b){this.lines=[],this.type=b,this.doc=a}function nd(a,b,c,d,e){if(d&&d.shared)return pd(a,b,c,d,e);if(a.cm&&!a.cm.curOp)return Db(a.cm,nd)(a,b,c,d,e);var f=new md(a,e);if("range"==e&&!zc(b,c))return f;d&&_e(d,f),f.replacedWith&&(f.collapsed=!0,f.replacedWith=gf("span",[f.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||(f.replacedWith.ignoreEvents=!0)),f.collapsed&&(v=!0),f.addToHistory&&se(a,{from:b,to:c,origin:"markText"},{head:a.sel.head,anchor:a.sel.anchor},0/0);var i,j,l,g=b.line,h=0,k=a.cm;if(a.iter(g,c.line+1,function(d){k&&f.collapsed&&!k.options.lineWrapping&&Bd(a,d)==k.display.maxLine&&(l=!0);var e={from:null,to:null,marker:f};h+=d.text.length,g==b.line&&(e.from=b.ch,h-=b.ch),g==c.line&&(e.to=c.ch,h-=d.text.length-c.ch),f.collapsed&&(g==c.line&&(j=yd(d,c.ch)),g==b.line?i=yd(d,b.ch):ke(d,0)),sd(d,e),++g}),f.collapsed&&a.iter(b.line,c.line+1,function(b){Cd(a,b)&&ke(b,0)}),f.clearOnEnter&&He(f,"beforeCursorEnter",function(){f.clear()}),f.readOnly&&(u=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory()),f.collapsed){if(i!=j)throw new Error("Inserting collapsed marker overlapping an existing one");f.size=h,f.atomic=!0}return k&&(l&&(k.curOp.updateMaxLine=!0),(f.className||f.title||f.startStyle||f.endStyle||f.collapsed)&&Gb(k,b.line,c.line+1),f.atomic&&Ic(k)),f}function od(a,b){this.markers=a,this.primary=b;for(var c=0,d=this;c<a.length;++c)a[c].parent=this,He(a[c],"clear",function(){d.clear()})}function pd(a,b,c,d,e){d=_e(d),d.shared=!1;var f=[nd(a,b,c,d,e)],g=f[0],h=d.replacedWith;return fe(a,function(a){h&&(d.replacedWith=h.cloneNode(!0)),f.push(nd(a,Cc(a,b),Cc(a,c),d,e));for(var i=0;i<a.linked.length;++i)if(a.linked[i].isParent)return;g=Xe(f)}),new od(f,g)}function qd(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function rd(a,b){for(var c,d=0;d<a.length;++d)a[d]!=b&&(c||(c=[])).push(a[d]);return c}function sd(a,b){a.markedSpans=a.markedSpans?a.markedSpans.concat([b]):[b],b.marker.attachLine(a)}function td(a,b,c){if(a)for(var e,d=0;d<a.length;++d){var f=a[d],g=f.marker,h=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);if(h||"bookmark"==g.type&&f.from==b&&(!c||!f.marker.insertLeft)){var i=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);(e||(e=[])).push({from:f.from,to:i?null:f.to,marker:g})}}return e}function ud(a,b,c){if(a)for(var e,d=0;d<a.length;++d){var f=a[d],g=f.marker,h=null==f.to||(g.inclusiveRight?f.to>=b:f.to>b);if(h||"bookmark"==g.type&&f.from==b&&(!c||f.marker.insertLeft)){var i=null==f.from||(g.inclusiveLeft?f.from<=b:f.from<b);(e||(e=[])).push({from:i?null:f.from-b,to:null==f.to?null:f.to-b,marker:g})}}return e}function vd(a,b){var c=Ec(a,b.from.line)&&he(a,b.from.line).markedSpans,d=Ec(a,b.to.line)&&he(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=yc(b.from,b.to),h=td(c,e,g),i=ud(d,f,g),j=1==b.text.length,k=Xe(b.text).length+(j?e:0);if(h)for(var l=0;l<h.length;++l){var m=h[l];if(null==m.to){var n=qd(i,m.marker);n?j&&(m.to=null==n.to?null:n.to+k):m.to=e}}if(i)for(var l=0;l<i.length;++l){var m=i[l];if(null!=m.to&&(m.to+=k),null==m.from){var n=qd(h,m.marker);n||(m.from=k,j&&(h||(h=[])).push(m))}else m.from+=k,j&&(h||(h=[])).push(m)}if(j&&h){for(var l=0;l<h.length;++l)null!=h[l].from&&h[l].from==h[l].to&&"bookmark"!=h[l].marker.type&&h.splice(l--,1);h.length||(h=null)}var o=[h];if(!j){var q,p=b.text.length-2;if(p>0&&h)for(var l=0;l<h.length;++l)null==h[l].to&&(q||(q=[])).push({from:null,to:null,marker:h[l].marker});for(var l=0;p>l;++l)o.push(q);o.push(i)}return o}function wd(a,b){var c=ue(a,b),d=vd(a,b);if(!c)return d;if(!d)return c;for(var e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g)a:for(var h=0;h<g.length;++h){for(var i=g[h],j=0;j<f.length;++j)if(f[j].marker==i.marker)continue a;f.push(i)}else g&&(c[e]=g)}return c}function xd(a,b,c){var d=null;if(a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b=0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&-1!=Ze(d,c)||(d||(d=[])).push(c)}}),!d)return null;for(var e=[{from:b,to:c}],f=0;f<d.length;++f)for(var g=d[f],h=g.find(),i=0;i<e.length;++i){var j=e[i];if(!zc(j.to,h.from)&&!zc(h.to,j.from)){var k=[i,1];(zc(j.from,h.from)||!g.inclusiveLeft&&yc(j.from,h.from))&&k.push({from:j.from,to:h.from}),(zc(h.to,j.to)||!g.inclusiveRight&&yc(j.to,h.to))&&k.push({from:h.to,to:j.to}),e.splice.apply(e,k),i+=k.length-1}}return e}function yd(a,b){var d,c=v&&a.markedSpans;if(c)for(var e,f=0;f<c.length;++f)e=c[f],e.marker.collapsed&&(null==e.from||e.from<b)&&(null==e.to||e.to>b)&&(!d||d.width<e.marker.width)&&(d=e.marker);return d}function zd(a){return yd(a,-1)}function Ad(a){return yd(a,a.text.length+1)}function Bd(a,b){for(var c;c=zd(b);)b=he(a,c.find().from.line);return b}function Cd(a,b){var c=v&&b.markedSpans;if(c)for(var d,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed){if(null==d.from)return!0;if(!d.marker.replacedWith&&0==d.from&&d.marker.inclusiveLeft&&Dd(a,b,d))return!0}}function Dd(a,b,c){if(null==c.to){var d=c.marker.find().to,e=he(a,d.line);return Dd(a,e,qd(e.markedSpans,c.marker))}if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var f,g=0;g<b.markedSpans.length;++g)if(f=b.markedSpans[g],f.marker.collapsed&&!f.marker.replacedWith&&f.from==c.to&&(f.marker.inclusiveLeft||c.marker.inclusiveRight)&&Dd(a,b,f))return!0}function Ed(a){var b=a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function Fd(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function Hd(a){return function(){var b=!this.cm.curOp;b&&Bb(this.cm);try{var c=a.apply(this,arguments)}finally{b&&Cb(this.cm)}return c}}function Id(a){return null!=a.height?a.height:(a.node.parentNode&&1==a.node.parentNode.nodeType||jf(a.cm.display.measure,gf("div",[a.node],null,"position: relative")),a.height=a.node.offsetHeight)}function Jd(a,b,c,d){var e=new Gd(a,c,d);return e.noHScroll&&(a.display.alignWidgets=!0),Rc(a,b,function(b){var c=b.widgets||(b.widgets=[]);if(null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e),e.line=b,!Cd(a.doc,b)||e.showIfHidden){var d=ne(a,b)<a.doc.scrollTop;ke(b,b.height+Id(e)),d&&Pc(a,0,e.height)}return!0}),e}function Ld(a,b,c,d){a.text=b,a.stateAfter&&(a.stateAfter=null),a.styles&&(a.styles=null),null!=a.order&&(a.order=null),Ed(a),Fd(a,c);var e=d?d(a):1;e!=a.height&&ke(a,e)}function Md(a){a.parent=null,Ed(a)}function Nd(a,b,c,d,e){var f=c.flattenSpans;null==f&&(f=a.options.flattenSpans);var j,g=0,h=null,i=new ld(b,a.options.tabSize);for(""==b&&c.blankLine&&c.blankLine(d);!i.eol();)i.pos>a.options.maxHighlightLength?(f=!1,i.pos=Math.min(b.length,i.start+5e4),j=null):j=c.token(i,d),f&&h==j||(g<i.start&&e(i.start,h),g=i.start,h=j),i.start=i.pos;g<i.pos&&e(i.pos,h)}function Od(a,b,c){var d=[a.state.modeGen];Nd(a,b.text,a.doc.mode,c,function(a,b){d.push(a,b)});for(var e=0;e<a.state.overlays.length;++e){var f=a.state.overlays[e],g=1,h=0;Nd(a,b.text,f.mode,!0,function(a,b){for(var c=g;a>h;){var e=d[g];e>a&&d.splice(g,1,a,d[g+1],e),g+=2,h=Math.min(a,e)}if(b)if(f.opaque)d.splice(c,g-c,a,b),g=c+2;else for(;g>c;c+=2){var i=d[c+1];d[c+1]=i?i+" "+b:b}})}return d}function Pd(a,b){return b.styles&&b.styles[0]==a.state.modeGen||(b.styles=Od(a,b,b.stateAfter=db(a,le(b)))),b.styles}function Qd(a,b,c){var d=a.doc.mode,e=new ld(b.text,a.options.tabSize);for(""==b.text&&d.blankLine&&d.blankLine(c);!e.eol()&&e.pos<=a.options.maxHighlightLength;)d.token(e,c),e.start=e.pos}function Sd(a){return a?Rd[a]||(Rd[a]="cm-"+a.replace(/ +/g," cm-")):null}function Td(a,c,d,f){for(var g,h=c,i=!0;g=zd(h);)h=he(a.doc,g.find().from.line);var j={pre:gf("pre"),col:0,pos:0,measure:null,measuredSomething:!1,cm:a,copyWidgets:f};h.textClass&&(j.pre.className=h.textClass);do{h.text&&(i=!1),j.measure=h==c&&d,j.pos=0,j.addToken=j.measure?Wd:Vd,(b||e)&&a.getOption("lineWrapping")&&(j.addToken=Xd(j.addToken));var k=Zd(h,j,Pd(a,h));d&&h==c&&!j.measuredSomething&&(d[0]=j.pre.appendChild(rf(a.display.measure)),j.measuredSomething=!0),k&&(h=he(a.doc,k.to.line))}while(k);!d||j.measuredSomething||d[0]||(d[0]=j.pre.appendChild(i?gf("span","\xa0"):rf(a.display.measure))),j.pre.firstChild||Cd(a.doc,c)||j.pre.appendChild(document.createTextNode("\xa0"));var l;if(d&&b&&(l=oe(h))){var m=l.length-1;l[m].from==l[m].to&&--m;var n=l[m],o=l[m-1];if(n.from+1==n.to&&o&&n.level<o.level){var p=d[j.pos-1];p&&p.parentNode.insertBefore(p.measureRight=rf(a.display.measure),p.nextSibling)}}return Je(a,"renderLine",a,c,j.pre),j.pre}function Vd(a,b,c,d,e,f){if(b){if(Ud.test(b))for(var g=document.createDocumentFragment(),h=0;;){Ud.lastIndex=h;var i=Ud.exec(b),j=i?i.index-h:b.length-h;if(j&&(g.appendChild(document.createTextNode(b.slice(h,h+j))),a.col+=j),!i)break;if(h+=j+1," "==i[0]){var k=a.cm.options.tabSize,l=k-a.col%k;g.appendChild(gf("span",We(l),"cm-tab")),a.col+=l}else{var m=gf("span","\u2022","cm-invalidchar");m.title="\\u"+i[0].charCodeAt(0).toString(16),g.appendChild(m),a.col+=1}}else{a.col+=b.length;var g=document.createTextNode(b)}if(c||d||e||a.measure){var n=c||"";d&&(n+=d),e&&(n+=e);var m=gf("span",[g],n);return f&&(m.title=f),a.pre.appendChild(m)}a.pre.appendChild(g)}}function Wd(a,c,d,e,f){for(var g=a.cm.options.lineWrapping,h=0;h<c.length;++h){var i=c.charAt(h),j=0==h;i>="\ud800"&&"\udbff">i&&h<c.length-1?(i=c.slice(h,h+2),++h):h&&g&&nf(c,h)&&a.pre.appendChild(gf("wbr"));var k=a.measure[a.pos],l=a.measure[a.pos]=Vd(a,i,d,j&&e,h==c.length-1&&f);k&&(l.leftSide=k.leftSide||k),b&&g&&" "==i&&h&&!/\s/.test(c.charAt(h-1))&&h<c.length-1&&!/\s/.test(c.charAt(h+1))&&(l.style.whiteSpace="normal"),a.pos+=i.length}c.length&&(a.measuredSomething=!0)}function Xd(a){function b(a){for(var b=" ",c=0;c<a.length-2;++c)b+=c%2?" ":"\xa0";return b+=" "}return function(c,d,e,f,g,h){return a(c,d.replace(/ {3,}/,b),e,f,g,h)}}function Yd(a,b,c,d){var e=!d&&c.replacedWith;if(e&&(a.copyWidgets&&(e=e.cloneNode(!0)),a.pre.appendChild(e),a.measure)){if(b)a.measure[a.pos]=e;else{var f=a.measure[a.pos]=rf(a.cm.display.measure);"bookmark"!=c.type||c.insertLeft?a.pre.insertBefore(f,e):a.pre.appendChild(f)}a.measuredSomething=!0}a.pos+=b}function Zd(a,b,c){var d=a.markedSpans,e=a.text,f=0;if(d)for(var k,m,n,o,p,q,h=e.length,i=0,g=1,j="",l=0;;){if(l==i){m=n=o=p="",q=null,l=1/0;for(var r=null,s=0;s<d.length;++s){var t=d[s],u=t.marker;t.from<=i&&(null==t.to||t.to>i)?(null!=t.to&&l>t.to&&(l=t.to,n=""),u.className&&(m+=" "+u.className),u.startStyle&&t.from==i&&(o+=" "+u.startStyle),u.endStyle&&t.to==l&&(n+=" "+u.endStyle),u.title&&!p&&(p=u.title),u.collapsed&&(!q||q.marker.size<u.size)&&(q=t)):t.from>i&&l>t.from&&(l=t.from),"bookmark"==u.type&&t.from==i&&u.replacedWith&&(r=u)}if(q&&(q.from||0)==i&&(Yd(b,(null==q.to?h:q.to)-i,q.marker,null==q.from),null==q.to))return q.marker.find();r&&!q&&Yd(b,0,r)}if(i>=h)break;for(var v=Math.min(h,l);;){if(j){var w=i+j.length;if(!q){var x=w>v?j.slice(0,v-i):j;b.addToken(b,x,k?k+m:m,o,i+x.length==l?n:"",p)}if(w>=v){j=j.slice(v-i),i=v;break}i=w,o=""}j=e.slice(f,f=c[g++]),k=Sd(c[g++])}}else for(var g=1;g<c.length;g+=2)b.addToken(b,e.slice(f,f=c[g]),Sd(c[g+1]))}function $d(a,b,c,d,e){function f(a){return c?c[a]:null}function g(a,c,d){Ld(a,c,d,e),Me(a,"change",a,b)}var h=b.from,i=b.to,j=b.text,k=he(a,h.line),l=he(a,i.line),m=Xe(j),n=f(j.length-1),o=i.line-h.line;if(0==h.ch&&0==i.ch&&""==m){for(var p=0,q=j.length-1,r=[];q>p;++p)r.push(new Kd(j[p],f(p),e));g(l,l.text,n),o&&a.remove(h.line,o),r.length&&a.insert(h.line,r)}else if(k==l)if(1==j.length)g(k,k.text.slice(0,h.ch)+m+k.text.slice(i.ch),n);else{for(var r=[],p=1,q=j.length-1;q>p;++p)r.push(new Kd(j[p],f(p),e));r.push(new Kd(m+k.text.slice(i.ch),n,e)),g(k,k.text.slice(0,h.ch)+j[0],f(0)),a.insert(h.line+1,r)}else if(1==j.length)g(k,k.text.slice(0,h.ch)+j[0]+l.text.slice(i.ch),f(0)),a.remove(h.line+1,o);else{g(k,k.text.slice(0,h.ch)+j[0],f(0)),g(l,m+l.text.slice(i.ch),n);for(var p=1,q=j.length-1,r=[];q>p;++p)r.push(new Kd(j[p],f(p),e));o>1&&a.remove(h.line+1,o-1),a.insert(h.line+1,r)}Me(a,"change",a,b),Hc(a,d.anchor,d.head,null,!0)}function _d(a){this.lines=a,this.parent=null;for(var b=0,c=a.length,d=0;c>b;++b)a[b].parent=this,d+=a[b].height;this.height=d}function ae(a){this.children=a;for(var b=0,c=0,d=0,e=a.length;e>d;++d){var f=a[d];b+=f.chunkSize(),c+=f.height,f.parent=this}this.size=b,this.height=c,this.parent=null}function fe(a,b,c){function d(a,e,f){if(a.linked)for(var g=0;g<a.linked.length;++g){var h=a.linked[g];if(h.doc!=e){var i=f&&h.sharedHist;(!c||i)&&(b(h.doc,i),d(h.doc,a,i))}}}d(a,null,!0)}function ge(a,b){if(b.cm)throw new Error("This document is already in use.");a.doc=b,b.cm=a,B(a),y(a),a.options.lineWrapping||H(a),a.options.mode=b.modeOption,Gb(a)}function he(a,b){for(b-=a.first;!a.lines;)for(var c=0;;++c){var d=a.children[c],e=d.chunkSize();if(e>b){a=d;break}b-=e}return a.lines[b]}function ie(a,b,c){var d=[],e=b.line;return a.iter(b.line,c.line+1,function(a){var f=a.text;e==c.line&&(f=f.slice(0,c.ch)),e==b.line&&(f=f.slice(b.ch)),d.push(f),++e}),d}function je(a,b,c){var d=[];return a.iter(b,c,function(a){d.push(a.text)}),d}function ke(a,b){for(var c=b-a.height,d=a;d;d=d.parent)d.height+=c}function le(a){if(null==a.parent)return null;for(var b=a.parent,c=Ze(b.lines,a),d=b.parent;d;b=d,d=d.parent)for(var e=0;d.children[e]!=b;++e)c+=d.children[e].chunkSize();return c+b.first
3
- }function me(a,b){var c=a.first;a:do{for(var d=0,e=a.children.length;e>d;++d){var f=a.children[d],g=f.height;if(g>b){a=f;continue a}b-=g,c+=f.chunkSize()}return c}while(!a.lines);for(var d=0,e=a.lines.length;e>d;++d){var h=a.lines[d],i=h.height;if(i>b)break;b-=i}return c+d}function ne(a,b){b=Bd(a.doc,b);for(var c=0,d=b.parent,e=0;e<d.lines.length;++e){var f=d.lines[e];if(f==b)break;c+=f.height}for(var g=d.parent;g;d=g,g=d.parent)for(var e=0;e<g.children.length;++e){var h=g.children[e];if(h==d)break;c+=h.height}return c}function oe(a){var b=a.order;return null==b&&(b=a.order=Jf(a.text)),b}function pe(a){return{done:[],undone:[],undoDepth:1/0,lastTime:0,lastOp:null,lastOrigin:null,generation:a||1,maxGeneration:a||1}}function qe(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans),++f})}function re(a,b){var c={line:b.from.line,ch:b.from.ch},d={from:c,to:mc(b),text:ie(a,b.from,b.to)};return qe(a,d,b.from.line,b.to.line+1),fe(a,function(a){qe(a,d,b.from.line,b.to.line+1)},!0),d}function se(a,b,c,d){var e=a.history;e.undone.length=0;var f=+new Date,g=Xe(e.done);if(g&&(e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastTime>f-a.cm.options.historyEventDelay||"*"==b.origin.charAt(0)))){var h=Xe(g.changes);yc(b.from,b.to)&&yc(b.from,h.to)?h.to=mc(b):g.changes.push(re(a,b)),g.anchorAfter=c.anchor,g.headAfter=c.head}else for(g={changes:[re(a,b)],generation:e.generation,anchorBefore:a.sel.anchor,headBefore:a.sel.head,anchorAfter:c.anchor,headAfter:c.head},e.done.push(g),e.generation=++e.maxGeneration;e.done.length>e.undoDepth;)e.done.shift();e.lastTime=f,e.lastOp=d,e.lastOrigin=b.origin}function te(a){if(!a)return null;for(var c,b=0;b<a.length;++b)a[b].marker.explicitlyCleared?c||(c=a.slice(0,b)):c&&c.push(a[b]);return c?c.length?c:null:a}function ue(a,b){var c=b["spans_"+a.id];if(!c)return null;for(var d=0,e=[];d<b.text.length;++d)e.push(te(c[d]));return e}function ve(a,b){for(var c=0,d=[];c<a.length;++c){var e=a[c],f=e.changes,g=[];d.push({changes:g,anchorBefore:e.anchorBefore,headBefore:e.headBefore,anchorAfter:e.anchorAfter,headAfter:e.headAfter});for(var h=0;h<f.length;++h){var j,i=f[h];if(g.push({from:i.from,to:i.to,text:i.text}),b)for(var k in i)(j=k.match(/^spans_(\d+)$/))&&Ze(b,Number(j[1]))>-1&&(Xe(g)[k]=i[k],delete i[k])}}return d}function we(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function xe(a,b,c,d){for(var e=0;e<a.length;++e){for(var f=a[e],g=!0,h=0;h<f.changes.length;++h){var i=f.changes[h];if(f.copied||(i.from=Ac(i.from),i.to=Ac(i.to)),c<i.from.line)i.from.line+=d,i.to.line+=d;else if(b<=i.to.line){g=!1;break}}f.copied||(f.anchorBefore=Ac(f.anchorBefore),f.headBefore=Ac(f.headBefore),f.anchorAfter=Ac(f.anchorAfter),f.readAfter=Ac(f.headAfter),f.copied=!0),g?(we(f.anchorBefore),we(f.headBefore),we(f.anchorAfter),we(f.headAfter)):(a.splice(0,e+1),e=0)}}function ye(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;xe(a.done,c,d,e),xe(a.undone,c,d,e)}function ze(){Ee(this)}function Ae(a){return a.stop||(a.stop=ze),a}function Be(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Ce(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function De(a){return null!=a.defaultPrevented?a.defaultPrevented:0==a.returnValue}function Ee(a){Be(a),Ce(a)}function Fe(a){return a.target||a.srcElement}function Ge(a){var b=a.which;return null==b&&(1&a.button?b=1:2&a.button?b=3:4&a.button&&(b=2)),p&&a.ctrlKey&&1==b&&(b=3),b}function He(a,b,c){if(a.addEventListener)a.addEventListener(b,c,!1);else if(a.attachEvent)a.attachEvent("on"+b,c);else{var d=a._handlers||(a._handlers={}),e=d[b]||(d[b]=[]);e.push(c)}}function Ie(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else{var d=a._handlers&&a._handlers[b];if(!d)return;for(var e=0;e<d.length;++e)if(d[e]==c){d.splice(e,1);break}}}function Je(a,b){var c=a._handlers&&a._handlers[b];if(c)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)}function Me(a,b){function e(a){return function(){a.apply(null,d)}}var c=a._handlers&&a._handlers[b];if(c){var d=Array.prototype.slice.call(arguments,2);Ke||(++Le,Ke=[],setTimeout(Oe,0));for(var f=0;f<c.length;++f)Ke.push(e(c[f]))}}function Ne(a,b,c){return Je(a,c||b.type,a,b),De(b)||b.codemirrorIgnore}function Oe(){--Le;var a=Ke;Ke=null;for(var b=0;b<a.length;++b)a[b]()}function Pe(a,b){var c=a._handlers&&a._handlers[b];return c&&c.length>0}function Qe(a){a.prototype.on=function(a,b){He(this,a,b)},a.prototype.off=function(a,b){Ie(this,a,b)}}function Te(){this.id=null}function Ue(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));for(var f=d||0,g=e||0;b>f;++f)" "==a.charAt(f)?g+=c-g%c:++g;return g}function We(a){for(;Ve.length<=a;)Ve.push(Xe(Ve)+" ");return Ve[a]}function Xe(a){return a[a.length-1]}function Ye(a){if(n)a.selectionStart=0,a.selectionEnd=a.value.length;else try{a.select()}catch(b){}}function Ze(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;d>c;++c)if(a[c]==b)return c;return-1}function $e(a,b){function c(){}c.prototype=a;var d=new c;return b&&_e(b,d),d}function _e(a,b){b||(b={});for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function af(a){for(var b=[],c=0;a>c;++c)b.push(void 0);return b}function bf(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function df(a){return/\w/.test(a)||a>"\x80"&&(a.toUpperCase()!=a.toLowerCase()||cf.test(a))}function ef(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function gf(a,b,c,d){var e=document.createElement(a);if(c&&(e.className=c),d&&(e.style.cssText=d),"string"==typeof b)kf(e,b);else if(b)for(var f=0;f<b.length;++f)e.appendChild(b[f]);return e}function hf(a){for(var b=a.childNodes.length;b>0;--b)a.removeChild(a.firstChild);return a}function jf(a,b){return hf(a).appendChild(b)}function kf(a,b){d?(a.innerHTML="",a.appendChild(document.createTextNode(b))):a.textContent=b}function lf(a){return a.getBoundingClientRect()}function nf(){return!1}function pf(a){if(null!=of)return of;var b=gf("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");return jf(a,b),b.offsetWidth&&(of=b.offsetHeight-b.clientHeight),of||0}function rf(a){if(null==qf){var b=gf("span","\u200b");jf(a,gf("span",[b,document.createTextNode("x")])),0!=a.firstChild.offsetHeight&&(qf=b.offsetWidth<=1&&b.offsetHeight>2&&!c)}return qf?gf("span","\u200b"):gf("span","\xa0",null,"display: inline-block; width: 1px; margin-right: -1px")}function wf(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e=!1,f=0;f<a.length;++f){var g=a[f];(g.from<c&&g.to>b||b==c&&g.to==b)&&(d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0)}e||d(b,c,"ltr")}function xf(a){return a.level%2?a.to:a.from}function yf(a){return a.level%2?a.from:a.to}function zf(a){var b=oe(a);return b?xf(b[0]):0}function Af(a){var b=oe(a);return b?yf(Xe(b)):a.text.length}function Bf(a,b){var c=he(a.doc,b),d=Bd(a.doc,c);d!=c&&(b=le(d));var e=oe(d),f=e?e[0].level%2?Af(d):zf(d):0;return xc(b,f)}function Cf(a,b){for(var c,d;c=Ad(d=he(a.doc,b));)b=c.find().to.line;var e=oe(d),f=e?e[0].level%2?zf(d):Af(d):d.text.length;return xc(b,f)}function Df(a,b,c){var d=a[0].level;return b==d?!0:c==d?!1:c>b}function Ff(a,b){for(var d,c=0;c<a.length;++c){var e=a[c];if(e.from<b&&e.to>b)return Ef=null,c;if(e.from==b||e.to==b){if(null!=d)return Df(a,e.level,a[d].level)?(Ef=d,c):(Ef=c,d);d=c}}return Ef=null,d}function Gf(a,b,c,d){if(!d)return b+c;do b+=c;while(b>0&&ff.test(a.text.charAt(b)));return b}function Hf(a,b,c,d){var e=oe(a);if(!e)return If(a,b,c,d);for(var f=Ff(e,b),g=e[f],h=Gf(a,b,g.level%2?-c:c,d);;){if(h>g.from&&h<g.to)return h;if(h==g.from||h==g.to)return Ff(e,h)==f?h:(g=e[f+=c],c>0==g.level%2?g.to:g.from);if(g=e[f+=c],!g)return null;h=c>0==g.level%2?Gf(a,g.to,-1,d):Gf(a,g.from,1,d)}}function If(a,b,c,d){var e=b+c;if(d)for(;e>0&&ff.test(a.text.charAt(e));)e+=c;return 0>e||e>a.text.length?null:e}var a=/gecko\/\d/i.test(navigator.userAgent),b=/MSIE \d/.test(navigator.userAgent),c=b&&(null==document.documentMode||document.documentMode<8),d=b&&(null==document.documentMode||document.documentMode<9),e=/WebKit\//.test(navigator.userAgent),f=e&&/Qt\/\d+\.\d+/.test(navigator.userAgent),g=/Chrome\//.test(navigator.userAgent),h=/Opera\//.test(navigator.userAgent),i=/Apple Computer/.test(navigator.vendor),j=/KHTML\//.test(navigator.userAgent),k=/Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator.userAgent),l=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),m=/PhantomJS/.test(navigator.userAgent),n=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),o=n||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),p=n||/Mac/.test(navigator.platform),q=/windows/i.test(navigator.platform),r=h&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);r&&(r=Number(r[1])),r&&r>=15&&(h=!1,e=!0);var xb,Qb,Rb,s=p&&(f||h&&(null==r||12.11>r)),t=a||b&&!d,u=!1,v=!1,Ab=0,Ub=0,Zb=0,$b=null;b?$b=-.53:a?$b=15:g?$b=-.7:i&&($b=-1/3);var cc,kc,fc=null,mc=w.changeEnd=function(a){return a.text?xc(a.from.line+a.text.length-1,Xe(a.text).length+(1==a.text.length?a.from.ch:0)):a.to};w.Pos=xc,w.prototype={constructor:w,focus:function(){window.focus(),Lb(this),ic(this),Ib(this)},setOption:function(a,b){var c=this.options,d=c[a];(c[a]!=b||"mode"==a)&&(c[a]=b,Wc.hasOwnProperty(a)&&Db(this,Wc[a])(this,b,d))},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](a)},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||"string"!=typeof b[c]&&b[c].name==a)return b.splice(c,1),!0},addOverlay:Db(null,function(a,b){var c=a.token?a:w.getMode(this.options,a);if(c.startState)throw new Error("Overlays may not be stateful.");this.state.overlays.push({mode:c,modeSpec:a,opaque:b&&b.opaque}),this.state.modeGen++,Gb(this)}),removeOverlay:Db(null,function(a){for(var b=this.state.overlays,c=0;c<b.length;++c){var d=b[c].modeSpec;if(d==a||"string"==typeof a&&d.name==a)return b.splice(c,1),this.state.modeGen++,Gb(this),void 0}}),indentLine:Db(null,function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract"),Ec(this.doc,a)&&Qc(this,a,b,c)}),indentSelection:Db(null,function(a){var b=this.doc.sel;if(yc(b.from,b.to))return Qc(this,b.from.line,a);for(var c=b.to.line-(b.to.ch?0:1),d=b.from.line;c>=d;++d)Qc(this,d,a)}),getTokenAt:function(a,b){var c=this.doc;a=Cc(c,a);for(var d=db(this,a.line,b),e=this.doc.mode,f=he(c,a.line),g=new ld(f.text,this.options.tabSize);g.pos<a.ch&&!g.eol();){g.start=g.pos;var h=e.token(g,d)}return{start:g.start,end:g.pos,string:g.current(),className:h||null,type:h||null,state:d}},getTokenTypeAt:function(a){a=Cc(this.doc,a);var b=Pd(this,he(this.doc,a.line)),c=0,d=(b.length-1)/2,e=a.ch;if(0==e)return b[2];for(;;){var f=c+d>>1;if((f?b[2*f-1]:0)>=e)d=f;else{if(!(b[2*f+1]<e))return b[2*f+2];c=f+1}}},getModeAt:function(a){var b=this.doc.mode;return b.innerMode?w.innerMode(b,this.getTokenAt(a).state).mode:b},getHelper:function(a,b){if(cd.hasOwnProperty(b)){var c=cd[b],d=this.getModeAt(a);return d[b]&&c[d[b]]||d.helperType&&c[d.helperType]||c[d.name]}},getStateAfter:function(a,b){var c=this.doc;return a=Bc(c,null==a?c.first+c.size-1:a),db(this,a+1,b)},cursorCoords:function(a,b){var c,d=this.doc.sel;return c=null==a?d.head:"object"==typeof a?Cc(this.doc,a):a?d.from:d.to,tb(this,c,b||"page")},charCoords:function(a,b){return sb(this,Cc(this.doc,a),b||"page")},coordsChar:function(a,b){return a=rb(this,a,b||"page"),vb(this,a.left,a.top)},lineAtHeight:function(a,b){return a=rb(this,{top:a,left:0},b||"page").top,me(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b){var c=!1,d=this.doc.first+this.doc.size-1;a<this.doc.first?a=this.doc.first:a>d&&(a=d,c=!0);var e=he(this.doc,a);return qb(this,he(this.doc,a),{top:0,left:0},b||"page").top+(c?e.height:0)},defaultTextHeight:function(){return yb(this.display)},defaultCharWidth:function(){return zb(this.display)},setGutterMarker:Db(null,function(a,b,c){return Rc(this,a,function(a){var d=a.gutterMarkers||(a.gutterMarkers={});return d[b]=c,!c&&ef(d)&&(a.gutterMarkers=null),!0})}),clearGutter:Db(null,function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&(c.gutterMarkers[a]=null,Gb(b,d,d+1),ef(c.gutterMarkers)&&(c.gutterMarkers=null)),++d})}),addLineClass:Db(null,function(a,b,c){return Rc(this,a,function(a){var d="text"==b?"textClass":"background"==b?"bgClass":"wrapClass";if(a[d]){if(new RegExp("(?:^|\\s)"+c+"(?:$|\\s)").test(a[d]))return!1;a[d]+=" "+c}else a[d]=c;return!0})}),removeLineClass:Db(null,function(a,b,c){return Rc(this,a,function(a){var d="text"==b?"textClass":"background"==b?"bgClass":"wrapClass",e=a[d];if(!e)return!1;if(null==c)a[d]=null;else{var f=e.match(new RegExp("(?:^|\\s+)"+c+"(?:$|\\s+)"));if(!f)return!1;var g=f.index+f[0].length;a[d]=e.slice(0,f.index)+(f.index&&g!=e.length?" ":"")+e.slice(g)||null}return!0})}),addLineWidget:Db(null,function(a,b,c){return Jd(this,a,b,c)}),removeLineWidget:function(a){a.clear()},lineInfo:function(a){if("number"==typeof a){if(!Ec(this.doc,a))return null;var b=a;if(a=he(this.doc,a),!a)return null}else{var b=le(a);if(null==b)return null}return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.showingFrom,to:this.display.showingTo}},addWidget:function(a,b,c,d,e){var f=this.display;a=tb(this,Cc(this.doc,a));var g=a.bottom,h=a.left;if(b.style.position="absolute",f.sizer.appendChild(b),"over"==d)g=a.top;else if("above"==d||"near"==d){var i=Math.max(f.wrapper.clientHeight,this.doc.height),j=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>i)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=i&&(g=a.bottom),h+b.offsetWidth>j&&(h=j-b.offsetWidth)}b.style.top=g+"px",b.style.left=b.style.right="","right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px"),c&&Mc(this,h,g,h+b.offsetWidth,g+b.offsetHeight)},triggerOnKeyDown:Db(null,gc),execCommand:function(a){return fd[a](this)},findPosH:function(a,b,c,d){var e=1;0>b&&(e=-1,b=-b);for(var f=0,g=Cc(this.doc,a);b>f&&(g=Sc(this.doc,g,e,c,d),!g.hitSide);++f);return g},moveH:Db(null,function(a,b){var d,c=this.doc.sel;d=c.shift||c.extend||yc(c.from,c.to)?Sc(this.doc,c.head,a,b,this.options.rtlMoveVisually):0>a?c.from:c.to,Fc(this.doc,d,d,a)}),deleteH:Db(null,function(a,b){var c=this.doc.sel;yc(c.from,c.to)?wc(this.doc,"",c.from,Sc(this.doc,c.head,a,b,!1),"+delete"):wc(this.doc,"",c.from,c.to,"+delete"),this.curOp.userSelChange=!0}),findPosV:function(a,b,c,d){var e=1,f=d;0>b&&(e=-1,b=-b);for(var g=0,h=Cc(this.doc,a);b>g;++g){var i=tb(this,h,"div");if(null==f?f=i.left:i.left=f,h=Tc(this,i,e,c),h.hitSide)break}return h},moveV:Db(null,function(a,b){var c=this.doc.sel,d=tb(this,c.head,"div");null!=c.goalColumn&&(d.left=c.goalColumn);var e=Tc(this,d,a,b);"page"==b&&Pc(this,0,sb(this,e,"div").top-d.top),Fc(this.doc,e,e,a),c.goalColumn=d.left}),toggleOverwrite:function(a){(null==a||a!=this.state.overwrite)&&((this.state.overwrite=!this.state.overwrite)?this.display.cursor.className+=" CodeMirror-overwrite":this.display.cursor.className=this.display.cursor.className.replace(" CodeMirror-overwrite",""))},hasFocus:function(){return this.state.focused},scrollTo:Db(null,function(a,b){Oc(this,a,b)}),getScrollInfo:function(){var a=this.display.scroller,b=Re;return{left:a.scrollLeft,top:a.scrollTop,height:a.scrollHeight-b,width:a.scrollWidth-b,clientHeight:a.clientHeight-b,clientWidth:a.clientWidth-b}},scrollIntoView:Db(null,function(a,b){"number"==typeof a&&(a=xc(a,0)),b||(b=0);var c=a;a&&null==a.line||(this.curOp.scrollToPos=a?Cc(this.doc,a):this.doc.sel.head,this.curOp.scrollToPosMargin=b,c=tb(this,this.curOp.scrollToPos));var d=Nc(this,c.left,c.top-b,c.right,c.bottom+b);Oc(this,d.scrollLeft,d.scrollTop)}),setSize:Db(null,function(a,b){function c(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a}null!=a&&(this.display.wrapper.style.width=c(a)),null!=b&&(this.display.wrapper.style.height=c(b)),this.options.lineWrapping&&(this.display.measureLineCache.length=this.display.measureLineCachePos=0),this.curOp.forceUpdate=!0}),operation:function(a){return Fb(this,a)},refresh:Db(null,function(){nb(this),Oc(this,this.doc.scrollLeft,this.doc.scrollTop),Gb(this)}),swapDoc:Db(null,function(a){var b=this.doc;return b.cm=null,ge(this,a),nb(this),Kb(this,!0),Oc(this,a.scrollLeft,a.scrollTop),b}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Qe(w);var Wc=w.optionHandlers={},Xc=w.defaults={},Zc=w.Init={toString:function(){return"CodeMirror.Init"}};Yc("value","",function(a,b){a.setValue(b)},!0),Yc("mode",null,function(a,b){a.doc.modeOption=b,y(a)},!0),Yc("indentUnit",2,y,!0),Yc("indentWithTabs",!1),Yc("smartIndent",!0),Yc("tabSize",4,function(a){y(a),nb(a),Gb(a)},!0),Yc("electricChars",!0),Yc("rtlMoveVisually",!q),Yc("theme","default",function(a){D(a),E(a)},!0),Yc("keyMap","default",C),Yc("extraKeys",null),Yc("onKeyEvent",null),Yc("onDragEvent",null),Yc("lineWrapping",!1,z,!0),Yc("gutters",[],function(a){I(a.options),E(a)},!0),Yc("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?O(a.display)+"px":"0",a.refresh()},!0),Yc("coverGutterNextToScrollbar",!1,J,!0),Yc("lineNumbers",!1,function(a){I(a.options),E(a)},!0),Yc("firstLineNumber",1,E,!0),Yc("lineNumberFormatter",function(a){return a},E,!0),Yc("showCursorWhenSelecting",!1,Y,!0),Yc("readOnly",!1,function(a,b){"nocursor"==b?(jc(a),a.display.input.blur()):b||Kb(a,!0)}),Yc("dragDrop",!0),Yc("cursorBlinkRate",530),Yc("cursorScrollMargin",0),Yc("cursorHeight",1),Yc("workTime",100),Yc("workDelay",100),Yc("flattenSpans",!0),Yc("pollInterval",100),Yc("undoDepth",40,function(a,b){a.doc.history.undoDepth=b}),Yc("historyEventDelay",500),Yc("viewportMargin",10,function(a){a.refresh()},!0),Yc("maxHighlightLength",1e4,function(a){y(a),a.refresh()},!0),Yc("moveInputWithCursor",!0,function(a,b){b||(a.display.inputDiv.style.top=a.display.inputDiv.style.left=0)}),Yc("tabindex",null,function(a,b){a.display.input.tabIndex=b||""}),Yc("autofocus",null);var $c=w.modes={},_c=w.mimeModes={};w.defineMode=function(a,b){if(w.defaults.mode||"null"==a||(w.defaults.mode=a),arguments.length>2){b.dependencies=[];for(var c=2;c<arguments.length;++c)b.dependencies.push(arguments[c])}$c[a]=b},w.defineMIME=function(a,b){_c[a]=b},w.resolveMode=function(a){if("string"==typeof a&&_c.hasOwnProperty(a))a=_c[a];else if(a&&"string"==typeof a.name&&_c.hasOwnProperty(a.name)){var b=_c[a.name];a=$e(b,a),a.name=b.name}else if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return w.resolveMode("application/xml");return"string"==typeof a?{name:a}:a||{name:"null"}},w.getMode=function(a,b){var b=w.resolveMode(b),c=$c[b.name];if(!c)return w.getMode(a,"text/plain");var d=c(a,b);if(ad.hasOwnProperty(b.name)){var e=ad[b.name];for(var f in e)e.hasOwnProperty(f)&&(d.hasOwnProperty(f)&&(d["_"+f]=d[f]),d[f]=e[f])}return d.name=b.name,d},w.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}}),w.defineMIME("text/plain","null");var ad=w.modeExtensions={};w.extendMode=function(a,b){var c=ad.hasOwnProperty(a)?ad[a]:ad[a]={};_e(b,c)},w.defineExtension=function(a,b){w.prototype[a]=b},w.defineDocExtension=function(a,b){ce.prototype[a]=b},w.defineOption=Yc;var bd=[];w.defineInitHook=function(a){bd.push(a)};var cd=w.helpers={};w.registerHelper=function(a,b,c){cd.hasOwnProperty(a)||(cd[a]=w[a]={}),cd[a][b]=c},w.isWordChar=df,w.copyState=dd,w.startState=ed,w.innerMode=function(a,b){for(;a.innerMode;){var c=a.innerMode(b);if(!c||c.mode==a)break;b=c.state,a=c.mode}return c||{mode:a,state:b}};var fd=w.commands={selectAll:function(a){a.setSelection(xc(a.firstLine(),0),xc(a.lastLine()))},killLine:function(a){var b=a.getCursor(!0),c=a.getCursor(!1),d=!yc(b,c);d||a.getLine(b.line).length!=b.ch?a.replaceRange("",b,d?c:xc(b.line),"+delete"):a.replaceRange("",b,xc(b.line+1,0),"+delete")},deleteLine:function(a){var b=a.getCursor().line;a.replaceRange("",xc(b,0),xc(b),"+delete")},delLineLeft:function(a){var b=a.getCursor();a.replaceRange("",xc(b.line,0),b,"+delete")},undo:function(a){a.undo()},redo:function(a){a.redo()},goDocStart:function(a){a.extendSelection(xc(a.firstLine(),0))},goDocEnd:function(a){a.extendSelection(xc(a.lastLine()))},goLineStart:function(a){a.extendSelection(Bf(a,a.getCursor().line))},goLineStartSmart:function(a){var b=a.getCursor(),c=Bf(a,b.line),d=a.getLineHandle(c.line),e=oe(d);if(e&&0!=e[0].level)a.extendSelection(c);else{var f=Math.max(0,d.text.search(/\S/)),g=b.line==c.line&&b.ch<=f&&b.ch;a.extendSelection(xc(c.line,g?0:f))}},goLineEnd:function(a){a.extendSelection(Cf(a,a.getCursor().line))},goLineRight:function(a){var b=a.charCoords(a.getCursor(),"div").top+5;a.extendSelection(a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:b},"div"))},goLineLeft:function(a){var b=a.charCoords(a.getCursor(),"div").top+5;a.extendSelection(a.coordsChar({left:0,top:b},"div"))},goLineUp:function(a){a.moveV(-1,"line")},goLineDown:function(a){a.moveV(1,"line")},goPageUp:function(a){a.moveV(-1,"page")},goPageDown:function(a){a.moveV(1,"page")},goCharLeft:function(a){a.moveH(-1,"char")},goCharRight:function(a){a.moveH(1,"char")},goColumnLeft:function(a){a.moveH(-1,"column")},goColumnRight:function(a){a.moveH(1,"column")},goWordLeft:function(a){a.moveH(-1,"word")},goGroupRight:function(a){a.moveH(1,"group")},goGroupLeft:function(a){a.moveH(-1,"group")},goWordRight:function(a){a.moveH(1,"word")},delCharBefore:function(a){a.deleteH(-1,"char")},delCharAfter:function(a){a.deleteH(1,"char")},delWordBefore:function(a){a.deleteH(-1,"word")},delWordAfter:function(a){a.deleteH(1,"word")},delGroupBefore:function(a){a.deleteH(-1,"group")},delGroupAfter:function(a){a.deleteH(1,"group")},indentAuto:function(a){a.indentSelection("smart")},indentMore:function(a){a.indentSelection("add")},indentLess:function(a){a.indentSelection("subtract")},insertTab:function(a){a.replaceSelection(" ","end","+input")},defaultTab:function(a){a.somethingSelected()?a.indentSelection("add"):a.replaceSelection(" ","end","+input")},transposeChars:function(a){var b=a.getCursor(),c=a.getLine(b.line);b.ch>0&&b.ch<c.length-1&&a.replaceRange(c.charAt(b.ch)+c.charAt(b.ch-1),xc(b.line,b.ch-1),xc(b.line,b.ch+1))},newlineAndIndent:function(a){Db(a,function(){a.replaceSelection("\n","end","+input"),a.indentLine(a.getCursor().line,null,!0)})()},toggleOverwrite:function(a){a.toggleOverwrite()}},gd=w.keyMap={};gd.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"},gd.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"},gd.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delLineLeft",fallthrough:["basic","emacsy"]},gd["default"]=p?gd.macDefault:gd.pcDefault,gd.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},w.lookupKey=id,w.isModifierKey=jd,w.keyName=kd,w.fromTextArea=function(a,b){function e(){a.value=i.getValue()}if(b||(b={}),b.value=a.value,!b.tabindex&&a.tabindex&&(b.tabindex=a.tabindex),!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder),null==b.autofocus){var c=document.body;try{c=document.activeElement}catch(d){}b.autofocus=c==a||null!=a.getAttribute("autofocus")&&c==document.body}if(a.form&&(He(a.form,"submit",e),!b.leaveSubmitMethodAlone)){var f=a.form,g=f.submit;try{var h=f.submit=function(){e(),f.submit=g,f.submit(),f.submit=h}}catch(d){}}a.style.display="none";var i=w(function(b){a.parentNode.insertBefore(b,a.nextSibling)},b);return i.save=e,i.getTextArea=function(){return a},i.toTextArea=function(){e(),a.parentNode.removeChild(i.getWrapperElement()),a.style.display="",a.form&&(Ie(a.form,"submit",e),"function"==typeof a.form.submit&&(a.form.submit=g))},i},ld.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.pos<this.string.length?this.string.charAt(this.pos++):void 0},eat:function(a){var b=this.string.charAt(this.pos);if("string"==typeof a)var c=b==a;else var c=b&&(a.test?a.test(b):a(b));return c?(++this.pos,b):void 0},eatWhile:function(a){for(var b=this.pos;this.eat(a););return this.pos>b},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){var b=this.string.indexOf(a,this.pos);return b>-1?(this.pos=b,!0):void 0},backUp:function(a){this.pos-=a},column:function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=Ue(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue},indentation:function(){return Ue(this.string,null,this.tabSize)},match:function(a,b,c){if("string"!=typeof a){var f=this.string.slice(this.pos).match(a);return f&&f.index>0?null:(f&&b!==!1&&(this.pos+=f[0].length),f)}var d=function(a){return c?a.toLowerCase():a},e=this.string.substr(this.pos,a.length);return d(e)==d(a)?(b!==!1&&(this.pos+=a.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)}},w.StringStream=ld,w.TextMarker=md,Qe(md),md.prototype.clear=function(){if(!this.explicitlyCleared){var a=this.doc.cm,b=a&&!a.curOp;if(b&&Bb(a),Pe(this,"clear")){var c=this.find();c&&Me(this,"clear",c.from,c.to)}for(var d=null,e=null,f=0;f<this.lines.length;++f){var g=this.lines[f],h=qd(g.markedSpans,this);null!=h.to&&(e=le(g)),g.markedSpans=rd(g.markedSpans,h),null!=h.from?d=le(g):this.collapsed&&!Cd(this.doc,g)&&a&&ke(g,yb(a.display))}if(a&&this.collapsed&&!a.options.lineWrapping)for(var f=0;f<this.lines.length;++f){var i=Bd(a.doc,this.lines[f]),j=G(a.doc,i);j>a.display.maxLineLength&&(a.display.maxLine=i,a.display.maxLineLength=j,a.display.maxLineChanged=!0)}null!=d&&a&&Gb(a,d,e+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&Ic(a)),b&&Cb(a)}},md.prototype.find=function(){for(var a,b,c=0;c<this.lines.length;++c){var d=this.lines[c],e=qd(d.markedSpans,this);if(null!=e.from||null!=e.to){var f=le(d);null!=e.from&&(a=xc(f,e.from)),null!=e.to&&(b=xc(f,e.to))}}return"bookmark"==this.type?a:a&&{from:a,to:b}},md.prototype.changed=function(){var a=this.find(),b=this.doc.cm;if(a&&b){var c=he(this.doc,a.from.line);if(jb(b,c),a.from.line>=b.display.showingFrom&&a.from.line<b.display.showingTo){for(var d=b.display.lineDiv.firstChild;d;d=d.nextSibling)if(d.lineObj==c){d.offsetHeight!=c.height&&ke(c,d.offsetHeight);break}Fb(b,function(){b.curOp.selectionChanged=b.curOp.forceUpdate=b.curOp.updateMaxLine=!0})}}},md.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&-1!=Ze(b.maybeHiddenMarkers,this)||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)},md.prototype.detachLine=function(a){if(this.lines.splice(Ze(this.lines,a),1),!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;(b.maybeHiddenMarkers||(b.maybeHiddenMarkers=[])).push(this)}},w.SharedTextMarker=od,Qe(od),od.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var a=0;a<this.markers.length;++a)this.markers[a].clear();Me(this,"clear")}},od.prototype.find=function(){return this.primary.find()};var Gd=w.LineWidget=function(a,b,c){if(c)for(var d in c)c.hasOwnProperty(d)&&(this[d]=c[d]);this.cm=a,this.node=b};Qe(Gd),Gd.prototype.clear=Hd(function(){var a=this.line.widgets,b=le(this.line);if(null!=b&&a){for(var c=0;c<a.length;++c)a[c]==this&&a.splice(c--,1);a.length||(this.line.widgets=null);var d=ne(this.cm,this.line)<this.cm.doc.scrollTop;ke(this.line,Math.max(0,this.line.height-Id(this))),d&&Pc(this.cm,0,-this.height),Gb(this.cm,b,b+1)}}),Gd.prototype.changed=Hd(function(){var a=this.height;this.height=null;var b=Id(this)-a;if(b){ke(this.line,this.line.height+b);var c=le(this.line);Gb(this.cm,c,c+1)}});var Kd=w.Line=function(a,b,c){this.text=a,Fd(this,b),this.height=c?c(this):1};Qe(Kd);var Rd={},Ud=/[\t\u0000-\u0019\u00ad\u200b\u2028\u2029\uFEFF]/g;_d.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=a,d=a+b;d>c;++c){var e=this.lines[c];this.height-=e.height,Md(e),Me(e,"delete")}this.lines.splice(a,b)},collapse:function(a){a.splice.apply(a,[a.length,0].concat(this.lines))},insertInner:function(a,b,c){this.height+=c,this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(var d=0,e=b.length;e>d;++d)b[d].parent=this},iterN:function(a,b,c){for(var d=a+b;d>a;++a)if(c(this.lines[a]))return!0}},ae.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){this.size-=b;for(var c=0;c<this.children.length;++c){var d=this.children[c],e=d.chunkSize();if(e>a){var f=Math.min(b,e-a),g=d.height;if(d.removeInner(a,f),this.height-=g-d.height,e==f&&(this.children.splice(c--,1),d.parent=null),0==(b-=f))break;a=0}else a-=e}if(this.size-b<25){var h=[];this.collapse(h),this.children=[new _d(h)],this.children[0].parent=this}},collapse:function(a){for(var b=0,c=this.children.length;c>b;++b)this.children[b].collapse(a)},insertInner:function(a,b,c){this.size+=b.length,this.height+=c;for(var d=0,e=this.children.length;e>d;++d){var f=this.children[d],g=f.chunkSize();if(g>=a){if(f.insertInner(a,b,c),f.lines&&f.lines.length>50){for(;f.lines.length>50;){var h=f.lines.splice(f.lines.length-25,25),i=new _d(h);f.height-=i.height,this.children.splice(d+1,0,i),i.parent=this}this.maybeSpill()}break}a-=g}},maybeSpill:function(){if(!(this.children.length<=10)){var a=this;do{var b=a.children.splice(a.children.length-5,5),c=new ae(b);if(a.parent){a.size-=c.size,a.height-=c.height;var e=Ze(a.parent.children,a);a.parent.children.splice(e+1,0,c)}else{var d=new ae(a.children);d.parent=a,a.children=[d,c],a=d}c.parent=a.parent}while(a.children.length>10);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=0,e=this.children.length;e>d;++d){var f=this.children[d],g=f.chunkSize();
4
- if(g>a){var h=Math.min(b,g-a);if(f.iterN(a,h,c))return!0;if(0==(b-=h))break;a=0}else a-=g}}};var be=0,ce=w.Doc=function(a,b,c){if(!(this instanceof ce))return new ce(a,b,c);null==c&&(c=0),ae.call(this,[new _d([new Kd("",null)])]),this.first=c,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.history=pe(),this.cleanGeneration=1,this.frontier=c;var d=xc(c,0);this.sel={from:d,to:d,head:d,anchor:d,shift:!1,extend:!1,goalColumn:null},this.id=++be,this.modeOption=b,"string"==typeof a&&(a=sf(a)),$d(this,{from:d,to:d,text:a},null,{head:d,anchor:d})};ce.prototype=$e(ae.prototype,{constructor:ce,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0,e=b.length;e>d;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b=je(this,this.first,this.first+this.size);return a===!1?b:b.join(a||"\n")},setValue:function(a){var b=xc(this.first,0),c=this.first+this.size-1;qc(this,{from:b,to:xc(c,he(this,c).text.length),text:sf(a),origin:"setValue"},{head:b,anchor:b},!0)},replaceRange:function(a,b,c,d){b=Cc(this,b),c=c?Cc(this,c):b,wc(this,a,b,c,d)},getRange:function(a,b,c){var d=ie(this,Cc(this,a),Cc(this,b));return c===!1?d:d.join(c||"\n")},getLine:function(a){var b=this.getLineHandle(a);return b&&b.text},setLine:function(a,b){Ec(this,a)&&wc(this,b,xc(a,0),Cc(this,xc(a)))},removeLine:function(a){a?wc(this,"",Cc(this,xc(a-1)),Cc(this,xc(a))):wc(this,"",xc(0,0),Cc(this,xc(1,0)))},getLineHandle:function(a){return Ec(this,a)?he(this,a):void 0},getLineNumber:function(a){return le(a)},getLineHandleVisualStart:function(a){return"number"==typeof a&&(a=he(this,a)),Bd(this,a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return Cc(this,a)},getCursor:function(a){var c,b=this.sel;return c=null==a||"head"==a?b.head:"anchor"==a?b.anchor:"end"==a||a===!1?b.to:b.from,Ac(c)},somethingSelected:function(){return!yc(this.sel.head,this.sel.anchor)},setCursor:Eb(function(a,b,c){var d=Cc(this,"number"==typeof a?xc(a,b||0):a);c?Fc(this,d):Hc(this,d,d)}),setSelection:Eb(function(a,b){Hc(this,Cc(this,a),Cc(this,b||a))}),extendSelection:Eb(function(a,b){Fc(this,Cc(this,a),b&&Cc(this,b))}),getSelection:function(a){return this.getRange(this.sel.from,this.sel.to,a)},replaceSelection:function(a,b,c){qc(this,{from:this.sel.from,to:this.sel.to,text:sf(a),origin:c},b||"around")},undo:Eb(function(){sc(this,"undo")}),redo:Eb(function(){sc(this,"redo")}),setExtending:function(a){this.sel.extend=a},historySize:function(){var a=this.history;return{undo:a.done.length,redo:a.undone.length}},clearHistory:function(){this.history=pe(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration()},changeGeneration:function(){return this.history.lastOp=this.history.lastOrigin=null,this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)},getHistory:function(){return{done:ve(this.history.done),undone:ve(this.history.undone)}},setHistory:function(a){var b=this.history=pe(this.history.maxGeneration);b.done=a.done.slice(0),b.undone=a.undone.slice(0)},markText:function(a,b,c){return nd(this,Cc(this,a),Cc(this,b),c,"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft};return a=Cc(this,a),nd(this,a,a,c,"bookmark")},findMarksAt:function(a){a=Cc(this,a);var b=[],c=he(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},getAllMarks:function(){var a=[];return this.iter(function(b){var c=b.markedSpans;if(c)for(var d=0;d<c.length;++d)null!=c[d].from&&a.push(c[d].marker)}),a},posFromIndex:function(a){var b,c=this.first;return this.iter(function(d){var e=d.text.length+1;return e>a?(b=a,!0):(a-=e,++c,void 0)}),Cc(this,xc(c,b))},indexFromPos:function(a){a=Cc(this,a);var b=a.ch;return a.line<this.first||a.ch<0?0:(this.iter(this.first,a.line,function(a){b+=a.text.length+1}),b)},copy:function(a){var b=new ce(je(this,this.first,this.first+this.size),this.modeOption,this.first);return b.scrollTop=this.scrollTop,b.scrollLeft=this.scrollLeft,b.sel={from:this.sel.from,to:this.sel.to,head:this.sel.head,anchor:this.sel.anchor,shift:this.sel.shift,extend:!1,goalColumn:this.sel.goalColumn},a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory())),b},linkedDoc:function(a){a||(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from),null!=a.to&&a.to<c&&(c=a.to);var d=new ce(je(this,b,c),a.mode||this.modeOption,b);return a.sharedHist&&(d.history=this.history),(this.linked||(this.linked=[])).push({doc:d,sharedHist:a.sharedHist}),d.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}],d},unlinkDoc:function(a){if(a instanceof w&&(a=a.doc),this.linked)for(var b=0;b<this.linked.length;++b){var c=this.linked[b];if(c.doc==a){this.linked.splice(b,1),a.unlinkDoc(this);break}}if(a.history==this.history){var d=[a.id];fe(a,function(a){d.push(a.id)},!0),a.history=pe(),a.history.done=ve(this.history.done,d),a.history.undone=ve(this.history.undone,d)}},iterLinkedDocs:function(a){fe(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm}}),ce.prototype.eachLine=ce.prototype.iter;var de="iter insert remove copy getEditor".split(" ");for(var ee in ce.prototype)ce.prototype.hasOwnProperty(ee)&&Ze(de,ee)<0&&(w.prototype[ee]=function(a){return function(){return a.apply(this.doc,arguments)}}(ce.prototype[ee]));Qe(ce),w.e_stop=Ee,w.e_preventDefault=Be,w.e_stopPropagation=Ce;var Ke,Le=0;w.on=He,w.off=Ie,w.signal=Je;var Re=30,Se=w.Pass={toString:function(){return"CodeMirror.Pass"}};Te.prototype={set:function(a,b){clearTimeout(this.id),this.id=setTimeout(b,a)}},w.countColumn=Ue;var Ve=[""],cf=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,ff=/[\u0300-\u036F\u0483-\u0487\u0488-\u0489\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\uA66F\uA670-\uA672\uA674-\uA67D\uA69F\udc00-\udfff]/;w.replaceGetRect=function(a){lf=a};var mf=function(){if(d)return!1;var a=gf("div");return"draggable"in a||"dragDrop"in a}();a?nf=function(a,b){return 36==a.charCodeAt(b-1)&&39==a.charCodeAt(b)}:i&&!/Version\/([6-9]|\d\d)\b/.test(navigator.userAgent)?nf=function(a,b){return/\-[^ \-?]|\?[^ !\'\"\),.\-\/:;\?\]\}]/.test(a.slice(b-1,b+1))}:e&&!/Chrome\/(?:29|[3-9]\d|\d\d\d)\./.test(navigator.userAgent)&&(nf=function(a,b){if(b>1&&45==a.charCodeAt(b-1)){if(/\w/.test(a.charAt(b-2))&&/[^\-?\.]/.test(a.charAt(b)))return!0;if(b>2&&/[\d\.,]/.test(a.charAt(b-2))&&/[\d\.,]/.test(a.charAt(b)))return!1}return/[~!#%&*)=+}\]|\"\.>,:;][({[<]|-[^\-?\.\u2010-\u201f\u2026]|\?[\w~`@#$%\^&*(_=+{[|><]|\u2026[\w~`@#$%\^&*(_=+{[><]/.test(a.slice(b-1,b+1))});var of,qf,sf=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;d>=b;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var f=a.slice(b,"\r"==a.charAt(e-1)?e-1:e),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)};w.splitLines=sf;var tf=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},uf=function(){var a=gf("div");return"oncopy"in a?!0:(a.setAttribute("oncopy","return;"),"function"==typeof a.oncopy)}(),vf={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};w.keyNames=vf,function(){for(var a=0;10>a;a++)vf[a+48]=String(a);for(var a=65;90>=a;a++)vf[a]=String.fromCharCode(a);for(var a=1;12>=a;a++)vf[a+111]=vf[a+63235]="F"+a}();var Ef,Jf=function(){function c(c){return 255>=c?a.charAt(c):c>=1424&&1524>=c?"R":c>=1536&&1791>=c?b.charAt(c-1536):c>=1792&&2220>=c?"r":"L"}var a="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLL",b="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmmrrrrrrrrrrrrrrrrrr",d=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,e=/[stwN]/,f=/[LRr]/,g=/[Lb1n]/,h=/[1n]/,i="L";return function(a){if(!d.test(a))return!1;for(var l,b=a.length,j=[],k=0;b>k;++k)j.push(l=c(a.charCodeAt(k)));for(var k=0,m=i;b>k;++k){var l=j[k];"m"==l?j[k]=m:m=l}for(var k=0,n=i;b>k;++k){var l=j[k];"1"==l&&"r"==n?j[k]="n":f.test(l)&&(n=l,"r"==l&&(j[k]="R"))}for(var k=1,m=j[0];b-1>k;++k){var l=j[k];"+"==l&&"1"==m&&"1"==j[k+1]?j[k]="1":","!=l||m!=j[k+1]||"1"!=m&&"n"!=m||(j[k]=m),m=l}for(var k=0;b>k;++k){var l=j[k];if(","==l)j[k]="N";else if("%"==l){for(var o=k+1;b>o&&"%"==j[o];++o);for(var p=k&&"!"==j[k-1]||b-1>o&&"1"==j[o]?"1":"N",q=k;o>q;++q)j[q]=p;k=o-1}}for(var k=0,n=i;b>k;++k){var l=j[k];"L"==n&&"1"==l?j[k]="L":f.test(l)&&(n=l)}for(var k=0;b>k;++k)if(e.test(j[k])){for(var o=k+1;b>o&&e.test(j[o]);++o);for(var r="L"==(k?j[k-1]:i),s="L"==(b-1>o?j[o]:i),p=r||s?"L":"R",q=k;o>q;++q)j[q]=p;k=o-1}for(var u,t=[],k=0;b>k;)if(g.test(j[k])){var v=k;for(++k;b>k&&g.test(j[k]);++k);t.push({from:v,to:k,level:0})}else{var w=k,x=t.length;for(++k;b>k&&"L"!=j[k];++k);for(var q=w;k>q;)if(h.test(j[q])){q>w&&t.splice(x,0,{from:w,to:q,level:1});var y=q;for(++q;k>q&&h.test(j[q]);++q);t.splice(x,0,{from:y,to:q,level:2}),w=q}else++q;k>w&&t.splice(x,0,{from:w,to:k,level:1})}return 1==t[0].level&&(u=a.match(/^\s+/))&&(t[0].from=u[0].length,t.unshift({from:0,to:u[0].length,level:0})),1==Xe(t).level&&(u=a.match(/\s+$/))&&(Xe(t).to-=u[0].length,t.push({from:b-u[0].length,to:b,level:0})),t[0].level!=Xe(t).level&&t.push({from:b,to:b,level:t[0].level}),t}}();return w.version="3.15.0",w}(),CodeMirror.defineMode("clike",function(a,b){function n(a,b){var c=a.next();if(j[c]){var d=j[c](a,b);if(d!==!1)return d}if('"'==c||"'"==c)return b.tokenize=o(c),b.tokenize(a,b);if(/[\[\]{}\(\),;\:\.]/.test(c))return m=c,null;if(/\d/.test(c))return a.eatWhile(/[\w\.]/),"number";if("/"==c){if(a.eat("*"))return b.tokenize=p,p(a,b);if(a.eat("/"))return a.skipToEnd(),"comment"}if(l.test(c))return a.eatWhile(l),"operator";a.eatWhile(/[\w\$_]/);var e=a.current();return f.propertyIsEnumerable(e)?(h.propertyIsEnumerable(e)&&(m="newstatement"),"keyword"):g.propertyIsEnumerable(e)?(h.propertyIsEnumerable(e)&&(m="newstatement"),"builtin"):i.propertyIsEnumerable(e)?"atom":"variable"}function o(a){return function(b,c){for(var e,d=!1,f=!1;null!=(e=b.next());){if(e==a&&!d){f=!0;break}d=!d&&"\\"==e}return(f||!d&&!k)&&(c.tokenize=null),"string"}}function p(a,b){for(var d,c=!1;d=a.next();){if("/"==d&&c){b.tokenize=null;break}c="*"==d}return"comment"}function q(a,b,c,d,e){this.indented=a,this.column=b,this.type=c,this.align=d,this.prev=e}function r(a,b,c){var d=a.indented;return a.context&&"statement"==a.context.type&&(d=a.context.indented),a.context=new q(d,b,c,null,a.context)}function s(a){var b=a.context.type;return(")"==b||"]"==b||"}"==b)&&(a.indented=a.context.indented),a.context=a.context.prev}var m,c=a.indentUnit,d=b.statementIndentUnit||c,e=b.dontAlignCalls,f=b.keywords||{},g=b.builtin||{},h=b.blockKeywords||{},i=b.atoms||{},j=b.hooks||{},k=b.multiLineStrings,l=/[+\-*&%=<>!?|\/]/;return{startState:function(a){return{tokenize:null,context:new q((a||0)-c,0,"top",!1),indented:0,startOfLine:!0}},token:function(a,b){var c=b.context;if(a.sol()&&(null==c.align&&(c.align=!1),b.indented=a.indentation(),b.startOfLine=!0),a.eatSpace())return null;m=null;var d=(b.tokenize||n)(a,b);if("comment"==d||"meta"==d)return d;if(null==c.align&&(c.align=!0),";"!=m&&":"!=m&&","!=m||"statement"!=c.type)if("{"==m)r(b,a.column(),"}");else if("["==m)r(b,a.column(),"]");else if("("==m)r(b,a.column(),")");else if("}"==m){for(;"statement"==c.type;)c=s(b);for("}"==c.type&&(c=s(b));"statement"==c.type;)c=s(b)}else m==c.type?s(b):(("}"==c.type||"top"==c.type)&&";"!=m||"statement"==c.type&&"newstatement"==m)&&r(b,a.column(),"statement");else s(b);return b.startOfLine=!1,d},indent:function(a,b){if(a.tokenize!=n&&null!=a.tokenize)return CodeMirror.Pass;var f=a.context,g=b&&b.charAt(0);"statement"==f.type&&"}"==g&&(f=f.prev);var h=g==f.type;return"statement"==f.type?f.indented+("{"==g?0:d):!f.align||e&&")"==f.type?")"!=f.type||h?f.indented+(h?0:c):f.indented+d:f.column+(h?0:1)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),function(){function a(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function c(a,b){if(!b.startOfLine)return!1;for(;;){if(!a.skipTo("\\")){a.skipToEnd(),b.tokenize=null;break}if(a.next(),a.eol()){b.tokenize=c;break}}return"meta"}function d(a,b){for(var c;null!=(c=a.next());)if('"'==c&&!a.eat('"')){b.tokenize=null;break}return"string"}function e(a,b){for(var c=0;c<a.length;++c)CodeMirror.defineMIME(a[c],b)}var b="auto if break int case long char register continue return default short do sizeof double static else struct entry switch extern typedef float union for unsigned goto while enum void const signed volatile";e(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:a(b),blockKeywords:a("case do else for if switch while struct"),atoms:a("null"),hooks:{"#":c}}),e(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:a(b+" asm dynamic_cast namespace reinterpret_cast try bool explicit new "+"static_cast typeid catch operator template typename class friend private "+"this using const_cast inline public throw virtual delete mutable protected "+"wchar_t"),blockKeywords:a("catch class do else finally for if struct switch try while"),atoms:a("true false null"),hooks:{"#":c}}),CodeMirror.defineMIME("text/x-java",{name:"clike",keywords:a("abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while"),blockKeywords:a("catch class do else finally for if switch try while"),atoms:a("true false null"),hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"}}}),CodeMirror.defineMIME("text/x-csharp",{name:"clike",keywords:a("abstract as base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),blockKeywords:a("catch class do else finally for foreach if struct switch try while"),builtin:a("Boolean Byte Char DateTime DateTimeOffset Decimal Double Guid Int16 Int32 Int64 Object SByte Single String TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),atoms:a("true false null"),hooks:{"@":function(a,b){return a.eat('"')?(b.tokenize=d,d(a,b)):(a.eatWhile(/[\w\$_]/),"meta")}}}),CodeMirror.defineMIME("text/x-scala",{name:"clike",keywords:a("abstract case catch class def do else extends false final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try trye type val var while with yield _ : = => <- <: <% >: # @ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector :: #:: Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),blockKeywords:a("catch class do else finally for forSome if match switch try while"),atoms:a("true false null"),hooks:{"@":function(a){return a.eatWhile(/[\w\$_]/),"meta"}}}),e(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:a("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4 sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadowconst attribute uniform varying break continue discard return for while do if else struct in out inout"),blockKeywords:a("for while do if else struct"),builtin:a("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smootstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:a("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragColor gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),hooks:{"#":c}})}(),CodeMirror.defineMode("css",function(a){return CodeMirror.getMode(a,"text/css")}),CodeMirror.defineMode("css-base",function(a,b){"use strict";function l(a,b){return k=b,a}function m(a,b){var c=a.next();if(d[c]){var e=d[c](a,b);if(e!==!1)return e}if("@"==c)return a.eatWhile(/[\w\\\-]/),l("def",a.current());if("="==c)l(null,"compare");else{if(("~"==c||"|"==c)&&a.eat("="))return l(null,"compare");if('"'==c||"'"==c)return b.tokenize=n(c),b.tokenize(a,b);if("#"==c)return a.eatWhile(/[\w\\\-]/),l("atom","hash");if("!"==c)return a.match(/^\s*\w*/),l("keyword","important");if(/\d/.test(c))return a.eatWhile(/[\w.%]/),l("number","unit");if("-"!==c)return/[,+>*\/]/.test(c)?l(null,"select-op"):"."==c&&a.match(/^-?[_a-z][_a-z0-9-]*/i)?l("qualifier","qualifier"):":"==c?l("operator",c):/[;{}\[\]\(\)]/.test(c)?l(null,c):"u"==c&&a.match("rl(")?(a.backUp(1),b.tokenize=o,l("property","variable")):(a.eatWhile(/[\w\\\-]/),l("property","variable"));if(/\d/.test(a.peek()))return a.eatWhile(/[\w.%]/),l("number","unit");if(a.match(/^[^-]+-/))return l("meta","meta")}}function n(a,b){return function(c,d){for(var f,e=!1;null!=(f=c.next())&&(f!=a||e);)e=!e&&"\\"==f;return e||(b&&c.backUp(1),d.tokenize=m),l("string","string")}}function o(a,b){return a.next(),b.tokenize=a.match(/\s*[\"\']/,!1)?m:n(")",!0),l(null,"(")}var c=a.indentUnit,d=b.hooks||{},e=b.atMediaTypes||{},f=b.atMediaFeatures||{},g=b.propertyKeywords||{},h=b.colorKeywords||{},i=b.valueKeywords||{},j=!!b.allowNested,k=null;return{startState:function(a){return{tokenize:m,baseIndent:a||0,stack:[],lastToken:null}},token:function(a,b){if(b.tokenize=b.tokenize||m,b.tokenize==m&&a.eatSpace())return null;var c=b.tokenize(a,b);c&&"string"!=typeof c&&(c=l(c[0],c[1]));var d=b.stack[b.stack.length-1];if("variable"==c)return"variable-definition"==k&&b.stack.push("propertyValue"),b.lastToken="variable-2";if("property"==c){var n=a.current().toLowerCase();"propertyValue"==d?c=i.hasOwnProperty(n)?"string-2":h.hasOwnProperty(n)?"keyword":"variable-2":"rule"==d?g.hasOwnProperty(n)||(c+=" error"):"block"==d?c=g.hasOwnProperty(n)?"property":h.hasOwnProperty(n)?"keyword":i.hasOwnProperty(n)?"string-2":"tag":d&&"@media{"!=d?"@media"==d?c=e[a.current()]?"attribute":/^(only|not)$/.test(n)?"keyword":"and"==n?"error":f.hasOwnProperty(n)?"error":"attribute error":"@mediaType"==d?c=e.hasOwnProperty(n)?"attribute":"and"==n?"operator":/^(only|not)$/.test(n)?"error":"error":"@mediaType("==d?g.hasOwnProperty(n)||(e.hasOwnProperty(n)?c="error":"and"==n?c="operator":/^(only|not)$/.test(n)?c="error":c+=" error"):c="@import"==d?"tag":"error":c="tag"}else"atom"==c?d&&"@media{"!=d&&"block"!=d?"propertyValue"==d?/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(a.current())||(c+=" error"):c="error":c="builtin":"@media"==d&&"{"==k&&(c="error");if("{"==k)if("@media"==d||"@mediaType"==d)b.stack[b.stack.length-1]="@media{";else{var o=j?"block":"rule";b.stack.push(o)}else"}"==k?("interpolation"==d&&(c="operator"),b.stack.pop(),"propertyValue"==d&&b.stack.pop()):"interpolation"==k?b.stack.push("interpolation"):"@media"==k?b.stack.push("@media"):"@import"==k?b.stack.push("@import"):"@media"==d&&/\b(keyword|attribute)\b/.test(c)?b.stack[b.stack.length-1]="@mediaType":"@mediaType"==d&&","==a.current()?b.stack[b.stack.length-1]="@media":"("==k?("@media"==d||"@mediaType"==d)&&(b.stack[b.stack.length-1]="@mediaType",b.stack.push("@mediaType(")):")"==k?"propertyValue"==d&&"@mediaType("==b.stack[b.stack.length-2]?(b.stack.pop(),b.stack.pop()):"@mediaType("==d&&b.stack.pop():":"==k&&"property"==b.lastToken?b.stack.push("propertyValue"):"propertyValue"==d&&";"==k?b.stack.pop():"@import"==d&&";"==k&&b.stack.pop();return b.lastToken=c},indent:function(a,b){var d=a.stack.length;return/^\}/.test(b)&&(d-="propertyValue"==a.stack[d-1]?2:1),a.baseIndent+d*c},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace"}}),function(){function a(a){for(var b={},c=0;c<a.length;++c)b[a[c]]=!0;return b}function g(a,b){for(var d,c=!1;null!=(d=a.next());){if(c&&"/"==d){b.tokenize=null;break}c="*"==d}return["comment","comment"]}var b=a(["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"]),c=a(["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"]),d=a(["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid-cell","grid-column","grid-column-align","grid-column-sizing","grid-column-span","grid-columns","grid-flow","grid-row","grid-row-align","grid-row-sizing","grid-row-span","grid-rows","grid-template","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index","zoom","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-profile","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","kerning","text-anchor","writing-mode"]),e=a(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),f=a(["above","absolute","activeborder","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","auto","avoid","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break-all","break-word","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","compact","condensed","contain","content","content-box","context-menu","continuous","copy","cover","crop","cross","crosshair","currentcolor","cursive","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ew-resize","expanded","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-table","inset","inside","intrinsic","invert","italic","justify","kannada","katakana","katakana-iroha","khmer","landscape","lao","large","larger","left","level","lighter","line-through","linear","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","overlay","overline","padding","padding-box","painted","paused","persian","plus-darker","plus-lighter","pointer","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radio","read-only","read-write","read-write-plaintext-only","relative","repeat","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","single","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","x-large","x-small","xor","xx-large","xx-small"]);
5
- CodeMirror.defineMIME("text/css",{atMediaTypes:b,atMediaFeatures:c,propertyKeywords:d,colorKeywords:e,valueKeywords:f,hooks:{"<":function(a,b){function c(a,b){for(var d,c=0;null!=(d=a.next());){if(c>=2&&">"==d){b.tokenize=null;break}c="-"==d?c+1:0}return["comment","comment"]}return a.eat("!")?(b.tokenize=c,c(a,b)):void 0},"/":function(a,b){return a.eat("*")?(b.tokenize=g,g(a,b)):!1}},name:"css-base"}),CodeMirror.defineMIME("text/x-scss",{atMediaTypes:b,atMediaFeatures:c,propertyKeywords:d,colorKeywords:e,valueKeywords:f,allowNested:!0,hooks:{$:function(a){return a.match(/^[\w-]+/),":"==a.peek()?["variable","variable-definition"]:["variable","variable"]},"/":function(a,b){return a.eat("/")?(a.skipToEnd(),["comment","comment"]):a.eat("*")?(b.tokenize=g,g(a,b)):["operator","operator"]},"#":function(a){return a.eat("{")?["operator","interpolation"]:(a.eatWhile(/[\w\\\-]/),["atom","hash"])}},name:"css-base"})}(),CodeMirror.defineMode("htmlmixed",function(a,b){function i(a,b){var f=b.htmlState.tagName,g=c.token(a,b.htmlState);if("script"==f&&/\btag\b/.test(g)&&">"==a.current()){var h=a.string.slice(Math.max(0,a.pos-100),a.pos).match(/\btype\s*=\s*("[^"]+"|'[^']+'|\S+)[^<]*$/i);h=h?h[1]:"",h&&/[\"\']/.test(h.charAt(0))&&(h=h.slice(1,h.length-1));for(var i=0;i<e.length;++i){var j=e[i];if("string"==typeof j.matches?h==j.matches:j.matches.test(h)){j.mode&&(b.token=k,b.localMode=j.mode,b.localState=j.mode.startState&&j.mode.startState(c.indent(b.htmlState,"")));break}}}else"style"==f&&/\btag\b/.test(g)&&">"==a.current()&&(b.token=l,b.localMode=d,b.localState=d.startState(c.indent(b.htmlState,"")));return g}function j(a,b,c){var f,d=a.current(),e=d.search(b);return e>-1?a.backUp(d.length-e):(f=d.match(/<\/?$/))&&(a.backUp(d.length),a.match(b,!1)||a.match(d[0])),c}function k(a,b){return a.match(/^<\/\s*script\s*>/i,!1)?(b.token=i,b.localState=b.localMode=null,i(a,b)):j(a,/<\/\s*script\s*>/,b.localMode.token(a,b.localState))}function l(a,b){return a.match(/^<\/\s*style\s*>/i,!1)?(b.token=i,b.localState=b.localMode=null,i(a,b)):j(a,/<\/\s*style\s*>/,d.token(a,b.localState))}var c=CodeMirror.getMode(a,{name:"xml",htmlMode:!0}),d=CodeMirror.getMode(a,"css"),e=[],f=b&&b.scriptTypes;if(e.push({matches:/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^$/i,mode:CodeMirror.getMode(a,"javascript")}),f)for(var g=0;g<f.length;++g){var h=f[g];e.push({matches:h.matches,mode:h.mode&&CodeMirror.getMode(a,h.mode)})}return e.push({matches:/./,mode:CodeMirror.getMode(a,"text/plain")}),{startState:function(){var a=c.startState();return{token:i,localMode:null,localState:null,htmlState:a}},copyState:function(a){if(a.localState)var b=CodeMirror.copyState(a.localMode,a.localState);return{token:a.token,localMode:a.localMode,localState:b,htmlState:CodeMirror.copyState(c,a.htmlState)}},token:function(a,b){return b.token(a,b)},indent:function(a,b){return!a.localMode||/^\s*<\//.test(b)?c.indent(a.htmlState,b):a.localMode.indent?a.localMode.indent(a.localState,b):CodeMirror.Pass},electricChars:"/{}:",innerMode:function(a){return{state:a.localState||a.htmlState,mode:a.localMode||c}}}},"xml","javascript","css"),CodeMirror.defineMIME("text/html","htmlmixed"),CodeMirror.defineMode("javascript",function(a,b){function i(a,b,c){return b.tokenize=c,c(a,b)}function j(a,b){for(var d,c=!1;null!=(d=a.next());){if(d==b&&!c)return!1;c=!c&&"\\"==d}return c}function m(a,b,c){return k=a,l=c,b}function n(a,b){var c=a.next();if('"'==c||"'"==c)return i(a,b,o(c));if(/[\[\]{}\(\),;\:\.]/.test(c))return m(c);if("0"==c&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),m("number","number");if(/\d/.test(c)||"-"==c&&a.eat(/\d/))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),m("number","number");if("/"==c)return a.eat("*")?i(a,b,p):a.eat("/")?(a.skipToEnd(),m("comment","comment")):"operator"==b.lastType||"keyword c"==b.lastType||/^[\[{}\(,;:]$/.test(b.lastType)?(j(a,"/"),a.eatWhile(/[gimy]/),m("regexp","string-2")):(a.eatWhile(h),m("operator",null,a.current()));if("#"==c)return a.skipToEnd(),m("error","error");if(h.test(c))return a.eatWhile(h),m("operator",null,a.current());a.eatWhile(/[\w\$_]/);var d=a.current(),e=g.propertyIsEnumerable(d)&&g[d];return e&&"."!=b.lastType?m(e.type,e.style,d):m("variable","variable",d)}function o(a){return function(b,c){return j(b,a)||(c.tokenize=n),m("string","string")}}function p(a,b){for(var d,c=!1;d=a.next();){if("/"==d&&c){b.tokenize=n;break}c="*"==d}return m("comment","comment")}function r(a,b,c,d,e,f){this.indented=a,this.column=b,this.type=c,this.prev=e,this.info=f,null!=d&&(this.align=d)}function s(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return!0}function t(a,b,c,d,f){var g=a.cc;for(u.state=a,u.stream=f,u.marked=null,u.cc=g,a.lexical.hasOwnProperty("align")||(a.lexical.align=!0);;){var h=g.length?g.pop():e?F:E;if(h(c,d)){for(;g.length&&g[g.length-1].lex;)g.pop()();return u.marked?u.marked:"variable"==c&&s(a,d)?"variable-2":b}}}function v(){for(var a=arguments.length-1;a>=0;a--)u.cc.push(arguments[a])}function w(){return v.apply(null,arguments),!0}function x(a){function b(b){for(var c=b;c;c=c.next)if(c.name==a)return!0;return!1}var c=u.state;if(c.context){if(u.marked="def",b(c.localVars))return;c.localVars={name:a,next:c.localVars}}else{if(b(c.globalVars))return;c.globalVars={name:a,next:c.globalVars}}}function z(){u.state.context={prev:u.state.context,vars:u.state.localVars},u.state.localVars=y}function A(){u.state.localVars=u.state.context.vars,u.state.context=u.state.context.prev}function B(a,b){var c=function(){var c=u.state,d=c.indented;"stat"==c.lexical.type&&(d=c.lexical.indented),c.lexical=new r(d,u.stream.column(),a,null,c.lexical,b)};return c.lex=!0,c}function C(){var a=u.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function D(a){return function(b){return b==a?w():";"==a?v():w(arguments.callee)}}function E(a){return"var"==a?w(B("vardef"),U,D(";"),C):"keyword a"==a?w(B("form"),F,E,C):"keyword b"==a?w(B("form"),E,C):"{"==a?w(B("}"),R,C):";"==a?w():"if"==a?w(B("form"),F,E,C,W):"function"==a?w(_):"for"==a?w(B("form"),D("("),B(")"),X,D(")"),C,E,C):"variable"==a?w(B("stat"),M):"switch"==a?w(B("form"),F,B("}","switch"),D("{"),R,C,C):"case"==a?w(F,D(":")):"default"==a?w(D(":")):"catch"==a?w(B("form"),z,D("("),ab,D(")"),E,C,A):v(B("stat"),F,D(";"),C)}function F(a){return H(a,!1)}function G(a){return H(a,!0)}function H(a,b){var c=b?L:K;return q.hasOwnProperty(a)?w(c):"function"==a?w(_):"keyword c"==a?w(b?J:I):"("==a?w(B(")"),I,D(")"),C,c):"operator"==a?w(b?G:F):"["==a?w(B("]"),Q(G,"]"),C,c):"{"==a?w(B("}"),Q(O,"}"),C,c):w()}function I(a){return a.match(/[;\}\)\],]/)?v():v(F)}function J(a){return a.match(/[;\}\)\],]/)?v():v(G)}function K(a,b){return","==a?w(F):L(a,b,!1)}function L(a,b,c){var d=0==c?K:L,e=0==c?F:G;return"operator"==a?/\+\+|--/.test(b)?w(d):"?"==b?w(F,D(":"),e):w(e):";"!=a?"("==a?w(B(")","call"),Q(G,")"),C,d):"."==a?w(N,d):"["==a?w(B("]"),I,D("]"),C,d):void 0:void 0}function M(a){return":"==a?w(C,E):v(K,D(";"),C)}function N(a){return"variable"==a?(u.marked="property",w()):void 0}function O(a,b){if("variable"==a){if(u.marked="property","get"==b||"set"==b)return w(P)}else("number"==a||"string"==a)&&(u.marked=a+" property");return q.hasOwnProperty(a)?w(D(":"),G):void 0}function P(a){return":"==a?w(F):"variable"!=a?w(D(":"),F):(u.marked="property",w(_))}function Q(a,b){function c(d){if(","==d){var e=u.state.lexical;return"call"==e.info&&(e.pos=(e.pos||0)+1),w(a,c)}return d==b?w():w(D(b))}return function(d){return d==b?w():v(a,c)}}function R(a){return"}"==a?w():v(E,R)}function S(a){return":"==a?w(T):v()}function T(a){return"variable"==a?(u.marked="variable-3",w()):v()}function U(a,b){return"variable"==a?(x(b),f?w(S,V):w(V)):v()}function V(a,b){return"="==b?w(G,V):","==a?w(U):void 0}function W(a,b){return"keyword b"==a&&"else"==b?w(B("form"),E,C):void 0}function X(a){return"var"==a?w(U,D(";"),Z):";"==a?w(Z):"variable"==a?w(Y):v(F,D(";"),Z)}function Y(a,b){return"in"==b?w(F):w(K,Z)}function Z(a,b){return";"==a?w($):"in"==b?w(F):v(F,D(";"),$)}function $(a){")"!=a&&w(F)}function _(a,b){return"variable"==a?(x(b),w(_)):"("==a?w(B(")"),z,Q(ab,")"),C,E,A):void 0}function ab(a,b){return"variable"==a?(x(b),f?w(S):w()):void 0}var k,l,c=a.indentUnit,d=b.statementIndent,e=b.json,f=b.typescript,g=function(){function a(a){return{type:a,style:"keyword"}}var b=a("keyword a"),c=a("keyword b"),d=a("keyword c"),e=a("operator"),g={type:"atom",style:"atom"},h={"if":a("if"),"while":b,"with":b,"else":c,"do":c,"try":c,"finally":c,"return":d,"break":d,"continue":d,"new":d,"delete":d,"throw":d,"var":a("var"),"const":a("var"),let:a("var"),"function":a("function"),"catch":a("catch"),"for":a("for"),"switch":a("switch"),"case":a("case"),"default":a("default"),"in":e,"typeof":e,"instanceof":e,"true":g,"false":g,"null":g,undefined:g,NaN:g,Infinity:g,"this":a("this")};if(f){var i={type:"variable",style:"variable-3"},j={"interface":a("interface"),"class":a("class"),"extends":a("extends"),constructor:a("constructor"),"public":a("public"),"private":a("private"),"protected":a("protected"),"static":a("static"),"super":a("super"),string:i,number:i,bool:i,any:i};for(var k in j)h[k]=j[k]}return h}(),h=/[+\-*&%=<>!?|~^]/,q={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0},u={state:null,column:null,marked:null,cc:null},y={name:"this",next:{name:"arguments"}};return C.lex=!0,{startState:function(a){return{tokenize:n,lastType:null,cc:[],lexical:new r((a||0)-c,0,"block",!1),localVars:b.localVars,globalVars:b.globalVars,context:b.localVars&&{vars:b.localVars},indented:0}},token:function(a,b){if(a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation()),b.tokenize!=p&&a.eatSpace())return null;var c=b.tokenize(a,b);return"comment"==k?c:(b.lastType="operator"!=k||"++"!=l&&"--"!=l?k:"incdec",t(b,c,k,l,a))},indent:function(a,e){if(a.tokenize==p)return CodeMirror.Pass;if(a.tokenize!=n)return 0;for(var f=e&&e.charAt(0),g=a.lexical,h=a.cc.length-1;h>=0;--h){var i=a.cc[h];if(i==C)g=g.prev;else if(i!=W||/^else\b/.test(e))break}"stat"==g.type&&"}"==f&&(g=g.prev),d&&")"==g.type&&"stat"==g.prev.type&&(g=g.prev);var j=g.type,k=f==j;return"vardef"==j?g.indented+("operator"==a.lastType||","==a.lastType?4:0):"form"==j&&"{"==f?g.indented:"form"==j?g.indented+c:"stat"==j?g.indented+("operator"==a.lastType||","==a.lastType?d||c:0):"switch"!=g.info||k||0==b.doubleIndentSwitch?g.align?g.column+(k?0:1):g.indented+(k?0:c):g.indented+(/^(?:case|default)\b/.test(e)?c:2*c)},electricChars:":{}",blockCommentStart:e?null:"/*",blockCommentEnd:e?null:"*/",lineComment:e?null:"//",fold:"brace",helperType:e?"json":"javascript",jsonMode:e}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("text/ecmascript","javascript"),CodeMirror.defineMIME("application/javascript","javascript"),CodeMirror.defineMIME("application/ecmascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMIME("application/x-json",{name:"javascript",json:!0}),CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0}),function(){function a(a){for(var b={},c=a.split(" "),d=0;d<c.length;++d)b[c[d]]=!0;return b}function b(a){return function(b,c){return b.match(a)?c.tokenize=null:b.skipToEnd(),"string"}}var c={name:"clike",keywords:a("abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent"),blockKeywords:a("catch do else elseif for foreach if switch try while"),atoms:a("true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__"),builtin:a("func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport echo print global static exit array empty eval isset unset die include require include_once require_once"),multiLineStrings:!0,hooks:{$:function(a){return a.eatWhile(/[\w\$_]/),"variable-2"},"<":function(a,c){return a.match(/<</)?(a.eatWhile(/[\w\.]/),c.tokenize=b(a.current().slice(3)),c.tokenize(a,c)):!1},"#":function(a){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"},"/":function(a){if(a.eat("/")){for(;!a.eol()&&!a.match("?>",!1);)a.next();return"comment"}return!1}}};CodeMirror.defineMode("php",function(a,b){function f(a,b){var c=b.curMode==e;if(a.sol()&&'"'!=b.pending&&(b.pending=null),c)return c&&null==b.php.tokenize&&a.match("?>")?(b.curMode=d,b.curState=b.html,"meta"):e.token(a,b.curState);if(a.match(/^<\?\w*/))return b.curMode=e,b.curState=b.php,"meta";if('"'==b.pending){for(;!a.eol()&&'"'!=a.next(););var f="string"}else if(b.pending&&a.pos<b.pending.end){a.pos=b.pending.end;var f=b.pending.style}else var f=d.token(a,b.curState);b.pending=null;var g=a.current(),h=g.search(/<\?/);return-1!=h&&(b.pending="string"==f&&/\"$/.test(g)&&!/\?>/.test(g)?'"':{end:a.pos,style:f},a.backUp(g.length-h)),f}var d=CodeMirror.getMode(a,"text/html"),e=CodeMirror.getMode(a,c);return{startState:function(){var a=CodeMirror.startState(d),c=CodeMirror.startState(e);return{html:a,php:c,curMode:b.startOpen?e:d,curState:b.startOpen?c:a,pending:null}},copyState:function(a){var h,b=a.html,c=CodeMirror.copyState(d,b),f=a.php,g=CodeMirror.copyState(e,f);return h=a.curMode==d?c:g,{html:c,php:g,curMode:a.curMode,curState:h,pending:a.pending}},token:f,indent:function(a,b){return a.curMode!=e&&/^\s*<\//.test(b)||a.curMode==e&&/^\?>/.test(b)?d.indent(a.html,b):a.curMode.indent(a.curState,b)},electricChars:"/{}:",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(a){return{state:a.curState,mode:a.curMode}}}},"htmlmixed","clike"),CodeMirror.defineMIME("application/x-httpd-php","php"),CodeMirror.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),CodeMirror.defineMIME("text/x-php",c)}(),CodeMirror.defineMode("xml",function(a,b){function j(a,b){function c(c){return b.tokenize=c,c(a,b)}var d=a.next();if("<"==d){if(a.eat("!"))return a.eat("[")?a.match("CDATA[")?c(m("atom","]]>")):null:a.match("--")?c(m("comment","-->")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),c(n(1))):null;if(a.eat("?"))return a.eatWhile(/[\w\._\-]/),b.tokenize=m("meta","?>"),"meta";var e=a.eat("/");h="";for(var f;f=a.eat(/[^\s\u00a0=<>\"\'\/?]/);)h+=f;return h?(i=e?"closeTag":"openTag",b.tokenize=k,"tag"):"error"}if("&"==d){var g;return g=a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"),g?"atom":"error"}return a.eatWhile(/[^&<]/),null}function k(a,b){var c=a.next();return">"==c||"/"==c&&a.eat(">")?(b.tokenize=j,i=">"==c?"endTag":"selfcloseTag","tag"):"="==c?(i="equals",null):"<"==c?"error":/[\'\"]/.test(c)?(b.tokenize=l(c),b.stringStartCol=a.column(),b.tokenize(a,b)):(a.eatWhile(/[^\s\u00a0=<>\"\']/),"word")}function l(a){var b=function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=k;break}return"string"};return b.isInAttribute=!0,b}function m(a,b){return function(c,d){for(;!c.eol();){if(c.match(b)){d.tokenize=j;break}c.next()}return a}}function n(a){return function(b,c){for(var d;null!=(d=b.next());){if("<"==d)return c.tokenize=n(a+1),c.tokenize(b,c);if(">"==d){if(1==a){c.tokenize=j;break}return c.tokenize=n(a-1),c.tokenize(b,c)}}return"meta"}}function r(){for(var a=arguments.length-1;a>=0;a--)o.cc.push(arguments[a])}function s(){return r.apply(null,arguments),!0}function t(a,b){var c=f.doNotIndent.hasOwnProperty(a)||o.context&&o.context.noIndent;o.context={prev:o.context,tagName:a,indent:o.indented,startOfLine:b,noIndent:c}}function u(){o.context&&(o.context=o.context.prev)}function v(a){if("openTag"==a)return o.tagName=h,o.tagStart=p.column(),s(z,w(o.startOfLine));if("closeTag"==a){var b=!1;return o.context?o.context.tagName!=h&&(f.implicitlyClosed.hasOwnProperty(o.context.tagName.toLowerCase())&&u(),b=!o.context||o.context.tagName!=h):b=!0,b&&(q="error"),s(x(b))}return s()}function w(a){return function(b){var c=o.tagName;return o.tagName=o.tagStart=null,"selfcloseTag"==b||"endTag"==b&&f.autoSelfClosers.hasOwnProperty(c.toLowerCase())?(y(c.toLowerCase()),s()):"endTag"==b?(y(c.toLowerCase()),t(c,a),s()):s()}}function x(a){return function(b){return a&&(q="error"),"endTag"==b?(u(),s()):(q="error",s(arguments.callee))}}function y(a){for(var b;;){if(!o.context)return;if(b=o.context.tagName.toLowerCase(),!f.contextGrabbers.hasOwnProperty(b)||!f.contextGrabbers[b].hasOwnProperty(a))return;u()}}function z(a){return"word"==a?(q="attribute",s(A,z)):"endTag"==a||"selfcloseTag"==a?r():(q="error",s(z))}function A(a){return"equals"==a?s(B,z):(f.allowMissing?"word"==a&&(q="attribute"):q="error","endTag"==a||"selfcloseTag"==a?r():s())}function B(a){return"string"==a?s(C):"word"==a&&f.allowUnquoted?(q="string",s()):(q="error","endTag"==a||"selfCloseTag"==a?r():s())}function C(a){return"string"==a?s(C):r()}var h,i,o,p,q,c=a.indentUnit,d=b.multilineTagIndentFactor||1,e=b.multilineTagIndentPastTag||!0,f=b.htmlMode?{autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1},g=b.alignCDATA;return{startState:function(){return{tokenize:j,cc:[],indented:0,startOfLine:!0,tagName:null,tagStart:null,context:null}},token:function(a,b){if(!b.tagName&&a.sol()&&(b.startOfLine=!0,b.indented=a.indentation()),a.eatSpace())return null;q=i=h=null;var c=b.tokenize(a,b);if(b.type=i,(c||i)&&"comment"!=c)for(o=b,p=a;;){var d=b.cc.pop()||v;if(d(i||c))break}return b.startOfLine=!1,q||c},indent:function(a,b,f){var h=a.context;if(a.tokenize.isInAttribute)return a.stringStartCol+1;if(a.tokenize!=k&&a.tokenize!=j||h&&h.noIndent)return f?f.match(/^(\s*)/)[0].length:0;if(a.tagName)return e?a.tagStart+a.tagName.length+2:a.tagStart+c*d;if(g&&/<!\[CDATA\[/.test(b))return 0;for(h&&/^<\//.test(b)&&(h=h.prev);h&&!h.startOfLine;)h=h.prev;return h?h.indent+c:0},electricChars:"/",blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:b.htmlMode?"html":"xml",helperType:b.htmlMode?"html":"xml"}}),CodeMirror.defineMIME("text/xml","xml"),CodeMirror.defineMIME("application/xml","xml"),CodeMirror.mimeModes.hasOwnProperty("text/html")||CodeMirror.defineMIME("text/html",{name:"xml",htmlMode:!0}),function(){function a(a,b,c){var e,d=a.getWrapperElement();return e=d.appendChild(document.createElement("div")),e.className=c?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top",e.innerHTML=b,e}CodeMirror.defineExtension("openDialog",function(b,c,d){function h(){f||(f=!0,e.parentNode.removeChild(e))}var j,e=a(this,b,d&&d.bottom),f=!1,g=this,i=e.getElementsByTagName("input")[0];return i?(CodeMirror.on(i,"keydown",function(a){d&&d.onKeyDown&&d.onKeyDown(a,i.value,h)||(13==a.keyCode||27==a.keyCode)&&(CodeMirror.e_stop(a),h(),g.focus(),13==a.keyCode&&c(i.value))}),d&&d.onKeyUp&&CodeMirror.on(i,"keyup",function(a){d.onKeyUp(a,i.value,h)}),d&&d.value&&(i.value=d.value),i.focus(),CodeMirror.on(i,"blur",h)):(j=e.getElementsByTagName("button")[0])&&(CodeMirror.on(j,"click",function(){h(),g.focus()}),j.focus(),CodeMirror.on(j,"blur",h)),h}),CodeMirror.defineExtension("openConfirm",function(b,c,d){function j(){g||(g=!0,e.parentNode.removeChild(e),h.focus())}var e=a(this,b,d&&d.bottom),f=e.getElementsByTagName("button"),g=!1,h=this,i=1;f[0].focus();for(var k=0;k<f.length;++k){var l=f[k];!function(a){CodeMirror.on(l,"click",function(b){CodeMirror.e_preventDefault(b),j(),a&&a(h)})}(c[k]),CodeMirror.on(l,"blur",function(){--i,setTimeout(function(){0>=i&&j()},200)}),CodeMirror.on(l,"focus",function(){++i})}})}(),function(){function b(a,b){for(var c=0,d=a.length;d>c;++c)b(a[c])}function c(a,b){if(!Array.prototype.indexOf){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1}return-1!=a.indexOf(b)}function d(b,c,d,e){var f=b.getCursor(),g=d(b,f),h=g;for(g.state=CodeMirror.innerMode(b.getMode(),g.state).state,/^[\w$_]*$/.test(g.string)||(g=h={start:f.ch,end:f.ch,string:"",state:g.state,type:"."==g.string?"property":null});"property"==h.type;){if(h=d(b,a(f.line,h.start)),"."!=h.string)return;if(h=d(b,a(f.line,h.start)),")"==h.string){var i=1;do switch(h=d(b,a(f.line,h.start)),h.string){case")":i++;break;case"(":i--}while(i>0);if(h=d(b,a(f.line,h.start)),0!==h.type.indexOf("variable"))return;h.type="function"}if(!j)var j=[];j.push(h)}return{list:m(g,j,c,e),from:a(f.line,g.start),to:a(f.line,g.end)}}function e(a,b){return d(a,k,function(a,b){return a.getTokenAt(b)},b)}function f(a,b){var c=a.getTokenAt(b);return b.ch==c.start+1&&"."==c.string.charAt(0)?(c.end=c.start,c.string=".",c.type="property"):/^\.[\w$_]*$/.test(c.string)&&(c.type="property",c.start++,c.string=c.string.replace(/\./,"")),c}function g(a,b){return d(a,l,f,b)}function m(a,d,e,f){function l(a){0!=a.indexOf(k)||c(g,a)||g.push(a)}function m(a){"string"==typeof a?b(h,l):a instanceof Array?b(i,l):a instanceof Function&&b(j,l);for(var c in a)l(c)}var g=[],k=a.string;if(d){var o,n=d.pop();for(0===n.type.indexOf("variable")?(f&&f.additionalContext&&(o=f.additionalContext[n.string]),o=o||window[n.string]):"string"==n.type?o="":"atom"==n.type?o=1:"function"==n.type&&(null==window.jQuery||"$"!=n.string&&"jQuery"!=n.string||"function"!=typeof window.jQuery?null!=window._&&"_"==n.string&&"function"==typeof window._&&(o=window._()):o=window.jQuery());null!=o&&d.length;)o=o[d.pop().string];null!=o&&m(o)}else{for(var p=a.state.localVars;p;p=p.next)l(p.name);for(var p=a.state.globalVars;p;p=p.next)l(p.name);m(window),b(e,l)}return g}var a=CodeMirror.Pos;CodeMirror.javascriptHint=e,CodeMirror.registerHelper("hint","javascript",e),CodeMirror.coffeescriptHint=g,CodeMirror.registerHelper("hint","coffeescript",g);var h="charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search".split(" "),i="length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight ".split(" "),j="prototype apply call bind".split(" "),k="break case catch continue debugger default delete do else false finally for function if in instanceof new null return switch throw true try typeof var void while with".split(" "),l="and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes".split(" ")}(),CodeMirror.multiplexingMode=function(a){function d(a,b,c){if("string"==typeof b)return a.indexOf(b,c);var d=b.exec(c?a.slice(c):a);return d?d.index+c:-1}var b=Array.prototype.slice.call(arguments,1),c=b.length;return{startState:function(){return{outer:CodeMirror.startState(a),innerActive:null,inner:null}},copyState:function(b){return{outer:CodeMirror.copyState(a,b.outer),innerActive:b.innerActive,inner:b.innerActive&&CodeMirror.copyState(b.innerActive.mode,b.inner)}},token:function(e,f){if(f.innerActive){var m=f.innerActive,h=e.string,k=d(h,m.close,e.pos);if(k==e.pos)return e.match(m.close),f.innerActive=f.inner=null,m.delimStyle;k>-1&&(e.string=h.slice(0,k));var n=m.mode.token(e,f.inner);k>-1&&(e.string=h);var o=e.current(),k=o.indexOf(m.close);return k>-1&&e.backUp(o.length-k),m.innerStyle&&(n=n?n+" "+m.innerStyle:m.innerStyle),n}for(var g=1/0,h=e.string,i=0;c>i;++i){var j=b[i],k=d(h,j.open,e.pos);if(k==e.pos)return e.match(j.open),f.innerActive=j,f.inner=CodeMirror.startState(j.mode,a.indent?a.indent(f.outer,""):0),j.delimStyle;-1!=k&&g>k&&(g=k)}1/0!=g&&(e.string=h.slice(0,g));var l=a.token(e,f.outer);return 1/0!=g&&(e.string=h),l},indent:function(b,c){var d=b.innerActive?b.innerActive.mode:a;return d.indent?d.indent(b.innerActive?b.inner:b.outer,c):CodeMirror.Pass},blankLine:function(d){var e=d.innerActive?d.innerActive.mode:a;if(e.blankLine&&e.blankLine(d.innerActive?d.inner:d.outer),d.innerActive)"\n"===d.innerActive.close&&(d.innerActive=d.inner=null);else for(var f=0;c>f;++f){var g=b[f];
6
- "\n"===g.open&&(d.innerActive=g,d.inner=CodeMirror.startState(g.mode,e.indent?e.indent(d.outer,""):0))}},electricChars:a.electricChars,innerMode:function(b){return b.inner?{state:b.inner,mode:b.innerActive.mode}:{state:b.outer,mode:a}}}},CodeMirror.overlayMode=CodeMirror.overlayParser=function(a,b,c){return{startState:function(){return{base:CodeMirror.startState(a),overlay:CodeMirror.startState(b),basePos:0,baseCur:null,overlayPos:0,overlayCur:null}},copyState:function(c){return{base:CodeMirror.copyState(a,c.base),overlay:CodeMirror.copyState(b,c.overlay),basePos:c.basePos,baseCur:null,overlayPos:c.overlayPos,overlayCur:null}},token:function(d,e){return d.start==e.basePos&&(e.baseCur=a.token(d,e.base),e.basePos=d.pos),d.start==e.overlayPos&&(d.pos=d.start,e.overlayCur=b.token(d,e.overlay),e.overlayPos=d.pos),d.pos=Math.min(e.basePos,e.overlayPos),d.eol()&&(e.basePos=e.overlayPos=0),null==e.overlayCur?e.baseCur:null!=e.baseCur&&c?e.baseCur+" "+e.overlayCur:e.overlayCur},indent:a.indent&&function(b,c){return a.indent(b.base,c)},electricChars:a.electricChars,innerMode:function(b){return{state:b.base,mode:a}},blankLine:function(c){a.blankLine&&a.blankLine(c.base),b.blankLine&&b.blankLine(c.overlay)}}},function(){function a(a){return"string"==typeof a?{token:function(b){return b.match(a)?"searching":(b.next(),b.skipTo(a.charAt(0))||b.skipToEnd(),void 0)}}:{token:function(b){if(b.match(a))return"searching";for(;!b.eol()&&(b.next(),!b.match(a,!1)););}}}function b(){this.posFrom=this.posTo=this.query=null,this.overlay=null}function c(a){return a.state.search||(a.state.search=new b)}function d(a,b,c){return a.getSearchCursor(b,c,"string"==typeof b&&b==b.toLowerCase())}function e(a,b,c,d){a.openDialog?a.openDialog(b,d):d(prompt(c,""))}function f(a,b,c,d){a.openConfirm?a.openConfirm(b,d):confirm(c)&&d[0]()}function g(a){var b=a.match(/^\/(.*)\/([a-z]*)$/);return b?new RegExp(b[1],-1==b[2].indexOf("i")?"":"i"):a}function i(b,d){var f=c(b);return f.query?j(b,d):(e(b,h,"Search for:",function(c){b.operation(function(){c&&!f.query&&(f.query=g(c),b.removeOverlay(f.overlay),f.overlay=a(f.query),b.addOverlay(f.overlay),f.posFrom=f.posTo=b.getCursor(),j(b,d))})}),void 0)}function j(a,b){a.operation(function(){var e=c(a),f=d(a,e.query,b?e.posFrom:e.posTo);(f.find(b)||(f=d(a,e.query,b?CodeMirror.Pos(a.lastLine()):CodeMirror.Pos(a.firstLine(),0)),f.find(b)))&&(a.setSelection(f.from(),f.to()),e.posFrom=f.from(),e.posTo=f.to())})}function k(a){a.operation(function(){var b=c(a);b.query&&(b.query=null,a.removeOverlay(b.overlay))})}function o(a,b){e(a,l,"Replace:",function(c){c&&(c=g(c),e(a,m,"Replace with:",function(e){if(b)a.operation(function(){for(var b=d(a,c);b.findNext();)if("string"!=typeof c){var f=a.getRange(b.from(),b.to()).match(c);b.replace(e.replace(/\$(\d)/,function(a,b){return f[b]}))}else b.replace(e)});else{k(a);var g=d(a,c,a.getCursor()),h=function(){var e,b=g.from();!(e=g.findNext())&&(g=d(a,c),!(e=g.findNext())||b&&g.from().line==b.line&&g.from().ch==b.ch)||(a.setSelection(g.from(),g.to()),f(a,n,"Replace?",[function(){i(e)},h]))},i=function(a){g.replace("string"==typeof c?e:e.replace(/\$(\d)/,function(b,c){return a[c]})),h()};h()}}))})}var h='Search: <input type="text" style="width: 10em"/> <span style="color: #888">(Use /re/ syntax for regexp search)</span>',l='Replace: <input type="text" style="width: 10em"/> <span style="color: #888">(Use /re/ syntax for regexp search)</span>',m='With: <input type="text" style="width: 10em"/>',n="Replace? <button>Yes</button> <button>No</button> <button>Stop</button>";CodeMirror.commands.find=function(a){k(a),i(a)},CodeMirror.commands.findNext=i,CodeMirror.commands.findPrev=function(a){i(a,!0)},CodeMirror.commands.clearSearch=k,CodeMirror.commands.replace=o,CodeMirror.commands.replaceAll=function(a){o(a,!0)}}(),function(){function b(b,c,d,e){if(this.atOccurrence=!1,this.doc=b,null==e&&"string"==typeof c&&(e=!1),d=d?b.clipPos(d):a(0,0),this.pos={from:d,to:d},"string"!=typeof c)c.global||(c=new RegExp(c.source,c.ignoreCase?"ig":"g")),this.matches=function(d,e){if(d){c.lastIndex=0;for(var h,i,f=b.getLine(e.line).slice(0,e.ch),g=0;;){c.lastIndex=g;var j=c.exec(f);if(!j)break;if(h=j,i=h.index,g=h.index+(h[0].length||1),g==f.length)break}var k=h&&h[0].length||0;k||(0==i&&0==f.length?h=void 0:i!=b.getLine(e.line).length&&k++)}else{c.lastIndex=e.ch;var f=b.getLine(e.line),h=c.exec(f),k=h&&h[0].length||0,i=h&&h.index;i+k==f.length||k||(k=1)}return h&&k?{from:a(e.line,i),to:a(e.line,i+k),match:h}:void 0};else{e&&(c=c.toLowerCase());var f=e?function(a){return a.toLowerCase()}:function(a){return a},g=c.split("\n");this.matches=1==g.length?c.length?function(d,e){var i,g=f(b.getLine(e.line)),h=c.length;return(d?e.ch>=h&&-1!=(i=g.lastIndexOf(c,e.ch-h)):-1!=(i=g.indexOf(c,e.ch)))?{from:a(e.line,i),to:a(e.line,i+h)}:void 0}:function(){}:function(c,d){var e=d.line,h=c?g.length-1:0,i=g[h],j=f(b.getLine(e)),k=c?j.indexOf(i)+i.length:j.lastIndexOf(i);if(!(c?k>=d.ch||k!=i.length:k<=d.ch||k!=j.length-i.length))for(;;){if(c?!e:e==b.lineCount()-1)return;if(j=f(b.getLine(e+=c?-1:1)),i=g[c?--h:++h],!(h>0&&h<g.length-1)){var l=c?j.lastIndexOf(i):j.indexOf(i)+i.length;if(c?l!=j.length-i.length:l!=i.length)return;var m=a(d.line,k),n=a(e,l);return{from:c?n:m,to:c?m:n}}if(j!=i)return}}}}var a=CodeMirror.Pos;b.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(b){function e(b){var d=a(b,0);return c.pos={from:d,to:d},c.atOccurrence=!1,!1}for(var c=this,d=this.doc.clipPos(b?this.pos.from:this.pos.to);;){if(this.pos=this.matches(b,d))return this.pos.from&&this.pos.to||console.log(this.matches,this.pos),this.atOccurrence=!0,this.pos.match||!0;if(b){if(!d.line)return e(0);d=a(d.line-1,this.doc.getLine(d.line-1).length)}else{var f=this.doc.lineCount();if(d.line==f-1)return e(f);d=a(d.line+1,0)}}},from:function(){return this.atOccurrence?this.pos.from:void 0},to:function(){return this.atOccurrence?this.pos.to:void 0},replace:function(b){if(this.atOccurrence){var c=CodeMirror.splitLines(b);this.doc.replaceRange(c,this.pos.from,this.pos.to),this.pos.to=a(this.pos.from.line+c.length-1,c[c.length-1].length+(1==c.length?this.pos.from.ch:0))}}},CodeMirror.defineExtension("getSearchCursor",function(a,c,d){return new b(this.doc,a,c,d)}),CodeMirror.defineDocExtension("getSearchCursor",function(a,c,d){return new b(this,a,c,d)})}(),function(){"use strict";function a(a,b,c){this.cm=a,this.getHints=b,this.options=c,this.widget=this.onClose=null}function b(a){return"string"==typeof a?a:a.text}function c(a,b){function e(a,e){var f;f="string"!=typeof e?function(a){return e(a,b)}:c.hasOwnProperty(e)?c[e]:e,d[a]=f}var c={Up:function(){b.moveFocus(-1)},Down:function(){b.moveFocus(1)},PageUp:function(){b.moveFocus(-b.menuSize())},PageDown:function(){b.moveFocus(b.menuSize())},Home:function(){b.setFocus(0)},End:function(){b.setFocus(b.length)},Enter:b.pick,Tab:b.pick,Esc:b.close},d=a.customKeys?{}:c;if(a.customKeys)for(var f in a.customKeys)a.customKeys.hasOwnProperty(f)&&e(f,a.customKeys[f]);if(a.extraKeys)for(var f in a.extraKeys)a.extraKeys.hasOwnProperty(f)&&e(f,a.extraKeys[f]);return d}function d(a,d){this.completion=a,this.data=d;var e=this,f=a.cm,g=a.options,h=this.hints=document.createElement("ul");h.className="CodeMirror-hints",this.selectedHint=0;for(var i=d.list,j=0;j<i.length;++j){var k=h.appendChild(document.createElement("li")),l=i[j],m="CodeMirror-hint"+(j?"":" CodeMirror-hint-active");null!=l.className&&(m=l.className+" "+m),k.className=m,l.render?l.render(k,d,l):k.appendChild(document.createTextNode(l.displayText||b(l))),k.hintId=j}var n=f.cursorCoords(g.alignWithWord!==!1?d.from:null),o=n.left,p=n.bottom,q=!0;h.style.left=o+"px",h.style.top=p+"px";var r=window.innerWidth||Math.max(document.body.offsetWidth,document.documentElement.offsetWidth),s=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight),t=h.getBoundingClientRect(),u=t.right-r,v=t.bottom-s;if(u>0&&(t.right-t.left>r&&(h.style.width=r-5+"px",u-=t.right-t.left-r),h.style.left=(o=n.left-u)+"px"),v>0){var w=t.bottom-t.top;t.top-(n.bottom-n.top)-w>0?(v=w+(n.bottom-n.top),q=!1):w>s&&(h.style.height=s-5+"px",v-=w-s),h.style.top=(p=n.bottom-v)+"px"}if((g.container||document.body).appendChild(h),f.addKeyMap(this.keyMap=c(g,{moveFocus:function(a){e.changeActive(e.selectedHint+a)},setFocus:function(a){e.changeActive(a)},menuSize:function(){return e.screenAmount()},length:i.length,close:function(){a.close()},pick:function(){e.pick()}})),g.closeOnUnfocus!==!1){var x;f.on("blur",this.onBlur=function(){x=setTimeout(function(){a.close()},100)}),f.on("focus",this.onFocus=function(){clearTimeout(x)})}var y=f.getScrollInfo();return f.on("scroll",this.onScroll=function(){var b=f.getScrollInfo(),c=f.getWrapperElement().getBoundingClientRect(),d=p+y.top-b.top,e=d-(window.pageYOffset||(document.documentElement||document.body).scrollTop);return q||(e+=h.offsetHeight),e<=c.top||e>=c.bottom?a.close():(h.style.top=d+"px",h.style.left=o+y.left-b.left+"px",void 0)}),CodeMirror.on(h,"dblclick",function(a){var b=a.target||a.srcElement;null!=b.hintId&&(e.changeActive(b.hintId),e.pick())}),CodeMirror.on(h,"click",function(a){var b=a.target||a.srcElement;null!=b.hintId&&e.changeActive(b.hintId)}),CodeMirror.on(h,"mousedown",function(){setTimeout(function(){f.focus()},20)}),CodeMirror.signal(d,"select",i[0],h.firstChild),!0}CodeMirror.showHint=function(b,c,d){if(!b.somethingSelected()&&(null==c&&(c=b.getHelper(b.getCursor(),"hint")),null!=c)){b.state.completionActive&&b.state.completionActive.close();var e=b.state.completionActive=new a(b,c,d||{});return CodeMirror.signal(b,"startCompletion",b),e.options.async?(c(b,function(a){e.showHints(a)},e.options),void 0):e.showHints(c(b,e.options))}},a.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.widget&&this.widget.close(),this.onClose&&this.onClose(),CodeMirror.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(a,c){var d=a.list[c];d.hint?d.hint(this.cm,a,d):this.cm.replaceRange(b(d),a.from,a.to),this.close()},showHints:function(a){return a&&a.list.length&&this.active()?(0!=this.options.completeSingle&&1==a.list.length?this.pick(a,0):this.showWidget(a),void 0):this.close()},showWidget:function(a){function i(){e||(e=!0,c.close(),c.cm.off("cursorActivity",m),CodeMirror.signal(a,"close"))}function j(){return e?!0:c.widget?void 0:(i(),!0)}function k(){j()||(CodeMirror.signal(a,"update"),c.options.async?c.getHints(c.cm,l,c.options):l(c.getHints(c.cm,c.options)))}function l(b){if(a=b,!j()){if(!a||!a.list.length)return i();c.widget.close(),c.widget=new d(c,a)}}function m(){clearTimeout(b);var a=c.cm.getCursor(),d=c.cm.getLine(a.line);a.line!=g.line||d.length-a.ch!=h-g.ch||a.ch<g.ch||c.cm.somethingSelected()||a.ch&&f.test(d.charAt(a.ch-1))?c.close():b=setTimeout(k,170)}this.widget=new d(this,a),CodeMirror.signal(a,"shown");var e,b=null,c=this,f=this.options.closeCharacters||/[\s()\[\]{};:>,]/,g=this.cm.getCursor(),h=this.cm.getLine(g.line).length;this.cm.on("cursorActivity",m),this.onClose=i}},d.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var a=this.completion.cm;this.completion.options.closeOnUnfocus!==!1&&(a.off("blur",this.onBlur),a.off("focus",this.onFocus)),a.off("scroll",this.onScroll)}},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(a){if(a=Math.max(0,Math.min(a,this.data.list.length-1)),this.selectedHint!=a){var b=this.hints.childNodes[this.selectedHint];b.className=b.className.replace(" CodeMirror-hint-active",""),b=this.hints.childNodes[this.selectedHint=a],b.className+=" CodeMirror-hint-active",b.offsetTop<this.hints.scrollTop?this.hints.scrollTop=b.offsetTop-3:b.offsetTop+b.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=b.offsetTop+b.offsetHeight-this.hints.clientHeight+3),CodeMirror.signal(this.data,"select",this.data.list[this.selectedHint],b)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}}}(),function(){"use strict";function b(b,c){var d=c&&c.schemaInfo,e=c&&c.quoteChar||'"';if(d){var f=b.getCursor(),g=b.getTokenAt(f),h=CodeMirror.innerMode(b.getMode(),g.state);if("xml"==h.mode.name){var k,i=[],j=!1,l="<"==g.string.charAt(0);if(!h.state.tagName||l){l&&(k=g.string.slice(1),j=!0);var m=h.state.context,n=m&&d[m.tagName],o=m?n&&n.children:d["!top"];if(o)for(var p=0;p<o.length;++p)k&&0!=o[p].indexOf(k)||i.push("<"+o[p]);else for(var q in d)!d.hasOwnProperty(q)||"!top"==q||k&&0!=q.indexOf(k)||i.push("<"+q);!m||k&&0!=("/"+m.tagName).indexOf(k)||i.push("</"+m.tagName+">")}else{var n=d[h.state.tagName],r=n&&n.attrs;if(!r)return;if("string"==g.type||"="==g.string){var u,s=b.getRange(a(f.line,Math.max(0,f.ch-60)),a(f.line,"string"==g.type?g.start:g.end)),t=s.match(/([^\s\u00a0=<>\"\']+)=$/);if(!t||!r.hasOwnProperty(t[1])||!(u=r[t[1]]))return;"string"==g.type&&(k=g.string,/['"]/.test(g.string.charAt(0))&&(e=g.string.charAt(0),k=g.string.slice(1)),j=!0);for(var p=0;p<u.length;++p)k&&0!=u[p].indexOf(k)||i.push(e+u[p]+e)}else{"attribute"==g.type&&(k=g.string,j=!0);for(var v in r)!r.hasOwnProperty(v)||k&&0!=v.indexOf(k)||i.push(v)}}return{list:i,from:j?a(f.line,g.start):f,to:j?a(f.line,g.end):f}}}}var a=CodeMirror.Pos;CodeMirror.xmlHint=b,CodeMirror.registerHelper("hint","xml",b)}();
 
 
 
 
 
 
components/Templates/assets/js/editor1.js CHANGED
@@ -4,15 +4,16 @@
4
  var Pos = CodeMirror.Pos;
5
 
6
  function getFields(cm, option) {
7
-
8
  var cur = cm.getCursor(), token = cm.getTokenAt(cur),
9
  result = [];
10
- if(option === 'fields'){
11
  var typeclass = '.pod-field-row',
12
  wrap = {start: "{@", end: "}"},
13
  prefix = token.string.split('@')[1],
14
  start = ((token.start-1)+token.string.split('@')[0].length);
15
- }else if(option === 'each'){
 
16
  var typeclass = '.pod-field-each',
17
  wrap = {start: "[each ", end: "]"},
18
  prefix = token.string.slice(6),
@@ -64,11 +65,11 @@ function podFields(cm, e) {
64
  if(prefix){
65
  if(token.type === 'mustache'){
66
  if(hidehints === false){
67
- CodeMirror.showHint(cm, CodeMirror.hint.podfield, 'fields');
68
  }
69
  }else if(prefix.indexOf('[l') == 0 || prefix.indexOf('[@') == 0){
70
  if(hidehints === false){
71
- CodeMirror.showHint(cm, CodeMirror.hint.podfield, 'each');
72
  }
73
  }else{
74
  hidehints = false;
@@ -96,6 +97,12 @@ var mustache = function(stream, state) {
96
  stream.eat("}");
97
  return "mustacheinternal";
98
  }
 
 
 
 
 
 
99
  if (stream.match("[/each]") || stream.match("[else]") || stream.match("[/if]") || stream.match("[/pod]")) {
100
  return "command";
101
  }
@@ -119,6 +126,7 @@ var mustache = function(stream, state) {
119
  while (stream.next() != null &&
120
  !stream.match("{@", false) &&
121
  !stream.match("{&", false) &&
 
122
  !stream.match("{{_", false) &&
123
  !stream.match("[before]", false) &&
124
  !stream.match("[/before]", false) &&
4
  var Pos = CodeMirror.Pos;
5
 
6
  function getFields(cm, option) {
7
+
8
  var cur = cm.getCursor(), token = cm.getTokenAt(cur),
9
  result = [];
10
+ if(option.type === 'fields'){
11
  var typeclass = '.pod-field-row',
12
  wrap = {start: "{@", end: "}"},
13
  prefix = token.string.split('@')[1],
14
  start = ((token.start-1)+token.string.split('@')[0].length);
15
+ }else if(option.type === 'each'){
16
+ console.log( 'each' );
17
  var typeclass = '.pod-field-each',
18
  wrap = {start: "[each ", end: "]"},
19
  prefix = token.string.slice(6),
65
  if(prefix){
66
  if(token.type === 'mustache'){
67
  if(hidehints === false){
68
+ CodeMirror.showHint(cm, CodeMirror.hint.podfield, { type : 'fields'} );
69
  }
70
  }else if(prefix.indexOf('[l') == 0 || prefix.indexOf('[@') == 0){
71
  if(hidehints === false){
72
+ CodeMirror.showHint(cm, CodeMirror.hint.podfield, {type : 'each'} );
73
  }
74
  }else{
75
  hidehints = false;
97
  stream.eat("}");
98
  return "mustacheinternal";
99
  }
100
+ if (stream.match("{_")) {
101
+ while ((ch = stream.next()) != null)
102
+ if (ch == "}") break;
103
+ stream.eat("}");
104
+ return "mustacheinternal";
105
+ }
106
  if (stream.match("[/each]") || stream.match("[else]") || stream.match("[/if]") || stream.match("[/pod]")) {
107
  return "command";
108
  }
126
  while (stream.next() != null &&
127
  !stream.match("{@", false) &&
128
  !stream.match("{&", false) &&
129
+ !stream.match("{_", false) &&
130
  !stream.match("{{_", false) &&
131
  !stream.match("[before]", false) &&
132
  !stream.match("[/before]", false) &&
components/Templates/class-pods_templates.php CHANGED
@@ -63,7 +63,7 @@ class Pods_Templates_Frontier {
63
 
64
  add_filter( 'pods_templates_pre_template', 'frontier_prefilter_template', 25, 4 );
65
  // Load admin style sheet and JavaScript.
66
- add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_stylescripts' ) );
67
  add_action( 'wp_footer', array( $this, 'footer_scripts' ) );
68
  add_action( 'init', array( $this, 'activate_metaboxes' ) );
69
  }
@@ -104,9 +104,6 @@ class Pods_Templates_Frontier {
104
  if ( file_exists( $this->get_path( __FILE__ ) . 'configs/fieldgroups-' . $slug . '.php' ) ) {
105
  include $this->get_path( __FILE__ ) . 'configs/fieldgroups-' . $slug . '.php';
106
  }
107
- else {
108
- return;
109
- }
110
 
111
  if ( !empty( $configfiles ) ) {
112
 
@@ -125,7 +122,15 @@ class Pods_Templates_Frontier {
125
  }
126
  }
127
  wp_enqueue_style( $this->plugin_slug . '-admin-styles', $this->get_url( 'assets/css/panel.css', __FILE__ ), array(), self::VERSION );
 
128
  wp_enqueue_script( $this->plugin_slug . '-admin-scripts', $this->get_url( 'assets/js/panel.js', __FILE__ ), array(), self::VERSION );
 
 
 
 
 
 
 
129
  }
130
 
131
  }
@@ -180,19 +185,16 @@ class Pods_Templates_Frontier {
180
  }
181
  }
182
 
 
 
183
  // Required Styles for metabox
184
- wp_enqueue_style( $this->plugin_slug . '-panel-styles', $this->get_url( 'assets/css/panel.css', __FILE__ ), array(), self::VERSION );
185
- wp_enqueue_style( $this->plugin_slug . '-cm-css', $this->get_url( 'assets/css/codemirror1.css', __FILE__ ), array(), self::VERSION );
186
  wp_enqueue_style( $this->plugin_slug . '-view_template-styles', $this->get_url( 'assets/css/styles-view_template.css', __FILE__ ), array(), self::VERSION );
187
 
188
  // Required scripts for metabox
189
- wp_enqueue_script( $this->plugin_slug . '-cm-comp', $this->get_url( 'assets/js/codemirror-compressed1.js', __FILE__ ), array( 'jquery' ), self::VERSION );
190
- wp_enqueue_script( $this->plugin_slug . '-cm-editor', $this->get_url( 'assets/js/editor1.js', __FILE__ ), array( 'jquery' ), self::VERSION );
191
- wp_enqueue_script( $this->plugin_slug . '-panel-script', $this->get_url( 'assets/js/panel.js', __FILE__ ), array( 'jquery' ), self::VERSION );
192
  wp_enqueue_script( 'jquery-ui-resizable' );
193
- wp_enqueue_script( $this->plugin_slug . '-handlebarsjs', $this->get_url( 'assets/js/handlebars2.js', __FILE__ ), array( 'jquery' ), self::VERSION );
194
- wp_enqueue_script( $this->plugin_slug . '-baldrickjs', $this->get_url( 'assets/js/jquery.baldrick3.js', __FILE__ ), array( 'jquery' ), self::VERSION );
195
- wp_enqueue_script( $this->plugin_slug . '-handlebars-baldrick', $this->get_url( 'assets/js/handlebars.baldrick2.js', __FILE__ ), array( 'jquery' ), self::VERSION );
196
  wp_enqueue_style( $this->plugin_slug . '-pod_reference-styles', $this->get_url( 'assets/css/styles-pod_reference.css', __FILE__ ), array(), self::VERSION );
197
 
198
  // add metabox
@@ -222,8 +224,8 @@ class Pods_Templates_Frontier {
222
  function render_metaboxes_custom( $post, $args ) {
223
 
224
  // include the metabox view
225
- echo '<input type="hidden" name="pods_templates_metabox" id="pods_templates_metabox" value="' . wp_create_nonce( plugin_basename( __FILE__ ) ) . '" />';
226
- echo '<input type="hidden" name="pods_templates_metabox_prefix[]" value="' . $args[ 'args' ][ 'slug' ] . '" />';
227
 
228
  //get post meta to $atts $ post content - ir the widget option
229
  if ( !empty( $post ) ) {
@@ -248,7 +250,7 @@ class Pods_Templates_Frontier {
248
  echo "</script>\r\n";
249
  }
250
  elseif ( file_exists( $this->get_path( __FILE__ ) . 'assets/js/scripts-' . $args[ 'args' ][ 'slug' ] . '.js' ) ) {
251
- wp_enqueue_script( $this->plugin_slug . '-' . $args[ 'args' ][ 'slug' ] . '-script', $this->get_url( 'assets/js/scripts-' . $args[ 'args' ][ 'slug' ] . '.js', __FILE__ ), array( 'jquery' ), self::VERSION );
252
  }
253
 
254
  }
@@ -473,4 +475,4 @@ class Pods_Templates_Frontier {
473
 
474
  }
475
 
476
- }
63
 
64
  add_filter( 'pods_templates_pre_template', 'frontier_prefilter_template', 25, 4 );
65
  // Load admin style sheet and JavaScript.
66
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_stylescripts' ), 20 );
67
  add_action( 'wp_footer', array( $this, 'footer_scripts' ) );
68
  add_action( 'init', array( $this, 'activate_metaboxes' ) );
69
  }
104
  if ( file_exists( $this->get_path( __FILE__ ) . 'configs/fieldgroups-' . $slug . '.php' ) ) {
105
  include $this->get_path( __FILE__ ) . 'configs/fieldgroups-' . $slug . '.php';
106
  }
 
 
 
107
 
108
  if ( !empty( $configfiles ) ) {
109
 
122
  }
123
  }
124
  wp_enqueue_style( $this->plugin_slug . '-admin-styles', $this->get_url( 'assets/css/panel.css', __FILE__ ), array(), self::VERSION );
125
+ wp_enqueue_style( 'pods-codemirror' );
126
  wp_enqueue_script( $this->plugin_slug . '-admin-scripts', $this->get_url( 'assets/js/panel.js', __FILE__ ), array(), self::VERSION );
127
+ wp_enqueue_script( 'pods_codemirror' );
128
+ wp_enqueue_script( 'pods-codemirror-overlay' );
129
+ wp_enqueue_script( 'pods-codemirror-hints' );
130
+ wp_enqueue_script( $this->plugin_slug . '-cm-editor', $this->get_url( 'assets/js/editor1.js', __FILE__ ), array( 'jquery' ), self::VERSION, true );
131
+ wp_enqueue_script( 'pods-codemirror-mode-xml' );
132
+ wp_enqueue_script( 'pods-codemirror-mode-html' );
133
+ wp_enqueue_script( 'pods-codemirror-mode-css' );
134
  }
135
 
136
  }
185
  }
186
  }
187
 
188
+ $this->plugin_screen_hook_suffix[ $slug ] = $slug;
189
+
190
  // Required Styles for metabox
 
 
191
  wp_enqueue_style( $this->plugin_slug . '-view_template-styles', $this->get_url( 'assets/css/styles-view_template.css', __FILE__ ), array(), self::VERSION );
192
 
193
  // Required scripts for metabox
 
 
 
194
  wp_enqueue_script( 'jquery-ui-resizable' );
195
+ wp_enqueue_script( $this->plugin_slug . '-handlebarsjs', $this->get_url( 'assets/js/handlebars2.js', __FILE__ ), array( 'jquery' ), self::VERSION, true );
196
+ wp_enqueue_script( $this->plugin_slug . '-baldrickjs', $this->get_url( 'assets/js/jquery.baldrick3.js', __FILE__ ), array( 'jquery' ), self::VERSION, true );
197
+ wp_enqueue_script( $this->plugin_slug . '-handlebars-baldrick', $this->get_url( 'assets/js/handlebars.baldrick2.js', __FILE__ ), array( 'jquery' ), self::VERSION, true );
198
  wp_enqueue_style( $this->plugin_slug . '-pod_reference-styles', $this->get_url( 'assets/css/styles-pod_reference.css', __FILE__ ), array(), self::VERSION );
199
 
200
  // add metabox
224
  function render_metaboxes_custom( $post, $args ) {
225
 
226
  // include the metabox view
227
+ echo '<input type="hidden" name="pods_templates_metabox" id="pods_templates_metabox" value="' . esc_attr( wp_create_nonce( plugin_basename( __FILE__ ) ) ) . '" />';
228
+ echo '<input type="hidden" name="pods_templates_metabox_prefix[]" value="' . esc_attr( $args[ 'args' ][ 'slug' ] ) . '" />';
229
 
230
  //get post meta to $atts $ post content - ir the widget option
231
  if ( !empty( $post ) ) {
250
  echo "</script>\r\n";
251
  }
252
  elseif ( file_exists( $this->get_path( __FILE__ ) . 'assets/js/scripts-' . $args[ 'args' ][ 'slug' ] . '.js' ) ) {
253
+ wp_enqueue_script( $this->plugin_slug . '-' . $args[ 'args' ][ 'slug' ] . '-script', $this->get_url( 'assets/js/scripts-' . $args[ 'args' ][ 'slug' ] . '.js', __FILE__ ), array( 'jquery' ), self::VERSION, true);
254
  }
255
 
256
  }
475
 
476
  }
477
 
478
+ }
components/Templates/includes/auto-template/Pods_Templates_Auto_Template_Front_End.php ADDED
@@ -0,0 +1,372 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( class_exists( 'Pods_PFAT_Frontend' ) ) {
3
+ return;
4
+ }
5
+
6
+ /**
7
+ * Class Pods_Templates_Auto_Template_Front_End
8
+ *
9
+ * Replaces Pods_PFAT_Frontend
10
+ */
11
+ class Pods_Templates_Auto_Template_Front_End {
12
+ function __construct() {
13
+ /**
14
+ * Allows plugin to append/replace the_excerpt
15
+ *
16
+ * Default is false, set to true to enable.
17
+ */
18
+ if ( !defined( 'PFAT_USE_ON_EXCERPT' ) ) {
19
+ define( 'PFAT_USE_ON_EXCERPT', false );
20
+ }
21
+
22
+ if( !is_admin() ){
23
+ add_action( 'wp', array( $this, 'set_frontier_style_script' ) );
24
+ }
25
+
26
+ add_filter( 'the_content', array( $this, 'front' ), 10.5 );
27
+
28
+ if ( PFAT_USE_ON_EXCERPT ) {
29
+ add_filter( 'the_excerpt', array ( $this, 'front' ) );
30
+ }
31
+
32
+ }
33
+
34
+ /**
35
+ * Get all post type and taxonomy Pods
36
+ *
37
+ * @since 2.4.5
38
+ *
39
+ * @return array Of Pod names.
40
+ */
41
+ function the_pods() {
42
+
43
+ //use the cached results
44
+ $key = 'pods_pfat_the_pods';
45
+ $the_pods = pods_transient_get( $key );
46
+
47
+ //check if we already have the results cached & use it if we can.
48
+ if ( false === $the_pods ) {
49
+ //get all post type pods
50
+ $the_pods = pods_api()->load_pods( array(
51
+ 'type' => array(
52
+ 'taxonomy',
53
+ 'post_type'
54
+ ),
55
+ 'names' => true )
56
+ );
57
+
58
+ //cache the results
59
+ pods_transient_set( $key, $the_pods );
60
+
61
+ }
62
+
63
+ return $the_pods;
64
+
65
+ }
66
+
67
+ /**
68
+ * Get all Pods with auto template enable and its settings
69
+ *
70
+ * @return array With info about auto template settings per post type
71
+ *
72
+ * @since 2.4.5
73
+ */
74
+ function auto_pods() {
75
+ /**
76
+ * Filter to override all settings for which templates are used.
77
+ *
78
+ * Note: If this filter does not return null, all back-end settings are ignored. To add to settings with a filter, use 'pods_pfat_auto_pods';
79
+ *
80
+ * @param array $auto_pods Array of parameters to use instead of those from settings.
81
+ *
82
+ * @return array Settings arrays for each post type.
83
+ *
84
+ * @since 2.4.5
85
+ */
86
+ $auto_pods = apply_filters( 'pods_pfat_auto_pods_override', null );
87
+ if ( !is_null( $auto_pods ) ) {
88
+ return $auto_pods;
89
+ }
90
+
91
+ //try to get cached results of this method
92
+ $key = 'pods_pfat_auto_pods';
93
+ $auto_pods = pods_transient_get( $key );
94
+
95
+ //check if we already have the results cached & use it if we can.
96
+ if ( $auto_pods === false ) {
97
+ //get possible pods
98
+ $the_pods = $this->the_pods();
99
+
100
+ //start output array empty
101
+ $auto_pods = array();
102
+
103
+ //get pods api class
104
+ $api = pods_api();
105
+
106
+ //loop through each to see if auto templates is enabled
107
+ foreach ( $the_pods as $the_pod => $the_pod_label ) {
108
+ //get this Pods' data.
109
+ $pod_data = $api->load_pod( array( 'name' => $the_pod ) );
110
+
111
+ //if auto template is enabled add info about Pod to array
112
+ if ( 1 == pods_v( 'pfat_enable', $pod_data[ 'options' ] ) ) {
113
+ //check if pfat_single and pfat_archive are set
114
+ $single = pods_v( 'pfat_single', $pod_data[ 'options' ], false, true );
115
+ $archive = pods_v( 'pfat_archive', $pod_data[ 'options' ], false, true );
116
+ $single_append = pods_v( 'pfat_append_single', $pod_data[ 'options' ], true, true );
117
+ $archive_append = pods_v( 'pfat_append_archive', $pod_data[ 'options' ], true, true );
118
+ $type = pods_v( 'object_type', $pod_data, false, true );
119
+ //check if it's a post type that has an arhive
120
+ if ( $pod_data['type'] === 'post_type' && $the_pod !== 'post' || $the_pod !== 'page' ) {
121
+ $has_archive = pods_v( 'has_archive', $pod_data['options'], false, true );
122
+ }
123
+ else {
124
+ $has_archive = true;
125
+ }
126
+
127
+ //build output array
128
+ $auto_pods[ $the_pod ] = array(
129
+ 'name' => $the_pod,
130
+ 'label' => $the_pod_label,
131
+ 'single' => $single,
132
+ 'archive' => $archive,
133
+ 'single_append' => $single_append,
134
+ 'archive_append' => $archive_append,
135
+ 'has_archive' => $has_archive,
136
+ 'type' => $type,
137
+ );
138
+ }
139
+
140
+ } //endforeach
141
+
142
+ //cache the results
143
+ pods_transient_set( $key, $auto_pods );
144
+ }
145
+
146
+ /**
147
+ * Add to or change settings.
148
+ *
149
+ * Use this filter to change or add to the settings set in the back-end for this plugin. Has no effect if 'pods_pfat_auto_pods_override' filter is being used.
150
+ *
151
+ * @param array $auto_pods Array of parameters to use instead of those from settings.
152
+ *
153
+ * @return array Settings arrays for each post type.
154
+ *
155
+ * @since 2.4.5
156
+ */
157
+ $auto_pods = apply_filters( 'pods_pfat_auto_pods', $auto_pods );
158
+
159
+ return $auto_pods;
160
+
161
+ }
162
+
163
+ /**
164
+ * Fetches the current post type.
165
+ *
166
+ * @return string current post type.
167
+ *
168
+ * @since 2.4.5
169
+ */
170
+ function current_post_type() {
171
+ //start by getting current post or stdClass object
172
+ global $wp_query;
173
+ $obj = $wp_query->get_queried_object();
174
+
175
+ //see if we are on a post type and if so, set $current_post_type to post type
176
+ if ( isset( $obj->post_type ) ) {
177
+ $current_post_type = $obj->post_type;
178
+
179
+ }
180
+ elseif ( isset( $obj->taxonomy ) ) {
181
+ $current_post_type = $obj->taxonomy;
182
+ }
183
+ elseif ( isset ( $obj->name ) ) {
184
+ $current_post_type = $obj->name;
185
+ }
186
+ elseif ( is_home() ) {
187
+ $current_post_type = 'post';
188
+ }
189
+ else {
190
+ $current_post_type = false;
191
+ }
192
+
193
+ return $current_post_type;
194
+ }
195
+
196
+ /**
197
+ * Outputs templates after the content as needed.
198
+ *
199
+ * @param string $content Post content
200
+ *
201
+ * @uses 'the_content' filter
202
+ *
203
+ * @return string Post content with the template appended if appropriate.
204
+ *
205
+ * @since 2.4.5
206
+ */
207
+ function front( $content ) {
208
+
209
+ // cet the current post type
210
+ $current_post_type = $this->current_post_type();
211
+
212
+ //now use other methods in class to build array to search in/ use
213
+ $possible_pods = $this->auto_pods();
214
+
215
+
216
+ //check if $current_post_type is the key of the array of possible pods
217
+ if ( isset( $possible_pods[ $current_post_type ] ) ) {
218
+
219
+ //build Pods object for current item
220
+ global $post;
221
+ $pods = pods( $current_post_type, $post->ID );
222
+
223
+ //get array for the current post type
224
+ $this_pod = $possible_pods[ $current_post_type ];
225
+
226
+
227
+ if ( $this_pod[ 'single' ] && is_singular( $current_post_type ) ) {
228
+ //load the template
229
+ $content = $this->load_template( $this_pod[ 'single' ], $content , $pods, $this_pod[ 'single_append' ] );
230
+ }
231
+ //if pfat_archive was set try to use that template
232
+ //check if we are on an archive of the post type
233
+ elseif ( $this_pod[ 'archive' ] && is_post_type_archive( $current_post_type ) ) {
234
+ //load the template
235
+ $content = $this->load_template( $this_pod[ 'archive' ], $content , $pods, $this_pod[ 'archive_append' ] );
236
+
237
+ }
238
+ //if pfat_archive was set and we're in the blog index, try to append template
239
+ elseif ( is_home() && $this_pod[ 'archive' ] && $current_post_type === 'post' ) {
240
+ //append the template
241
+ $content = $this->load_template( $this_pod[ 'archive' ], $content , $pods, $this_pod[ 'archive_append' ] );
242
+
243
+ }
244
+ //if is taxonomy archive of the selected taxonomy
245
+ elseif ( is_tax( $current_post_type ) ) {
246
+ //if pfat_single was set try to use that template
247
+ if ( $this_pod[ 'archive' ] ) {
248
+ //append the template
249
+ $content = $this->load_template( $this_pod[ 'archive' ], $content , $pods, $this_pod[ 'archive_append' ] );
250
+ }
251
+
252
+ }
253
+
254
+ }
255
+
256
+ return $content;
257
+
258
+ }
259
+
260
+ /**
261
+ * Attach Pods Template to $content
262
+ *
263
+ * @param string $template_name The name of a Pods Template to load.
264
+ * @param string $content Post content
265
+ * @param Pods $pods Current Pods object.
266
+ * @param bool|string $append Optional. Whether to append, prepend or replace content. Defaults to true, which appends, if false, content is replaced, if 'prepend' content is prepended.
267
+ *
268
+ * @return string $content with Pods Template appended if template exists
269
+ *
270
+ * @since 2.4.5
271
+ */
272
+ function load_template( $template_name, $content, $pods, $append = true ) {
273
+
274
+ //prevent infinite loops caused by this method acting on post_content
275
+ remove_filter( 'the_content', array( $this, 'front' ) );
276
+ $template = $pods->template( $template_name );
277
+ add_filter( 'the_content', array( $this, 'front' ) );
278
+
279
+ //check if we have a valid template
280
+ if ( !is_null( $template ) ) {
281
+ //if so append it to content or replace content.
282
+
283
+ if ( $append === 'replace' ) {
284
+ $content = $template;
285
+ }
286
+ elseif ( $append === 'prepend' ) {
287
+ $content = $template . $content;
288
+ }
289
+ elseif ( $append || $append === 'append' ) {
290
+ $content = $content . $template;
291
+ }
292
+ else {
293
+ $content = $template;
294
+ }
295
+ }
296
+
297
+ return $content;
298
+ }
299
+
300
+
301
+ /**
302
+ * Sets Styles and Scripts from the Frontier template addons.
303
+ *
304
+ * @since 2.4.5
305
+ */
306
+ function set_frontier_style_script(){
307
+
308
+ if( ! class_exists( 'Pods_Frontier' ) ) {
309
+ return;
310
+ }
311
+
312
+ // cet the current post type
313
+ $current_post_type = $this->current_post_type();
314
+
315
+ //now use other methods in class to build array to search in/ use
316
+ $possible_pods = $this->auto_pods();
317
+
318
+ if ( isset( $possible_pods[ $current_post_type ] ) ) {
319
+
320
+ $this_pod = $possible_pods[ $current_post_type ];
321
+
322
+ if ( $this_pod[ 'single' ] && is_singular( $current_post_type ) ) {
323
+ //set template
324
+ $template = $this_pod[ 'single' ];
325
+
326
+ }
327
+ //if pfat_archive was set try to use that template
328
+ //check if we are on an archive of the post type
329
+ elseif ( $this_pod[ 'archive' ] && is_post_type_archive( $current_post_type ) ) {
330
+ //set template
331
+ $template = $this_pod[ 'archive' ];
332
+
333
+ }
334
+ //if pfat_archive was set and we're in the blog index, try to append template
335
+ elseif ( is_home() && $this_pod[ 'archive' ] && $current_post_type === 'post' ) {
336
+ //set template
337
+ $template = $this_pod[ 'archive' ];
338
+
339
+ }
340
+ //if is taxonomy archive of the selected taxonomy
341
+ elseif ( is_tax( $current_post_type ) ) {
342
+ //if pfat_single was set try to use that template
343
+ if ( $this_pod[ 'archive' ] ) {
344
+ //set template
345
+ $template = $this_pod[ 'archive' ];
346
+ }
347
+
348
+ }
349
+
350
+ if( isset( $template ) ){
351
+ global $frontier_styles, $frontier_scripts;
352
+
353
+ $template_post = pods()->api->load_template( array('name' => $template ) );
354
+
355
+ if( !empty( $template_post['id'] ) ){
356
+ // got a template - check for styles & scripts
357
+ $meta = get_post_meta($template_post['id'], 'view_template', true);
358
+
359
+ $frontier = new Pods_Frontier;
360
+ if(!empty($meta['css'])){
361
+ $frontier_styles .= $meta['css'];
362
+ }
363
+
364
+ if(!empty($meta['js'])){
365
+ $frontier_scripts .= $meta['js'];
366
+ }
367
+ }
368
+ }
369
+
370
+ }
371
+ }
372
+ }
components/Templates/includes/auto-template/Pods_Templates_Auto_Template_Settings.php ADDED
@@ -0,0 +1,363 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( class_exists( 'Pods_PFAT' ) ) {
3
+ return;
4
+ }
5
+
6
+ /**
7
+ * Class Pods_Templates_Auto_Template_Settings
8
+ *
9
+ * This class replaced Pods_PFAT class
10
+ *
11
+ * @since 2.5.5
12
+ */
13
+ class Pods_Templates_Auto_Template_Settings {
14
+
15
+ /**
16
+ * Front end class object
17
+ *
18
+ * @since 2.5.5
19
+ *
20
+ * @var Pods_Templates_Auto_Template_Front_End
21
+ */
22
+ private $front_end_class;
23
+
24
+ /**
25
+ * Holds instance of this class
26
+ *
27
+ * @var Pods_Templates_Auto_Template_Settings
28
+ */
29
+ private $instance;
30
+
31
+ /**
32
+ * Constructor for the Pods_PFAT class
33
+ *
34
+ * Sets up all the appropriate hooks and actions
35
+ * within the plugin.
36
+ *
37
+ * @since 2.5.5
38
+ */
39
+ public function __construct() {
40
+
41
+
42
+ //Add option tab for post types
43
+ add_filter( 'pods_admin_setup_edit_tabs_post_type', array( $this, 'tab' ), 11, 3 );
44
+
45
+ //add the same tab for taxonomies
46
+ add_filter( 'pods_admin_setup_edit_tabs_taxonomy', array( $this, 'tab' ), 11, 3 );
47
+
48
+ //Add options to the new tab
49
+ add_filter( 'pods_admin_setup_edit_options', array( $this, 'options' ), 12, 2 );
50
+
51
+
52
+ //Include and init front-end class
53
+ add_action( 'init', array( $this, 'front_end' ), 25 );
54
+
55
+ //Delete transients when Pods settings are updated.
56
+ add_action( 'update_option', array( $this, 'reset' ), 21, 3 );
57
+
58
+ //admin notice for archives without archives
59
+ add_action( 'admin_notices', array( $this, 'archive_warning' ) );
60
+
61
+ }
62
+
63
+ /**
64
+ * Initializes the class
65
+ *
66
+ * @since 2.5.5
67
+ */
68
+ public function init() {
69
+ if ( ! is_null( $this->instance ) ) {
70
+ $this->instance = new self;
71
+ }
72
+
73
+ return $this->instance;
74
+
75
+ }
76
+
77
+
78
+
79
+ /**
80
+ * The Frontier Auto Display option tab.
81
+ *
82
+ * @param array $tabs
83
+ * @param array $pod
84
+ * @param array $addtl_args
85
+ *
86
+ * @return array
87
+ *
88
+ * @since 2.5.5
89
+ */
90
+ function tab( $tabs, $pod, $addtl_args ) {
91
+
92
+ $tabs[ 'pods-pfat' ] = __( 'Auto Template Options', 'pods' );
93
+
94
+ return $tabs;
95
+
96
+ }
97
+
98
+ /**
99
+ * Adds options for this plugin under the Frontier Auto Template tab.
100
+ *
101
+ * @param array $options
102
+ * @param array $pod
103
+ *
104
+ * @return array
105
+ *
106
+ * @since 2.5.5
107
+ *
108
+ */
109
+ function options( $options, $pod ) {
110
+ //check if it's a post type pod and add fields for that.
111
+ if ( $pod['type'] === 'post_type' ) {
112
+ $options[ 'pods-pfat' ] = array (
113
+ 'pfat_enable' => array (
114
+ 'label' => __( 'Enable Automatic Pods Templates for this Pod?', 'pods' ),
115
+ 'help' => __( 'When enabled you can specify the names of Pods Templates to be used to display items in this Pod in the front-end.', 'pods' ),
116
+ 'type' => 'boolean',
117
+ 'default' => false,
118
+ 'dependency' => true,
119
+ 'boolean_yes_label' => ''
120
+ ),
121
+ 'pfat_single' => array (
122
+ 'label' => __( 'Single item view template', 'pods' ),
123
+ 'help' => __( 'Name of Pods template to use for single item view.', 'pods' ),
124
+ 'type' => 'text',
125
+ 'default' => false,
126
+ 'depends-on' => array ( 'pfat_enable' => true )
127
+ ),
128
+ 'pfat_append_single' => array (
129
+ 'label' => __( 'Single Template Location', 'pods' ),
130
+ 'help' => __( 'Whether the template will go before, after or in place of the post content.', 'pods' ),
131
+ 'depends-on' => array ( 'pfat_enable' => true ),
132
+ ),
133
+ 'pfat_archive' => array (
134
+ 'label' => __( 'Archive view template', 'pods' ),
135
+ 'help' => __( 'Name of Pods template to use for use in this Pods archive pages.', 'pods' ),
136
+ 'type' => 'text',
137
+ 'default' => false,
138
+ 'depends-on' => array ( 'pfat_enable' => true )
139
+ ),
140
+ 'pfat_append_archive' => array (
141
+ 'label' => __( 'Archive Template Location', 'pods' ),
142
+ 'help' => __( 'Whether the template will go before, after or in place of the post content.', 'pods' ),
143
+ 'depends-on' => array ( 'pfat_enable' => true ),
144
+ ),
145
+ );
146
+ }
147
+
148
+ //check if it's a taxonomy Pod, if so add fields for that
149
+ if ( $pod['type'] === 'taxonomy' ) {
150
+ $options[ 'pods-pfat' ] = array (
151
+ 'pfat_enable' => array (
152
+ 'label' => __( 'Enable Automatic Pods Templates for this Pod?', 'pods' ),
153
+ 'help' => __( 'When enabled you can specify the names of a Pods Template to be used to display items in this Pod in the front-end.', 'pods' ),
154
+ 'type' => 'boolean',
155
+ 'default' => false,
156
+ 'dependency' => true,
157
+ 'boolean_yes_label' => ''
158
+ ),
159
+ 'pfat_archive' => array (
160
+ 'label' => __( 'Taxonomy Template', 'pods' ),
161
+ 'help' => __( 'Name of Pods template to use for this taxonomy.', 'pods' ),
162
+ 'type' => 'text',
163
+ 'default' => false,
164
+ 'depends-on' => array ( 'pfat_enable' => true )
165
+ ),
166
+ 'pfat_append_archive' => array (
167
+ 'label' => __( 'Template Location', 'pods' ),
168
+ 'help' => __( 'Whether the template will go before, after or in place of the post content.', 'pods' ),
169
+ 'depends-on' => array ( 'pfat_enable' => true ),
170
+ ),
171
+ );
172
+ }
173
+
174
+ if ( isset( $options[ 'pods-pfat' ] ) ) {
175
+
176
+ //field options pick values
177
+ $pick = array (
178
+ 'type' => 'pick',
179
+ 'pick_format_type' => 'single',
180
+ 'pick_format_single' => 'dropdown',
181
+ 'default' => 'true',
182
+ );
183
+
184
+ //get template titles
185
+ $titles = $this->get_template_titles();
186
+
187
+ if ( !empty( $titles ) ) {
188
+ foreach ( $pick as $k => $v ) {
189
+ $options[ 'pods-pfat' ][ 'pfat_single' ][ $k ] = $v;
190
+
191
+ $options[ 'pods-pfat' ][ 'pfat_archive' ][ $k ] = $v;
192
+
193
+ }
194
+
195
+ $options[ 'pods-pfat' ][ 'pfat_archive' ][ 'data' ] = array_combine( $this->get_template_titles(), $this->get_template_titles() );
196
+ $options[ 'pods-pfat' ][ 'pfat_single' ][ 'data' ] = array_combine( $this->get_template_titles(), $this->get_template_titles() );
197
+ }
198
+
199
+ //Add data to $pick for template location
200
+ unset( $pick['data']);
201
+ $location_data = array (
202
+ 'append' => __( 'After', 'pods' ),
203
+ 'prepend' => __( 'Before', 'pods' ),
204
+ 'replace' => __( 'Replace', 'pods' ),
205
+ );
206
+ $pick['data'] = $location_data;
207
+
208
+ //add location options to fields without type set.
209
+ foreach ( $options[ 'pods-pfat' ] as $k => $option ) {
210
+ if ( !isset( $option[ 'type' ] ) ) {
211
+ $options[ 'pods-pfat' ][ $k ] = array_merge( $option, $pick );
212
+ }
213
+
214
+ }
215
+
216
+ }
217
+
218
+ return $options;
219
+
220
+ }
221
+
222
+ /**
223
+ * Include/ init the front end class on the front end only
224
+ *
225
+ * @param bool $load_in_admin Optional. Whether to load in admin. Default is false.
226
+ *
227
+ * @return Pods_PFAT_Frontend
228
+ *
229
+ * @since 2.5.5
230
+ */
231
+ function front_end( $load_in_admin = false ) {
232
+
233
+ if ( !is_admin() || $load_in_admin ) {
234
+ include_once( dirname( __FILE__ ) . '/Pods_Templates_Auto_Template_Front_End.php' );
235
+
236
+ // Only instantiate if we haven't already
237
+ if ( is_null( $this->front_end_class ) ) {
238
+ $this->front_end_class = new Pods_Templates_Auto_Template_Front_End();
239
+ }
240
+
241
+ return $this->front_end_class;
242
+ }
243
+
244
+ }
245
+
246
+ /**
247
+ * Reset the transients for front-end class when Pods are saved.
248
+ *
249
+ * @uses update_option hook
250
+ *
251
+ * @param string $option
252
+ * @param mixed $old_value
253
+ * @param mixed $value
254
+ *
255
+ * @since 2.5.5
256
+ */
257
+ function reset( $option, $old_value, $value ) {
258
+
259
+ if ( $option === '_transient_pods_flush_rewrites' ) {
260
+ $this->reseter();
261
+ }
262
+
263
+ }
264
+
265
+
266
+ /**
267
+ * Delete transients that stores the settings.
268
+ *
269
+ * @since 2.5.5
270
+ */
271
+ function reseter() {
272
+
273
+ $keys = array( 'pods_pfat_the_pods', 'pods_pfat_auto_pods', 'pods_pfat_archive_test' );
274
+ foreach( $keys as $key ) {
275
+ pods_transient_clear( $key );
276
+ }
277
+
278
+ }
279
+
280
+ /**
281
+ * Test if archive is set for post types that don't have archives.
282
+ *
283
+ * @return bool|mixed|null|void
284
+ *
285
+ * @since 2.4.5
286
+ */
287
+ function archive_test() {
288
+
289
+ //try to get cached results of this method
290
+ $key = 'pods_pfat_archive_test';
291
+ $archive_test = pods_transient_get( $key );
292
+
293
+ if ( $archive_test === false ) {
294
+ $front = $this->front_end( true );
295
+ $auto_pods = $front->auto_pods();
296
+
297
+ foreach ( $auto_pods as $name => $pod ) {
298
+ if ( ! $pod[ 'has_archive' ] && $pod[ 'archive' ] && $pod[ 'type' ] !== 'taxonomy' && ! in_array( $name, array( 'post', 'page', 'attachment' ) ) ) {
299
+ $archive_test[ $pod[ 'label' ] ] = 'fail';
300
+ }
301
+
302
+ }
303
+
304
+ pods_transient_set( $key, $archive_test );
305
+
306
+ }
307
+
308
+ return $archive_test;
309
+
310
+ }
311
+
312
+ /**
313
+ * Throw admin warnings for post types that have archive templates set, but don't support archives
314
+ *
315
+ * @since 2.4.5
316
+ */
317
+ function archive_warning() {
318
+
319
+ //create $page variable to check if we are on pods admin page
320
+ $page = pods_v( 'page','get', false, true );
321
+
322
+ //check if we are on Pods Admin page
323
+ if ( $page === 'pods' ) {
324
+ $archive_test = $this->archive_test();
325
+ if ( is_array( $archive_test ) ) {
326
+ foreach ( $archive_test as $label => $test ) {
327
+ if ( $test === 'fail' ) {
328
+ echo sprintf( '<div id="message" class="error"><p>%s</p></div>',
329
+ sprintf(
330
+ __( 'The Pods post type %1$s has an archive template set to be displayed using Pods auto template, but the Pod does not have an archive. You can enable post type archives in the "Advanced Options" tab.', 'pfat' ),
331
+ $label )
332
+ );
333
+ }
334
+
335
+ }
336
+
337
+ }
338
+
339
+ }
340
+
341
+ }
342
+
343
+ /**
344
+ * Get titles of all Pods Templates
345
+ *
346
+ * @return array Array of template names
347
+ *
348
+ * @since 2.4.5
349
+ */
350
+ public function get_template_titles() {
351
+
352
+ $titles = array();
353
+
354
+ $templates = get_posts( array( 'post_type' => '_pods_template', 'order'=> 'ASC', 'orderby' => 'title'));
355
+ foreach ( $templates as $template ) {
356
+ $titles[ ] = $template->post_title;
357
+ }
358
+
359
+ return $titles;
360
+ }
361
+
362
+
363
+ }
components/Templates/includes/element-pod_reference.php CHANGED
@@ -11,7 +11,7 @@
11
  echo '<select name="pod_reference[pod]" id="pod-reference" class="pod-switch" data-template="#podref-tmpl" data-target="#pod-reference-wrapper" data-action="pq_loadpod" data-event="change" />';
12
  echo '<option value="">' . __( 'Select Pod to use as reference', 'pods' ) . '</option>';
13
  foreach ( $_pods as $pod ) {
14
- echo '<option value="' . $pod[ 'name' ] . '" ' . ( $atts[ 'pod' ] == $pod[ 'name' ] ? 'selected="selected"' : '' ) . '>' . $pod[ 'label' ] . '</option>';
15
  }
16
  echo '</select>';
17
  ?></div>
@@ -23,7 +23,7 @@
23
  if ( !empty( $fields ) ) {
24
  foreach ( $fields as $field ) {
25
  echo '<div class="pod-field-row">';
26
- echo '<div class="pod-field-label pod-field-name" data-tag="' . $field . '">' . $field . '</div>';
27
  echo '</div>';
28
  }
29
  }
11
  echo '<select name="pod_reference[pod]" id="pod-reference" class="pod-switch" data-template="#podref-tmpl" data-target="#pod-reference-wrapper" data-action="pq_loadpod" data-event="change" />';
12
  echo '<option value="">' . __( 'Select Pod to use as reference', 'pods' ) . '</option>';
13
  foreach ( $_pods as $pod ) {
14
+ echo '<option value="' . esc_attr( $pod[ 'name' ] ) . '" ' . ( $atts[ 'pod' ] == $pod[ 'name' ] ? 'selected="selected"' : '' ) . '>' . esc_html( $pod[ 'label' ] ) . '</option>';
15
  }
16
  echo '</select>';
17
  ?></div>
23
  if ( !empty( $fields ) ) {
24
  foreach ( $fields as $field ) {
25
  echo '<div class="pod-field-row">';
26
+ echo '<div class="pod-field-label pod-field-name" data-tag="' . esc_attr( $field ) . '">' . esc_html( $field ) . '</div>';
27
  echo '</div>';
28
  }
29
  }
components/Templates/includes/functions-view_template.php CHANGED
@@ -50,6 +50,9 @@ function frontier_decode_template( $code, $atts ) {
50
  if ( isset( $atts[ 'id' ] ) ) {
51
  $code = str_replace( '{@EntryID}', $atts[ 'id' ], $code );
52
  }
 
 
 
53
 
54
  return $code;
55
  }
@@ -71,17 +74,60 @@ function frontier_if_block( $atts, $code ) {
71
 
72
  $template = pods_do_shortcode( $pod->do_magic_tags( $code[ 0 ] ), array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
73
 
74
- if ( $field_data = $pod->field( $atts[ 'field' ] ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  // theres a field - let go deeper
76
  if ( isset( $atts[ 'value' ] ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  if ( $field_data == $atts[ 'value' ] ) {
78
  return pods_do_shortcode( $template, array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
79
- }
80
- else {
81
  if ( isset( $code[ 1 ] ) ) {
82
  $template = pods_do_shortcode( $pod->do_magic_tags( $code[ 1 ] ), array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
83
 
84
  return pods_do_shortcode( $template, array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
 
 
 
85
  }
86
  }
87
  }
@@ -186,45 +232,84 @@ function frontier_do_subtemplate( $atts, $content ) {
186
  );
187
 
188
  $entries = $pod->field( $atts[ 'field' ] );
189
- if ( !empty( $pod->fields[ $atts[ 'field' ] ][ 'table_info' ] ) ) {
190
- if ( !empty( $entries ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
191
  foreach ( $entries as $key => $entry ) {
192
  $subpod = pods( $pod->fields[ $atts[ 'field' ] ][ 'pick_val' ] );
193
 
194
  $subatts = array(
195
- 'id' => $entry[ $subpod->api->pod_data[ 'field_id' ] ],
196
  'pod' => $pod->fields[ $atts[ 'field' ] ][ 'pick_val' ]
197
  );
198
 
199
  $template = frontier_decode_template( $content, array_merge( $atts, $subatts ) );
 
200
  $template = str_replace( '{@' . $atts[ 'field' ] . '.', '{@', $template );
201
 
 
 
 
 
 
 
 
 
202
  $out .= pods_shortcode( array(
203
- 'name' => $pod->fields[ $atts[ 'field' ] ][ 'pick_val' ],
204
- 'slug' => $entry[ 'ID' ]
 
205
  ), $template );
206
 
207
  }
208
- }
209
- }
210
- else {
211
- if ( !empty( $entries ) ) {
212
- if ( 'file' == $pod->fields[ $atts[ 'field' ] ][ 'type' ] && 'attachment' == $pod->fields[ $atts[ 'field' ] ][ 'options' ][ 'file_uploader' ] && 'multi' == $pod->fields[ $atts[ 'field' ] ][ 'options' ][ 'file_format_type' ] ) {
213
- $template = frontier_decode_template( $content, $atts );
214
- foreach ( $entries as $key => $entry ) {
215
-
216
- $content = str_replace( '{@_img', '{@image_attachment.' . $entry[ 'ID' ], $template );
217
- $content = str_replace( '{@_src', '{@image_attachment_url.' . $entry[ 'ID' ], $content );
218
- $content = str_replace( '{@' . $atts[ 'field' ] . '}', '{@image_attachment.' . $entry[ 'ID' ] . '}', $content );
219
-
220
- $out .= pods_do_shortcode( $pod->do_magic_tags( $content ), array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
221
- }
 
 
 
 
 
 
222
  }
223
- }
224
 
 
225
  }
226
 
227
- return pods_do_shortcode( $out, array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
 
 
 
 
 
 
 
 
 
 
 
228
  }
229
 
230
  /**
@@ -249,6 +334,21 @@ function frontier_prefilter_template( $code, $template, $pod ) {
249
  'if' => 'pod_if_field',
250
  );
251
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
252
  $aliases = array();
253
  foreach ( $commands as $command => $shortcode ) {
254
  preg_match_all( "/(\[" . $command . "(.*?)]|\[\/" . $command . "\])/m", $code, $matches );
@@ -290,7 +390,7 @@ function frontier_prefilter_template( $code, $template, $pod ) {
290
  $newtag = $shortcode . '__' . $key;
291
  $tags[ $indexCount ] = $newtag;
292
  $aliases[ ] = $newtag;
293
- $code = preg_replace( "/(" . preg_quote( $tag ) . ")/m", "[" . $newtag . $atts . "]", $code, 1 );
294
  $indexCount++;
295
  }
296
  else {
@@ -354,22 +454,22 @@ function frontier_get_regex( $codes ) {
354
  $validcodes = join( '|', array_map( 'preg_quote', $codes ) );
355
 
356
  return '\\[' // Opening bracket
357
- . '(\\[?)' // 1: Optional second opening bracket for escaping shortcodes: [[tag]]
358
- . "($validcodes)" // 2: selected codes only
359
- . '\\b' // Word boundary
360
- . '(' // 3: Unroll the loop: Inside the opening shortcode tag
361
- . '[^\\]\\/]*' // Not a closing bracket or forward slash
362
- . '(?:' . '\\/(?!\\])' // A forward slash not followed by a closing bracket
363
- . '[^\\]\\/]*' // Not a closing bracket or forward slash
364
- . ')*?' . ')' . '(?:' . '(\\/)' // 4: Self closing tag ...
365
- . '\\]' // ... and closing bracket
366
- . '|' . '\\]' // Closing bracket
367
- . '(?:' . '(' // 5: Unroll the loop: Optionally, anything between the opening and closing shortcode tags
368
- . '[^\\[]*+' // Not an opening bracket
369
- . '(?:' . '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag
370
- . '[^\\[]*+' // Not an opening bracket
371
- . ')*+' . ')' . '\\[\\/\\2\\]' // Closing shortcode tag
372
- . ')?' . ')' . '(\\]?)'; // 6: Optional second closing brocket for escaping shortcodes: [[tag]]
373
 
374
  }
375
 
@@ -390,4 +490,4 @@ function frontier_end_template( $code, $base, $template, $pod ) {
390
  }
391
 
392
  return pods_do_shortcode( $code, array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
393
- }
50
  if ( isset( $atts[ 'id' ] ) ) {
51
  $code = str_replace( '{@EntryID}', $atts[ 'id' ], $code );
52
  }
53
+ if ( isset( $atts[ 'index' ] ) ) {
54
+ $code = str_replace( '{_index}', $atts[ 'index' ], $code );
55
+ }
56
 
57
  return $code;
58
  }
74
 
75
  $template = pods_do_shortcode( $pod->do_magic_tags( $code[ 0 ] ), array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
76
 
77
+ // sysvals
78
+ $system_values = array(
79
+ '_index',
80
+ );
81
+
82
+ // field data
83
+ $field_data = null;
84
+
85
+ if ( in_array( $atts[ 'field' ], $system_values) ) {
86
+ switch ( $atts[ 'field' ] ){
87
+ case '_index':
88
+ $field_data = $atts['index'];
89
+ break;
90
+ }
91
+ }
92
+ else{
93
+
94
+ $field_data = $pod->field( $atts[ 'field' ] );
95
+
96
+ }
97
+
98
+ if ( ! empty( $field_data ) || isset( $atts[ 'value' ] ) ) {
99
  // theres a field - let go deeper
100
  if ( isset( $atts[ 'value' ] ) ) {
101
+
102
+ // check if + or - are present
103
+ if( substr( $atts[ 'value' ], 0, 1) === '+' ){
104
+ // is greater
105
+ $atts[ 'value' ] = (float) substr( $atts[ 'value' ], 1) + 1;
106
+ if( (float) $field_data > $atts[ 'value' ] ){
107
+ // is greater - set it the same to allow
108
+ $atts[ 'value' ] = $field_data;
109
+ }
110
+
111
+ }elseif( substr( $atts[ 'value' ], 0, 1) === '-' ){
112
+ // is smaller
113
+ $atts[ 'value' ] = (float) substr( $atts[ 'value' ], 1) - 1;
114
+ if( (float) $field_data < $atts[ 'value' ] ){
115
+ // is greater - set it the same to allow
116
+ $atts[ 'value' ] = $field_data;
117
+ }
118
+
119
+ }
120
+
121
  if ( $field_data == $atts[ 'value' ] ) {
122
  return pods_do_shortcode( $template, array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
123
+ } else {
 
124
  if ( isset( $code[ 1 ] ) ) {
125
  $template = pods_do_shortcode( $pod->do_magic_tags( $code[ 1 ] ), array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
126
 
127
  return pods_do_shortcode( $template, array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
128
+ } else {
129
+ // Value did not match, nothing should be displayed
130
+ return '';
131
  }
132
  }
133
  }
232
  );
233
 
234
  $entries = $pod->field( $atts[ 'field' ] );
235
+ if ( ! empty( $entries ) ) {
236
+
237
+ /**
238
+ * Note on the change below for issue #3018:
239
+ * ... || 'taxonomy' == $pod->fields[ $atts[ 'field' ] ][ 'type' ]
240
+ *
241
+ * calling field() above for a taxonomy object field will populate
242
+ * $pod->fields[ $field_name ] for the object field's data, in this
243
+ * case a taxonomy object field. Without calling
244
+ * $pod->field( $field_name ), it would not normally be available in
245
+ * the $pod->fields array and is something to not expect to be there in
246
+ * 3.0 as this was unintentional.
247
+ */
248
+ if ( ! empty( $pod->fields[ $atts[ 'field' ] ][ 'table_info' ] ) || 'taxonomy' == $pod->fields[ $atts[ 'field' ] ][ 'type' ] ) {
249
  foreach ( $entries as $key => $entry ) {
250
  $subpod = pods( $pod->fields[ $atts[ 'field' ] ][ 'pick_val' ] );
251
 
252
  $subatts = array(
253
+ 'id' => $entry[ $subpod->api->pod_data[ 'field_id' ] ],
254
  'pod' => $pod->fields[ $atts[ 'field' ] ][ 'pick_val' ]
255
  );
256
 
257
  $template = frontier_decode_template( $content, array_merge( $atts, $subatts ) );
258
+ $template = str_replace( '{_index}', $key, $template );
259
  $template = str_replace( '{@' . $atts[ 'field' ] . '.', '{@', $template );
260
 
261
+ // Kludge to work with taxonomies, pending a better solution: see issue #3018
262
+ $target_id = null;
263
+ if ( isset( $entry[ 'ID' ] ) ) {
264
+ $target_id = $entry[ 'ID' ];
265
+ } elseif ( isset( $entry[ 'term_id' ] ) ) {
266
+ $target_id = $entry[ 'term_id' ];
267
+ }
268
+
269
  $out .= pods_shortcode( array(
270
+ 'name' => $pod->fields[ $atts[ 'field' ] ][ 'pick_val' ],
271
+ 'slug' => $target_id,
272
+ 'index' => $key
273
  ), $template );
274
 
275
  }
276
+ } elseif ( 'file' == $pod->fields[ $atts[ 'field' ] ][ 'type' ] && 'attachment' == $pod->fields[ $atts[ 'field' ] ][ 'options' ][ 'file_uploader' ] && 'multi' == $pod->fields[ $atts[ 'field' ] ][ 'options' ][ 'file_format_type' ] ) {
277
+ $template = frontier_decode_template( $content, $atts );
278
+ foreach ( $entries as $key => $entry ) {
279
+ $content = str_replace( '{_index}', $key, $template );
280
+ $content = str_replace( '{@_img', '{@image_attachment.' . $entry[ 'ID' ], $content );
281
+ $content = str_replace( '{@_src', '{@image_attachment_url.' . $entry[ 'ID' ], $content );
282
+ $content = str_replace( '{@' . $atts[ 'field' ] . '}', '{@image_attachment.' . $entry[ 'ID' ] . '}', $content );
283
+
284
+ $out .= pods_do_shortcode( $pod->do_magic_tags( $content ), array(
285
+ 'each',
286
+ 'pod_sub_template',
287
+ 'once',
288
+ 'pod_once_template',
289
+ 'before',
290
+ 'pod_before_template',
291
+ 'after',
292
+ 'pod_after_template',
293
+ 'if',
294
+ 'pod_if_field'
295
+ ) );
296
  }
 
297
 
298
+ }
299
  }
300
 
301
+ return pods_do_shortcode( $out, array(
302
+ 'each',
303
+ 'pod_sub_template',
304
+ 'once',
305
+ 'pod_once_template',
306
+ 'before',
307
+ 'pod_before_template',
308
+ 'after',
309
+ 'pod_after_template',
310
+ 'if',
311
+ 'pod_if_field'
312
+ ) );
313
  }
314
 
315
  /**
334
  'if' => 'pod_if_field',
335
  );
336
 
337
+ $commands = array_merge( $commands, get_option( 'pods_frontier_extra_commands', array() ) );
338
+
339
+ /**
340
+ * Add additional control blocks to Pods templates
341
+ *
342
+ * Can also be use to remove each/once/before/after/if functionality from Pods Templates
343
+ *
344
+ * @param array $commands The control blocks in the form of 'tag' => 'shortcode'
345
+ *
346
+ * @return array An array of control blocks, and shortcodes used to power them.
347
+ *
348
+ * @since 1.0.0
349
+ */
350
+ $commands = apply_filters( 'pods_frontier_template_commands', $commands );
351
+
352
  $aliases = array();
353
  foreach ( $commands as $command => $shortcode ) {
354
  preg_match_all( "/(\[" . $command . "(.*?)]|\[\/" . $command . "\])/m", $code, $matches );
390
  $newtag = $shortcode . '__' . $key;
391
  $tags[ $indexCount ] = $newtag;
392
  $aliases[ ] = $newtag;
393
+ $code = preg_replace( "/(" . preg_quote( $tag ) . ")/m", "[" . $newtag . $atts . " index=\"{_index}\"]", $code, 1 );
394
  $indexCount++;
395
  }
396
  else {
454
  $validcodes = join( '|', array_map( 'preg_quote', $codes ) );
455
 
456
  return '\\[' // Opening bracket
457
+ . '(\\[?)' // 1: Optional second opening bracket for escaping shortcodes: [[tag]]
458
+ . "($validcodes)" // 2: selected codes only
459
+ . '\\b' // Word boundary
460
+ . '(' // 3: Unroll the loop: Inside the opening shortcode tag
461
+ . '[^\\]\\/]*' // Not a closing bracket or forward slash
462
+ . '(?:' . '\\/(?!\\])' // A forward slash not followed by a closing bracket
463
+ . '[^\\]\\/]*' // Not a closing bracket or forward slash
464
+ . ')*?' . ')' . '(?:' . '(\\/)' // 4: Self closing tag ...
465
+ . '\\]' // ... and closing bracket
466
+ . '|' . '\\]' // Closing bracket
467
+ . '(?:' . '(' // 5: Unroll the loop: Optionally, anything between the opening and closing shortcode tags
468
+ . '[^\\[]*+' // Not an opening bracket
469
+ . '(?:' . '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag
470
+ . '[^\\[]*+' // Not an opening bracket
471
+ . ')*+' . ')' . '\\[\\/\\2\\]' // Closing shortcode tag
472
+ . ')?' . ')' . '(\\]?)'; // 6: Optional second closing brocket for escaping shortcodes: [[tag]]
473
 
474
  }
475
 
490
  }
491
 
492
  return pods_do_shortcode( $code, array( 'each', 'pod_sub_template', 'once', 'pod_once_template', 'before', 'pod_before_template', 'after', 'pod_after_template', 'if', 'pod_if_field' ) );
493
+ }
deprecated/classes/Pods.php CHANGED
@@ -1,4 +1,6 @@
1
  <?php
 
 
2
  /**
3
  * @package Pods\Deprecated
4
  */
@@ -43,7 +45,9 @@ class Pods_Deprecated
43
  * @since 1.2.0
44
  */
45
  public function set_field ( $name, $data = null ) {
46
- pods_deprecated( 'Pods::set_field', '2.0' );
 
 
47
 
48
  $this->obj->row[ $name ] = $data;
49
 
@@ -56,7 +60,9 @@ class Pods_Deprecated
56
  * @deprecated deprecated since 2.0
57
  */
58
  public function showform ( $id = null, $public_fields = null, $label = 'Save changes' ) {
59
- pods_deprecated( 'Pods::showform', '2.0' );
 
 
60
 
61
  $public_columns =& $public_fields;
62
 
@@ -267,12 +273,12 @@ class Pods_Deprecated
267
  $save_button = '<input ' . $atts . '/>';
268
  ?>
269
  <div>
270
- <input type="hidden" class="form num id" value="<?php echo $id; ?>" />
271
- <input type="hidden" class="form txt pod" value="<?php echo $pod; ?>" />
272
- <input type="hidden" class="form txt pod_id" value="<?php echo $pod_id; ?>" />
273
  <input type="hidden" class="form txt form_count" value="1" />
274
- <input type="hidden" class="form txt token" value="<?php echo pods_generate_key($pod, $uri_hash, $public_fields, 1); ?>" />
275
- <input type="hidden" class="form txt uri_hash" value="<?php echo $uri_hash; ?>" />
276
  <?php echo apply_filters('pods_showform_save_button', $save_button, $save_button_atts, $this); ?>
277
  </div>
278
  <?php
@@ -287,7 +293,9 @@ class Pods_Deprecated
287
  * @return array
288
  */
289
  public function get_dropdown_values ( $params ) {
290
- pods_deprecated( 'Pods::get_dropdown_values', '2.0' );
 
 
291
 
292
  global $wpdb;
293
 
@@ -341,7 +349,9 @@ class Pods_Deprecated
341
  * @deprecated deprecated since 2.0
342
  */
343
  public function publicForm ( $fields = null, $label = 'Save Changes', $thankyou_url = null ) {
344
- pods_deprecated( 'Pods::publicForm', '2.0', 'Pods::form' );
 
 
345
 
346
  if ( !empty( $fields ) ) {
347
  // Just update field name here, form() will handle the rest
@@ -373,7 +383,9 @@ class Pods_Deprecated
373
  * @deprecated deprecated since 2.0
374
  */
375
  public function build_field_html ( $field ) {
376
- pods_deprecated( 'Pods::build_field_html', '2.0' );
 
 
377
 
378
  include PODS_DIR . 'deprecated/input_fields.php';
379
  }
@@ -385,7 +397,9 @@ class Pods_Deprecated
385
  * @deprecated deprecated since 2.0
386
  */
387
  public function fetchRecord () {
388
- pods_deprecated( 'Pods::fetchRecord', '2.0', 'Pods::fetch' );
 
 
389
 
390
  return $this->obj->fetch();
391
  }
@@ -400,7 +414,9 @@ class Pods_Deprecated
400
  * @deprecated deprecated since version 2.0
401
  */
402
  public function get_field ( $name, $orderby = null ) {
403
- pods_deprecated( 'Pods::get_field', '2.0', 'Pods::field' );
 
 
404
 
405
  $value = $this->obj->field( array( 'name' => $name, 'orderby' => $orderby, 'deprecated' => true ) );
406
 
@@ -422,7 +438,9 @@ class Pods_Deprecated
422
  * @deprecated deprecated since version 2.0
423
  */
424
  public function get_pod_id () {
425
- pods_deprecated( 'Pods::get_pod_id', '2.0' );
 
 
426
 
427
  if ( !empty( $this->obj->row ) )
428
  return $this->obj->row[ $this->obj->data->field_id ];
@@ -437,7 +455,9 @@ class Pods_Deprecated
437
  * @deprecated deprecated since version 2.0
438
  */
439
  public function findRecords ( $orderby = null, $rows_per_page = 15, $where = null, $sql = null ) {
440
- pods_deprecated( 'Pods::findRecords', '2.0', 'Pods::find' );
 
 
441
 
442
  $find = array(
443
  ' p.created',
@@ -512,7 +532,9 @@ class Pods_Deprecated
512
  * @deprecated deprecated since version 2.0
513
  */
514
  public function getRecordById ( $id ) {
515
- pods_deprecated( 'Pods::getRecordById', '2.0', 'Pods::fetch_item' );
 
 
516
 
517
  return $this->obj->fetch_item( $id );
518
  }
@@ -523,7 +545,9 @@ class Pods_Deprecated
523
  * @deprecated deprecated since version 2.0
524
  */
525
  public function getTotalRows () {
526
- pods_deprecated( 'Pods::getTotalRows', '2.0', 'Pods::total_found' );
 
 
527
 
528
  return $this->obj->total_found();
529
  }
@@ -534,7 +558,9 @@ class Pods_Deprecated
534
  * @deprecated deprecated since version 2.0
535
  */
536
  public function resetPointer ( $row_number = 0 ) {
537
- pods_deprecated( 'Pods::resetPointer', '2.0', 'Pods::reset' );
 
 
538
 
539
  return $this->obj->reset( $row_number );
540
  }
@@ -545,7 +571,9 @@ class Pods_Deprecated
545
  * @deprecated deprecated since 2.0
546
  */
547
  public function getPagination ( $label = 'Go to page:' ) {
548
- pods_deprecated( 'Pods::getPagination', '2.0', 'Pods::pagination' );
 
 
549
 
550
  echo $this->obj->pagination( array( 'type' => 'advanced', 'label' => $label ) );
551
  }
@@ -556,7 +584,9 @@ class Pods_Deprecated
556
  * @deprecated deprecated since 2.0
557
  */
558
  public function getFilters ( $filters = null, $label = 'Filter', $action = '' ) {
559
- pods_deprecated( 'Pods::getFilters', '2.0', 'Pods::filters' );
 
 
560
 
561
  $params = array(
562
  'fields' => $filters,
@@ -580,7 +610,9 @@ class Pods_Deprecated
580
  * @deprecated deprecated since version 2.0
581
  */
582
  public function pod_helper ( $helper_name, $value = null, $name = null ) {
583
- pods_deprecated( 'Pods::pod_helper', '2.0', 'Pods::helper' );
 
 
584
 
585
  $params = array(
586
  'helper' => $helper_name,
@@ -598,7 +630,9 @@ class Pods_Deprecated
598
  * @deprecated deprecated since version 2.0
599
  */
600
  public function showTemplate ( $template_name, $code = null ) {
601
- pods_deprecated( 'Pods::showTemplate', '2.0', 'Pods::template' );
 
 
602
 
603
  return $this->obj->template( $template_name, $code, true );
604
  }
1
  <?php
2
+ require_once( PODS_DIR . 'deprecated/deprecated.php' );
3
+
4
  /**
5
  * @package Pods\Deprecated
6
  */
45
  * @since 1.2.0
46
  */
47
  public function set_field ( $name, $data = null ) {
48
+ if ( Pod::$deprecated_notice ) {
49
+ pods_deprecated( 'Pods::set_field', '2.0' );
50
+ }
51
 
52
  $this->obj->row[ $name ] = $data;
53
 
60
  * @deprecated deprecated since 2.0
61
  */
62
  public function showform ( $id = null, $public_fields = null, $label = 'Save changes' ) {
63
+ if ( Pod::$deprecated_notice ) {
64
+ pods_deprecated( 'Pods::showform', '2.0' );
65
+ }
66
 
67
  $public_columns =& $public_fields;
68
 
273
  $save_button = '<input ' . $atts . '/>';
274
  ?>
275
  <div>
276
+ <input type="hidden" class="form num id" value="<?php echo esc_attr( $id ); ?>" />
277
+ <input type="hidden" class="form txt pod" value="<?php echo esc_attr( $pod ); ?>" />
278
+ <input type="hidden" class="form txt pod_id" value="<?php echo esc_attr( $pod_id ); ?>" />
279
  <input type="hidden" class="form txt form_count" value="1" />
280
+ <input type="hidden" class="form txt token" value="<?php echo esc_attr( pods_generate_key($pod, $uri_hash, $public_fields, 1) ); ?>" />
281
+ <input type="hidden" class="form txt uri_hash" value="<?php echo esc_attr( $uri_hash ); ?>" />
282
  <?php echo apply_filters('pods_showform_save_button', $save_button, $save_button_atts, $this); ?>
283
  </div>
284
  <?php
293
  * @return array
294
  */
295
  public function get_dropdown_values ( $params ) {
296
+ if ( Pod::$deprecated_notice ) {
297
+ pods_deprecated( 'Pods::get_dropdown_values', '2.0' );
298
+ }
299
 
300
  global $wpdb;
301
 
349
  * @deprecated deprecated since 2.0
350
  */
351
  public function publicForm ( $fields = null, $label = 'Save Changes', $thankyou_url = null ) {
352
+ if ( Pod::$deprecated_notice ) {
353
+ pods_deprecated( 'Pods::publicForm', '2.0', 'Pods::form' );
354
+ }
355
 
356
  if ( !empty( $fields ) ) {
357
  // Just update field name here, form() will handle the rest
383
  * @deprecated deprecated since 2.0
384
  */
385
  public function build_field_html ( $field ) {
386
+ if ( Pod::$deprecated_notice ) {
387
+ pods_deprecated( 'Pods::build_field_html', '2.0' );
388
+ }
389
 
390
  include PODS_DIR . 'deprecated/input_fields.php';
391
  }
397
  * @deprecated deprecated since 2.0
398
  */
399
  public function fetchRecord () {
400
+ if ( Pod::$deprecated_notice ) {
401
+ pods_deprecated( 'Pods::fetchRecord', '2.0', 'Pods::fetch' );
402
+ }
403
 
404
  return $this->obj->fetch();
405
  }
414
  * @deprecated deprecated since version 2.0
415
  */
416
  public function get_field ( $name, $orderby = null ) {
417
+ if ( Pod::$deprecated_notice ) {
418
+ pods_deprecated( 'Pods::get_field', '2.0', 'Pods::field' );
419
+ }
420
 
421
  $value = $this->obj->field( array( 'name' => $name, 'orderby' => $orderby, 'deprecated' => true ) );
422
 
438
  * @deprecated deprecated since version 2.0
439
  */
440
  public function get_pod_id () {
441
+ if ( Pod::$deprecated_notice ) {
442
+ pods_deprecated( 'Pods::get_pod_id', '2.0' );
443
+ }
444
 
445
  if ( !empty( $this->obj->row ) )
446
  return $this->obj->row[ $this->obj->data->field_id ];
455
  * @deprecated deprecated since version 2.0
456
  */
457
  public function findRecords ( $orderby = null, $rows_per_page = 15, $where = null, $sql = null ) {
458
+ if ( Pod::$deprecated_notice ) {
459
+ pods_deprecated( 'Pods::findRecords', '2.0', 'Pods::find' );
460
+ }
461
 
462
  $find = array(
463
  ' p.created',
532
  * @deprecated deprecated since version 2.0
533
  */
534
  public function getRecordById ( $id ) {
535
+ if ( Pod::$deprecated_notice ) {
536
+ pods_deprecated( 'Pods::getRecordById', '2.0', 'Pods::fetch_item' );
537
+ }
538
 
539
  return $this->obj->fetch_item( $id );
540
  }
545
  * @deprecated deprecated since version 2.0
546
  */
547
  public function getTotalRows () {
548
+ if ( Pod::$deprecated_notice ) {
549
+ pods_deprecated( 'Pods::getTotalRows', '2.0', 'Pods::total_found' );
550
+ }
551
 
552
  return $this->obj->total_found();
553
  }
558
  * @deprecated deprecated since version 2.0
559
  */
560
  public function resetPointer ( $row_number = 0 ) {
561
+ if ( Pod::$deprecated_notice ) {
562
+ pods_deprecated( 'Pods::resetPointer', '2.0', 'Pods::reset' );
563
+ }
564
 
565
  return $this->obj->reset( $row_number );
566
  }
571
  * @deprecated deprecated since 2.0
572
  */
573
  public function getPagination ( $label = 'Go to page:' ) {
574
+ if ( Pod::$deprecated_notice ) {
575
+ pods_deprecated( 'Pods::getPagination', '2.0', 'Pods::pagination' );
576
+ }
577
 
578
  echo $this->obj->pagination( array( 'type' => 'advanced', 'label' => $label ) );
579
  }
584
  * @deprecated deprecated since 2.0
585
  */
586
  public function getFilters ( $filters = null, $label = 'Filter', $action = '' ) {
587
+ if ( Pod::$deprecated_notice ) {
588
+ pods_deprecated( 'Pods::getFilters', '2.0', 'Pods::filters' );
589
+ }
590
 
591
  $params = array(
592
  'fields' => $filters,
610
  * @deprecated deprecated since version 2.0
611
  */
612
  public function pod_helper ( $helper_name, $value = null, $name = null ) {
613
+ if ( Pod::$deprecated_notice ) {
614
+ pods_deprecated( 'Pods::pod_helper', '2.0', 'Pods::helper' );
615
+ }
616
 
617
  $params = array(
618
  'helper' => $helper_name,
630
  * @deprecated deprecated since version 2.0
631
  */
632
  public function showTemplate ( $template_name, $code = null ) {
633
+ if ( Pod::$deprecated_notice ) {
634
+ pods_deprecated( 'Pods::showTemplate', '2.0', 'Pods::template' );
635
+ }
636
 
637
  return $this->obj->template( $template_name, $code, true );
638
  }
deprecated/classes/PodsAPI.php CHANGED
@@ -1,4 +1,6 @@
1
  <?php
 
 
2
  /**
3
  * @package Pods\Deprecated
4
  */
1
  <?php
2
+ require_once( PODS_DIR . 'deprecated/deprecated.php' );
3
+
4
  /**
5
  * @package Pods\Deprecated
6
  */
deprecated/deprecated.php CHANGED
@@ -118,6 +118,8 @@ class Pod
118
  {
119
  private $new;
120
 
 
 
121
  public $body_classes;
122
 
123
  public $ui = array();
@@ -129,6 +131,10 @@ class Pod
129
  public $meta_extra = '';
130
 
131
  function __construct ($type = null, $id = null) {
 
 
 
 
132
  pods_deprecated('Pod (class)', '2.0', 'pods (function)');
133
 
134
  $this->new = pods( $type, $id );
@@ -143,24 +149,32 @@ class Pod
143
  $name = (string) $name;
144
 
145
  if ( 'data' == $name ) {
146
- pods_deprecated( "Pods->{$name}", '2.0', "Pods->row()" );
 
 
147
 
148
  $var = $this->new->row();
149
  }
150
  elseif ( '_data' == $name )
151
  $var = $this->new->data;
152
  elseif ( 'total' == $name ) {
153
- pods_deprecated( "Pods->{$name}", '2.0', "Pods->total()" );
 
 
154
 
155
  $var = $this->new->total();
156
  }
157
  elseif ( 'total_rows' == $name ) {
158
- pods_deprecated( "Pods->{$name}", '2.0', "Pods->total_found()" );
 
 
159
 
160
  $var = $this->new->total_found();
161
  }
162
  elseif ( 'zebra' == $name ) {
163
- pods_deprecated( "Pods->{$name}", '2.0', "Pods->zebra()" );
 
 
164
 
165
  $var = $this->new->zebra();
166
  }
@@ -222,8 +236,12 @@ class PodAPI
222
  {
223
  private $new;
224
 
 
 
225
  function __construct ( $type = null, $format = null ) {
226
- pods_deprecated( 'PodAPI (class)', '2.0', 'pods_api (function)' );
 
 
227
 
228
  $this->new = pods_api( $type, $format );
229
  }
118
  {
119
  private $new;
120
 
121
+ public static $deprecated_notice = true;
122
+
123
  public $body_classes;
124
 
125
  public $ui = array();
131
  public $meta_extra = '';
132
 
133
  function __construct ($type = null, $id = null) {
134
+ if ( self::$deprecated_notice ) {
135
+ pods_deprecated( 'PodAPI (class)', '2.0', 'pods_api (function)' );
136
+ }
137
+
138
  pods_deprecated('Pod (class)', '2.0', 'pods (function)');
139
 
140
  $this->new = pods( $type, $id );
149
  $name = (string) $name;
150
 
151
  if ( 'data' == $name ) {
152
+ if ( self::$deprecated_notice ) {
153
+ pods_deprecated( "Pods->{$name}", '2.0', "Pods->row()" );
154
+ }
155
 
156
  $var = $this->new->row();
157
  }
158
  elseif ( '_data' == $name )
159
  $var = $this->new->data;
160
  elseif ( 'total' == $name ) {
161
+ if ( self::$deprecated_notice ) {
162
+ pods_deprecated( "Pods->{$name}", '2.0', "Pods->total()" );
163
+ }
164
 
165
  $var = $this->new->total();
166
  }
167
  elseif ( 'total_rows' == $name ) {
168
+ if ( self::$deprecated_notice ) {
169
+ pods_deprecated( "Pods->{$name}", '2.0', "Pods->total_found()" );
170
+ }
171
 
172
  $var = $this->new->total_found();
173
  }
174
  elseif ( 'zebra' == $name ) {
175
+ if ( self::$deprecated_notice ) {
176
+ pods_deprecated( "Pods->{$name}", '2.0', "Pods->zebra()" );
177
+ }
178
 
179
  $var = $this->new->zebra();
180
  }
236
  {
237
  private $new;
238
 
239
+ public static $deprecated_notice = true;
240
+
241
  function __construct ( $type = null, $format = null ) {
242
+ if ( self::$deprecated_notice ) {
243
+ pods_deprecated( 'PodAPI (class)', '2.0', 'pods_api (function)' );
244
+ }
245
 
246
  $this->new = pods_api( $type, $format );
247
  }
includes/classes.php CHANGED
@@ -11,7 +11,7 @@
11
  * @param mixed $id (optional) The ID or slug, to load a single record; Provide array of $params to run 'find'
12
  * @param bool $strict (optional) If set to true, return false instead of an object if the Pod doesn't exist
13
  *
14
- * @return bool|\Pods
15
  * @since 2.0
16
  * @link http://pods.io/docs/pods/
17
  */
@@ -262,4 +262,4 @@ function pods_upgrade ( $version = '' ) {
262
  $class = new $class_name();
263
 
264
  return $class;
265
- }
11
  * @param mixed $id (optional) The ID or slug, to load a single record; Provide array of $params to run 'find'
12
  * @param bool $strict (optional) If set to true, return false instead of an object if the Pod doesn't exist
13
  *
14
+ * @return bool|\Pods returns false if $strict, WP_DEBUG, PODS_STRICT or (PODS_DEPRECATED && PODS_STRICT_MODE) are true
15
  * @since 2.0
16
  * @link http://pods.io/docs/pods/
17
  */
262
  $class = new $class_name();
263
 
264
  return $class;
265
+ }
includes/data.php CHANGED
@@ -110,7 +110,15 @@ function pods_sanitize_like( $input ) {
110
  }
111
  }
112
  else {
113
- $output = like_escape( pods_sanitize( $input ) );
 
 
 
 
 
 
 
 
114
  }
115
 
116
  return $output;
@@ -220,16 +228,21 @@ function pods_unsanitize( $input, $params = array() ) {
220
  $output = (object) $output;
221
  }
222
  elseif ( is_array( $input ) ) {
223
- $n_params = (array) $params;
224
  $n_params[ 'nested' ] = true;
225
 
226
  foreach ( $input as $key => $val ) {
227
  $output[ pods_unsanitize( $key ) ] = pods_unsanitize( $val, $n_params );
228
  }
229
  }
230
- // @todo Figure out what to do to unescape mysql_real_escape_string
231
  else {
232
- $output = ( pods_version_check( 'wp', '3.6' ) ? stripslashes( $input ) : stripslashes( $input ) );
 
 
 
 
 
 
233
  }
234
 
235
  return $output;
@@ -272,9 +285,14 @@ function pods_unslash( $input ) {
272
  $output[ $key ] = pods_unslash( $val );
273
  }
274
  }
275
- // @todo Figure out what to do to unescape mysql_real_escape_string
276
  else {
277
- $output = ( pods_version_check( 'wp', '3.6' ) ? wp_unslash( $input ) : stripslashes( $input ) );
 
 
 
 
 
 
278
  }
279
 
280
  return $output;
@@ -350,426 +368,418 @@ function pods_v( $var = null, $type = 'get', $default = null, $strict = false, $
350
 
351
  if ( null === $type || '' === $type ) {
352
  // Invalid $type
353
- }
354
- elseif ( is_array( $type ) ) {
355
  if ( isset( $type[ $var ] ) ) {
356
  $output = $type[ $var ];
357
  }
358
- }
359
- elseif ( is_object( $type ) ) {
360
  if ( isset( $type->{$var} ) ) {
361
  $output = $type->{$var};
362
  }
363
- }
364
- else {
365
  $type = strtolower( (string) $type );
366
-
367
- if ( 'get' == $type && isset( $_GET[ $var ] ) ) {
368
- $output = pods_unslash( $_GET[ $var ] );
369
- }
370
- elseif ( 'post' == $type && isset( $_POST[ $var ] ) ) {
371
- $output = pods_unslash( $_POST[ $var ] );
372
- }
373
- elseif ( 'request' == $type && isset( $_REQUEST[ $var ] ) ) {
374
- $output = pods_unslash( $_REQUEST[ $var ] );
375
- }
376
- elseif ( in_array( $type, array( 'url', 'uri' ) ) ) {
377
- $url = parse_url( pods_current_url() );
378
- $uri = trim( $url[ 'path' ], '/' );
379
- $uri = array_filter( explode( '/', $uri ) );
380
-
381
- if ( 'first' == $var ) {
382
- $var = 0;
383
- }
384
- elseif ( 'last' == $var ) {
385
- $var = -1;
386
- }
387
-
388
- if ( is_numeric( $var ) ) {
389
- $output = ( $var < 0 ) ? pods_v( count( $uri ) + $var, $uri ) : pods_v( $var, $uri );
390
- }
391
- }
392
- elseif ( 'url-relative' == $type ) {
393
- $url_raw = pods_current_url();
394
- $prefix = get_site_url();
395
-
396
- if ( substr( $url_raw, 0, strlen( $prefix ) ) == $prefix ) {
397
- $url_raw = substr( $url_raw, strlen( $prefix ) + 1, strlen( $url_raw ) );
398
- }
399
-
400
- $url = parse_url( $url_raw );
401
- $uri = trim( $url[ 'path' ], '/' );
402
- $uri = array_filter( explode( '/', $uri ) );
403
-
404
- if ( 'first' == $var ) {
405
- $var = 0;
406
- }
407
- elseif ( 'last' == $var ) {
408
- $var = -1;
409
- }
410
-
411
- if ( is_numeric( $var ) ) {
412
- $output = ( $var < 0 ) ? pods_v( count( $uri ) + $var, $uri ) : pods_v( $var, $uri );
413
- }
414
- }
415
- elseif ( 'template-url' == $type ) {
416
- $output = get_template_directory_uri();
417
- }
418
- elseif ( 'stylesheet-url' == $type ) {
419
- $output = get_stylesheet_directory_uri();
420
- }
421
- elseif ( 'site-url' == $type ) {
422
- $blog_id = $scheme = null;
423
- $path = '';
424
-
425
- if ( is_array( $var ) ) {
426
- if ( isset( $var[ 0 ] ) ) {
427
- $blog_id = $var[ 0 ];
428
  }
429
- elseif ( isset( $var[ 1 ] ) ) {
430
- $path = $var[ 1 ];
 
 
431
  }
432
- elseif ( isset( $var[ 2 ] ) ) {
433
- $scheme = $var[ 2 ];
 
 
434
  }
435
- }
436
- else {
437
- $blog_id = $var;
438
- }
439
-
440
- $output = get_site_url( $blog_id, $path, $scheme );
441
- }
442
- elseif ( 'home-url' == $type ) {
443
- $blog_id = $scheme = null;
444
- $path = '';
445
 
446
- if ( is_array( $var ) ) {
447
- if ( isset( $var[ 0 ] ) ) {
448
- $blog_id = $var[ 0 ];
449
- }
450
- elseif ( isset( $var[ 1 ] ) ) {
451
- $path = $var[ 1 ];
452
- }
453
- elseif ( isset( $var[ 2 ] ) ) {
454
- $scheme = $var[ 2 ];
455
  }
456
- }
457
- else {
458
- $blog_id = $var;
459
- }
460
 
461
- $output = get_home_url( $blog_id, $path, $scheme );
462
- }
463
- elseif ( 'admin-url' == $type ) {
464
- $blog_id = $scheme = null;
465
- $path = '';
466
-
467
- if ( is_array( $var ) ) {
468
- if ( isset( $var[ 0 ] ) ) {
469
- $blog_id = $var[ 0 ];
470
  }
471
- elseif ( isset( $var[ 1 ] ) ) {
472
- $path = $var[ 1 ];
473
- }
474
- elseif ( isset( $var[ 2 ] ) ) {
475
- $scheme = $var[ 2 ];
476
- }
477
- }
478
- else {
479
- $blog_id = $var;
480
- }
481
-
482
- $output = get_admin_url( $blog_id, $path, $scheme );
483
- }
484
- elseif ( 'includes-url' == $type ) {
485
- $output = includes_url( $var );
486
- }
487
- elseif ( 'content-url' == $type ) {
488
- $output = content_url( $var );
489
- }
490
- elseif ( 'plugins-url' == $type ) {
491
- $path = $plugin = '';
492
 
493
- if ( is_array( $var ) ) {
494
- if ( isset( $var[ 0 ] ) ) {
495
- $path = $var[ 0 ];
496
  }
497
- elseif ( isset( $var[ 1 ] ) ) {
498
- $plugin = $var[ 1 ];
499
- }
500
- }
501
- else {
502
- $path = $var;
503
- }
504
 
505
- $output = plugins_url( $path, $plugin );
506
- }
507
- elseif ( 'network-site-url' == $type ) {
508
- $path = '';
509
- $scheme = null;
510
 
511
- if ( is_array( $var ) ) {
512
- if ( isset( $var[ 0 ] ) ) {
513
- $path = $var[ 0 ];
514
- }
515
- elseif ( isset( $var[ 1 ] ) ) {
516
- $scheme = $var[ 1 ];
517
  }
518
- }
519
- else {
520
- $path = $var;
521
- }
522
-
523
- $output = network_site_url( $path, $scheme );
524
- }
525
- elseif ( 'network-home-url' == $type ) {
526
- $path = '';
527
- $scheme = null;
528
 
529
- if ( is_array( $var ) ) {
530
- if ( isset( $var[ 0 ] ) ) {
531
- $path = $var[ 0 ];
532
  }
533
- elseif ( isset( $var[ 1 ] ) ) {
534
- $scheme = $var[ 1 ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
535
  }
536
- }
537
- else {
538
- $path = $var;
539
- }
540
-
541
- $output = network_home_url( $path, $scheme );
542
- }
543
- elseif ( 'network-admin-url' == $type ) {
544
- $path = '';
545
- $scheme = null;
546
 
547
- if ( is_array( $var ) ) {
548
- if ( isset( $var[ 0 ] ) ) {
549
- $path = $var[ 0 ];
550
- }
551
- elseif ( isset( $var[ 1 ] ) ) {
552
- $scheme = $var[ 1 ];
 
 
 
 
 
 
 
 
 
 
553
  }
554
- }
555
- else {
556
- $path = $var;
557
- }
558
 
559
- $output = network_admin_url( $path, $scheme );
560
- }
561
- elseif ( 'user-admin-url' == $type ) {
562
- $path = '';
563
- $scheme = null;
564
-
565
- if ( is_array( $var ) ) {
566
- if ( isset( $var[ 0 ] ) ) {
567
- $path = $var[ 0 ];
568
- }
569
- elseif ( isset( $var[ 1 ] ) ) {
570
- $scheme = $var[ 1 ];
 
 
 
 
571
  }
572
- }
573
- else {
574
- $path = $var;
575
- }
576
-
577
- $output = user_admin_url( $path, $scheme );
578
- }
579
- elseif ( 'prefix' == $type ) {
580
- global $wpdb;
581
 
582
- $output = $wpdb->prefix;
583
- }
584
- elseif ( 'server' == $type && !pods_strict() ) {
585
- if ( isset( $_SERVER[ $var ] ) ) {
586
- $output = pods_unslash( $_SERVER[ $var ] );
587
- }
588
- elseif ( isset( $_SERVER[ strtoupper( $var ) ] ) ) {
589
- $output = pods_unslash( $_SERVER[ strtoupper( $var ) ] );
590
- }
591
- }
592
- elseif ( 'session' == $type && isset( $_SESSION[ $var ] ) ) {
593
- $output = $_SESSION[ $var ];
594
- }
595
- elseif ( in_array( $type, array( 'global', 'globals' ) ) && isset( $GLOBALS[ $var ] ) ) {
596
- $output = $GLOBALS[ $var ];
597
- }
598
- elseif ( 'cookie' == $type && isset( $_COOKIE[ $var ] ) ) {
599
- $output = pods_unslash( $_COOKIE[ $var ] );
600
- }
601
- elseif ( 'constant' == $type && defined( $var ) ) {
602
- $output = constant( $var );
603
- }
604
- elseif ( 'user' == $type && is_user_logged_in() ) {
605
- $user = get_userdata( get_current_user_id() );
606
 
607
- if ( isset( $user->{$var} ) ) {
608
- $value = $user->{$var};
609
- }
610
- elseif ( 'role' == $var ) {
611
- $value = '';
 
 
 
 
 
 
 
 
 
 
612
 
613
- if ( !empty( $user->roles ) ) {
614
- $value = array_shift( $user->roles );
 
 
 
 
 
 
 
 
 
 
 
 
615
  }
616
- }
617
- else {
618
- $value = get_user_meta( $user->ID, $var );
619
- }
620
 
621
- if ( is_array( $value ) && !empty( $value ) ) {
622
- $output = $value;
623
- }
624
- elseif ( !is_array( $value ) && 0 < strlen( $value ) ) {
625
- $output = $value;
626
- }
627
- }
628
- elseif ( 'option' == $type ) {
629
- $output = get_option( $var, $default );
630
- }
631
- elseif ( 'site-option' == $type ) {
632
- $output = get_site_option( $var, $default );
633
- }
634
- elseif ( 'transient' == $type ) {
635
- $output = get_transient( $var );
636
- }
637
- elseif ( 'site-transient' == $type ) {
638
- $output = get_site_transient( $var );
639
- }
640
- elseif ( 'cache' == $type && isset( $GLOBALS[ 'wp_object_cache' ] ) && is_object( $GLOBALS[ 'wp_object_cache' ] ) ) {
641
- $group = 'default';
642
- $force = false;
643
 
644
- if ( !is_array( $var ) ) {
645
- $var = explode( '|', $var );
646
- }
 
 
 
 
 
 
 
 
 
 
 
 
647
 
648
- if ( isset( $var[ 0 ] ) ) {
649
- if ( isset( $var[ 1 ] ) ) {
650
- $group = $var[ 1 ];
 
 
 
 
 
 
 
 
 
 
 
651
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
652
 
653
- if ( isset( $var[ 2 ] ) ) {
654
- $force = $var[ 2 ];
 
 
 
655
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
656
 
657
- $var = $var[ 0 ];
 
 
 
658
 
659
- $output = wp_cache_get( $var, $group, $force );
660
- }
661
- }
662
- elseif ( 'pods-transient' == $type ) {
663
- $callback = null;
664
 
665
- if ( !is_array( $var ) ) {
666
- $var = explode( '|', $var );
667
- }
668
 
669
- if ( isset( $var[ 0 ] ) ) {
670
- if ( isset( $var[ 1 ] ) ) {
671
- $callback = $var[ 1 ];
672
  }
 
 
 
673
 
674
- $var = $var[ 0 ];
 
 
675
 
676
- $output = pods_transient_get( $var, $callback );
677
- }
678
- }
679
- elseif ( 'pods-site-transient' == $type ) {
680
- $callback = null;
681
 
682
- if ( !is_array( $var ) ) {
683
- $var = explode( '|', $var );
684
- }
685
 
686
- if ( isset( $var[ 0 ] ) ) {
687
- if ( isset( $var[ 1 ] ) ) {
688
- $callback = $var[ 1 ];
689
  }
 
 
 
690
 
691
- $var = $var[ 0 ];
692
-
693
- $output = pods_site_transient_get( $var, $callback );
694
- }
695
- }
696
- elseif ( 'pods-cache' == $type && isset( $GLOBALS[ 'wp_object_cache' ] ) && is_object( $GLOBALS[ 'wp_object_cache' ] ) ) {
697
- $group = 'default';
698
- $callback = null;
699
 
700
- if ( !is_array( $var ) ) {
701
- $var = explode( '|', $var );
702
- }
 
703
 
704
- if ( isset( $var[ 0 ] ) ) {
705
- if ( isset( $var[ 1 ] ) ) {
706
- $group = $var[ 1 ];
707
- }
708
 
709
- if ( isset( $var[ 2 ] ) ) {
710
- $callback = $var[ 2 ];
711
  }
 
 
 
 
 
 
 
 
 
712
 
713
- $var = $var[ 0 ];
 
 
 
714
 
715
- $output = pods_cache_get( $var, $group, $callback );
716
- }
717
- }
718
- elseif ( 'pods-option-cache' == $type ) {
719
- $group = 'default';
720
- $callback = null;
721
 
722
- if ( !is_array( $var ) ) {
723
- $var = explode( '|', $var );
724
- }
725
 
726
- if ( isset( $var[ 0 ] ) ) {
727
- if ( isset( $var[ 1 ] ) ) {
728
- $group = $var[ 1 ];
729
  }
 
 
 
 
730
 
731
- if ( isset( $var[ 2 ] ) ) {
732
- $callback = $var[ 2 ];
733
  }
734
 
735
- $var = $var[ 0 ];
736
-
737
- $output = pods_option_cache_get( $var, $group, $callback );
738
- }
739
- }
740
- elseif ( 'date' == $type ) {
741
- $var = explode( '|', $var );
742
 
743
- if ( !empty( $var ) ) {
744
- $output = date_i18n( $var[ 0 ], ( isset( $var[ 1 ] ) ? strtotime( $var[ 1 ] ) : false ) );
745
- }
746
- }
747
- elseif ( in_array( $type, array( 'pods', 'pods_display' ) ) ) {
748
- /**
749
- * @var $pods Pods
750
- */
751
- global $pods;
752
 
753
- if ( is_object( $pods ) && 'Pods' == get_class( $pods ) ) {
754
- if ( 'pods' == $type ) {
755
- $output = $pods->field( $var );
756
 
757
- if ( is_array( $output ) ) {
758
- $options = array(
759
- 'field' => $var,
760
- 'fields' => $pods->fields
761
- );
762
 
763
- $output = pods_serial_comma( $output, $options );
764
- }
765
  }
766
- elseif ( 'pods_display' == $type ) {
767
- $output = $pods->display( $var );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
768
  }
769
- }
770
- }
771
- else {
772
- $output = apply_filters( 'pods_var_' . $type, $default, $var, $strict, $params );
773
  }
774
  }
775
 
@@ -796,12 +806,11 @@ function pods_v( $var = null, $type = 'get', $default = null, $strict = false, $
796
  if ( null !== $params->allowed ) {
797
  if ( is_array( $params->allowed ) ) {
798
  // Not in array and is not the same array
799
- if ( !in_array( $output, $params->allowed ) && ( !is_array( $output ) || $output !== $params->allowed ) ) {
800
  $output = $default;
801
  }
802
- }
803
- // Value doesn't match
804
- elseif ( $output !== $params->allowed ) {
805
  $output = $default;
806
  }
807
  }
@@ -825,7 +834,7 @@ function pods_v( $var = null, $type = 'get', $default = null, $strict = false, $
825
  */
826
  function pods_v_sanitized( $var = null, $type = 'get', $default = null, $strict = false, $params = array() ) {
827
 
828
- $output = pods_v( $var, $type, $default, $params );
829
 
830
  $output = pods_sanitize( $output, $params );
831
 
@@ -1138,7 +1147,12 @@ function pods_query_arg( $array = null, $allowed = null, $excluded = null, $url
1138
  }
1139
  }
1140
 
1141
- $url = add_query_arg( $query_args, null, $url );
 
 
 
 
 
1142
 
1143
  return $url;
1144
 
@@ -1283,7 +1297,7 @@ function pods_unique_slug ( $slug, $column_name, $pod, $pod_id = 0, $id = 0, $ob
1283
  }
1284
 
1285
  /**
1286
- * Return a lowercase alphanumeric name (with underscores)
1287
  *
1288
  * @param string $orig Input string to clean
1289
  * @param boolean $lower Force lowercase
@@ -1293,22 +1307,40 @@ function pods_unique_slug ( $slug, $column_name, $pod, $pod_id = 0, $id = 0, $ob
1293
  *
1294
  * @since 1.2.0
1295
  */
1296
- function pods_clean_name ( $orig, $lower = true, $trim_underscores = true ) {
1297
- $str = preg_replace( "/([\- ])/", "_", trim( $orig ) );
 
 
 
 
 
 
 
 
1298
 
1299
- if ( $lower )
1300
- $str = strtolower( $str );
 
1301
 
1302
- $str = preg_replace( "/([^0-9a-zA-Z_])/", "", $str );
1303
- $str = preg_replace( "/(_){2,}/", "_", $str );
1304
- $str = trim( $str );
1305
 
1306
- if ( $trim_underscores )
1307
- $str = trim( $str, '_' );
 
 
 
 
 
 
 
 
 
1308
 
1309
- $str = apply_filters( 'pods_clean_name', $str, $orig, $lower );
 
1310
 
1311
- return $str;
1312
  }
1313
 
1314
  /**
@@ -1604,10 +1636,9 @@ function pods_serial_comma ( $value, $field = null, $fields = null, $and = null,
1604
  if ( !empty( $params->fields ) && is_array( $params->fields ) && isset( $params->fields[ $params->field ] ) ) {
1605
  $params->field = $params->fields[ $params->field ];
1606
 
1607
- $tableless_field_types = PodsForm::tableless_field_types();
1608
- $simple_tableless_objects = PodsForm::field_method( 'pick', 'simple_objects' );
1609
 
1610
- if ( !empty( $params->field ) && is_array( $params->field ) && in_array( $params->field[ 'type' ], $tableless_field_types ) ) {
1611
  if ( in_array( $params->field[ 'type' ], PodsForm::file_field_types() ) ) {
1612
  if ( null === $params->field_index )
1613
  $params->field_index = 'guid';
@@ -2015,4 +2046,4 @@ function pods_list_filter ( $list, $args = array(), $operator = 'AND' ) {
2015
  $filtered = (object) $filtered;
2016
 
2017
  return $filtered;
2018
- }
110
  }
111
  }
112
  else {
113
+ global $wpdb;
114
+
115
+ if ( pods_version_check( 'wp', '4.0' ) ) {
116
+ $output = $wpdb->esc_like( pods_sanitize( $input ) );
117
+ }
118
+ else {
119
+ // like_escape is deprecated in WordPress 4.0
120
+ $output = like_escape( pods_sanitize( $input ) );
121
+ }
122
  }
123
 
124
  return $output;
228
  $output = (object) $output;
229
  }
230
  elseif ( is_array( $input ) ) {
231
+ $n_params = (array) $params;
232
  $n_params[ 'nested' ] = true;
233
 
234
  foreach ( $input as $key => $val ) {
235
  $output[ pods_unsanitize( $key ) ] = pods_unsanitize( $val, $n_params );
236
  }
237
  }
 
238
  else {
239
+ // @todo Figure out what to do to unescape mysql_real_escape_string
240
+ if ( pods_version_check( 'wp', '3.6' ) ) {
241
+ $output = stripslashes( $input );
242
+ }
243
+ else {
244
+ $output = stripslashes( $input );
245
+ }
246
  }
247
 
248
  return $output;
285
  $output[ $key ] = pods_unslash( $val );
286
  }
287
  }
 
288
  else {
289
+ // @todo Figure out what to do to unescape mysql_real_escape_string
290
+ if ( pods_version_check( 'wp', '3.6' ) ) {
291
+ $output = wp_unslash( $input );
292
+ }
293
+ else {
294
+ $output = stripslashes( $input );
295
+ }
296
  }
297
 
298
  return $output;
368
 
369
  if ( null === $type || '' === $type ) {
370
  // Invalid $type
371
+ } elseif ( is_array( $type ) ) {
 
372
  if ( isset( $type[ $var ] ) ) {
373
  $output = $type[ $var ];
374
  }
375
+ } elseif ( is_object( $type ) ) {
 
376
  if ( isset( $type->{$var} ) ) {
377
  $output = $type->{$var};
378
  }
379
+ } else {
 
380
  $type = strtolower( (string) $type );
381
+ switch ( $type ) {
382
+ case 'get':
383
+ if ( isset( $_GET[ $var ] ) ) {
384
+ $output = pods_unslash( $_GET[ $var ] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
385
  }
386
+ break;
387
+ case 'post':
388
+ if ( isset( $_POST[ $var ] ) ) {
389
+ $output = pods_unslash( $_POST[ $var ] );
390
  }
391
+ break;
392
+ case 'request':
393
+ if ( isset( $_REQUEST[ $var ] ) ) {
394
+ $output = pods_unslash( $_REQUEST[ $var ] );
395
  }
396
+ break;
397
+ case 'url':
398
+ case 'uri':
399
+ $url = parse_url( pods_current_url() );
400
+ $uri = trim( $url[ 'path' ], '/' );
401
+ $uri = array_filter( explode( '/', $uri ) );
 
 
 
 
402
 
403
+ if ( 'first' == $var ) {
404
+ $var = 0;
405
+ } elseif ( 'last' == $var ) {
406
+ $var = - 1;
 
 
 
 
 
407
  }
 
 
 
 
408
 
409
+ if ( is_numeric( $var ) ) {
410
+ $output = ( $var < 0 ) ? pods_v( count( $uri ) + $var, $uri ) : pods_v( $var, $uri );
 
 
 
 
 
 
 
411
  }
412
+ break;
413
+ case 'url-relative':
414
+ $url_raw = pods_current_url();
415
+ $prefix = get_site_url();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
416
 
417
+ if ( substr( $url_raw, 0, strlen( $prefix ) ) == $prefix ) {
418
+ $url_raw = substr( $url_raw, strlen( $prefix ) + 1, strlen( $url_raw ) );
 
419
  }
 
 
 
 
 
 
 
420
 
421
+ $url = parse_url( $url_raw );
422
+ $uri = trim( $url[ 'path' ], '/' );
423
+ $uri = array_filter( explode( '/', $uri ) );
 
 
424
 
425
+ if ( 'first' == $var ) {
426
+ $var = 0;
427
+ } elseif ( 'last' == $var ) {
428
+ $var = - 1;
 
 
429
  }
 
 
 
 
 
 
 
 
 
 
430
 
431
+ if ( is_numeric( $var ) ) {
432
+ $output = ( $var < 0 ) ? pods_v( count( $uri ) + $var, $uri ) : pods_v( $var, $uri );
 
433
  }
434
+ break;
435
+ case 'template-url':
436
+ $output = get_template_directory_uri();
437
+ break;
438
+ case 'stylesheet-url':
439
+ $output = get_stylesheet_directory_uri();
440
+ break;
441
+ case 'site-url':
442
+ $blog_id = $scheme = null;
443
+ $path = '';
444
+
445
+ if ( is_array( $var ) ) {
446
+ if ( isset( $var[ 0 ] ) ) {
447
+ $blog_id = $var[ 0 ];
448
+ } elseif ( isset( $var[ 1 ] ) ) {
449
+ $path = $var[ 1 ];
450
+ } elseif ( isset( $var[ 2 ] ) ) {
451
+ $scheme = $var[ 2 ];
452
+ }
453
+ } else {
454
+ $blog_id = $var;
455
  }
 
 
 
 
 
 
 
 
 
 
456
 
457
+ $output = get_site_url( $blog_id, $path, $scheme );
458
+ break;
459
+ case 'home-url':
460
+ $blog_id = $scheme = null;
461
+ $path = '';
462
+
463
+ if ( is_array( $var ) ) {
464
+ if ( isset( $var[ 0 ] ) ) {
465
+ $blog_id = $var[ 0 ];
466
+ } elseif ( isset( $var[ 1 ] ) ) {
467
+ $path = $var[ 1 ];
468
+ } elseif ( isset( $var[ 2 ] ) ) {
469
+ $scheme = $var[ 2 ];
470
+ }
471
+ } else {
472
+ $blog_id = $var;
473
  }
 
 
 
 
474
 
475
+ $output = get_home_url( $blog_id, $path, $scheme );
476
+ break;
477
+ case 'admin-url':
478
+ $blog_id = $scheme = null;
479
+ $path = '';
480
+
481
+ if ( is_array( $var ) ) {
482
+ if ( isset( $var[ 0 ] ) ) {
483
+ $blog_id = $var[ 0 ];
484
+ } elseif ( isset( $var[ 1 ] ) ) {
485
+ $path = $var[ 1 ];
486
+ } elseif ( isset( $var[ 2 ] ) ) {
487
+ $scheme = $var[ 2 ];
488
+ }
489
+ } else {
490
+ $blog_id = $var;
491
  }
 
 
 
 
 
 
 
 
 
492
 
493
+ $output = get_admin_url( $blog_id, $path, $scheme );
494
+ break;
495
+ case 'includes-url':
496
+ $output = includes_url( $var );
497
+ break;
498
+ case 'content-url':
499
+ $output = content_url( $var );
500
+ break;
501
+ case 'plugins-url':
502
+ $path = $plugin = '';
503
+
504
+ if ( is_array( $var ) ) {
505
+ if ( isset( $var[ 0 ] ) ) {
506
+ $path = $var[ 0 ];
507
+ } elseif ( isset( $var[ 1 ] ) ) {
508
+ $plugin = $var[ 1 ];
509
+ }
510
+ } else {
511
+ $path = $var;
512
+ }
 
 
 
 
513
 
514
+ $output = plugins_url( $path, $plugin );
515
+ break;
516
+ case 'network-site-url':
517
+ $path = '';
518
+ $scheme = null;
519
+
520
+ if ( is_array( $var ) ) {
521
+ if ( isset( $var[ 0 ] ) ) {
522
+ $path = $var[ 0 ];
523
+ } elseif ( isset( $var[ 1 ] ) ) {
524
+ $scheme = $var[ 1 ];
525
+ }
526
+ } else {
527
+ $path = $var;
528
+ }
529
 
530
+ $output = network_site_url( $path, $scheme );
531
+ break;
532
+ case 'network-home-url':
533
+ $path = '';
534
+ $scheme = null;
535
+
536
+ if ( is_array( $var ) ) {
537
+ if ( isset( $var[ 0 ] ) ) {
538
+ $path = $var[ 0 ];
539
+ } elseif ( isset( $var[ 1 ] ) ) {
540
+ $scheme = $var[ 1 ];
541
+ }
542
+ } else {
543
+ $path = $var;
544
  }
 
 
 
 
545
 
546
+ $output = network_home_url( $path, $scheme );
547
+ break;
548
+ case 'network-admin-url':
549
+ $path = '';
550
+ $scheme = null;
551
+
552
+ if ( is_array( $var ) ) {
553
+ if ( isset( $var[ 0 ] ) ) {
554
+ $path = $var[ 0 ];
555
+ } elseif ( isset( $var[ 1 ] ) ) {
556
+ $scheme = $var[ 1 ];
557
+ }
558
+ } else {
559
+ $path = $var;
560
+ }
 
 
 
 
 
 
 
561
 
562
+ $output = network_admin_url( $path, $scheme );
563
+ break;
564
+ case 'user-admin-url':
565
+ $path = '';
566
+ $scheme = null;
567
+
568
+ if ( is_array( $var ) ) {
569
+ if ( isset( $var[ 0 ] ) ) {
570
+ $path = $var[ 0 ];
571
+ } elseif ( isset( $var[ 1 ] ) ) {
572
+ $scheme = $var[ 1 ];
573
+ }
574
+ } else {
575
+ $path = $var;
576
+ }
577
 
578
+ $output = user_admin_url( $path, $scheme );
579
+ break;
580
+ case 'prefix':
581
+ global $wpdb;
582
+
583
+ $output = $wpdb->prefix;
584
+ break;
585
+ case 'server':
586
+ if ( ! pods_strict() ) {
587
+ if ( isset( $_SERVER[ $var ] ) ) {
588
+ $output = pods_unslash( $_SERVER[ $var ] );
589
+ } elseif ( isset( $_SERVER[ strtoupper( $var ) ] ) ) {
590
+ $output = pods_unslash( $_SERVER[ strtoupper( $var ) ] );
591
+ }
592
  }
593
+ break;
594
+ case 'session':
595
+ if ( isset( $_SESSION[ $var ] ) )
596
+ $output = $_SESSION[ $var ];
597
+ break;
598
+ case 'global':
599
+ case 'globals':
600
+ if ( isset( $GLOBALS[ $var ] ) )
601
+ $output = $GLOBALS[ $var ];
602
+ break;
603
+ case 'cookie':
604
+ if ( isset( $_COOKIE[ $var ] ) )
605
+ $output = pods_unslash( $_COOKIE[ $var ] );
606
+ break;
607
+ case 'constant':
608
+ if ( defined( $var ) )
609
+ $output = constant( $var );
610
+ break;
611
+ case 'user':
612
+ if ( is_user_logged_in() ) {
613
+ $user = get_userdata( get_current_user_id() );
614
+
615
+ if ( isset( $user->{$var} ) ) {
616
+ $value = $user->{$var};
617
+ } elseif ( 'role' == $var ) {
618
+ $value = '';
619
+
620
+ if ( ! empty( $user->roles ) ) {
621
+ $value = array_shift( $user->roles );
622
+ }
623
+ } else {
624
+ $value = get_user_meta( $user->ID, $var );
625
+ }
626
 
627
+ if ( is_array( $value ) && ! empty( $value ) ) {
628
+ $output = $value;
629
+ } elseif ( ! is_array( $value ) && 0 < strlen( $value ) ) {
630
+ $output = $value;
631
+ }
632
  }
633
+ break;
634
+ case 'option':
635
+ $output = get_option( $var, $default );
636
+ break;
637
+ case 'site-option':
638
+ $output = get_site_option( $var, $default );
639
+ break;
640
+ case 'transient':
641
+ $output = get_transient( $var );
642
+ break;
643
+ case 'site-transient':
644
+ $output = get_site_transient( $var );
645
+ break;
646
+ case 'cache':
647
+ if ( isset( $GLOBALS[ 'wp_object_cache' ] ) && is_object( $GLOBALS[ 'wp_object_cache' ] ) ) {
648
+ $group = 'default';
649
+ $force = false;
650
+
651
+ if ( ! is_array( $var ) ) {
652
+ $var = explode( '|', $var );
653
+ }
654
 
655
+ if ( isset( $var[ 0 ] ) ) {
656
+ if ( isset( $var[ 1 ] ) ) {
657
+ $group = $var[ 1 ];
658
+ }
659
 
660
+ if ( isset( $var[ 2 ] ) ) {
661
+ $force = $var[ 2 ];
662
+ }
 
 
663
 
664
+ $var = $var[ 0 ];
 
 
665
 
666
+ $output = wp_cache_get( $var, $group, $force );
667
+ }
 
668
  }
669
+ break;
670
+ case 'pods-transient':
671
+ $callback = null;
672
 
673
+ if ( ! is_array( $var ) ) {
674
+ $var = explode( '|', $var );
675
+ }
676
 
677
+ if ( isset( $var[ 0 ] ) ) {
678
+ if ( isset( $var[ 1 ] ) ) {
679
+ $callback = $var[ 1 ];
680
+ }
 
681
 
682
+ $var = $var[ 0 ];
 
 
683
 
684
+ $output = pods_transient_get( $var, $callback );
 
 
685
  }
686
+ break;
687
+ case 'pods-site-transient':
688
+ $callback = null;
689
 
690
+ if ( ! is_array( $var ) ) {
691
+ $var = explode( '|', $var );
692
+ }
 
 
 
 
 
693
 
694
+ if ( isset( $var[ 0 ] ) ) {
695
+ if ( isset( $var[ 1 ] ) ) {
696
+ $callback = $var[ 1 ];
697
+ }
698
 
699
+ $var = $var[ 0 ];
 
 
 
700
 
701
+ $output = pods_site_transient_get( $var, $callback );
 
702
  }
703
+ break;
704
+ case 'pods-cache':
705
+ if ( isset( $GLOBALS[ 'wp_object_cache' ] ) && is_object( $GLOBALS[ 'wp_object_cache' ] ) ) {
706
+ $group = 'default';
707
+ $callback = null;
708
+
709
+ if ( ! is_array( $var ) ) {
710
+ $var = explode( '|', $var );
711
+ }
712
 
713
+ if ( isset( $var[ 0 ] ) ) {
714
+ if ( isset( $var[ 1 ] ) ) {
715
+ $group = $var[ 1 ];
716
+ }
717
 
718
+ if ( isset( $var[ 2 ] ) ) {
719
+ $callback = $var[ 2 ];
720
+ }
 
 
 
721
 
722
+ $var = $var[ 0 ];
 
 
723
 
724
+ $output = pods_cache_get( $var, $group, $callback );
725
+ }
 
726
  }
727
+ break;
728
+ case 'pods-option-cache':
729
+ $group = 'default';
730
+ $callback = null;
731
 
732
+ if ( ! is_array( $var ) ) {
733
+ $var = explode( '|', $var );
734
  }
735
 
736
+ if ( isset( $var[ 0 ] ) ) {
737
+ if ( isset( $var[ 1 ] ) ) {
738
+ $group = $var[ 1 ];
739
+ }
 
 
 
740
 
741
+ if ( isset( $var[ 2 ] ) ) {
742
+ $callback = $var[ 2 ];
743
+ }
 
 
 
 
 
 
744
 
745
+ $var = $var[ 0 ];
 
 
746
 
747
+ $output = pods_option_cache_get( $var, $group, $callback );
748
+ }
749
+ break;
750
+ case 'date':
751
+ $var = explode( '|', $var );
752
 
753
+ if ( ! empty( $var ) ) {
754
+ $output = date_i18n( $var[ 0 ], ( isset( $var[ 1 ] ) ? strtotime( $var[ 1 ] ) : false ) );
755
  }
756
+ break;
757
+ case 'pods':
758
+ case 'pods_display':
759
+ /**
760
+ * @var $pods Pods
761
+ */
762
+ global $pods;
763
+
764
+ if ( is_object( $pods ) && 'Pods' == get_class( $pods ) ) {
765
+ if ( 'pods' === $type ) {
766
+ $output = $pods->field( $var );
767
+
768
+ if ( is_array( $output ) ) {
769
+ $options = array(
770
+ 'field' => $var,
771
+ 'fields' => $pods->fields
772
+ );
773
+
774
+ $output = pods_serial_comma( $output, $options );
775
+ }
776
+ } elseif ( 'pods_display' === $type ) {
777
+ $output = $pods->display( $var );
778
+ }
779
  }
780
+ break;
781
+ default:
782
+ $output = apply_filters( 'pods_var_' . $type, $default, $var, $strict, $params );
 
783
  }
784
  }
785
 
806
  if ( null !== $params->allowed ) {
807
  if ( is_array( $params->allowed ) ) {
808
  // Not in array and is not the same array
809
+ if ( ! in_array( $output, $params->allowed ) && ( ! is_array( $output ) || $output !== $params->allowed ) ) {
810
  $output = $default;
811
  }
812
+ } elseif ( $output !== $params->allowed ) {
813
+ // Value doesn't match
 
814
  $output = $default;
815
  }
816
  }
834
  */
835
  function pods_v_sanitized( $var = null, $type = 'get', $default = null, $strict = false, $params = array() ) {
836
 
837
+ $output = pods_v( $var, $type, $default, $strict, $params );
838
 
839
  $output = pods_sanitize( $output, $params );
840
 
1147
  }
1148
  }
1149
 
1150
+ if ( null === $url ) {
1151
+ $url = add_query_arg( $query_args );
1152
+ }
1153
+ else {
1154
+ $url = add_query_arg( $query_args, $url );
1155
+ }
1156
 
1157
  return $url;
1158
 
1297
  }
1298
 
1299
  /**
1300
+ * Return a lowercase alphanumeric name (use pods_js_name if you want "_" instead of "-" )
1301
  *
1302
  * @param string $orig Input string to clean
1303
  * @param boolean $lower Force lowercase
1307
  *
1308
  * @since 1.2.0
1309
  */
1310
+ function pods_clean_name ( $orig, $lower = true, $trim_underscores = false ) {
1311
+
1312
+ $str = trim( $orig );
1313
+ $str = preg_replace( '/([^0-9a-zA-Z\-_])/', '', $str );
1314
+ $str = preg_replace( '/(_){2,}/', '_', $str );
1315
+ $str = preg_replace( '/(-){2,}/', '-', $str );
1316
+
1317
+ if ( $lower ) {
1318
+ $str = strtolower( $str );
1319
+ }
1320
 
1321
+ if ( $trim_underscores ) {
1322
+ $str = trim( $str, '_' );
1323
+ }
1324
 
1325
+ return $str;
1326
+ }
 
1327
 
1328
+ /**
1329
+ * Return a lowercase alphanumeric name (with underscores) for safe Javascript variable names
1330
+ *
1331
+ * @param string $orig Input string to clean
1332
+ * @param boolean $lower Force lowercase
1333
+ *
1334
+ * @return string Sanitized name
1335
+ *
1336
+ * @since 2.5.3
1337
+ */
1338
+ function pods_js_name( $orig, $lower = true ) {
1339
 
1340
+ $str = pods_clean_name( $orig, $lower );
1341
+ $str = str_replace( '-', '_', $str );
1342
 
1343
+ return $str;
1344
  }
1345
 
1346
  /**
1636
  if ( !empty( $params->fields ) && is_array( $params->fields ) && isset( $params->fields[ $params->field ] ) ) {
1637
  $params->field = $params->fields[ $params->field ];
1638
 
1639
+ $simple_tableless_objects = PodsForm::simple_tableless_objects();
 
1640
 
1641
+ if ( !empty( $params->field ) && is_array( $params->field ) && in_array( $params->field[ 'type' ], PodsForm::tableless_field_types() ) ) {
1642
  if ( in_array( $params->field[ 'type' ], PodsForm::file_field_types() ) ) {
1643
  if ( null === $params->field_index )
1644
  $params->field_index = 'guid';
2046
  $filtered = (object) $filtered;
2047
 
2048
  return $filtered;
2049
+ }
includes/general.php CHANGED
@@ -12,7 +12,6 @@
12
  * @param string $results_error (optional) Throw an error if a records are found
13
  * @param string $no_results_error (optional) Throw an error if no records are found
14
  *
15
- * @internal param string $query The SQL query
16
  * @return array|bool|mixed|null|void
17
  * @since 2.0
18
  */
@@ -29,15 +28,16 @@ function pods_query ( $sql, $error = 'Database Error', $results_error = null, $n
29
  $error = 'Database Error';
30
  }
31
 
32
- if ( 1 == pods_var( 'pods_debug_sql_all', 'get', 0 ) && is_user_logged_in() && pods_is_admin( array( 'pods' ) ) ) {
33
  $debug_sql = $sql;
34
 
35
  echo '<textarea cols="100" rows="24">';
36
 
37
- if ( is_array( $debug_sql ) )
38
- print_r( $debug_sql );
39
- else
40
- echo $debug_sql;
 
41
 
42
  echo '</textarea>';
43
  }
@@ -89,9 +89,12 @@ function pods_message ( $message, $type = null ) {
89
  elseif ( 'error' == $type )
90
  $class = 'error';
91
 
92
- echo '<div id="message" class="' . $class . ' fade"><p>' . $message . '</p></div>';
93
  }
94
 
 
 
 
95
  /**
96
  * Error Handling which throws / displays errors
97
  *
@@ -106,6 +109,9 @@ function pods_message ( $message, $type = null ) {
106
  * @since 2.0
107
  */
108
  function pods_error ( $error, $obj = null ) {
 
 
 
109
  $display_errors = false;
110
 
111
  if ( is_object( $obj ) && isset( $obj->display_errors ) && true === $obj->display_errors )
@@ -134,17 +140,21 @@ function pods_error ( $error, $obj = null ) {
134
  $log_error = new WP_Error( 'pods-error-' . md5( $error ), $error );
135
 
136
  // throw error as Exception and return false if silent
137
- if ( false !== $display_errors && !empty( $error ) ) {
138
  $exception_bypass = apply_filters( 'pods_error_exception', null, $error );
139
 
140
  if ( null !== $exception_bypass )
141
  return $exception_bypass;
142
 
 
 
143
  set_exception_handler( 'pods_error' );
144
 
145
  throw new Exception( $error );
146
  }
147
 
 
 
148
  $die_bypass = apply_filters( 'pods_error_die', null, $error );
149
 
150
  if ( null !== $die_bypass )
@@ -168,7 +178,6 @@ $pods_debug = 0;
168
  * @param mixed $debug The error message to be thrown / displayed
169
  * @param boolean $die If set to true, a die() will occur, if set to (int) 2 then a wp_die() will occur
170
  * @param string $prefix
171
- * @internal param bool $identifier If set to true, an identifying # will be output
172
  *
173
  * @return void
174
  *
@@ -384,38 +393,48 @@ function pods_deprecated ( $function, $version, $replacement = null ) {
384
  * @since 2.0
385
  */
386
  function pods_help ( $text, $url = null ) {
387
- if ( !wp_script_is( 'jquery-qtip', 'registered' ) )
388
- wp_register_script( 'jquery-qtip', PODS_URL . 'ui/js/jquery.qtip.min.js', array( 'jquery' ), '2.0-2011-10-02' );
389
- if ( !wp_script_is( 'jquery-qtip', 'queue' ) && !wp_script_is( 'jquery-qtip', 'to_do' ) && !wp_script_is( 'jquery-qtip', 'done' ) )
390
- wp_enqueue_script( 'jquery-qtip' );
391
-
392
- if ( !wp_style_is( 'pods-qtip', 'registered' ) )
393
- wp_register_style( 'pods-qtip', PODS_URL . 'ui/css/jquery.qtip.min.css', array(), '2.0-2011-10-02' );
394
- if ( !wp_style_is( 'pods-qtip', 'queue' ) && !wp_style_is( 'pods-qtip', 'to_do' ) && !wp_style_is( 'pods-qtip', 'done' ) )
395
- wp_enqueue_style( 'pods-qtip' );
396
-
397
- if ( !wp_script_is( 'pods-qtip-init', 'registered' ) )
398
- wp_register_script( 'pods-qtip-init', PODS_URL . 'ui/js/qtip.js', array(
399
- 'jquery',
400
- 'jquery-qtip'
401
- ), PODS_VERSION );
402
- if ( !wp_script_is( 'pods-qtip-init', 'queue' ) && !wp_script_is( 'pods-qtip-init', 'to_do' ) && !wp_script_is( 'pods-qtip-init', 'done' ) )
403
- wp_enqueue_script( 'pods-qtip-init' );
404
-
405
- if ( is_array( $text ) ) {
406
- if ( isset( $text[ 1 ] ) )
407
- $url = $text[ 1 ];
408
-
409
- $text = $text[ 0 ];
410
- }
411
 
412
- if ( 'help' == $text )
413
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
414
 
415
- if ( 0 < strlen( $url ) )
416
- $text .= '<br /><br /><a href="' . $url . '" target="_blank">' . __( 'Find out more', 'pods' ) . ' &raquo;</a>';
 
417
 
418
- echo '<img src="' . PODS_URL . 'ui/images/help.png" alt="' . esc_attr( $text ) . '" class="pods-icon pods-qtip" />';
419
  }
420
 
421
  /**
@@ -550,7 +569,7 @@ function pods_access ( $privs, $method = 'OR' ) {
550
  if ( 0 === strpos( $priv, 'manage_' ) )
551
  $priv = pods_str_replace( 'manage_', 'pods_', $priv, 1 );
552
 
553
- if ( isset( $approved_privs[ $priv ] ) )
554
  return false;
555
  }
556
 
@@ -575,11 +594,26 @@ function pods_shortcode ( $tags, $content = null ) {
575
  return '';
576
  }
577
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
578
  $defaults = array(
579
  'name' => null,
580
  'id' => null,
581
  'slug' => null,
582
  'select' => null,
 
583
  'order' => null,
584
  'orderby' => null,
585
  'limit' => null,
@@ -617,8 +651,8 @@ function pods_shortcode ( $tags, $content = null ) {
617
 
618
  $tags = apply_filters( 'pods_shortcode', $tags );
619
 
620
- $tags[ 'pagination' ] = (boolean) $tags[ 'pagination' ];
621
- $tags[ 'search' ] = (boolean) $tags[ 'search' ];
622
 
623
  if ( empty( $content ) )
624
  $content = null;
@@ -694,24 +728,10 @@ function pods_shortcode ( $tags, $content = null ) {
694
  if ( empty( $pod ) )
695
  return '<p>Pod not found</p>';
696
 
697
- $found = 0;
698
 
699
- if ( !empty( $tags[ 'form' ] ) ) {
700
- if ( 'user' == $pod->pod ) {
701
- // Further hardening of User-based forms
702
- if ( false !== strpos( $tags[ 'fields' ], '_capabilities' ) || false !== strpos( $tags[ 'fields' ], '_user_level' ) ) {
703
- return '';
704
- }
705
- // Only explicitly allow user edit forms
706
- elseif ( !empty( $id ) && ( !defined( 'PODS_SHORTCODE_ALLOW_USER_EDIT' ) || !PODS_SHORTCODE_ALLOW_USER_EDIT ) ) {
707
- return '';
708
- }
709
- }
710
-
711
- return $pod->form( $tags[ 'fields' ], $tags[ 'label' ], $tags[ 'thank_you' ] );
712
- }
713
- elseif ( empty( $id ) ) {
714
- $params = array();
715
 
716
  if ( !defined( 'PODS_DISABLE_SHORTCODE_SQL' ) || !PODS_DISABLE_SHORTCODE_SQL ) {
717
  if ( 0 < strlen( $tags[ 'orderby' ] ) ) {
@@ -741,35 +761,69 @@ function pods_shortcode ( $tags, $content = null ) {
741
  if ( 0 < strlen( $tags[ 'select' ] ) ) {
742
  $params[ 'select' ] = $tags[ 'select' ];
743
  }
 
 
 
744
  }
745
 
746
- if ( !empty( $tags[ 'limit' ] ) ) {
747
- $params[ 'limit' ] = (int) $tags[ 'limit' ];
748
- }
 
 
749
 
750
- $params[ 'search' ] = $tags[ 'search' ];
751
 
752
- if ( 0 < absint( $tags[ 'page' ] ) ) {
753
- $params[ 'page' ] = absint( $tags[ 'page' ] );
754
- }
755
 
756
- $params[ 'pagination' ] = $tags[ 'pagination' ];
 
 
 
757
 
758
- if ( 0 < (int) $tags[ 'offset' ] ) {
759
- $params[ 'offset' ] = (int) $tags[ 'offset' ];
760
- }
 
761
 
762
- if ( !empty( $tags[ 'cache_mode' ] ) && 'none' != $tags[ 'cache_mode' ] ) {
763
- $params[ 'cache_mode' ] = $tags[ 'cache_mode' ];
764
- $params[ 'expires' ] = (int) $tags[ 'expires' ];
765
- }
766
 
767
- $params = apply_filters( 'pods_shortcode_findrecords_params', $params, $pod, $tags );
 
 
 
 
768
 
769
- $pod->find( $params );
 
 
 
770
 
771
- $found = $pod->total();
772
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
773
  elseif ( !empty( $tags[ 'field' ] ) ) {
774
  if ( empty( $tags[ 'helper' ] ) )
775
  $return = $pod->display( $tags[ 'field' ] );
@@ -935,9 +989,9 @@ function pods_version_notice_wp () {
935
  ?>
936
  <div class="error fade">
937
  <p>
938
- <strong><?php _e( 'NOTICE', 'pods' ); ?>:</strong> Pods <?php echo PODS_VERSION; ?> <?php _e( 'requires a minimum of', 'pods' ); ?>
939
- <strong>WordPress <?php echo PODS_WP_VERSION_MINIMUM; ?>+</strong> <?php _e( 'to function. You are currently running', 'pods' ); ?>
940
- <strong>WordPress <?php echo $wp_version; ?></strong> - <?php _e( 'Please upgrade your WordPress to continue.', 'pods' ); ?>
941
  </p>
942
  </div>
943
  <?php
@@ -954,9 +1008,9 @@ function pods_version_notice_php () {
954
  ?>
955
  <div class="error fade">
956
  <p>
957
- <strong><?php _e( 'NOTICE', 'pods' ); ?>:</strong> Pods <?php echo PODS_VERSION; ?> <?php _e( 'requires a minimum of', 'pods' ); ?>
958
- <strong>PHP <?php echo PODS_PHP_VERSION_MINIMUM; ?>+</strong> <?php _e( 'to function. You are currently running', 'pods' ); ?>
959
- <strong>PHP <?php echo phpversion(); ?></strong> - <?php _e( 'Please upgrade (or have your Hosting Provider upgrade it for you) your PHP version to continue.', 'pods' ); ?>
960
  </p>
961
  </div>
962
  <?php
@@ -974,9 +1028,9 @@ function pods_version_notice_mysql () {
974
  $mysql = $wpdb->db_version();
975
  ?>
976
  <div class="error fade">
977
- <p><strong><?php _e( 'NOTICE', 'pods' ); ?>:</strong> Pods <?php echo PODS_VERSION; ?> <?php _e( 'requires a minimum of', 'pods' ); ?>
978
- <strong>MySQL <?php echo PODS_MYSQL_VERSION_MINIMUM; ?>+</strong> <?php _e( 'to function. You are currently running', 'pods' ); ?>
979
- <strong>MySQL <?php echo $mysql; ?></strong> - <?php _e( 'Please upgrade (or have your Hosting Provider upgrade it for you) your MySQL version to continue.', 'pods' ); ?>
980
  </p>
981
  </div>
982
  <?php
@@ -1077,11 +1131,11 @@ function pods_permission ( $options ) {
1077
 
1078
  if ( pods_is_admin() )
1079
  $permission = true;
1080
- elseif ( 0 == pods_var( 'restrict_role', $options, 0 ) && 0 == pods_var( 'restrict_capability', $options, 0 ) && 0 == pods_var( 'admin_only', $options, 0 ) )
1081
  $permission = true;
1082
 
1083
- if ( !$permission && 1 == pods_var( 'restrict_role', $options, 0 ) ) {
1084
- $roles = pods_var( 'roles_allowed', $options );
1085
 
1086
  if ( !is_array( $roles ) )
1087
  $roles = explode( ',', $roles );
@@ -1097,8 +1151,8 @@ function pods_permission ( $options ) {
1097
  }
1098
  }
1099
 
1100
- if ( !$permission && 1 == pods_var( 'restrict_capability', $options, 0 ) ) {
1101
- $capabilities = pods_var( 'capability_allowed', $options );
1102
 
1103
  if ( !is_array( $capabilities ) )
1104
  $capabilities = explode( ',', $capabilities );
@@ -1145,7 +1199,7 @@ function pods_has_permissions ( $options ) {
1145
  if ( isset( $options[ 'options' ] ) )
1146
  $options = $options[ 'options' ];
1147
 
1148
- if ( 1 == pods_var( 'restrict_role', $options, 0 ) || 1 == pods_var( 'restrict_capability', $options, 0 ) || 1 == pods_var( 'admin_only', $options, 0 ) )
1149
  return true;
1150
 
1151
  return false;
@@ -1796,7 +1850,7 @@ function pods_no_conflict_on ( $object_type = 'post', $object = null ) {
1796
  }
1797
 
1798
  $no_conflict[ 'action' ] = array(
1799
- array( 'edit_term', array( PodsInit::$meta, 'save_taxonomy' ), 10, 3 ),
1800
  array( 'create_term', array( PodsInit::$meta, 'save_taxonomy' ), 10, 3 )
1801
  );
1802
  }
@@ -1993,4 +2047,4 @@ function pods_session_start() {
1993
 
1994
  return true;
1995
 
1996
- }
12
  * @param string $results_error (optional) Throw an error if a records are found
13
  * @param string $no_results_error (optional) Throw an error if no records are found
14
  *
 
15
  * @return array|bool|mixed|null|void
16
  * @since 2.0
17
  */
28
  $error = 'Database Error';
29
  }
30
 
31
+ if ( 1 == pods_v( 'pods_debug_sql_all', 'get', 0 ) && is_user_logged_in() && pods_is_admin( array( 'pods' ) ) ) {
32
  $debug_sql = $sql;
33
 
34
  echo '<textarea cols="100" rows="24">';
35
 
36
+ if ( is_array( $debug_sql ) ) {
37
+ $debug_sql = print_r( $debug_sql, true );
38
+ }
39
+
40
+ echo esc_textarea( $debug_sql );
41
 
42
  echo '</textarea>';
43
  }
89
  elseif ( 'error' == $type )
90
  $class = 'error';
91
 
92
+ echo '<div id="message" class="' . esc_attr( $class ) . ' fade"><p>' . $message . '</p></div>';
93
  }
94
 
95
+ global $pods_errors;
96
+ $pods_errors = array();
97
+
98
  /**
99
  * Error Handling which throws / displays errors
100
  *
109
  * @since 2.0
110
  */
111
  function pods_error ( $error, $obj = null ) {
112
+
113
+ global $pods_errors;
114
+
115
  $display_errors = false;
116
 
117
  if ( is_object( $obj ) && isset( $obj->display_errors ) && true === $obj->display_errors )
140
  $log_error = new WP_Error( 'pods-error-' . md5( $error ), $error );
141
 
142
  // throw error as Exception and return false if silent
143
+ if ( $pods_errors !== $error && false === $display_errors && !empty( $error ) ) {
144
  $exception_bypass = apply_filters( 'pods_error_exception', null, $error );
145
 
146
  if ( null !== $exception_bypass )
147
  return $exception_bypass;
148
 
149
+ $pods_errors = $error;
150
+
151
  set_exception_handler( 'pods_error' );
152
 
153
  throw new Exception( $error );
154
  }
155
 
156
+ $pods_errors = array();
157
+
158
  $die_bypass = apply_filters( 'pods_error_die', null, $error );
159
 
160
  if ( null !== $die_bypass )
178
  * @param mixed $debug The error message to be thrown / displayed
179
  * @param boolean $die If set to true, a die() will occur, if set to (int) 2 then a wp_die() will occur
180
  * @param string $prefix
 
181
  *
182
  * @return void
183
  *
393
  * @since 2.0
394
  */
395
  function pods_help ( $text, $url = null ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
396
 
397
+ if ( ! wp_script_is( 'jquery-qtip2', 'registered' ) ) {
398
+ wp_register_script( 'jquery-qtip2', PODS_URL . 'ui/js/jquery.qtip.min.js', array( 'jquery' ), '2.2' );
399
+ }
400
+ elseif ( ! wp_script_is( 'jquery-qtip2', 'queue' ) && ! wp_script_is( 'jquery-qtip2', 'to_do' ) && ! wp_script_is( 'jquery-qtip2', 'done' ) ) {
401
+ wp_enqueue_script( 'jquery-qtip2' );
402
+ }
403
+
404
+ if ( ! wp_style_is( 'jquery-qtip2', 'registered' ) ) {
405
+ wp_register_style( 'jquery-qtip2', PODS_URL . 'ui/css/jquery.qtip.min.css', array(), '2.2' );
406
+ }
407
+ elseif ( ! wp_style_is( 'jquery-qtip2', 'queue' ) && ! wp_style_is( 'jquery-qtip2', 'to_do' ) && ! wp_style_is( 'jquery-qtip2', 'done' ) ) {
408
+ wp_enqueue_style( 'jquery-qtip2' );
409
+ }
410
+
411
+ if ( ! wp_script_is( 'pods-qtip-init', 'registered' ) ) {
412
+ wp_register_script( 'pods-qtip-init', PODS_URL . 'ui/js/qtip.js', array(
413
+ 'jquery',
414
+ 'jquery-qtip2'
415
+ ), PODS_VERSION );
416
+ }
417
+ elseif ( ! wp_script_is( 'pods-qtip-init', 'queue' ) && ! wp_script_is( 'pods-qtip-init', 'to_do' ) && ! wp_script_is( 'pods-qtip-init', 'done' ) ) {
418
+ wp_enqueue_script( 'pods-qtip-init' );
419
+ }
420
+
421
+ if ( is_array( $text ) ) {
422
+ if ( isset( $text[ 1 ] ) ) {
423
+ $url = $text[ 1 ];
424
+ }
425
+
426
+ $text = $text[ 0 ];
427
+ }
428
+
429
+ if ( 'help' == $text ) {
430
+ return;
431
+ }
432
 
433
+ if ( 0 < strlen( $url ) ) {
434
+ $text .= '<br /><br /><a href="' . $url . '" target="_blank">' . __( 'Find out more', 'pods' ) . ' &raquo;</a>';
435
+ }
436
 
437
+ echo '<img src="' . esc_url( PODS_URL ) . 'ui/images/help.png" alt="' . esc_attr( $text ) . '" class="pods-icon pods-qtip" />';
438
  }
439
 
440
  /**
569
  if ( 0 === strpos( $priv, 'manage_' ) )
570
  $priv = pods_str_replace( 'manage_', 'pods_', $priv, 1 );
571
 
572
+ if ( !isset( $approved_privs[ $priv ] ) )
573
  return false;
574
  }
575
 
594
  return '';
595
  }
596
 
597
+ // For enforcing pagination parameters when not displaying pagination
598
+ $page = 1;
599
+ $offset = 0;
600
+
601
+ if ( isset( $tags['page'] ) ) {
602
+ $page = (int) $tags['page'];
603
+ $page = max( $page, 1 );
604
+ }
605
+
606
+ if ( isset( $tags['offset'] ) ) {
607
+ $offset = (int) $tags['offset'];
608
+ $offset = max( $offset, 0 );
609
+ }
610
+
611
  $defaults = array(
612
  'name' => null,
613
  'id' => null,
614
  'slug' => null,
615
  'select' => null,
616
+ 'join' => null,
617
  'order' => null,
618
  'orderby' => null,
619
  'limit' => null,
651
 
652
  $tags = apply_filters( 'pods_shortcode', $tags );
653
 
654
+ $tags[ 'pagination' ] = filter_var($tags[ 'pagination' ], FILTER_VALIDATE_BOOLEAN);
655
+ $tags[ 'search' ] = filter_var($tags[ 'pagination' ], FILTER_VALIDATE_BOOLEAN);
656
 
657
  if ( empty( $content ) )
658
  $content = null;
728
  if ( empty( $pod ) )
729
  return '<p>Pod not found</p>';
730
 
731
+ $found = 0;
732
 
733
+ if ( empty( $id ) ) {
734
+ $params = array();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
735
 
736
  if ( !defined( 'PODS_DISABLE_SHORTCODE_SQL' ) || !PODS_DISABLE_SHORTCODE_SQL ) {
737
  if ( 0 < strlen( $tags[ 'orderby' ] ) ) {
761
  if ( 0 < strlen( $tags[ 'select' ] ) ) {
762
  $params[ 'select' ] = $tags[ 'select' ];
763
  }
764
+ if ( 0 < strlen( $tags[ 'join' ] ) ) {
765
+ $params[ 'join' ] = $tags[ 'join' ];
766
+ }
767
  }
768
 
769
+ // Forms require params set
770
+ if ( ! empty( $params ) || empty( $tags[ 'form' ] ) ) {
771
+ if ( !empty( $tags[ 'limit' ] ) ) {
772
+ $params[ 'limit' ] = (int) $tags[ 'limit' ];
773
+ }
774
 
775
+ $params[ 'search' ] = $tags[ 'search' ];
776
 
777
+ $params[ 'pagination' ] = $tags[ 'pagination' ];
 
 
778
 
779
+ // If we aren't displaying pagination, we need to enforce page/offset
780
+ if ( ! $params['pagination'] ) {
781
+ $params['page'] = $page;
782
+ $params['offset'] = $offset;
783
 
784
+ // Force pagination on, we need it and we're enforcing page/offset
785
+ $params['pagination'] = true;
786
+ } else {
787
+ // If we are displaying pagination, allow page/offset override only if *set*
788
 
789
+ if ( isset( $tags['page'] ) ) {
790
+ $params['page'] = (int) $tags['page'];
791
+ $params['page'] = max( $params['page'], 1 );
792
+ }
793
 
794
+ if ( isset( $tags['offset'] ) ) {
795
+ $params['offset'] = (int) $tags['offset'];
796
+ $params['offset'] = max( $params['offset'], 0 );
797
+ }
798
+ }
799
 
800
+ if ( !empty( $tags[ 'cache_mode' ] ) && 'none' != $tags[ 'cache_mode' ] ) {
801
+ $params[ 'cache_mode' ] = $tags[ 'cache_mode' ];
802
+ $params[ 'expires' ] = (int) $tags[ 'expires' ];
803
+ }
804
 
805
+ $params = apply_filters( 'pods_shortcode_findrecords_params', $params, $pod, $tags );
806
+
807
+ $pod->find( $params );
808
+
809
+ $found = $pod->total();
810
+ }
811
+ }
812
+
813
+ if ( !empty( $tags[ 'form' ] ) ) {
814
+ if ( 'user' == $pod->pod ) {
815
+ // Further hardening of User-based forms
816
+ if ( false !== strpos( $tags[ 'fields' ], '_capabilities' ) || false !== strpos( $tags[ 'fields' ], '_user_level' ) ) {
817
+ return '';
818
+ }
819
+ // Only explicitly allow user edit forms
820
+ elseif ( !empty( $id ) && ( !defined( 'PODS_SHORTCODE_ALLOW_USER_EDIT' ) || !PODS_SHORTCODE_ALLOW_USER_EDIT ) ) {
821
+ return '';
822
+ }
823
+ }
824
+
825
+ return $pod->form( $tags[ 'fields' ], $tags[ 'label' ], $tags[ 'thank_you' ] );
826
+ }
827
  elseif ( !empty( $tags[ 'field' ] ) ) {
828
  if ( empty( $tags[ 'helper' ] ) )
829
  $return = $pod->display( $tags[ 'field' ] );
989
  ?>
990
  <div class="error fade">
991
  <p>
992
+ <strong><?php _e( 'NOTICE', 'pods' ); ?>:</strong> Pods <?php echo esc_html( PODS_VERSION ); ?> <?php _e( 'requires a minimum of', 'pods' ); ?>
993
+ <strong>WordPress <?php echo esc_html( PODS_WP_VERSION_MINIMUM ); ?>+</strong> <?php _e( 'to function. You are currently running', 'pods' ); ?>
994
+ <strong>WordPress <?php echo esc_html( $wp_version ); ?></strong> - <?php _e( 'Please upgrade your WordPress to continue.', 'pods' ); ?>
995
  </p>
996
  </div>
997
  <?php
1008
  ?>
1009
  <div class="error fade">
1010
  <p>
1011
+ <strong><?php _e( 'NOTICE', 'pods' ); ?>:</strong> Pods <?php echo esc_html( PODS_VERSION ); ?> <?php _e( 'requires a minimum of', 'pods' ); ?>
1012
+ <strong>PHP <?php echo esc_html( PODS_PHP_VERSION_MINIMUM ); ?>+</strong> <?php _e( 'to function. You are currently running', 'pods' ); ?>
1013
+ <strong>PHP <?php echo esc_html( phpversion() ); ?></strong> - <?php _e( 'Please upgrade (or have your Hosting Provider upgrade it for you) your PHP version to continue.', 'pods' ); ?>
1014
  </p>
1015
  </div>
1016
  <?php
1028
  $mysql = $wpdb->db_version();
1029
  ?>
1030
  <div class="error fade">
1031
+ <p><strong><?php _e( 'NOTICE', 'pods' ); ?>:</strong> Pods <?php echo esc_html( PODS_VERSION ); ?> <?php _e( 'requires a minimum of', 'pods' ); ?>
1032
+ <strong>MySQL <?php echo esc_html( PODS_MYSQL_VERSION_MINIMUM ); ?>+</strong> <?php _e( 'to function. You are currently running', 'pods' ); ?>
1033
+ <strong>MySQL <?php echo esc_html( $mysql ); ?></strong> - <?php _e( 'Please upgrade (or have your Hosting Provider upgrade it for you) your MySQL version to continue.', 'pods' ); ?>
1034
  </p>
1035
  </div>
1036
  <?php
1131
 
1132
  if ( pods_is_admin() )
1133
  $permission = true;
1134
+ elseif ( 0 == pods_v( 'restrict_role', $options, 0 ) && 0 == pods_v( 'restrict_capability', $options, 0 ) && 0 == pods_v( 'admin_only', $options, 0 ) )
1135
  $permission = true;
1136
 
1137
+ if ( !$permission && 1 == pods_v( 'restrict_role', $options, 0 ) ) {
1138
+ $roles = pods_v( 'roles_allowed', $options );
1139
 
1140
  if ( !is_array( $roles ) )
1141
  $roles = explode( ',', $roles );
1151
  }
1152
  }
1153
 
1154
+ if ( !$permission && 1 == pods_v( 'restrict_capability', $options, 0 ) ) {
1155
+ $capabilities = pods_v( 'capability_allowed', $options );
1156
 
1157
  if ( !is_array( $capabilities ) )
1158
  $capabilities = explode( ',', $capabilities );
1199
  if ( isset( $options[ 'options' ] ) )
1200
  $options = $options[ 'options' ];
1201
 
1202
+ if ( 1 == pods_v( 'restrict_role', $options, 0 ) || 1 == pods_v( 'restrict_capability', $options, 0 ) || 1 == pods_v( 'admin_only', $options, 0 ) )
1203
  return true;
1204
 
1205
  return false;
1850
  }
1851
 
1852
  $no_conflict[ 'action' ] = array(
1853
+ array( 'edited_term', array( PodsInit::$meta, 'save_taxonomy' ), 10, 3 ),
1854
  array( 'create_term', array( PodsInit::$meta, 'save_taxonomy' ), 10, 3 )
1855
  );
1856
  }
2047
 
2048
  return true;
2049
 
2050
+ }
includes/media.php CHANGED
@@ -189,7 +189,13 @@ function pods_image_url ( $image, $size = 'thumbnail', $default = 0, $force = fa
189
  * @since 2.3
190
  */
191
  function pods_attachment_import ( $url, $post_parent = null, $featured = false ) {
192
- $filename = substr( $url, ( strrpos( $url, '/' ) ) + 1 );
 
 
 
 
 
 
193
 
194
  $title = substr( $filename, 0, ( strrpos( $filename, '.' ) ) );
195
 
@@ -311,4 +317,74 @@ function pods_image_resize ( $attachment_id, $size ) {
311
  }
312
 
313
  return false;
314
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
  * @since 2.3
190
  */
191
  function pods_attachment_import ( $url, $post_parent = null, $featured = false ) {
192
+ $filename = explode( '?', $url );
193
+ $filename = $filename[ 0 ];
194
+
195
+ $filename = explode( '#', $filename );
196
+ $filename = $filename[ 0 ];
197
+
198
+ $filename = substr( $filename, ( strrpos( $filename, '/' ) ) + 1 );
199
 
200
  $title = substr( $filename, 0, ( strrpos( $filename, '.' ) ) );
201
 
317
  }
318
 
319
  return false;
320
+ }
321
+
322
+ /**
323
+ * Output an audio field as a video player.
324
+ *
325
+ * @uses wp_audio_shortcode()
326
+ *
327
+ * @since 2.5
328
+ *
329
+ * @param string|array $url Can be a URL of the source file, or a Pods audio field.
330
+ * @param bool|array $args Optional. Additional arguments to pass to wp_audio_shortcode
331
+ *
332
+ * @return string
333
+ */
334
+ function pods_audio( $url, $args = false ) {
335
+
336
+ if ( is_array( $url ) ) {
337
+ if ( ! is_null( pods_v( 'ID', $url ) ) ) {
338
+ $id = pods_v( 'ID', $url );
339
+ $url = wp_get_attachment_url( $id );
340
+ }
341
+ else {
342
+ return;
343
+ }
344
+
345
+ }
346
+
347
+ $audio_args = array( 'src' => $url );
348
+
349
+ if ( is_array( $args ) ) {
350
+ $audio_args = array_merge( $audio_args, $args );
351
+ }
352
+
353
+ return wp_audio_shortcode( $args );
354
+
355
+ }
356
+
357
+ /**
358
+ * Output a video field as a video player.
359
+ *
360
+ * @uses wp_video_shortcode()
361
+ *
362
+ * @since 2.5
363
+ *
364
+ * @param string|array $url Can be a URL of the source file, or a Pods video field.
365
+ * @param bool|array $args Optional. Additional arguments to pass to wp_video_shortcode()
366
+ *
367
+ * @return string
368
+ */
369
+ function pods_video( $url, $args = false ) {
370
+
371
+ if ( is_array( $url ) ) {
372
+ if ( ! is_null( pods_v( 'ID', $url ) ) ) {
373
+ $id = pods_v( 'ID', $url );
374
+ $url = wp_get_attachment_url( $id );
375
+ }
376
+ else {
377
+ return;
378
+ }
379
+
380
+ }
381
+
382
+ $video_args = array( 'src' => $url );
383
+
384
+ if ( is_array( $args ) ) {
385
+ $video_args = array_merge( $video_args, $args );
386
+ }
387
+
388
+ return wp_video_shortcode( $video_args );
389
+
390
+ }
init.php CHANGED
@@ -3,13 +3,15 @@
3
  Plugin Name: Pods - Custom Content Types and Fields
4
  Plugin URI: http://pods.io/
5
  Description: Pods is a framework for creating, managing, and deploying customized content types and fields
6
- Version: 2.4.4
7
  Author: Pods Framework Team
8
  Author URI: http://pods.io/about/
9
  Text Domain: pods
10
  Domain Path: /languages/
 
 
11
 
12
- Copyright 2009-2014 Pods Foundation, Inc (email : contact@podsfoundation.org)
13
 
14
  This program is free software; you can redistribute it and/or modify
15
  it under the terms of the GNU General Public License as published by
@@ -37,21 +39,13 @@ if ( defined( 'PODS_VERSION' ) || defined( 'PODS_DIR' ) ) {
37
  }
38
  else {
39
  // Current version
40
- define( 'PODS_VERSION', '2.4.4' );
41
 
42
  // Version tracking between DB updates themselves
43
  define( 'PODS_DB_VERSION', '2.3.5' );
44
 
45
- if ( !defined( 'PODS_GITHUB_UPDATE' ) ) {
46
- define( 'PODS_GITHUB_UPDATE', false );
47
- }
48
-
49
- if ( !defined( 'PODS_GITHUB_BRANCH' ) ) {
50
- define( 'PODS_GITHUB_BRANCH', '2.x' );
51
- }
52
-
53
  if ( !defined( 'PODS_WP_VERSION_MINIMUM' ) ) {
54
- define( 'PODS_WP_VERSION_MINIMUM', '3.4' );
55
  }
56
 
57
  if ( !defined( 'PODS_PHP_VERSION_MINIMUM' ) ) {
@@ -79,65 +73,22 @@ else {
79
  if ( !defined( 'PODS_MEDIA' ) || PODS_MEDIA )
80
  require_once( PODS_DIR . 'includes/media.php' );
81
 
82
- // @todo Allow user to opt-in to future betas easily
83
- if ( PODS_GITHUB_UPDATE ) {
84
- $update = admin_url( 'update.php' );
85
- $update = str_replace( get_site_url(), '', $update );
86
-
87
- $update_network = network_admin_url( 'update.php' );
88
- $update_network = str_replace( get_site_url(), '', $update_network );
89
-
90
- if ( is_admin() &&
91
- ( isset( $_GET[ 'pods_force_refresh' ] ) ||
92
- ( 'update-selected' == pods_var( 'action' ) &&
93
- ( false !== strpos( $_SERVER[ 'REQUEST_URI' ], $update ) ||
94
- false !== strpos( $_SERVER[ 'REQUEST_URI' ], $update_network ) ) ) ) ) {
95
-
96
- // Configuration
97
- $user = 'pods-framework';
98
- $repo = 'pods';
99
- $branch = PODS_GITHUB_BRANCH;
100
-
101
- // GitHub Plugin Updater
102
- // https://github.com/jkudish/WordPress-GitHub-Plugin-Updater
103
- require_once( PODS_DIR . 'includes/updater.php' );
104
-
105
- $version = PODS_VERSION;
106
-
107
- if ( isset( $_GET[ 'pods_force_refresh' ] ) )
108
- $version = '0.1';
109
-
110
- if ( 'update-selected' == pods_var( 'action' ) && ( false !== strpos( $_SERVER[ 'REQUEST_URI' ], $update ) || false !== strpos( $_SERVER[ 'REQUEST_URI' ], $update_network ) ) )
111
- $version = '0.1';
112
-
113
- $config = array(
114
- 'slug' => PODS_SLUG, // this is the slug of your plugin
115
- 'proper_folder_name' => dirname( PODS_SLUG ), // this is the name of the folder your plugin lives in
116
- 'api_url' => 'https://api.github.com/repos/' . $user . '/' . $repo, // the github API url of your github repo
117
- 'raw_url' => 'https://raw.github.com/' . $user . '/' . $repo . '/' . $branch, // the github raw url of your github repo
118
- 'github_url' => 'https://github.com/' . $user . '/' . $repo, // the github url of your github repo
119
- 'zip_url' => 'https://github.com/' . $user . '/' . $repo . '/zipball/' . $branch, // the zip url of the github repo
120
- 'sslverify' => false, // whether WP should check the validity of the SSL cert when getting an update, see https://github.com/jkudish/WordPress-GitHub-Plugin-Updater/issues/2 and https://github.com/jkudish/WordPress-GitHub-Plugin-Updater/issues/4 for details
121
- 'requires' => '3.4', // which version of WordPress does your plugin require?
122
- 'tested' => '3.6', // which version of WordPress is your plugin tested up to?
123
- 'version' => $version
124
- );
125
-
126
- new WPGitHubUpdater( $config );
127
- }
128
- }
129
-
130
  if ( !defined( 'SHORTINIT' ) || !SHORTINIT ) {
131
- if ( pods_allow_deprecated() ) {
132
- require_once( PODS_DIR . 'deprecated/deprecated.php' );
133
- }
134
 
135
- if ( false !== pods_compatibility_check() && !is_network_admin()) {
136
- $pods_form = pods_form();
 
 
 
 
 
 
137
 
138
- $pods_init = pods_init();
139
- }
140
  }
 
141
  }
142
  }
143
 
@@ -172,5 +123,7 @@ function pods_deactivate_pods_ui () {
172
  wp_redirect( $_SERVER[ 'REQUEST_URI' ] );
173
  die();
174
  }
 
175
  }
176
- }
 
3
  Plugin Name: Pods - Custom Content Types and Fields
4
  Plugin URI: http://pods.io/
5
  Description: Pods is a framework for creating, managing, and deploying customized content types and fields
6
+ Version: 2.5.5
7
  Author: Pods Framework Team
8
  Author URI: http://pods.io/about/
9
  Text Domain: pods
10
  Domain Path: /languages/
11
+ GitHub Plugin URI: https://github.com/pods-framework/pods
12
+ GitHub Branch: master
13
 
14
+ Copyright 2009-2015 Pods Foundation, Inc (email : contact@podsfoundation.org)
15
 
16
  This program is free software; you can redistribute it and/or modify
17
  it under the terms of the GNU General Public License as published by
39
  }
40
  else {
41
  // Current version
42
+ define( 'PODS_VERSION', '2.5.5' );
43
 
44
  // Version tracking between DB updates themselves
45
  define( 'PODS_DB_VERSION', '2.3.5' );
46
 
 
 
 
 
 
 
 
 
47
  if ( !defined( 'PODS_WP_VERSION_MINIMUM' ) ) {
48
+ define( 'PODS_WP_VERSION_MINIMUM', '3.8' );
49
  }
50
 
51
  if ( !defined( 'PODS_PHP_VERSION_MINIMUM' ) ) {
73
  if ( !defined( 'PODS_MEDIA' ) || PODS_MEDIA )
74
  require_once( PODS_DIR . 'includes/media.php' );
75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  if ( !defined( 'SHORTINIT' ) || !SHORTINIT ) {
77
+ if ( pods_allow_deprecated() ) {
78
+ require_once( PODS_DIR . 'deprecated/deprecated.php' );
79
+ }
80
 
81
+ if ( false !== pods_compatibility_check() ) {
82
+ $pods_form = pods_form();
83
+
84
+ if ( ! is_network_admin() ) {
85
+ $pods_init = pods_init();
86
+ }
87
+
88
+ }
89
 
 
 
90
  }
91
+
92
  }
93
  }
94
 
123
  wp_redirect( $_SERVER[ 'REQUEST_URI' ] );
124
  die();
125
  }
126
+
127
  }
128
+
129
+ }
languages/pods-es_ES.mo CHANGED
Binary file
languages/pods-es_ES.po CHANGED
@@ -1,908 +1,786 @@
1
- # Translation of Development in Spanish (Spain)
2
- # This file is distributed under the same license as the Development package.
3
  msgid ""
4
  msgstr ""
5
- "PO-Revision-Date: 2013-05-16 13:54:26+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
10
- "X-Generator: GlotPress/0.1\n"
11
- "Project-Id-Version: Development\n"
12
 
13
- #: classes/PodsAdmin.php:1078
14
- msgid "Archive Page Slug Override"
15
- msgstr ""
16
-
17
- #: classes/PodsAdmin.php:1079
18
- msgid "If archive page is enabled, you can override the slug used by WordPress, which defaults to the name of the post type."
19
  msgstr ""
20
 
21
- #: classes/PodsAdmin.php:1000
22
- msgid "URL or Dashicon name for the menu icon. You may specify the path to the icon using one of the <a href=\"http://pods.io/docs/build/special-magic-tags/#site-tags\" target=\"_blank\">site tag</a> type <a href=\"http://pods.io/docs/build/special-magic-tags/\" target=\"_blank\">special magic tags</a>. For example, for a file in your theme directory, use \"{@template-url}/path/to/image.png\". You may also use the name of a <a href=\"http://melchoyce.github.io/dashicons/\" target=\"_blank\">Dashicon</a>. For example, to use the empty star icon, use \"dashicons-star-empty\"."
23
  msgstr ""
24
 
25
- #: classes/PodsAdmin.php:1070
26
- msgid "Enable Archive Page"
27
  msgstr ""
28
 
29
- #: classes/PodsAdmin.php:1071
30
- msgid "If enabled, creates an archive page with list of of items in this custom post type. Functions like a category page for posts. Can be controlled with a template in your theme called \"archive-{$post-type}.php\"."
31
  msgstr ""
32
 
33
- #: classes/PodsAdmin.php:1108
34
- msgid "Allows you to use pretty permalinks, if set in WordPress Settings->Reading. If not enbabled, your links will be in the form of \"example.com/?pod_name=post_slug\" regardless of your permalink settings."
35
  msgstr ""
36
 
37
- #: classes/PodsAdmin.php:1116
38
- msgid "Changes the first segment of the URL, which by default is the name of the Pod. For example, if your Pod is called \"foo\", if this field is left blank, your link will be \"example.com/foo/post_slug\", but if you were to enter \"bar\" your link will be \"example.com/bar/post_slug\"."
39
  msgstr ""
40
 
41
- #: ui/admin/widgets/list.php:13 ui/admin/widgets/single.php:13
42
- msgid "You must specify a Pods Template or create a custom template, using <a href=\"http://pods.io/docs/build/using-magic-tags/\" title=\"Using Magic Tags\" target=\"_blank\">magic tags</a>."
43
  msgstr ""
44
 
45
- #: classes/fields/file.php:116
46
- msgid "Link to File in editor"
47
  msgstr ""
48
 
49
- #: ui/admin/setup-add.php:140
50
- msgid "<h6>Page Title</h6> This is the text that will appear at the top of your settings page."
51
  msgstr ""
52
 
53
- #: classes/fields/pick.php:144
54
- msgid "Taggable"
55
  msgstr ""
56
 
57
- #: classes/fields/pick.php:145
58
- msgid "Allow new values to be inserted when using an Autocomplete field"
59
  msgstr ""
60
 
61
- #: ui/admin/setup-edit.php:531
62
- msgid "Jetpack Publicize Support"
63
  msgstr ""
64
 
65
- #: ui/admin/setup-edit.php:536
66
- msgid "Jetpack Markdown Support"
67
  msgstr ""
68
 
69
- #: components/Templates/class-pods_templates.php:193
70
- msgid "Pod Reference"
71
  msgstr ""
72
 
73
- #: components/Templates/includes/element-pod_reference.php:6
74
- msgid "Select Pod to use as reference"
 
 
 
 
 
75
  msgstr ""
76
 
77
- #: classes/PodsAdmin.php:1086
78
- msgid "Allows for parent/ child relationships between items, just like with Pages. Note: To edit relationships in the post editor, you must enable \"Page Attributes\" in the \"Supports\" section below."
79
  msgstr ""
80
 
81
- #: classes/fields/pick.php:175
82
- msgid "Allow HTML"
83
  msgstr ""
84
 
85
- #: ui/admin/widgets/list.php:78
86
- msgid "Before Content"
87
  msgstr ""
88
 
89
- #: ui/admin/widgets/list.php:90
90
- msgid "After Content"
91
  msgstr ""
92
 
93
- #: components/Migrate-Packages/ui/wizard.php:279
94
- msgid "Process Again"
95
- msgstr ""
96
 
97
- #: components/Pages.php:490
98
- msgid "Redirect if Restricted?"
99
- msgstr ""
100
 
101
- #: components/Pages.php:497
102
- msgid "Redirect to WP Login page"
103
- msgstr ""
104
 
105
- #: components/Pages.php:507
106
- msgid "Redirect to a Custom URL"
107
- msgstr ""
108
 
109
- #: ui/admin/setup-add.php:177 ui/admin/setup-add.php:188
110
- msgid "Pod Name"
111
- msgstr ""
112
 
113
- #: classes/PodsAdmin.php:1147
114
- msgid "The Query Var is used in the URL and underneath the WordPress Rewrite API to tell WordPress what page or post type you are on. For a list of reserved Query Vars, read <a href=\"http://codex.wordpress.org/WordPress_Query_Vars\">WordPress Query Vars</a> from the WordPress Codex."
115
- msgstr ""
116
 
117
- #: classes/PodsAPI.php:5079
118
- msgid "Pod Fields"
119
- msgstr ""
120
 
121
- #: classes/PodsAPI.php:5083
122
- msgid "Pod Field"
123
- msgstr ""
124
 
125
- #: classes/PodsAdmin.php:1160
126
- msgid "Default Status"
127
- msgstr ""
128
 
129
- #: classes/fields/file.php:77
130
- msgid "Upload Limit"
131
- msgstr ""
132
 
133
- #: classes/fields/file.php:81
134
- msgid "Single File"
135
- msgstr ""
136
 
137
- #: classes/fields/file.php:82
138
- msgid "Multiple Files"
139
- msgstr ""
140
 
141
- #: classes/fields/file.php:121
142
- msgid "Max Number of Files"
143
- msgstr ""
144
 
145
- #: classes/fields/code.php:82 classes/fields/currency.php:188
146
- #: classes/fields/email.php:70 classes/fields/number.php:116
147
- #: classes/fields/paragraph.php:134 classes/fields/password.php:62
148
- #: classes/fields/phone.php:95 classes/fields/text.php:93
149
- #: classes/fields/website.php:83
150
- msgid "Set to -1 for no limit"
151
- msgstr ""
152
 
153
- #: classes/PodsAdmin.php:1250
154
- msgid "Single Value Taxonomy"
155
- msgstr ""
156
 
157
- #: classes/PodsAdmin.php:1251
158
- msgid "Use a drop-down for the input instead of the WordPress default"
159
- msgstr ""
160
 
161
- #: classes/PodsAdmin.php:1258
162
- msgid "Single Value Taxonomy - Required"
163
- msgstr ""
164
 
165
- #: classes/PodsAdmin.php:1259
166
- msgid "A term will be selected by default in the Post Editor, not optional"
167
- msgstr ""
168
 
169
- #: classes/fields/pick.php:496
170
- msgid "Calendar - Days of Week"
171
- msgstr ""
172
 
173
- #: classes/fields/pick.php:503
174
- msgid "Calendar - Months of Year"
175
- msgstr ""
176
 
177
- #: classes/fields/html.php:98
178
- msgid "Changes double line-breaks in the text into HTML htmls"
179
- msgstr ""
180
 
181
- #: ui/admin/setup-edit.php:523
182
- msgid "YARPP Support"
183
- msgstr ""
184
 
185
- #: classes/fields/paragraph.php:128 classes/fields/wysiwyg.php:145
186
- msgid "Format: strong em a ul ol li b i"
187
  msgstr ""
188
 
189
- #: classes/fields/pick.php:158
190
- msgid "Default Select Text"
191
- msgstr ""
192
 
193
- #: classes/fields/pick.php:159
194
- msgid "This is the text use for the default \"no selection\" dropdown item, if empty, it will default to \"-- Select One --\""
195
- msgstr ""
196
 
197
- #: classes/PodsAdmin.php:1195
198
- msgid "Make a top-level menu item"
199
- msgstr ""
200
 
201
- #: classes/PodsAdmin.php:1196 classes/PodsAdmin.php:1293
202
- msgid "Make a new top-level menu item below Settings"
203
- msgstr ""
204
 
205
- #: classes/PodsAdmin.php:1607
206
- msgid "Make field \"Read Only\" in UI"
207
- msgstr ""
208
 
209
- #: classes/PodsAdmin.php:1610
210
- msgid "This option is overriden by access restrictions. If the user does not have access to edit this field, it will be read only. If no access restrictions are set, this field will always be read only."
211
- msgstr ""
212
 
213
- #: classes/PodsUI.php:1869
214
- msgid "<strong>Error:</strong> %s has not been %s."
215
  msgstr ""
216
 
217
- #: classes/PodsUI.php:1902
218
- msgid "<strong>Deleted:</strong> %s has been deleted."
219
- msgstr ""
220
 
221
- #: classes/PodsUI.php:1904 classes/PodsUI.php:1947
222
- msgid "<strong>Error:</strong> %s has not been deleted."
223
  msgstr ""
224
 
225
- #: classes/PodsUI.php:1950
226
- msgid "<strong>Deleted:</strong> %s have been deleted."
227
- msgstr ""
228
 
229
- #: ui/admin/form.php:269 ui/admin/view.php:115
230
- msgid "Previous %s"
231
- msgstr ""
232
 
233
- #: ui/admin/form.php:277 ui/admin/view.php:123
234
- msgid "Next %s"
235
- msgstr ""
236
 
237
- #: classes/PodsAdmin.php:1333
238
- msgid "Normal (Looks like the Post Type UI)"
239
- msgstr ""
240
 
241
- #: components/Pages.php:348
242
- msgid "Custom (uses only Pod Page content)"
243
- msgstr ""
244
 
245
- #: components/Pages.php:351
246
- msgid "Pods (Pods Default)"
247
- msgstr ""
248
 
249
- #: components/Pages.php:354
250
- msgid "Page (WP Default)"
251
- msgstr ""
252
 
253
- #: components/Pages.php:357
254
- msgid "Index (WP Fallback)"
255
- msgstr ""
256
 
257
- #: classes/fields/file.php:139
258
- msgid "Images (jpg, jpeg, png, gif)"
259
- msgstr ""
260
 
261
- #: classes/PodsAPI.php:5657
262
- msgid "Pod for field not found"
263
- msgstr "Pod o campo no encontrado"
264
 
265
- #: classes/PodsAdmin.php:730
266
- msgid "Number of Fields"
267
- msgstr "Número de campos"
268
 
269
- #: classes/PodsAdmin.php:814
270
- msgid "Are you sure you want to delete all items from this Pod? If this is an extended Pod, it will remove the original items extended too."
271
- msgstr "¿Estás seguro de que quieres borrar todos los items de este Pod? Si éste es un Pod ampliado, se borrarán también los items originales ampliados."
272
 
273
- #: classes/PodsAdmin.php:828
274
- msgid "field"
275
- msgid_plural "fields"
276
- msgstr[0] "campo"
277
- msgstr[1] "campos"
278
 
279
- #: classes/PodsAdmin.php:1044
280
- msgid "User Capability"
281
- msgstr "Funcionalidad de usuario"
282
 
283
- #: classes/PodsAdmin.php:1045
284
- msgid "Uses these capabilties for access to this post type: edit_{capability}, read_{capability}, and delete_{capability}"
285
- msgstr "Usa estas funcionalidades para acceder a este tipo de post: edit_{capability}, read_{capability}, and delete_{capability}"
286
 
287
- #: classes/PodsAdmin.php:1051
288
- msgid "Custom Capability"
289
- msgstr "Funcionalidad personalizada"
 
290
 
291
- #: classes/PodsAdmin.php:1056
292
- msgid "Custom User Capability"
293
- msgstr "Funcionalidad de usuario personalizada"
294
 
295
- #: classes/PodsAdmin.php:1063
296
- msgid "Additional User Capabilities"
297
- msgstr "Funcionalidades de usuario adicionales"
 
298
 
299
- #: classes/PodsAdmin.php:1064
300
- msgid "Enables additional capabilities for this Post Type including: delete_{capability}s, delete_private_{capability}s, delete_published_{capability}s, delete_others_{capability}s, edit_private_{capability}s, and edit_published_{capability}s"
301
- msgstr ""
 
302
 
303
- #: classes/PodsAdmin.php:1192
304
- msgid "Default - Add to associated Post Type(s) menus"
305
- msgstr ""
 
306
 
307
- #: classes/PodsAdmin.php:1193 classes/PodsAdmin.php:1291
308
- msgid "Add to Settings menu"
309
- msgstr "Anadir al menú Ajustes"
 
310
 
311
- #: classes/PodsAdmin.php:1194 classes/PodsAdmin.php:1292
312
- msgid "Add to Appearances menu"
313
- msgstr "Añadir al menú Apariencia"
314
 
315
- #: classes/PodsAdmin.php:1197 classes/PodsAdmin.php:1294
316
- msgid "Add a submenu item to another menu"
317
- msgstr "Añadir un elemento submenu a otro menu"
318
 
319
- #: classes/PodsAdmin.php:1240
320
- msgid "Whether to add a column for this taxonomy on the associated post types manage screens"
321
- msgstr ""
322
 
323
- #: classes/PodsAdmin.php:1279
324
- msgid "Normal Settings Form"
325
- msgstr "Formulario de ajustes normales"
 
326
 
327
- #: classes/PodsAdmin.php:1280
328
- msgid "Post Type UI"
329
- msgstr ""
 
330
 
331
- #: classes/PodsAdmin.php:1281 classes/PodsAdmin.php:1334
332
- msgid "Custom (hook into pods_admin_ui_custom or pods_admin_ui_custom_{podname} action)"
333
- msgstr ""
334
 
335
- #: classes/PodsAdmin.php:1972
336
- msgid "Developer Preview"
337
- msgstr ""
338
 
339
- #: classes/PodsUI.php:2013
340
- msgid "<strong>Success:</strong> Your export is ready, you can download it <a href=\"%s\" target=\"_blank\">here</a>"
341
- msgstr ""
342
 
343
- #: classes/fields/email.php:192
344
- msgid "Invalid e-mail provided for %s"
345
  msgstr ""
346
 
347
- #: classes/fields/pick.php:437
348
- msgid "User Capabilities"
349
  msgstr ""
350
 
351
- #: classes/fields/pick.php:482
352
- msgid "Countries"
353
- msgstr ""
354
 
355
- #: classes/fields/pick.php:483 classes/fields/pick.php:490
356
- #: classes/fields/pick.php:497 classes/fields/pick.php:504
357
- msgid "Predefined Lists"
358
- msgstr ""
359
 
360
- #: classes/fields/pick.php:489
361
- msgid "US States"
362
  msgstr ""
363
 
364
- #: classes/fields/pick.php:788
365
- msgid "The %s field is required and cannot be removed by the %s field"
366
  msgstr ""
367
 
368
- #: components/Advanced-Relationships.php:38
369
- msgid "Database Tables"
370
  msgstr ""
371
 
372
- #: components/Advanced-Relationships.php:76
373
- msgid "Post Type Objects"
374
- msgstr ""
375
 
376
- #: components/Advanced-Relationships.php:83
377
- msgid "Taxonomy Objects"
378
- msgstr ""
379
 
380
- #: components/Pages.php:424
381
- msgid "Setting the Wildcard Slug is an easy way to setup a detail page. You can use the special tag {@url.2} to match the *third* level of the URL of a Pod Page named \"first/second/*\" part of the pod page. This is functionally the same as using pods_var( 2, \"url\" ) in PHP."
382
- msgstr ""
383
 
384
- #: classes/PodsAdmin.php:1578 components/Pages.php:435
385
- msgid "Restrict access to Admins?"
386
- msgstr ""
387
 
388
- #: components/Pages.php:444
389
- msgid "<h6>Roles</h6> Roles are assigned to users to provide them access to specific functionality in WordPress. Please see the Roles and Capabilities component in Pods for an easy tool to add your own roles and edit existing ones."
390
- msgstr ""
391
 
392
- #: components/Pages.php:468 components/Templates/Templates.php:309
393
- msgid "<h6>Capabilities</h6> Capabilities denote access to specific functionality in WordPress, and are assigned to specific User Roles. Please see the Roles and Capabilities component in Pods for an easy tool to add your own capabilities and roles."
394
- msgstr ""
395
 
396
- #: includes/general.php:125
397
- msgid "The following issue occurred:"
 
 
 
398
  msgstr ""
 
 
 
399
 
400
- #: sql/upgrade/PodsUpgrade_2_0_0.php:551
401
- msgid "Pod <strong>%s</strong> not found, relationships cannot be migrated"
402
- msgstr ""
403
 
404
- #: sql/upgrade/PodsUpgrade_2_0_0.php:858
405
- msgid "Pod <strong>%s</strong> not found, items cannot be migrated"
406
- msgstr ""
407
 
408
- #: ui/admin/setup-add.php:78
409
- msgid "Creating a new Content Type allows you to control exactly what that content type does, how it acts like, the fields it has, and the way you manage it."
410
- msgstr ""
411
 
412
- #: classes/PodsAdmin.php:1582
413
- msgid "This field will only be able to be edited by users with the ability to manage_options or delete_users, or super admins of a WordPress Multisite network"
414
- msgstr ""
415
 
416
- #: classes/PodsAdmin.php:1600
417
- msgid "Hide field from UI"
418
- msgstr ""
419
 
420
- #: classes/PodsAdmin.php:1603
421
- msgid "This option is overriden by access restrictions. If the user does not have access to edit this field, it will be hidden. If no access restrictions are set, this field will always be hidden."
422
- msgstr ""
423
 
424
- #: ui/admin/setup-edit.php:615
425
- msgid "Custom Query Var Name"
426
- msgstr ""
427
 
428
- #: ui/admin/setup-edit.php:962
429
- msgid "There was a server error with your AJAX request."
430
- msgstr ""
431
 
432
- #: ui/admin/shortcode.php:333
433
- msgid "Embed content from a Pods Page"
434
- msgstr ""
435
 
436
- #: ui/admin/shortcode.php:405
437
- msgid "Pods Page"
438
- msgstr ""
439
 
440
- #: classes/PodsAPI.php:632
441
- msgid "Setting data is required but is either invalid or empty"
442
- msgstr "Introducir datos es obligatorio pero o estos no son válidos o están vacíos "
443
 
444
- #: classes/PodsAPI.php:3827
445
- msgid "Pod not allowed to be duplicated"
446
- msgstr "No está permitido duplicar este Pod"
447
 
448
- #: classes/PodsAdmin.php:714 ui/admin/setup-add.php:91
449
- msgid "Custom Settings Page"
450
- msgstr "Página de ajustes personalizados"
451
 
452
- #: classes/PodsAdmin.php:724 classes/PodsAdmin.php:835
453
- msgid "Type"
454
- msgstr "Tipo"
455
 
456
- #: classes/PodsAdmin.php:1929 classes/PodsAdmin.php:1963
457
- msgid "Category"
458
- msgstr "Categoría"
459
 
460
- #: classes/PodsAdmin.php:1955
461
- msgid "Field Types"
462
- msgstr "Tipos de campo"
463
 
464
- #: classes/PodsAdmin.php:1957
465
- msgid "Integration"
466
- msgstr "Integración"
467
 
468
- #: classes/PodsAdmin.php:1958
469
- msgid "Migration"
470
- msgstr "Migración"
471
 
472
- #: classes/PodsAdmin.php:1997 classes/PodsAdmin.php:2016
473
- msgid "You can find it at %s"
474
- msgstr "Puedes encontrarlo en %s"
475
 
476
- #: classes/PodsAdmin.php:1999
477
- msgid "The %s component requires that you have the <strong>%s</strong> plugin installed and activated."
478
- msgstr "El componente %s requiere que tengas el plugin <strong>%s</strong> instalado y activado."
479
 
480
- #: classes/PodsAdmin.php:2018
481
- msgid "The %s component requires that you have the <strong>%s</strong> theme installed and activated."
482
- msgstr "El componente %s requiere que tengas el tema <strong>%s</strong> instalado y activado."
483
 
484
- #: classes/PodsAdmin.php:2029
485
- msgid "The %s component can not be disabled from here. You must deactivate the plugin or theme that added it."
486
- msgstr "El componente %s no puede ser deshabilitado desde aquí. Tienes que desactivar el plugin o tema que lo añadió."
487
 
488
- #: classes/PodsMigrate.php:640 classes/PodsMigrate.php:673
489
- msgid "There was an issue saving the export file in your uploads folder."
490
- msgstr "Hubo un problema al guardar el archivo de exportación en tu carpeta de subidas."
491
 
492
- #: classes/PodsUI.php:923
493
- msgid "Manage %s"
494
- msgstr "Gestionar %s"
495
 
496
- #: classes/PodsUI.php:926
497
- msgid "Duplicate %s"
498
- msgstr "Duplicar %s"
499
 
500
- #: classes/PodsUI.php:928 classes/PodsUI.php:939
501
- msgid "Reorder %s"
502
- msgstr "Reordenar %s"
503
 
504
- #: classes/PodsUI.php:933 classes/PodsUI.php:936
505
- msgid "Save New %s"
506
- msgstr "Guardar Nuevo %s"
507
 
508
- #: classes/PodsUI.php:935
509
- msgid "Save %s"
510
- msgstr "Guardar %s"
511
 
512
- #: classes/PodsUI.php:937
513
- msgid "Delete this %s"
514
- msgstr "Borrar este %s"
515
 
516
- #: classes/PodsUI.php:1420 classes/PodsUI.php:1468 classes/PodsUI.php:1747
517
- #: classes/PodsUI.php:2381
518
- msgid "Back to %s"
519
- msgstr "Volver a %s"
520
 
521
- #: classes/PodsUI.php:1358 classes/PodsUI.php:1513
522
- msgid "<strong>Error:</strong> You do not have access to this %s."
523
- msgstr "<strong>Error:</strong> No tienes acceso a este %s."
524
 
525
- #: classes/fields/avatar.php:96 classes/fields/file.php:170
526
- msgid "Add Button Text"
527
- msgstr "Añadir texto del botón"
528
 
529
- #: classes/fields/avatar.php:101 classes/fields/file.php:175
530
- msgid "Modal Title"
531
- msgstr "Título modal"
532
 
533
- #: classes/fields/avatar.php:103 classes/fields/file.php:177
534
- #: ui/fields/media.php:136
535
- msgid "Attach a file"
536
- msgstr "Incluír un fichero"
537
 
538
- #: classes/fields/avatar.php:107 classes/fields/file.php:181
539
- msgid "Modal Add Button Text"
540
- msgstr "Texto del botón añadir modal"
541
 
542
- #: classes/fields/boolean.php:52 classes/fields/currency.php:100
543
- #: classes/fields/number.php:67
544
- msgid "Input Type"
545
- msgstr "Tipo de input"
546
 
547
- #: classes/fields/code.php:59 classes/fields/color.php:49
548
- #: classes/fields/currency.php:91 classes/fields/date.php:58
549
- #: classes/fields/datetime.php:58 classes/fields/email.php:58
550
- #: classes/fields/number.php:58 classes/fields/paragraph.php:58
551
- #: classes/fields/phone.php:58 classes/fields/text.php:58
552
- #: classes/fields/time.php:57 classes/fields/website.php:58
553
- #: classes/fields/wysiwyg.php:58
554
- msgid "Repeatable Field"
555
- msgstr "Campo repetible"
556
 
557
- #: classes/fields/code.php:62 classes/fields/color.php:52
558
- #: classes/fields/currency.php:94 classes/fields/date.php:61
559
- #: classes/fields/datetime.php:61 classes/fields/email.php:61
560
- #: classes/fields/number.php:61 classes/fields/paragraph.php:61
561
- #: classes/fields/phone.php:61 classes/fields/text.php:61
562
- #: classes/fields/time.php:60 classes/fields/website.php:61
563
- #: classes/fields/wysiwyg.php:61
564
- msgid "Making a field repeatable will add controls next to the field which allows users to Add/Remove/Reorder additional values. These values are saved in the database as an array, so searching and filtering by them may require further adjustments\"."
565
- msgstr "Hacer un campo repetible añadirá controles la lado del campo que posibilitan al usuario Añadir/Borrar/Reordenar valores adicionales. Estos valores son guardados en la base de datos como un array, por lo tanto la búsqueda o filtrado por estos puede requerir ajustes más adelante\"."
566
 
567
- #: classes/fields/currency.php:104 classes/fields/number.php:71
568
- msgid "Freeform Number"
569
- msgstr "Número libre"
570
 
571
- #: classes/fields/currency.php:105 classes/fields/number.php:72
572
- msgid "Slider"
573
- msgstr "Slider"
574
 
575
- #: classes/fields/currency.php:141
576
- msgid "Before (ex. $100)"
577
- msgstr "Antes (xej. $100)"
578
 
579
- #: classes/fields/currency.php:142
580
- msgid "After (ex. 100$)"
581
- msgstr "Después (xej. 100$)"
582
 
583
- #: classes/fields/currency.php:143
584
- msgid "None (ex. 100)"
585
- msgstr "Ninguno (xej. 100)"
586
 
587
- #: classes/fields/currency.php:144
588
- msgid "Before with Currency Code after (ex. $100 USD)"
589
- msgstr "Antes con el código de moneda después (xej. $100 USD)"
590
 
591
- #: classes/fields/currency.php:167 classes/fields/number.php:95
592
- msgid "Slider Increment (Step)"
593
- msgstr "Incremento del Slider (Paso)"
594
 
595
- #: classes/fields/currency.php:173 classes/fields/number.php:101
596
- msgid "Minimum Number"
597
- msgstr "Número mínimo"
598
 
599
- #: classes/fields/currency.php:179 classes/fields/number.php:107
600
- msgid "Maximum Number"
601
- msgstr "Número máximo"
 
 
602
 
603
- #: classes/fields/file.php:140
604
- msgid "Video (mpg, mov, flv, mp4, etc..)"
605
- msgstr "Video (mpg, mov, flv, mp4, etc..)"
606
 
607
- #: classes/fields/file.php:141
608
- msgid "Audio (mp3, m4a, wav, wma, etc..)"
609
- msgstr "Audio (mp3, m4a, wav, wma, etc..)"
610
 
611
- #: classes/fields/file.php:142
612
- msgid "Text (txt, csv, tsv, rtx, etc..)"
613
- msgstr "Texto (txt, csv, tsv, rtx, etc..)"
614
 
615
- #: classes/fields/pick.php:180
616
- msgid "Table ID Column"
617
- msgstr "Columna ID de Tabla"
618
 
619
- #: classes/fields/pick.php:181
620
- msgid "You must provide the ID column name for the table, this will be used to keep track of the relationship"
621
- msgstr "Debes proporcionar el nombre de la columna ID para la tabla, esta será utilizada para realizar el seguimiento de la relación"
622
 
623
- #: classes/fields/pick.php:188
624
- msgid "Table Index Column"
625
- msgstr "Columna Índice de la tabla"
626
 
627
- #: classes/fields/pick.php:189
628
- msgid "You must provide the index column name for the table, this may optionally also be the ID column name"
629
- msgstr "Debes proporcionar un nombre para la columna índice de la tabla, esta, de manera opcional, puede ser también el nombre de la columna ID"
630
 
631
- #: classes/fields/pick.php:208
632
- msgid "Limit list to Role(s)"
633
- msgstr "Limite de la lista de Rol(es)"
634
 
635
- #: classes/fields/pick.php:325
636
- msgid "Simple (custom defined list)"
637
- msgstr "Simple (lista personalizada)"
638
 
639
- #: classes/fields/pick.php:425 classes/fields/pick.php:431
640
- #: classes/fields/pick.php:438 classes/fields/pick.php:445
641
- #: classes/fields/pick.php:451 classes/fields/pick.php:457
642
- #: classes/fields/pick.php:464 classes/fields/pick.php:469
643
- #: classes/fields/pick.php:474
644
- msgid "Other WP Objects"
645
- msgstr "Otros Objetos WP"
646
 
647
- #: classes/fields/pick.php:430
648
- msgid "User Roles"
649
- msgstr "Roles de usuario"
650
 
651
- #: classes/fields/pick.php:456
652
- msgid "Image Sizes"
653
- msgstr "Tamaño de imágenes"
654
 
655
- #: classes/fields/pick.php:463
656
- msgid "Navigation Menus"
657
- msgstr "Menús de navegación"
658
 
659
- #: classes/fields/pick.php:473
660
- msgid "Post Status"
661
- msgstr "Estado del post"
662
 
663
- #: components/Advanced-Relationships.php:69
664
- msgid "Sidebars"
665
- msgstr "Barras laterales"
666
 
667
- #: components/Advanced-Relationships.php:39
668
- #: components/Advanced-Relationships.php:45
669
- #: components/Advanced-Relationships.php:50
670
- #: components/Advanced-Relationships.php:56
671
- #: components/Advanced-Relationships.php:63
672
- #: components/Advanced-Relationships.php:70
673
- #: components/Advanced-Relationships.php:77
674
- #: components/Advanced-Relationships.php:84
675
- msgid "Advanced Objects"
676
- msgstr "Objetos avanzados"
677
 
678
- #: components/Advanced-Relationships.php:44
679
- msgid "Multisite Sites"
680
- msgstr "Sitios multisitio"
 
681
 
682
- #: components/Advanced-Relationships.php:49
683
- msgid "Multisite Networks"
684
- msgstr "Redes multisitio"
685
 
686
- #: components/Advanced-Relationships.php:55
687
- msgid "Themes"
688
- msgstr "Temas"
 
689
 
690
- #: components/Advanced-Relationships.php:62
691
- msgid "Page Templates"
692
- msgstr "Templates para páginas"
693
 
694
- #: classes/fields/wysiwyg.php:80
695
- msgid "Editor Options"
696
- msgstr "Opciones del editor"
697
-
698
- #: classes/fields/wysiwyg.php:84
699
- msgid "Enable Media Buttons?"
700
- msgstr "Habilitar botones multimedia?"
701
-
702
- #: components/Builder/modules/list/PodsBuilderModuleList.php:169
703
- #: components/Builder/modules/view/PodsBuilderModuleView.php:76
704
- #: ui/admin/shortcode.php:472 ui/admin/widgets/list.php:114
705
- #: ui/admin/widgets/view.php:27
706
- msgid "Cache Type"
707
- msgstr "Tipo de caché"
708
-
709
- #: components/Builder/modules/list/PodsBuilderModuleList.php:174
710
- #: components/Builder/modules/view/PodsBuilderModuleView.php:81
711
- #: ui/admin/shortcode.php:476 ui/admin/widgets/list.php:118
712
- #: ui/admin/widgets/view.php:31
713
- msgid "Disable Caching"
714
- msgstr "Deshabilitar cacheo"
715
-
716
- #: components/Builder/modules/list/PodsBuilderModuleList.php:175
717
- #: components/Builder/modules/view/PodsBuilderModuleView.php:82
718
- #: ui/admin/shortcode.php:477 ui/admin/widgets/list.php:119
719
- #: ui/admin/widgets/view.php:32
720
- msgid "Object Cache"
721
- msgstr "Caché de objeto"
722
-
723
- #: components/Builder/modules/list/PodsBuilderModuleList.php:176
724
- #: components/Builder/modules/view/PodsBuilderModuleView.php:83
725
- #: ui/admin/shortcode.php:478 ui/admin/widgets/list.php:120
726
- #: ui/admin/widgets/view.php:33
727
- msgid "Transient"
728
- msgstr "Transitorio"
729
-
730
- #: components/Builder/modules/list/PodsBuilderModuleList.php:177
731
- #: components/Builder/modules/view/PodsBuilderModuleView.php:84
732
- #: ui/admin/shortcode.php:479 ui/admin/widgets/list.php:121
733
- #: ui/admin/widgets/view.php:34
734
- msgid "Site Transient"
735
- msgstr "Sitio transitorio"
736
-
737
- #: components/Builder/modules/list/PodsBuilderModuleList.php:186
738
- #: components/Builder/modules/view/PodsBuilderModuleView.php:93
739
- #: ui/admin/shortcode.php:494 ui/admin/widgets/list.php:135
740
- #: ui/admin/widgets/view.php:48
741
- msgid "Cache Expiration (in seconds)"
742
- msgstr "Tiempo de expiración de la caché (en segundos)"
743
-
744
- #: components/Builder/modules/view/PodsBuilderModuleView.php:22
745
- msgid "Pods - View"
746
- msgstr "Pods - Ver"
747
-
748
- #: components/Builder/modules/view/PodsBuilderModuleView.php:23
749
- #: ui/admin/shortcode.php:331
750
- msgid "Include a file from a theme, with caching options"
751
- msgstr "Incluír un fichero de un tema, con cacheo de opciones"
752
-
753
- #: components/Builder/modules/view/PodsBuilderModuleView.php:68
754
- #: ui/admin/shortcode.php:466 ui/admin/widgets/view.php:21
755
- msgid "File to include"
756
- msgstr "Fichero a incluír"
757
-
758
- #: components/Pages.php:399
759
- msgid "-- Select a Pod --"
760
- msgstr "-- Selecciona un Pod --"
761
-
762
- #: components/Pages.php:415
763
- msgid "Associated Pod"
764
- msgstr "Pod asociado"
765
-
766
- #: components/Pages.php:423
767
- msgid "Wildcard Slug"
768
- msgstr "Slug comodín"
769
-
770
- #: components/Pages.php:430
771
- msgid "Pod Association"
772
- msgstr "Asociación con Pod"
773
-
774
- #: includes/general.php:127
775
- msgid "The following issues occurred:"
776
- msgstr "Ha ocurrido lo siguiente:"
777
-
778
- #: ui/admin/components-admin.php:14
779
- msgid "Settings saved successfully."
780
- msgstr "Ajustes guardados con éxito."
781
-
782
- #: ui/admin/form.php:183 ui/admin/view.php:47
783
- msgid "Created on"
784
- msgstr "Creado el"
785
-
786
- #: ui/admin/form.php:192 ui/admin/view.php:56
787
- msgid "Last Modified"
788
- msgstr "Última modificación"
789
-
790
- #: ui/admin/setup-add.php:48
791
- msgid "Pods are content types that you can customize and define fields for based on your needs. You can choose to create a Custom Post Type, Custom Taxonomy, or Custom Settings Pages for site-specific data. You can also extend existing content types like WP Objects such as Post Types, Taxonomies, Users, or Comments."
792
- msgstr "Los Pods son tipos de contenido que puedes personalizar y para los que puedes definir campos basados en tus necesidades. Puedes elegir crear un Tipo de Post Personalizado, una Taxonomía personalizada o Páginas de Ajustes Personalizadas para datos específicos del sitio. También puedes ampliar tipos de contenido existentes como Objetos WP, como pueden ser Tipos de Entradas, Taxonomías, Usuarios o Comentarios."
793
-
794
- #: ui/admin/setup-add.php:50
795
- msgid "Not sure what content type you should use? Check out our <a href=\"http://pods.io/docs/comparisons/compare-content-types/\" target=\"_blank\">Content Type Comparison</a> to help you decide."
796
- msgstr "¿No estás seguro de qué tipo de contenido deberías usar? Prueba nuestra Check out our <a href=\"http://pods.io/docs/comparisons/compare-content-types/\" target=\"_blank\">comparación de tipos de contenido</a> para ayudarte a decidir."
797
-
798
- #: ui/admin/setup-add.php:59
799
- msgid "Create entirely new content types using <strong>Post Types</strong>, <strong>Taxonomies</strong>, or <strong>Custom Settings Pages</strong>."
800
- msgstr "Crea tipos de contenido completamente nuevos usando <strong>Tipos de entrada</strong>, <strong>Taxonomías</strong>, o <strong>Páginas de ajustes personalizadas</strong>."
801
-
802
- #: ui/admin/setup-add.php:146
803
- msgid "Menu Label"
804
- msgstr "Etiqueta del menú"
805
 
806
- #: ui/admin/setup-add.php:146
807
- msgid "<h6>Menu Label</h6> This is the label that will appear throughout the WordPress admin area for your settings."
808
- msgstr "<h6>Etiqueta del menú</h6> Esta es la etiqueta que aparecerá en todo el área de administración de Wordpress para tus ajustes."
809
 
810
- #: classes/PodsAdmin.php:1186 classes/PodsAdmin.php:1286
811
- #: ui/admin/setup-add.php:152
812
- msgid "Menu Location"
813
- msgstr "Localización del menú"
814
 
815
- #: ui/admin/setup-add.php:152
816
- msgid "<h6>Menu Location</h6> This is the location where the new settings page will be added in the WordPress Dashboard menu."
817
- msgstr "<h6>Localización del menú</h6> Esta es la localización donde se añadirá la nueva páginade ajustes en el menú del escritorio de Wordpress."
818
 
819
- #: ui/admin/setup-edit-field-fluid.php:87
820
- msgid "Related Table"
821
- msgstr "Tabla relacionada"
822
 
823
- #: ui/admin/setup-edit.php:15
824
- msgid "Extra fields were successfully enabled for this Custom Taxonomy."
825
- msgstr "Los campos extra fueron habilitados con éxito para esta Taxonomía personalizada."
826
 
827
- #: classes/PodsAdmin.php:1586 components/Pages.php:442
828
- msgid "Restrict access by Role?"
829
- msgstr "¿Restringir acceso mediante un Rol?"
830
 
831
- #: classes/PodsAdmin.php:1634 components/Pages.php:453
832
- msgid "Role(s) Allowed"
833
- msgstr "Rol(es) permitidos"
834
 
835
- #: ui/admin/setup-edit.php:92
836
- msgid "-- Select Table --"
837
- msgstr "-- Seleccionar tabla --"
838
 
839
- #: classes/PodsAdmin.php:902 ui/admin/setup-edit.php:247
840
- msgid "Manage Fields"
841
- msgstr "Gestionar campos"
842
 
843
- #: classes/PodsAdmin.php:905
844
- msgid "Labels"
845
- msgstr "Etiquetas"
846
 
847
- #: classes/PodsAdmin.php:908
848
- msgid "Admin UI"
849
- msgstr "Administración UI"
850
 
851
- #: classes/PodsAdmin.php:911
852
- msgid "Advanced Options"
853
- msgstr "Opciones avanzadas"
854
 
855
- #: classes/PodsAdmin.php:914
856
- msgid "Extra Fields"
857
- msgstr "Campos extra"
858
 
859
- #: classes/PodsAdmin.php:1123
860
- msgid "Allows permalinks to be prepended with your front base (example: if your permalink structure is /blog/, then your links will be: Unchecked->/news/, Checked->/blog/news/)"
861
- msgstr "Permite que los enlaces permanentes sean añadidos al base (ejemplo: si tu estructura de enlaces permanentes es /blog/, entonces tus enlaces tendrán la forma: Sin seleccionar->/noticias/, Seleccionado->/blog/noticias/)"
862
 
863
- #: classes/PodsAdmin.php:1274 classes/PodsAdmin.php:1328
864
- msgid "Admin UI Style"
865
- msgstr "Estilo de Administración UI"
866
 
867
- #: classes/PodsAdmin.php:1202 classes/PodsAdmin.php:1299
868
- msgid "Custom Menu Location"
869
- msgstr "Localización del menú personalizado"
870
 
871
- #: classes/PodsAdmin.php:979 classes/PodsAdmin.php:1347
872
- msgid "Parent Menu ID (optional)"
873
- msgstr "ID del menú padre (opcional)"
874
 
875
- #: classes/PodsAdmin.php:1361
876
- msgid "This is the icon shown to the left of the menu text for this content type."
877
- msgstr "Este es el icono mostrado a la izquierda del texto del menú para este tipo de contenido."
 
 
878
 
879
- #: classes/PodsAdmin.php:1367
880
- msgid "Header Icon"
881
- msgstr "Icono de cabecera"
882
 
883
- #: classes/PodsAdmin.php:1368
884
- msgid "This is the icon shown to the left of the heading text at the top of the manage pages for this content type."
885
- msgstr "Este es el icono mostrado a la izquierda del texto de cabecera en la parte de arriba de las páginas de gestión para este tipo de contenido."
886
 
887
- #: classes/PodsAdmin.php:1375
888
- msgid "Actions Available"
889
- msgstr "Acciones disponibles"
890
 
891
- #: classes/PodsAdmin.php:1391
892
- msgid "Reorder Field"
893
- msgstr "Reordenar campo"
894
 
895
- #: classes/PodsAdmin.php:1392
896
- msgid "This is the field that will be reordered on, it should be numeric."
897
- msgstr "Este es el campo mediante el cual será reordenado, debería ser de tipo numérico."
898
 
899
- #: classes/PodsAdmin.php:1398
900
- msgid "Admin Table Columns"
901
- msgstr "Columnas de la tabla de administración"
902
 
903
- #: classes/PodsAdmin.php:1406
904
- msgid "Search Filters"
905
- msgstr "Filtros de búsqueda"
906
 
907
  #: ui/admin/setup-edit.php:505
908
  msgid "Genesis: SEO"
@@ -916,6 +794,18 @@ msgstr "Genesis: Layouts"
916
  msgid "Genesis: Simple Sidebars"
917
  msgstr "Genesis: Barras laterales Simples"
918
 
 
 
 
 
 
 
 
 
 
 
 
 
919
  #: ui/admin/setup-edit.php:544
920
  msgid "Advanced Supports"
921
  msgstr "Soporte avanzado"
@@ -924,606 +814,403 @@ msgstr "Soporte avanzado"
924
  msgid "Comma-separated list of custom \"supports\" values to pass to register_post_type."
925
  msgstr "Lista separada por comas de valores de \"soportes\" personalizados para pasarlos a register_post_type"
926
 
927
- #: ui/admin/setup-edit.php:700
928
- msgid "No Hierarchical Fields found"
929
- msgstr "No se han encontrado campos jerárquicos"
930
-
931
- #: ui/admin/setup-edit.php:704
932
- msgid "Hierarchical Field"
933
- msgstr "Campo Jerárquico"
934
 
935
- #: ui/admin/setup-edit.php:797
936
- msgid "Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table."
937
- msgstr "Las taxonomías no permiten campos extra de forma nativa, pero Pods puede añadir esta funcionalidad para tí de manera sencilla. El almacenamiento basado en tablas operará de forma que cualquiera campo que crees para tu tipo de contenido se convierta en un campo en una tabla."
938
 
939
- #: ui/admin/setup-edit.php:799
940
- msgid "Enabling extra fields for this taxonomy will add a custom table into your database as <em>%s</em>."
941
- msgstr "Habilitando campos extra para esta taxonomía añadirá una tabla personalizada a tu base de datos como <em>%s</em>"
942
 
943
- #: ui/admin/setup-edit.php:804
944
- msgid "Enable Extra Fields"
945
- msgstr "Habilitar Campos Adicionales"
946
 
947
- #: ui/admin/shortcode.php:329
948
- msgid "Display a field from this item"
949
- msgstr "Mostrar un campo de este elemento"
950
 
951
- msgid "http://pods.io/"
952
- msgstr "http://pods.io/"
 
953
 
954
- msgid "http://pods.io/about/"
955
- msgstr "http://pods.io/about/"
 
956
 
957
- #: components/Templates/Templates.php:290
958
- #: ui/admin/upgrade/upgrade_2_0_0.php:148
959
- #: ui/admin/upgrade/upgrade_2_0_0.php:264
960
- msgid "Content"
961
- msgstr "Contenido"
962
 
963
- #: ui/fields/plupload.php:43
964
- msgid "Allowed Files"
965
- msgstr "Archivos Permitidos"
966
 
967
- #: components/Templates/Templates.php:440
968
- msgid "You do not have access to view this content."
969
- msgstr "Usted no posee permisos para ver este contenido."
970
 
971
- #: ui/fields/plupload.php:272
972
- msgid "There was an issue with the file upload, please try again."
973
- msgstr "Ocurrió un error al subir el archivo, por favor intente nuevamente."
974
 
975
- #: ui/fields/select2.php:158 ui/fields/select2.php:165
976
- msgid "Start Typing..."
977
- msgstr "Comience a escribir..."
978
 
979
- #: includes/general.php:131
980
- msgid "An unknown error has occurred"
981
- msgstr "Ocurrió un error desconocido"
982
 
983
- #: includes/updater.php:427
984
- msgid "The plugin has been updated, but could not be reactivated. Please reactivate it manually."
985
- msgstr "El plugin fue actualizado, pero no pudo ser reactivado. Por favor reactivelo manualmente."
 
986
 
987
- #: includes/general.php:368
988
- msgid "%1$s has been <strong>deprecated</strong> since Pods version %2$s! Use %3$s instead."
989
- msgstr "%1$s fue declarado <strong>obsoleto</strong> desde la version Pods %2$s! Use %3$."
990
 
991
- #: includes/updater.php:428
992
- msgid "Plugin reactivated successfully."
993
- msgstr "El plugin fue reactivado satisfactoriamente."
994
 
995
- #: includes/general.php:370
996
- msgid "%1$s has been <strong>deprecated</strong> since Pods version %2$s with no alternative available."
997
- msgstr "%1$s fue declarado <strong>obsoleto</strong> desde la version Pods %2$s no hay una alternativa disponible."
998
 
999
- msgid "Pods - Custom Content Types and Fields"
1000
- msgstr "Pods - Contenidos personalizados y Campos"
 
 
 
1001
 
1002
- #: includes/general.php:416 ui/admin/setup-edit.php:801
1003
- msgid "Find out more"
1004
- msgstr "Averiguar más"
1005
 
1006
- #: includes/data.php:1637
1007
- msgid "and"
1008
- msgstr "y"
1009
 
1010
- msgid "Pods is a framework for creating, managing, and deploying customized content types and fields"
1011
- msgstr "Pods es un framework para crear, administrar, e implementar tipos de contenido y campos personalizados"
 
 
 
 
 
 
 
 
1012
 
1013
- #: includes/general.php:845 includes/general.php:864 includes/general.php:884
1014
- msgid "NOTICE"
1015
- msgstr "ADVERTENCIA"
1016
 
1017
- msgid "Pods Framework Team"
1018
- msgstr "Equipo del Framework Pods"
 
1019
 
1020
- #: includes/general.php:845 includes/general.php:864 includes/general.php:884
1021
- msgid "requires a minimum of"
1022
- msgstr "requiere un minimo de"
1023
 
1024
- #: includes/general.php:846 includes/general.php:865 includes/general.php:885
1025
- msgid "to function. You are currently running"
1026
- msgstr "para funcionar. Usted esta utilizando actualmente"
1027
 
1028
- #: includes/general.php:847
1029
- msgid "Please upgrade your WordPress to continue."
1030
- msgstr "Por favor actualize su Wordpress para continuar."
1031
 
1032
- #: includes/general.php:866
1033
- msgid "Please upgrade (or have your Hosting Provider upgrade it for you) your PHP version to continue."
1034
- msgstr "Por favor actualize (o contáctese con su Proveedor de Hosting para que lo actualize por ustéd) su version de PHP para continuar."
1035
 
1036
- #: includes/general.php:886
1037
- msgid "Please upgrade (or have your Hosting Provider upgrade it for you) your MySQL version to continue."
1038
- msgstr "Por favor actualize (o contáctese con su Proveedor de Hosting para que lo actualize por ustéd) su version de MySQL para continuar."
1039
 
1040
- #: sql/upgrade/PodsUpgrade.php:128
1041
- msgid "Invalid upgrade process."
1042
- msgstr "Proceso de actualización inválido."
1043
 
1044
- #: sql/upgrade/PodsUpgrade.php:131
1045
- msgid "Invalid upgrade method."
1046
- msgstr "Método de actualización inválido."
1047
 
1048
- #: sql/upgrade/PodsUpgrade.php:134
1049
- msgid "Upgrade method not found."
1050
- msgstr "Método de actualización no encontrado."
1051
 
1052
- #: sql/upgrade/PodsUpgrade_2_0_0.php:22 sql/upgrade/PodsUpgrade_2_0_0.php:44
1053
- #: sql/upgrade/PodsUpgrade_2_0_0.php:66 sql/upgrade/PodsUpgrade_2_0_0.php:88
1054
- #: sql/upgrade/PodsUpgrade_2_0_0.php:110 sql/upgrade/PodsUpgrade_2_0_0.php:132
1055
- #: sql/upgrade/PodsUpgrade_2_0_0.php:154 sql/upgrade/PodsUpgrade_2_0_0.php:183
1056
- msgid "Table not found, it cannot be migrated"
1057
- msgstr "No se encontró la tabla, no se puede migrar"
1058
 
1059
- #: sql/upgrade/PodsUpgrade_2_0_0.php:178 sql/upgrade/PodsUpgrade_2_0_0.php:836
1060
- msgid "Invalid Pod."
1061
- msgstr "Pod inválido."
1062
 
1063
- #: sql/upgrade/PodsUpgrade_2_0_0.php:197
1064
- msgid "Pod not found, it cannot be migrated"
1065
- msgstr "No se encontró el Pod, no se puede migrar"
1066
 
1067
- #: sql/upgrade/PodsUpgrade_2_0_0.php:216
1068
- msgid "is a field in the table, but was not found in this pod - the field data will not be migrated."
1069
- msgstr "es un campo en la tabla, pero no se encuentra en este pod - los datos del campo no se migrarán."
1070
 
1071
- #: sql/upgrade/PodsUpgrade_2_0_0.php:221
1072
- msgid "is a field in this pod, but was not found in the table - the field data will not be migrated."
1073
- msgstr "es un campo en el pod, pero no se encuentra en la tabla - los datos del campo no se migrarán."
1074
 
1075
- #: sql/upgrade/PodsUpgrade_2_0_0.php:819
1076
- msgid "Input Helpers may not function in our new forms, we have imported and disabled them for your review."
1077
- msgstr "Los Helpers de Entrada de datos podrián no funcionar en los nuevos formularios, los hemos importado y deshabilitado para su revisión."
1078
 
1079
- #: components/Roles/ui/edit.php:47 ui/admin/form-settings.php:72
1080
- #: ui/admin/form.php:103
1081
- msgid "Save"
1082
- msgstr "Guardar"
1083
 
1084
- #: sql/upgrade/PodsUpgrade_2_0_0.php:841
1085
- msgid "Table not found, items cannot be migrated"
1086
- msgstr "No se encontró la tabla, los items no pueden ser migrados"
1087
 
1088
- #: sql/upgrade/PodsUpgrade_2_0_0.php:844
1089
- msgid "New table not found, items cannot be migrated"
1090
- msgstr "Nueva tabla no encontrada, los items no se pueden migrar"
 
1091
 
1092
- #: sql/upgrade/PodsUpgrade_2_0_0.php:847
1093
- msgid "Pod Types table not found, items cannot be migrated"
1094
- msgstr "La tabla Pod Types no fue encontrada, los items no se migrarán"
1095
 
1096
- #: classes/PodsUI.php:1510 classes/PodsUI.php:1638
1097
- msgid "<strong>Error:</strong> %s not found."
1098
- msgstr "<strong>Error:</strong> %s no encontrado."
1099
 
1100
- #: sql/upgrade/PodsUpgrade_2_0_0.php:850
1101
- msgid "Pod table not found, items cannot be migrated"
1102
- msgstr "La tabla Pod no fue encontrada, los items no se migrarán"
 
1103
 
1104
- #: classes/PodsUI.php:1776
1105
- msgid "<strong>Success!</strong> %s reordered successfully."
1106
- msgstr "<strong>Éxito!</strong> %s reordenados exitosamente."
1107
 
1108
- #: classes/PodsUI.php:1778
1109
- msgid "<strong>Error:</strong> %s has not been reordered."
1110
- msgstr "<strong>Error:</strong> %s no fueron reordenados."
1111
 
1112
- #: ui/admin/form.php:59 ui/admin/form.php:87 ui/admin/setup-edit.php:223
1113
- msgid "duplicated"
1114
- msgstr "duplicado"
1115
 
1116
- #: classes/PodsUI.php:1794 components/Roles/ui/edit.php:19
1117
- #: ui/admin/form-settings.php:41 ui/admin/form-settings.php:60
1118
- #: ui/admin/form.php:54 ui/admin/form.php:82 ui/admin/setup-edit.php:218
1119
- msgid "saved"
1120
- msgstr "guardado"
1121
 
1122
- #: ui/admin/form-settings.php:48 ui/admin/form.php:70
1123
- msgid "<strong>Error:</strong> %s %s successfully."
1124
- msgstr "<strong>Error:</strong> %s %s satisfactoriamente."
1125
 
1126
- #: classes/PodsUI.php:1796 components/Roles/ui/edit.php:22 ui/admin/form.php:57
1127
- #: ui/admin/form.php:85 ui/admin/setup-edit.php:221
1128
- msgid "created"
1129
- msgstr "creado"
1130
 
1131
- #: ui/admin/form-settings.php:63 ui/admin/form.php:94
1132
- msgid "<strong>Error:</strong> %s not %s."
1133
- msgstr "<strong>Error:</strong> %s no %s."
1134
-
1135
- #: classes/PodsUI.php:1891
1136
- msgid "<strong>Error:</strong> Invalid Configuration - Missing \"id\" definition."
1137
- msgstr "<strong>Error:</strong> Configuración Invalida - Falta la definición \"id\"."
1138
-
1139
- #: ui/admin/form.php:259 ui/admin/view.php:105
1140
- msgid "Navigate"
1141
- msgstr "Navegar"
1142
-
1143
- #: ui/admin/setup-add.php:23 ui/admin/setup-edit.php:817
1144
- msgid "Back to Manage"
1145
- msgstr "Volver a Administrar"
1146
-
1147
- #: classes/PodsUI.php:2621
1148
- msgid "Reset Filters"
1149
- msgstr "Reiniciar Filtros"
1150
-
1151
- #: classes/PodsUI.php:2644
1152
- msgid "Bulk Actions"
1153
- msgstr "Acciones Globales"
1154
-
1155
- #: ui/admin/form.php:358
1156
- msgid "Enter name here"
1157
- msgstr "Ingrese su nombre aqui"
1158
-
1159
- #: classes/PodsUI.php:2660 classes/PodsUI.php:3757
1160
- msgid "Apply"
1161
- msgstr "Aplicar"
1162
-
1163
- #: ui/admin/form.php:412 ui/admin/upgrade/upgrade_2_0_0.php:85
1164
- #: ui/admin/upgrade/upgrade_2_0_0.php:201 ui/admin/view.php:188
1165
- msgid "Fields"
1166
- msgstr "Campos"
1167
-
1168
- #: classes/PodsUI.php:2680
1169
- msgid "Update Order"
1170
- msgstr "Orden de Actualización"
1171
-
1172
- #: ui/admin/help.php:3
1173
- msgid "Pods Help"
1174
- msgstr "Ayuda de Pods"
1175
-
1176
- #: classes/PodsUI.php:2681 ui/admin/setup-edit-field-fluid.php:190
1177
- msgid "Cancel"
1178
- msgstr "Cancelar"
1179
-
1180
- #: ui/admin/settings-reset.php:46
1181
- msgid "Delete Pods 1.x data"
1182
- msgstr "Eliminar datos de Pods 1.x"
1183
-
1184
- #: classes/PodsAdmin.php:1385 classes/PodsUI.php:2699
1185
- #: components/Migrate-Packages/ui/wizard.php:69
1186
- msgid "Export"
1187
- msgstr "Exportar"
1188
-
1189
- #: ui/admin/settings-reset.php:48
1190
- msgid "This will delete all of your Pods 1.x data, it's only recommended if you've verified your data has been properly migrated into Pods 2.x."
1191
- msgstr "Esto borrará todos tus datos de Pods 1.x, solo está recomendado si has verificado que tus datos han sido migrados correctamente a Pods 2.x."
1192
-
1193
- #: classes/PodsUI.php:2725
1194
- msgid "Please use the search filter(s) above to display data"
1195
- msgstr "Por favor utilize el/los filtro(s) de búsqueda anterior mostrar los datos"
1196
-
1197
- #: ui/admin/settings-reset.php:51
1198
- msgid ""
1199
- "Are you sure you want to do this?\n"
1200
- "\n"
1201
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 1.x, resetting it to a clean first install."
1202
- msgstr ""
1203
- "¿Estás seguro de que quieres hacer esto?\n"
1204
- "\n"
1205
- "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos de la versión 1.x, reseteándolo a una primera instalación."
1206
-
1207
- #: classes/PodsUI.php:2725
1208
- msgid "or click on an Export to download a full copy of the data"
1209
- msgstr "o haz clic en una Exportación para bajar una copia completa de los datos"
1210
-
1211
- #: ui/admin/settings-reset.php:52
1212
- msgid "Delete Pods 1.x settings and data"
1213
- msgstr "Eliminar la configuración y los datos de Pods 1.x"
1214
-
1215
- #: classes/PodsUI.php:2827
1216
- msgid "Reset"
1217
- msgstr "Reiniciar"
1218
-
1219
- #: ui/admin/settings-reset.php:57
1220
- msgid "Reset Pods 2.x"
1221
- msgstr "Reiniciar Pods 2.x"
1222
-
1223
- #: classes/PodsUI.php:2858 classes/PodsUI.php:2859 classes/PodsUI.php:2867
1224
- #: classes/PodsUI.php:2921 classes/PodsUI.php:2974
1225
- msgid "Advanced Filters"
1226
- msgstr "Filtros Avanzados"
1227
-
1228
- #: ui/admin/settings-reset.php:59
1229
- msgid "This does not delete any Pods 1.x data, it simply resets the Pods 2.x settings, removes all of it's data, and performs a fresh install."
1230
- msgstr "Esto no borra ningún dato de Pods 1.x, simplemente resetea los ajustes de Pods 2.x, borra todos sus datos y ejecuta una nueva instalación."
1231
-
1232
- #: classes/PodsUI.php:2868
1233
- msgid "Add Filter"
1234
- msgstr "Agregar Filtros"
1235
-
1236
- #: ui/admin/settings-reset.php:60 ui/admin/settings-reset.php:72
1237
- #: ui/admin/settings-reset.php:85 ui/admin/settings-reset.php:97
1238
- msgid "<strong>Please Note:</strong> This does not remove any items from any Post Types, Taxonomies, Media, Users, or Comments data you have added/modified."
1239
- msgstr "<strong>Preste atención:</strong> Esto no borra ningún elemento de ningún dato de Tipo de Post, Taxonomía, Media, Usuarios o Comentarios que hayas podido añadir o modificar."
1240
-
1241
- #: classes/PodsUI.php:2926
1242
- msgid "Remove Filter"
1243
- msgstr "Eliminar Filtro"
1244
-
1245
- #: ui/admin/settings-reset.php:63
1246
- msgid ""
1247
- "Are you sure you want to do this?\n"
1248
- "\n"
1249
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 2.x, resetting it to a clean first install."
1250
- msgstr ""
1251
- "¿Estás seguro de que quieres hacer esto?\n"
1252
- "\n"
1253
- "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos de Pods 2.x, reseteándolo todo a una nueva instalación."
1254
-
1255
- #: classes/PodsUI.php:3037 classes/PodsUI.php:3069 classes/PodsUI.php:3104
1256
- #: classes/PodsUI.php:3129
1257
- msgid "Clear"
1258
- msgstr "Limpiar"
1259
-
1260
- #: ui/admin/settings-reset.php:64
1261
- msgid "Reset Pods 2.x settings and data"
1262
- msgstr "Reiniciar configuración y datos de Pods 2.x"
1263
-
1264
- #: classes/PodsUI.php:3148
1265
- msgid "Search Text"
1266
- msgstr "Buscar Texto"
1267
-
1268
- #: ui/admin/settings-reset.php:69 ui/admin/settings-reset.php:76
1269
- msgid "Deactivate and Delete Pods 2.x data"
1270
- msgstr "Desactivar y Eliminar datos de Pods 2.x"
1271
-
1272
- #: classes/PodsUI.php:3208
1273
- msgid "No %s found"
1274
- msgstr "No se encontraron %s"
1275
-
1276
- #: ui/admin/settings-reset.php:71
1277
- msgid "This will delete Pods 2.x settings, data, and deactivate itself once done. Your database will be as if Pods 2.x never existed."
1278
- msgstr "Esto borrará todos los ajustes y datos de Pods 2.x y se desactivará una vez terminado. Tu base de datos estará como si Pods 2.x nunca hubiese existido."
1279
-
1280
- #: classes/PodsUI.php:3236
1281
- msgid "<strong>Error:</strong> Invalid Configuration - Missing \"fields\" definition."
1282
- msgstr "<strong>Error:</strong> Configuración Inválida - Definición de \"campos\" perdida."
1283
-
1284
- #: ui/admin/settings-reset.php:75
1285
- msgid ""
1286
- "Are you sure you want to do this?\n"
1287
- "\n"
1288
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 2.x with no turning back."
1289
- msgstr ""
1290
- "¿Estás seguro de que deseas hacer esto?\n"
1291
- "\n"
1292
- "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos acerca de Pods 2.x sin vuelta atrás."
1293
-
1294
- #: classes/PodsUI.php:3500 classes/PodsUI.php:3519
1295
- msgid "View this item"
1296
- msgstr "Ver este item"
1297
-
1298
- #: ui/admin/settings-reset.php:82
1299
- msgid "Reset Pods"
1300
- msgstr "Reiniciar Pods"
1301
 
1302
- #: classes/PodsUI.php:3491 classes/PodsUI.php:3528
1303
- msgid "Edit this item"
1304
- msgstr "Editar este item"
1305
 
1306
- #: ui/admin/settings-reset.php:84
1307
- msgid "This will reset Pods settings, removes all of it's data, and performs a fresh install."
1308
- msgstr "Esto reseteará los ajustes de Pods, borrará todos sus datos y creará una nueva instalación."
 
 
 
1309
 
1310
- #: classes/PodsUI.php:3537
1311
- msgid "Duplicate this item"
1312
- msgstr "Duplicar este item"
 
 
 
 
1313
 
1314
- #: ui/admin/settings-reset.php:88
1315
- msgid ""
1316
- "Are you sure you want to do this?\n"
1317
- "\n"
1318
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds Pods, resetting it to a clean, first install."
1319
  msgstr ""
1320
- "¿Estás seguro de que deseas hacer esto?\n"
1321
- "\n"
1322
- "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos de Pods, reseteándolo a una nueva primera instalación."
1323
-
1324
- #: classes/PodsUI.php:3546
1325
- msgid "Delete this item"
1326
- msgstr "Eliminar este item"
1327
 
1328
- #: ui/admin/settings-reset.php:89
1329
- msgid "Reset Pods settings and data"
1330
- msgstr "Reiniciar configuración y datos de Pods"
1331
-
1332
- #: classes/PodsUI.php:3546
1333
- msgid "You are about to permanently delete this item\\n Choose \\'Cancel\\' to stop, \\'OK\\' to delete."
1334
- msgstr "Estás a punto de borrar permanentemente este item\\n Elige \\'Cancelar\\' para parar, \\'Aceptar\\' para borrar."
1335
 
1336
- #: ui/admin/settings-reset.php:94 ui/admin/settings-reset.php:101
1337
- msgid "Deactivate and Delete Pods data"
1338
- msgstr "Desactivar y Eliminar datos de Pods"
 
 
1339
 
1340
- #: classes/PodsUI.php:3556
1341
- msgid "Enable"
1342
- msgstr "Habilitar"
1343
 
1344
- #: ui/admin/settings-reset.php:96
1345
- msgid "This will delete Pods settings, data, and deactivate itself once done. Your database will be as if Pods never existed."
1346
- msgstr "Esto borrará ajustes y datos y desactivará Pods una vez haya acabado. Tu base de datos quedará como si Pods nunca hubiese existido."
 
1347
 
1348
- #: classes/PodsUI.php:3557
1349
- msgid "Disable"
1350
- msgstr "Deshabilitar"
 
 
1351
 
1352
- #: ui/admin/settings-reset.php:100
1353
- msgid ""
1354
- "Are you sure you want to do this?\n"
1355
- "\n"
1356
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds with no turning back."
1357
  msgstr ""
1358
- "¿Estás seguro de que deseas hacer esto?\n"
1359
- "\n"
1360
- "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos y no hay vuelta atrás."
1361
-
1362
- #: classes/PodsUI.php:3726 classes/PodsUI.php:3744
1363
- msgid "Show on screen"
1364
- msgstr "Mostrar en pantalla"
1365
-
1366
- #: ui/admin/settings-settings.php:1
1367
- msgid "The following are settings provided for advanced site configurations."
1368
- msgstr "Los siguientes son ajustes establecidos para configuraciones de sitios avanzados."
1369
-
1370
- #: ui/admin/settings-tools.php:21
1371
- msgid "Force an update of this beta from GitHub"
1372
- msgstr "Forzar una actualización de esta beta desde GitHub"
1373
-
1374
- #: classes/PodsUI.php:3857
1375
- msgid "Go to the first page"
1376
- msgstr "Ir a la primer página"
1377
-
1378
- #: ui/admin/settings-tools.php:23
1379
- msgid "This tool lets you update your Pods installation to the latest alpha/beta/release candidate, usually only when you've been instructed to do so."
1380
- msgstr "Esta herramienta te permite actualizar tu instalación de Pods a la última alpha/beta/candidata a release, normalmente solo cuando te han indicado que lo hagas. "
1381
-
1382
- #: classes/PodsUI.php:3858
1383
- msgid "Go to the previous page"
1384
- msgstr "Ir a la página anterior"
1385
-
1386
- #: ui/admin/settings-tools.php:33
1387
- msgid "Force Plugin Refresh/Update from GitHub"
1388
- msgstr "Forzar Refresco/Actualización del plugin desde GitHub"
1389
-
1390
- #: classes/PodsUI.php:3862
1391
- msgid "Current page"
1392
- msgstr "Pagina actual"
1393
-
1394
- #: ui/admin/settings-tools.php:40 ui/admin/settings-tools.php:45
1395
- msgid "Clear Pods Cache"
1396
- msgstr "Limpiar Cache de Pods"
1397
-
1398
- #: classes/PodsUI.php:3862 classes/PodsUI.php:3879
1399
- msgid "of"
1400
- msgstr "de"
1401
-
1402
- #: ui/admin/settings-tools.php:42
1403
- msgid "This tool will clear all of the transients/cache that are used by Pods. "
1404
- msgstr "Esta herramienta borrará toda la caché/transients que son usados por Pods."
1405
-
1406
- #: classes/PodsUI.php:3883
1407
- msgid "Go to the next page"
1408
- msgstr "Ir a la página siguiente"
1409
-
1410
- #: ui/admin/settings-tools.php:50
1411
- msgid "Debug Information"
1412
- msgstr "Información de depuración"
1413
-
1414
- #: classes/PodsUI.php:3884
1415
- msgid "Go to the last page"
1416
- msgstr "Ir a la última página"
1417
-
1418
- #: classes/PodsAdmin.php:1956 ui/admin/settings.php:11
1419
- msgid "Tools"
1420
- msgstr "Herramientas"
1421
-
1422
- #: classes/fields/avatar.php:66
1423
- msgid "Avatar Uploader"
1424
- msgstr "Cargador de Avatar"
1425
-
1426
- #: ui/admin/settings.php:12
1427
- msgid "Cleanup &amp; Reset"
1428
- msgstr "Limpiar &amp; Reiniciar"
1429
 
1430
- #: classes/fields/avatar.php:72 classes/fields/file.php:93
1431
- msgid "Attachments (WP Media Library)"
1432
- msgstr "Adjuntos (Libreria Multimedia WP)"
1433
-
1434
- #: ui/admin/setup-add.php:16
1435
- msgid "Add New Pod"
1436
- msgstr "Agregar Nuevo Pod"
1437
-
1438
- #: classes/fields/avatar.php:73 classes/fields/file.php:94
1439
- msgid "Plupload"
1440
- msgstr "Plupload"
1441
-
1442
- #: ui/admin/setup-add.php:35
1443
- msgid "Create or Extend"
1444
- msgstr "Crear o Ampliar"
1445
-
1446
- #: classes/fields/avatar.php:79 classes/fields/file.php:100
1447
- msgid "Attachments Default Tab"
1448
- msgstr "Tab de archivos adjuntos por defecto"
1449
 
1450
- #: ui/admin/setup-add.php:39
1451
- msgid "Configure"
1452
- msgstr "Configurar"
 
 
1453
 
1454
- #: classes/fields/avatar.php:85 classes/fields/avatar.php:120
1455
- #: classes/fields/file.php:106 classes/fields/file.php:195
1456
- msgid "Upload File"
1457
- msgstr "Subir Archivo"
1458
 
1459
- #: classes/fields/avatar.php:86 classes/fields/avatar.php:121
1460
- #: classes/fields/file.php:107 classes/fields/file.php:196
1461
- msgid "Media Library"
1462
- msgstr "Libreria Multimedia"
1463
 
1464
- #: classes/fields/avatar.php:90 classes/fields/file.php:127
1465
- msgid "Restrict File Size"
1466
- msgstr "Restringir tamaño del Archivo"
1467
 
1468
- #: ui/admin/setup-add.php:57
1469
- msgid "Create New"
1470
- msgstr "Crear Nuevo"
1471
 
1472
  #: classes/fields/boolean.php:56
1473
  msgid "Checkbox"
1474
  msgstr "Casilla de Verificación"
1475
 
1476
- #: ui/admin/setup-add.php:66
1477
- msgid "Extend Existing"
1478
- msgstr "Ampliar Existente"
1479
 
1480
- #: classes/fields/boolean.php:57 classes/fields/pick.php:121
 
 
 
 
1481
  msgid "Radio Buttons"
1482
  msgstr "Botones de Opción"
1483
 
1484
- #: ui/admin/setup-add.php:68
1485
- msgid "Extend any existing content type within WordPress, including <strong>Post Types</strong> (Posts, Pages, etc), <strong>Taxonomies</strong> (Categories, Tags, etc), <strong>Media</strong>, <strong>Users</strong>, or <strong>Comments</strong>."
1486
- msgstr "Amplía cualquier tipo de contenido existente en WordPress, incluyendo <strong>Tipos de Post</strong> (Entradas, Páginas, etc), <strong>Taxonomías</strong> (Categorías, Etiquetas, etc), <strong>Media</strong>, <strong>Usuarios</strong>, o <strong>Comentarios</strong>."
1487
 
1488
- #: classes/fields/boolean.php:58 classes/fields/pick.php:120
 
 
 
 
1489
  msgid "Drop Down"
1490
  msgstr "Desplegable"
1491
 
 
 
 
 
 
 
 
 
 
 
1492
  #: classes/fields/boolean.php:63
1493
  msgid "Yes Label"
1494
  msgstr "Etiqueta Si"
1495
 
1496
- #: ui/admin/setup-add.php:81
1497
- msgid "Create a New Content Type"
1498
- msgstr "Crear nuevo Tipo de Contenido"
1499
-
1500
- #: classes/PodsUI.php:2561 classes/PodsUI.php:2909 classes/PodsUI.php:3094
1501
- #: classes/fields/boolean.php:64 classes/fields/boolean.php:243
1502
- #: classes/fields/boolean.php:267
1503
- msgid "Yes"
1504
- msgstr "Si"
1505
 
1506
- #: ui/admin/setup-add.php:86 ui/admin/setup-add.php:226
1507
- msgid "Content Type"
1508
- msgstr "Tipo de Contenido"
 
1509
 
1510
  #: classes/fields/boolean.php:68
1511
  msgid "No Label"
1512
  msgstr "Etiqueta No"
1513
 
1514
- #: ui/admin/setup-add.php:86 ui/admin/setup-add.php:226
1515
- msgid "<h6>Content Types</h6> There are many content types to choose from, we have put together a comparison between them all to help you decide what fits your needs best."
1516
- msgstr "<h6>Tipos de contenido</h6> Hay otros tipos de contenido donde elegir, hemos hecho una tabla de comparación que puede ayudarte a saber cual es el que mejor se adapta a tus necesidades."
1517
 
1518
- #: classes/PodsUI.php:2562 classes/PodsUI.php:2910 classes/PodsUI.php:3095
1519
- #: classes/fields/boolean.php:69 classes/fields/boolean.php:245
1520
- #: classes/fields/boolean.php:268
1521
- msgid "No"
1522
- msgstr "No"
 
1523
 
1524
- #: ui/admin/setup-add.php:89
1525
- msgid "Custom Post Type (like Posts or Pages)"
1526
- msgstr "Tipo de Post Personalizado (como Entradas o Páginas)"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1527
 
1528
  #: classes/fields/code.php:68 classes/fields/html.php:58
1529
  #: classes/fields/paragraph.php:67 classes/fields/text.php:67
@@ -1531,9 +1218,13 @@ msgstr "Tipo de Post Personalizado (como Entradas o Páginas)"
1531
  msgid "Output Options"
1532
  msgstr "Opciones de Salida"
1533
 
1534
- #: ui/admin/setup-add.php:90
1535
- msgid "Custom Taxonomy (like Categories or Tags)"
1536
- msgstr "Taxonomía Personalizada (como Categorías o Etiquetas)"
 
 
 
 
1537
 
1538
  #: classes/fields/code.php:71 classes/fields/html.php:103
1539
  #: classes/fields/paragraph.php:112 classes/fields/text.php:70
@@ -1541,9 +1232,16 @@ msgstr "Taxonomía Personalizada (como Categorías o Etiquetas)"
1541
  msgid "Allow Shortcodes?"
1542
  msgstr "Permitir Shortcodes?"
1543
 
1544
- #: components/Advanced-Content-Types.php:40
1545
- msgid "Advanced Content Type (separate from WP, blank slate, in its own table)"
1546
- msgstr "Tipo de Contenido Avanzado (separado de WP, página en blanco, en su propia tabla)"
 
 
 
 
 
 
 
1547
 
1548
  #: classes/fields/code.php:79 classes/fields/currency.php:185
1549
  #: classes/fields/email.php:67 classes/fields/number.php:113
@@ -1553,438 +1251,425 @@ msgstr "Tipo de Contenido Avanzado (separado de WP, página en blanco, en su pro
1553
  msgid "Maximum Length"
1554
  msgstr "Longitud Máxima"
1555
 
1556
- #: ui/admin/setup-add.php:109 ui/admin/setup-add.php:305
1557
- msgid "Enable Extra Fields?"
1558
- msgstr "Habilitar Campos Extras?"
1559
-
1560
- #: classes/fields/color.php:161 classes/fields/password.php:152
1561
- #: classes/fields/text.php:204
1562
- msgid "This field is required."
1563
- msgstr "Este campo es obligatorio."
1564
-
1565
- #: ui/admin/setup-add.php:109 ui/admin/setup-add.php:305
1566
- msgid "<h6>Storage Types</h6> Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table."
1567
- msgstr "<h6>Tipos de almacenamiento</h6> Las Taxonomías no soportan campos extra de forma nativa, pero Pods puede añadir esta funcionalidad para tí fácilmente. Almacenamiento basado en Tablas operará de tal forma que cada campo que crees para tu tipo de contenido se convertirá en un campo en una tabla."
1568
-
1569
- #: classes/fields/color.php:164
1570
- msgid "Invalid value provided for this field."
1571
- msgstr "Se asigno un valor inválido para este campo."
1572
 
1573
- #: ui/admin/setup-add.php:112 ui/admin/setup-add.php:308
1574
- msgid "Do not enable extra fields to be added"
1575
- msgstr "No habilitar agregar campos extras"
 
1576
 
1577
- #: classes/fields/color.php:168
1578
- msgid "Invalid Hex Color value provided for this field."
1579
- msgstr "El Valor Hexadecimal de Color proporcionado para este campo no es válido."
 
 
 
 
1580
 
1581
- #: ui/admin/setup-add.php:113 ui/admin/setup-add.php:309
1582
- msgid "Enable extra fields for this Taxonomy (Table Based)"
1583
- msgstr "Habilitar campos extra para esta Taxonomía (Basado en Tabla)"
1584
 
1585
- #: classes/fields/currency.php:110
1586
- msgid "Currency Sign"
1587
- msgstr "Simbolo de Moneda"
1588
 
1589
- #: ui/admin/setup-add.php:132
1590
- msgid "Plural Label"
1591
- msgstr "Etiqueta en plural"
 
1592
 
1593
- #: classes/fields/currency.php:137
1594
- msgid "Currency Placement"
1595
- msgstr "Ubicación de Moneda"
1596
 
1597
- #: ui/admin/setup-add.php:132
1598
- msgid "<h6>Plural Label</h6> This is the label for more than 1 item (Plural) that will appear throughout the WordPress admin area for managing the content."
1599
- msgstr "<h6>Etiqueta plural</h6> Esta es la etiqueta para más de un item (Plural) que aparecerá en toda el área de administración de Wordpress para la gestión del contenido."
1600
 
1601
- #: ui/admin/setup-add.php:126 ui/admin/setup-edit.php:334
1602
- msgid "Singular Label"
1603
- msgstr "Etiqueta en singular"
1604
 
1605
- #: ui/admin/setup-add.php:126
1606
- msgid "<h6>Singular Label</h6> This is the label for 1 item (Singular) that will appear throughout the WordPress admin area for managing the content."
1607
- msgstr "<h6>Etiqueta singular</h6> Esta es la etiqueta para un item (Singular) que aparecerá en toda el área de administración de Wordpress para la gestión del contenido."
1608
 
1609
- #: classes/PodsAdmin.php:1477 classes/PodsAdmin.php:1959
1610
- #: ui/admin/setup-add.php:166 ui/admin/setup-add.php:323
1611
- msgid "Advanced"
1612
- msgstr "Avanzado"
1613
 
1614
- #: classes/fields/currency.php:148 classes/fields/number.php:77
1615
- #: classes/fields/phone.php:67 classes/fields/pick.php:112
1616
- #: classes/fields/pick.php:128 classes/fields/website.php:67
1617
- msgid "Format"
1618
- msgstr "Formato"
1619
 
1620
- #: ui/admin/setup-add.php:177 ui/admin/setup-add.php:188
1621
- msgid "<h6>Pod Indentifier</h6> This is different than the labels users will see in the WordPress admin areas, it is the name you will use to programatically reference this object throughout your theme, WordPress, and other PHP."
1622
- msgstr "<h6>Identificador Pod</h6> Este es diferente de las etiquetas que los usuarios verán en las áreas de administración de Wordpress, es el nombre que utilizarás ala hora de programar para hacer referencia a este objeto en todo tu template, WordPress, y otro PHP."
1623
 
1624
- #: classes/fields/currency.php:152 classes/fields/number.php:81
1625
- msgid "Localized Default"
1626
- msgstr "Localizado por defecto"
1627
 
1628
- #: ui/admin/setup-add.php:198 ui/admin/setup-add.php:328
1629
- msgid "<h6>Storage Types</h6> Table based storage will operate in a way where each field you create for your content type becomes a field in a table. Meta based storage relies upon the WordPress meta storage table for all field data."
1630
- msgstr "<h6>Tipos de alamacenamiento</h6> Almacenamiento basado en Tabla se comportará de tal forma que cada campo que crees para tu tipo de contenido se convertirá en un campo de una tabla. Almacenamiento basado en Meta se basa en el tabla de almacenamiento de metas que usa Wordpress para todos los campos de datos."
1631
 
1632
- #: classes/fields/currency.php:162 classes/fields/number.php:90
1633
- msgid "Decimals"
1634
- msgstr "Decimales"
1635
 
1636
- #: ui/admin/setup-add.php:201 ui/admin/setup-add.php:331
1637
- msgid "Meta Based (WP Default)"
1638
- msgstr "Basado en Metas (Opción por defecto en WP)"
1639
 
1640
- #: classes/fields/currency.php:503 classes/fields/number.php:350
1641
- msgid "%s is not numeric"
1642
- msgstr "%s no es numérico"
1643
 
1644
- #: ui/admin/setup-add.php:202 ui/admin/setup-add.php:332
1645
- msgid "Table Based"
1646
- msgstr "Basado en Tablas"
1647
 
1648
- #: classes/fields/date.php:67 classes/fields/datetime.php:67
1649
- msgid "Date Format"
1650
- msgstr "Formato de Fecha"
1651
 
1652
- #: ui/admin/setup-add.php:217
1653
- msgid "Extending an existing Content Type allows you to add fields to it and take advantage of the Pods architecture for management and optionally for theming."
1654
- msgstr "Ampliar un Tipo de contenido existente te permite añadirle campos y aprovecharse de la arquitectura de Pods para su gestión y opcionalmente para crear temas."
1655
 
1656
- #: classes/fields/date.php:83 classes/fields/datetime.php:124
1657
- #: classes/fields/time.php:104
1658
- msgid "Allow empty value?"
1659
- msgstr "¿Permitir valor vacío?"
1660
 
1661
- #: ui/admin/setup-add.php:220
1662
- msgid "Extend an Existing Content Type"
1663
- msgstr "Ampliar Tipo de Contenido existente"
1664
 
1665
- #: classes/fields/date.php:88 classes/fields/datetime.php:129
1666
- #: classes/fields/email.php:73 classes/fields/phone.php:98
1667
- #: classes/fields/time.php:109 classes/fields/website.php:86
1668
- msgid "Enable HTML5 Input Field?"
1669
- msgstr "¿Habilitar Campo HTML5?"
1670
 
1671
- #: ui/admin/setup-add.php:229
1672
- msgid "Post Types (Posts, Pages, etc..)"
1673
- msgstr "Tipos de Post (Entradas, Páginas, etc..)"
1674
 
1675
- #: classes/fields/datetime.php:84 classes/fields/time.php:66
1676
- msgid "Time Format Type"
1677
- msgstr "Tipo Formato de Tiempo"
1678
 
1679
- #: components/Table-Storage.php:47
1680
- msgid "Taxonomies (Categories, Tags, etc..)"
1681
- msgstr "Taxonomías (Categorías, Etiquetas, etc...)"
1682
 
1683
- #: classes/fields/datetime.php:89 classes/fields/time.php:70
1684
- msgid "12 hour"
1685
- msgstr "12 horas"
1686
 
1687
- #: classes/fields/pick.php:444 ui/admin/setup-add.php:231
1688
- msgid "Media"
1689
- msgstr "Media"
1690
 
1691
- #: classes/fields/datetime.php:90 classes/fields/time.php:71
1692
- msgid "24 hour"
1693
- msgstr "24 horas"
1694
 
1695
- #: classes/fields/pick.php:450 ui/admin/setup-add.php:233
1696
- #: ui/admin/setup-edit.php:483
1697
- msgid "Comments"
1698
- msgstr "Comentarios"
1699
 
1700
- #: classes/fields/datetime.php:95 classes/fields/datetime.php:114
1701
- #: classes/fields/time.php:76 classes/fields/time.php:94
1702
- msgid "Time Format"
1703
- msgstr "Formato horario"
1704
 
1705
- #: ui/admin/setup-add.php:272 ui/admin/setup-edit.php:856
1706
- msgid "Post Type"
1707
- msgstr "Tipo de entrada"
1708
 
1709
- #: ui/admin/setup-add.php:272
1710
- msgid "<h6>Post Types</h6> WordPress can hold and display many different types of content. Internally, these are all stored in the same place, in the wp_posts table. These are differentiated by a column called post_type."
1711
- msgstr "<h6>Tipos de entrada</h6> WordPress puede guardar y mostrar un buen número de tipos de contenido diferentes. Internamente, éstos son guardados en el mismo sitio, en la tabla wp_posts. Estos son diferenciados por una columna llamada post_type."
1712
 
1713
- #: ui/admin/setup-add.php:295 ui/admin/setup-edit.php:857
1714
- msgid "Taxonomy"
1715
- msgstr "Taxonomía"
1716
 
1717
- #: classes/fields/pick.php:106
1718
- msgid "Single Select"
1719
- msgstr "Selección única"
1720
 
1721
- #: ui/admin/setup-add.php:295
1722
- msgid "<h6>Taxonomies</h6> A taxonomy is a way to group Post Types."
1723
- msgstr "<h6>Taxonomías</h6> Una taxonomía es una forma de agrupar Tipos de entrada."
 
1724
 
1725
- #: classes/fields/pick.php:107
1726
- msgid "Multiple Select"
1727
- msgstr "Selección múltiple"
1728
 
1729
- #: ui/admin/setup-edit-field-fluid.php:8 ui/admin/setup-edit-field.php:48
1730
- msgid "Move"
1731
- msgstr "Mover"
 
 
1732
 
1733
- #: classes/fields/file.php:87
1734
- msgid "File Uploader"
1735
- msgstr "Gestor de subida de archivos"
1736
 
1737
- #: ui/admin/setup-edit-field-fluid.php:11
1738
- #: ui/admin/setup-edit-field-fluid.php:17 ui/admin/setup-edit-field.php:51
1739
- #: ui/admin/setup-edit-field.php:67
1740
- msgid "Edit this field"
1741
- msgstr "Editar este campo"
1742
 
1743
- #: classes/fields/file.php:111
1744
- msgid "Editable Title"
1745
- msgstr "Título editable"
1746
 
1747
- #: ui/admin/setup-edit-field-fluid.php:12
1748
- msgid "New Field"
1749
- msgstr "Nuevo campo"
1750
 
1751
- #: ui/admin/setup-edit-field-fluid.php:20 ui/admin/setup-edit-field.php:70
1752
- msgid "Duplicate this field"
1753
- msgstr "Duplicar este campo"
1754
 
1755
- #: classes/fields/file.php:133
1756
- msgid "Restrict File Types"
1757
- msgstr "Restringir Tipos de fichero"
1758
 
1759
- #: ui/admin/setup-edit-field-fluid.php:23 ui/admin/setup-edit-field.php:73
1760
- msgid "Delete this field"
1761
- msgstr "Borrar este campo"
1762
 
1763
- #: classes/PodsAdmin.php:1475
1764
- msgid "Basic"
1765
- msgstr "Básico"
 
 
1766
 
1767
- #: classes/PodsAdmin.php:1476
1768
- msgid "Additional Field Options"
1769
- msgstr "Opciones de campos adicionales"
1770
 
1771
- #: classes/fields/file.php:143
1772
- msgid "Any Type (no restriction)"
1773
- msgstr "Cualquier tipo (sin restricción)"
1774
 
 
 
1775
  #: ui/admin/setup-edit-field-fluid.php:66
1776
- msgid "You will use this name to programatically reference this field throughout WordPress"
1777
- msgstr "Usarás este nombre para, por programación, hacer referencia a este campo a través de WordPress"
1778
 
1779
- #: classes/fields/file.php:144
1780
- msgid "Other (customize allowed extensions)"
1781
- msgstr "Otros (personalizar extensiones permitidas)"
1782
 
1783
- #: ui/admin/setup-edit-field-fluid.php:74
1784
- msgid "Field Type"
1785
- msgstr "Tipo de archivo"
1786
 
1787
- #: classes/fields/file.php:150
1788
- msgid "Allowed File Extensions"
1789
- msgstr "Extensiones de archivo permitidas"
1790
 
1791
- #: ui/admin/setup-edit-field-fluid.php:79
1792
- msgid "Related To"
1793
- msgstr "Relacionado con"
1794
 
1795
- #: classes/fields/file.php:151
1796
- msgid "Separate file extensions with a comma (ex. jpg,png,mp4,mov)"
1797
- msgstr "Separa extensiones de fichero con una coma (xej. jpg,png,mp4,mov)"
1798
 
1799
- #: ui/admin/setup-edit-field-fluid.php:83
1800
- msgid "Custom Defined Options"
1801
- msgstr "Opciones personalizadas definidas"
 
1802
 
1803
- #: classes/fields/html.php:61 classes/fields/paragraph.php:70
1804
- #: classes/fields/text.php:76
1805
- msgid "Allow HTML?"
1806
- msgstr "¿Permitir HTML?"
1807
 
1808
- #: ui/admin/setup-edit-field-fluid.php:83
1809
- msgid "One option per line, use <em>value|Label</em> for separate values and labels"
1810
- msgstr "Una opción por línea, usa <em>valorEtiqueta</em> para separar valores y etiquetas"
1811
 
1812
- #: classes/fields/html.php:67 classes/fields/paragraph.php:76
1813
- #: classes/fields/wysiwyg.php:94
1814
- msgid "Enable oEmbed?"
1815
- msgstr "¿Habilitar oEmbed?"
1816
 
1817
- #: ui/admin/setup-edit-field-fluid.php:91
1818
- msgid "Bi-directional Field"
1819
- msgstr "Campo bidireccional"
1820
 
1821
- #: classes/fields/html.php:71 classes/fields/paragraph.php:80
1822
- #: classes/fields/wysiwyg.php:98
1823
- msgid "Embed videos, images, tweets, and other content."
1824
- msgstr "Incrustar videos, imágenes, tweets y otro contenido."
1825
 
1826
- #: ui/admin/setup-edit-field-fluid.php:91
1827
- msgid "Bi-directional fields will update their related field for any item you select. This feature is only available for two relationships between two Pods.<br /><br />For example, when you update a Parent pod item to relate to a Child item, when you go to edit that Child item you will see the Parent pod item selected."
1828
- msgstr "Los campos bidireccionales actualizarán su campo relacionado para cualquier item que selecciones. Esta funcionalidad solo está disponible para dos relaciones entre dos Pods.<br /><br />Por ejemplo, cuando actualizas un pod padre para relacionarlo con un item hijo, cuando editas ese item hijo verás seleccionado el pod padre."
1829
 
1830
- #: classes/fields/html.php:76 classes/fields/paragraph.php:85
1831
- #: classes/fields/wysiwyg.php:103
1832
- msgid "Enable wptexturize?"
1833
- msgstr "¿Habilitar wptexturize?"
1834
 
1835
- #: ui/admin/setup-edit-field-fluid.php:100
1836
- msgid "Options"
1837
- msgstr "Opciones"
1838
 
1839
- #: classes/fields/html.php:80 classes/fields/paragraph.php:89
1840
- #: classes/fields/wysiwyg.php:107
1841
- msgid "Transforms less-beautfiul text characters into stylized equivalents."
1842
- msgstr "Transforma caracteres \"poco bonitos\" en sus equivalentes estilizados."
 
1843
 
1844
- #: ui/admin/setup-edit-field-fluid.php:106
1845
- msgid "Required"
1846
- msgstr "Requerido"
1847
 
1848
- #: classes/fields/html.php:85 classes/fields/paragraph.php:94
1849
- #: classes/fields/wysiwyg.php:112
1850
- msgid "Enable convert_chars?"
1851
- msgstr "¿Habilitar convert_chars?"
 
1852
 
1853
- #: ui/admin/setup-edit-field-fluid.php:112
1854
- msgid "Unique"
1855
- msgstr "Único"
1856
 
1857
- #: classes/fields/html.php:89 classes/fields/paragraph.php:98
1858
- #: classes/fields/wysiwyg.php:116
1859
- msgid "Converts text into valid XHTML and Unicode"
1860
- msgstr "Convierte texto en XHTML válido y Unicode"
1861
 
1862
- #: classes/fields/html.php:94 classes/fields/paragraph.php:103
1863
- #: classes/fields/wysiwyg.php:121
1864
- msgid "Enable wpautop?"
1865
- msgstr "¿Habilitar wpautop?"
1866
 
1867
- #: ui/admin/setup-edit-field-fluid.php:187
1868
- msgid "Delete Field"
1869
- msgstr "Borrar campo"
1870
 
1871
- #: classes/fields/paragraph.php:107 classes/fields/wysiwyg.php:125
1872
- msgid "Changes double line-breaks in the text into HTML paragraphs"
1873
- msgstr "Cambia dobles retornos de carro en el texto por párrafos HTML"
1874
 
1875
- #: ui/admin/setup-edit-field-fluid.php:190
1876
- msgid "Update Field"
1877
- msgstr "Actualizar campo"
1878
 
1879
- #: classes/fields/html.php:108 classes/fields/paragraph.php:117
1880
- #: classes/fields/wysiwyg.php:135
1881
- msgid "Embed [shortcodes] that help transform your static content into dynamic content."
1882
- msgstr "Embebe [shortcodes] que ayudan a transformar tu contenido estático en contenido dinámico."
1883
 
1884
- #: ui/admin/setup-edit-field-fluid.php:190 ui/admin/setup-edit.php:242
1885
- #: ui/admin/setup-edit.php:315
1886
- msgid "Add Field"
1887
- msgstr "Añadir fichero"
1888
 
1889
- #: classes/fields/paragraph.php:124 classes/fields/text.php:84
1890
- #: classes/fields/wysiwyg.php:142
1891
- msgid "Allowed HTML Tags"
1892
- msgstr "Etiquetas HTML permitidas"
1893
 
1894
- #: ui/admin/setup-edit.php:50 ui/admin/setup-edit.php:51
1895
- #: ui/admin/setup-edit.php:53
1896
- msgid "Other"
1897
- msgstr "Otro"
1898
 
1899
- #: classes/fields/phone.php:71
1900
- msgid "US"
1901
- msgstr "US"
1902
 
1903
- #: classes/PodsAdmin.php:1538
1904
- msgid "Visual"
1905
- msgstr "Visual"
1906
 
1907
- #: classes/fields/phone.php:76
1908
- msgid "International"
1909
- msgstr "Internacional"
1910
 
1911
- #: classes/PodsAdmin.php:1541
1912
- msgid "Additional CSS Classes"
1913
- msgstr "Clases CSS adicionales"
1914
 
1915
- #: classes/fields/phone.php:77
1916
- msgid "Any (no validation available)"
1917
- msgstr "Cualquiera (sin validación disponible)"
1918
 
1919
- #: classes/PodsAdmin.php:1548
1920
- msgid "Input Helper"
1921
- msgstr "Auxiliar para campos"
1922
 
1923
- #: classes/fields/phone.php:82
1924
- msgid "Phone Options"
1925
- msgstr "Opciones de teléfono"
 
 
1926
 
1927
- #: classes/PodsAdmin.php:1555
1928
- msgid "Values"
1929
- msgstr "Valores"
1930
 
1931
- #: classes/fields/phone.php:85
1932
- msgid "Enable Phone Extension?"
1933
- msgstr "¿Habilitar prefijo telefónico?"
1934
 
1935
- #: classes/PodsAdmin.php:1558
1936
- msgid "Default Value"
1937
- msgstr "Valor por defecto"
1938
 
1939
- #: classes/fields/phone.php:197 classes/fields/website.php:185
1940
- msgid "The %s field is required."
1941
- msgstr "El campo %s es requerido."
1942
 
1943
- #: classes/PodsAdmin.php:1565
1944
- msgid "Set Default Value via Parameter"
1945
- msgstr "Establecer Valor por Defecto mediante Parámetro"
1946
 
1947
- #: classes/fields/phone.php:199
1948
- msgid "Invalid phone number provided for the field %s."
1949
- msgstr "Número de teléfono no válido proporcionado por el campo %s."
1950
 
1951
- #: classes/PodsAdmin.php:1571
1952
- msgid "Visibility"
1953
- msgstr "Visibilidad"
1954
 
1955
- #: classes/fields/pick.php:101
1956
- msgid "Selection Type"
1957
- msgstr "Tipo de selección"
1958
 
1959
- #: ui/admin/setup-edit.php:113
1960
- msgid "No Related Fields Found"
1961
- msgstr "No se han encontrado campos relacionados"
1962
 
1963
- #: classes/PodsAdmin.php:965 classes/PodsAdmin.php:972
1964
- #: classes/PodsAdmin.php:980 classes/PodsAdmin.php:986
1965
- #: classes/PodsAdmin.php:993 classes/PodsAdmin.php:1007
1966
- #: classes/PodsAdmin.php:1014 classes/PodsAdmin.php:1024
1967
- #: classes/PodsAdmin.php:1031 classes/PodsAdmin.php:1038
1968
- #: classes/PodsAdmin.php:1057 classes/PodsAdmin.php:1094
1969
- #: classes/PodsAdmin.php:1101 classes/PodsAdmin.php:1131
1970
- #: classes/PodsAdmin.php:1139 classes/PodsAdmin.php:1154
1971
- #: classes/PodsAdmin.php:1161 classes/PodsAdmin.php:1172
1972
- #: classes/PodsAdmin.php:1180 classes/PodsAdmin.php:1187
1973
- #: classes/PodsAdmin.php:1203 classes/PodsAdmin.php:1209
1974
- #: classes/PodsAdmin.php:1216 classes/PodsAdmin.php:1223
1975
- #: classes/PodsAdmin.php:1230 classes/PodsAdmin.php:1275
1976
- #: classes/PodsAdmin.php:1287 classes/PodsAdmin.php:1300
1977
- #: classes/PodsAdmin.php:1306 classes/PodsAdmin.php:1313
1978
- #: classes/PodsAdmin.php:1329 classes/PodsAdmin.php:1340
1979
- #: classes/PodsAdmin.php:1348 classes/PodsAdmin.php:1354
1980
- #: classes/PodsAdmin.php:1376 classes/PodsAdmin.php:1399
1981
- #: classes/PodsAdmin.php:1407 classes/PodsAdmin.php:1542
1982
- #: classes/PodsAdmin.php:1549 classes/PodsAdmin.php:1559
1983
- #: classes/PodsAdmin.php:1566 classes/PodsAdmin.php:1635
1984
- #: classes/fields/pick.php:102 classes/fields/pick.php:113
1985
- #: classes/fields/pick.php:129 classes/fields/pick.php:169
1986
- #: classes/fields/pick.php:209 classes/fields/pick.php:227
1987
- #: classes/fields/pick.php:239 classes/fields/pick.php:251
1988
  #: ui/admin/setup-edit-field-fluid.php:62
1989
  #: ui/admin/setup-edit-field-fluid.php:70
1990
  #: ui/admin/setup-edit-field-fluid.php:74
@@ -2014,1676 +1699,2045 @@ msgstr "No se han encontrado campos relacionados"
2014
  msgid "help"
2015
  msgstr "ayuda"
2016
 
2017
- #: ui/admin/setup-edit.php:260 ui/admin/setup-edit.php:276
2018
- msgid "<h6>Label</h6>The label is the descriptive name to identify the Pod field."
2019
- msgstr "<h6>Etiqueta</h6>La etiqueta es el nombre descriptivo para identificar el campo Pod."
2020
-
2021
- #: classes/fields/pick.php:122 classes/fields/pick.php:138
2022
- msgid "Autocomplete"
2023
- msgstr "Autocompletar"
2024
-
2025
- #: ui/admin/setup-edit.php:263 ui/admin/setup-edit.php:279
2026
- msgid "<h6>Name</h6>The name attribute is what is used to identify and access the Pod field programatically."
2027
- msgstr "<h6>Nombre</h6>El atributo nombre es lo que se usa para identificar y acceder al campo Pod por programación."
2028
-
2029
- #: classes/fields/pick.php:123 classes/fields/pick.php:139
2030
- msgid "Flexible"
2031
- msgstr "Flexible"
2032
-
2033
- #: ui/admin/setup-edit.php:266 ui/admin/setup-edit.php:282
2034
- msgid "<h6>Field Types</h6>Field types are used to determine what kind of data will be stored in the Pod. They can range from, dates, text, files, etc."
2035
- msgstr "<h6>Tipos de Campo</h6> Tipos de Campo son usados para determinar que tipo de datos serán almacenados en el Pod. Pueden ser fechas, texto, ficheros, etc..."
2036
-
2037
- #: classes/fields/pick.php:136
2038
- msgid "Checkboxes"
2039
- msgstr "Checkboxes"
2040
-
2041
- #: ui/admin/setup-edit.php:342
2042
- msgid "Add New <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2043
- msgstr "Añadir nuevo <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2044
-
2045
- #: classes/fields/pick.php:137
2046
- msgid "Multi Select"
2047
- msgstr "Multi Selector"
2048
-
2049
- #: ui/admin/setup-edit.php:346
2050
- msgid "New <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2051
- msgstr "Nuevo <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2052
-
2053
- #: classes/fields/pick.php:168
2054
- msgid "Selection Limit"
2055
- msgstr "Límite de Selección"
2056
-
2057
- #: ui/admin/setup-edit.php:354
2058
- msgid "Edit <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2059
- msgstr "Editar <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2060
 
2061
- #: classes/fields/pick.php:196
2062
- msgid "Display Field in Selection List"
2063
- msgstr "Mostrar campo en la lista de selección"
2064
 
2065
- #: ui/admin/setup-edit.php:358
2066
- msgid "Update <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2067
- msgstr "Actualizar <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2068
 
2069
- #: classes/fields/pick.php:197
2070
- msgid "Provide the name of a field on the related object to reference, example: {@post_title}"
2071
- msgstr "Proporcionar el nombre de un campo en el objeto relacionado para referenciarlo, ejemplo: {@post_title}"
2072
 
2073
- #: ui/admin/setup-edit.php:366
2074
- msgid "View <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2075
- msgstr "Ver <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2076
 
2077
- #: classes/fields/pick.php:226
2078
- msgid "Customized <em>WHERE</em>"
2079
- msgstr "<em>WHERE</em> Personalizado"
2080
 
2081
- #: ui/admin/setup-edit.php:370
2082
- msgid "All <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
2083
- msgstr "Todos los <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
2084
 
2085
- #: classes/fields/pick.php:238
2086
- msgid "Customized <em>ORDER BY</em>"
2087
- msgstr "<em>ORDER BY</em> Personalizado"
2088
 
2089
- #: ui/admin/setup-edit.php:374
2090
- msgid "Search <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
2091
- msgstr "Buscar <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
 
2092
 
2093
- #: classes/fields/pick.php:250
2094
- msgid "Customized <em>GROUP BY</em>"
2095
- msgstr "<em>GROUP BY</em> personalizado"
2096
 
2097
- #: ui/admin/setup-edit.php:378
2098
- msgid "Not Found"
2099
- msgstr "No encontrado"
2100
 
2101
- #: classes/fields/pick.php:1015
2102
- msgid "-- Select One --"
2103
- msgstr "-- Selecciona uno --"
 
2104
 
2105
- #: ui/admin/setup-edit.php:386
2106
- msgid "Not Found in Trash"
2107
- msgstr "No encontrado en la Papelera"
2108
 
2109
- #: classes/fields/website.php:71
2110
- msgid "http://example.com/"
2111
- msgstr "http://example.com/"
2112
 
2113
- #: ui/admin/setup-edit.php:394
2114
- msgid "Popular <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
2115
- msgstr "<span class=\"pods-slugged\" data-sluggable=\"label\">Items</span> populares"
2116
 
2117
- #: classes/fields/website.php:72
2118
- msgid "http://example.com/ (remove www)"
2119
- msgstr "http://example.com/ (borra www)"
2120
 
2121
- #: ui/admin/setup-edit.php:398
2122
- msgid "Separate <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span> with commas"
2123
- msgstr "Separa <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span> con comas"
2124
 
2125
- #: classes/fields/website.php:73
2126
- msgid "http://www.example.com/ (force www if no sub-domain provided)"
2127
- msgstr "http://www.example.com/ (fuerza www si no se indica un sub-dominio)"
2128
 
2129
- #: ui/admin/setup-edit.php:402
2130
- msgid "Add or remove <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span>"
2131
- msgstr "Añade o borra <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span>"
2132
 
2133
- #: classes/fields/website.php:74
2134
- msgid "example.com"
2135
- msgstr "example.com"
2136
 
2137
- #: ui/admin/setup-edit.php:406
2138
- msgid "Choose from the most used"
2139
- msgstr "Elige entre los más usados"
2140
 
2141
- #: classes/fields/website.php:75
2142
- msgid "example.com (force removal of www)"
2143
- msgstr "example.com (fuerza el borrado de www)"
2144
 
2145
- #: classes/PodsAdmin.php:958
2146
- msgid "Post Type Description"
2147
- msgstr "Descripción del tipo de post"
2148
 
2149
- #: classes/fields/website.php:76
2150
- msgid "www.example.com (force www if no sub-domain provided)"
2151
- msgstr "www.example.com (fuerza www si no se indica un sub-dominio)"
2152
 
2153
- #: classes/PodsAdmin.php:959
2154
- msgid "A short descriptive summary of what the post type is."
2155
- msgstr "Un breve y descriptivo resumen de lo que es el tipo de post. "
2156
 
2157
- #: classes/fields/website.php:187
2158
- msgid "Invalid website provided for the field %s."
2159
- msgstr "La página web proporcionada es inválida %s."
2160
 
2161
- #: classes/PodsAdmin.php:1023 ui/admin/setup-edit.php:574
2162
  msgid "Public"
2163
  msgstr "Público"
2164
 
2165
- #: classes/fields/wysiwyg.php:67 ui/admin/setup-edit.php:453
2166
- msgid "Editor"
2167
- msgstr "Editor"
 
 
 
 
2168
 
2169
- #: classes/PodsAdmin.php:1030
2170
  msgid "Publicly Queryable"
2171
  msgstr "Se puede consultar públicamente"
2172
 
2173
- #: classes/fields/wysiwyg.php:74
2174
- msgid "TinyMCE (WP Default)"
2175
- msgstr "TinyMCE (WP Defecto)"
 
 
 
 
2176
 
2177
- #: classes/PodsAdmin.php:1037
2178
  msgid "Exclude from Search"
2179
  msgstr "Excluír de la búsqueda"
2180
 
2181
- #: classes/fields/wysiwyg.php:75
2182
- msgid "CLEditor"
2183
- msgstr "CLEditor"
2184
 
2185
- #: classes/PodsAdmin.php:964 classes/PodsAdmin.php:1171
2186
- msgid "Show Admin UI"
2187
- msgstr "Mostrar UI de Administrador"
2188
 
2189
- #: classes/widgets/PodsWidgetForm.php:26 classes/widgets/PodsWidgetForm.php:42
2190
- #: classes/widgets/PodsWidgetForm.php:53
2191
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:41
2192
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:133
2193
- msgid "Submit"
2194
- msgstr "Enviar"
2195
 
2196
- #: classes/PodsAdmin.php:971 classes/PodsAdmin.php:1339
2197
- msgid "Show Admin Menu in Dashboard"
2198
- msgstr "Mostrar Menú de administración en el Escritorio"
 
2199
 
2200
- #: components/Builder/modules/field/PodsBuilderModuleField.php:22
2201
- msgid "Pods - Field Value"
2202
- msgstr "Pods - Valor del campo"
2203
 
2204
- #: classes/PodsAdmin.php:985 classes/PodsAdmin.php:1179
2205
- #: ui/admin/setup-edit.php:418
2206
- msgid "Menu Name"
2207
- msgstr "Nombre del menú"
2208
 
2209
- #: components/Builder/modules/field/PodsBuilderModuleField.php:23
2210
- msgid "Display a single Pod item's field value"
2211
- msgstr "Mostrar el valor del campo de un item Pod simple"
 
2212
 
2213
- #: classes/PodsAdmin.php:992 classes/PodsAdmin.php:1208
2214
- #: classes/PodsAdmin.php:1305 classes/PodsAdmin.php:1353
2215
- msgid "Menu Position"
2216
- msgstr "Posición en el Menú"
2217
 
2218
- #: classes/PodsAPI.php:5070
2219
- #: components/Builder/modules/field/PodsBuilderModuleField.php:77
2220
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:79
2221
- #: components/Builder/modules/list/PodsBuilderModuleList.php:82
2222
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:78
2223
- #: ui/admin/setup-edit.php:855 ui/admin/widgets/field.php:26
2224
- #: ui/admin/widgets/form.php:26 ui/admin/widgets/list.php:28
2225
- #: ui/admin/widgets/single.php:28
2226
- msgid "Pod"
2227
- msgstr "Pod"
2228
 
2229
- #: classes/PodsAdmin.php:1215 classes/PodsAdmin.php:1312
2230
- #: classes/PodsAdmin.php:1360
2231
- msgid "Menu Icon URL"
2232
- msgstr "URL del icono del menú"
2233
 
2234
- #: components/Builder/modules/field/PodsBuilderModuleField.php:84
2235
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:86
2236
- #: components/Builder/modules/list/PodsBuilderModuleList.php:89
2237
- #: components/Builder/modules/list/PodsBuilderModuleList.php:115
2238
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:85
2239
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:119
2240
- #: components/Pages.php:410 ui/admin/shortcode.php:358
2241
- #: ui/admin/widgets/field.php:39 ui/admin/widgets/form.php:39
2242
- #: ui/admin/widgets/list.php:41 ui/admin/widgets/single.php:41
2243
- msgid "None Found"
2244
- msgstr "No se ha encontrado nada"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2245
 
2246
- #: components/Builder/modules/field/PodsBuilderModuleField.php:90
2247
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:92
2248
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:91
2249
- #: ui/admin/widgets/field.php:45 ui/admin/widgets/single.php:47
2250
- msgid "Slug or ID"
2251
- msgstr "Slug o ID"
2252
 
2253
- #: classes/PodsAdmin.php:1006 classes/PodsAdmin.php:1222
2254
- msgid "Show in Navigation Menus"
2255
- msgstr "Mostrar en menús de navegación"
 
2256
 
2257
- #: components/Builder/modules/field/PodsBuilderModuleField.php:98
2258
- #: ui/admin/shortcode.php:442 ui/admin/widgets/field.php:52
2259
- msgid "Field"
2260
- msgstr "Campo"
2261
 
2262
- #: classes/PodsAdmin.php:1013
2263
- msgid "Show in Admin Bar \"New\" Menu"
2264
- msgstr "Mostrar en el menú \"Nuevo\" de la barra de administración"
 
2265
 
2266
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:22
2267
- msgid "Pods - Form"
2268
- msgstr "Pods - Formulario"
2269
 
2270
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:23
2271
- #: ui/admin/shortcode.php:330
2272
- msgid "Display a form for creating and editing Pod items"
2273
- msgstr "Mostrar un formilario para crear y editar items Pod"
2274
 
2275
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:100
2276
- #: ui/admin/shortcode.php:448 ui/admin/widgets/form.php:50
2277
- msgid "Fields (comma-separated)"
2278
- msgstr "Campos (separados por comas)"
2279
 
2280
- #: classes/fields/pick.php:326
2281
- msgid "Custom"
2282
- msgstr "Personalizado"
2283
 
2284
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:108
2285
- #: ui/admin/shortcode.php:454 ui/admin/widgets/form.php:56
2286
- msgid "Submit Label"
2287
- msgstr "Etiqueta de envío"
2288
 
2289
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:116
2290
- #: ui/admin/shortcode.php:460 ui/admin/widgets/form.php:62
2291
- msgid "Thank You URL upon submission"
2292
- msgstr "URL de Gracias después del envío"
2293
 
2294
- #: components/Builder/modules/list/PodsBuilderModuleList.php:22
2295
- msgid "Pods - List Items"
2296
- msgstr "Pods - Lista Items"
2297
 
2298
- #: classes/PodsAdmin.php:1085 ui/admin/setup-edit.php:578
2299
  #: ui/admin/setup-edit.php:687
2300
  msgid "Hierarchical"
2301
  msgstr "Jerárquico"
2302
 
2303
- #: components/Builder/modules/list/PodsBuilderModuleList.php:23
2304
- msgid "Display multiple Pod items"
2305
- msgstr "Mostrar items Pod múltiples"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2306
 
2307
- #: classes/PodsAdmin.php:1093 ui/admin/setup-edit.php:583
 
 
 
 
2308
  msgid "<strong>Label: </strong> Parent <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2309
  msgstr "<strong>Etiqueta: </strong> <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span> Padre"
2310
 
2311
- #: components/Builder/modules/list/PodsBuilderModuleList.php:99
2312
- #: components/Builder/modules/list/PodsBuilderModuleList.php:137
2313
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:103
2314
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:141
2315
- #: ui/admin/shortcode.php:371 ui/admin/shortcode.php:394
2316
- #: ui/admin/widgets/list.php:55 ui/admin/widgets/list.php:84
2317
- #: ui/admin/widgets/single.php:63 ui/admin/widgets/single.php:86
2318
- msgid "Custom Template"
2319
- msgstr "Template personalizado"
2320
 
2321
- #: classes/PodsAdmin.php:1100 ui/admin/setup-edit.php:587
2322
  msgid "<strong>Label: </strong> Parent"
2323
  msgstr "<strong>Etiqueta: </strong> Padre"
2324
 
2325
- #: components/Builder/modules/list/PodsBuilderModuleList.php:108
2326
- #: components/Builder/modules/list/PodsBuilderModuleList.php:125
2327
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:112
2328
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:129
2329
- #: components/Templates/Templates.php:295
2330
- #: components/Templates/class-pods_templates.php:192 ui/admin/shortcode.php:368
2331
- #: ui/admin/shortcode.php:385 ui/admin/widgets/list.php:52
2332
- #: ui/admin/widgets/list.php:69 ui/admin/widgets/single.php:60
2333
- #: ui/admin/widgets/single.php:77
2334
- msgid "Template"
2335
- msgstr "Template"
2336
 
2337
- #: classes/PodsAdmin.php:1107 ui/admin/setup-edit.php:592
2338
  msgid "Rewrite"
2339
  msgstr "Reescribir"
2340
 
2341
- #: components/Builder/modules/list/PodsBuilderModuleList.php:145
2342
- #: ui/admin/shortcode.php:424 ui/admin/widgets/list.php:96
2343
- msgid "Limit"
2344
- msgstr "Límite"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2345
 
2346
- #: classes/PodsAdmin.php:1115 ui/admin/setup-edit.php:597
2347
  msgid "Custom Rewrite Slug"
2348
  msgstr "Slug de reescritura personalizada"
2349
 
2350
- #: components/Builder/modules/list/PodsBuilderModuleList.php:153
2351
- #: ui/admin/shortcode.php:430 ui/admin/widgets/list.php:102
2352
- msgid "Order By"
2353
- msgstr "Ordenar por"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2354
 
2355
- #: classes/PodsAdmin.php:1122
2356
  msgid "Rewrite with Front"
2357
  msgstr "Reescribir con Front"
2358
 
2359
- #: components/Builder/modules/list/PodsBuilderModuleList.php:161
2360
- #: ui/admin/shortcode.php:436 ui/admin/widgets/list.php:108
2361
- msgid "Where"
2362
- msgstr "Donde"
2363
 
2364
- #: ui/admin/setup-edit.php:601
2365
- msgid "Allows permalinks to be prepended with front base (example: if your permalink structure is /blog/, then your links will be: Checked->/news/, Unchecked->/blog/news/)"
2366
- msgstr "Permite a los enlaces permanentes ser antepuestos con una base delante. (Por ejemplo: si tu estructura de enlaces permanentes es /blog/, entonces tus enlaces serán: Marcado->/news/, No marcado->/blog/news/)"
2367
 
2368
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:22
2369
- msgid "Pods - Single Item"
2370
- msgstr "Pods - Item Simple"
 
 
 
 
 
 
 
 
2371
 
2372
- #: classes/PodsAdmin.php:1130
2373
  msgid "Rewrite Feeds"
2374
  msgstr "Reescribir Feeds"
2375
 
2376
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:23
2377
- #: ui/admin/shortcode.php:326
2378
- msgid "Display a single Pod item"
2379
- msgstr "Mostrar un item Pod"
 
 
 
2380
 
2381
- #: classes/PodsAdmin.php:1138
2382
  msgid "Rewrite Pages"
2383
  msgstr "Reescribir páginas"
2384
 
2385
- #: components/Helpers.php:233
2386
- msgid "Enter helper name here"
2387
- msgstr "Introduce el nombre del auxiliar (helper) aquí"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2388
 
2389
- #: classes/PodsAdmin.php:1146 ui/admin/setup-edit.php:610
2390
- msgid "Query Var"
2391
- msgstr "Variable de Consulta"
2392
 
2393
- #: components/Helpers.php:267
2394
- msgid "Helper Type"
2395
- msgstr "Tipo de Auxiliar (Helper)"
2396
 
2397
- #: classes/PodsAdmin.php:1153
2398
- msgid "Exportable"
2399
- msgstr "Exportable"
2400
 
2401
- #: components/Helpers.php:281
2402
- msgid "Code"
2403
- msgstr "Código"
2404
 
2405
- #: ui/admin/setup-edit.php:441
2406
- msgid "Supports"
2407
- msgstr "Soporta"
2408
 
2409
- #: components/Helpers.php:286
2410
- msgid "Helper"
2411
- msgstr "Helper"
2412
 
2413
- #: ui/admin/setup-edit.php:448 ui/admin/widgets/field.php:15
2414
- #: ui/admin/widgets/form.php:15 ui/admin/widgets/list.php:17
2415
- #: ui/admin/widgets/single.php:17 ui/admin/widgets/view.php:15
2416
- msgid "Title"
2417
- msgstr "Título"
2418
 
2419
- #: classes/fields/paragraph.php:150 classes/fields/wysiwyg.php:167
2420
- msgid "Allow Markdown Syntax?"
2421
- msgstr "¿Permitir sintaxis de Markdown?"
2422
 
2423
- #: ui/admin/setup-edit.php:458
2424
- msgid "Author"
2425
- msgstr "Autor"
 
 
 
2426
 
2427
- #: components/Migrate-CPTUI/Migrate-CPTUI.php:189
2428
- #: components/Migrate-CPTUI/Migrate-CPTUI.php:255
2429
- msgid "Pod with the name %s already exists"
2430
- msgstr "Ya existe un Pod llamado %s"
2431
 
2432
- #: ui/admin/setup-edit.php:463
2433
- msgid "Featured Image"
2434
- msgstr "Imagen Destacada"
2435
 
2436
- #: components/Migrate-CPTUI/ui/wizard.php:15
2437
- msgid "Migrate: Import from Custom Post Type UI"
2438
- msgstr "Migrar: Importar desde la interfaz de Tipos de Post Personalizados"
2439
 
2440
- #: ui/admin/setup-edit.php:468
2441
- msgid "Excerpt"
2442
- msgstr "Extracto"
2443
 
2444
- #: components/Migrate-CPTUI/ui/wizard.php:23
2445
- msgid "Setup"
2446
- msgstr "Configuración"
2447
 
2448
- #: ui/admin/setup-edit.php:473
2449
- msgid "Trackbacks"
2450
- msgstr "Trackbacks"
2451
 
2452
- #: components/Migrate-CPTUI/ui/wizard.php:27
2453
- #: ui/admin/upgrade/upgrade_2_0_0.php:26
2454
- msgid "Migrate"
2455
- msgstr "Migrar"
2456
 
2457
- #: ui/admin/setup-edit.php:478
2458
- msgid "Custom Fields"
2459
- msgstr "Campos Personalizados"
2460
 
2461
- #: components/Migrate-CPTUI/ui/wizard.php:35
2462
- msgid "Custom Post Type UI provides an interface to create Custom Post Types and Custom Taxonomies. You can import these and their settings directly into Pods 2.0"
2463
- msgstr "La UI de Tipos de Post Personalizados ofrece una interfaz para crear Tipos de Post Personalizados y Categorías Personalizadas. Puedes importar estos elementos y sus ajustes directamente a Pods 2.0"
2464
 
2465
- #: ui/admin/setup-edit.php:488
2466
- msgid "Revisions"
2467
- msgstr "Revisiones"
2468
 
2469
- #: components/Migrate-CPTUI/ui/wizard.php:40
2470
- msgid "Import Only"
2471
- msgstr "Importar Solamente"
2472
 
2473
- #: ui/admin/setup-edit.php:493
2474
- msgid "Page Attributes"
2475
- msgstr "Atributos de página"
2476
 
2477
- #: components/Migrate-CPTUI/ui/wizard.php:42
2478
- msgid "This will import your Custom Post Types and Taxonomies."
2479
- msgstr "Esto importará tus Tipos de Post Personalizados y Taxonomías."
2480
 
2481
- #: classes/fields/pick.php:468 ui/admin/setup-edit.php:498
2482
- msgid "Post Formats"
2483
- msgstr "Formatos de Post"
2484
 
2485
- #: components/Migrate-CPTUI/ui/wizard.php:49
2486
- msgid "Import and Clean Up"
2487
- msgstr "Importar y Limpiar"
2488
 
2489
- #: ui/admin/setup-edit.php:549
2490
- msgid "Built-in Taxonomies"
2491
- msgstr "Taxonomías incorporadas"
2492
 
2493
- #: components/Migrate-CPTUI/ui/wizard.php:51
2494
- msgid "This will import your Custom Post Types and Taxonomies, and then remove them from Custom Post Type UI."
2495
- msgstr "Esto importará tus Tipos de Post y Taxonomías Personalizados, y luego los eliminará de la interfaz de Tipos de Post Personalizados."
2496
 
2497
- #: components/Migrate-CPTUI/ui/wizard.php:60
2498
- msgid "Choose below which Custom Post Types and Taxonomies you want to import into Pods 2.0"
2499
- msgstr "Elige abajo qué Categorías y Tipos de Post Personalizados quieres importar a Pods 2.0"
2500
 
2501
- #: classes/PodsAdmin.php:999
2502
- msgid "Menu Icon"
2503
- msgstr "Icono de Menú"
2504
 
2505
- #: components/Migrate-CPTUI/ui/wizard.php:64
2506
- msgid "Choose Post Types to Import"
2507
- msgstr "Elige los Tipos de Post a Importar"
2508
 
2509
- #: components/Migrate-CPTUI/ui/wizard.php:72
2510
- msgid "Available Post Types"
2511
- msgstr "Tipos de Post disponibles"
2512
 
2513
- #: classes/PodsAdmin.php:1229
2514
- msgid "Allow in Tagcloud Widget"
2515
- msgstr "Permitir en el Widget de Nube de Etiquetas"
2516
 
2517
- #: components/Migrate-CPTUI/ui/wizard.php:97
2518
- msgid "No Post Types were found."
2519
- msgstr "No se encontraron Tipos de Post."
2520
 
2521
- #: ui/admin/setup-edit.php:601
2522
- msgid "Allow Front Prepend"
2523
- msgstr "Permitir Anteponer al Front"
2524
 
2525
- #: components/Migrate-CPTUI/ui/wizard.php:105
2526
- msgid "Choose Taxonomies to Import"
2527
- msgstr "Elige las Categorías a importar"
2528
 
2529
- #: ui/admin/setup-edit.php:605
2530
- msgid "Hierarchical Permalinks"
2531
- msgstr "Enlaces Permanentes Jerárquicos"
2532
 
2533
- #: components/Migrate-CPTUI/ui/wizard.php:113
2534
- msgid "Available Taxonomies"
2535
- msgstr "Taxonomías disponibles"
2536
 
2537
- #: ui/admin/setup-edit.php:620
2538
- msgid "Remember order saved on Post Types"
2539
- msgstr "Recordar el orden guardado en los Tipos de Post"
2540
 
2541
- #: components/Migrate-CPTUI/ui/wizard.php:136
2542
- msgid "No Taxonomies were found."
2543
- msgstr "No se encontraron Taxonomías."
2544
 
2545
- #: classes/PodsAdmin.php:1239
2546
- msgid "Show Taxonomy column on Post Types"
2547
- msgstr "Mostrar la columna Taxonomía en los Tipos de Post"
2548
 
2549
- #: components/Migrate-CPTUI/ui/wizard.php:146
2550
- #: components/Migrate-Packages/ui/wizard.php:279
2551
- #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:350
2552
- #: ui/admin/upgrade/upgrade_2_0_0.php:289
2553
- #: ui/admin/upgrade/upgrade_2_1_0.php:122
2554
- msgid "Start Over"
2555
- msgstr "Volver a empezar"
2556
 
2557
- #: components/Migrate-CPTUI/ui/wizard.php:146 components/Roles/ui/add.php:122
2558
- #: ui/admin/setup-add.php:350 ui/admin/upgrade/upgrade_2_0_0.php:289
2559
- #: ui/admin/upgrade/upgrade_2_1_0.php:122
2560
- msgid "Next Step"
2561
- msgstr "Siguiente Paso"
2562
 
2563
- #: ui/admin/setup-edit.php:625
2564
- msgid "Function to call when updating counts"
2565
- msgstr "Función a llamar al actualizar cuentas"
2566
 
2567
- #: components/Migrate-CPTUI/ui/wizard.php:146
2568
- #: components/Migrate-Packages/ui/wizard.php:279
2569
- #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:350
2570
- msgid "Finished"
2571
- msgstr "Terminado"
2572
 
2573
- #: ui/admin/setup-edit.php:630
2574
- msgid "Associated Post Types"
2575
- msgstr "Tipos de Post Asociados"
2576
 
2577
- #: components/Migrate-CPTUI/ui/wizard.php:146
2578
- #: components/Migrate-Packages/ui/wizard.php:279
2579
- #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:350
2580
- msgid "Processing"
2581
- msgstr "Procesando"
2582
 
2583
- #: ui/admin/setup-edit.php:668
2584
- msgid "Detail Page URL"
2585
- msgstr "URL de la Página de Detalle"
 
 
 
 
2586
 
2587
- #: components/Migrate-Packages/ui/wizard.php:15
2588
- msgid "Migrate: Packages"
2589
- msgstr "Migrar: Paquetes"
2590
 
2591
- #: ui/admin/setup-edit.php:682
2592
- msgid "Title Field"
2593
- msgstr "Campo título"
2594
 
2595
- #: components/Migrate-Packages/ui/wizard.php:23
2596
- msgid "Choose"
2597
- msgstr "Elegir"
2598
 
2599
- #: ui/admin/setup-edit.php:682
2600
- msgid "If you delete the \"name\" field, we need to specify the field to use as your primary title field. This field will serve as an index of your content. Most commonly this field represents the name of a person, place, thing, or a summary field."
2601
- msgstr "Si borras el campo \"nombre\", necesitamos especificar que campo usar como campo título primario. Este campo servirá como un índice de tu contenido. Más comunmente este campo representa el nombre de una persona, lugar, cosa o un campo resumen."
2602
 
2603
- #: components/Migrate-Packages/ui/wizard.php:27
2604
- msgid "Import / Export"
2605
- msgstr "Importar / Exportar"
2606
 
2607
- #: ui/admin/setup-edit.php:722
2608
- msgid "Pre-Save Helper(s)"
2609
- msgstr "Auxiliar/es (Helper(s)) ejecutados antes de guardar"
2610
 
2611
- #: components/Migrate-Packages/ui/wizard.php:50
2612
- #: components/Migrate-Packages/ui/wizard.php:85
2613
- #: components/Migrate-Packages/ui/wizard.php:103
2614
- msgid "Packages allow you to import/export your Pods, Fields, and other settings between any Pods sites."
2615
- msgstr "Paquetes te permite importar/exportar tus Pods, Campos y otros ajustes entre cualquier sitio Pods."
2616
 
2617
- #: ui/admin/setup-edit.php:736
2618
- msgid "Post-Save Helper(s)"
2619
- msgstr "Auxiliar/es (Helper(s)) ejecutados después de guardar"
2620
 
2621
- #: components/Migrate-Packages/ui/wizard.php:56
2622
- msgid "Import"
2623
- msgstr "Importar"
2624
 
2625
- #: ui/admin/setup-edit.php:750
2626
- msgid "Pre-Delete Helper(s)"
2627
- msgstr "Auxiliar/es (Helper(s)) ejecutados antes de borrar"
2628
 
2629
- #: components/Migrate-Packages/ui/wizard.php:58
2630
- msgid "Import a package of Pods, Fields, and other settings from another site."
2631
- msgstr "Importar un paquete de Pods, Campos y otros ajustes desde otro sitio."
2632
 
2633
- #: ui/admin/setup-edit.php:764
2634
- msgid "Post-Delete Helper(s)"
2635
- msgstr "Auxiliar/es (Helper(s)) ejecutados después de borrar"
2636
 
2637
- #: components/Migrate-Packages/ui/wizard.php:71
2638
- msgid "Choose which Pods, Fields, and other settings to export into a package."
2639
- msgstr "Elije los Pods, Campos y otros ajustes a exportar en un paquete."
2640
 
2641
- #: ui/admin/setup-edit.php:823
2642
- msgid "Are you sure you want to delete this Pod? All fields and data will be removed."
2643
- msgstr "¿Estás seguro de que quieres eliminar este Pod? Todos los campos y los datos se borrarán."
2644
 
2645
- #: components/Migrate-Packages/ui/wizard.php:89
2646
- msgid "Paste the Package Code"
2647
- msgstr "Pega el Código del Paquete"
2648
 
2649
- #: classes/PodsAPI.php:5066 classes/fields/pick.php:355
2650
- #: ui/admin/setup-edit.php:855 ui/admin/upgrade/upgrade_2_0_0.php:75
2651
- #: ui/admin/upgrade/upgrade_2_0_0.php:191
2652
- msgid "Pods"
2653
- msgstr "Pods"
2654
 
2655
- #: components/Migrate-Packages/ui/wizard.php:112
2656
- msgid "Choose which Pods to export"
2657
- msgstr "Elige los Pods a exportar"
2658
 
2659
- #: classes/fields/pick.php:382 ui/admin/setup-edit.php:636
2660
  #: ui/admin/setup-edit.php:856
2661
  msgid "Post Types"
2662
  msgstr "Tipos de Post"
2663
 
2664
- #: components/Migrate-Packages/ui/wizard.php:117
2665
- #: components/Migrate-Packages/ui/wizard.php:156
2666
- #: components/Migrate-Packages/ui/wizard.php:195
2667
- #: components/Migrate-Packages/ui/wizard.php:234
2668
- msgid "Toggle all on / off"
2669
- msgstr "Activar/Desactivar todo"
 
 
2670
 
2671
- #: classes/fields/pick.php:417 ui/admin/setup-edit.php:555
2672
  #: ui/admin/setup-edit.php:857
2673
  msgid "Taxonomies"
2674
  msgstr "Taxonomías"
2675
 
2676
- #: components/Migrate-Packages/ui/wizard.php:151
2677
- msgid "Choose which Pod Templates to export"
2678
- msgstr "Elige los templates Pod a exportar"
2679
 
2680
- #: ui/admin/setup-edit.php:931
2681
- msgid "Loading available fields.."
2682
- msgstr "Cargando campos disponibles..."
2683
 
2684
- #: components/Migrate-Packages/ui/wizard.php:190
2685
- msgid "Choose which Pod Pages to export"
2686
- msgstr "Elige las páginas Pod a exportar"
 
2687
 
2688
- #: ui/admin/setup-edit.php:965
2689
- msgid "-- Select Related Field --"
2690
- msgstr "-- Seleccionar campo relacionado --"
2691
 
2692
- #: components/Migrate-Packages/ui/wizard.php:229
2693
- msgid "Choose which Pod Helpers to export"
2694
- msgstr "Elige los auxiliares (Helpers) Pod a exportar"
 
2695
 
2696
- #: ui/admin/shortcode.php:318
2697
- msgid "Pods &raquo; Embed"
2698
- msgstr "Pods &raquo; Incrustar"
 
 
 
 
2699
 
2700
- #: components/Migrate-Packages/ui/wizard.php:270
2701
- msgid "Results"
2702
- msgstr "Resultados"
 
2703
 
2704
- #: ui/admin/shortcode.php:323
2705
- msgid "What would you like to do?"
2706
- msgstr "¿Qué quieres hacer?"
2707
 
2708
- #: components/Migrate-Packages/ui/wizard.php:279
2709
- msgid "Continue"
2710
- msgstr "Continuar"
2711
 
2712
- #: ui/admin/shortcode.php:327
2713
- msgid "List multiple Pod items"
2714
- msgstr "Listar múltiples items Pod"
2715
 
2716
- #: components/Pages.php:290
2717
- msgid "Enter URL here"
2718
- msgstr "Introducir URL aquí"
2719
 
2720
- #: ui/admin/shortcode.php:328
2721
- msgid "Display a field from a single Pod item"
2722
- msgstr "Mostrar un campo de un item Pod"
2723
 
2724
- #: components/Pages.php:346
2725
- msgid "-- Page Template --"
2726
- msgstr "-- Template de página --"
2727
 
2728
- #: ui/admin/shortcode.php:344
2729
- msgid "Choose a Pod"
2730
- msgstr "Elige un Pod"
2731
 
2732
- #: components/Pages.php:366 ui/admin/setup-add.php:140
2733
- #: ui/admin/setup-edit.php:414
2734
- msgid "Page Title"
2735
- msgstr "Título de página"
2736
 
2737
- #: ui/admin/shortcode.php:418 ui/admin/widgets/form.php:44
2738
- msgid "ID or Slug"
2739
- msgstr "ID o Slug"
2740
 
2741
- #: components/Pages.php:371
2742
- msgid "Page Code"
2743
- msgstr "Código de página"
2744
 
2745
- #: ui/admin/shortcode.php:500
2746
- msgid "Insert"
2747
- msgstr "Insertar"
 
2748
 
2749
- #: components/Pages.php:384
2750
- msgid "Page Precode"
2751
- msgstr "Precódigo de la página"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2752
 
2753
- #: ui/admin/upgrade/backup.php:1
2754
- msgid "We recommend that you back your database up, it can really save you in a bind or a really weird situation that you may not be expecting. Check out a few options we think are <em>great</em> below."
2755
- msgstr "Te recomendamos que hagas una copia de seguridad de tu base de datos, te puede salvar de una situación rara que no esperabas. Echa un vistazo a estas pocas opciones aquí abajo, pensamos que son <em>muy buenas</em>."
2756
 
2757
- #: components/Pages.php:386
2758
- msgid "Precode will run before your theme outputs the page. It is expected that this value will be a block of PHP. You must open the PHP tag here, as we do not open it for you by default."
2759
- msgstr "El código se ejecutará antes de que tu tema muestre la página. Se espera que el contenido sea un bloque de PHP. Debes abrir el tag de PHP aquí, ya que no lo hacemos por defecto."
 
2760
 
2761
- #: ui/admin/upgrade/backup.php:7
2762
- msgid "Receive 25% off"
2763
- msgstr "Recibe el 25% de descuento"
2764
 
2765
- #: components/Pages.php:390
2766
- msgid "Page Template"
2767
- msgstr "Plantilla de Página"
2768
 
2769
- #: ui/admin/upgrade/backup.php:9
2770
- msgid "Coupon Code"
2771
- msgstr "Código de descuento"
2772
 
2773
- #: components/Pages.php:396
2774
- msgid "Page"
2775
- msgstr "Página"
2776
 
2777
- #: ui/admin/upgrade/backup.php:12
2778
- msgid "The all-in-one WordPress backup plugin to easily backup, restore, and migrate to any number of local or external locations."
2779
- msgstr "El plugin 'todo-en-uno' para hacer copias de seguridad en Wordpress, restaurarlas y migrar a cualquier lugar local o externo."
2780
 
2781
- #: components/Templates/Templates.php:300
2782
- msgid "Show to Admins Only?"
2783
- msgstr "¿Mostrar solo a administradores?"
2784
 
2785
- #: ui/admin/upgrade/backup.php:17
2786
- msgid "1 free month"
2787
- msgstr "1 mes gratis"
2788
 
2789
- #: classes/PodsAdmin.php:1593 components/Pages.php:466
2790
- #: components/Templates/Templates.php:307
2791
- msgid "Restrict access by Capability?"
2792
- msgstr "¿Restringir acceso por funcionalidad?"
2793
 
2794
- #: ui/admin/upgrade/backup.php:19
2795
- msgid "Click to sign up"
2796
- msgstr "Clic para registrarse"
2797
 
2798
- #: classes/PodsAdmin.php:1646 components/Pages.php:477
2799
- #: components/Templates/Templates.php:318
2800
- msgid "Capability Allowed"
2801
- msgstr "Funcionalidades Permitidas"
 
 
 
 
 
2802
 
2803
- #: ui/admin/upgrade/backup.php:22
2804
- msgid "A service that provides realtime continuous backups, restores, and security scanning."
2805
- msgstr "Un servicio que proporciona copias de seguridad continuas en tiempo real, recuperaciones y escaneo de seguridad."
2806
 
2807
- #: classes/PodsAdmin.php:1647
2808
- msgid "Comma-separated list of cababilities, for example add_podname_item, please see the Roles and Capabilities component for the complete list and a way to add your own."
2809
- msgstr "Lista de funcionalidades separadas por comas, por ejemplo add_podname_item. Por favor consulta el componente de Roles y Funcionalidades para ver la lista completa y añadir las tuyas propias."
2810
 
2811
- #: ui/admin/upgrade/upgrade_2_0_0.php:10 ui/admin/upgrade/upgrade_2_1_0.php:10
2812
- msgid "Upgrade Pods"
2813
- msgstr "Actualizar Pods"
2814
 
2815
- #: classes/PodsAdmin.php:1574 components/Pages.php:517
2816
- #: components/Templates/Templates.php:331
2817
  msgid "Restrict Access"
2818
  msgstr "Restringir acceso"
2819
 
2820
- #: ui/admin/upgrade/upgrade_2_0_0.php:18 ui/admin/upgrade/upgrade_2_1_0.php:18
2821
- msgid "Getting Started"
2822
- msgstr "Como empezar"
2823
 
2824
- #: components/Roles/Roles.php:68 components/Roles/Roles.php:214
2825
- msgid "%s User"
2826
- msgid_plural "%s Users"
2827
- msgstr[0] "%s Usuario"
2828
- msgstr[1] "%s Usuarios"
2829
 
2830
- #: ui/admin/upgrade/upgrade_2_0_0.php:22 ui/admin/upgrade/upgrade_2_1_0.php:22
2831
- msgid "Prepare"
2832
- msgstr "Preparar"
2833
 
2834
- #: components/Roles/Roles.php:77 components/Roles/Roles.php:223
2835
- msgid "View Users"
2836
- msgstr "Ver usuarios"
 
 
 
 
 
 
2837
 
2838
- #: ui/admin/upgrade/upgrade_2_0_0.php:38
2839
- msgid "Welcome to #Pods2! We sincerely hope you enjoy over two years worth of planning and work, available to you for <em>free</em>."
2840
- msgstr "Bienvenido a #Pods2! Esperamos sinceramente que disfrutes de más de dos años de planificación y trabajo, disponible para ti <em>gratis</em>"
2841
 
2842
- #: components/Roles/Roles.php:93 components/Roles/ui/add.php:26
2843
- msgid "Capabilities"
2844
- msgstr "Funcionalidades"
2845
 
2846
- #: ui/admin/upgrade/upgrade_2_0_0.php:39
2847
- msgid "Due to a number of optimizations in #Pods2, we need to run a few updates to your database. This should not remove or change your existing Pod data from 1.x, so if you wish to rollback to Pods 1.x - you can easily do that."
2848
- msgstr "Debido a un número de optimizaciones en #Pods2, necesitamos ejecutar unas pocas actualizaciones en tu base de datos. Esto no debería borrar o cambiar tus datos actuales de Pods versión 1.x, con lo que si quieres volver a Pods 1.x puedes hacerlo fácilmente."
 
2849
 
2850
- #: classes/fields/pick.php:424 components/Roles/Roles.php:95
2851
- #: ui/admin/setup-add.php:232
2852
- msgid "Users"
2853
- msgstr "Usuarios"
2854
 
2855
- #: ui/admin/upgrade/upgrade_2_0_0.php:53
2856
- msgid "We will prepare all of your Pods, Settings, and Content for migration. If any issues are found they will be displayed below for your review. Be sure to backup your database before continuing onto the next step for Migration."
2857
- msgstr "Prepararemos todos tus Pods, Ajustes y Contenidos para la migración. Si se encontrara algún problema se mostrarán abajo para que los revises. Asegúrate de hacer copia de seguridad de tu base de datos antes de continuar con el siguiente paso de la Migración."
2858
 
2859
- #: components/Roles/Roles.php:164 components/Roles/Roles.php:297
2860
- msgid "Role not found, cannot edit it."
2861
- msgstr "Rol no encontrado, no se puede editar."
2862
 
2863
- #: ui/admin/upgrade/upgrade_2_0_0.php:61
2864
- msgid "Preparing Your Content for Migration"
2865
- msgstr "Preparando tu contenido para la migración"
2866
 
2867
- #: components/Roles/Roles.php:179
2868
- msgid "Role not found, it cannot be deleted."
2869
- msgstr "Rol no encontrado, no se puede eliminar."
2870
 
2871
- #: ui/admin/upgrade/upgrade_2_0_0.php:95 ui/admin/upgrade/upgrade_2_0_0.php:211
2872
- #: ui/admin/upgrade/upgrade_2_1_0.php:70 ui/admin/upgrade/upgrade_2_1_0.php:100
2873
- msgid "Relationships"
2874
- msgstr "Relaciones"
2875
 
2876
- #: components/Roles/Roles.php:184
2877
- msgid "You cannot remove the <strong>%s</strong> role, you must set a new default role for the site first."
2878
- msgstr "No se puede eliminar el rol <strong>%s</strong>, debes seleccionar primero un nuevo rol por defecto para el sitio."
2879
 
2880
- #: ui/admin/upgrade/upgrade_2_0_0.php:105
2881
- msgid "Item Indexes"
2882
- msgstr "Índices de Item"
2883
 
2884
- #: components/Roles/Roles.php:233
2885
- msgid "role removed from site."
2886
- msgstr "Rol borrado del sitio."
2887
 
2888
- #: ui/admin/upgrade/upgrade_2_0_0.php:115
2889
- #: ui/admin/upgrade/upgrade_2_0_0.php:231
2890
- msgid "Templates"
2891
- msgstr "Plantillas"
2892
 
2893
- #: components/Roles/Roles.php:270
2894
- msgid "Role name is required"
2895
- msgstr "Nombre del rol necesario"
2896
 
2897
- #: ui/admin/upgrade/upgrade_2_0_0.php:125
2898
- #: ui/admin/upgrade/upgrade_2_0_0.php:241
2899
- msgid "Pod Pages"
2900
- msgstr "Páginas de Pod"
2901
 
2902
- #: components/Roles/Roles.php:273
2903
- msgid "Role label is required"
2904
- msgstr "La etiqueta del Rol es necesaria"
2905
 
2906
- #: ui/admin/upgrade/upgrade_2_0_0.php:135
2907
- #: ui/admin/upgrade/upgrade_2_0_0.php:251
2908
- msgid "Helpers"
2909
- msgstr "Helpers"
2910
 
2911
- #: components/Roles/ui/add.php:14
2912
- msgid "Roles &amp; Capabilities: Add New Role"
2913
- msgstr "Roles y Funcionalidades: Añadir un nuevo Rol"
2914
 
2915
- #: ui/admin/upgrade/upgrade_2_0_0.php:163
2916
- msgid "During this process your Pods, Settings, and Content will be migrated into the optimized Pods 2.x architecture. We will not delete any of your old data, the tables will remain until you choose to clean them up after a successful upgrade."
2917
- msgstr "Durante este proceso tus Pods, Ajustes y Contenido serán migrados a la arquitectura optimizada Pods 2.x. No borraremos tu antigua información, las tablas permanecerá hasta que tu decidas limpiarlas después de que haya tenido éxito la actualización."
2918
 
2919
- #: components/Roles/ui/add.php:22
2920
- msgid "Naming"
2921
- msgstr "Nomenclatura"
2922
 
2923
- #: ui/admin/upgrade/upgrade_2_0_0.php:171
2924
- msgid "Migrating Your Content"
2925
- msgstr "Migrando tu contenido"
2926
 
2927
- #: components/Roles/ui/add.php:34
2928
- msgid "Roles allow you to specify which capabilities a user should be able to do within WordPress."
2929
- msgstr "Los roles permiten especificar las funcionalidades que un usuario puede usar en WordPress."
2930
 
2931
- #: ui/admin/upgrade/upgrade_2_0_0.php:181
2932
- msgid "1.x Updates"
2933
- msgstr "Actualizaciones 1.x"
2934
 
2935
- #: components/Roles/ui/add.php:38
2936
- msgid "Name your new Role"
2937
- msgstr "Nombre del nuevo Rol"
2938
 
2939
- #: ui/admin/upgrade/upgrade_2_0_0.php:277
2940
- #: ui/admin/upgrade/upgrade_2_1_0.php:110
2941
- msgid "Cleanup"
2942
- msgstr "Limpieza"
2943
 
2944
- #: components/Roles/ui/add.php:43
2945
- msgid "Users will see this as the name of their role"
2946
- msgstr "Los usuarios verán esto como el nombre de su rol"
2947
 
2948
- #: ui/admin/upgrade/upgrade_2_0_0.php:289
2949
- #: ui/admin/upgrade/upgrade_2_1_0.php:122
2950
- msgid "Start using Pods"
2951
- msgstr "Empezar a usar Pods"
2952
 
2953
- #: components/Roles/ui/add.php:50
2954
- msgid "You will use this name to programatically reference this role throughout WordPress"
2955
- msgstr "Usarás este nombre para referenciar este rol en WordPress"
2956
 
2957
- #: ui/admin/upgrade/upgrade_2_0_0.php:292
2958
- msgid "Migration Complete!"
2959
- msgstr "¡Migración completada!"
 
2960
 
2961
- #: components/Roles/ui/add.php:59
2962
- msgid "Choose below which Capabilities you would like this new user role to have."
2963
- msgstr "Elige debajo qué funcionalidades quieres que tenga el nuevo rol de usuario."
2964
 
2965
- #: ui/admin/upgrade/upgrade_2_1_0.php:38
2966
- msgid "Thanks for upgrading your #Pods2 site! We sincerely hope you enjoy over two years worth of planning and work, available to you for <em>free</em>."
2967
- msgstr "¡Gracias por actualizar tu sitio #Pods2! Esperamos que disfrutes del resultado de aproximadamente dos años de planificación y trabajo, disponible para tí <em>gratis</em>."
 
2968
 
2969
- #: components/Roles/ui/add.php:63 components/Roles/ui/edit.php:74
2970
- msgid "Assign the Capabilities for"
 
2971
  msgstr ""
2972
 
2973
- #: ui/admin/upgrade/upgrade_2_1_0.php:39
2974
- msgid "We need to run a few updates to your database to optimize your relationship data."
2975
- msgstr "Tenemos que ejecutar algunas actualizaciones en tu base de datos para optimizar tus datos de relaciones."
 
2976
 
2977
- #: components/Roles/ui/add.php:67 components/Roles/ui/edit.php:82
2978
- msgid "Toggle All Capabilities on / off"
 
 
 
2979
  msgstr ""
2980
 
2981
- #: ui/admin/upgrade/upgrade_2_1_0.php:52
2982
- msgid "We will prepare your relationships for the upgrade. If any issues are found they will be displayed below for your review. Be sure to backup your database before continuing onto the next step for the Upgrade."
2983
- msgstr "Prepararemos tus relaciones para la actualización. Si se detectaran incidencias se mostrarán debajo para que las puedas revisar. Asegúrate de realizar una copia de seguridad de tu base de datos antes de continuar al siguiente paso para la Actualización."
2984
 
2985
- #: components/Roles/ui/add.php:97 components/Roles/ui/edit.php:113
2986
- msgid "Custom Capabilities"
 
2987
  msgstr ""
2988
 
2989
- #: ui/admin/upgrade/upgrade_2_1_0.php:60
2990
- msgid "Preparing Your Relationships for Upgrade"
2991
- msgstr ""
 
2992
 
2993
- #: components/Roles/ui/add.php:97 components/Roles/ui/edit.php:113
2994
- msgid "These capabilities will automatically be created and assigned to this role"
 
2995
  msgstr ""
2996
 
2997
- #: ui/admin/upgrade/upgrade_2_1_0.php:82
2998
- msgid "During this process your Relationships will be optimized."
 
 
 
 
 
 
2999
  msgstr ""
3000
 
3001
- #: components/Roles/ui/edit.php:15
3002
- msgid "Roles &amp; Capabilities: Edit Role"
 
3003
  msgstr ""
3004
 
3005
- #: ui/admin/upgrade/upgrade_2_1_0.php:90
3006
- msgid "Optimizing Your Relationships"
3007
- msgstr "Optimizando tus Relaciones"
 
3008
 
3009
- #: classes/PodsUI.php:1866 components/Roles/ui/edit.php:24
3010
- #: ui/admin/form-settings.php:47 ui/admin/form-settings.php:62
3011
- #: ui/admin/form.php:65 ui/admin/form.php:89 ui/admin/setup-edit.php:225
3012
- msgid "<strong>Success!</strong> %s %s successfully."
3013
- msgstr "<strong>¡Éxito!</strong> %s %s satisfactoriamente."
3014
 
3015
- #: ui/admin/upgrade/upgrade_2_1_0.php:125
3016
- msgid "Upgrade Complete!"
3017
- msgstr "¡Actualización completa!"
 
3018
 
3019
- #: components/Roles/ui/edit.php:30
3020
- msgid "Choose below which Capabilities you would like this existing user role to have."
3021
- msgstr "Elije debajo qué Funcionalidades quieres que tenga este rol de usuario existente."
 
3022
 
3023
- #: components/Templates/Templates.php:256
3024
- msgid "Enter template name here"
3025
- msgstr "Introduce aquí el nombre de la plantilla"
3026
 
3027
- #: classes/fields/avatar.php:97 classes/fields/avatar.php:109
3028
- #: classes/fields/file.php:171 classes/fields/file.php:183
3029
- #: ui/fields/attachment.php:97 ui/fields/media.php:124 ui/fields/media.php:137
3030
- #: ui/fields/plupload.php:159
3031
- msgid "Add File"
3032
- msgstr "Añadir Archivo"
 
3033
 
3034
- #: classes/PodsInit.php:839
3035
  msgid "New %s"
3036
  msgstr "Nuevo %s"
3037
 
3038
- #: classes/PodsInit.php:841 classes/PodsInit.php:858 classes/PodsInit.php:1273
3039
- #: classes/PodsUI.php:925
3040
  msgid "Edit %s"
3041
  msgstr ""
3042
 
3043
- #: classes/PodsInit.php:842 classes/PodsInit.php:843 classes/PodsUI.php:927
3044
- #: classes/PodsUI.php:938 ui/admin/form.php:68 ui/admin/form.php:92
3045
- #: ui/admin/form.php:166 ui/admin/view.php:30
3046
  msgid "View %s"
3047
  msgstr "Ver %s"
3048
 
3049
- #: classes/PodsInit.php:844 classes/PodsInit.php:855
3050
  msgid "All %s"
3051
  msgstr "Todo %s"
3052
 
3053
- #: classes/PodsInit.php:845 classes/PodsInit.php:853 classes/PodsUI.php:929
3054
  msgid "Search %s"
3055
  msgstr ""
3056
 
3057
- #: classes/PodsInit.php:846
3058
  msgid "No %s Found"
3059
  msgstr ""
3060
 
3061
- #: classes/PodsInit.php:847
3062
  msgid "No %s Found in Trash"
3063
  msgstr "No se encontraron %s en la papelera"
3064
 
3065
- #: classes/PodsInit.php:848 classes/PodsInit.php:856
 
 
 
 
3066
  msgid "Parent %s"
3067
  msgstr ""
3068
 
3069
- #: classes/PodsInit.php:849
 
 
 
 
3070
  msgid "Parent %s:"
3071
  msgstr "%s Padre:"
3072
 
3073
- #: classes/PodsInit.php:854
 
 
 
 
3074
  msgid "Popular %s"
3075
  msgstr ""
3076
 
3077
- #: classes/PodsInit.php:857
 
 
 
 
 
 
 
 
3078
  msgid "Parent %s :"
3079
  msgstr ""
3080
 
3081
- #: classes/PodsInit.php:859
3082
- msgid "Update %s"
 
 
 
 
3083
  msgstr ""
3084
 
3085
  #: classes/PodsInit.php:861
 
 
 
 
 
 
 
 
 
 
 
 
 
3086
  msgid "New %s Name"
3087
  msgstr "Nuevo nombre de %s"
3088
 
3089
- #: classes/PodsInit.php:862
 
 
 
 
 
 
 
 
 
3090
  msgid "Separate %s with commas"
3091
  msgstr "Separar %s con comas"
3092
 
3093
- #: classes/PodsInit.php:863
 
 
 
 
 
 
 
 
3094
  msgid "Add or remove %s"
3095
  msgstr ""
3096
 
3097
- #: classes/PodsInit.php:864
 
 
 
 
 
 
 
 
3098
  msgid "Choose from the most used %s"
3099
  msgstr ""
3100
 
3101
- #: classes/PodsMeta.php:596
 
 
 
 
 
 
 
 
 
 
3102
  msgid "Object required to add a Pods meta group"
3103
  msgstr "Se requiere un objeto para añadir un grupo de metadatos de Pods"
3104
 
3105
- #: classes/PodsMeta.php:826 ui/admin/form.php:410 ui/admin/view.php:186
3106
- msgid "More Fields"
 
 
 
 
3107
  msgstr ""
3108
 
3109
- #: classes/PodsUI.php:491
3110
- msgid "<strong>Error:</strong> Pods UI needs a Pods object or a Table definition to run from, see the User Guide for more information."
3111
  msgstr ""
3112
 
3113
- #: classes/PodsAdmin.php:1382 classes/PodsUI.php:915 classes/PodsUI.php:3537
3114
- #: ui/admin/setup-edit-field-fluid.php:20 ui/admin/setup-edit-field.php:70
3115
- msgid "Duplicate"
3116
- msgstr "Duplicar"
3117
 
3118
- #: classes/PodsUI.php:916 classes/PodsUI.php:919 classes/PodsUI.php:3519
3119
- #: ui/admin/setup-edit.php:362
3120
- msgid "View"
3121
  msgstr ""
3122
 
3123
- #: classes/PodsAdmin.php:1384 classes/PodsUI.php:917
3124
- msgid "Reorder"
3125
- msgstr "Reordenar"
3126
-
3127
- #: classes/Pods.php:2956
3128
- msgid "Go to page:"
3129
- msgstr "Ir a la página:"
3130
 
3131
- #: classes/Pods.php:2958
3132
- msgid "&laquo; First"
3133
- msgstr "&laquo; Primero"
3134
 
3135
- #: classes/Pods.php:2959
3136
- msgid "&lsaquo; Previous"
3137
  msgstr ""
3138
 
3139
- #: classes/Pods.php:2960
3140
- msgid "Next &rsaquo;"
3141
- msgstr "Siguiente &rsaquo;"
3142
-
3143
- #: classes/Pods.php:2961
3144
- msgid "Last &raquo;"
3145
  msgstr ""
3146
 
3147
- #: classes/Pods.php:3079 classes/PodsUI.php:918 classes/PodsUI.php:2599
3148
- #: classes/PodsUI.php:2833
3149
- msgid "Search"
3150
- msgstr "Buscar"
3151
-
3152
- #: classes/Pods.php:3306 classes/PodsAdmin.php:615
3153
- #: ui/admin/components-admin.php:99
3154
- msgid "Save Changes"
3155
- msgstr "Guardar Cambios"
3156
-
3157
- #: classes/Pods.php:3324
3158
- msgid "Form submitted successfully"
3159
- msgstr "Formulario enviado con éxito"
3160
 
3161
- #: classes/PodsAPI.php:312
3162
- msgid "User data is required but is either invalid or empty"
3163
- msgstr ""
3164
 
3165
- #: classes/PodsAPI.php:446
3166
- msgid "Comment data is required but is either invalid or empty"
 
3167
  msgstr ""
3168
 
3169
- #: classes/PodsAPI.php:598
3170
- msgid "Taxonomy term data is required but is either invalid or empty"
3171
- msgstr ""
3172
 
3173
- #: classes/PodsAPI.php:807 classes/PodsAPI.php:818
3174
  msgid "Open"
3175
  msgstr "Abiertos"
3176
 
3177
- #: classes/PodsAPI.php:808 classes/PodsAPI.php:819
 
 
 
 
 
 
 
 
 
 
 
3178
  msgid "Closed"
3179
  msgstr "Cerrado"
3180
 
3181
- #: classes/PodsAPI.php:1180
 
 
 
 
 
 
 
 
3182
  msgid "Please choose whether to Create or Extend a Content Type"
3183
  msgstr "Por favor, elige entre Crear o Ampliar un Tipo de Contenido"
3184
 
3185
- #: classes/PodsAPI.php:1295
 
 
 
 
 
 
 
 
3186
  msgid "Post Type %s already exists, try extending it instead"
3187
  msgstr "El tipo de Post %s ya existe, intenta ampliarlo"
3188
 
3189
- #: classes/PodsAPI.php:1304
3190
- msgid "Taxonomy %s already exists, try extending it instead"
3191
- msgstr ""
3192
 
3193
- #: classes/PodsAPI.php:1376
3194
- msgid "Pod %s already exists, you cannot rename %s to that"
3195
- msgstr ""
 
 
 
 
 
 
 
3196
 
3197
- #: classes/PodsAPI.php:1379 classes/PodsAPI.php:1382
3198
- msgid "Pod %s cannot be renamed, it extends an existing WP Object"
3199
  msgstr ""
3200
 
3201
- #: classes/PodsAPI.php:1386
3202
- msgid "Pod using %s already exists, you can not reuse an object across multiple pods"
3203
- msgstr "Ya existe un Pod que usa %s, no puedes reutilizar un objeto entre varios pods"
3204
 
3205
- #: classes/PodsAPI.php:1388
3206
- msgid "Pod %s already exists"
3207
- msgstr "El Pod %s ya existe"
3208
 
3209
- #: classes/PodsAPI.php:1556
3210
- msgid "Post Type %s already exists, you cannot rename %s to that"
3211
  msgstr ""
3212
 
3213
- #: classes/PodsAPI.php:1562
3214
- msgid "Taxonomy %s already exists, you cannot rename %s to that"
 
 
 
 
 
 
 
 
3215
  msgstr ""
3216
 
3217
- #: classes/PodsAPI.php:1571
3218
- msgid "Pod name cannot be empty"
3219
- msgstr ""
3220
 
3221
- #: classes/PodsAPI.php:1671
3222
- msgid "Cannot save Pod"
3223
- msgstr "No se puede guardar el Pod"
3224
 
3225
- #: classes/PodsAPI.php:1703
3226
- msgid "Cannot add Database Table for Pod"
3227
- msgstr "No se puede añadir la tabla de la base de datos para el Pod"
3228
 
3229
- #: classes/PodsAPI.php:1710
3230
- msgid "Cannot update Database Table for Pod"
3231
- msgstr "No se puede actualizar la tabla de la base de datos para el Pod"
 
3232
 
3233
- #: classes/PodsAPI.php:1927
3234
- msgid "Cannot save the %s field"
3235
- msgstr "No se puede guardar el campo %s"
3236
 
3237
- #: classes/PodsAPI.php:2040
3238
- msgid "Pod ID or name is required"
3239
- msgstr "El ID o nombre del Pod son requeridos"
3240
 
3241
- #: classes/PodsAPI.php:2055 classes/PodsAPI.php:2886 classes/PodsAPI.php:3821
3242
- #: classes/PodsAPI.php:3946 classes/PodsAPI.php:4218 classes/PodsAPI.php:4340
3243
- #: classes/PodsAPI.php:4451 classes/PodsAPI.php:4650 classes/PodsAPI.php:5111
3244
- #: classes/PodsAPI.php:5599 classes/PodsAPI.php:5819 classes/PodsAPI.php:6327
3245
- #: classes/PodsAPI.php:7479
3246
- msgid "Pod not found"
3247
- msgstr "Pod no encontrado"
3248
 
3249
- #: classes/PodsAPI.php:2088
3250
- msgid "Field %s already exists, you cannot rename %s to that"
3251
- msgstr "El campo %s ya existe, no puedes renombrar %s de ese modo"
3252
 
3253
- #: classes/PodsAPI.php:2091
3254
- msgid "Field %s already exists"
3255
  msgstr ""
3256
 
3257
- #: classes/PodsAPI.php:2229 classes/PodsAPI.php:2232 classes/PodsAPI.php:2235
3258
- #: classes/PodsAPI.php:2298 classes/PodsAPI.php:2304 classes/PodsAPI.php:2307
3259
- msgid "%s is reserved for internal Pods usage, please try a different name"
3260
- msgstr ""
3261
 
3262
- #: classes/PodsAPI.php:2239
3263
- msgid "%s is reserved for internal WordPress or Pods usage, please try a different name. Also consider what WordPress and Pods provide you built-in."
3264
  msgstr ""
3265
 
3266
- #: classes/PodsAPI.php:2247
3267
- msgid "This pod already has an internal WordPress permalink field"
3268
  msgstr ""
3269
 
3270
- #: classes/PodsAPI.php:2264
3271
- msgid "This pod already has a permalink field"
3272
- msgstr "Este Pod ya tiene un campo de enlace permanente"
3273
-
3274
- #: classes/PodsAPI.php:2300 classes/PodsAPI.php:2316
3275
- msgid "%s is not editable"
3276
- msgstr "%s no es editable"
3277
-
3278
- #: classes/PodsAPI.php:2314
3279
- msgid "%s is reserved for internal WordPress or Pods usage, please try a different name"
3280
- msgstr "%s está reservado para el uso interno de WordPress o Pods, por favor prueba con otro nombre"
3281
 
3282
- #: classes/PodsAPI.php:2352
3283
- msgid "Cannot save Field"
3284
  msgstr ""
3285
 
3286
- #: classes/PodsAPI.php:2385 classes/PodsAPI.php:2392 classes/PodsAPI.php:2404
3287
- msgid "Cannot create new field"
3288
  msgstr ""
3289
 
3290
- #: classes/PodsAPI.php:2568
3291
- msgid "Name must be given to save an Object"
3292
- msgstr ""
 
 
3293
 
3294
- #: classes/PodsAPI.php:2571
3295
- msgid "Type must be given to save an Object"
3296
- msgstr "Se debe especificar un tipo para guardar un Objeto"
3297
 
3298
- #: classes/PodsAPI.php:3085
3299
- msgid "Pre-save helpers are deprecated, use the action pods_pre_save_pod_item_%s instead"
3300
- msgstr ""
3301
 
3302
- #: classes/PodsAPI.php:3140 classes/PodsMeta.php:1988
3303
- msgid "There was an issue validating the field %s"
3304
- msgstr ""
 
3305
 
3306
- #: classes/PodsAPI.php:3555
3307
- msgid "Post-save helpers are deprecated, use the action pods_post_save_pod_item_%s instead"
3308
- msgstr "Los Helpers Post-guardado están obsoletos, usa la acción pods_post_save_pod_item_%s en su lugar"
3309
 
3310
- #: classes/PodsAPI.php:4156 classes/PodsAPI.php:4630
3311
- msgid "$params->pod instead of $params->datatype"
3312
- msgstr "$params->pod en vez de $params->datatype"
3313
 
3314
- #: classes/PodsAPI.php:4164
3315
- msgid "$params->pod is required"
3316
- msgstr "$params->pod requerido"
 
 
3317
 
3318
- #: classes/PodsAPI.php:4174
3319
- msgid "Pod is required"
3320
- msgstr "El Pod es necesario"
 
 
 
 
 
 
 
 
3321
 
3322
- #: classes/PodsAPI.php:4358
3323
- msgid "Pod unable to be deleted"
3324
- msgstr "No se puede eliminar el Pod"
3325
 
3326
- #: classes/PodsAPI.php:3896 classes/PodsAPI.php:4465 classes/PodsAPI.php:5631
3327
- #: classes/PodsAPI.php:5644
3328
- msgid "Field not found"
3329
- msgstr "Campo no encontrado"
3330
 
3331
- #: classes/PodsAPI.php:4479
3332
- msgid "Field unable to be deleted"
3333
- msgstr "El campo no se puede eliminar"
 
 
 
3334
 
3335
- #: classes/PodsAPI.php:4517
3336
- msgid "%s Object not found"
3337
- msgstr "Objeto %s no encontrado"
3338
 
3339
- #: classes/PodsAPI.php:4522
3340
- msgid "%s Object not deleted"
3341
- msgstr ""
3342
 
3343
- #: classes/PodsAPI.php:4612
3344
- msgid "$params->id instead of $params->tbl_row_id"
3345
- msgstr ""
 
3346
 
3347
- #: classes/PodsAPI.php:4618
3348
- msgid "$params->id instead of $params->pod_id"
3349
- msgstr "$params->id en lugar de $params->pod_id"
3350
 
3351
- #: classes/PodsAPI.php:4624
3352
- msgid "$params->pod_id instead of $params->datatype_id"
3353
  msgstr ""
3354
 
3355
- #: classes/PodsAPI.php:4637
3356
- msgid "Pod Item not found"
3357
- msgstr "Item Pod no encontrado"
3358
-
3359
- #: classes/PodsAPI.php:4680
3360
- msgid "Pre-delete helpers are deprecated, use the action pods_pre_delete_pod_item_%s instead"
3361
- msgstr "Los Helpers de Pre-borrado están obsoletos, usa la acción pods_pre_delete_pod_item_%s en su lugar"
3362
 
3363
- #: classes/PodsAPI.php:4717
3364
- msgid "Post-delete helpers are deprecated, use the action pods_post_delete_pod_item_%s instead"
3365
- msgstr ""
 
 
 
 
3366
 
3367
- #: classes/PodsAPI.php:5609
3368
- msgid "Either Field Name or Field ID / Pod ID are required"
3369
  msgstr ""
3370
 
3371
- #: classes/PodsAPI.php:5899
3372
- msgid "Either Field Name / Field ID / Field Type, or Pod Name / Pod ID are required"
3373
- msgstr "Nombre del campo / ID del campo / Tipo de Campo, o Nombre del Pod / ID del Pod son necesarios"
 
3374
 
3375
- #: classes/PodsAPI.php:5969
3376
- msgid "Object type is required"
3377
- msgstr "Es necesario el tipo del objeto"
3378
 
3379
- #: classes/PodsAPI.php:5972
3380
- msgid "Either Object ID or Name are required"
3381
  msgstr ""
3382
 
3383
- #: classes/PodsAPI.php:5989
3384
- msgid "Object not found"
3385
- msgstr "Objeto no encontrado"
3386
-
3387
- #: classes/PodsAPI.php:6032
3388
- msgid "Pods Object type is required"
3389
- msgstr "El tipo del Objeto Pod es necesario"
3390
 
3391
- #: classes/PodsAPI.php:6285
3392
- msgid "Pod name required"
3393
- msgstr "Nombre del Pod requerido"
3394
 
3395
- #: classes/PodsAPI.php:6287
3396
- msgid "Item ID required"
3397
  msgstr ""
3398
 
3399
- #: classes/PodsAPI.php:6351
3400
- msgid "Related Pod not found"
3401
- msgstr "Pod relacionado no encontrado"
 
3402
 
3403
- #: classes/PodsAPI.php:6468
3404
- msgid "%s is empty"
 
3405
  msgstr ""
3406
 
3407
- #: classes/PodsAPI.php:6484 classes/fields/email.php:190
3408
- msgid "%s is required"
3409
- msgstr "%s requerido"
 
 
3410
 
3411
- #: classes/PodsAPI.php:6511
3412
- msgid "%s needs to be unique"
3413
- msgstr "%s debe ser único"
 
3414
 
3415
- #: classes/PodsAPI.php:7750
3416
- msgid "Invalid submission"
3417
- msgstr "Envío no válido"
3418
 
3419
- #: classes/PodsAPI.php:7760
3420
- msgid "Access denied for your session, please refresh and try again."
 
 
 
 
 
 
 
 
 
 
3421
  msgstr ""
3422
 
3423
- #: classes/PodsAPI.php:7763
3424
- msgid "Access denied, please refresh and try again."
3425
- msgstr "Acceso denegado, por favor actualiza e inténtalo de nuevo."
3426
 
3427
- #: classes/PodsAdmin.php:228 classes/PodsAdmin.php:833
3428
- #: classes/PodsAdmin.php:1953
3429
- msgid "All"
3430
- msgstr "Todo"
3431
 
3432
- #: classes/PodsAdmin.php:232 classes/PodsAdmin.php:288
3433
- #: classes/PodsAdmin.php:1381 classes/PodsInit.php:840 classes/PodsUI.php:914
3434
- #: classes/PodsUI.php:3528 ui/admin/setup-edit-field-fluid.php:17
3435
- #: ui/admin/setup-edit-field.php:67 ui/admin/setup-edit.php:350
3436
- msgid "Edit"
3437
- msgstr "Editar"
3438
 
3439
- #: classes/PodsAdmin.php:234 classes/PodsAdmin.php:255
3440
- #: classes/PodsAdmin.php:256 classes/PodsAdmin.php:290
3441
- #: classes/PodsAdmin.php:304 classes/PodsAdmin.php:424
3442
- #: classes/PodsAdmin.php:1380 classes/PodsInit.php:837 classes/PodsUI.php:913
3443
- #: classes/PodsUI.php:934 ui/admin/setup-edit.php:338
3444
- msgid "Add New"
3445
- msgstr "Añadir Nuevo"
3446
 
3447
- #: classes/PodsAdmin.php:284 classes/PodsAdmin.php:305 classes/PodsUI.php:912
3448
- #: components/Roles/ui/edit.php:39 ui/admin/form.php:153 ui/admin/view.php:17
3449
- msgid "Manage"
3450
- msgstr "Administrar"
 
 
 
 
 
3451
 
3452
- #: classes/PodsAdmin.php:419
3453
- msgid "Edit Pods"
3454
- msgstr "Editar Pods"
3455
 
3456
- #: classes/PodsAdmin.php:429
3457
- msgid "Components"
3458
- msgstr "Componentes"
 
 
 
 
 
 
 
 
 
 
 
3459
 
3460
- #: classes/PodsAdmin.php:434 classes/PodsAdmin.php:457
3461
- #: ui/admin/components-admin.php:10 ui/admin/upgrade/upgrade_2_0_0.php:221
3462
- msgid "Settings"
3463
- msgstr "Ajustes"
3464
 
3465
- #: classes/PodsAdmin.php:439 classes/PodsAdmin.php:462
3466
- msgid "Help"
3467
- msgstr "Ayuda"
3468
 
3469
- #: classes/PodsAdmin.php:452 ui/admin/upgrade/upgrade_2_1_0.php:26
3470
- msgid "Upgrade"
 
 
 
 
 
3471
  msgstr ""
3472
 
3473
- #: classes/PodsAdmin.php:496
3474
- msgid "Pods Admin"
3475
- msgstr "Administrador de Pods"
3476
 
3477
- #: classes/PodsAdmin.php:499
3478
- msgid "Pods Upgrade"
3479
- msgstr ""
 
3480
 
3481
- #: classes/PodsAdmin.php:563
3482
- msgid "<strong>NOTICE:</strong> Pods %s requires your action to complete the upgrade. Please run the <a href=\"%s\">Upgrade Wizard</a>."
3483
  msgstr ""
3484
 
3485
- #: classes/Pods.php:3596
3486
- msgid "ID"
 
 
 
 
 
 
 
 
 
3487
  msgstr ""
3488
 
3489
- #: classes/Pods.php:3689 classes/PodsAdmin.php:1383 classes/PodsUI.php:3546
3490
- #: ui/admin/form.php:212 ui/admin/setup-edit-field-fluid.php:23
3491
- #: ui/admin/setup-edit-field.php:73 ui/admin/view.php:76
3492
- msgid "Delete"
3493
- msgstr "Eliminar"
3494
 
3495
- #: classes/PodsAdmin.php:706
3496
- msgid "Post Type (extended)"
3497
- msgstr "Tipo de Post (extendido)"
 
 
 
3498
 
3499
- #: classes/PodsAdmin.php:707
3500
- msgid "Taxonomy (extended)"
3501
- msgstr "Taxonomía (extendida)"
3502
 
3503
- #: classes/PodsAdmin.php:708
3504
- msgid "Custom Post Type"
3505
- msgstr "Tipo de Post Personalizado"
3506
 
3507
- #: classes/PodsAdmin.php:709
3508
- msgid "Custom Taxonomy"
3509
- msgstr "Taxonomía personalizada"
 
 
 
3510
 
3511
- #: classes/PodsAdmin.php:710
3512
- msgid "User (extended)"
3513
  msgstr ""
3514
 
3515
- #: classes/PodsAdmin.php:711
3516
- msgid "Media (extended)"
3517
- msgstr ""
 
3518
 
3519
- #: classes/PodsAdmin.php:712
3520
- msgid "Comments (extended)"
3521
- msgstr "Comentarios (extendidos)"
 
 
 
3522
 
3523
- #: classes/PodsAdmin.php:713
3524
- msgid "Advanced Content Type"
3525
  msgstr ""
3526
 
3527
- #: classes/PodsAdmin.php:722 components/Roles/Roles.php:91
3528
- #: components/Roles/ui/add.php:43 ui/admin/setup-edit-field-fluid.php:62
3529
- #: ui/admin/setup-edit.php:330
3530
- msgid "Label"
3531
- msgstr ""
3532
 
3533
- #: classes/PodsAdmin.php:723 classes/PodsAdmin.php:1921 classes/PodsUI.php:944
3534
- #: components/Roles/Roles.php:92 components/Roles/ui/add.php:50
3535
- #: ui/admin/setup-edit-field-fluid.php:66
3536
- msgid "Name"
3537
- msgstr ""
 
3538
 
3539
- #: classes/PodsAdmin.php:726 ui/admin/setup-add.php:198
3540
- #: ui/admin/setup-add.php:328
3541
- msgid "Storage Type"
3542
- msgstr "Tipo de almacenamiento"
3543
 
3544
- #: classes/PodsAdmin.php:813
3545
- msgid "Delete All Items"
3546
- msgstr ""
3547
 
3548
- #: classes/PodsAdmin.php:1748 classes/PodsAdmin.php:1790
3549
- msgid "Pod not found."
3550
- msgstr "Pod no encontrado."
 
 
 
3551
 
3552
- #: classes/PodsAdmin.php:1799
3553
- msgid "Pod deleted successfully."
3554
- msgstr ""
3555
 
3556
- #: classes/PodsAdmin.php:1752
3557
- msgid "Pod reset successfully."
3558
- msgstr ""
 
3559
 
3560
- #: classes/PodsAdmin.php:1879
3561
- msgid "by %s"
3562
- msgstr ""
 
 
 
3563
 
3564
- #: classes/PodsAdmin.php:1882
3565
- msgid "Visit component site"
3566
- msgstr "Visitar el sitio del componente"
 
3567
 
3568
- #: classes/PodsAdmin.php:1937 ui/admin/setup-edit-field-fluid.php:70
3569
- msgid "Description"
3570
- msgstr "Descripción"
3571
 
3572
- #: classes/PodsAdmin.php:2042 classes/PodsAdmin.php:2081
3573
- msgid "Component enabled"
3574
- msgstr ""
3575
 
3576
- #: classes/PodsAdmin.php:2044 classes/PodsAdmin.php:2083
3577
- msgid "Component disabled"
3578
- msgstr "Componente deshabilitado"
3579
 
3580
- #: classes/PodsAdmin.php:2265 classes/fields/file.php:595
3581
- #: classes/fields/pick.php:1753
3582
- msgid "Unauthorized request"
3583
- msgstr ""
3584
 
3585
- #: classes/PodsAdmin.php:2276
3586
- msgid "Access denied"
3587
- msgstr "Acceso denegado"
 
3588
 
3589
- #: classes/fields/file.php:610 classes/fields/pick.php:1772
3590
- #: classes/fields/pick.php:1774
3591
- msgid "Invalid field request"
3592
- msgstr "Petición de campo no válida"
3593
 
3594
- #: classes/fields/file.php:613 classes/fields/pick.php:1776
3595
- #: classes/fields/pick.php:1778 classes/fields/pick.php:1780
3596
- msgid "Invalid field"
3597
- msgstr ""
3598
 
3599
- #: classes/fields/file.php:652
3600
- msgid "File size too large, max size is %s"
3601
- msgstr ""
3602
 
3603
- #: classes/fields/file.php:743
3604
- msgid "File type not allowed, please use one of the following: %s"
3605
- msgstr ""
3606
 
3607
- #: classes/PodsInit.php:779 components/Helpers.php:112 components/Pages.php:161
3608
- #: components/Templates/Templates.php:135
3609
- msgid "%s updated. <a href=\"%s\">%s</a>"
3610
- msgstr "%s actualizado. <a href=\"%s\">%s</a>"
3611
 
3612
- #: classes/PodsInit.php:780 components/Helpers.php:113 components/Pages.php:162
3613
- #: components/Templates/Templates.php:136
3614
- msgid "Custom field updated."
3615
- msgstr ""
3616
 
3617
- #: classes/PodsInit.php:781 components/Helpers.php:114 components/Pages.php:163
3618
- #: components/Templates/Templates.php:137
3619
- msgid "Custom field deleted."
3620
- msgstr ""
3621
 
3622
- #: classes/PodsInit.php:782 classes/PodsInit.php:799 components/Helpers.php:115
3623
- #: components/Helpers.php:136 components/Pages.php:164 components/Pages.php:185
3624
- #: components/Templates/Templates.php:138
3625
- #: components/Templates/Templates.php:159
3626
- msgid "%s updated."
3627
- msgstr ""
3628
 
3629
- #: classes/PodsInit.php:784 components/Helpers.php:117 components/Pages.php:166
3630
- #: components/Templates/Templates.php:140
3631
- msgid "%s restored to revision from %s"
3632
- msgstr ""
3633
 
3634
- #: classes/PodsInit.php:785 components/Helpers.php:118 components/Pages.php:167
3635
- #: components/Templates/Templates.php:141
3636
- msgid "%s published. <a href=\"%s\">%s</a>"
3637
- msgstr "%s publicado. <a href=\"%s\">%s</a>"
3638
 
3639
- #: classes/PodsInit.php:786 components/Helpers.php:119 components/Pages.php:168
3640
- #: components/Templates/Templates.php:142
3641
- msgid "%s saved."
3642
- msgstr ""
3643
 
3644
- #: classes/PodsInit.php:787 components/Helpers.php:120 components/Pages.php:169
3645
- #: components/Templates/Templates.php:143
3646
- msgid "%s submitted. <a target=\"_blank\" href=\"%s\">Preview %s</a>"
3647
- msgstr "%s enviado. <a target=\"_blank\" href=\"%s\">Previsualizar %s</a>"
3648
 
3649
- #: classes/PodsInit.php:788 components/Helpers.php:125 components/Pages.php:174
3650
- #: components/Templates/Templates.php:148
3651
- msgid "%s scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Preview %s</a>"
3652
- msgstr ""
3653
 
3654
- #: classes/PodsInit.php:795 components/Helpers.php:132 components/Pages.php:181
3655
- #: components/Templates/Templates.php:155
3656
- msgid "%s draft updated. <a target=\"_blank\" href=\"%s\">Preview %s</a>"
3657
- msgstr ""
3658
 
3659
- #: classes/PodsInit.php:800 components/Helpers.php:137 components/Pages.php:186
3660
- #: components/Templates/Templates.php:160
3661
- msgid "%s published."
3662
- msgstr "%s publicado."
3663
 
3664
- #: classes/PodsInit.php:801 components/Helpers.php:138 components/Pages.php:187
3665
- #: components/Templates/Templates.php:161
3666
- msgid "%s submitted."
3667
  msgstr ""
3668
 
3669
- #: classes/PodsInit.php:802 components/Helpers.php:139 components/Pages.php:188
3670
- #: components/Templates/Templates.php:162
3671
- msgid "%s scheduled for: <strong>%1$s</strong>."
3672
- msgstr "%s programado para: <strong>%1$s</strong>."
3673
 
3674
- #: classes/PodsInit.php:807 components/Helpers.php:144 components/Pages.php:193
3675
- #: components/Templates/Templates.php:167
3676
- msgid "%s draft updated."
 
 
 
3677
  msgstr ""
3678
 
3679
- #: classes/PodsInit.php:827 classes/PodsUI.php:901
3680
- msgid "Items"
3681
- msgstr "Items"
3682
 
3683
- #: classes/PodsInit.php:828 classes/PodsUI.php:900
3684
- msgid "Item"
3685
- msgstr "Item"
3686
 
3687
- #: classes/PodsInit.php:838 classes/PodsInit.php:860 classes/PodsUI.php:924
3688
- msgid "Add New %s"
3689
- msgstr ""
 
 
 
 
 
 
 
 
 
1
+ # Translation of Pods Framework in Spanish (Spain)
2
+ # This file is distributed under the same license as the Pods Framework package.
3
  msgid ""
4
  msgstr ""
5
+ "PO-Revision-Date: 2015-08-04 18:13:10+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
10
+ "X-Generator: GlotPress/1.0-alpha-1100\n"
11
+ "Project-Id-Version: Pods Framework\n"
12
 
13
+ #: classes/PodsUI.php:2352
14
+ msgid "Invalid bulk request, please try again."
 
 
 
 
15
  msgstr ""
16
 
17
+ #: components/Pages.php:424
18
+ msgid "Setting the Wildcard Slug is an easy way to setup a detail page. You can use the special tag {@url.2} to match the *third* level of the URL of a Pod Page named \"first/second/*\" part of the pod page. This is functionally the same as using pods_v_sanitized( 2, \"url\" ) in PHP."
19
  msgstr ""
20
 
21
+ #: ui/admin/help.php:6
22
+ msgid "Pods Support"
23
  msgstr ""
24
 
25
+ #: ui/admin/help.php:8
26
+ msgid "There are many resources available to help you learn to use Pods on our site, <a href=\"http://pods.io/\" target=\"_blank\">Pods.io</a>:"
27
  msgstr ""
28
 
29
+ #: ui/admin/help.php:10
30
+ msgid "To learn more about using Pods, see the <a href=\"http://pods.io/docs/\" target=\"_blank\">documentation</a>, or our <a href=\"http://pods.io/tutorials/\" target=\"_blank\">tutorials section</a>"
31
  msgstr ""
32
 
33
+ #: ui/admin/help.php:12
34
+ msgid "To get help with a specific issue, you can ask in our <a href=\"http://pods.io/forums/\" target=\"_blank\">support forums</a>, or in <a href=\"http://pods.io/forums/chat/\" target=\"_blank\">our chat</a>"
35
  msgstr ""
36
 
37
+ #: ui/admin/help.php:14
38
+ msgid "To report <strong>bugs or request features</strong>, go to our <a href=\"https://github.com/pods-framework/pods/issues?sort=updated&direction=desc&state=open\" target=\"_blank\">GitHub</a>."
39
  msgstr ""
40
 
41
+ #: ui/admin/help.php:16
42
+ msgid "Pods is open source, so if you want to get into the code and submit your own fixes or features, go at it, we'd love to have you contribute on our project! With GitHub, it's really easy to contribute back, so why not give it a try?"
43
  msgstr ""
44
 
45
+ #: ui/admin/help.php:32
46
+ msgid "Latest Forum Posts at <a href=\"http://pods.io/forums/forum/general-discussion/pods-2-x/\" target=\"_blank\">pods.io</a>"
47
  msgstr ""
48
 
49
+ #: ui/admin/help.php:77
50
+ msgid "Latest Activity on <a href=\"http://github.com/pods-framework/pods\" target=\"_blank\">GitHub</a>"
51
  msgstr ""
52
 
53
+ #: ui/admin/settings-reset.php:62
54
+ msgid "This does not remove any items from any Post Types, Taxonomies, Media, Users, or Comments data you have added/modified. Any custom fields stored using the table storage component, content in Advanced Content Types, and relationships between posts will be lost."
55
  msgstr ""
56
 
57
+ #: ui/admin/settings-reset.php:112
58
+ msgid "Reset Weekend"
59
  msgstr ""
60
 
61
+ #: ui/admin/settings-reset.php:114
62
+ msgid "This feature has been exclusively built for Pods to help developers suffering from \"Monday\", and allows them to reset the weekend."
63
  msgstr ""
64
 
65
+ #: ui/admin/settings-reset.php:115
66
+ msgid "By resetting the weekend, you will be sent back to Friday night and the weekend you've just spent will be erased. You will retain all of your memories of the weekend, and be able to relive it in any way you wish."
67
  msgstr ""
68
 
69
+ #: ui/admin/settings-reset.php:118
70
+ msgid ""
71
+ "Are you sure you want to Reset your Weekend?\n"
72
+ "\n"
73
+ "There is no going back, you cannot reclaim anything you've gained throughout your weekend.\n"
74
+ "\n"
75
+ "You are about to be groundhoggin' it"
76
  msgstr ""
77
 
78
+ #: ui/admin/upgrade/upgrade_2_0_0.php:38
79
+ msgid "Welcome to Pods 2.x! We sincerely hope you enjoy over two years worth of planning and work, available to you for <em>free</em>."
80
  msgstr ""
81
 
82
+ #: ui/admin/upgrade/upgrade_2_1_0.php:38
83
+ msgid "Thanks for upgrading your Pods 2.x site! We sincerely hope you enjoy over two years worth of planning and work, available to you for <em>free</em>."
84
  msgstr ""
85
 
86
+ #: classes/PodsAdmin.php:677
87
+ msgid "Pods Shortcode"
88
  msgstr ""
89
 
90
+ #: tests/includes/_tests-integration-pods.php:71
91
+ msgid "Item %s does not exist"
92
  msgstr ""
93
 
94
+ #. Plugin Name of the plugin/theme
95
+ msgid "Pods - Custom Content Types and Fields"
96
+ msgstr "Pods - Contenidos personalizados y Campos"
97
 
98
+ #. Plugin URI of the plugin/theme
99
+ msgid "http://pods.io/"
100
+ msgstr "http://pods.io/"
101
 
102
+ #. Description of the plugin/theme
103
+ msgid "Pods is a framework for creating, managing, and deploying customized content types and fields"
104
+ msgstr "Pods es un framework para crear, administrar, e implementar tipos de contenido y campos personalizados"
105
 
106
+ #. Author of the plugin/theme
107
+ msgid "Pods Framework Team"
108
+ msgstr "Equipo del Framework Pods"
109
 
110
+ #. Author URI of the plugin/theme
111
+ msgid "http://pods.io/about/"
112
+ msgstr "http://pods.io/about/"
113
 
114
+ #: ui/admin/setup-edit.php:620
115
+ msgid "Remember order saved on Post Types"
116
+ msgstr "Recordar el orden guardado en los Tipos de Post"
117
 
118
+ #: ui/admin/setup-edit.php:625
119
+ msgid "Function to call when updating counts"
120
+ msgstr "Función a llamar al actualizar cuentas"
121
 
122
+ #: ui/admin/setup-edit.php:630
123
+ msgid "Associated Post Types"
124
+ msgstr "Tipos de Post Asociados"
125
 
126
+ #: ui/admin/setup-edit.php:668
127
+ msgid "Detail Page URL"
128
+ msgstr "URL de la Página de Detalle"
129
 
130
+ #: ui/admin/setup-edit.php:682
131
+ msgid "Title Field"
132
+ msgstr "Campo título"
133
 
134
+ #: ui/admin/setup-edit.php:682
135
+ msgid "If you delete the \"name\" field, we need to specify the field to use as your primary title field. This field will serve as an index of your content. Most commonly this field represents the name of a person, place, thing, or a summary field."
136
+ msgstr "Si borras el campo \"nombre\", necesitamos especificar que campo usar como campo título primario. Este campo servirá como un índice de tu contenido. Más comunmente este campo representa el nombre de una persona, lugar, cosa o un campo resumen."
137
 
138
+ #: ui/admin/setup-edit.php:700
139
+ msgid "No Hierarchical Fields found"
140
+ msgstr "No se han encontrado campos jerárquicos"
141
 
142
+ #: ui/admin/setup-edit.php:704
143
+ msgid "Hierarchical Field"
144
+ msgstr "Campo Jerárquico"
145
 
146
+ #: ui/admin/setup-edit.php:722
147
+ msgid "Pre-Save Helper(s)"
148
+ msgstr "Auxiliar/es (Helper(s)) ejecutados antes de guardar"
 
 
 
 
149
 
150
+ #: ui/admin/setup-edit.php:736
151
+ msgid "Post-Save Helper(s)"
152
+ msgstr "Auxiliar/es (Helper(s)) ejecutados después de guardar"
153
 
154
+ #: ui/admin/setup-edit.php:750
155
+ msgid "Pre-Delete Helper(s)"
156
+ msgstr "Auxiliar/es (Helper(s)) ejecutados antes de borrar"
157
 
158
+ #: ui/admin/setup-edit.php:764
159
+ msgid "Post-Delete Helper(s)"
160
+ msgstr "Auxiliar/es (Helper(s)) ejecutados después de borrar"
161
 
162
+ #: ui/admin/setup-edit.php:797
163
+ msgid "Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table."
164
+ msgstr "Las taxonomías no permiten campos extra de forma nativa, pero Pods puede añadir esta funcionalidad para tí de manera sencilla. El almacenamiento basado en tablas operará de forma que cualquiera campo que crees para tu tipo de contenido se convierta en un campo en una tabla."
165
 
166
+ #: ui/admin/setup-edit.php:799
167
+ msgid "Enabling extra fields for this taxonomy will add a custom table into your database as <em>%s</em>."
168
+ msgstr "Habilitando campos extra para esta taxonomía añadirá una tabla personalizada a tu base de datos como <em>%s</em>"
169
 
170
+ #: ui/admin/setup-edit.php:804
171
+ msgid "Enable Extra Fields"
172
+ msgstr "Habilitar Campos Adicionales"
173
 
174
+ #: ui/admin/setup-edit.php:823
175
+ msgid "Are you sure you want to delete this Pod? All fields and data will be removed."
176
+ msgstr "¿Estás seguro de que quieres eliminar este Pod? Todos los campos y los datos se borrarán."
177
 
178
+ #: ui/admin/setup-edit.php:931
179
+ msgid "Loading available fields.."
180
+ msgstr "Cargando campos disponibles..."
181
 
182
+ #: ui/admin/setup-edit.php:963
183
+ msgid "There was a server error with your AJAX request."
184
  msgstr ""
185
 
186
+ #: ui/admin/setup-edit.php:966
187
+ msgid "-- Select Related Field --"
188
+ msgstr "-- Seleccionar campo relacionado --"
189
 
190
+ #: ui/admin/shortcode.php:318
191
+ msgid "Pods &raquo; Embed"
192
+ msgstr "Pods &raquo; Incrustar"
193
 
194
+ #: ui/admin/shortcode.php:323
195
+ msgid "What would you like to do?"
196
+ msgstr "¿Qué quieres hacer?"
197
 
198
+ #: ui/admin/shortcode.php:327
199
+ msgid "List multiple Pod items"
200
+ msgstr "Listar múltiples items Pod"
201
 
202
+ #: ui/admin/shortcode.php:328
203
+ msgid "Display a field from a single Pod item"
204
+ msgstr "Mostrar un campo de un item Pod"
205
 
206
+ #: ui/admin/shortcode.php:329
207
+ msgid "Display a field from this item"
208
+ msgstr "Mostrar un campo de este elemento"
209
 
210
+ #: ui/admin/shortcode.php:333
211
+ msgid "Embed content from a Pods Page"
212
  msgstr ""
213
 
214
+ #: ui/admin/shortcode.php:344
215
+ msgid "Choose a Pod"
216
+ msgstr "Elige un Pod"
217
 
218
+ #: ui/admin/shortcode.php:405
219
+ msgid "Pods Page"
220
  msgstr ""
221
 
222
+ #: ui/admin/shortcode.php:418 ui/admin/widgets/form.php:43
223
+ msgid "ID or Slug"
224
+ msgstr "ID o Slug"
225
 
226
+ #: ui/admin/shortcode.php:500
227
+ msgid "Insert"
228
+ msgstr "Insertar"
229
 
230
+ #: ui/admin/upgrade/backup.php:1
231
+ msgid "We recommend that you back your database up, it can really save you in a bind or a really weird situation that you may not be expecting. Check out a few options we think are <em>great</em> below."
232
+ msgstr "Te recomendamos que hagas una copia de seguridad de tu base de datos, te puede salvar de una situación rara que no esperabas. Echa un vistazo a estas pocas opciones aquí abajo, pensamos que son <em>muy buenas</em>."
233
 
234
+ #: ui/admin/upgrade/backup.php:7
235
+ msgid "Receive 25% off"
236
+ msgstr "Recibe el 25% de descuento"
237
 
238
+ #: ui/admin/upgrade/backup.php:9
239
+ msgid "Coupon Code"
240
+ msgstr "Código de descuento"
241
 
242
+ #: ui/admin/upgrade/backup.php:12
243
+ msgid "The all-in-one WordPress backup plugin to easily backup, restore, and migrate to any number of local or external locations."
244
+ msgstr "El plugin 'todo-en-uno' para hacer copias de seguridad en Wordpress, restaurarlas y migrar a cualquier lugar local o externo."
245
 
246
+ #: ui/admin/upgrade/backup.php:17
247
+ msgid "1 free month"
248
+ msgstr "1 mes gratis"
249
 
250
+ #: ui/admin/upgrade/backup.php:19
251
+ msgid "Click to sign up"
252
+ msgstr "Clic para registrarse"
253
 
254
+ #: ui/admin/upgrade/backup.php:22
255
+ msgid "A service that provides realtime continuous backups, restores, and security scanning."
256
+ msgstr "Un servicio que proporciona copias de seguridad continuas en tiempo real, recuperaciones y escaneo de seguridad."
257
 
258
+ #: ui/admin/upgrade/upgrade_2_0_0.php:10 ui/admin/upgrade/upgrade_2_1_0.php:10
259
+ msgid "Upgrade Pods"
260
+ msgstr "Actualizar Pods"
261
 
262
+ #: ui/admin/upgrade/upgrade_2_0_0.php:18 ui/admin/upgrade/upgrade_2_1_0.php:18
263
+ msgid "Getting Started"
264
+ msgstr "Como empezar"
265
 
266
+ #: ui/admin/upgrade/upgrade_2_0_0.php:22 ui/admin/upgrade/upgrade_2_1_0.php:22
267
+ msgid "Prepare"
268
+ msgstr "Preparar"
269
 
270
+ #: ui/admin/upgrade/upgrade_2_0_0.php:39
271
+ msgid "Due to a number of optimizations in #Pods2, we need to run a few updates to your database. This should not remove or change your existing Pod data from 1.x, so if you wish to rollback to Pods 1.x - you can easily do that."
272
+ msgstr "Debido a un número de optimizaciones en #Pods2, necesitamos ejecutar unas pocas actualizaciones en tu base de datos. Esto no debería borrar o cambiar tus datos actuales de Pods versión 1.x, con lo que si quieres volver a Pods 1.x puedes hacerlo fácilmente."
 
 
273
 
274
+ #: ui/admin/upgrade/upgrade_2_0_0.php:53
275
+ msgid "We will prepare all of your Pods, Settings, and Content for migration. If any issues are found they will be displayed below for your review. Be sure to backup your database before continuing onto the next step for Migration."
276
+ msgstr "Prepararemos todos tus Pods, Ajustes y Contenidos para la migración. Si se encontrara algún problema se mostrarán abajo para que los revises. Asegúrate de hacer copia de seguridad de tu base de datos antes de continuar con el siguiente paso de la Migración."
277
 
278
+ #: ui/admin/upgrade/upgrade_2_0_0.php:61
279
+ msgid "Preparing Your Content for Migration"
280
+ msgstr "Preparando tu contenido para la migración"
281
 
282
+ #: ui/admin/upgrade/upgrade_2_0_0.php:95 ui/admin/upgrade/upgrade_2_0_0.php:211
283
+ #: ui/admin/upgrade/upgrade_2_1_0.php:71 ui/admin/upgrade/upgrade_2_1_0.php:101
284
+ msgid "Relationships"
285
+ msgstr "Relaciones"
286
 
287
+ #: ui/admin/upgrade/upgrade_2_0_0.php:105
288
+ msgid "Item Indexes"
289
+ msgstr "Índices de Item"
290
 
291
+ #: ui/admin/upgrade/upgrade_2_0_0.php:115
292
+ #: ui/admin/upgrade/upgrade_2_0_0.php:231
293
+ msgid "Templates"
294
+ msgstr "Plantillas"
295
 
296
+ #: ui/admin/upgrade/upgrade_2_0_0.php:125
297
+ #: ui/admin/upgrade/upgrade_2_0_0.php:241
298
+ msgid "Pod Pages"
299
+ msgstr "Páginas de Pod"
300
 
301
+ #: ui/admin/upgrade/upgrade_2_0_0.php:135
302
+ #: ui/admin/upgrade/upgrade_2_0_0.php:251
303
+ msgid "Helpers"
304
+ msgstr "Helpers"
305
 
306
+ #: ui/admin/upgrade/upgrade_2_0_0.php:148
307
+ #: ui/admin/upgrade/upgrade_2_0_0.php:264
308
+ msgid "Content"
309
+ msgstr "Contenido"
310
 
311
+ #: ui/admin/upgrade/upgrade_2_0_0.php:163
312
+ msgid "During this process your Pods, Settings, and Content will be migrated into the optimized Pods 2.x architecture. We will not delete any of your old data, the tables will remain until you choose to clean them up after a successful upgrade."
313
+ msgstr "Durante este proceso tus Pods, Ajustes y Contenido serán migrados a la arquitectura optimizada Pods 2.x. No borraremos tu antigua información, las tablas permanecerá hasta que tu decidas limpiarlas después de que haya tenido éxito la actualización."
314
 
315
+ #: ui/admin/upgrade/upgrade_2_0_0.php:171
316
+ msgid "Migrating Your Content"
317
+ msgstr "Migrando tu contenido"
318
 
319
+ #: ui/admin/upgrade/upgrade_2_0_0.php:181
320
+ msgid "1.x Updates"
321
+ msgstr "Actualizaciones 1.x"
322
 
323
+ #: ui/admin/upgrade/upgrade_2_0_0.php:277
324
+ #: ui/admin/upgrade/upgrade_2_1_0.php:111
325
+ msgid "Cleanup"
326
+ msgstr "Limpieza"
327
 
328
+ #: ui/admin/upgrade/upgrade_2_0_0.php:289
329
+ #: ui/admin/upgrade/upgrade_2_1_0.php:123
330
+ msgid "Start using Pods"
331
+ msgstr "Empezar a usar Pods"
332
 
333
+ #: ui/admin/upgrade/upgrade_2_0_0.php:292
334
+ msgid "Migration Complete!"
335
+ msgstr "¡Migración completada!"
336
 
337
+ #: ui/admin/upgrade/upgrade_2_1_0.php:39
338
+ msgid "We need to run a few updates to your database to optimize your relationship data."
339
+ msgstr "Tenemos que ejecutar algunas actualizaciones en tu base de datos para optimizar tus datos de relaciones."
340
 
341
+ #: ui/admin/upgrade/upgrade_2_1_0.php:53
342
+ msgid "We will prepare your relationships for the upgrade. If any issues are found they will be displayed below for your review. Be sure to backup your database before continuing onto the next step for the Upgrade."
343
+ msgstr "Prepararemos tus relaciones para la actualización. Si se detectaran incidencias se mostrarán debajo para que las puedas revisar. Asegúrate de realizar una copia de seguridad de tu base de datos antes de continuar al siguiente paso para la Actualización."
344
 
345
+ #: ui/admin/upgrade/upgrade_2_1_0.php:61
346
+ msgid "Preparing Your Relationships for Upgrade"
347
  msgstr ""
348
 
349
+ #: ui/admin/upgrade/upgrade_2_1_0.php:83
350
+ msgid "During this process your Relationships will be optimized."
351
  msgstr ""
352
 
353
+ #: ui/admin/upgrade/upgrade_2_1_0.php:91
354
+ msgid "Optimizing Your Relationships"
355
+ msgstr "Optimizando tus Relaciones"
356
 
357
+ #: ui/admin/upgrade/upgrade_2_1_0.php:126
358
+ msgid "Upgrade Complete!"
359
+ msgstr "¡Actualización completa!"
 
360
 
361
+ #: ui/admin/widgets/list.php:13 ui/admin/widgets/single.php:13
362
+ msgid "You must specify a Pods Template or create a custom template, using <a href=\"http://pods.io/docs/build/using-magic-tags/\" title=\"Using Magic Tags\" target=\"_blank\">magic tags</a>."
363
  msgstr ""
364
 
365
+ #: ui/admin/widgets/list.php:76
366
+ msgid "Before Content"
367
  msgstr ""
368
 
369
+ #: ui/admin/widgets/list.php:88
370
+ msgid "After Content"
371
  msgstr ""
372
 
373
+ #: ui/fields/plupload.php:43
374
+ msgid "Allowed Files"
375
+ msgstr "Archivos Permitidos"
376
 
377
+ #: ui/fields/plupload.php:272
378
+ msgid "There was an issue with the file upload, please try again."
379
+ msgstr "Ocurrió un error al subir el archivo, por favor intente nuevamente."
380
 
381
+ #: ui/fields/select2.php:158 ui/fields/select2.php:165
382
+ msgid "Start Typing..."
383
+ msgstr "Comience a escribir..."
384
 
385
+ #: ui/admin/settings-reset.php:91
386
+ msgid "Reset Pods settings and data"
387
+ msgstr "Reiniciar configuración y datos de Pods"
388
 
389
+ #: ui/admin/settings-reset.php:96 ui/admin/settings-reset.php:103
390
+ msgid "Deactivate and Delete Pods data"
391
+ msgstr "Desactivar y Eliminar datos de Pods"
392
 
393
+ #: ui/admin/settings-reset.php:98
394
+ msgid "This will delete Pods settings, data, and deactivate itself once done. Your database will be as if Pods never existed."
395
+ msgstr "Esto borrará ajustes y datos y desactivará Pods una vez haya acabado. Tu base de datos quedará como si Pods nunca hubiese existido."
396
 
397
+ #: ui/admin/settings-reset.php:102
398
+ msgid ""
399
+ "Are you sure you want to do this?\n"
400
+ "\n"
401
+ "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds with no turning back."
402
  msgstr ""
403
+ "¿Estás seguro de que deseas hacer esto?\n"
404
+ "\n"
405
+ "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos y no hay vuelta atrás."
406
 
407
+ #: ui/admin/settings-settings.php:1
408
+ msgid "The following are settings provided for advanced site configurations."
409
+ msgstr "Los siguientes son ajustes establecidos para configuraciones de sitios avanzados."
410
 
411
+ #: ui/admin/settings-tools.php:19 ui/admin/settings-tools.php:24
412
+ msgid "Clear Pods Cache"
413
+ msgstr "Limpiar Cache de Pods"
414
 
415
+ #: ui/admin/settings-tools.php:21
416
+ msgid "This tool will clear all of the transients/cache that are used by Pods. "
417
+ msgstr "Esta herramienta borrará toda la caché/transients que son usados por Pods."
418
 
419
+ #: ui/admin/settings-tools.php:29
420
+ msgid "Debug Information"
421
+ msgstr "Información de depuración"
422
 
423
+ #: ui/admin/settings.php:12
424
+ msgid "Cleanup &amp; Reset"
425
+ msgstr "Limpiar &amp; Reiniciar"
426
 
427
+ #: ui/admin/setup-add.php:16
428
+ msgid "Add New Pod"
429
+ msgstr "Agregar Nuevo Pod"
430
 
431
+ #: ui/admin/setup-add.php:23 ui/admin/setup-edit.php:817
432
+ msgid "Back to Manage"
433
+ msgstr "Volver a Administrar"
434
 
435
+ #: ui/admin/setup-add.php:35
436
+ msgid "Create or Extend"
437
+ msgstr "Crear o Ampliar"
438
 
439
+ #: ui/admin/setup-add.php:39
440
+ msgid "Configure"
441
+ msgstr "Configurar"
442
 
443
+ #: ui/admin/setup-add.php:48
444
+ msgid "Pods are content types that you can customize and define fields for based on your needs. You can choose to create a Custom Post Type, Custom Taxonomy, or Custom Settings Pages for site-specific data. You can also extend existing content types like WP Objects such as Post Types, Taxonomies, Users, or Comments."
445
+ msgstr "Los Pods son tipos de contenido que puedes personalizar y para los que puedes definir campos basados en tus necesidades. Puedes elegir crear un Tipo de Post Personalizado, una Taxonomía personalizada o Páginas de Ajustes Personalizadas para datos específicos del sitio. También puedes ampliar tipos de contenido existentes como Objetos WP, como pueden ser Tipos de Entradas, Taxonomías, Usuarios o Comentarios."
446
 
447
+ #: ui/admin/setup-add.php:50
448
+ msgid "Not sure what content type you should use? Check out our <a href=\"http://pods.io/docs/comparisons/compare-content-types/\" target=\"_blank\">Content Type Comparison</a> to help you decide."
449
+ msgstr "¿No estás seguro de qué tipo de contenido deberías usar? Prueba nuestra Check out our <a href=\"http://pods.io/docs/comparisons/compare-content-types/\" target=\"_blank\">comparación de tipos de contenido</a> para ayudarte a decidir."
450
 
451
+ #: ui/admin/setup-add.php:57
452
+ msgid "Create New"
453
+ msgstr "Crear Nuevo"
454
 
455
+ #: ui/admin/setup-add.php:59
456
+ msgid "Create entirely new content types using <strong>Post Types</strong>, <strong>Taxonomies</strong>, or <strong>Custom Settings Pages</strong>."
457
+ msgstr "Crea tipos de contenido completamente nuevos usando <strong>Tipos de entrada</strong>, <strong>Taxonomías</strong>, o <strong>Páginas de ajustes personalizadas</strong>."
458
 
459
+ #: ui/admin/setup-add.php:65
460
+ msgid "Extend Existing"
461
+ msgstr "Ampliar Existente"
462
 
463
+ #: ui/admin/setup-add.php:67
464
+ msgid "Extend any existing content type within WordPress, including <strong>Post Types</strong> (Posts, Pages, etc), <strong>Taxonomies</strong> (Categories, Tags, etc), <strong>Media</strong>, <strong>Users</strong>, or <strong>Comments</strong>."
465
+ msgstr "Amplía cualquier tipo de contenido existente en WordPress, incluyendo <strong>Tipos de Post</strong> (Entradas, Páginas, etc), <strong>Taxonomías</strong> (Categorías, Etiquetas, etc), <strong>Media</strong>, <strong>Usuarios</strong>, o <strong>Comentarios</strong>."
466
 
467
+ #: ui/admin/setup-add.php:76
468
+ msgid "Creating a new Content Type allows you to control exactly what that content type does, how it acts like, the fields it has, and the way you manage it."
469
+ msgstr ""
470
 
471
+ #: ui/admin/setup-add.php:79
472
+ msgid "Create a New Content Type"
473
+ msgstr "Crear nuevo Tipo de Contenido"
474
 
475
+ #: ui/admin/setup-add.php:84 ui/admin/setup-add.php:224
476
+ msgid "Content Type"
477
+ msgstr "Tipo de Contenido"
478
 
479
+ #: ui/admin/setup-add.php:84 ui/admin/setup-add.php:224
480
+ msgid "<h6>Content Types</h6> There are many content types to choose from, we have put together a comparison between them all to help you decide what fits your needs best."
481
+ msgstr "<h6>Tipos de contenido</h6> Hay otros tipos de contenido donde elegir, hemos hecho una tabla de comparación que puede ayudarte a saber cual es el que mejor se adapta a tus necesidades."
482
 
483
+ #: ui/admin/setup-add.php:87
484
+ msgid "Custom Post Type (like Posts or Pages)"
485
+ msgstr "Tipo de Post Personalizado (como Entradas o Páginas)"
486
 
487
+ #: ui/admin/setup-add.php:88
488
+ msgid "Custom Taxonomy (like Categories or Tags)"
489
+ msgstr "Taxonomía Personalizada (como Categorías o Etiquetas)"
490
 
491
+ #: ui/admin/setup-add.php:107 ui/admin/setup-add.php:309
492
+ msgid "Enable Extra Fields?"
493
+ msgstr "Habilitar Campos Extras?"
494
 
495
+ #: ui/admin/setup-add.php:107 ui/admin/setup-add.php:309
496
+ msgid "<h6>Storage Types</h6> Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table."
497
+ msgstr "<h6>Tipos de almacenamiento</h6> Las Taxonomías no soportan campos extra de forma nativa, pero Pods puede añadir esta funcionalidad para tí fácilmente. Almacenamiento basado en Tablas operará de tal forma que cada campo que crees para tu tipo de contenido se convertirá en un campo en una tabla."
498
 
499
+ #: ui/admin/setup-add.php:110 ui/admin/setup-add.php:312
500
+ msgid "Do not enable extra fields to be added"
501
+ msgstr "No habilitar agregar campos extras"
502
 
503
+ #: ui/admin/setup-add.php:111 ui/admin/setup-add.php:313
504
+ msgid "Enable extra fields for this Taxonomy (Table Based)"
505
+ msgstr "Habilitar campos extra para esta Taxonomía (Basado en Tabla)"
506
 
507
+ #: ui/admin/setup-add.php:124 ui/admin/setup-edit.php:334
508
+ msgid "Singular Label"
509
+ msgstr "Etiqueta en singular"
510
 
511
+ #: ui/admin/setup-add.php:124
512
+ msgid "<h6>Singular Label</h6> This is the label for 1 item (Singular) that will appear throughout the WordPress admin area for managing the content."
513
+ msgstr "<h6>Etiqueta singular</h6> Esta es la etiqueta para un item (Singular) que aparecerá en toda el área de administración de Wordpress para la gestión del contenido."
514
 
515
+ #: ui/admin/setup-add.php:130
516
+ msgid "Plural Label"
517
+ msgstr "Etiqueta en plural"
518
 
519
+ #: ui/admin/setup-add.php:130
520
+ msgid "<h6>Plural Label</h6> This is the label for more than 1 item (Plural) that will appear throughout the WordPress admin area for managing the content."
521
+ msgstr "<h6>Etiqueta plural</h6> Esta es la etiqueta para más de un item (Plural) que aparecerá en toda el área de administración de Wordpress para la gestión del contenido."
522
 
523
+ #: ui/admin/setup-add.php:138
524
+ msgid "<h6>Page Title</h6> This is the text that will appear at the top of your settings page."
525
+ msgstr ""
 
526
 
527
+ #: ui/admin/setup-add.php:144
528
+ msgid "Menu Label"
529
+ msgstr "Etiqueta del menú"
530
 
531
+ #: ui/admin/setup-add.php:144
532
+ msgid "<h6>Menu Label</h6> This is the label that will appear throughout the WordPress admin area for your settings."
533
+ msgstr "<h6>Etiqueta del menú</h6> Esta es la etiqueta que aparecerá en todo el área de administración de Wordpress para tus ajustes."
534
 
535
+ #: ui/admin/setup-add.php:150
536
+ msgid "<h6>Menu Location</h6> This is the location where the new settings page will be added in the WordPress Dashboard menu."
537
+ msgstr "<h6>Localización del menú</h6> Esta es la localización donde se añadirá la nueva páginade ajustes en el menú del escritorio de Wordpress."
538
 
539
+ #: ui/admin/setup-add.php:175 ui/admin/setup-add.php:186
540
+ msgid "Pod Name"
541
+ msgstr ""
 
542
 
543
+ #: ui/admin/setup-add.php:175 ui/admin/setup-add.php:186
544
+ msgid "<h6>Pod Indentifier</h6> This is different than the labels users will see in the WordPress admin areas, it is the name you will use to programatically reference this object throughout your theme, WordPress, and other PHP."
545
+ msgstr "<h6>Identificador Pod</h6> Este es diferente de las etiquetas que los usuarios verán en las áreas de administración de Wordpress, es el nombre que utilizarás ala hora de programar para hacer referencia a este objeto en todo tu template, WordPress, y otro PHP."
546
 
547
+ #: ui/admin/setup-add.php:196 ui/admin/setup-add.php:332
548
+ msgid "<h6>Storage Types</h6> Table based storage will operate in a way where each field you create for your content type becomes a field in a table. Meta based storage relies upon the WordPress meta storage table for all field data."
549
+ msgstr "<h6>Tipos de alamacenamiento</h6> Almacenamiento basado en Tabla se comportará de tal forma que cada campo que crees para tu tipo de contenido se convertirá en un campo de una tabla. Almacenamiento basado en Meta se basa en el tabla de almacenamiento de metas que usa Wordpress para todos los campos de datos."
 
550
 
551
+ #: ui/admin/setup-add.php:199 ui/admin/setup-add.php:335
552
+ msgid "Meta Based (WP Default)"
553
+ msgstr "Basado en Metas (Opción por defecto en WP)"
 
 
 
 
 
 
554
 
555
+ #: ui/admin/setup-add.php:200 ui/admin/setup-add.php:336
556
+ msgid "Table Based"
557
+ msgstr "Basado en Tablas"
 
 
 
 
 
 
558
 
559
+ #: ui/admin/setup-add.php:215
560
+ msgid "Extending an existing Content Type allows you to add fields to it and take advantage of the Pods architecture for management and optionally for theming."
561
+ msgstr "Ampliar un Tipo de contenido existente te permite añadirle campos y aprovecharse de la arquitectura de Pods para su gestión y opcionalmente para crear temas."
562
 
563
+ #: ui/admin/setup-add.php:218
564
+ msgid "Extend an Existing Content Type"
565
+ msgstr "Ampliar Tipo de Contenido existente"
566
 
567
+ #: ui/admin/setup-add.php:227
568
+ msgid "Post Types (Posts, Pages, etc..)"
569
+ msgstr "Tipos de Post (Entradas, Páginas, etc..)"
570
 
571
+ #: ui/admin/setup-add.php:270 ui/admin/setup-edit.php:856
572
+ msgid "Post Type"
573
+ msgstr "Tipo de entrada"
574
 
575
+ #: ui/admin/setup-add.php:270
576
+ msgid "<h6>Post Types</h6> WordPress can hold and display many different types of content. Internally, these are all stored in the same place, in the wp_posts table. These are differentiated by a column called post_type."
577
+ msgstr "<h6>Tipos de entrada</h6> WordPress puede guardar y mostrar un buen número de tipos de contenido diferentes. Internamente, éstos son guardados en el mismo sitio, en la tabla wp_posts. Estos son diferenciados por una columna llamada post_type."
578
 
579
+ #: ui/admin/setup-add.php:299 ui/admin/setup-edit.php:857
580
+ msgid "Taxonomy"
581
+ msgstr "Taxonomía"
582
 
583
+ #: ui/admin/setup-add.php:299
584
+ msgid "<h6>Taxonomies</h6> A taxonomy is a way to group Post Types."
585
+ msgstr "<h6>Taxonomías</h6> Una taxonomía es una forma de agrupar Tipos de entrada."
586
 
587
+ #: ui/admin/setup-edit-field-fluid.php:8 ui/admin/setup-edit-field.php:48
588
+ msgid "Move"
589
+ msgstr "Mover"
590
 
591
+ #: ui/admin/setup-edit-field-fluid.php:11
592
+ #: ui/admin/setup-edit-field-fluid.php:17 ui/admin/setup-edit-field.php:51
593
+ #: ui/admin/setup-edit-field.php:67
594
+ msgid "Edit this field"
595
+ msgstr "Editar este campo"
596
 
597
+ #: ui/admin/setup-edit-field-fluid.php:12
598
+ msgid "New Field"
599
+ msgstr "Nuevo campo"
600
 
601
+ #: ui/admin/setup-edit-field-fluid.php:20 ui/admin/setup-edit-field.php:70
602
+ msgid "Duplicate this field"
603
+ msgstr "Duplicar este campo"
604
 
605
+ #: ui/admin/setup-edit-field-fluid.php:23 ui/admin/setup-edit-field.php:73
606
+ msgid "Delete this field"
607
+ msgstr "Borrar este campo"
608
 
609
+ #: ui/admin/setup-edit-field-fluid.php:66
610
+ msgid "You will use this name to programatically reference this field throughout WordPress"
611
+ msgstr "Usarás este nombre para, por programación, hacer referencia a este campo a través de WordPress"
612
 
613
+ #: ui/admin/setup-edit-field-fluid.php:74
614
+ msgid "Field Type"
615
+ msgstr "Tipo de archivo"
616
 
617
+ #: ui/admin/setup-edit-field-fluid.php:79
618
+ msgid "Related To"
619
+ msgstr "Relacionado con"
620
 
621
+ #: ui/admin/setup-edit-field-fluid.php:83
622
+ msgid "Custom Defined Options"
623
+ msgstr "Opciones personalizadas definidas"
624
 
625
+ #: ui/admin/setup-edit-field-fluid.php:83
626
+ msgid "One option per line, use <em>value|Label</em> for separate values and labels"
627
+ msgstr "Una opción por línea, usa <em>valorEtiqueta</em> para separar valores y etiquetas"
628
 
629
+ #: ui/admin/setup-edit-field-fluid.php:87
630
+ msgid "Related Table"
631
+ msgstr "Tabla relacionada"
632
 
633
+ #: ui/admin/setup-edit-field-fluid.php:91
634
+ msgid "Bi-directional Field"
635
+ msgstr "Campo bidireccional"
 
 
 
 
636
 
637
+ #: ui/admin/setup-edit-field-fluid.php:91
638
+ msgid "Bi-directional fields will update their related field for any item you select. This feature is only available for two relationships between two Pods.<br /><br />For example, when you update a Parent pod item to relate to a Child item, when you go to edit that Child item you will see the Parent pod item selected."
639
+ msgstr "Los campos bidireccionales actualizarán su campo relacionado para cualquier item que selecciones. Esta funcionalidad solo está disponible para dos relaciones entre dos Pods.<br /><br />Por ejemplo, cuando actualizas un pod padre para relacionarlo con un item hijo, cuando editas ese item hijo verás seleccionado el pod padre."
640
 
641
+ #: ui/admin/setup-edit-field-fluid.php:100
642
+ msgid "Options"
643
+ msgstr "Opciones"
644
 
645
+ #: ui/admin/setup-edit-field-fluid.php:106
646
+ msgid "Required"
647
+ msgstr "Requerido"
648
 
649
+ #: ui/admin/setup-edit-field-fluid.php:112
650
+ msgid "Unique"
651
+ msgstr "Único"
652
 
653
+ #: ui/admin/setup-edit-field-fluid.php:187
654
+ msgid "Delete Field"
655
+ msgstr "Borrar campo"
656
 
657
+ #: ui/admin/setup-edit-field-fluid.php:190
658
+ msgid "Update Field"
659
+ msgstr "Actualizar campo"
 
 
 
 
 
 
 
660
 
661
+ #: ui/admin/setup-edit-field-fluid.php:190 ui/admin/setup-edit.php:242
662
+ #: ui/admin/setup-edit.php:315
663
+ msgid "Add Field"
664
+ msgstr "Añadir fichero"
665
 
666
+ #: ui/admin/setup-edit.php:15
667
+ msgid "Extra fields were successfully enabled for this Custom Taxonomy."
668
+ msgstr "Los campos extra fueron habilitados con éxito para esta Taxonomía personalizada."
669
 
670
+ #: ui/admin/setup-edit.php:50 ui/admin/setup-edit.php:51
671
+ #: ui/admin/setup-edit.php:53
672
+ msgid "Other"
673
+ msgstr "Otro"
674
 
675
+ #: ui/admin/setup-edit.php:92
676
+ msgid "-- Select Table --"
677
+ msgstr "-- Seleccionar tabla --"
678
 
679
+ #: ui/admin/setup-edit.php:113
680
+ msgid "No Related Fields Found"
681
+ msgstr "No se han encontrado campos relacionados"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
682
 
683
+ #: ui/admin/setup-edit.php:260 ui/admin/setup-edit.php:276
684
+ msgid "<h6>Label</h6>The label is the descriptive name to identify the Pod field."
685
+ msgstr "<h6>Etiqueta</h6>La etiqueta es el nombre descriptivo para identificar el campo Pod."
686
 
687
+ #: ui/admin/setup-edit.php:263 ui/admin/setup-edit.php:279
688
+ msgid "<h6>Name</h6>The name attribute is what is used to identify and access the Pod field programatically."
689
+ msgstr "<h6>Nombre</h6>El atributo nombre es lo que se usa para identificar y acceder al campo Pod por programación."
 
690
 
691
+ #: ui/admin/setup-edit.php:266 ui/admin/setup-edit.php:282
692
+ msgid "<h6>Field Types</h6>Field types are used to determine what kind of data will be stored in the Pod. They can range from, dates, text, files, etc."
693
+ msgstr "<h6>Tipos de Campo</h6> Tipos de Campo son usados para determinar que tipo de datos serán almacenados en el Pod. Pueden ser fechas, texto, ficheros, etc..."
694
 
695
+ #: ui/admin/setup-edit.php:342
696
+ msgid "Add New <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
697
+ msgstr "Añadir nuevo <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
698
 
699
+ #: ui/admin/setup-edit.php:346
700
+ msgid "New <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
701
+ msgstr "Nuevo <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
702
 
703
+ #: ui/admin/setup-edit.php:354
704
+ msgid "Edit <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
705
+ msgstr "Editar <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
706
 
707
+ #: ui/admin/setup-edit.php:358
708
+ msgid "Update <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
709
+ msgstr "Actualizar <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
710
 
711
+ #: ui/admin/setup-edit.php:366
712
+ msgid "View <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
713
+ msgstr "Ver <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
714
 
715
+ #: ui/admin/setup-edit.php:370
716
+ msgid "All <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
717
+ msgstr "Todos los <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
718
 
719
+ #: ui/admin/setup-edit.php:374
720
+ msgid "Search <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
721
+ msgstr "Buscar <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
722
 
723
+ #: ui/admin/setup-edit.php:378
724
+ msgid "Not Found"
725
+ msgstr "No encontrado"
726
 
727
+ #: ui/admin/setup-edit.php:386
728
+ msgid "Not Found in Trash"
729
+ msgstr "No encontrado en la Papelera"
730
 
731
+ #: ui/admin/setup-edit.php:394
732
+ msgid "Popular <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
733
+ msgstr "<span class=\"pods-slugged\" data-sluggable=\"label\">Items</span> populares"
734
 
735
+ #: ui/admin/setup-edit.php:398
736
+ msgid "Separate <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span> with commas"
737
+ msgstr "Separa <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span> con comas"
738
 
739
+ #: ui/admin/setup-edit.php:402
740
+ msgid "Add or remove <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span>"
741
+ msgstr "Añade o borra <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span>"
742
 
743
+ #: ui/admin/setup-edit.php:406
744
+ msgid "Choose from the most used"
745
+ msgstr "Elige entre los más usados"
746
 
747
+ #: ui/admin/setup-edit.php:441
748
+ msgid "Supports"
749
+ msgstr "Soporta"
750
 
751
+ #: ui/admin/setup-edit.php:448 ui/admin/widgets/field.php:15
752
+ #: ui/admin/widgets/form.php:15 ui/admin/widgets/list.php:17
753
+ #: ui/admin/widgets/single.php:17 ui/admin/widgets/view.php:15
754
+ msgid "Title"
755
+ msgstr "Título"
756
 
757
+ #: ui/admin/setup-edit.php:458
758
+ msgid "Author"
759
+ msgstr "Autor"
760
 
761
+ #: ui/admin/setup-edit.php:463
762
+ msgid "Featured Image"
763
+ msgstr "Imagen Destacada"
764
 
765
+ #: ui/admin/setup-edit.php:468
766
+ msgid "Excerpt"
767
+ msgstr "Extracto"
768
 
769
+ #: ui/admin/setup-edit.php:473
770
+ msgid "Trackbacks"
771
+ msgstr "Trackbacks"
772
 
773
+ #: ui/admin/setup-edit.php:478
774
+ msgid "Custom Fields"
775
+ msgstr "Campos Personalizados"
776
 
777
+ #: ui/admin/setup-edit.php:488
778
+ msgid "Revisions"
779
+ msgstr "Revisiones"
780
 
781
+ #: ui/admin/setup-edit.php:493
782
+ msgid "Page Attributes"
783
+ msgstr "Atributos de página"
784
 
785
  #: ui/admin/setup-edit.php:505
786
  msgid "Genesis: SEO"
794
  msgid "Genesis: Simple Sidebars"
795
  msgstr "Genesis: Barras laterales Simples"
796
 
797
+ #: ui/admin/setup-edit.php:523
798
+ msgid "YARPP Support"
799
+ msgstr ""
800
+
801
+ #: ui/admin/setup-edit.php:531
802
+ msgid "Jetpack Publicize Support"
803
+ msgstr ""
804
+
805
+ #: ui/admin/setup-edit.php:536
806
+ msgid "Jetpack Markdown Support"
807
+ msgstr ""
808
+
809
  #: ui/admin/setup-edit.php:544
810
  msgid "Advanced Supports"
811
  msgstr "Soporte avanzado"
814
  msgid "Comma-separated list of custom \"supports\" values to pass to register_post_type."
815
  msgstr "Lista separada por comas de valores de \"soportes\" personalizados para pasarlos a register_post_type"
816
 
817
+ #: ui/admin/setup-edit.php:549
818
+ msgid "Built-in Taxonomies"
819
+ msgstr "Taxonomías incorporadas"
 
 
 
 
820
 
821
+ #: ui/admin/setup-edit.php:601
822
+ msgid "Allow Front Prepend"
823
+ msgstr "Permitir Anteponer al Front"
824
 
825
+ #: ui/admin/setup-edit.php:601
826
+ msgid "Allows permalinks to be prepended with front base (example: if your permalink structure is /blog/, then your links will be: Checked->/news/, Unchecked->/blog/news/)"
827
+ msgstr "Permite a los enlaces permanentes ser antepuestos con una base delante. (Por ejemplo: si tu estructura de enlaces permanentes es /blog/, entonces tus enlaces serán: Marcado->/news/, No marcado->/blog/news/)"
828
 
829
+ #: ui/admin/setup-edit.php:605
830
+ msgid "Hierarchical Permalinks"
831
+ msgstr "Enlaces Permanentes Jerárquicos"
832
 
833
+ #: ui/admin/setup-edit.php:615
834
+ msgid "Custom Query Var Name"
835
+ msgstr ""
836
 
837
+ #: classes/PodsAPI.php:4772
838
+ msgid "$params->pod_id instead of $params->datatype_id"
839
+ msgstr ""
840
 
841
+ #: classes/PodsUI.php:3721 classes/PodsUI.php:3739
842
+ msgid "Show on screen"
843
+ msgstr "Mostrar en pantalla"
844
 
845
+ #: components/Migrate-CPTUI/ui/wizard.php:15
846
+ msgid "Migrate: Import from Custom Post Type UI"
847
+ msgstr "Migrar: Importar desde la interfaz de Tipos de Post Personalizados"
 
 
848
 
849
+ #: classes/PodsAPI.php:4785
850
+ msgid "Pod Item not found"
851
+ msgstr "Item Pod no encontrado"
852
 
853
+ #: classes/PodsUI.php:3852
854
+ msgid "Go to the first page"
855
+ msgstr "Ir a la primer página"
856
 
857
+ #: components/Migrate-CPTUI/ui/wizard.php:23
858
+ msgid "Setup"
859
+ msgstr "Configuración"
860
 
861
+ #: classes/PodsAPI.php:4828
862
+ msgid "Pre-delete helpers are deprecated, use the action pods_pre_delete_pod_item_%s instead"
863
+ msgstr "Los Helpers de Pre-borrado están obsoletos, usa la acción pods_pre_delete_pod_item_%s en su lugar"
864
 
865
+ #: classes/PodsUI.php:3853
866
+ msgid "Go to the previous page"
867
+ msgstr "Ir a la página anterior"
868
 
869
+ #: components/Migrate-CPTUI/ui/wizard.php:27
870
+ #: ui/admin/upgrade/upgrade_2_0_0.php:26
871
+ msgid "Migrate"
872
+ msgstr "Migrar"
873
 
874
+ #: classes/PodsAPI.php:4865
875
+ msgid "Post-delete helpers are deprecated, use the action pods_post_delete_pod_item_%s instead"
876
+ msgstr ""
877
 
878
+ #: classes/PodsUI.php:3857
879
+ msgid "Current page"
880
+ msgstr "Pagina actual"
881
 
882
+ #: components/Migrate-CPTUI/ui/wizard.php:35
883
+ msgid "Custom Post Type UI provides an interface to create Custom Post Types and Custom Taxonomies. You can import these and their settings directly into Pods 2.0"
884
+ msgstr "La UI de Tipos de Post Personalizados ofrece una interfaz para crear Tipos de Post Personalizados y Categorías Personalizadas. Puedes importar estos elementos y sus ajustes directamente a Pods 2.0"
885
 
886
+ #: classes/PodsAPI.php:5225 classes/fields/pick.php:391
887
+ #: ui/admin/setup-edit.php:855 ui/admin/upgrade/upgrade_2_0_0.php:75
888
+ #: ui/admin/upgrade/upgrade_2_0_0.php:191
889
+ msgid "Pods"
890
+ msgstr "Pods"
891
 
892
+ #: classes/PodsUI.php:3857 classes/PodsUI.php:3879
893
+ msgid "of"
894
+ msgstr "de"
895
 
896
+ #: components/Migrate-CPTUI/ui/wizard.php:40
897
+ msgid "Import Only"
898
+ msgstr "Importar Solamente"
899
 
900
+ #: classes/PodsAPI.php:5229
901
+ #: components/Builder/modules/field/PodsBuilderModuleField.php:77
902
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:79
903
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:82
904
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:78
905
+ #: ui/admin/setup-edit.php:855 ui/admin/widgets/field.php:26
906
+ #: ui/admin/widgets/form.php:26 ui/admin/widgets/list.php:28
907
+ #: ui/admin/widgets/single.php:28
908
+ msgid "Pod"
909
+ msgstr "Pod"
910
 
911
+ #: classes/PodsUI.php:3883
912
+ msgid "Go to the next page"
913
+ msgstr "Ir a la página siguiente"
914
 
915
+ #: components/Migrate-CPTUI/ui/wizard.php:42
916
+ msgid "This will import your Custom Post Types and Taxonomies."
917
+ msgstr "Esto importará tus Tipos de Post Personalizados y Taxonomías."
918
 
919
+ #: classes/PodsAPI.php:5238
920
+ msgid "Pod Fields"
921
+ msgstr ""
922
 
923
+ #: classes/PodsUI.php:3884
924
+ msgid "Go to the last page"
925
+ msgstr "Ir a la última página"
926
 
927
+ #: components/Migrate-CPTUI/ui/wizard.php:49
928
+ msgid "Import and Clean Up"
929
+ msgstr "Importar y Limpiar"
930
 
931
+ #: classes/PodsAPI.php:5242
932
+ msgid "Pod Field"
933
+ msgstr ""
934
 
935
+ #: classes/fields/avatar.php:66
936
+ msgid "Avatar Uploader"
937
+ msgstr "Cargador de Avatar"
938
 
939
+ #: components/Migrate-CPTUI/ui/wizard.php:51
940
+ msgid "This will import your Custom Post Types and Taxonomies, and then remove them from Custom Post Type UI."
941
+ msgstr "Esto importará tus Tipos de Post y Taxonomías Personalizados, y luego los eliminará de la interfaz de Tipos de Post Personalizados."
942
 
943
+ #: classes/PodsAPI.php:5768
944
+ msgid "Either Field Name or Field ID / Pod ID are required"
945
+ msgstr ""
946
 
947
+ #: classes/fields/avatar.php:72 classes/fields/file.php:93
948
+ msgid "Attachments (WP Media Library)"
949
+ msgstr "Adjuntos (Libreria Multimedia WP)"
950
 
951
+ #: components/Migrate-CPTUI/ui/wizard.php:60
952
+ msgid "Choose below which Custom Post Types and Taxonomies you want to import into Pods 2.0"
953
+ msgstr "Elige abajo qué Categorías y Tipos de Post Personalizados quieres importar a Pods 2.0"
 
 
 
954
 
955
+ #: classes/PodsAPI.php:5816
956
+ msgid "Pod for field not found"
957
+ msgstr "Pod o campo no encontrado"
958
 
959
+ #: classes/fields/avatar.php:73 classes/fields/file.php:94
960
+ msgid "Plupload"
961
+ msgstr "Plupload"
962
 
963
+ #: components/Migrate-CPTUI/ui/wizard.php:64
964
+ msgid "Choose Post Types to Import"
965
+ msgstr "Elige los Tipos de Post a Importar"
966
 
967
+ #: classes/PodsAPI.php:6053
968
+ msgid "Either Field Name / Field ID / Field Type, or Pod Name / Pod ID are required"
969
+ msgstr "Nombre del campo / ID del campo / Tipo de Campo, o Nombre del Pod / ID del Pod son necesarios"
970
 
971
+ #: classes/fields/avatar.php:79 classes/fields/file.php:100
972
+ msgid "Attachments Default Tab"
973
+ msgstr "Tab de archivos adjuntos por defecto"
974
 
975
+ #: components/Migrate-CPTUI/ui/wizard.php:72
976
+ msgid "Available Post Types"
977
+ msgstr "Tipos de Post disponibles"
 
978
 
979
+ #: classes/PodsAPI.php:6114
980
+ msgid "Object type is required"
981
+ msgstr "Es necesario el tipo del objeto"
982
 
983
+ #: classes/fields/avatar.php:85 classes/fields/avatar.php:120
984
+ #: classes/fields/file.php:106 classes/fields/file.php:195
985
+ msgid "Upload File"
986
+ msgstr "Subir Archivo"
987
 
988
+ #: components/Migrate-CPTUI/ui/wizard.php:97
989
+ msgid "No Post Types were found."
990
+ msgstr "No se encontraron Tipos de Post."
991
 
992
+ #: classes/PodsAPI.php:6117
993
+ msgid "Either Object ID or Name are required"
994
+ msgstr ""
995
 
996
+ #: classes/fields/avatar.php:86 classes/fields/avatar.php:121
997
+ #: classes/fields/file.php:107 classes/fields/file.php:196
998
+ msgid "Media Library"
999
+ msgstr "Libreria Multimedia"
1000
 
1001
+ #: components/Migrate-CPTUI/ui/wizard.php:105
1002
+ msgid "Choose Taxonomies to Import"
1003
+ msgstr "Elige las Categorías a importar"
1004
 
1005
+ #: classes/PodsAPI.php:6134
1006
+ msgid "Object not found"
1007
+ msgstr "Objeto no encontrado"
1008
 
1009
+ #: classes/fields/avatar.php:90 classes/fields/file.php:127
1010
+ msgid "Restrict File Size"
1011
+ msgstr "Restringir tamaño del Archivo"
1012
 
1013
+ #: components/Migrate-CPTUI/ui/wizard.php:113
1014
+ msgid "Available Taxonomies"
1015
+ msgstr "Taxonomías disponibles"
 
 
1016
 
1017
+ #: classes/PodsAPI.php:6177
1018
+ msgid "Pods Object type is required"
1019
+ msgstr "El tipo del Objeto Pod es necesario"
1020
 
1021
+ #: classes/fields/avatar.php:96 classes/fields/file.php:170
1022
+ msgid "Add Button Text"
1023
+ msgstr "Añadir texto del botón"
 
1024
 
1025
+ #: components/Migrate-CPTUI/ui/wizard.php:136
1026
+ msgid "No Taxonomies were found."
1027
+ msgstr "No se encontraron Taxonomías."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1028
 
1029
+ #: classes/PodsAPI.php:6430
1030
+ msgid "Pod name required"
1031
+ msgstr "Nombre del Pod requerido"
1032
 
1033
+ #: classes/fields/avatar.php:97 classes/fields/avatar.php:109
1034
+ #: classes/fields/file.php:171 classes/fields/file.php:183
1035
+ #: ui/fields/attachment.php:102 ui/fields/media.php:132 ui/fields/media.php:145
1036
+ #: ui/fields/plupload.php:159
1037
+ msgid "Add File"
1038
+ msgstr "Añadir Archivo"
1039
 
1040
+ #: components/Migrate-CPTUI/ui/wizard.php:146
1041
+ #: components/Migrate-Packages/ui/wizard.php:279
1042
+ #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:354
1043
+ #: ui/admin/upgrade/upgrade_2_0_0.php:289
1044
+ #: ui/admin/upgrade/upgrade_2_1_0.php:123
1045
+ msgid "Start Over"
1046
+ msgstr "Volver a empezar"
1047
 
1048
+ #: classes/PodsAPI.php:6432
1049
+ msgid "Item ID required"
 
 
 
1050
  msgstr ""
 
 
 
 
 
 
 
1051
 
1052
+ #: classes/fields/avatar.php:101 classes/fields/file.php:175
1053
+ msgid "Modal Title"
1054
+ msgstr "Título modal"
 
 
 
 
1055
 
1056
+ #: components/Migrate-CPTUI/ui/wizard.php:146 components/Roles/ui/add.php:122
1057
+ #: ui/admin/setup-add.php:354 ui/admin/upgrade/upgrade_2_0_0.php:289
1058
+ #: ui/admin/upgrade/upgrade_2_1_0.php:123
1059
+ msgid "Next Step"
1060
+ msgstr "Siguiente Paso"
1061
 
1062
+ #: classes/PodsAPI.php:6496
1063
+ msgid "Related Pod not found"
1064
+ msgstr "Pod relacionado no encontrado"
1065
 
1066
+ #: classes/fields/avatar.php:103 classes/fields/file.php:177
1067
+ #: ui/fields/media.php:144
1068
+ msgid "Attach a file"
1069
+ msgstr "Incluír un fichero"
1070
 
1071
+ #: components/Migrate-CPTUI/ui/wizard.php:146
1072
+ #: components/Migrate-Packages/ui/wizard.php:279
1073
+ #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:354
1074
+ msgid "Finished"
1075
+ msgstr "Terminado"
1076
 
1077
+ #: classes/PodsAPI.php:6613
1078
+ msgid "%s is empty"
 
 
 
1079
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1080
 
1081
+ #: classes/fields/avatar.php:107 classes/fields/file.php:181
1082
+ msgid "Modal Add Button Text"
1083
+ msgstr "Texto del botón añadir modal"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1084
 
1085
+ #: components/Migrate-CPTUI/ui/wizard.php:146
1086
+ #: components/Migrate-Packages/ui/wizard.php:279
1087
+ #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:354
1088
+ msgid "Processing"
1089
+ msgstr "Procesando"
1090
 
1091
+ #: classes/PodsAPI.php:6629 classes/fields/email.php:190
1092
+ msgid "%s is required"
1093
+ msgstr "%s requerido"
 
1094
 
1095
+ #: classes/fields/boolean.php:52 classes/fields/currency.php:100
1096
+ #: classes/fields/number.php:67
1097
+ msgid "Input Type"
1098
+ msgstr "Tipo de input"
1099
 
1100
+ #: components/Migrate-Packages/ui/wizard.php:15
1101
+ msgid "Migrate: Packages"
1102
+ msgstr "Migrar: Paquetes"
1103
 
1104
+ #: classes/PodsAPI.php:6656
1105
+ msgid "%s needs to be unique"
1106
+ msgstr "%s debe ser único"
1107
 
1108
  #: classes/fields/boolean.php:56
1109
  msgid "Checkbox"
1110
  msgstr "Casilla de Verificación"
1111
 
1112
+ #: components/Migrate-Packages/ui/wizard.php:23
1113
+ msgid "Choose"
1114
+ msgstr "Elegir"
1115
 
1116
+ #: classes/PodsAPI.php:7944
1117
+ msgid "Invalid submission"
1118
+ msgstr "Envío no válido"
1119
+
1120
+ #: classes/fields/boolean.php:57 classes/fields/pick.php:145
1121
  msgid "Radio Buttons"
1122
  msgstr "Botones de Opción"
1123
 
1124
+ #: components/Migrate-Packages/ui/wizard.php:27
1125
+ msgid "Import / Export"
1126
+ msgstr "Importar / Exportar"
1127
 
1128
+ #: classes/PodsAPI.php:7956
1129
+ msgid "Access denied for your session, please refresh and try again."
1130
+ msgstr ""
1131
+
1132
+ #: classes/fields/boolean.php:58 classes/fields/pick.php:144
1133
  msgid "Drop Down"
1134
  msgstr "Desplegable"
1135
 
1136
+ #: components/Migrate-Packages/ui/wizard.php:50
1137
+ #: components/Migrate-Packages/ui/wizard.php:85
1138
+ #: components/Migrate-Packages/ui/wizard.php:103
1139
+ msgid "Packages allow you to import/export your Pods, Fields, and other settings between any Pods sites."
1140
+ msgstr "Paquetes te permite importar/exportar tus Pods, Campos y otros ajustes entre cualquier sitio Pods."
1141
+
1142
+ #: classes/PodsAPI.php:7959
1143
+ msgid "Access denied, please refresh and try again."
1144
+ msgstr "Acceso denegado, por favor actualiza e inténtalo de nuevo."
1145
+
1146
  #: classes/fields/boolean.php:63
1147
  msgid "Yes Label"
1148
  msgstr "Etiqueta Si"
1149
 
1150
+ #: components/Migrate-Packages/ui/wizard.php:56
1151
+ msgid "Import"
1152
+ msgstr "Importar"
 
 
 
 
 
 
1153
 
1154
+ #: classes/PodsAdmin.php:231 classes/PodsAdmin.php:843
1155
+ #: classes/PodsAdmin.php:1965
1156
+ msgid "All"
1157
+ msgstr "Todo"
1158
 
1159
  #: classes/fields/boolean.php:68
1160
  msgid "No Label"
1161
  msgstr "Etiqueta No"
1162
 
1163
+ #: components/Migrate-Packages/ui/wizard.php:58
1164
+ msgid "Import a package of Pods, Fields, and other settings from another site."
1165
+ msgstr "Importar un paquete de Pods, Campos y otros ajustes desde otro sitio."
1166
 
1167
+ #: classes/PodsAdmin.php:235 classes/PodsAdmin.php:290
1168
+ #: classes/PodsAdmin.php:1391 classes/PodsInit.php:842 classes/PodsUI.php:928
1169
+ #: classes/PodsUI.php:3520 ui/admin/setup-edit-field-fluid.php:17
1170
+ #: ui/admin/setup-edit-field.php:67 ui/admin/setup-edit.php:350
1171
+ msgid "Edit"
1172
+ msgstr "Editar"
1173
 
1174
+ #: classes/fields/code.php:59 classes/fields/color.php:49
1175
+ #: classes/fields/currency.php:91 classes/fields/date.php:58
1176
+ #: classes/fields/datetime.php:58 classes/fields/email.php:58
1177
+ #: classes/fields/number.php:58 classes/fields/paragraph.php:58
1178
+ #: classes/fields/phone.php:58 classes/fields/text.php:58
1179
+ #: classes/fields/time.php:57 classes/fields/website.php:58
1180
+ #: classes/fields/wysiwyg.php:58
1181
+ msgid "Repeatable Field"
1182
+ msgstr "Campo repetible"
1183
+
1184
+ #: components/Migrate-Packages/ui/wizard.php:71
1185
+ msgid "Choose which Pods, Fields, and other settings to export into a package."
1186
+ msgstr "Elije los Pods, Campos y otros ajustes a exportar en un paquete."
1187
+
1188
+ #: classes/PodsAdmin.php:237 classes/PodsAdmin.php:257
1189
+ #: classes/PodsAdmin.php:258 classes/PodsAdmin.php:292
1190
+ #: classes/PodsAdmin.php:306 classes/PodsAdmin.php:424
1191
+ #: classes/PodsAdmin.php:1390 classes/PodsInit.php:839 classes/PodsUI.php:927
1192
+ #: classes/PodsUI.php:948 ui/admin/setup-edit.php:338
1193
+ msgid "Add New"
1194
+ msgstr "Añadir Nuevo"
1195
+
1196
+ #: classes/fields/code.php:62 classes/fields/color.php:52
1197
+ #: classes/fields/currency.php:94 classes/fields/date.php:61
1198
+ #: classes/fields/datetime.php:61 classes/fields/email.php:61
1199
+ #: classes/fields/number.php:61 classes/fields/paragraph.php:61
1200
+ #: classes/fields/phone.php:61 classes/fields/text.php:61
1201
+ #: classes/fields/time.php:60 classes/fields/website.php:61
1202
+ #: classes/fields/wysiwyg.php:61
1203
+ msgid "Making a field repeatable will add controls next to the field which allows users to Add/Remove/Reorder additional values. These values are saved in the database as an array, so searching and filtering by them may require further adjustments\"."
1204
+ msgstr "Hacer un campo repetible añadirá controles la lado del campo que posibilitan al usuario Añadir/Borrar/Reordenar valores adicionales. Estos valores son guardados en la base de datos como un array, por lo tanto la búsqueda o filtrado por estos puede requerir ajustes más adelante\"."
1205
+
1206
+ #: components/Migrate-Packages/ui/wizard.php:89
1207
+ msgid "Paste the Package Code"
1208
+ msgstr "Pega el Código del Paquete"
1209
+
1210
+ #: classes/PodsAdmin.php:286 classes/PodsAdmin.php:307 classes/PodsUI.php:926
1211
+ #: components/Roles/ui/edit.php:39 ui/admin/form.php:183 ui/admin/view.php:17
1212
+ msgid "Manage"
1213
+ msgstr "Administrar"
1214
 
1215
  #: classes/fields/code.php:68 classes/fields/html.php:58
1216
  #: classes/fields/paragraph.php:67 classes/fields/text.php:67
1218
  msgid "Output Options"
1219
  msgstr "Opciones de Salida"
1220
 
1221
+ #: components/Migrate-Packages/ui/wizard.php:112
1222
+ msgid "Choose which Pods to export"
1223
+ msgstr "Elige los Pods a exportar"
1224
+
1225
+ #: classes/PodsAdmin.php:419
1226
+ msgid "Edit Pods"
1227
+ msgstr "Editar Pods"
1228
 
1229
  #: classes/fields/code.php:71 classes/fields/html.php:103
1230
  #: classes/fields/paragraph.php:112 classes/fields/text.php:70
1232
  msgid "Allow Shortcodes?"
1233
  msgstr "Permitir Shortcodes?"
1234
 
1235
+ #: components/Migrate-Packages/ui/wizard.php:117
1236
+ #: components/Migrate-Packages/ui/wizard.php:156
1237
+ #: components/Migrate-Packages/ui/wizard.php:195
1238
+ #: components/Migrate-Packages/ui/wizard.php:234
1239
+ msgid "Toggle all on / off"
1240
+ msgstr "Activar/Desactivar todo"
1241
+
1242
+ #: classes/PodsAdmin.php:429
1243
+ msgid "Components"
1244
+ msgstr "Componentes"
1245
 
1246
  #: classes/fields/code.php:79 classes/fields/currency.php:185
1247
  #: classes/fields/email.php:67 classes/fields/number.php:113
1251
  msgid "Maximum Length"
1252
  msgstr "Longitud Máxima"
1253
 
1254
+ #: components/Migrate-Packages/ui/wizard.php:151
1255
+ msgid "Choose which Pod Templates to export"
1256
+ msgstr "Elige los templates Pod a exportar"
 
 
 
 
 
 
 
 
 
 
 
 
 
1257
 
1258
+ #: classes/PodsAdmin.php:434 classes/PodsAdmin.php:457
1259
+ #: ui/admin/components-admin.php:10 ui/admin/upgrade/upgrade_2_0_0.php:221
1260
+ msgid "Settings"
1261
+ msgstr "Ajustes"
1262
 
1263
+ #: classes/fields/code.php:82 classes/fields/currency.php:188
1264
+ #: classes/fields/email.php:70 classes/fields/number.php:116
1265
+ #: classes/fields/paragraph.php:134 classes/fields/password.php:62
1266
+ #: classes/fields/phone.php:95 classes/fields/text.php:93
1267
+ #: classes/fields/website.php:83
1268
+ msgid "Set to -1 for no limit"
1269
+ msgstr ""
1270
 
1271
+ #: components/Migrate-Packages/ui/wizard.php:190
1272
+ msgid "Choose which Pod Pages to export"
1273
+ msgstr "Elige las páginas Pod a exportar"
1274
 
1275
+ #: classes/PodsAdmin.php:439 classes/PodsAdmin.php:462
1276
+ msgid "Help"
1277
+ msgstr "Ayuda"
1278
 
1279
+ #: classes/fields/color.php:163 classes/fields/password.php:152
1280
+ #: classes/fields/text.php:204
1281
+ msgid "This field is required."
1282
+ msgstr "Este campo es obligatorio."
1283
 
1284
+ #: components/Migrate-Packages/ui/wizard.php:229
1285
+ msgid "Choose which Pod Helpers to export"
1286
+ msgstr "Elige los auxiliares (Helpers) Pod a exportar"
1287
 
1288
+ #: classes/PodsAdmin.php:452 ui/admin/upgrade/upgrade_2_1_0.php:26
1289
+ msgid "Upgrade"
1290
+ msgstr ""
1291
 
1292
+ #: classes/fields/color.php:166
1293
+ msgid "Invalid value provided for this field."
1294
+ msgstr "Se asigno un valor inválido para este campo."
1295
 
1296
+ #: components/Migrate-Packages/ui/wizard.php:270
1297
+ msgid "Results"
1298
+ msgstr "Resultados"
1299
 
1300
+ #: classes/PodsAdmin.php:496
1301
+ msgid "Pods Admin"
1302
+ msgstr "Administrador de Pods"
 
1303
 
1304
+ #: classes/fields/color.php:170
1305
+ msgid "Invalid Hex Color value provided for this field."
1306
+ msgstr "El Valor Hexadecimal de Color proporcionado para este campo no es válido."
 
 
1307
 
1308
+ #: components/Migrate-Packages/ui/wizard.php:279
1309
+ msgid "Process Again"
1310
+ msgstr ""
1311
 
1312
+ #: classes/PodsAdmin.php:499
1313
+ msgid "Pods Upgrade"
1314
+ msgstr ""
1315
 
1316
+ #: classes/fields/currency.php:104 classes/fields/number.php:71
1317
+ msgid "Freeform Number"
1318
+ msgstr "Número libre"
1319
 
1320
+ #: components/Migrate-Packages/ui/wizard.php:279
1321
+ msgid "Continue"
1322
+ msgstr "Continuar"
1323
 
1324
+ #: classes/PodsAdmin.php:569
1325
+ msgid "<strong>NOTICE:</strong> Pods %s requires your action to complete the upgrade. Please run the <a href=\"%s\">Upgrade Wizard</a>."
1326
+ msgstr ""
1327
 
1328
+ #: classes/fields/currency.php:105 classes/fields/number.php:72
1329
+ msgid "Slider"
1330
+ msgstr "Slider"
1331
 
1332
+ #: components/Pages.php:290
1333
+ msgid "Enter URL here"
1334
+ msgstr "Introducir URL aquí"
1335
 
1336
+ #: classes/PodsAdmin.php:716
1337
+ msgid "Post Type (extended)"
1338
+ msgstr "Tipo de Post (extendido)"
1339
 
1340
+ #: classes/fields/currency.php:110
1341
+ msgid "Currency Sign"
1342
+ msgstr "Simbolo de Moneda"
1343
 
1344
+ #: components/Pages.php:346
1345
+ msgid "-- Page Template --"
1346
+ msgstr "-- Template de página --"
 
1347
 
1348
+ #: classes/PodsAdmin.php:717
1349
+ msgid "Taxonomy (extended)"
1350
+ msgstr "Taxonomía (extendida)"
1351
 
1352
+ #: classes/fields/currency.php:137
1353
+ msgid "Currency Placement"
1354
+ msgstr "Ubicación de Moneda"
 
 
1355
 
1356
+ #: components/Pages.php:348
1357
+ msgid "Custom (uses only Pod Page content)"
1358
+ msgstr ""
1359
 
1360
+ #: classes/PodsAdmin.php:718
1361
+ msgid "Custom Post Type"
1362
+ msgstr "Tipo de Post Personalizado"
1363
 
1364
+ #: classes/fields/currency.php:141
1365
+ msgid "Before (ex. $100)"
1366
+ msgstr "Antes (xej. $100)"
1367
 
1368
+ #: components/Pages.php:351
1369
+ msgid "Pods (Pods Default)"
1370
+ msgstr ""
1371
 
1372
+ #: classes/PodsAdmin.php:719
1373
+ msgid "Custom Taxonomy"
1374
+ msgstr "Taxonomía personalizada"
1375
 
1376
+ #: classes/fields/currency.php:142
1377
+ msgid "After (ex. 100$)"
1378
+ msgstr "Después (xej. 100$)"
1379
 
1380
+ #: components/Pages.php:354
1381
+ msgid "Page (WP Default)"
1382
+ msgstr ""
 
1383
 
1384
+ #: classes/PodsAdmin.php:720
1385
+ msgid "User (extended)"
1386
+ msgstr ""
 
1387
 
1388
+ #: classes/fields/currency.php:143
1389
+ msgid "None (ex. 100)"
1390
+ msgstr "Ninguno (xej. 100)"
1391
 
1392
+ #: components/Pages.php:357
1393
+ msgid "Index (WP Fallback)"
1394
+ msgstr ""
1395
 
1396
+ #: classes/PodsAdmin.php:721
1397
+ msgid "Media (extended)"
1398
+ msgstr ""
1399
 
1400
+ #: classes/fields/currency.php:144
1401
+ msgid "Before with Currency Code after (ex. $100 USD)"
1402
+ msgstr "Antes con el código de moneda después (xej. $100 USD)"
1403
 
1404
+ #: components/Pages.php:366 ui/admin/setup-add.php:138
1405
+ #: ui/admin/setup-edit.php:414
1406
+ msgid "Page Title"
1407
+ msgstr "Título de página"
1408
 
1409
+ #: classes/PodsAdmin.php:722
1410
+ msgid "Comments (extended)"
1411
+ msgstr "Comentarios (extendidos)"
1412
 
1413
+ #: classes/fields/currency.php:148 classes/fields/number.php:77
1414
+ #: classes/fields/phone.php:67 classes/fields/pick.php:136
1415
+ #: classes/fields/pick.php:152 classes/fields/website.php:67
1416
+ msgid "Format"
1417
+ msgstr "Formato"
1418
 
1419
+ #: components/Pages.php:371
1420
+ msgid "Page Code"
1421
+ msgstr "Código de página"
1422
 
1423
+ #: classes/PodsAdmin.php:723
1424
+ msgid "Advanced Content Type"
1425
+ msgstr ""
 
 
1426
 
1427
+ #: classes/fields/currency.php:152 classes/fields/number.php:81
1428
+ msgid "Localized Default"
1429
+ msgstr "Localizado por defecto"
1430
 
1431
+ #: components/Pages.php:384
1432
+ msgid "Page Precode"
1433
+ msgstr "Precódigo de la página"
1434
 
1435
+ #: classes/PodsAdmin.php:724 ui/admin/setup-add.php:89
1436
+ msgid "Custom Settings Page"
1437
+ msgstr "Página de ajustes personalizados"
1438
 
1439
+ #: classes/fields/currency.php:162 classes/fields/number.php:90
1440
+ msgid "Decimals"
1441
+ msgstr "Decimales"
1442
 
1443
+ #: components/Pages.php:386
1444
+ msgid "Precode will run before your theme outputs the page. It is expected that this value will be a block of PHP. You must open the PHP tag here, as we do not open it for you by default."
1445
+ msgstr "El código se ejecutará antes de que tu tema muestre la página. Se espera que el contenido sea un bloque de PHP. Debes abrir el tag de PHP aquí, ya que no lo hacemos por defecto."
1446
 
1447
+ #: classes/PodsAdmin.php:732 components/Roles/Roles.php:90
1448
+ #: components/Roles/ui/add.php:43 ui/admin/setup-edit-field-fluid.php:62
1449
+ #: ui/admin/setup-edit.php:330
1450
+ msgid "Label"
1451
+ msgstr ""
1452
 
1453
+ #: classes/fields/currency.php:167 classes/fields/number.php:95
1454
+ msgid "Slider Increment (Step)"
1455
+ msgstr "Incremento del Slider (Paso)"
1456
 
1457
+ #: components/Pages.php:390
1458
+ msgid "Page Template"
1459
+ msgstr "Plantilla de Página"
1460
 
1461
+ #: classes/PodsAdmin.php:733 classes/PodsAdmin.php:1930 classes/PodsUI.php:958
1462
+ #: components/Roles/Roles.php:91 components/Roles/ui/add.php:50
1463
  #: ui/admin/setup-edit-field-fluid.php:66
1464
+ msgid "Name"
1465
+ msgstr ""
1466
 
1467
+ #: classes/fields/currency.php:173 classes/fields/number.php:101
1468
+ msgid "Minimum Number"
1469
+ msgstr "Número mínimo"
1470
 
1471
+ #: components/Pages.php:396
1472
+ msgid "Page"
1473
+ msgstr "Página"
1474
 
1475
+ #: classes/PodsAdmin.php:734 classes/PodsAdmin.php:845
1476
+ msgid "Type"
1477
+ msgstr "Tipo"
1478
 
1479
+ #: classes/fields/currency.php:179 classes/fields/number.php:107
1480
+ msgid "Maximum Number"
1481
+ msgstr "Número máximo"
1482
 
1483
+ #: components/Pages.php:399
1484
+ msgid "-- Select a Pod --"
1485
+ msgstr "-- Selecciona un Pod --"
1486
 
1487
+ #: classes/PodsAdmin.php:736 ui/admin/setup-add.php:196
1488
+ #: ui/admin/setup-add.php:332
1489
+ msgid "Storage Type"
1490
+ msgstr "Tipo de almacenamiento"
1491
 
1492
+ #: classes/fields/currency.php:503 classes/fields/number.php:350
1493
+ msgid "%s is not numeric"
1494
+ msgstr "%s no es numérico"
 
1495
 
1496
+ #: components/Pages.php:415
1497
+ msgid "Associated Pod"
1498
+ msgstr "Pod asociado"
1499
 
1500
+ #: classes/PodsAdmin.php:740
1501
+ msgid "Number of Fields"
1502
+ msgstr "Número de campos"
 
1503
 
1504
+ #: classes/fields/date.php:67 classes/fields/datetime.php:67
1505
+ msgid "Date Format"
1506
+ msgstr "Formato de Fecha"
1507
 
1508
+ #: components/Pages.php:423
1509
+ msgid "Wildcard Slug"
1510
+ msgstr "Slug comodín"
 
1511
 
1512
+ #: classes/PodsAdmin.php:822
1513
+ msgid "Delete All Items"
1514
+ msgstr ""
1515
 
1516
+ #: classes/fields/date.php:83 classes/fields/datetime.php:124
1517
+ #: classes/fields/time.php:104
1518
+ msgid "Allow empty value?"
1519
+ msgstr "¿Permitir valor vacío?"
1520
 
1521
+ #: classes/PodsAdmin.php:823
1522
+ msgid "Are you sure you want to delete all items from this Pod? If this is an extended Pod, it will remove the original items extended too."
1523
+ msgstr "¿Estás seguro de que quieres borrar todos los items de este Pod? Si éste es un Pod ampliado, se borrarán también los items originales ampliados."
1524
 
1525
+ #: classes/fields/date.php:88 classes/fields/datetime.php:129
1526
+ #: classes/fields/email.php:73 classes/fields/phone.php:98
1527
+ #: classes/fields/time.php:109 classes/fields/website.php:86
1528
+ msgid "Enable HTML5 Input Field?"
1529
+ msgstr "¿Habilitar Campo HTML5?"
1530
 
1531
+ #: components/Pages.php:430
1532
+ msgid "Pod Association"
1533
+ msgstr "Asociación con Pod"
1534
 
1535
+ #: classes/PodsAdmin.php:838
1536
+ msgid "field"
1537
+ msgid_plural "fields"
1538
+ msgstr[0] "campo"
1539
+ msgstr[1] "campos"
1540
 
1541
+ #: classes/fields/datetime.php:84 classes/fields/time.php:66
1542
+ msgid "Time Format Type"
1543
+ msgstr "Tipo Formato de Tiempo"
1544
 
1545
+ #: components/Pages.php:444
1546
+ msgid "<h6>Roles</h6> Roles are assigned to users to provide them access to specific functionality in WordPress. Please see the Roles and Capabilities component in Pods for an easy tool to add your own roles and edit existing ones."
1547
+ msgstr ""
 
1548
 
1549
+ #: classes/PodsAdmin.php:912 ui/admin/setup-edit.php:247
1550
+ msgid "Manage Fields"
1551
+ msgstr "Gestionar campos"
 
1552
 
1553
+ #: classes/fields/datetime.php:89 classes/fields/time.php:70
1554
+ msgid "12 hour"
1555
+ msgstr "12 horas"
1556
 
1557
+ #: components/Pages.php:468 components/Templates/Templates.php:291
1558
+ msgid "<h6>Capabilities</h6> Capabilities denote access to specific functionality in WordPress, and are assigned to specific User Roles. Please see the Roles and Capabilities component in Pods for an easy tool to add your own capabilities and roles."
1559
+ msgstr ""
1560
 
1561
+ #: classes/PodsAdmin.php:915
1562
+ msgid "Labels"
1563
+ msgstr "Etiquetas"
1564
 
1565
+ #: classes/fields/datetime.php:90 classes/fields/time.php:71
1566
+ msgid "24 hour"
1567
+ msgstr "24 horas"
 
1568
 
1569
+ #: components/Pages.php:490
1570
+ msgid "Redirect if Restricted?"
1571
+ msgstr ""
 
1572
 
1573
+ #: classes/PodsAdmin.php:918
1574
+ msgid "Admin UI"
1575
+ msgstr "Administración UI"
 
1576
 
1577
+ #: classes/fields/datetime.php:95 classes/fields/datetime.php:114
1578
+ #: classes/fields/time.php:76 classes/fields/time.php:94
1579
+ msgid "Time Format"
1580
+ msgstr "Formato horario"
1581
 
1582
+ #: components/Pages.php:497
1583
+ msgid "Redirect to WP Login page"
1584
+ msgstr ""
1585
 
1586
+ #: classes/PodsAdmin.php:921
1587
+ msgid "Advanced Options"
1588
+ msgstr "Opciones avanzadas"
1589
 
1590
+ #: classes/fields/email.php:192
1591
+ msgid "Invalid e-mail provided for %s"
1592
+ msgstr ""
1593
 
1594
+ #: components/Pages.php:507
1595
+ msgid "Redirect to a Custom URL"
1596
+ msgstr ""
1597
 
1598
+ #: classes/PodsAdmin.php:924
1599
+ msgid "Extra Fields"
1600
+ msgstr "Campos extra"
1601
 
1602
+ #: classes/fields/file.php:77
1603
+ msgid "Upload Limit"
1604
+ msgstr ""
1605
 
1606
+ #: components/Roles/Roles.php:68 components/Roles/Roles.php:213
1607
+ msgid "%s User"
1608
+ msgid_plural "%s Users"
1609
+ msgstr[0] "%s Usuario"
1610
+ msgstr[1] "%s Usuarios"
1611
 
1612
+ #: classes/PodsAdmin.php:968
1613
+ msgid "Post Type Description"
1614
+ msgstr "Descripción del tipo de post"
1615
 
1616
+ #: classes/fields/file.php:81
1617
+ msgid "Single File"
1618
+ msgstr ""
1619
 
1620
+ #: components/Roles/Roles.php:77 components/Roles/Roles.php:222
1621
+ msgid "View Users"
1622
+ msgstr "Ver usuarios"
1623
 
1624
+ #: classes/PodsAdmin.php:969
1625
+ msgid "A short descriptive summary of what the post type is."
1626
+ msgstr "Un breve y descriptivo resumen de lo que es el tipo de post. "
1627
 
1628
+ #: classes/fields/file.php:82
1629
+ msgid "Multiple Files"
1630
+ msgstr ""
1631
 
1632
+ #: components/Roles/Roles.php:92 components/Roles/ui/add.php:26
1633
+ msgid "Capabilities"
1634
+ msgstr "Funcionalidades"
1635
 
1636
+ #: classes/PodsAdmin.php:974 classes/PodsAdmin.php:1181
1637
+ msgid "Show Admin UI"
1638
+ msgstr "Mostrar UI de Administrador"
1639
 
1640
+ #: classes/fields/file.php:87
1641
+ msgid "File Uploader"
1642
+ msgstr "Gestor de subida de archivos"
1643
 
1644
+ #: components/Roles/Roles.php:163 components/Roles/Roles.php:296
1645
+ msgid "Role not found, cannot edit it."
1646
+ msgstr "Rol no encontrado, no se puede editar."
1647
 
1648
+ #: classes/PodsAdmin.php:975 classes/PodsAdmin.php:982
1649
+ #: classes/PodsAdmin.php:990 classes/PodsAdmin.php:996
1650
+ #: classes/PodsAdmin.php:1003 classes/PodsAdmin.php:1017
1651
+ #: classes/PodsAdmin.php:1024 classes/PodsAdmin.php:1034
1652
+ #: classes/PodsAdmin.php:1041 classes/PodsAdmin.php:1048
1653
+ #: classes/PodsAdmin.php:1067 classes/PodsAdmin.php:1104
1654
+ #: classes/PodsAdmin.php:1111 classes/PodsAdmin.php:1141
1655
+ #: classes/PodsAdmin.php:1149 classes/PodsAdmin.php:1164
1656
+ #: classes/PodsAdmin.php:1171 classes/PodsAdmin.php:1182
1657
+ #: classes/PodsAdmin.php:1190 classes/PodsAdmin.php:1197
1658
+ #: classes/PodsAdmin.php:1213 classes/PodsAdmin.php:1219
1659
+ #: classes/PodsAdmin.php:1226 classes/PodsAdmin.php:1233
1660
+ #: classes/PodsAdmin.php:1240 classes/PodsAdmin.php:1285
1661
+ #: classes/PodsAdmin.php:1297 classes/PodsAdmin.php:1310
1662
+ #: classes/PodsAdmin.php:1316 classes/PodsAdmin.php:1323
1663
+ #: classes/PodsAdmin.php:1339 classes/PodsAdmin.php:1350
1664
+ #: classes/PodsAdmin.php:1358 classes/PodsAdmin.php:1364
1665
+ #: classes/PodsAdmin.php:1386 classes/PodsAdmin.php:1409
1666
+ #: classes/PodsAdmin.php:1417 classes/PodsAdmin.php:1552
1667
+ #: classes/PodsAdmin.php:1559 classes/PodsAdmin.php:1569
1668
+ #: classes/PodsAdmin.php:1576 classes/PodsAdmin.php:1645
1669
+ #: classes/fields/pick.php:126 classes/fields/pick.php:137
1670
+ #: classes/fields/pick.php:153 classes/fields/pick.php:193
1671
+ #: classes/fields/pick.php:233 classes/fields/pick.php:251
1672
+ #: classes/fields/pick.php:263 classes/fields/pick.php:275
1673
  #: ui/admin/setup-edit-field-fluid.php:62
1674
  #: ui/admin/setup-edit-field-fluid.php:70
1675
  #: ui/admin/setup-edit-field-fluid.php:74
1699
  msgid "help"
1700
  msgstr "ayuda"
1701
 
1702
+ #: classes/fields/file.php:111
1703
+ msgid "Editable Title"
1704
+ msgstr "Título editable"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1705
 
1706
+ #: components/Roles/Roles.php:178
1707
+ msgid "Role not found, it cannot be deleted."
1708
+ msgstr "Rol no encontrado, no se puede eliminar."
1709
 
1710
+ #: classes/PodsAdmin.php:981 classes/PodsAdmin.php:1349
1711
+ msgid "Show Admin Menu in Dashboard"
1712
+ msgstr "Mostrar Menú de administración en el Escritorio"
1713
 
1714
+ #: classes/fields/file.php:116
1715
+ msgid "Link to File in editor"
1716
+ msgstr ""
1717
 
1718
+ #: components/Roles/Roles.php:183
1719
+ msgid "You cannot remove the <strong>%s</strong> role, you must set a new default role for the site first."
1720
+ msgstr "No se puede eliminar el rol <strong>%s</strong>, debes seleccionar primero un nuevo rol por defecto para el sitio."
1721
 
1722
+ #: classes/PodsAdmin.php:989 classes/PodsAdmin.php:1357
1723
+ msgid "Parent Menu ID (optional)"
1724
+ msgstr "ID del menú padre (opcional)"
1725
 
1726
+ #: classes/fields/file.php:121
1727
+ msgid "Max Number of Files"
1728
+ msgstr ""
1729
 
1730
+ #: components/Roles/Roles.php:232
1731
+ msgid "role removed from site."
1732
+ msgstr "Rol borrado del sitio."
1733
 
1734
+ #: classes/PodsAdmin.php:995 classes/PodsAdmin.php:1189
1735
+ #: ui/admin/setup-edit.php:418
1736
+ msgid "Menu Name"
1737
+ msgstr "Nombre del menú"
1738
 
1739
+ #: classes/fields/file.php:133
1740
+ msgid "Restrict File Types"
1741
+ msgstr "Restringir Tipos de fichero"
1742
 
1743
+ #: components/Roles/Roles.php:269
1744
+ msgid "Role name is required"
1745
+ msgstr "Nombre del rol necesario"
1746
 
1747
+ #: classes/PodsAdmin.php:1002 classes/PodsAdmin.php:1218
1748
+ #: classes/PodsAdmin.php:1315 classes/PodsAdmin.php:1363
1749
+ msgid "Menu Position"
1750
+ msgstr "Posición en el Menú"
1751
 
1752
+ #: classes/fields/file.php:139
1753
+ msgid "Images (jpg, jpeg, png, gif)"
1754
+ msgstr ""
1755
 
1756
+ #: components/Roles/Roles.php:272
1757
+ msgid "Role label is required"
1758
+ msgstr "La etiqueta del Rol es necesaria"
1759
 
1760
+ #: classes/PodsAdmin.php:1009
1761
+ msgid "Menu Icon"
1762
+ msgstr "Icono de Menú"
1763
 
1764
+ #: classes/fields/file.php:140
1765
+ msgid "Video (mpg, mov, flv, mp4, etc..)"
1766
+ msgstr "Video (mpg, mov, flv, mp4, etc..)"
1767
 
1768
+ #: components/Roles/ui/add.php:14
1769
+ msgid "Roles &amp; Capabilities: Add New Role"
1770
+ msgstr "Roles y Funcionalidades: Añadir un nuevo Rol"
1771
 
1772
+ #: classes/PodsAdmin.php:1010
1773
+ msgid "URL or Dashicon name for the menu icon. You may specify the path to the icon using one of the <a href=\"http://pods.io/docs/build/special-magic-tags/#site-tags\" target=\"_blank\">site tag</a> type <a href=\"http://pods.io/docs/build/special-magic-tags/\" target=\"_blank\">special magic tags</a>. For example, for a file in your theme directory, use \"{@template-url}/path/to/image.png\". You may also use the name of a <a href=\"http://melchoyce.github.io/dashicons/\" target=\"_blank\">Dashicon</a>. For example, to use the empty star icon, use \"dashicons-star-empty\"."
1774
+ msgstr ""
1775
 
1776
+ #: classes/fields/file.php:141
1777
+ msgid "Audio (mp3, m4a, wav, wma, etc..)"
1778
+ msgstr "Audio (mp3, m4a, wav, wma, etc..)"
1779
 
1780
+ #: components/Roles/ui/add.php:22
1781
+ msgid "Naming"
1782
+ msgstr "Nomenclatura"
1783
 
1784
+ #: classes/PodsAdmin.php:1016 classes/PodsAdmin.php:1232
1785
+ msgid "Show in Navigation Menus"
1786
+ msgstr "Mostrar en menús de navegación"
1787
 
1788
+ #: classes/fields/file.php:142
1789
+ msgid "Text (txt, csv, tsv, rtx, etc..)"
1790
+ msgstr "Texto (txt, csv, tsv, rtx, etc..)"
1791
 
1792
+ #: components/Roles/ui/add.php:34
1793
+ msgid "Roles allow you to specify which capabilities a user should be able to do within WordPress."
1794
+ msgstr "Los roles permiten especificar las funcionalidades que un usuario puede usar en WordPress."
1795
 
1796
+ #: classes/PodsAdmin.php:1023
1797
+ msgid "Show in Admin Bar \"New\" Menu"
1798
+ msgstr "Mostrar en el menú \"Nuevo\" de la barra de administración"
1799
 
1800
+ #: classes/fields/file.php:143
1801
+ msgid "Any Type (no restriction)"
1802
+ msgstr "Cualquier tipo (sin restricción)"
1803
 
1804
+ #: components/Roles/ui/add.php:38
1805
+ msgid "Name your new Role"
1806
+ msgstr "Nombre del nuevo Rol"
1807
 
1808
+ #: classes/PodsAdmin.php:1033 ui/admin/setup-edit.php:574
1809
  msgid "Public"
1810
  msgstr "Público"
1811
 
1812
+ #: classes/fields/file.php:144
1813
+ msgid "Other (customize allowed extensions)"
1814
+ msgstr "Otros (personalizar extensiones permitidas)"
1815
+
1816
+ #: components/Roles/ui/add.php:43
1817
+ msgid "Users will see this as the name of their role"
1818
+ msgstr "Los usuarios verán esto como el nombre de su rol"
1819
 
1820
+ #: classes/PodsAdmin.php:1040
1821
  msgid "Publicly Queryable"
1822
  msgstr "Se puede consultar públicamente"
1823
 
1824
+ #: classes/fields/file.php:150
1825
+ msgid "Allowed File Extensions"
1826
+ msgstr "Extensiones de archivo permitidas"
1827
+
1828
+ #: components/Roles/ui/add.php:50
1829
+ msgid "You will use this name to programatically reference this role throughout WordPress"
1830
+ msgstr "Usarás este nombre para referenciar este rol en WordPress"
1831
 
1832
+ #: classes/PodsAdmin.php:1047
1833
  msgid "Exclude from Search"
1834
  msgstr "Excluír de la búsqueda"
1835
 
1836
+ #: classes/fields/file.php:151
1837
+ msgid "Separate file extensions with a comma (ex. jpg,png,mp4,mov)"
1838
+ msgstr "Separa extensiones de fichero con una coma (xej. jpg,png,mp4,mov)"
1839
 
1840
+ #: components/Roles/ui/add.php:59
1841
+ msgid "Choose below which Capabilities you would like this new user role to have."
1842
+ msgstr "Elige debajo qué funcionalidades quieres que tenga el nuevo rol de usuario."
1843
 
1844
+ #: classes/PodsAdmin.php:1054
1845
+ msgid "User Capability"
1846
+ msgstr "Funcionalidad de usuario"
 
 
 
1847
 
1848
+ #: classes/fields/file.php:616 classes/fields/pick.php:1830
1849
+ #: classes/fields/pick.php:1832
1850
+ msgid "Invalid field request"
1851
+ msgstr "Petición de campo no válida"
1852
 
1853
+ #: components/Roles/ui/add.php:63 components/Roles/ui/edit.php:74
1854
+ msgid "Assign the Capabilities for"
1855
+ msgstr ""
1856
 
1857
+ #: classes/PodsAdmin.php:1055
1858
+ msgid "Uses these capabilties for access to this post type: edit_{capability}, read_{capability}, and delete_{capability}"
1859
+ msgstr "Usa estas funcionalidades para acceder a este tipo de post: edit_{capability}, read_{capability}, and delete_{capability}"
 
1860
 
1861
+ #: classes/fields/file.php:619 classes/fields/pick.php:1834
1862
+ #: classes/fields/pick.php:1836 classes/fields/pick.php:1838
1863
+ msgid "Invalid field"
1864
+ msgstr ""
1865
 
1866
+ #: components/Roles/ui/add.php:67 components/Roles/ui/edit.php:82
1867
+ msgid "Toggle All Capabilities on / off"
1868
+ msgstr ""
 
1869
 
1870
+ #: classes/PodsAdmin.php:1061
1871
+ msgid "Custom Capability"
1872
+ msgstr "Funcionalidad personalizada"
 
 
 
 
 
 
 
1873
 
1874
+ #: classes/fields/file.php:658
1875
+ msgid "File size too large, max size is %s"
1876
+ msgstr ""
 
1877
 
1878
+ #: components/Roles/ui/add.php:97 components/Roles/ui/edit.php:113
1879
+ msgid "Custom Capabilities"
1880
+ msgstr ""
1881
+
1882
+ #: classes/PodsAdmin.php:1066
1883
+ msgid "Custom User Capability"
1884
+ msgstr "Funcionalidad de usuario personalizada"
1885
+
1886
+ #: classes/fields/file.php:749
1887
+ msgid "File type not allowed, please use one of the following: %s"
1888
+ msgstr ""
1889
+
1890
+ #: components/Roles/ui/add.php:97 components/Roles/ui/edit.php:113
1891
+ msgid "These capabilities will automatically be created and assigned to this role"
1892
+ msgstr ""
1893
+
1894
+ #: classes/PodsAdmin.php:1073
1895
+ msgid "Additional User Capabilities"
1896
+ msgstr "Funcionalidades de usuario adicionales"
1897
+
1898
+ #: classes/fields/html.php:61 classes/fields/paragraph.php:70
1899
+ #: classes/fields/text.php:76
1900
+ msgid "Allow HTML?"
1901
+ msgstr "¿Permitir HTML?"
1902
+
1903
+ #: components/Roles/ui/edit.php:15
1904
+ msgid "Roles &amp; Capabilities: Edit Role"
1905
+ msgstr ""
1906
+
1907
+ #: classes/PodsAdmin.php:1074
1908
+ msgid "Enables additional capabilities for this Post Type including: delete_{capability}s, delete_private_{capability}s, delete_published_{capability}s, delete_others_{capability}s, edit_private_{capability}s, and edit_published_{capability}s"
1909
+ msgstr ""
1910
+
1911
+ #: classes/fields/html.php:67 classes/fields/paragraph.php:76
1912
+ #: classes/fields/wysiwyg.php:94
1913
+ msgid "Enable oEmbed?"
1914
+ msgstr "¿Habilitar oEmbed?"
1915
+
1916
+ #: components/Roles/ui/edit.php:30
1917
+ msgid "Choose below which Capabilities you would like this existing user role to have."
1918
+ msgstr "Elije debajo qué Funcionalidades quieres que tenga este rol de usuario existente."
1919
+
1920
+ #: classes/PodsAdmin.php:1080
1921
+ msgid "Enable Archive Page"
1922
+ msgstr ""
1923
 
1924
+ #: classes/fields/html.php:71 classes/fields/paragraph.php:80
1925
+ #: classes/fields/wysiwyg.php:98
1926
+ msgid "Embed videos, images, tweets, and other content."
1927
+ msgstr "Incrustar videos, imágenes, tweets y otro contenido."
 
 
1928
 
1929
+ #: components/Roles/ui/edit.php:47 ui/admin/form-settings.php:79
1930
+ #: ui/admin/form.php:120
1931
+ msgid "Save"
1932
+ msgstr "Guardar"
1933
 
1934
+ #: classes/PodsAdmin.php:1081
1935
+ msgid "If enabled, creates an archive page with list of of items in this custom post type. Functions like a category page for posts. Can be controlled with a template in your theme called \"archive-{$post-type}.php\"."
1936
+ msgstr ""
 
1937
 
1938
+ #: classes/fields/html.php:76 classes/fields/paragraph.php:85
1939
+ #: classes/fields/wysiwyg.php:103
1940
+ msgid "Enable wptexturize?"
1941
+ msgstr "¿Habilitar wptexturize?"
1942
 
1943
+ #: components/Table-Storage.php:47
1944
+ msgid "Taxonomies (Categories, Tags, etc..)"
1945
+ msgstr "Taxonomías (Categorías, Etiquetas, etc...)"
1946
 
1947
+ #: classes/PodsAdmin.php:1088
1948
+ msgid "Archive Page Slug Override"
1949
+ msgstr ""
 
1950
 
1951
+ #: classes/fields/html.php:80 classes/fields/paragraph.php:89
1952
+ #: classes/fields/wysiwyg.php:107
1953
+ msgid "Transforms less-beautfiul text characters into stylized equivalents."
1954
+ msgstr "Transforma caracteres \"poco bonitos\" en sus equivalentes estilizados."
1955
 
1956
+ #: components/Templates/Templates.php:248
1957
+ msgid "Enter template name here"
1958
+ msgstr "Introduce aquí el nombre de la plantilla"
1959
 
1960
+ #: classes/PodsAdmin.php:1089
1961
+ msgid "If archive page is enabled, you can override the slug used by WordPress, which defaults to the name of the post type."
1962
+ msgstr ""
 
1963
 
1964
+ #: classes/fields/html.php:85 classes/fields/paragraph.php:94
1965
+ #: classes/fields/wysiwyg.php:112
1966
+ msgid "Enable convert_chars?"
1967
+ msgstr "¿Habilitar convert_chars?"
1968
 
1969
+ #: components/Templates/Templates.php:282
1970
+ msgid "Show to Admins Only?"
1971
+ msgstr "¿Mostrar solo a administradores?"
1972
 
1973
+ #: classes/PodsAdmin.php:1095 ui/admin/setup-edit.php:578
1974
  #: ui/admin/setup-edit.php:687
1975
  msgid "Hierarchical"
1976
  msgstr "Jerárquico"
1977
 
1978
+ #: classes/fields/html.php:89 classes/fields/paragraph.php:98
1979
+ #: classes/fields/wysiwyg.php:116
1980
+ msgid "Converts text into valid XHTML and Unicode"
1981
+ msgstr "Convierte texto en XHTML válido y Unicode"
1982
+
1983
+ #: components/Templates/Templates.php:422
1984
+ msgid "You do not have access to view this content."
1985
+ msgstr "Usted no posee permisos para ver este contenido."
1986
+
1987
+ #: classes/PodsAdmin.php:1096
1988
+ msgid "Allows for parent/ child relationships between items, just like with Pages. Note: To edit relationships in the post editor, you must enable \"Page Attributes\" in the \"Supports\" section below."
1989
+ msgstr ""
1990
+
1991
+ #: classes/fields/html.php:94 classes/fields/paragraph.php:103
1992
+ #: classes/fields/wysiwyg.php:121
1993
+ msgid "Enable wpautop?"
1994
+ msgstr "¿Habilitar wpautop?"
1995
 
1996
+ #: components/Templates/class-pods_templates.php:208
1997
+ msgid "Pod Reference"
1998
+ msgstr ""
1999
+
2000
+ #: classes/PodsAdmin.php:1103 ui/admin/setup-edit.php:583
2001
  msgid "<strong>Label: </strong> Parent <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2002
  msgstr "<strong>Etiqueta: </strong> <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span> Padre"
2003
 
2004
+ #: classes/fields/html.php:98
2005
+ msgid "Changes double line-breaks in the text into HTML htmls"
2006
+ msgstr ""
2007
+
2008
+ #: components/Templates/includes/element-pod_reference.php:12
2009
+ msgid "Select Pod to use as reference"
2010
+ msgstr ""
 
 
2011
 
2012
+ #: classes/PodsAdmin.php:1110 ui/admin/setup-edit.php:587
2013
  msgid "<strong>Label: </strong> Parent"
2014
  msgstr "<strong>Etiqueta: </strong> Padre"
2015
 
2016
+ #: classes/fields/html.php:108 classes/fields/paragraph.php:117
2017
+ #: classes/fields/wysiwyg.php:135
2018
+ msgid "Embed [shortcodes] that help transform your static content into dynamic content."
2019
+ msgstr "Embebe [shortcodes] que ayudan a transformar tu contenido estático en contenido dinámico."
2020
+
2021
+ #: includes/data.php:1668
2022
+ msgid "and"
2023
+ msgstr "y"
 
 
 
2024
 
2025
+ #: classes/PodsAdmin.php:1117 ui/admin/setup-edit.php:592
2026
  msgid "Rewrite"
2027
  msgstr "Reescribir"
2028
 
2029
+ #: classes/fields/paragraph.php:107 classes/fields/wysiwyg.php:125
2030
+ msgid "Changes double line-breaks in the text into HTML paragraphs"
2031
+ msgstr "Cambia dobles retornos de carro en el texto por párrafos HTML"
2032
+
2033
+ #: includes/general.php:131
2034
+ msgid "The following issue occurred:"
2035
+ msgstr ""
2036
+
2037
+ #: classes/PodsAdmin.php:1118
2038
+ msgid "Allows you to use pretty permalinks, if set in WordPress Settings->Reading. If not enbabled, your links will be in the form of \"example.com/?pod_name=post_slug\" regardless of your permalink settings."
2039
+ msgstr ""
2040
+
2041
+ #: classes/fields/paragraph.php:124 classes/fields/text.php:84
2042
+ #: classes/fields/wysiwyg.php:142
2043
+ msgid "Allowed HTML Tags"
2044
+ msgstr "Etiquetas HTML permitidas"
2045
+
2046
+ #: includes/general.php:133
2047
+ msgid "The following issues occurred:"
2048
+ msgstr "Ha ocurrido lo siguiente:"
2049
 
2050
+ #: classes/PodsAdmin.php:1125 ui/admin/setup-edit.php:597
2051
  msgid "Custom Rewrite Slug"
2052
  msgstr "Slug de reescritura personalizada"
2053
 
2054
+ #: classes/fields/paragraph.php:128 classes/fields/wysiwyg.php:145
2055
+ msgid "Format: strong em a ul ol li b i"
2056
+ msgstr ""
2057
+
2058
+ #: includes/general.php:137
2059
+ msgid "An unknown error has occurred"
2060
+ msgstr "Ocurrió un error desconocido"
2061
+
2062
+ #: classes/PodsAdmin.php:1126
2063
+ msgid "Changes the first segment of the URL, which by default is the name of the Pod. For example, if your Pod is called \"foo\", if this field is left blank, your link will be \"example.com/foo/post_slug\", but if you were to enter \"bar\" your link will be \"example.com/bar/post_slug\"."
2064
+ msgstr ""
2065
+
2066
+ #: classes/fields/paragraph.php:150 classes/fields/wysiwyg.php:167
2067
+ msgid "Allow Markdown Syntax?"
2068
+ msgstr "¿Permitir sintaxis de Markdown?"
2069
+
2070
+ #: includes/general.php:377
2071
+ msgid "%1$s has been <strong>deprecated</strong> since Pods version %2$s! Use %3$s instead."
2072
+ msgstr "%1$s fue declarado <strong>obsoleto</strong> desde la version Pods %2$s! Use %3$."
2073
 
2074
+ #: classes/PodsAdmin.php:1132
2075
  msgid "Rewrite with Front"
2076
  msgstr "Reescribir con Front"
2077
 
2078
+ #: classes/fields/phone.php:71
2079
+ msgid "US"
2080
+ msgstr "US"
 
2081
 
2082
+ #: includes/general.php:379
2083
+ msgid "%1$s has been <strong>deprecated</strong> since Pods version %2$s with no alternative available."
2084
+ msgstr "%1$s fue declarado <strong>obsoleto</strong> desde la version Pods %2$s no hay una alternativa disponible."
2085
 
2086
+ #: classes/PodsAdmin.php:1133
2087
+ msgid "Allows permalinks to be prepended with your front base (example: if your permalink structure is /blog/, then your links will be: Unchecked->/news/, Checked->/blog/news/)"
2088
+ msgstr "Permite que los enlaces permanentes sean añadidos al base (ejemplo: si tu estructura de enlaces permanentes es /blog/, entonces tus enlaces tendrán la forma: Sin seleccionar->/noticias/, Seleccionado->/blog/noticias/)"
2089
+
2090
+ #: classes/fields/phone.php:76
2091
+ msgid "International"
2092
+ msgstr "Internacional"
2093
+
2094
+ #: includes/general.php:434 ui/admin/setup-edit.php:801
2095
+ msgid "Find out more"
2096
+ msgstr "Averiguar más"
2097
 
2098
+ #: classes/PodsAdmin.php:1140
2099
  msgid "Rewrite Feeds"
2100
  msgstr "Reescribir Feeds"
2101
 
2102
+ #: classes/fields/phone.php:77
2103
+ msgid "Any (no validation available)"
2104
+ msgstr "Cualquiera (sin validación disponible)"
2105
+
2106
+ #: includes/general.php:992 includes/general.php:1011 includes/general.php:1031
2107
+ msgid "NOTICE"
2108
+ msgstr "ADVERTENCIA"
2109
 
2110
+ #: classes/PodsAdmin.php:1148
2111
  msgid "Rewrite Pages"
2112
  msgstr "Reescribir páginas"
2113
 
2114
+ #: classes/fields/phone.php:82
2115
+ msgid "Phone Options"
2116
+ msgstr "Opciones de teléfono"
2117
+
2118
+ #: includes/general.php:992 includes/general.php:1011 includes/general.php:1031
2119
+ msgid "requires a minimum of"
2120
+ msgstr "requiere un minimo de"
2121
+
2122
+ #: classes/PodsAdmin.php:1156 ui/admin/setup-edit.php:610
2123
+ msgid "Query Var"
2124
+ msgstr "Variable de Consulta"
2125
+
2126
+ #: classes/fields/phone.php:85
2127
+ msgid "Enable Phone Extension?"
2128
+ msgstr "¿Habilitar prefijo telefónico?"
2129
+
2130
+ #: includes/general.php:993 includes/general.php:1012 includes/general.php:1032
2131
+ msgid "to function. You are currently running"
2132
+ msgstr "para funcionar. Usted esta utilizando actualmente"
2133
+
2134
+ #: classes/PodsAdmin.php:1157
2135
+ msgid "The Query Var is used in the URL and underneath the WordPress Rewrite API to tell WordPress what page or post type you are on. For a list of reserved Query Vars, read <a href=\"http://codex.wordpress.org/WordPress_Query_Vars\">WordPress Query Vars</a> from the WordPress Codex."
2136
+ msgstr ""
2137
+
2138
+ #: classes/fields/phone.php:197 classes/fields/website.php:185
2139
+ msgid "The %s field is required."
2140
+ msgstr "El campo %s es requerido."
2141
+
2142
+ #: includes/general.php:994
2143
+ msgid "Please upgrade your WordPress to continue."
2144
+ msgstr "Por favor actualize su Wordpress para continuar."
2145
+
2146
+ #: classes/PodsAdmin.php:1163
2147
+ msgid "Exportable"
2148
+ msgstr "Exportable"
2149
+
2150
+ #: classes/fields/phone.php:199
2151
+ msgid "Invalid phone number provided for the field %s."
2152
+ msgstr "Número de teléfono no válido proporcionado por el campo %s."
2153
+
2154
+ #: includes/general.php:1013
2155
+ msgid "Please upgrade (or have your Hosting Provider upgrade it for you) your PHP version to continue."
2156
+ msgstr "Por favor actualize (o contáctese con su Proveedor de Hosting para que lo actualize por ustéd) su version de PHP para continuar."
2157
+
2158
+ #: classes/PodsAdmin.php:1170
2159
+ msgid "Default Status"
2160
+ msgstr ""
2161
+
2162
+ #: classes/fields/pick.php:125
2163
+ msgid "Selection Type"
2164
+ msgstr "Tipo de selección"
2165
+
2166
+ #: includes/general.php:1033
2167
+ msgid "Please upgrade (or have your Hosting Provider upgrade it for you) your MySQL version to continue."
2168
+ msgstr "Por favor actualize (o contáctese con su Proveedor de Hosting para que lo actualize por ustéd) su version de MySQL para continuar."
2169
+
2170
+ #: classes/PodsAdmin.php:1196 classes/PodsAdmin.php:1296
2171
+ #: ui/admin/setup-add.php:150
2172
+ msgid "Menu Location"
2173
+ msgstr "Localización del menú"
2174
+
2175
+ #: classes/fields/pick.php:130
2176
+ msgid "Single Select"
2177
+ msgstr "Selección única"
2178
+
2179
+ #: classes/PodsAdmin.php:1202
2180
+ msgid "Default - Add to associated Post Type(s) menus"
2181
+ msgstr ""
2182
+
2183
+ #: classes/fields/pick.php:131
2184
+ msgid "Multiple Select"
2185
+ msgstr "Selección múltiple"
2186
+
2187
+ #: classes/PodsAdmin.php:1203 classes/PodsAdmin.php:1301
2188
+ msgid "Add to Settings menu"
2189
+ msgstr "Anadir al menú Ajustes"
2190
+
2191
+ #: classes/fields/pick.php:146 classes/fields/pick.php:162
2192
+ msgid "Autocomplete"
2193
+ msgstr "Autocompletar"
2194
+
2195
+ #: sql/upgrade/PodsUpgrade.php:128
2196
+ msgid "Invalid upgrade process."
2197
+ msgstr "Proceso de actualización inválido."
2198
 
2199
+ #: classes/PodsAdmin.php:1204 classes/PodsAdmin.php:1302
2200
+ msgid "Add to Appearances menu"
2201
+ msgstr "Añadir al menú Apariencia"
2202
 
2203
+ #: classes/fields/pick.php:147 classes/fields/pick.php:163
2204
+ msgid "Flexible"
2205
+ msgstr "Flexible"
2206
 
2207
+ #: sql/upgrade/PodsUpgrade.php:131
2208
+ msgid "Invalid upgrade method."
2209
+ msgstr "Método de actualización inválido."
2210
 
2211
+ #: classes/PodsAdmin.php:1205
2212
+ msgid "Make a top-level menu item"
2213
+ msgstr ""
2214
 
2215
+ #: classes/fields/pick.php:160
2216
+ msgid "Checkboxes"
2217
+ msgstr "Checkboxes"
2218
 
2219
+ #: sql/upgrade/PodsUpgrade.php:134
2220
+ msgid "Upgrade method not found."
2221
+ msgstr "Método de actualización no encontrado."
2222
 
2223
+ #: classes/PodsAdmin.php:1206 classes/PodsAdmin.php:1303
2224
+ msgid "Make a new top-level menu item below Settings"
2225
+ msgstr ""
 
 
2226
 
2227
+ #: classes/fields/pick.php:161
2228
+ msgid "Multi Select"
2229
+ msgstr "Multi Selector"
2230
 
2231
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:22 sql/upgrade/PodsUpgrade_2_0_0.php:44
2232
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:66 sql/upgrade/PodsUpgrade_2_0_0.php:88
2233
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:110 sql/upgrade/PodsUpgrade_2_0_0.php:132
2234
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:154 sql/upgrade/PodsUpgrade_2_0_0.php:183
2235
+ msgid "Table not found, it cannot be migrated"
2236
+ msgstr "No se encontró la tabla, no se puede migrar"
2237
 
2238
+ #: classes/PodsAdmin.php:1207 classes/PodsAdmin.php:1304
2239
+ msgid "Add a submenu item to another menu"
2240
+ msgstr "Añadir un elemento submenu a otro menu"
 
2241
 
2242
+ #: classes/fields/pick.php:168
2243
+ msgid "Taggable"
2244
+ msgstr ""
2245
 
2246
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:178 sql/upgrade/PodsUpgrade_2_0_0.php:836
2247
+ msgid "Invalid Pod."
2248
+ msgstr "Pod inválido."
2249
 
2250
+ #: classes/PodsAdmin.php:1212 classes/PodsAdmin.php:1309
2251
+ msgid "Custom Menu Location"
2252
+ msgstr "Localización del menú personalizado"
2253
 
2254
+ #: classes/fields/pick.php:169
2255
+ msgid "Allow new values to be inserted when using an Autocomplete field"
2256
+ msgstr ""
2257
 
2258
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:197
2259
+ msgid "Pod not found, it cannot be migrated"
2260
+ msgstr "No se encontró el Pod, no se puede migrar"
2261
 
2262
+ #: classes/PodsAdmin.php:1225 classes/PodsAdmin.php:1322
2263
+ #: classes/PodsAdmin.php:1370
2264
+ msgid "Menu Icon URL"
2265
+ msgstr "URL del icono del menú"
2266
 
2267
+ #: classes/fields/pick.php:182
2268
+ msgid "Default Select Text"
2269
+ msgstr ""
2270
 
2271
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:216
2272
+ msgid "is a field in the table, but was not found in this pod - the field data will not be migrated."
2273
+ msgstr "es un campo en la tabla, pero no se encuentra en este pod - los datos del campo no se migrarán."
2274
 
2275
+ #: classes/PodsAdmin.php:1239
2276
+ msgid "Allow in Tagcloud Widget"
2277
+ msgstr "Permitir en el Widget de Nube de Etiquetas"
2278
 
2279
+ #: classes/fields/pick.php:183
2280
+ msgid "This is the text use for the default \"no selection\" dropdown item, if empty, it will default to \"-- Select One --\""
2281
+ msgstr ""
2282
 
2283
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:221
2284
+ msgid "is a field in this pod, but was not found in the table - the field data will not be migrated."
2285
+ msgstr "es un campo en el pod, pero no se encuentra en la tabla - los datos del campo no se migrarán."
2286
 
2287
+ #: classes/PodsAdmin.php:1249
2288
+ msgid "Show Taxonomy column on Post Types"
2289
+ msgstr "Mostrar la columna Taxonomía en los Tipos de Post"
2290
 
2291
+ #: classes/fields/pick.php:192
2292
+ msgid "Selection Limit"
2293
+ msgstr "Límite de Selección"
2294
 
2295
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:551
2296
+ msgid "Pod <strong>%s</strong> not found, relationships cannot be migrated"
2297
+ msgstr ""
2298
 
2299
+ #: classes/PodsAdmin.php:1250
2300
+ msgid "Whether to add a column for this taxonomy on the associated post types manage screens"
2301
+ msgstr ""
2302
 
2303
+ #: classes/fields/pick.php:199
2304
+ msgid "Allow HTML"
2305
+ msgstr ""
2306
 
2307
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:819
2308
+ msgid "Input Helpers may not function in our new forms, we have imported and disabled them for your review."
2309
+ msgstr "Los Helpers de Entrada de datos podrián no funcionar en los nuevos formularios, los hemos importado y deshabilitado para su revisión."
2310
 
2311
+ #: classes/PodsAdmin.php:1260
2312
+ msgid "Single Value Taxonomy"
2313
+ msgstr ""
2314
 
2315
+ #: classes/fields/pick.php:204
2316
+ msgid "Table ID Column"
2317
+ msgstr "Columna ID de Tabla"
2318
 
2319
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:841
2320
+ msgid "Table not found, items cannot be migrated"
2321
+ msgstr "No se encontró la tabla, los items no pueden ser migrados"
2322
 
2323
+ #: classes/PodsAdmin.php:1261
2324
+ msgid "Use a drop-down for the input instead of the WordPress default"
2325
+ msgstr ""
2326
 
2327
+ #: classes/fields/pick.php:205
2328
+ msgid "You must provide the ID column name for the table, this will be used to keep track of the relationship"
2329
+ msgstr "Debes proporcionar el nombre de la columna ID para la tabla, esta será utilizada para realizar el seguimiento de la relación"
2330
 
2331
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:844
2332
+ msgid "New table not found, items cannot be migrated"
2333
+ msgstr "Nueva tabla no encontrada, los items no se pueden migrar"
2334
 
2335
+ #: classes/PodsAdmin.php:1268
2336
+ msgid "Single Value Taxonomy - Required"
2337
+ msgstr ""
2338
 
2339
+ #: classes/fields/pick.php:212
2340
+ msgid "Table Index Column"
2341
+ msgstr "Columna Índice de la tabla"
2342
 
2343
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:847
2344
+ msgid "Pod Types table not found, items cannot be migrated"
2345
+ msgstr "La tabla Pod Types no fue encontrada, los items no se migrarán"
2346
 
2347
+ #: classes/PodsAdmin.php:1269
2348
+ msgid "A term will be selected by default in the Post Editor, not optional"
2349
+ msgstr ""
2350
 
2351
+ #: classes/fields/pick.php:213
2352
+ msgid "You must provide the index column name for the table, this may optionally also be the ID column name"
2353
+ msgstr "Debes proporcionar un nombre para la columna índice de la tabla, esta, de manera opcional, puede ser también el nombre de la columna ID"
2354
 
2355
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:850
2356
+ msgid "Pod table not found, items cannot be migrated"
2357
+ msgstr "La tabla Pod no fue encontrada, los items no se migrarán"
2358
 
2359
+ #: classes/PodsAdmin.php:1284 classes/PodsAdmin.php:1338
2360
+ msgid "Admin UI Style"
2361
+ msgstr "Estilo de Administración UI"
 
 
 
 
2362
 
2363
+ #: classes/fields/pick.php:220
2364
+ msgid "Display Field in Selection List"
2365
+ msgstr "Mostrar campo en la lista de selección"
 
 
2366
 
2367
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:858
2368
+ msgid "Pod <strong>%s</strong> not found, items cannot be migrated"
2369
+ msgstr ""
2370
 
2371
+ #: classes/PodsAdmin.php:1289
2372
+ msgid "Normal Settings Form"
2373
+ msgstr "Formulario de ajustes normales"
 
 
2374
 
2375
+ #: classes/fields/pick.php:221
2376
+ msgid "Provide the name of a field on the related object to reference, example: {@post_title}"
2377
+ msgstr "Proporcionar el nombre de un campo en el objeto relacionado para referenciarlo, ejemplo: {@post_title}"
2378
 
2379
+ #: ui/admin/components-admin.php:14
2380
+ msgid "Settings saved successfully."
2381
+ msgstr "Ajustes guardados con éxito."
 
 
2382
 
2383
+ #: classes/PodsAdmin.php:1290
2384
+ msgid "Post Type UI"
2385
+ msgstr ""
2386
+
2387
+ #: classes/fields/pick.php:232
2388
+ msgid "Limit list to Role(s)"
2389
+ msgstr "Limite de la lista de Rol(es)"
2390
 
2391
+ #: ui/admin/form-settings.php:55 ui/admin/form.php:87
2392
+ msgid "<strong>Error:</strong> %s %s successfully."
2393
+ msgstr "<strong>Error:</strong> %s %s satisfactoriamente."
2394
 
2395
+ #: classes/PodsAdmin.php:1291 classes/PodsAdmin.php:1344
2396
+ msgid "Custom (hook into pods_admin_ui_custom or pods_admin_ui_custom_{podname} action)"
2397
+ msgstr ""
2398
 
2399
+ #: classes/fields/pick.php:250
2400
+ msgid "Customized <em>WHERE</em>"
2401
+ msgstr "<em>WHERE</em> Personalizado"
2402
 
2403
+ #: ui/admin/form-settings.php:70 ui/admin/form.php:111
2404
+ msgid "<strong>Error:</strong> %s not %s."
2405
+ msgstr "<strong>Error:</strong> %s no %s."
2406
 
2407
+ #: classes/PodsAdmin.php:1343
2408
+ msgid "Normal (Looks like the Post Type UI)"
2409
+ msgstr ""
2410
 
2411
+ #: classes/fields/pick.php:262
2412
+ msgid "Customized <em>ORDER BY</em>"
2413
+ msgstr "<em>ORDER BY</em> Personalizado"
2414
 
2415
+ #: ui/admin/form.php:76 ui/admin/form.php:104 ui/admin/setup-edit.php:223
2416
+ msgid "duplicated"
2417
+ msgstr "duplicado"
 
 
2418
 
2419
+ #: classes/PodsAdmin.php:1371
2420
+ msgid "This is the icon shown to the left of the menu text for this content type."
2421
+ msgstr "Este es el icono mostrado a la izquierda del texto del menú para este tipo de contenido."
2422
 
2423
+ #: classes/fields/pick.php:274
2424
+ msgid "Customized <em>GROUP BY</em>"
2425
+ msgstr "<em>GROUP BY</em> personalizado"
2426
 
2427
+ #: ui/admin/form.php:213 ui/admin/view.php:47
2428
+ msgid "Created on"
2429
+ msgstr "Creado el"
2430
 
2431
+ #: classes/PodsAdmin.php:1377
2432
+ msgid "Header Icon"
2433
+ msgstr "Icono de cabecera"
2434
 
2435
+ #: classes/fields/pick.php:361
2436
+ msgid "Simple (custom defined list)"
2437
+ msgstr "Simple (lista personalizada)"
2438
 
2439
+ #: ui/admin/form.php:222 ui/admin/view.php:56
2440
+ msgid "Last Modified"
2441
+ msgstr "Última modificación"
2442
 
2443
+ #: classes/PodsAdmin.php:1378
2444
+ msgid "This is the icon shown to the left of the heading text at the top of the manage pages for this content type."
2445
+ msgstr "Este es el icono mostrado a la izquierda del texto de cabecera en la parte de arriba de las páginas de gestión para este tipo de contenido."
2446
 
2447
+ #: classes/fields/pick.php:362
2448
+ msgid "Custom"
2449
+ msgstr "Personalizado"
2450
 
2451
+ #: ui/admin/form.php:346 ui/admin/view.php:105
2452
+ msgid "Navigate"
2453
+ msgstr "Navegar"
 
 
2454
 
2455
+ #: classes/PodsAdmin.php:1385
2456
+ msgid "Actions Available"
2457
+ msgstr "Acciones disponibles"
2458
 
2459
+ #: classes/fields/pick.php:418 ui/admin/setup-edit.php:636
2460
  #: ui/admin/setup-edit.php:856
2461
  msgid "Post Types"
2462
  msgstr "Tipos de Post"
2463
 
2464
+ #: ui/admin/form.php:356 ui/admin/view.php:115
2465
+ msgid "Previous %s"
2466
+ msgstr ""
2467
+
2468
+ #: classes/PodsAdmin.php:1392 classes/PodsUI.php:929 classes/PodsUI.php:3529
2469
+ #: ui/admin/setup-edit-field-fluid.php:20 ui/admin/setup-edit-field.php:70
2470
+ msgid "Duplicate"
2471
+ msgstr "Duplicar"
2472
 
2473
+ #: classes/fields/pick.php:453 ui/admin/setup-edit.php:555
2474
  #: ui/admin/setup-edit.php:857
2475
  msgid "Taxonomies"
2476
  msgstr "Taxonomías"
2477
 
2478
+ #: ui/admin/form.php:364 ui/admin/view.php:123
2479
+ msgid "Next %s"
2480
+ msgstr ""
2481
 
2482
+ #: classes/PodsAdmin.php:1394 classes/PodsUI.php:931
2483
+ msgid "Reorder"
2484
+ msgstr "Reordenar"
2485
 
2486
+ #: classes/fields/pick.php:460 components/Roles/Roles.php:94
2487
+ #: ui/admin/setup-add.php:230
2488
+ msgid "Users"
2489
+ msgstr "Usuarios"
2490
 
2491
+ #: ui/admin/form.php:469
2492
+ msgid "Enter name here"
2493
+ msgstr "Ingrese su nombre aqui"
2494
 
2495
+ #: classes/PodsAdmin.php:1395 classes/PodsUI.php:2689
2496
+ #: components/Migrate-Packages/ui/wizard.php:69
2497
+ msgid "Export"
2498
+ msgstr "Exportar"
2499
 
2500
+ #: classes/fields/pick.php:461 classes/fields/pick.php:467
2501
+ #: classes/fields/pick.php:474 classes/fields/pick.php:481
2502
+ #: classes/fields/pick.php:487 classes/fields/pick.php:493
2503
+ #: classes/fields/pick.php:500 classes/fields/pick.php:505
2504
+ #: classes/fields/pick.php:510
2505
+ msgid "Other WP Objects"
2506
+ msgstr "Otros Objetos WP"
2507
 
2508
+ #: ui/admin/form.php:537 ui/admin/upgrade/upgrade_2_0_0.php:85
2509
+ #: ui/admin/upgrade/upgrade_2_0_0.php:201 ui/admin/view.php:188
2510
+ msgid "Fields"
2511
+ msgstr "Campos"
2512
 
2513
+ #: classes/PodsAdmin.php:1401
2514
+ msgid "Reorder Field"
2515
+ msgstr "Reordenar campo"
2516
 
2517
+ #: classes/fields/pick.php:466
2518
+ msgid "User Roles"
2519
+ msgstr "Roles de usuario"
2520
 
2521
+ #: ui/admin/help.php:3
2522
+ msgid "Pods Help"
2523
+ msgstr "Ayuda de Pods"
2524
 
2525
+ #: classes/PodsAdmin.php:1402
2526
+ msgid "This is the field that will be reordered on, it should be numeric."
2527
+ msgstr "Este es el campo mediante el cual será reordenado, debería ser de tipo numérico."
2528
 
2529
+ #: classes/fields/pick.php:473
2530
+ msgid "User Capabilities"
2531
+ msgstr ""
2532
 
2533
+ #: ui/admin/settings-reset.php:48
2534
+ msgid "Delete Pods 1.x data"
2535
+ msgstr "Eliminar datos de Pods 1.x"
2536
 
2537
+ #: classes/PodsAdmin.php:1408
2538
+ msgid "Admin Table Columns"
2539
+ msgstr "Columnas de la tabla de administración"
2540
 
2541
+ #: classes/fields/pick.php:480 ui/admin/setup-add.php:229
2542
+ msgid "Media"
2543
+ msgstr "Media"
 
2544
 
2545
+ #: ui/admin/settings-reset.php:50
2546
+ msgid "This will delete all of your Pods 1.x data, it's only recommended if you've verified your data has been properly migrated into Pods 2.x."
2547
+ msgstr "Esto borrará todos tus datos de Pods 1.x, solo está recomendado si has verificado que tus datos han sido migrados correctamente a Pods 2.x."
2548
 
2549
+ #: classes/PodsAdmin.php:1416
2550
+ msgid "Search Filters"
2551
+ msgstr "Filtros de búsqueda"
2552
 
2553
+ #: classes/fields/pick.php:486 ui/admin/setup-add.php:231
2554
+ #: ui/admin/setup-edit.php:483
2555
+ msgid "Comments"
2556
+ msgstr "Comentarios"
2557
 
2558
+ #: ui/admin/settings-reset.php:53
2559
+ msgid ""
2560
+ "Are you sure you want to do this?\n"
2561
+ "\n"
2562
+ "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 1.x, resetting it to a clean first install."
2563
+ msgstr ""
2564
+ "¿Estás seguro de que quieres hacer esto?\n"
2565
+ "\n"
2566
+ "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos de la versión 1.x, reseteándolo a una primera instalación."
2567
+
2568
+ #: classes/PodsAdmin.php:1485
2569
+ msgid "Basic"
2570
+ msgstr "Básico"
2571
+
2572
+ #: classes/fields/pick.php:492
2573
+ msgid "Image Sizes"
2574
+ msgstr "Tamaño de imágenes"
2575
+
2576
+ #: ui/admin/settings-reset.php:54
2577
+ msgid "Delete Pods 1.x settings and data"
2578
+ msgstr "Eliminar la configuración y los datos de Pods 1.x"
2579
+
2580
+ #: classes/PodsAdmin.php:1486
2581
+ msgid "Additional Field Options"
2582
+ msgstr "Opciones de campos adicionales"
2583
+
2584
+ #: classes/fields/pick.php:499
2585
+ msgid "Navigation Menus"
2586
+ msgstr "Menús de navegación"
2587
+
2588
+ #: ui/admin/settings-reset.php:59
2589
+ msgid "Reset Pods 2.x"
2590
+ msgstr "Reiniciar Pods 2.x"
2591
+
2592
+ #: classes/PodsAdmin.php:1487 classes/PodsAdmin.php:1971
2593
+ #: ui/admin/setup-add.php:164 ui/admin/setup-add.php:327
2594
+ msgid "Advanced"
2595
+ msgstr "Avanzado"
2596
+
2597
+ #: classes/fields/pick.php:504 ui/admin/setup-edit.php:498
2598
+ msgid "Post Formats"
2599
+ msgstr "Formatos de Post"
2600
+
2601
+ #: ui/admin/settings-reset.php:61
2602
+ msgid "This does not delete any Pods 1.x data, it simply resets the Pods 2.x settings, removes all of it's data, and performs a fresh install."
2603
+ msgstr "Esto no borra ningún dato de Pods 1.x, simplemente resetea los ajustes de Pods 2.x, borra todos sus datos y ejecuta una nueva instalación."
2604
+
2605
+ #: classes/PodsAdmin.php:1548
2606
+ msgid "Visual"
2607
+ msgstr "Visual"
2608
+
2609
+ #: classes/fields/pick.php:509
2610
+ msgid "Post Status"
2611
+ msgstr "Estado del post"
2612
+
2613
+ #: ui/admin/settings-reset.php:74 ui/admin/settings-reset.php:87
2614
+ #: ui/admin/settings-reset.php:99
2615
+ msgid "<strong>Please Note:</strong> This does not remove any items from any Post Types, Taxonomies, Media, Users, or Comments data you have added/modified."
2616
+ msgstr "<strong>Preste atención:</strong> Esto no borra ningún elemento de ningún dato de Tipo de Post, Taxonomía, Media, Usuarios o Comentarios que hayas podido añadir o modificar."
2617
+
2618
+ #: classes/PodsAdmin.php:1551
2619
+ msgid "Additional CSS Classes"
2620
+ msgstr "Clases CSS adicionales"
2621
+
2622
+ #: classes/fields/pick.php:518
2623
+ msgid "Countries"
2624
+ msgstr ""
2625
+
2626
+ #: ui/admin/settings-reset.php:65
2627
+ msgid ""
2628
+ "Are you sure you want to do this?\n"
2629
+ "\n"
2630
+ "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 2.x, resetting it to a clean first install."
2631
+ msgstr ""
2632
+ "¿Estás seguro de que quieres hacer esto?\n"
2633
+ "\n"
2634
+ "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos de Pods 2.x, reseteándolo todo a una nueva instalación."
2635
 
2636
+ #: classes/PodsAdmin.php:1558
2637
+ msgid "Input Helper"
2638
+ msgstr "Auxiliar para campos"
2639
 
2640
+ #: classes/fields/pick.php:519 classes/fields/pick.php:526
2641
+ #: classes/fields/pick.php:533 classes/fields/pick.php:540
2642
+ msgid "Predefined Lists"
2643
+ msgstr ""
2644
 
2645
+ #: ui/admin/settings-reset.php:66
2646
+ msgid "Reset Pods 2.x settings and data"
2647
+ msgstr "Reiniciar configuración y datos de Pods 2.x"
2648
 
2649
+ #: classes/PodsAdmin.php:1565
2650
+ msgid "Values"
2651
+ msgstr "Valores"
2652
 
2653
+ #: classes/fields/pick.php:525
2654
+ msgid "US States"
2655
+ msgstr ""
2656
 
2657
+ #: ui/admin/settings-reset.php:71 ui/admin/settings-reset.php:78
2658
+ msgid "Deactivate and Delete Pods 2.x data"
2659
+ msgstr "Desactivar y Eliminar datos de Pods 2.x"
2660
 
2661
+ #: classes/PodsAdmin.php:1568
2662
+ msgid "Default Value"
2663
+ msgstr "Valor por defecto"
2664
 
2665
+ #: classes/fields/pick.php:532
2666
+ msgid "Calendar - Days of Week"
2667
+ msgstr ""
2668
 
2669
+ #: ui/admin/settings-reset.php:73
2670
+ msgid "This will delete Pods 2.x settings, data, and deactivate itself once done. Your database will be as if Pods 2.x never existed."
2671
+ msgstr "Esto borrará todos los ajustes y datos de Pods 2.x y se desactivará una vez terminado. Tu base de datos estará como si Pods 2.x nunca hubiese existido."
2672
 
2673
+ #: classes/PodsAdmin.php:1575
2674
+ msgid "Set Default Value via Parameter"
2675
+ msgstr "Establecer Valor por Defecto mediante Parámetro"
 
2676
 
2677
+ #: classes/fields/pick.php:539
2678
+ msgid "Calendar - Months of Year"
2679
+ msgstr ""
2680
 
2681
+ #: ui/admin/settings-reset.php:77
2682
+ msgid ""
2683
+ "Are you sure you want to do this?\n"
2684
+ "\n"
2685
+ "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 2.x with no turning back."
2686
+ msgstr ""
2687
+ "¿Estás seguro de que deseas hacer esto?\n"
2688
+ "\n"
2689
+ "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos acerca de Pods 2.x sin vuelta atrás."
2690
 
2691
+ #: classes/PodsAdmin.php:1581
2692
+ msgid "Visibility"
2693
+ msgstr "Visibilidad"
2694
 
2695
+ #: classes/fields/pick.php:844
2696
+ msgid "The %s field is required and cannot be removed by the %s field"
2697
+ msgstr ""
2698
 
2699
+ #: ui/admin/settings-reset.php:84
2700
+ msgid "Reset Pods"
2701
+ msgstr "Reiniciar Pods"
2702
 
2703
+ #: classes/PodsAdmin.php:1584 components/Pages.php:517
2704
+ #: components/Templates/Templates.php:313
2705
  msgid "Restrict Access"
2706
  msgstr "Restringir acceso"
2707
 
2708
+ #: classes/fields/pick.php:1071
2709
+ msgid "-- Select One --"
2710
+ msgstr "-- Selecciona uno --"
2711
 
2712
+ #: ui/admin/settings-reset.php:86
2713
+ msgid "This will reset Pods settings, removes all of it's data, and performs a fresh install."
2714
+ msgstr "Esto reseteará los ajustes de Pods, borrará todos sus datos y creará una nueva instalación."
 
 
2715
 
2716
+ #: classes/PodsAdmin.php:1588 components/Pages.php:435
2717
+ msgid "Restrict access to Admins?"
2718
+ msgstr ""
2719
 
2720
+ #: ui/admin/settings-reset.php:90
2721
+ msgid ""
2722
+ "Are you sure you want to do this?\n"
2723
+ "\n"
2724
+ "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds Pods, resetting it to a clean, first install."
2725
+ msgstr ""
2726
+ "¿Estás seguro de que deseas hacer esto?\n"
2727
+ "\n"
2728
+ "Este es un buen momento para asegurarte de que tienes una copia de seguridad. Vamos a borrar todos los datos de Pods, reseteándolo a una nueva primera instalación."
2729
 
2730
+ #: classes/PodsAdmin.php:1592
2731
+ msgid "This field will only be able to be edited by users with the ability to manage_options or delete_users, or super admins of a WordPress Multisite network"
2732
+ msgstr ""
2733
 
2734
+ #: classes/PodsAdmin.php:1596 components/Pages.php:442
2735
+ msgid "Restrict access by Role?"
2736
+ msgstr "¿Restringir acceso mediante un Rol?"
2737
 
2738
+ #: classes/PodsAdmin.php:1603 components/Pages.php:466
2739
+ #: components/Templates/Templates.php:289
2740
+ msgid "Restrict access by Capability?"
2741
+ msgstr "¿Restringir acceso por funcionalidad?"
2742
 
2743
+ #: classes/PodsAdmin.php:1610
2744
+ msgid "Hide field from UI"
2745
+ msgstr ""
 
2746
 
2747
+ #: classes/PodsAdmin.php:1613
2748
+ msgid "This option is overriden by access restrictions. If the user does not have access to edit this field, it will be hidden. If no access restrictions are set, this field will always be hidden."
2749
+ msgstr ""
2750
 
2751
+ #: classes/PodsAdmin.php:1617
2752
+ msgid "Make field \"Read Only\" in UI"
2753
+ msgstr ""
2754
 
2755
+ #: classes/PodsAdmin.php:1620
2756
+ msgid "This option is overriden by access restrictions. If the user does not have access to edit this field, it will be read only. If no access restrictions are set, this field will always be read only."
2757
+ msgstr ""
2758
 
2759
+ #: classes/PodsAdmin.php:1644 components/Pages.php:453
2760
+ msgid "Role(s) Allowed"
2761
+ msgstr "Rol(es) permitidos"
2762
 
2763
+ #: classes/PodsAdmin.php:1656 components/Pages.php:477
2764
+ #: components/Templates/Templates.php:300
2765
+ msgid "Capability Allowed"
2766
+ msgstr "Funcionalidades Permitidas"
2767
 
2768
+ #: classes/PodsAdmin.php:1657
2769
+ msgid "Comma-separated list of cababilities, for example add_podname_item, please see the Roles and Capabilities component for the complete list and a way to add your own."
2770
+ msgstr "Lista de funcionalidades separadas por comas, por ejemplo add_podname_item. Por favor consulta el componente de Roles y Funcionalidades para ver la lista completa y añadir las tuyas propias."
2771
 
2772
+ #: classes/PodsAdmin.php:1758 classes/PodsAdmin.php:1800
2773
+ msgid "Pod not found."
2774
+ msgstr "Pod no encontrado."
2775
 
2776
+ #: classes/PodsAdmin.php:1762
2777
+ msgid "Pod reset successfully."
2778
+ msgstr ""
2779
 
2780
+ #: classes/PodsAdmin.php:1809
2781
+ msgid "Pod deleted successfully."
2782
+ msgstr ""
 
2783
 
2784
+ #: classes/PodsAdmin.php:1889
2785
+ msgid "by %s"
2786
+ msgstr ""
2787
 
2788
+ #: classes/PodsAdmin.php:1892
2789
+ msgid "Visit component site"
2790
+ msgstr "Visitar el sitio del componente"
 
2791
 
2792
+ #: classes/PodsAdmin.php:1938 classes/PodsAdmin.php:1975
2793
+ msgid "Category"
2794
+ msgstr "Categoría"
2795
 
2796
+ #: classes/PodsAdmin.php:1946 ui/admin/setup-edit-field-fluid.php:70
2797
+ msgid "Description"
2798
+ msgstr "Descripción"
 
2799
 
2800
+ #: classes/PodsAdmin.php:1967
2801
+ msgid "Field Types"
2802
+ msgstr "Tipos de campo"
2803
 
2804
+ #: classes/PodsAdmin.php:1968 ui/admin/settings.php:11
2805
+ msgid "Tools"
2806
+ msgstr "Herramientas"
2807
 
2808
+ #: classes/PodsAdmin.php:1969
2809
+ msgid "Integration"
2810
+ msgstr "Integración"
2811
 
2812
+ #: classes/PodsAdmin.php:1970
2813
+ msgid "Migration"
2814
+ msgstr "Migración"
2815
 
2816
+ #: classes/PodsAdmin.php:1984
2817
+ msgid "Developer Preview"
2818
+ msgstr ""
2819
 
2820
+ #: classes/PodsAdmin.php:2009 classes/PodsAdmin.php:2028
2821
+ msgid "You can find it at %s"
2822
+ msgstr "Puedes encontrarlo en %s"
2823
 
2824
+ #: classes/PodsAdmin.php:2011
2825
+ msgid "The %s component requires that you have the <strong>%s</strong> plugin installed and activated."
2826
+ msgstr "El componente %s requiere que tengas el plugin <strong>%s</strong> instalado y activado."
2827
 
2828
+ #: classes/PodsAdmin.php:2030
2829
+ msgid "The %s component requires that you have the <strong>%s</strong> theme installed and activated."
2830
+ msgstr "El componente %s requiere que tengas el tema <strong>%s</strong> instalado y activado."
 
2831
 
2832
+ #: classes/PodsAdmin.php:2041
2833
+ msgid "The %s component can not be disabled from here. You must deactivate the plugin or theme that added it."
2834
+ msgstr "El componente %s no puede ser deshabilitado desde aquí. Tienes que desactivar el plugin o tema que lo añadió."
2835
 
2836
+ #: classes/PodsAdmin.php:2054 classes/PodsAdmin.php:2093
2837
+ msgid "Component enabled"
2838
+ msgstr ""
 
2839
 
2840
+ #: classes/PodsAdmin.php:2056 classes/PodsAdmin.php:2095
2841
+ msgid "Component disabled"
2842
+ msgstr "Componente deshabilitado"
2843
 
2844
+ #: classes/PodsAdmin.php:2277 classes/fields/file.php:599
2845
+ #: classes/fields/pick.php:1811
2846
+ msgid "Unauthorized request"
2847
+ msgstr ""
2848
 
2849
+ #: classes/PodsAdmin.php:2288
2850
+ msgid "Access denied"
2851
+ msgstr "Acceso denegado"
2852
 
2853
+ #: classes/PodsInit.php:781 components/Helpers.php:112 components/Pages.php:161
2854
+ #: components/Templates/Templates.php:127
2855
+ msgid "%s updated. <a href=\"%s\">%s</a>"
2856
+ msgstr "%s actualizado. <a href=\"%s\">%s</a>"
2857
 
2858
+ #: classes/PodsInit.php:782 components/Helpers.php:113 components/Pages.php:162
2859
+ #: components/Templates/Templates.php:128
2860
+ msgid "Custom field updated."
2861
  msgstr ""
2862
 
2863
+ #: classes/PodsInit.php:783 components/Helpers.php:114 components/Pages.php:163
2864
+ #: components/Templates/Templates.php:129
2865
+ msgid "Custom field deleted."
2866
+ msgstr ""
2867
 
2868
+ #: classes/PodsInit.php:784 classes/PodsInit.php:801 components/Helpers.php:115
2869
+ #: components/Helpers.php:136 components/Pages.php:164 components/Pages.php:185
2870
+ #: components/Templates/Templates.php:130
2871
+ #: components/Templates/Templates.php:151
2872
+ msgid "%s updated."
2873
  msgstr ""
2874
 
2875
+ #. translators: %s: date and time of the revision
 
 
2876
 
2877
+ #: classes/PodsInit.php:786 components/Helpers.php:117 components/Pages.php:166
2878
+ #: components/Templates/Templates.php:132
2879
+ msgid "%s restored to revision from %s"
2880
  msgstr ""
2881
 
2882
+ #: classes/PodsInit.php:787 components/Helpers.php:118 components/Pages.php:167
2883
+ #: components/Templates/Templates.php:133
2884
+ msgid "%s published. <a href=\"%s\">%s</a>"
2885
+ msgstr "%s publicado. <a href=\"%s\">%s</a>"
2886
 
2887
+ #: classes/PodsInit.php:788 components/Helpers.php:119 components/Pages.php:168
2888
+ #: components/Templates/Templates.php:134
2889
+ msgid "%s saved."
2890
  msgstr ""
2891
 
2892
+ #: classes/PodsInit.php:789 components/Helpers.php:120 components/Pages.php:169
2893
+ #: components/Templates/Templates.php:135
2894
+ msgid "%s submitted. <a target=\"_blank\" href=\"%s\">Preview %s</a>"
2895
+ msgstr "%s enviado. <a target=\"_blank\" href=\"%s\">Previsualizar %s</a>"
2896
+
2897
+ #: classes/PodsInit.php:790 components/Helpers.php:125 components/Pages.php:174
2898
+ #: components/Templates/Templates.php:140
2899
+ msgid "%s scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Preview %s</a>"
2900
  msgstr ""
2901
 
2902
+ #: classes/PodsInit.php:797 components/Helpers.php:132 components/Pages.php:181
2903
+ #: components/Templates/Templates.php:147
2904
+ msgid "%s draft updated. <a target=\"_blank\" href=\"%s\">Preview %s</a>"
2905
  msgstr ""
2906
 
2907
+ #: classes/PodsInit.php:802 components/Helpers.php:137 components/Pages.php:186
2908
+ #: components/Templates/Templates.php:152
2909
+ msgid "%s published."
2910
+ msgstr "%s publicado."
2911
 
2912
+ #: classes/PodsInit.php:803 components/Helpers.php:138 components/Pages.php:187
2913
+ #: components/Templates/Templates.php:153
2914
+ msgid "%s submitted."
2915
+ msgstr ""
 
2916
 
2917
+ #: classes/PodsInit.php:804 components/Helpers.php:139 components/Pages.php:188
2918
+ #: components/Templates/Templates.php:154
2919
+ msgid "%s scheduled for: <strong>%1$s</strong>."
2920
+ msgstr "%s programado para: <strong>%1$s</strong>."
2921
 
2922
+ #: classes/PodsInit.php:809 components/Helpers.php:144 components/Pages.php:193
2923
+ #: components/Templates/Templates.php:159
2924
+ msgid "%s draft updated."
2925
+ msgstr ""
2926
 
2927
+ #: classes/PodsInit.php:829 classes/PodsUI.php:915
2928
+ msgid "Items"
2929
+ msgstr "Items"
2930
 
2931
+ #: classes/PodsInit.php:830 classes/PodsUI.php:914
2932
+ msgid "Item"
2933
+ msgstr "Item"
2934
+
2935
+ #: classes/PodsInit.php:840 classes/PodsInit.php:862 classes/PodsUI.php:938
2936
+ msgid "Add New %s"
2937
+ msgstr ""
2938
 
2939
+ #: classes/PodsInit.php:841
2940
  msgid "New %s"
2941
  msgstr "Nuevo %s"
2942
 
2943
+ #: classes/PodsInit.php:843 classes/PodsInit.php:860 classes/PodsInit.php:1326
2944
+ #: classes/PodsUI.php:939
2945
  msgid "Edit %s"
2946
  msgstr ""
2947
 
2948
+ #: classes/PodsInit.php:844 classes/PodsInit.php:845 classes/PodsUI.php:941
2949
+ #: classes/PodsUI.php:952 ui/admin/form.php:85 ui/admin/form.php:109
2950
+ #: ui/admin/form.php:196 ui/admin/view.php:30
2951
  msgid "View %s"
2952
  msgstr "Ver %s"
2953
 
2954
+ #: classes/PodsInit.php:846 classes/PodsInit.php:857
2955
  msgid "All %s"
2956
  msgstr "Todo %s"
2957
 
2958
+ #: classes/PodsInit.php:847 classes/PodsInit.php:855 classes/PodsUI.php:943
2959
  msgid "Search %s"
2960
  msgstr ""
2961
 
2962
+ #: classes/PodsInit.php:848
2963
  msgid "No %s Found"
2964
  msgstr ""
2965
 
2966
+ #: classes/PodsInit.php:849
2967
  msgid "No %s Found in Trash"
2968
  msgstr "No se encontraron %s en la papelera"
2969
 
2970
+ #: classes/Pods.php:3072
2971
+ msgid "Go to page:"
2972
+ msgstr "Ir a la página:"
2973
+
2974
+ #: classes/PodsInit.php:850 classes/PodsInit.php:858
2975
  msgid "Parent %s"
2976
  msgstr ""
2977
 
2978
+ #: classes/Pods.php:3074
2979
+ msgid "&laquo; First"
2980
+ msgstr "&laquo; Primero"
2981
+
2982
+ #: classes/PodsInit.php:851
2983
  msgid "Parent %s:"
2984
  msgstr "%s Padre:"
2985
 
2986
+ #: classes/Pods.php:3075
2987
+ msgid "&lsaquo; Previous"
2988
+ msgstr ""
2989
+
2990
+ #: classes/PodsInit.php:856
2991
  msgid "Popular %s"
2992
  msgstr ""
2993
 
2994
+ #: classes/fields/website.php:71
2995
+ msgid "http://example.com/"
2996
+ msgstr "http://example.com/"
2997
+
2998
+ #: classes/Pods.php:3076
2999
+ msgid "Next &rsaquo;"
3000
+ msgstr "Siguiente &rsaquo;"
3001
+
3002
+ #: classes/PodsInit.php:859
3003
  msgid "Parent %s :"
3004
  msgstr ""
3005
 
3006
+ #: classes/fields/website.php:72
3007
+ msgid "http://example.com/ (remove www)"
3008
+ msgstr "http://example.com/ (borra www)"
3009
+
3010
+ #: classes/Pods.php:3077
3011
+ msgid "Last &raquo;"
3012
  msgstr ""
3013
 
3014
  #: classes/PodsInit.php:861
3015
+ msgid "Update %s"
3016
+ msgstr ""
3017
+
3018
+ #: classes/fields/website.php:73
3019
+ msgid "http://www.example.com/ (force www if no sub-domain provided)"
3020
+ msgstr "http://www.example.com/ (fuerza www si no se indica un sub-dominio)"
3021
+
3022
+ #: classes/Pods.php:3195 classes/PodsUI.php:932 classes/PodsUI.php:2598
3023
+ #: classes/PodsUI.php:2823
3024
+ msgid "Search"
3025
+ msgstr "Buscar"
3026
+
3027
+ #: classes/PodsInit.php:863
3028
  msgid "New %s Name"
3029
  msgstr "Nuevo nombre de %s"
3030
 
3031
+ #: classes/fields/website.php:74
3032
+ msgid "example.com"
3033
+ msgstr "example.com"
3034
+
3035
+ #: classes/Pods.php:3430 classes/PodsAdmin.php:621
3036
+ #: ui/admin/components-admin.php:99
3037
+ msgid "Save Changes"
3038
+ msgstr "Guardar Cambios"
3039
+
3040
+ #: classes/PodsInit.php:864
3041
  msgid "Separate %s with commas"
3042
  msgstr "Separar %s con comas"
3043
 
3044
+ #: classes/fields/website.php:75
3045
+ msgid "example.com (force removal of www)"
3046
+ msgstr "example.com (fuerza el borrado de www)"
3047
+
3048
+ #: classes/Pods.php:3448
3049
+ msgid "Form submitted successfully"
3050
+ msgstr "Formulario enviado con éxito"
3051
+
3052
+ #: classes/PodsInit.php:865
3053
  msgid "Add or remove %s"
3054
  msgstr ""
3055
 
3056
+ #: classes/fields/website.php:76
3057
+ msgid "www.example.com (force www if no sub-domain provided)"
3058
+ msgstr "www.example.com (fuerza www si no se indica un sub-dominio)"
3059
+
3060
+ #: classes/Pods.php:3720
3061
+ msgid "ID"
3062
+ msgstr ""
3063
+
3064
+ #: classes/PodsInit.php:866
3065
  msgid "Choose from the most used %s"
3066
  msgstr ""
3067
 
3068
+ #: classes/fields/website.php:187
3069
+ msgid "Invalid website provided for the field %s."
3070
+ msgstr "La página web proporcionada es inválida %s."
3071
+
3072
+ #: classes/Pods.php:3813 classes/PodsAdmin.php:1393 classes/PodsUI.php:3539
3073
+ #: ui/admin/form.php:260 ui/admin/setup-edit-field-fluid.php:23
3074
+ #: ui/admin/setup-edit-field.php:73 ui/admin/view.php:76
3075
+ msgid "Delete"
3076
+ msgstr "Eliminar"
3077
+
3078
+ #: classes/PodsMeta.php:617
3079
  msgid "Object required to add a Pods meta group"
3080
  msgstr "Se requiere un objeto para añadir un grupo de metadatos de Pods"
3081
 
3082
+ #: classes/fields/wysiwyg.php:67 ui/admin/setup-edit.php:453
3083
+ msgid "Editor"
3084
+ msgstr "Editor"
3085
+
3086
+ #: classes/PodsAPI.php:347
3087
+ msgid "User data is required but is either invalid or empty"
3088
  msgstr ""
3089
 
3090
+ #: classes/PodsMeta.php:854 ui/admin/view.php:186
3091
+ msgid "More Fields"
3092
  msgstr ""
3093
 
3094
+ #: classes/fields/wysiwyg.php:74
3095
+ msgid "TinyMCE (WP Default)"
3096
+ msgstr "TinyMCE (WP Defecto)"
 
3097
 
3098
+ #: classes/PodsAPI.php:485
3099
+ msgid "Comment data is required but is either invalid or empty"
 
3100
  msgstr ""
3101
 
3102
+ #: classes/PodsMigrate.php:640 classes/PodsMigrate.php:673
3103
+ msgid "There was an issue saving the export file in your uploads folder."
3104
+ msgstr "Hubo un problema al guardar el archivo de exportación en tu carpeta de subidas."
 
 
 
 
3105
 
3106
+ #: classes/fields/wysiwyg.php:75
3107
+ msgid "CLEditor"
3108
+ msgstr "CLEditor"
3109
 
3110
+ #: classes/PodsAPI.php:641
3111
+ msgid "Taxonomy term data is required but is either invalid or empty"
3112
  msgstr ""
3113
 
3114
+ #: classes/PodsUI.php:500
3115
+ msgid "<strong>Error:</strong> Pods UI needs a Pods object or a Table definition to run from, see the User Guide for more information."
 
 
 
 
3116
  msgstr ""
3117
 
3118
+ #: classes/fields/wysiwyg.php:80
3119
+ msgid "Editor Options"
3120
+ msgstr "Opciones del editor"
 
 
 
 
 
 
 
 
 
 
3121
 
3122
+ #: classes/PodsAPI.php:675
3123
+ msgid "Setting data is required but is either invalid or empty"
3124
+ msgstr "Introducir datos es obligatorio pero o estos no son válidos o están vacíos "
3125
 
3126
+ #: classes/PodsUI.php:930 classes/PodsUI.php:933 classes/PodsUI.php:3511
3127
+ #: ui/admin/setup-edit.php:362
3128
+ msgid "View"
3129
  msgstr ""
3130
 
3131
+ #: classes/fields/wysiwyg.php:84
3132
+ msgid "Enable Media Buttons?"
3133
+ msgstr "Habilitar botones multimedia?"
3134
 
3135
+ #: classes/PodsAPI.php:859 classes/PodsAPI.php:870
3136
  msgid "Open"
3137
  msgstr "Abiertos"
3138
 
3139
+ #: classes/PodsUI.php:937
3140
+ msgid "Manage %s"
3141
+ msgstr "Gestionar %s"
3142
+
3143
+ #: classes/widgets/PodsWidgetForm.php:43 classes/widgets/PodsWidgetForm.php:59
3144
+ #: classes/widgets/PodsWidgetForm.php:70
3145
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:41
3146
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:133
3147
+ msgid "Submit"
3148
+ msgstr "Enviar"
3149
+
3150
+ #: classes/PodsAPI.php:860 classes/PodsAPI.php:871
3151
  msgid "Closed"
3152
  msgstr "Cerrado"
3153
 
3154
+ #: classes/PodsUI.php:940
3155
+ msgid "Duplicate %s"
3156
+ msgstr "Duplicar %s"
3157
+
3158
+ #: components/Advanced-Content-Types.php:40
3159
+ msgid "Advanced Content Type (separate from WP, blank slate, in its own table)"
3160
+ msgstr "Tipo de Contenido Avanzado (separado de WP, página en blanco, en su propia tabla)"
3161
+
3162
+ #: classes/PodsAPI.php:1315
3163
  msgid "Please choose whether to Create or Extend a Content Type"
3164
  msgstr "Por favor, elige entre Crear o Ampliar un Tipo de Contenido"
3165
 
3166
+ #: classes/PodsUI.php:942 classes/PodsUI.php:953
3167
+ msgid "Reorder %s"
3168
+ msgstr "Reordenar %s"
3169
+
3170
+ #: components/Advanced-Relationships.php:38
3171
+ msgid "Database Tables"
3172
+ msgstr ""
3173
+
3174
+ #: classes/PodsAPI.php:1430
3175
  msgid "Post Type %s already exists, try extending it instead"
3176
  msgstr "El tipo de Post %s ya existe, intenta ampliarlo"
3177
 
3178
+ #: classes/PodsUI.php:947 classes/PodsUI.php:950
3179
+ msgid "Save New %s"
3180
+ msgstr "Guardar Nuevo %s"
3181
 
3182
+ #: components/Advanced-Relationships.php:39
3183
+ #: components/Advanced-Relationships.php:45
3184
+ #: components/Advanced-Relationships.php:50
3185
+ #: components/Advanced-Relationships.php:56
3186
+ #: components/Advanced-Relationships.php:63
3187
+ #: components/Advanced-Relationships.php:70
3188
+ #: components/Advanced-Relationships.php:77
3189
+ #: components/Advanced-Relationships.php:84
3190
+ msgid "Advanced Objects"
3191
+ msgstr "Objetos avanzados"
3192
 
3193
+ #: classes/PodsAPI.php:1439
3194
+ msgid "Taxonomy %s already exists, try extending it instead"
3195
  msgstr ""
3196
 
3197
+ #: classes/PodsUI.php:949
3198
+ msgid "Save %s"
3199
+ msgstr "Guardar %s"
3200
 
3201
+ #: components/Advanced-Relationships.php:44
3202
+ msgid "Multisite Sites"
3203
+ msgstr "Sitios multisitio"
3204
 
3205
+ #: classes/PodsAPI.php:1511
3206
+ msgid "Pod %s already exists, you cannot rename %s to that"
3207
  msgstr ""
3208
 
3209
+ #: classes/PodsUI.php:951
3210
+ msgid "Delete this %s"
3211
+ msgstr "Borrar este %s"
3212
+
3213
+ #: components/Advanced-Relationships.php:49
3214
+ msgid "Multisite Networks"
3215
+ msgstr "Redes multisitio"
3216
+
3217
+ #: classes/PodsAPI.php:1514 classes/PodsAPI.php:1517
3218
+ msgid "Pod %s cannot be renamed, it extends an existing WP Object"
3219
  msgstr ""
3220
 
3221
+ #: classes/PodsUI.php:1372 classes/PodsUI.php:1527
3222
+ msgid "<strong>Error:</strong> You do not have access to this %s."
3223
+ msgstr "<strong>Error:</strong> No tienes acceso a este %s."
3224
 
3225
+ #: components/Advanced-Relationships.php:55
3226
+ msgid "Themes"
3227
+ msgstr "Temas"
3228
 
3229
+ #: classes/PodsAPI.php:1521
3230
+ msgid "Pod using %s already exists, you can not reuse an object across multiple pods"
3231
+ msgstr "Ya existe un Pod que usa %s, no puedes reutilizar un objeto entre varios pods"
3232
 
3233
+ #: classes/PodsUI.php:1434 classes/PodsUI.php:1482 classes/PodsUI.php:1762
3234
+ #: classes/PodsUI.php:2379
3235
+ msgid "Back to %s"
3236
+ msgstr "Volver a %s"
3237
 
3238
+ #: components/Advanced-Relationships.php:62
3239
+ msgid "Page Templates"
3240
+ msgstr "Templates para páginas"
3241
 
3242
+ #: classes/PodsAPI.php:1523
3243
+ msgid "Pod %s already exists"
3244
+ msgstr "El Pod %s ya existe"
3245
 
3246
+ #: classes/PodsUI.php:1524 classes/PodsUI.php:1652
3247
+ msgid "<strong>Error:</strong> %s not found."
3248
+ msgstr "<strong>Error:</strong> %s no encontrado."
 
 
 
 
3249
 
3250
+ #: components/Advanced-Relationships.php:69
3251
+ msgid "Sidebars"
3252
+ msgstr "Barras laterales"
3253
 
3254
+ #: classes/PodsAPI.php:1691
3255
+ msgid "Post Type %s already exists, you cannot rename %s to that"
3256
  msgstr ""
3257
 
3258
+ #: classes/PodsUI.php:1791
3259
+ msgid "<strong>Success!</strong> %s reordered successfully."
3260
+ msgstr "<strong>Éxito!</strong> %s reordenados exitosamente."
 
3261
 
3262
+ #: components/Advanced-Relationships.php:76
3263
+ msgid "Post Type Objects"
3264
  msgstr ""
3265
 
3266
+ #: classes/PodsAPI.php:1697
3267
+ msgid "Taxonomy %s already exists, you cannot rename %s to that"
3268
  msgstr ""
3269
 
3270
+ #: classes/PodsUI.php:1793
3271
+ msgid "<strong>Error:</strong> %s has not been reordered."
3272
+ msgstr "<strong>Error:</strong> %s no fueron reordenados."
 
 
 
 
 
 
 
 
3273
 
3274
+ #: components/Advanced-Relationships.php:83
3275
+ msgid "Taxonomy Objects"
3276
  msgstr ""
3277
 
3278
+ #: classes/PodsAPI.php:1706
3279
+ msgid "Pod name cannot be empty"
3280
  msgstr ""
3281
 
3282
+ #: classes/PodsUI.php:1809 components/Roles/ui/edit.php:19
3283
+ #: ui/admin/form-settings.php:48 ui/admin/form-settings.php:67
3284
+ #: ui/admin/form.php:71 ui/admin/form.php:99 ui/admin/setup-edit.php:218
3285
+ msgid "saved"
3286
+ msgstr "guardado"
3287
 
3288
+ #: components/Builder/modules/field/PodsBuilderModuleField.php:22
3289
+ msgid "Pods - Field Value"
3290
+ msgstr "Pods - Valor del campo"
3291
 
3292
+ #: classes/PodsAPI.php:1806
3293
+ msgid "Cannot save Pod"
3294
+ msgstr "No se puede guardar el Pod"
3295
 
3296
+ #: classes/PodsUI.php:1811 components/Roles/ui/edit.php:22 ui/admin/form.php:74
3297
+ #: ui/admin/form.php:102 ui/admin/setup-edit.php:221
3298
+ msgid "created"
3299
+ msgstr "creado"
3300
 
3301
+ #: components/Builder/modules/field/PodsBuilderModuleField.php:23
3302
+ msgid "Display a single Pod item's field value"
3303
+ msgstr "Mostrar el valor del campo de un item Pod simple"
3304
 
3305
+ #: classes/PodsAPI.php:1838
3306
+ msgid "Cannot add Database Table for Pod"
3307
+ msgstr "No se puede añadir la tabla de la base de datos para el Pod"
3308
 
3309
+ #: classes/PodsUI.php:1881 components/Roles/ui/edit.php:24
3310
+ #: ui/admin/form-settings.php:54 ui/admin/form-settings.php:69
3311
+ #: ui/admin/form.php:82 ui/admin/form.php:106 ui/admin/setup-edit.php:225
3312
+ msgid "<strong>Success!</strong> %s %s successfully."
3313
+ msgstr "<strong>¡Éxito!</strong> %s %s satisfactoriamente."
3314
 
3315
+ #: components/Builder/modules/field/PodsBuilderModuleField.php:84
3316
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:86
3317
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:89
3318
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:115
3319
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:85
3320
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:119
3321
+ #: components/Pages.php:410 ui/admin/shortcode.php:358
3322
+ #: ui/admin/widgets/field.php:38 ui/admin/widgets/form.php:38
3323
+ #: ui/admin/widgets/list.php:40 ui/admin/widgets/single.php:40
3324
+ msgid "None Found"
3325
+ msgstr "No se ha encontrado nada"
3326
 
3327
+ #: classes/PodsAPI.php:1845
3328
+ msgid "Cannot update Database Table for Pod"
3329
+ msgstr "No se puede actualizar la tabla de la base de datos para el Pod"
3330
 
3331
+ #: classes/PodsUI.php:1884
3332
+ msgid "<strong>Error:</strong> %s has not been %s."
3333
+ msgstr ""
 
3334
 
3335
+ #: components/Builder/modules/field/PodsBuilderModuleField.php:90
3336
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:92
3337
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:91
3338
+ #: ui/admin/widgets/field.php:44 ui/admin/widgets/single.php:46
3339
+ msgid "Slug or ID"
3340
+ msgstr "Slug o ID"
3341
 
3342
+ #: classes/PodsAPI.php:2062
3343
+ msgid "Cannot save the %s field"
3344
+ msgstr "No se puede guardar el campo %s"
3345
 
3346
+ #: classes/PodsUI.php:1906
3347
+ msgid "<strong>Error:</strong> Invalid Configuration - Missing \"id\" definition."
3348
+ msgstr "<strong>Error:</strong> Configuración Invalida - Falta la definición \"id\"."
3349
 
3350
+ #: components/Builder/modules/field/PodsBuilderModuleField.php:98
3351
+ #: ui/admin/shortcode.php:442 ui/admin/widgets/field.php:51
3352
+ msgid "Field"
3353
+ msgstr "Campo"
3354
 
3355
+ #: classes/PodsAPI.php:2175
3356
+ msgid "Pod ID or name is required"
3357
+ msgstr "El ID o nombre del Pod son requeridos"
3358
 
3359
+ #: classes/PodsUI.php:1917
3360
+ msgid "<strong>Deleted:</strong> %s has been deleted."
3361
  msgstr ""
3362
 
3363
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:22
3364
+ msgid "Pods - Form"
3365
+ msgstr "Pods - Formulario"
 
 
 
 
3366
 
3367
+ #: classes/PodsAPI.php:2190 classes/PodsAPI.php:3021 classes/PodsAPI.php:3968
3368
+ #: classes/PodsAPI.php:4093 classes/PodsAPI.php:4366 classes/PodsAPI.php:4488
3369
+ #: classes/PodsAPI.php:4599 classes/PodsAPI.php:4798 classes/PodsAPI.php:5270
3370
+ #: classes/PodsAPI.php:5758 classes/PodsAPI.php:5984 classes/PodsAPI.php:6472
3371
+ #: classes/PodsAPI.php:7674
3372
+ msgid "Pod not found"
3373
+ msgstr "Pod no encontrado"
3374
 
3375
+ #: classes/PodsUI.php:1919 classes/PodsUI.php:1962
3376
+ msgid "<strong>Error:</strong> %s has not been deleted."
3377
  msgstr ""
3378
 
3379
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:23
3380
+ #: ui/admin/shortcode.php:330
3381
+ msgid "Display a form for creating and editing Pod items"
3382
+ msgstr "Mostrar un formilario para crear y editar items Pod"
3383
 
3384
+ #: classes/PodsAPI.php:2223
3385
+ msgid "Field %s already exists, you cannot rename %s to that"
3386
+ msgstr "El campo %s ya existe, no puedes renombrar %s de ese modo"
3387
 
3388
+ #: classes/PodsUI.php:1965
3389
+ msgid "<strong>Deleted:</strong> %s have been deleted."
3390
  msgstr ""
3391
 
3392
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:100
3393
+ #: ui/admin/shortcode.php:448 ui/admin/widgets/form.php:49
3394
+ msgid "Fields (comma-separated)"
3395
+ msgstr "Campos (separados por comas)"
 
 
 
3396
 
3397
+ #: classes/PodsAPI.php:2226
3398
+ msgid "Field %s already exists"
3399
+ msgstr ""
3400
 
3401
+ #: classes/PodsUI.php:2028
3402
+ msgid "<strong>Success:</strong> Your export is ready, you can download it <a href=\"%s\" target=\"_blank\">here</a>"
3403
  msgstr ""
3404
 
3405
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:108
3406
+ #: ui/admin/shortcode.php:454 ui/admin/widgets/form.php:55
3407
+ msgid "Submit Label"
3408
+ msgstr "Etiqueta de envío"
3409
 
3410
+ #: classes/PodsAPI.php:2364 classes/PodsAPI.php:2367 classes/PodsAPI.php:2370
3411
+ #: classes/PodsAPI.php:2433 classes/PodsAPI.php:2439 classes/PodsAPI.php:2442
3412
+ msgid "%s is reserved for internal Pods usage, please try a different name"
3413
  msgstr ""
3414
 
3415
+ #: classes/PodsUI.php:2560 classes/PodsUI.php:2899 classes/PodsUI.php:3086
3416
+ #: classes/fields/boolean.php:64 classes/fields/boolean.php:243
3417
+ #: classes/fields/boolean.php:267
3418
+ msgid "Yes"
3419
+ msgstr "Si"
3420
 
3421
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:116
3422
+ #: ui/admin/shortcode.php:460 ui/admin/widgets/form.php:61
3423
+ msgid "Thank You URL upon submission"
3424
+ msgstr "URL de Gracias después del envío"
3425
 
3426
+ #: classes/PodsAPI.php:2374
3427
+ msgid "%s is reserved for internal WordPress or Pods usage, please try a different name. Also consider what WordPress and Pods provide you built-in."
3428
+ msgstr ""
3429
 
3430
+ #: classes/PodsUI.php:2561 classes/PodsUI.php:2900 classes/PodsUI.php:3087
3431
+ #: classes/fields/boolean.php:69 classes/fields/boolean.php:245
3432
+ #: classes/fields/boolean.php:268
3433
+ msgid "No"
3434
+ msgstr "No"
3435
+
3436
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:22
3437
+ msgid "Pods - List Items"
3438
+ msgstr "Pods - Lista Items"
3439
+
3440
+ #: classes/PodsAPI.php:2382
3441
+ msgid "This pod already has an internal WordPress permalink field"
3442
  msgstr ""
3443
 
3444
+ #: classes/PodsUI.php:2620
3445
+ msgid "Reset Filters"
3446
+ msgstr "Reiniciar Filtros"
3447
 
3448
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:23
3449
+ msgid "Display multiple Pod items"
3450
+ msgstr "Mostrar items Pod múltiples"
 
3451
 
3452
+ #: classes/PodsAPI.php:2399
3453
+ msgid "This pod already has a permalink field"
3454
+ msgstr "Este Pod ya tiene un campo de enlace permanente"
 
 
 
3455
 
3456
+ #: classes/PodsUI.php:2645
3457
+ msgid "Bulk Actions"
3458
+ msgstr "Acciones Globales"
 
 
 
 
3459
 
3460
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:99
3461
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:137
3462
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:103
3463
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:141
3464
+ #: ui/admin/shortcode.php:371 ui/admin/shortcode.php:394
3465
+ #: ui/admin/widgets/list.php:54 ui/admin/widgets/list.php:82
3466
+ #: ui/admin/widgets/single.php:62 ui/admin/widgets/single.php:84
3467
+ msgid "Custom Template"
3468
+ msgstr "Template personalizado"
3469
 
3470
+ #: classes/PodsAPI.php:2435 classes/PodsAPI.php:2451
3471
+ msgid "%s is not editable"
3472
+ msgstr "%s no es editable"
3473
 
3474
+ #: classes/PodsUI.php:2661 classes/PodsUI.php:3752
3475
+ msgid "Apply"
3476
+ msgstr "Aplicar"
3477
+
3478
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:108
3479
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:125
3480
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:112
3481
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:129
3482
+ #: components/Templates/class-pods_templates.php:201 ui/admin/shortcode.php:368
3483
+ #: ui/admin/shortcode.php:385 ui/admin/widgets/list.php:51
3484
+ #: ui/admin/widgets/list.php:67 ui/admin/widgets/single.php:59
3485
+ #: ui/admin/widgets/single.php:75
3486
+ msgid "Template"
3487
+ msgstr "Template"
3488
 
3489
+ #: classes/PodsAPI.php:2449
3490
+ msgid "%s is reserved for internal WordPress or Pods usage, please try a different name"
3491
+ msgstr "%s está reservado para el uso interno de WordPress o Pods, por favor prueba con otro nombre"
 
3492
 
3493
+ #: classes/PodsUI.php:2681
3494
+ msgid "Update Order"
3495
+ msgstr "Orden de Actualización"
3496
 
3497
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:145
3498
+ #: ui/admin/shortcode.php:424 ui/admin/widgets/list.php:94
3499
+ msgid "Limit"
3500
+ msgstr "Límite"
3501
+
3502
+ #: classes/PodsAPI.php:2487
3503
+ msgid "Cannot save Field"
3504
  msgstr ""
3505
 
3506
+ #: classes/PodsUI.php:2682 ui/admin/setup-edit-field-fluid.php:190
3507
+ msgid "Cancel"
3508
+ msgstr "Cancelar"
3509
 
3510
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:153
3511
+ #: ui/admin/shortcode.php:430 ui/admin/widgets/list.php:100
3512
+ msgid "Order By"
3513
+ msgstr "Ordenar por"
3514
 
3515
+ #: classes/PodsAPI.php:2520 classes/PodsAPI.php:2527 classes/PodsAPI.php:2539
3516
+ msgid "Cannot create new field"
3517
  msgstr ""
3518
 
3519
+ #: classes/PodsUI.php:2715
3520
+ msgid "Please use the search filter(s) above to display data"
3521
+ msgstr "Por favor utilize el/los filtro(s) de búsqueda anterior mostrar los datos"
3522
+
3523
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:161
3524
+ #: ui/admin/shortcode.php:436 ui/admin/widgets/list.php:106
3525
+ msgid "Where"
3526
+ msgstr "Donde"
3527
+
3528
+ #: classes/PodsAPI.php:2703
3529
+ msgid "Name must be given to save an Object"
3530
  msgstr ""
3531
 
3532
+ #: classes/PodsUI.php:2715
3533
+ msgid "or click on an Export to download a full copy of the data"
3534
+ msgstr "o haz clic en una Exportación para bajar una copia completa de los datos"
 
 
3535
 
3536
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:169
3537
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:76
3538
+ #: ui/admin/shortcode.php:472 ui/admin/widgets/list.php:112
3539
+ #: ui/admin/widgets/view.php:27
3540
+ msgid "Cache Type"
3541
+ msgstr "Tipo de caché"
3542
 
3543
+ #: classes/PodsAPI.php:2706
3544
+ msgid "Type must be given to save an Object"
3545
+ msgstr "Se debe especificar un tipo para guardar un Objeto"
3546
 
3547
+ #: classes/PodsUI.php:2817
3548
+ msgid "Reset"
3549
+ msgstr "Reiniciar"
3550
 
3551
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:174
3552
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:81
3553
+ #: ui/admin/shortcode.php:476 ui/admin/widgets/list.php:116
3554
+ #: ui/admin/widgets/view.php:31
3555
+ msgid "Disable Caching"
3556
+ msgstr "Deshabilitar cacheo"
3557
 
3558
+ #: classes/PodsAPI.php:3220
3559
+ msgid "Pre-save helpers are deprecated, use the action pods_pre_save_pod_item_%s instead"
3560
  msgstr ""
3561
 
3562
+ #: classes/PodsUI.php:2848 classes/PodsUI.php:2849 classes/PodsUI.php:2857
3563
+ #: classes/PodsUI.php:2911 classes/PodsUI.php:2965
3564
+ msgid "Advanced Filters"
3565
+ msgstr "Filtros Avanzados"
3566
 
3567
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:175
3568
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:82
3569
+ #: ui/admin/shortcode.php:477 ui/admin/widgets/list.php:117
3570
+ #: ui/admin/widgets/view.php:32
3571
+ msgid "Object Cache"
3572
+ msgstr "Caché de objeto"
3573
 
3574
+ #: classes/PodsAPI.php:3275 classes/PodsMeta.php:2036
3575
+ msgid "There was an issue validating the field %s"
3576
  msgstr ""
3577
 
3578
+ #: classes/PodsUI.php:2858
3579
+ msgid "Add Filter"
3580
+ msgstr "Agregar Filtros"
 
 
3581
 
3582
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:176
3583
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:83
3584
+ #: ui/admin/shortcode.php:478 ui/admin/widgets/list.php:118
3585
+ #: ui/admin/widgets/view.php:33
3586
+ msgid "Transient"
3587
+ msgstr "Transitorio"
3588
 
3589
+ #: classes/PodsAPI.php:3702
3590
+ msgid "Post-save helpers are deprecated, use the action pods_post_save_pod_item_%s instead"
3591
+ msgstr "Los Helpers Post-guardado están obsoletos, usa la acción pods_post_save_pod_item_%s en su lugar"
 
3592
 
3593
+ #: classes/PodsUI.php:2916
3594
+ msgid "Remove Filter"
3595
+ msgstr "Eliminar Filtro"
3596
 
3597
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:177
3598
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:84
3599
+ #: ui/admin/shortcode.php:479 ui/admin/widgets/list.php:119
3600
+ #: ui/admin/widgets/view.php:34
3601
+ msgid "Site Transient"
3602
+ msgstr "Sitio transitorio"
3603
 
3604
+ #: classes/PodsAPI.php:3974
3605
+ msgid "Pod not allowed to be duplicated"
3606
+ msgstr "No está permitido duplicar este Pod"
3607
 
3608
+ #: classes/PodsUI.php:3029 classes/PodsUI.php:3061 classes/PodsUI.php:3096
3609
+ #: classes/PodsUI.php:3121
3610
+ msgid "Clear"
3611
+ msgstr "Limpiar"
3612
 
3613
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:186
3614
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:93
3615
+ #: ui/admin/shortcode.php:494 ui/admin/widgets/list.php:132
3616
+ #: ui/admin/widgets/view.php:48
3617
+ msgid "Cache Expiration (in seconds)"
3618
+ msgstr "Tiempo de expiración de la caché (en segundos)"
3619
 
3620
+ #: classes/PodsAPI.php:4043 classes/PodsAPI.php:4613 classes/PodsAPI.php:5790
3621
+ #: classes/PodsAPI.php:5803
3622
+ msgid "Field not found"
3623
+ msgstr "Campo no encontrado"
3624
 
3625
+ #: classes/PodsUI.php:3140
3626
+ msgid "Search Text"
3627
+ msgstr "Buscar Texto"
3628
 
3629
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:22
3630
+ msgid "Pods - Single Item"
3631
+ msgstr "Pods - Item Simple"
3632
 
3633
+ #: classes/PodsAPI.php:4304 classes/PodsAPI.php:4778
3634
+ msgid "$params->pod instead of $params->datatype"
3635
+ msgstr "$params->pod en vez de $params->datatype"
3636
 
3637
+ #: classes/PodsUI.php:3200
3638
+ msgid "No %s found"
3639
+ msgstr "No se encontraron %s"
 
3640
 
3641
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:23
3642
+ #: ui/admin/shortcode.php:326
3643
+ msgid "Display a single Pod item"
3644
+ msgstr "Mostrar un item Pod"
3645
 
3646
+ #: classes/PodsAPI.php:4312
3647
+ msgid "$params->pod is required"
3648
+ msgstr "$params->pod requerido"
 
3649
 
3650
+ #: classes/PodsUI.php:3228
3651
+ msgid "<strong>Error:</strong> Invalid Configuration - Missing \"fields\" definition."
3652
+ msgstr "<strong>Error:</strong> Configuración Inválida - Definición de \"campos\" perdida."
 
3653
 
3654
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:22
3655
+ msgid "Pods - View"
3656
+ msgstr "Pods - Ver"
3657
 
3658
+ #: classes/PodsAPI.php:4322
3659
+ msgid "Pod is required"
3660
+ msgstr "El Pod es necesario"
3661
 
3662
+ #: classes/PodsUI.php:3483 classes/PodsUI.php:3520
3663
+ msgid "Edit this item"
3664
+ msgstr "Editar este item"
 
3665
 
3666
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:23
3667
+ #: ui/admin/shortcode.php:331
3668
+ msgid "Include a file from a theme, with caching options"
3669
+ msgstr "Incluír un fichero de un tema, con cacheo de opciones"
3670
 
3671
+ #: classes/PodsAPI.php:4506
3672
+ msgid "Pod unable to be deleted"
3673
+ msgstr "No se puede eliminar el Pod"
 
3674
 
3675
+ #: classes/PodsUI.php:3492 classes/PodsUI.php:3511
3676
+ msgid "View this item"
3677
+ msgstr "Ver este item"
 
 
 
3678
 
3679
+ #: components/Builder/modules/view/PodsBuilderModuleView.php:68
3680
+ #: ui/admin/shortcode.php:466 ui/admin/widgets/view.php:21
3681
+ msgid "File to include"
3682
+ msgstr "Fichero a incluír"
3683
 
3684
+ #: classes/PodsAPI.php:4627
3685
+ msgid "Field unable to be deleted"
3686
+ msgstr "El campo no se puede eliminar"
 
3687
 
3688
+ #: classes/PodsUI.php:3529
3689
+ msgid "Duplicate this item"
3690
+ msgstr "Duplicar este item"
 
3691
 
3692
+ #: components/Helpers.php:233
3693
+ msgid "Enter helper name here"
3694
+ msgstr "Introduce el nombre del auxiliar (helper) aquí"
 
3695
 
3696
+ #: classes/PodsAPI.php:4665
3697
+ msgid "%s Object not found"
3698
+ msgstr "Objeto %s no encontrado"
 
3699
 
3700
+ #: classes/PodsUI.php:3539
3701
+ msgid "Delete this item"
3702
+ msgstr "Eliminar este item"
 
3703
 
3704
+ #: components/Helpers.php:267
3705
+ msgid "Helper Type"
3706
+ msgstr "Tipo de Auxiliar (Helper)"
 
3707
 
3708
+ #: classes/PodsAPI.php:4670
3709
+ msgid "%s Object not deleted"
 
3710
  msgstr ""
3711
 
3712
+ #: classes/PodsUI.php:3539
3713
+ msgid "You are about to permanently delete this item\\n Choose \\'Cancel\\' to stop, \\'OK\\' to delete."
3714
+ msgstr "Estás a punto de borrar permanentemente este item\\n Elige \\'Cancelar\\' para parar, \\'Aceptar\\' para borrar."
 
3715
 
3716
+ #: components/Helpers.php:281
3717
+ msgid "Code"
3718
+ msgstr "Código"
3719
+
3720
+ #: classes/PodsAPI.php:4760
3721
+ msgid "$params->id instead of $params->tbl_row_id"
3722
  msgstr ""
3723
 
3724
+ #: classes/PodsUI.php:3549
3725
+ msgid "Enable"
3726
+ msgstr "Habilitar"
3727
 
3728
+ #: components/Helpers.php:286
3729
+ msgid "Helper"
3730
+ msgstr "Helper"
3731
 
3732
+ #: classes/PodsAPI.php:4766
3733
+ msgid "$params->id instead of $params->pod_id"
3734
+ msgstr "$params->id en lugar de $params->pod_id"
3735
+
3736
+ #: classes/PodsUI.php:3550
3737
+ msgid "Disable"
3738
+ msgstr "Deshabilitar"
3739
+
3740
+ #: components/Migrate-CPTUI/Migrate-CPTUI.php:189
3741
+ #: components/Migrate-CPTUI/Migrate-CPTUI.php:255
3742
+ msgid "Pod with the name %s already exists"
3743
+ msgstr "Ya existe un Pod llamado %s"
languages/pods-fr_FR.mo CHANGED
Binary file
languages/pods-fr_FR.po CHANGED
@@ -1,1529 +1,1216 @@
1
- # Translation of Development in French (France)
2
- # This file is distributed under the same license as the Development package.
3
  msgid ""
4
  msgstr ""
5
- "PO-Revision-Date: 2014-04-24 21:40:18+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
  "Plural-Forms: nplurals=2; plural=n > 1;\n"
10
- "X-Generator: GlotPress/0.1\n"
11
- "Project-Id-Version: Development\n"
12
 
13
- #: classes/PodsAdmin.php:1078
14
- msgid "Archive Page Slug Override"
15
  msgstr ""
16
 
17
- #: classes/PodsAdmin.php:1079
18
- msgid "If archive page is enabled, you can override the slug used by WordPress, which defaults to the name of the post type."
19
  msgstr ""
20
 
21
- #: classes/PodsAdmin.php:1000
22
- msgid "URL or Dashicon name for the menu icon. You may specify the path to the icon using one of the <a href=\"http://pods.io/docs/build/special-magic-tags/#site-tags\" target=\"_blank\">site tag</a> type <a href=\"http://pods.io/docs/build/special-magic-tags/\" target=\"_blank\">special magic tags</a>. For example, for a file in your theme directory, use \"{@template-url}/path/to/image.png\". You may also use the name of a <a href=\"http://melchoyce.github.io/dashicons/\" target=\"_blank\">Dashicon</a>. For example, to use the empty star icon, use \"dashicons-star-empty\"."
23
  msgstr ""
24
 
25
- #: classes/PodsAdmin.php:1070
26
- msgid "Enable Archive Page"
27
- msgstr "Activer la page d'archive"
28
 
29
- #: classes/PodsAdmin.php:1071
30
- msgid "If enabled, creates an archive page with list of of items in this custom post type. Functions like a category page for posts. Can be controlled with a template in your theme called \"archive-{$post-type}.php\"."
31
  msgstr ""
32
 
33
- #: classes/PodsAdmin.php:1108
34
- msgid "Allows you to use pretty permalinks, if set in WordPress Settings->Reading. If not enbabled, your links will be in the form of \"example.com/?pod_name=post_slug\" regardless of your permalink settings."
35
  msgstr ""
36
 
37
- #: classes/PodsAdmin.php:1116
38
- msgid "Changes the first segment of the URL, which by default is the name of the Pod. For example, if your Pod is called \"foo\", if this field is left blank, your link will be \"example.com/foo/post_slug\", but if you were to enter \"bar\" your link will be \"example.com/bar/post_slug\"."
39
  msgstr ""
40
 
41
- #: ui/admin/widgets/list.php:13 ui/admin/widgets/single.php:13
42
- msgid "You must specify a Pods Template or create a custom template, using <a href=\"http://pods.io/docs/build/using-magic-tags/\" title=\"Using Magic Tags\" target=\"_blank\">magic tags</a>."
43
  msgstr ""
44
 
45
- #: classes/fields/file.php:116
46
- msgid "Link to File in editor"
47
  msgstr ""
48
 
49
- #: ui/admin/setup-add.php:140
50
- msgid "<h6>Page Title</h6> This is the text that will appear at the top of your settings page."
51
- msgstr "<h6>Titre de la Page</h6> Ceci est le texte qui apparaitra en haut de votre page de paramètres."
52
 
53
- #: classes/fields/pick.php:144
54
- msgid "Taggable"
55
- msgstr "Taggable"
56
 
57
- #: classes/fields/pick.php:145
58
- msgid "Allow new values to be inserted when using an Autocomplete field"
59
- msgstr "Autoriser l'ajout de nouvelles valeurs avec un champ autocomplété"
60
 
61
- #: ui/admin/setup-edit.php:531
62
- msgid "Jetpack Publicize Support"
63
- msgstr "Support de Jetpack Publicize "
64
 
65
- #: ui/admin/setup-edit.php:536
66
- msgid "Jetpack Markdown Support"
67
- msgstr "Support de Jetpack Markdown "
68
 
69
- #: components/Templates/class-pods_templates.php:193
70
- msgid "Pod Reference"
 
 
 
 
 
71
  msgstr ""
72
 
73
- #: components/Templates/includes/element-pod_reference.php:6
74
- msgid "Select Pod to use as reference"
75
- msgstr "Sélectionnez le Pod a utiliser comme référence"
76
 
77
- #: classes/PodsAdmin.php:1086
78
- msgid "Allows for parent/ child relationships between items, just like with Pages. Note: To edit relationships in the post editor, you must enable \"Page Attributes\" in the \"Supports\" section below."
79
  msgstr ""
80
 
81
- #: classes/fields/pick.php:175
82
- msgid "Allow HTML"
83
- msgstr "Autoriser l'HTML"
84
 
85
- #: ui/admin/widgets/list.php:78
86
- msgid "Before Content"
87
- msgstr "Avant le contenu"
88
 
89
- #: ui/admin/widgets/list.php:90
90
- msgid "After Content"
91
- msgstr "Après le contenu"
92
 
93
- #: components/Migrate-Packages/ui/wizard.php:279
94
- msgid "Process Again"
95
- msgstr "Traiter à nouveau"
96
 
97
- #: components/Pages.php:490
98
- msgid "Redirect if Restricted?"
99
- msgstr "Rediriger si restreint ?"
100
 
101
- #: components/Pages.php:497
102
- msgid "Redirect to WP Login page"
103
- msgstr "Redirection vers la page de login WP"
104
 
105
- #: components/Pages.php:507
106
- msgid "Redirect to a Custom URL"
107
- msgstr "Redirection vers une URL personnalisée"
108
 
109
- #: ui/admin/setup-add.php:177 ui/admin/setup-add.php:188
110
- msgid "Pod Name"
111
- msgstr "Nom du Pod"
112
 
113
- #: classes/PodsAdmin.php:1147
114
- msgid "The Query Var is used in the URL and underneath the WordPress Rewrite API to tell WordPress what page or post type you are on. For a list of reserved Query Vars, read <a href=\"http://codex.wordpress.org/WordPress_Query_Vars\">WordPress Query Vars</a> from the WordPress Codex."
115
- msgstr ""
116
 
117
- #: classes/PodsAPI.php:5079
118
- msgid "Pod Fields"
119
- msgstr "Champs du Pod"
120
 
121
- #: classes/PodsAPI.php:5083
122
- msgid "Pod Field"
123
- msgstr "Champ du Pod"
124
 
125
- #: classes/PodsAdmin.php:1160
126
- msgid "Default Status"
127
- msgstr "Status par défaut"
128
 
129
- #: classes/fields/file.php:77
130
- msgid "Upload Limit"
131
- msgstr "Limite d'envoi"
132
 
133
- #: classes/fields/file.php:81
134
- msgid "Single File"
135
- msgstr "Fichier unique"
136
 
137
- #: classes/fields/file.php:82
138
- msgid "Multiple Files"
139
- msgstr "Fichiers multiples"
140
 
141
- #: classes/fields/file.php:121
142
- msgid "Max Number of Files"
143
- msgstr "Nombre maximum de fichiers"
144
 
145
- #: classes/fields/code.php:82 classes/fields/currency.php:188
146
- #: classes/fields/email.php:70 classes/fields/number.php:116
147
- #: classes/fields/paragraph.php:134 classes/fields/password.php:62
148
- #: classes/fields/phone.php:95 classes/fields/text.php:93
149
- #: classes/fields/website.php:83
150
- msgid "Set to -1 for no limit"
151
- msgstr "Définir à -1 pour illimité"
152
 
153
- #: classes/PodsAdmin.php:1250
154
- msgid "Single Value Taxonomy"
155
- msgstr "Taxonomie à valeur unique"
156
 
157
- #: classes/PodsAdmin.php:1251
158
- msgid "Use a drop-down for the input instead of the WordPress default"
159
- msgstr ""
160
 
161
- #: classes/PodsAdmin.php:1258
162
- msgid "Single Value Taxonomy - Required"
163
- msgstr "Taxonomie à valeur unique - Requis"
164
 
165
- #: classes/PodsAdmin.php:1259
166
- msgid "A term will be selected by default in the Post Editor, not optional"
167
- msgstr ""
168
 
169
- #: classes/fields/pick.php:496
170
- msgid "Calendar - Days of Week"
171
- msgstr "Calendrier - Jours de la semaine"
172
 
173
- #: classes/fields/pick.php:503
174
- msgid "Calendar - Months of Year"
175
- msgstr "Calendrier - Mois de l'année"
176
 
177
- #: classes/fields/html.php:98
178
- msgid "Changes double line-breaks in the text into HTML htmls"
179
- msgstr ""
180
 
181
- #: ui/admin/setup-edit.php:523
182
- msgid "YARPP Support"
183
- msgstr ""
184
 
185
- #: classes/fields/paragraph.php:128 classes/fields/wysiwyg.php:145
186
- msgid "Format: strong em a ul ol li b i"
187
- msgstr "Format: strong em a ul ol li b i"
188
 
189
- #: classes/fields/pick.php:158
190
- msgid "Default Select Text"
191
- msgstr "Selection du texte par défaut"
192
 
193
- #: classes/fields/pick.php:159
194
- msgid "This is the text use for the default \"no selection\" dropdown item, if empty, it will default to \"-- Select One --\""
195
- msgstr "C'est le texte utilisé par défaut pour la liste de selection \"pas de selection\", si vide, affichera \"-- Selectionner --\""
196
 
197
- #: classes/PodsAdmin.php:1195
198
- msgid "Make a top-level menu item"
199
- msgstr "Ajoute un élément de menu de premier niveau"
200
 
201
- #: classes/PodsAdmin.php:1196 classes/PodsAdmin.php:1293
202
- msgid "Make a new top-level menu item below Settings"
203
- msgstr "Ajoute un élément de menu de premier niveau dans les Réglages"
204
 
205
- #: classes/PodsAdmin.php:1607
206
- msgid "Make field \"Read Only\" in UI"
207
- msgstr "Le champ sera en \"Lecture seule\""
208
 
209
- #: classes/PodsAdmin.php:1610
210
- msgid "This option is overriden by access restrictions. If the user does not have access to edit this field, it will be read only. If no access restrictions are set, this field will always be read only."
211
- msgstr "Cette option est surclassée par des restrictions d'accès. Si l'utilisateur n'a pas d'acces à l'édition de ce champs, il sera en lecture seule. Si aucune restriction d'accès n'est placée, ce champs sera toujours en lecture seule."
212
 
213
- #: classes/PodsUI.php:1869
214
- msgid "<strong>Error:</strong> %s has not been %s."
215
- msgstr "<strong>Erreur:</strong> %s n'a pas été %s."
216
 
217
- #: classes/PodsUI.php:1902
218
- msgid "<strong>Deleted:</strong> %s has been deleted."
219
- msgstr "<strong>Supprimé:</strong> %s a été supprimé"
220
 
221
- #: classes/PodsUI.php:1904 classes/PodsUI.php:1947
222
- msgid "<strong>Error:</strong> %s has not been deleted."
223
- msgstr "<strong>Erreur:</strong> %s n'a pas été supprimé."
224
 
225
- #: classes/PodsUI.php:1950
226
- msgid "<strong>Deleted:</strong> %s have been deleted."
227
- msgstr "<strong>Supprimé:</strong> %s a été supprimé"
228
 
229
- #: ui/admin/form.php:269 ui/admin/view.php:115
230
- msgid "Previous %s"
231
- msgstr "Précédent %s"
232
 
233
- #: ui/admin/form.php:277 ui/admin/view.php:123
234
- msgid "Next %s"
235
- msgstr "Suivant %s"
236
 
237
- #: classes/PodsAdmin.php:1333
238
- msgid "Normal (Looks like the Post Type UI)"
239
- msgstr "Normal (A la même apparence que l'interface pour les Post)"
240
 
241
- #: components/Pages.php:348
242
- msgid "Custom (uses only Pod Page content)"
243
- msgstr "Personnalisé (utilise uniquement le contenu de la page Pod)"
244
 
245
- #: components/Pages.php:351
246
- msgid "Pods (Pods Default)"
247
- msgstr "Pods (Pods par défaut)"
248
 
249
- #: components/Pages.php:354
250
- msgid "Page (WP Default)"
251
- msgstr "Page (par défaut de WP)"
252
 
253
- #: components/Pages.php:357
254
- msgid "Index (WP Fallback)"
255
- msgstr "Index (repli de WP)"
256
 
257
- #: classes/fields/file.php:139
258
- msgid "Images (jpg, jpeg, png, gif)"
259
- msgstr "Images (jpg, jpeg, png, gif)"
260
 
261
- #: classes/PodsAPI.php:5657
262
- msgid "Pod for field not found"
263
- msgstr "Pas de pod trouvé pour le champ"
264
 
265
- #: classes/PodsAdmin.php:730
266
- msgid "Number of Fields"
267
- msgstr "Nombre de champs"
268
 
269
- #: classes/PodsAdmin.php:814
270
- msgid "Are you sure you want to delete all items from this Pod? If this is an extended Pod, it will remove the original items extended too."
271
- msgstr "Êtes-vous certain de vouloir effacer tous les éléments de ce Pod? Si c'est un Pod étendu, cela supprimera également les éléments originaux."
272
 
273
- #: classes/PodsAdmin.php:828
274
- msgid "field"
275
- msgid_plural "fields"
276
- msgstr[0] "champ"
277
- msgstr[1] "champs"
278
 
279
- #: classes/PodsAdmin.php:1044
280
- msgid "User Capability"
281
- msgstr "Capacités d'utilisateur"
282
 
283
- #: classes/PodsAdmin.php:1045
284
- msgid "Uses these capabilties for access to this post type: edit_{capability}, read_{capability}, and delete_{capability}"
285
- msgstr "Utilise ces droits pour accéder à ce type de post : edit_{capability}, read_{capability}, et delete_{capability}"
 
286
 
287
- #: classes/PodsAdmin.php:1051
288
- msgid "Custom Capability"
289
- msgstr "Droits personnalisés"
290
 
291
- #: classes/PodsAdmin.php:1056
292
- msgid "Custom User Capability"
293
- msgstr "Droits d'utilisateur personnalisés"
 
294
 
295
- #: classes/PodsAdmin.php:1063
296
- msgid "Additional User Capabilities"
297
- msgstr "Droits d'utilisateur additionnels"
 
298
 
299
- #: classes/PodsAdmin.php:1064
300
- msgid "Enables additional capabilities for this Post Type including: delete_{capability}s, delete_private_{capability}s, delete_published_{capability}s, delete_others_{capability}s, edit_private_{capability}s, and edit_published_{capability}s"
301
- msgstr ""
 
302
 
303
- #: classes/PodsAdmin.php:1192
304
- msgid "Default - Add to associated Post Type(s) menus"
 
 
 
 
 
305
  msgstr ""
306
 
307
- #: classes/PodsAdmin.php:1193 classes/PodsAdmin.php:1291
308
- msgid "Add to Settings menu"
309
- msgstr "Ajouter au menu Réglages"
310
 
311
- #: classes/PodsAdmin.php:1194 classes/PodsAdmin.php:1292
312
- msgid "Add to Appearances menu"
313
- msgstr "Ajouter au menu Apparence"
314
 
315
- #: classes/PodsAdmin.php:1197 classes/PodsAdmin.php:1294
316
- msgid "Add a submenu item to another menu"
317
- msgstr "Ajouter un élément de sous-menu à un autre menu"
 
318
 
319
- #: classes/PodsAdmin.php:1240
320
- msgid "Whether to add a column for this taxonomy on the associated post types manage screens"
321
- msgstr ""
 
322
 
323
- #: classes/PodsAdmin.php:1279
324
- msgid "Normal Settings Form"
325
- msgstr "Formulaire de réglages normal"
326
 
327
- #: classes/PodsAdmin.php:1280
328
- msgid "Post Type UI"
329
- msgstr ""
330
 
331
- #: classes/PodsAdmin.php:1281 classes/PodsAdmin.php:1334
332
- msgid "Custom (hook into pods_admin_ui_custom or pods_admin_ui_custom_{podname} action)"
333
  msgstr ""
334
 
335
- #: classes/PodsAdmin.php:1972
336
- msgid "Developer Preview"
337
- msgstr ""
338
 
339
- #: classes/PodsUI.php:2013
340
- msgid "<strong>Success:</strong> Your export is ready, you can download it <a href=\"%s\" target=\"_blank\">here</a>"
341
- msgstr ""
342
 
343
- #: classes/fields/email.php:192
344
- msgid "Invalid e-mail provided for %s"
345
- msgstr "Email invalide pour %s"
346
 
347
- #: classes/fields/pick.php:437
348
- msgid "User Capabilities"
349
- msgstr "Droits d'utilisateur"
350
 
351
- #: classes/fields/pick.php:482
352
- msgid "Countries"
353
- msgstr "Pays"
354
 
355
- #: classes/fields/pick.php:483 classes/fields/pick.php:490
356
- #: classes/fields/pick.php:497 classes/fields/pick.php:504
357
- msgid "Predefined Lists"
358
- msgstr "Listes Prédéfinies"
359
 
360
- #: classes/fields/pick.php:489
361
- msgid "US States"
362
- msgstr "États (US)"
363
 
364
- #: classes/fields/pick.php:788
365
- msgid "The %s field is required and cannot be removed by the %s field"
366
- msgstr "Le champ %s est requis et ne peut être supprimé par le champ %s"
367
 
368
- #: components/Advanced-Relationships.php:38
369
- msgid "Database Tables"
370
- msgstr "Table de la base de données"
371
 
372
- #: components/Advanced-Relationships.php:76
373
- msgid "Post Type Objects"
374
- msgstr ""
375
 
376
- #: components/Advanced-Relationships.php:83
377
- msgid "Taxonomy Objects"
378
- msgstr ""
379
 
380
- #: components/Pages.php:424
381
- msgid "Setting the Wildcard Slug is an easy way to setup a detail page. You can use the special tag {@url.2} to match the *third* level of the URL of a Pod Page named \"first/second/*\" part of the pod page. This is functionally the same as using pods_var( 2, \"url\" ) in PHP."
382
- msgstr ""
383
 
384
- #: classes/PodsAdmin.php:1578 components/Pages.php:435
385
- msgid "Restrict access to Admins?"
386
- msgstr "Restreindre l'accès aux administrateurs ?"
387
 
388
- #: components/Pages.php:444
389
- msgid "<h6>Roles</h6> Roles are assigned to users to provide them access to specific functionality in WordPress. Please see the Roles and Capabilities component in Pods for an easy tool to add your own roles and edit existing ones."
 
 
 
390
  msgstr ""
 
 
 
391
 
392
- #: components/Pages.php:468 components/Templates/Templates.php:309
393
- msgid "<h6>Capabilities</h6> Capabilities denote access to specific functionality in WordPress, and are assigned to specific User Roles. Please see the Roles and Capabilities component in Pods for an easy tool to add your own capabilities and roles."
394
- msgstr ""
395
 
396
- #: includes/general.php:125
397
- msgid "The following issue occurred:"
398
- msgstr "Le problème suivant est survenu :"
399
 
400
- #: sql/upgrade/PodsUpgrade_2_0_0.php:551
401
- msgid "Pod <strong>%s</strong> not found, relationships cannot be migrated"
402
- msgstr "Pod <strong>%s</strong> introuvable, les relations ne peuvent pas être migrées"
403
 
404
- #: sql/upgrade/PodsUpgrade_2_0_0.php:858
405
- msgid "Pod <strong>%s</strong> not found, items cannot be migrated"
406
- msgstr "Pod <strong>%s</strong> introuvable, les éléments ne peuvent pas être migrés"
407
 
408
- #: ui/admin/setup-add.php:78
409
- msgid "Creating a new Content Type allows you to control exactly what that content type does, how it acts like, the fields it has, and the way you manage it."
410
- msgstr ""
411
 
412
- #: classes/PodsAdmin.php:1582
413
- msgid "This field will only be able to be edited by users with the ability to manage_options or delete_users, or super admins of a WordPress Multisite network"
414
- msgstr ""
415
 
416
- #: classes/PodsAdmin.php:1600
417
- msgid "Hide field from UI"
418
- msgstr "Masquer le champ de l'interface utilisateur"
419
 
420
- #: classes/PodsAdmin.php:1603
421
- msgid "This option is overriden by access restrictions. If the user does not have access to edit this field, it will be hidden. If no access restrictions are set, this field will always be hidden."
422
- msgstr ""
423
 
424
- #: ui/admin/setup-edit.php:615
425
- msgid "Custom Query Var Name"
426
- msgstr ""
427
 
428
- #: ui/admin/setup-edit.php:962
429
- msgid "There was a server error with your AJAX request."
430
- msgstr "Le serveur a eu un problème lors de votre requête AJAX."
431
 
432
- #: ui/admin/shortcode.php:333
433
- msgid "Embed content from a Pods Page"
434
- msgstr "Inclure du contenu depuis une page Pods"
435
 
436
- #: ui/admin/shortcode.php:405
437
- msgid "Pods Page"
438
- msgstr "Page Pods"
439
 
440
- #: classes/PodsAPI.php:632
441
- msgid "Setting data is required but is either invalid or empty"
442
- msgstr "Les données de réglages sont requises. Elles sont actuellement vides ou invalides."
443
 
444
- #: classes/PodsAPI.php:3827
445
- msgid "Pod not allowed to be duplicated"
446
- msgstr "Il n'est pas permis de dupliquer ce Pod"
447
 
448
- #: classes/PodsAdmin.php:714 ui/admin/setup-add.php:91
449
- msgid "Custom Settings Page"
450
- msgstr "Page de Réglages"
451
 
452
- #: classes/PodsAdmin.php:724 classes/PodsAdmin.php:835
453
- msgid "Type"
454
- msgstr "Type"
455
 
456
- #: classes/PodsAdmin.php:1929 classes/PodsAdmin.php:1963
457
- msgid "Category"
458
- msgstr "Categorie"
459
 
460
- #: classes/PodsAdmin.php:1955
461
- msgid "Field Types"
462
- msgstr "Type de Champ"
463
 
464
- #: classes/PodsAdmin.php:1957
465
- msgid "Integration"
466
- msgstr "Intégration"
467
 
468
- #: classes/PodsAdmin.php:1958
469
- msgid "Migration"
470
- msgstr "Migration"
471
 
472
- #: classes/PodsAdmin.php:1997 classes/PodsAdmin.php:2016
473
- msgid "You can find it at %s"
474
- msgstr "Vous pouvez le trouver ici %s"
475
 
476
- #: classes/PodsAdmin.php:1999
477
- msgid "The %s component requires that you have the <strong>%s</strong> plugin installed and activated."
478
- msgstr "Vous devez installer et activer le plugin <strong>%s</strong> pour utliser le composant %s"
479
 
480
- #: classes/PodsAdmin.php:2018
481
- msgid "The %s component requires that you have the <strong>%s</strong> theme installed and activated."
482
- msgstr "Vous devez installer et activer le thème <strong>%s</strong> pour utliser le composant %s"
483
 
484
- #: classes/PodsAdmin.php:2029
485
- msgid "The %s component can not be disabled from here. You must deactivate the plugin or theme that added it."
486
- msgstr "Le composant %s ne peut être désactivé à partir d'ici. Vous devez désactiver le plugin ou le thème qui l'a ajouté. "
487
 
488
- #: classes/PodsMigrate.php:640 classes/PodsMigrate.php:673
489
- msgid "There was an issue saving the export file in your uploads folder."
490
- msgstr "Une erreur est survenu lors de la sauvegarde du fichier d'export dans votre dossier de téléchargements."
491
 
492
- #: classes/PodsUI.php:923
493
- msgid "Manage %s"
494
- msgstr "Modifier %s"
495
 
496
- #: classes/PodsUI.php:926
497
- msgid "Duplicate %s"
498
- msgstr "Dupliquer %s"
499
 
500
- #: classes/PodsUI.php:928 classes/PodsUI.php:939
501
- msgid "Reorder %s"
502
- msgstr "Changer l'ordre de %s"
503
 
504
- #: classes/PodsUI.php:933 classes/PodsUI.php:936
505
- msgid "Save New %s"
506
- msgstr "Sauvegarder Nouveau %s"
507
 
508
- #: classes/PodsUI.php:935
509
- msgid "Save %s"
510
- msgstr "Sauvegarder %s"
511
 
512
- #: classes/PodsUI.php:937
513
- msgid "Delete this %s"
514
- msgstr "Supprimer ce %s"
515
 
516
- #: classes/PodsUI.php:1420 classes/PodsUI.php:1468 classes/PodsUI.php:1747
517
- #: classes/PodsUI.php:2381
518
- msgid "Back to %s"
519
- msgstr "Retour à %s"
520
 
521
- #: classes/PodsUI.php:1358 classes/PodsUI.php:1513
522
- msgid "<strong>Error:</strong> You do not have access to this %s."
523
- msgstr "<strong>Erreur:</strong> Vous n'avez pas accès à ce %s."
524
 
525
- #: classes/fields/avatar.php:96 classes/fields/file.php:170
526
- msgid "Add Button Text"
527
- msgstr "Ajoutez un texte de bouton"
528
 
529
- #: classes/fields/avatar.php:101 classes/fields/file.php:175
530
- msgid "Modal Title"
531
- msgstr "Titre de la fenêtre modale"
532
 
533
- #: classes/fields/avatar.php:103 classes/fields/file.php:177
534
- #: ui/fields/media.php:136
535
- msgid "Attach a file"
536
- msgstr "Attacher un fichier"
537
 
538
- #: classes/fields/avatar.php:107 classes/fields/file.php:181
539
- msgid "Modal Add Button Text"
540
- msgstr "Texte du Bouton d'ajout dans la modale"
541
 
542
- #: classes/fields/boolean.php:52 classes/fields/currency.php:100
543
- #: classes/fields/number.php:67
544
- msgid "Input Type"
545
- msgstr "Type de Champ"
546
 
547
- #: classes/fields/code.php:59 classes/fields/color.php:49
548
- #: classes/fields/currency.php:91 classes/fields/date.php:58
549
- #: classes/fields/datetime.php:58 classes/fields/email.php:58
550
- #: classes/fields/number.php:58 classes/fields/paragraph.php:58
551
- #: classes/fields/phone.php:58 classes/fields/text.php:58
552
- #: classes/fields/time.php:57 classes/fields/website.php:58
553
- #: classes/fields/wysiwyg.php:58
554
- msgid "Repeatable Field"
555
- msgstr "Champ Répétable"
556
 
557
- #: classes/fields/code.php:62 classes/fields/color.php:52
558
- #: classes/fields/currency.php:94 classes/fields/date.php:61
559
- #: classes/fields/datetime.php:61 classes/fields/email.php:61
560
- #: classes/fields/number.php:61 classes/fields/paragraph.php:61
561
- #: classes/fields/phone.php:61 classes/fields/text.php:61
562
- #: classes/fields/time.php:60 classes/fields/website.php:61
563
- #: classes/fields/wysiwyg.php:61
564
- msgid "Making a field repeatable will add controls next to the field which allows users to Add/Remove/Reorder additional values. These values are saved in the database as an array, so searching and filtering by them may require further adjustments\"."
565
- msgstr "L'ajout d'un champ répétable ajoutera une interface à proximité du champ qui permet à un utilisateur d'Ajouter/Supprimer/Changer l'ordre de valeurs supplémentaires. Ces valeurs sont sauvegardées dans la base de donnée sous forme d'un array. La recherche et les filtres sur ces champs nécessitera une prise en compte particulière. "
566
 
567
- #: classes/fields/currency.php:104 classes/fields/number.php:71
568
- msgid "Freeform Number"
569
- msgstr "Nombre à saisit libre"
570
 
571
- #: classes/fields/currency.php:105 classes/fields/number.php:72
572
- msgid "Slider"
573
- msgstr "Curseur"
574
 
575
- #: classes/fields/currency.php:141
576
- msgid "Before (ex. $100)"
577
- msgstr "Avant (ex: €100)"
578
 
579
- #: classes/fields/currency.php:142
580
- msgid "After (ex. 100$)"
581
- msgstr "Après (ex: 100€)"
582
 
583
- #: classes/fields/currency.php:143
584
- msgid "None (ex. 100)"
585
- msgstr "Aucun (ex: 100)"
586
 
587
- #: classes/fields/currency.php:144
588
- msgid "Before with Currency Code after (ex. $100 USD)"
589
- msgstr "Avant avec le code ISO de la devise après (ex: €100 EUR)"
590
 
591
- #: classes/fields/currency.php:167 classes/fields/number.php:95
592
- msgid "Slider Increment (Step)"
593
- msgstr "\"Slider\" incrément"
 
 
594
 
595
- #: classes/fields/currency.php:173 classes/fields/number.php:101
596
- msgid "Minimum Number"
597
- msgstr "Minimum"
598
 
599
- #: classes/fields/currency.php:179 classes/fields/number.php:107
600
- msgid "Maximum Number"
601
- msgstr "Maximum"
602
 
603
- #: classes/fields/file.php:140
604
- msgid "Video (mpg, mov, flv, mp4, etc..)"
605
- msgstr "Video (mpg, mov, flv, mp4, ...)"
606
 
607
- #: classes/fields/file.php:141
608
- msgid "Audio (mp3, m4a, wav, wma, etc..)"
609
- msgstr "Audio (mp3, m4a, wav, wma, ...)"
610
 
611
- #: classes/fields/file.php:142
612
- msgid "Text (txt, csv, tsv, rtx, etc..)"
613
- msgstr "Text (txt, csv, tsv, rtx, ...)"
614
 
615
- #: classes/fields/pick.php:180
616
- msgid "Table ID Column"
617
- msgstr "Colonne ID de la Table"
618
 
619
- #: classes/fields/pick.php:181
620
- msgid "You must provide the ID column name for the table, this will be used to keep track of the relationship"
621
- msgstr "Vous devez fournir le nom de la colonne ID pour la table, ceci sera utilisé pour garder les données relationnelles synchronisées."
622
 
623
- #: classes/fields/pick.php:188
624
- msgid "Table Index Column"
625
- msgstr "Colonne d'Index pour la Table"
626
 
627
- #: classes/fields/pick.php:189
628
- msgid "You must provide the index column name for the table, this may optionally also be the ID column name"
629
- msgstr "Vous devez fournir le nom de la colonne d'index pour la table, ceci peux être la colonne ID."
630
 
631
- #: classes/fields/pick.php:208
632
- msgid "Limit list to Role(s)"
633
- msgstr "Limiter la liste aux Role(s)"
634
 
635
- #: classes/fields/pick.php:325
636
- msgid "Simple (custom defined list)"
637
- msgstr "Simple (liste définie manuellement)"
638
 
639
- #: classes/fields/pick.php:425 classes/fields/pick.php:431
640
- #: classes/fields/pick.php:438 classes/fields/pick.php:445
641
- #: classes/fields/pick.php:451 classes/fields/pick.php:457
642
- #: classes/fields/pick.php:464 classes/fields/pick.php:469
643
- #: classes/fields/pick.php:474
644
- msgid "Other WP Objects"
645
- msgstr "Autres Objets WP"
646
 
647
- #: classes/fields/pick.php:430
648
- msgid "User Roles"
649
- msgstr "Roles Utilisateur"
650
 
651
- #: classes/fields/pick.php:456
652
- msgid "Image Sizes"
653
- msgstr "Tailles d'image"
654
 
655
- #: classes/fields/pick.php:463
656
- msgid "Navigation Menus"
657
- msgstr "Menus de Navigation"
658
 
659
- #: classes/fields/pick.php:473
660
- msgid "Post Status"
661
- msgstr "Status d'article"
662
 
663
- #: components/Advanced-Relationships.php:69
664
- msgid "Sidebars"
665
- msgstr "Sidebars"
666
-
667
- #: components/Advanced-Relationships.php:39
668
- #: components/Advanced-Relationships.php:45
669
- #: components/Advanced-Relationships.php:50
670
- #: components/Advanced-Relationships.php:56
671
- #: components/Advanced-Relationships.php:63
672
- #: components/Advanced-Relationships.php:70
673
- #: components/Advanced-Relationships.php:77
674
- #: components/Advanced-Relationships.php:84
675
- msgid "Advanced Objects"
676
- msgstr "Objets avancés"
677
-
678
- #: components/Advanced-Relationships.php:44
679
- msgid "Multisite Sites"
680
- msgstr "Sites WP Multisite"
681
-
682
- #: components/Advanced-Relationships.php:49
683
- msgid "Multisite Networks"
684
- msgstr "Réseaux WP Multisite"
685
-
686
- #: components/Advanced-Relationships.php:55
687
- msgid "Themes"
688
- msgstr "Thèmes"
689
-
690
- #: components/Advanced-Relationships.php:62
691
- msgid "Page Templates"
692
- msgstr "Templates de Page"
693
-
694
- #: classes/fields/wysiwyg.php:80
695
- msgid "Editor Options"
696
- msgstr "Options de l'éditeur"
697
-
698
- #: classes/fields/wysiwyg.php:84
699
- msgid "Enable Media Buttons?"
700
- msgstr "Activer le Boutton Média ?"
701
-
702
- #: components/Builder/modules/list/PodsBuilderModuleList.php:169
703
- #: components/Builder/modules/view/PodsBuilderModuleView.php:76
704
- #: ui/admin/shortcode.php:472 ui/admin/widgets/list.php:114
705
- #: ui/admin/widgets/view.php:27
706
- msgid "Cache Type"
707
- msgstr "Type de Cache"
708
-
709
- #: components/Builder/modules/list/PodsBuilderModuleList.php:174
710
- #: components/Builder/modules/view/PodsBuilderModuleView.php:81
711
- #: ui/admin/shortcode.php:476 ui/admin/widgets/list.php:118
712
- #: ui/admin/widgets/view.php:31
713
- msgid "Disable Caching"
714
- msgstr "Désactiver le Cache"
715
-
716
- #: components/Builder/modules/list/PodsBuilderModuleList.php:175
717
- #: components/Builder/modules/view/PodsBuilderModuleView.php:82
718
- #: ui/admin/shortcode.php:477 ui/admin/widgets/list.php:119
719
- #: ui/admin/widgets/view.php:32
720
- msgid "Object Cache"
721
- msgstr "Object Cache"
722
-
723
- #: components/Builder/modules/list/PodsBuilderModuleList.php:176
724
- #: components/Builder/modules/view/PodsBuilderModuleView.php:83
725
- #: ui/admin/shortcode.php:478 ui/admin/widgets/list.php:120
726
- #: ui/admin/widgets/view.php:33
727
- msgid "Transient"
728
- msgstr "Transient"
729
-
730
- #: components/Builder/modules/list/PodsBuilderModuleList.php:177
731
- #: components/Builder/modules/view/PodsBuilderModuleView.php:84
732
- #: ui/admin/shortcode.php:479 ui/admin/widgets/list.php:121
733
- #: ui/admin/widgets/view.php:34
734
- msgid "Site Transient"
735
- msgstr "Site Transient"
736
-
737
- #: components/Builder/modules/list/PodsBuilderModuleList.php:186
738
- #: components/Builder/modules/view/PodsBuilderModuleView.php:93
739
- #: ui/admin/shortcode.php:494 ui/admin/widgets/list.php:135
740
- #: ui/admin/widgets/view.php:48
741
- msgid "Cache Expiration (in seconds)"
742
- msgstr "Cache Expiration (en secondes)"
743
-
744
- #: components/Builder/modules/view/PodsBuilderModuleView.php:22
745
- msgid "Pods - View"
746
- msgstr "Pods - Vue"
747
-
748
- #: components/Builder/modules/view/PodsBuilderModuleView.php:23
749
- #: ui/admin/shortcode.php:331
750
- msgid "Include a file from a theme, with caching options"
751
- msgstr "Inclure un fichier à partir d'un thème, avec options de mise en cache."
752
-
753
- #: components/Builder/modules/view/PodsBuilderModuleView.php:68
754
- #: ui/admin/shortcode.php:466 ui/admin/widgets/view.php:21
755
- msgid "File to include"
756
- msgstr "Fichiers à inclure"
757
-
758
- #: components/Pages.php:399
759
- msgid "-- Select a Pod --"
760
- msgstr "-- Sélectionner une valeur --"
761
-
762
- #: components/Pages.php:415
763
- msgid "Associated Pod"
764
- msgstr "Pod Associé"
765
-
766
- #: components/Pages.php:423
767
- msgid "Wildcard Slug"
768
- msgstr "URL Wildcard (*)"
769
-
770
- #: components/Pages.php:430
771
- msgid "Pod Association"
772
- msgstr "Association du Pod"
773
-
774
- #: includes/general.php:127
775
- msgid "The following issues occurred:"
776
- msgstr "Les erreurs suivantes sont survenues:"
777
-
778
- #: ui/admin/components-admin.php:14
779
- msgid "Settings saved successfully."
780
- msgstr "Réglages sauvegardés avec succès."
781
-
782
- #: ui/admin/form.php:183 ui/admin/view.php:47
783
- msgid "Created on"
784
- msgstr "Crée le"
785
-
786
- #: ui/admin/form.php:192 ui/admin/view.php:56
787
- msgid "Last Modified"
788
- msgstr "Modifié le"
789
-
790
- #: ui/admin/setup-add.php:48
791
- msgid "Pods are content types that you can customize and define fields for based on your needs. You can choose to create a Custom Post Type, Custom Taxonomy, or Custom Settings Pages for site-specific data. You can also extend existing content types like WP Objects such as Post Types, Taxonomies, Users, or Comments."
792
- msgstr "Un Pod est un type de contenu sur mesure, dont vous pouvez définir les champs en fonction de vos besoin ainsi que d'autres options. Vous pouvez choisir de créer un Custom Post Type, une Custom Taxonomy, ou une Custom Settings Pages. Vous pouvez aussi \"étendre\" des types de contenus existants tel que les Objets WP comme les Custom Post Type, Taxonomies, Users, er Commentaires."
793
-
794
- #: ui/admin/setup-add.php:50
795
- msgid "Not sure what content type you should use? Check out our <a href=\"http://pods.io/docs/comparisons/compare-content-types/\" target=\"_blank\">Content Type Comparison</a> to help you decide."
796
- msgstr "Vous hésitez sur le type de contenu que vous devez choisir ? Pour un <a href=\"http://pods.io/docs/comparisons/compare-content-types/\" target=\"_blank\">comparatif complet des différentes options cliquez ici</a>."
797
-
798
- #: ui/admin/setup-add.php:59
799
- msgid "Create entirely new content types using <strong>Post Types</strong>, <strong>Taxonomies</strong>, or <strong>Custom Settings Pages</strong>."
800
- msgstr "Créer des nouveaux types de contenus en utilisant des <strong>Post Types</strong>, <strong>Taxonomies</strong>, ou <strong>Custom Settings Pages</strong>."
801
-
802
- #: ui/admin/setup-add.php:146
803
- msgid "Menu Label"
804
- msgstr "Label du Menu"
805
-
806
- #: ui/admin/setup-add.php:146
807
- msgid "<h6>Menu Label</h6> This is the label that will appear throughout the WordPress admin area for your settings."
808
- msgstr "<h6>Label du Menu</h6> Ceci est le label qui apparaîtra sur les pages de l'admin WordPress pour vos réglages."
809
-
810
- #: classes/PodsAdmin.php:1186 classes/PodsAdmin.php:1286
811
- #: ui/admin/setup-add.php:152
812
- msgid "Menu Location"
813
- msgstr "Position du Menu"
814
-
815
- #: ui/admin/setup-add.php:152
816
- msgid "<h6>Menu Location</h6> This is the location where the new settings page will be added in the WordPress Dashboard menu."
817
- msgstr "<h6>Position du menu</h6> Ceci est la l'endroit ou sera ajouté la page de réglages dans le Menu du Dashboard de WordPress."
818
-
819
- #: ui/admin/setup-edit-field-fluid.php:87
820
- msgid "Related Table"
821
- msgstr "Table Associée"
822
 
823
  #: ui/admin/setup-edit.php:15
824
  msgid "Extra fields were successfully enabled for this Custom Taxonomy."
825
  msgstr "Champs supplémentaires activés avec succès pour cette Custom Taxonomy."
826
 
827
- #: classes/PodsAdmin.php:1586 components/Pages.php:442
828
- msgid "Restrict access by Role?"
829
- msgstr "Restreindre l'accès en fonction du Rôle ?"
830
-
831
- #: classes/PodsAdmin.php:1634 components/Pages.php:453
832
- msgid "Role(s) Allowed"
833
- msgstr "Rôles Authorisés"
834
 
835
  #: ui/admin/setup-edit.php:92
836
  msgid "-- Select Table --"
837
  msgstr "-- Sélectionner une Table --"
838
 
839
- #: classes/PodsAdmin.php:902 ui/admin/setup-edit.php:247
840
- msgid "Manage Fields"
841
- msgstr "Gérer les Champs"
842
 
843
- #: classes/PodsAdmin.php:905
844
- msgid "Labels"
845
- msgstr "Labels"
846
 
847
- #: classes/PodsAdmin.php:908
848
- msgid "Admin UI"
849
- msgstr "Interface Admin"
850
 
851
- #: classes/PodsAdmin.php:911
852
- msgid "Advanced Options"
853
- msgstr "Options Avancées"
854
 
855
- #: classes/PodsAdmin.php:914
856
- msgid "Extra Fields"
857
- msgstr "Champs Supplémentaires"
858
 
859
- #: classes/PodsAdmin.php:1123
860
- msgid "Allows permalinks to be prepended with your front base (example: if your permalink structure is /blog/, then your links will be: Unchecked->/news/, Checked->/blog/news/)"
861
- msgstr "Permettre à un suffix d'être ajouté aux permaliens (example: si votre structure de permaliens est /blog/, alors vos liens seront: Non-activé -> /news/, Activé -> /blog/news/)"
862
 
863
- #: classes/PodsAdmin.php:1274 classes/PodsAdmin.php:1328
864
- msgid "Admin UI Style"
865
- msgstr "Style de l'interface Admin"
866
 
867
- #: classes/PodsAdmin.php:1202 classes/PodsAdmin.php:1299
868
- msgid "Custom Menu Location"
869
- msgstr "Position de Menu personalisée"
870
 
871
- #: classes/PodsAdmin.php:979 classes/PodsAdmin.php:1347
872
- msgid "Parent Menu ID (optional)"
873
- msgstr "ID du Menu Parent (optionel)"
874
 
875
- #: classes/PodsAdmin.php:1361
876
- msgid "This is the icon shown to the left of the menu text for this content type."
877
- msgstr "Ceci est l'icône affichée à droite de texte du menu pour ce type de contenu."
878
 
879
- #: classes/PodsAdmin.php:1367
880
- msgid "Header Icon"
881
- msgstr "Icône d'entête"
882
 
883
- #: classes/PodsAdmin.php:1368
884
- msgid "This is the icon shown to the left of the heading text at the top of the manage pages for this content type."
885
- msgstr "Ceci est l'icône affichée à droite du texte d'entête en haut des pages de gestion pour ce type de contenu."
886
 
887
- #: classes/PodsAdmin.php:1375
888
- msgid "Actions Available"
889
- msgstr "Actions Disponibles"
890
 
891
- #: classes/PodsAdmin.php:1391
892
- msgid "Reorder Field"
893
- msgstr "Changer l'ordre"
894
 
895
- #: classes/PodsAdmin.php:1392
896
- msgid "This is the field that will be reordered on, it should be numeric."
897
- msgstr "Ceci est le champs sur lequel sera basé le changement d'ordre, il doit être numérique."
898
 
899
- #: classes/PodsAdmin.php:1398
900
- msgid "Admin Table Columns"
901
- msgstr "Colonnes des tables d'administration"
902
 
903
- #: classes/PodsAdmin.php:1406
904
- msgid "Search Filters"
905
- msgstr "Filtres de recherche"
906
 
907
- #: ui/admin/setup-edit.php:505
908
- msgid "Genesis: SEO"
909
- msgstr "Genesis: SEO"
910
 
911
- #: ui/admin/setup-edit.php:510
912
- msgid "Genesis: Layouts"
913
- msgstr "Genesis: Layouts"
 
 
914
 
915
- #: ui/admin/setup-edit.php:515
916
- msgid "Genesis: Simple Sidebars"
917
- msgstr "Genesis: Sidebars Simples"
918
 
919
- #: ui/admin/setup-edit.php:544
920
- msgid "Advanced Supports"
921
- msgstr "Options \"Supports\""
922
-
923
- #: ui/admin/setup-edit.php:544
924
- msgid "Comma-separated list of custom \"supports\" values to pass to register_post_type."
925
- msgstr "Liste de valeurs délimités par des virgules de \"supports\" à fournir en argument à la fonction register_post_type."
926
-
927
- #: ui/admin/setup-edit.php:700
928
- msgid "No Hierarchical Fields found"
929
- msgstr "Aucun champ Hiérarchique trouvé."
930
-
931
- #: ui/admin/setup-edit.php:704
932
- msgid "Hierarchical Field"
933
- msgstr "Champ Hiérarchique"
934
-
935
- #: ui/admin/setup-edit.php:797
936
- msgid "Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table."
937
- msgstr "De façon native on ne peux pas ajouter des champs supplémentaires aux Taxonomies, mais Pods peux ajouter cette fonction pour vous facilement. Le stockage de type \"Table\" opèrera de fàçon transparente pour que chaque champ ajouté à votre type de contenu deviennent un champs dans une table."
938
-
939
- #: ui/admin/setup-edit.php:799
940
- msgid "Enabling extra fields for this taxonomy will add a custom table into your database as <em>%s</em>."
941
- msgstr "Permettre l'ajout de champs supplémentaires pour cette taxonomie ajoutera une nouvelle table dans votre base de donnée <em>%s</em>"
942
-
943
- #: ui/admin/setup-edit.php:804
944
- msgid "Enable Extra Fields"
945
- msgstr "Champs Supplémentaires Activés"
946
-
947
- #: ui/admin/shortcode.php:329
948
- msgid "Display a field from this item"
949
- msgstr "Afficher un champ de cet entrée"
950
-
951
- msgid "http://pods.io/"
952
- msgstr "http://pods.io/"
953
-
954
- msgid "http://pods.io/about/"
955
- msgstr "http://pods.io/about/"
956
-
957
- #: components/Templates/Templates.php:290
958
- #: ui/admin/upgrade/upgrade_2_0_0.php:148
959
- #: ui/admin/upgrade/upgrade_2_0_0.php:264
960
- msgid "Content"
961
- msgstr "Contenu"
962
-
963
- #: ui/fields/plupload.php:43
964
- msgid "Allowed Files"
965
- msgstr "Fichiers autorisés"
966
-
967
- #: components/Templates/Templates.php:440
968
- msgid "You do not have access to view this content."
969
- msgstr "Vous n'avez pas les droits suffisants pour accéder à ce contenu."
970
-
971
- #: ui/fields/plupload.php:272
972
- msgid "There was an issue with the file upload, please try again."
973
- msgstr "Il erreur est survenue lors de l'envoi du fichier, veuillez essayez à noueau."
974
-
975
- #: ui/fields/select2.php:158 ui/fields/select2.php:165
976
- msgid "Start Typing..."
977
- msgstr "Commencer la saisie"
978
-
979
- #: includes/general.php:131
980
- msgid "An unknown error has occurred"
981
- msgstr "Une erreur inconnue est survenue"
982
-
983
- #: includes/updater.php:427
984
- msgid "The plugin has been updated, but could not be reactivated. Please reactivate it manually."
985
- msgstr "Le plugin a été mis à jour mais n'a pas pu être réactivé. Réactivez le manuellement."
986
-
987
- #: includes/general.php:368
988
- msgid "%1$s has been <strong>deprecated</strong> since Pods version %2$s! Use %3$s instead."
989
- msgstr "%1$s a été <strong>déprécié</strong> depuis Pods version %2$s ! Utilisez %3$s à la place."
990
-
991
- #: includes/updater.php:428
992
- msgid "Plugin reactivated successfully."
993
- msgstr "Plugin réactivé avec succès"
994
-
995
- #: includes/general.php:370
996
- msgid "%1$s has been <strong>deprecated</strong> since Pods version %2$s with no alternative available."
997
- msgstr "%1$s a été <strong>déprécié</strong> depuis Pods version %2$s sans alternative possible. "
998
-
999
- msgid "Pods - Custom Content Types and Fields"
1000
- msgstr ""
1001
-
1002
- #: includes/general.php:416 ui/admin/setup-edit.php:801
1003
- msgid "Find out more"
1004
- msgstr "En savoir plus"
1005
-
1006
- #: includes/data.php:1637
1007
- msgid "and"
1008
- msgstr "et"
1009
-
1010
- msgid "Pods is a framework for creating, managing, and deploying customized content types and fields"
1011
- msgstr "Pods est un framework qui permet de créer, gérer et déployer des types de contenus personalisés."
1012
-
1013
- #: includes/general.php:845 includes/general.php:864 includes/general.php:884
1014
- msgid "NOTICE"
1015
- msgstr "NOTICE"
1016
-
1017
- msgid "Pods Framework Team"
1018
- msgstr "L'équipe de Pods Framework"
1019
-
1020
- #: includes/general.php:845 includes/general.php:864 includes/general.php:884
1021
- msgid "requires a minimum of"
1022
- msgstr "requiert un minimum de"
1023
-
1024
- #: includes/general.php:846 includes/general.php:865 includes/general.php:885
1025
- msgid "to function. You are currently running"
1026
- msgstr "pour fonctionner. Vous utilisez actuellement"
1027
-
1028
- #: includes/general.php:847
1029
- msgid "Please upgrade your WordPress to continue."
1030
- msgstr "Merci de mettre à jour Wordpress avant de continuer"
1031
-
1032
- #: includes/general.php:866
1033
- msgid "Please upgrade (or have your Hosting Provider upgrade it for you) your PHP version to continue."
1034
- msgstr "Merci de mettre à jour (ou faire mettre à jour par votre hébergeur) votre version de PHP avant de continuer"
1035
-
1036
- #: includes/general.php:886
1037
- msgid "Please upgrade (or have your Hosting Provider upgrade it for you) your MySQL version to continue."
1038
- msgstr "Merci de mettre à jour (ou faire mettre à jour par votre hébergeur) votre version de MySQL avant de continuer"
1039
-
1040
- #: sql/upgrade/PodsUpgrade.php:128
1041
- msgid "Invalid upgrade process."
1042
- msgstr "Processus de mise à niveau invalide."
1043
-
1044
- #: sql/upgrade/PodsUpgrade.php:131
1045
- msgid "Invalid upgrade method."
1046
- msgstr "Méthode de mise à niveau invalide."
1047
-
1048
- #: sql/upgrade/PodsUpgrade.php:134
1049
- msgid "Upgrade method not found."
1050
- msgstr "Méthode de mise à niveau non trouvée."
1051
-
1052
- #: sql/upgrade/PodsUpgrade_2_0_0.php:22 sql/upgrade/PodsUpgrade_2_0_0.php:44
1053
- #: sql/upgrade/PodsUpgrade_2_0_0.php:66 sql/upgrade/PodsUpgrade_2_0_0.php:88
1054
- #: sql/upgrade/PodsUpgrade_2_0_0.php:110 sql/upgrade/PodsUpgrade_2_0_0.php:132
1055
- #: sql/upgrade/PodsUpgrade_2_0_0.php:154 sql/upgrade/PodsUpgrade_2_0_0.php:183
1056
- msgid "Table not found, it cannot be migrated"
1057
- msgstr "Table non trouvée, elle ne peut être migrée"
1058
-
1059
- #: sql/upgrade/PodsUpgrade_2_0_0.php:178 sql/upgrade/PodsUpgrade_2_0_0.php:836
1060
- msgid "Invalid Pod."
1061
- msgstr "Pod invalide"
1062
-
1063
- #: sql/upgrade/PodsUpgrade_2_0_0.php:197
1064
- msgid "Pod not found, it cannot be migrated"
1065
- msgstr "Pod non trouvé, il ne peut être migré"
1066
-
1067
- #: sql/upgrade/PodsUpgrade_2_0_0.php:216
1068
- msgid "is a field in the table, but was not found in this pod - the field data will not be migrated."
1069
- msgstr "est un champ dans la table, mais n'a pas été trouvé dans ce pod - le champ ne sera pas migré."
1070
-
1071
- #: sql/upgrade/PodsUpgrade_2_0_0.php:221
1072
- msgid "is a field in this pod, but was not found in the table - the field data will not be migrated."
1073
- msgstr "est un champ dans ce pod, mais n'a pas été trouvé dans la table - le champ ne sera pas migré."
1074
-
1075
- #: sql/upgrade/PodsUpgrade_2_0_0.php:819
1076
- msgid "Input Helpers may not function in our new forms, we have imported and disabled them for your review."
1077
- msgstr "Les Input Helpers pourraient ne pas fonctionner aves les nouveaux formulaires, nous les avons importés et désactivés pour examen."
1078
-
1079
- #: components/Roles/ui/edit.php:47 ui/admin/form-settings.php:72
1080
- #: ui/admin/form.php:103
1081
- msgid "Save"
1082
- msgstr "Enregistrer"
1083
-
1084
- #: sql/upgrade/PodsUpgrade_2_0_0.php:841
1085
- msgid "Table not found, items cannot be migrated"
1086
- msgstr "table non trouvée, les itmes ne peuvent être migrées"
1087
-
1088
- #: sql/upgrade/PodsUpgrade_2_0_0.php:844
1089
- msgid "New table not found, items cannot be migrated"
1090
- msgstr "Nouvelle table non trouvée, le sitems ne peuvent être trouvées"
1091
-
1092
- #: sql/upgrade/PodsUpgrade_2_0_0.php:847
1093
- msgid "Pod Types table not found, items cannot be migrated"
1094
- msgstr "La table des types de Pods n'a pas été trouvée, les items ne peuvent être migrées"
1095
-
1096
- #: classes/PodsUI.php:1510 classes/PodsUI.php:1638
1097
- msgid "<strong>Error:</strong> %s not found."
1098
- msgstr "<strong>Erreur:</strong> %s non trouvé."
1099
-
1100
- #: sql/upgrade/PodsUpgrade_2_0_0.php:850
1101
- msgid "Pod table not found, items cannot be migrated"
1102
- msgstr "Table du pod non trouvée, les items ne peuvent être migrées"
1103
-
1104
- #: classes/PodsUI.php:1776
1105
- msgid "<strong>Success!</strong> %s reordered successfully."
1106
- msgstr "<strong>Succès!</strong>. Ordre de %s mis à jours."
1107
-
1108
- #: classes/PodsUI.php:1778
1109
- msgid "<strong>Error:</strong> %s has not been reordered."
1110
- msgstr "<strong>Erreur!</strong>. Ordre de %s n'a pas été mis à jours."
1111
-
1112
- #: ui/admin/form.php:59 ui/admin/form.php:87 ui/admin/setup-edit.php:223
1113
- msgid "duplicated"
1114
- msgstr "duplqué"
1115
-
1116
- #: classes/PodsUI.php:1794 components/Roles/ui/edit.php:19
1117
- #: ui/admin/form-settings.php:41 ui/admin/form-settings.php:60
1118
- #: ui/admin/form.php:54 ui/admin/form.php:82 ui/admin/setup-edit.php:218
1119
- msgid "saved"
1120
- msgstr "enregistré"
1121
-
1122
- #: ui/admin/form-settings.php:48 ui/admin/form.php:70
1123
- msgid "<strong>Error:</strong> %s %s successfully."
1124
- msgstr "<strong>Erreurr:</strong> %s %s avec succès."
1125
-
1126
- #: classes/PodsUI.php:1796 components/Roles/ui/edit.php:22 ui/admin/form.php:57
1127
- #: ui/admin/form.php:85 ui/admin/setup-edit.php:221
1128
- msgid "created"
1129
- msgstr "créé"
1130
-
1131
- #: ui/admin/form-settings.php:63 ui/admin/form.php:94
1132
- msgid "<strong>Error:</strong> %s not %s."
1133
- msgstr "<strong>Erreur:</strong> %s n'est pas %s."
1134
-
1135
- #: classes/PodsUI.php:1891
1136
- msgid "<strong>Error:</strong> Invalid Configuration - Missing \"id\" definition."
1137
- msgstr "<strong>Erreur :</strong>Configuration invalide - La définition de \"id\" est manquante."
1138
-
1139
- #: ui/admin/form.php:259 ui/admin/view.php:105
1140
- msgid "Navigate"
1141
- msgstr "Naviguer"
1142
-
1143
- #: ui/admin/setup-add.php:23 ui/admin/setup-edit.php:817
1144
- msgid "Back to Manage"
1145
- msgstr "Retour à la gestion"
1146
-
1147
- #: classes/PodsUI.php:2621
1148
- msgid "Reset Filters"
1149
- msgstr "Remise à zéro des filtres"
1150
-
1151
- #: classes/PodsUI.php:2644
1152
- msgid "Bulk Actions"
1153
- msgstr "Actions de groupe"
1154
-
1155
- #: ui/admin/form.php:358
1156
- msgid "Enter name here"
1157
- msgstr "Saisir le nom ici"
1158
-
1159
- #: classes/PodsUI.php:2660 classes/PodsUI.php:3757
1160
- msgid "Apply"
1161
- msgstr "Appliquer"
1162
-
1163
- #: ui/admin/form.php:412 ui/admin/upgrade/upgrade_2_0_0.php:85
1164
- #: ui/admin/upgrade/upgrade_2_0_0.php:201 ui/admin/view.php:188
1165
- msgid "Fields"
1166
- msgstr "Champs"
1167
-
1168
- #: classes/PodsUI.php:2680
1169
- msgid "Update Order"
1170
- msgstr "Ordre de mise à jour"
1171
-
1172
- #: ui/admin/help.php:3
1173
- msgid "Pods Help"
1174
- msgstr "Aide Pods"
1175
-
1176
- #: classes/PodsUI.php:2681 ui/admin/setup-edit-field-fluid.php:190
1177
- msgid "Cancel"
1178
- msgstr "Annuler"
1179
-
1180
- #: ui/admin/settings-reset.php:46
1181
- msgid "Delete Pods 1.x data"
1182
- msgstr "Supprimer les données de Pods 1.x"
1183
-
1184
- #: classes/PodsAdmin.php:1385 classes/PodsUI.php:2699
1185
- #: components/Migrate-Packages/ui/wizard.php:69
1186
- msgid "Export"
1187
- msgstr "Exporter"
1188
-
1189
- #: ui/admin/settings-reset.php:48
1190
- msgid "This will delete all of your Pods 1.x data, it's only recommended if you've verified your data has been properly migrated into Pods 2.x."
1191
- msgstr "Cela supprimera toutes vos données liées à Pods 1.x, uniquement recommandé si vous avez bien vérifié que vos données ont bien été migrées vers Pods 2.x."
1192
-
1193
- #: classes/PodsUI.php:2725
1194
- msgid "Please use the search filter(s) above to display data"
1195
- msgstr "Veuillez utiliser les filtres ci-dessus pour afficher les données"
1196
-
1197
- #: ui/admin/settings-reset.php:51
1198
- msgid ""
1199
- "Are you sure you want to do this?\n"
1200
- "\n"
1201
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 1.x, resetting it to a clean first install."
1202
- msgstr ""
1203
- "Êtes-vous sur de vous ?\n"
1204
- "\n"
1205
- "C'est l'occasion de vérifier que vous avez réalisé une sauvegarde. Nous allons supprimer toutes les données en rapport avec 1.x, comme si c'était une installation de base."
1206
-
1207
- #: classes/PodsUI.php:2725
1208
- msgid "or click on an Export to download a full copy of the data"
1209
- msgstr "ou cliquez sur un export pour télécharger une version complète des données"
1210
-
1211
- #: ui/admin/settings-reset.php:52
1212
- msgid "Delete Pods 1.x settings and data"
1213
- msgstr "Supprimer les données et les paramètres de Pods 1.x"
1214
-
1215
- #: classes/PodsUI.php:2827
1216
- msgid "Reset"
1217
- msgstr "Réinitialiser"
1218
-
1219
- #: ui/admin/settings-reset.php:57
1220
- msgid "Reset Pods 2.x"
1221
- msgstr "Réinitialiser Pods 2.x"
1222
-
1223
- #: classes/PodsUI.php:2858 classes/PodsUI.php:2859 classes/PodsUI.php:2867
1224
- #: classes/PodsUI.php:2921 classes/PodsUI.php:2974
1225
- msgid "Advanced Filters"
1226
- msgstr "Filtres avancés"
1227
-
1228
- #: ui/admin/settings-reset.php:59
1229
- msgid "This does not delete any Pods 1.x data, it simply resets the Pods 2.x settings, removes all of it's data, and performs a fresh install."
1230
- msgstr "Cela n'effacera aucune donnée de Pods 1.x, mais effacera uniquement les réglages Pods 2.x, supprimant toutes les données, comme si c'était une installation de base."
1231
-
1232
- #: classes/PodsUI.php:2868
1233
- msgid "Add Filter"
1234
- msgstr "Ajouter un filtre"
1235
-
1236
- #: ui/admin/settings-reset.php:60 ui/admin/settings-reset.php:72
1237
- #: ui/admin/settings-reset.php:85 ui/admin/settings-reset.php:97
1238
- msgid "<strong>Please Note:</strong> This does not remove any items from any Post Types, Taxonomies, Media, Users, or Comments data you have added/modified."
1239
- msgstr "<strong>N.B.:</strong> Cela ne supprime aucunes données d'un post, d'un média, d'un utilisateurs, d'un commentaires ou d'une taxonomie que vous avez ajouté ou modifié."
1240
-
1241
- #: classes/PodsUI.php:2926
1242
- msgid "Remove Filter"
1243
- msgstr "Supprimer le Filtre"
1244
-
1245
- #: ui/admin/settings-reset.php:63
1246
- msgid ""
1247
- "Are you sure you want to do this?\n"
1248
- "\n"
1249
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 2.x, resetting it to a clean first install."
1250
- msgstr ""
1251
- "Êtes-vous sur de vous ?\n"
1252
- "\n"
1253
- "C'est l'occasion de vérifier que vous avez réalisé une sauvegarde. Nous allons supprimer toutes les données en rapport avec 2.x, comme si c'était une installation de base."
1254
-
1255
- #: classes/PodsUI.php:3037 classes/PodsUI.php:3069 classes/PodsUI.php:3104
1256
- #: classes/PodsUI.php:3129
1257
- msgid "Clear"
1258
- msgstr "Vider"
1259
-
1260
- #: ui/admin/settings-reset.php:64
1261
- msgid "Reset Pods 2.x settings and data"
1262
- msgstr "Réinitialiser les réglages et données Pods 2.x "
1263
-
1264
- #: classes/PodsUI.php:3148
1265
- msgid "Search Text"
1266
- msgstr "Texte de Recherche"
1267
-
1268
- #: ui/admin/settings-reset.php:69 ui/admin/settings-reset.php:76
1269
- msgid "Deactivate and Delete Pods 2.x data"
1270
- msgstr "Désactiver et supprimer les données de Pods 2.x"
1271
-
1272
- #: classes/PodsUI.php:3208
1273
- msgid "No %s found"
1274
- msgstr "Aucun %s trouvé"
1275
-
1276
- #: ui/admin/settings-reset.php:71
1277
- msgid "This will delete Pods 2.x settings, data, and deactivate itself once done. Your database will be as if Pods 2.x never existed."
1278
- msgstr "Cela supprimera tous les réglages de Pods 2.x, les données et désactivera l'extension une fois terminé. Votre base de donnée sera dans le même état que si Pods 2.x n'avait jamais existé."
1279
 
1280
- #: classes/PodsUI.php:3236
1281
- msgid "<strong>Error:</strong> Invalid Configuration - Missing \"fields\" definition."
1282
- msgstr "<strong>Erreur:</strong> Configuration invalide - La définition des \"champs\" est manquante."
1283
 
1284
- #: ui/admin/settings-reset.php:75
1285
- msgid ""
1286
- "Are you sure you want to do this?\n"
1287
- "\n"
1288
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds 2.x with no turning back."
1289
- msgstr ""
1290
- "Êtes-vous sur de vous ?\n"
1291
- "\n"
1292
- "C'est l'occasion de vérifier que vous avez réalisé une sauvegarde. Nous allons supprimer toutes les données en rapport avec 2.x, sans possibilité de revenir en arrière."
1293
 
1294
- #: classes/PodsUI.php:3500 classes/PodsUI.php:3519
1295
- msgid "View this item"
1296
- msgstr "Voir cet item"
1297
 
1298
- #: ui/admin/settings-reset.php:82
1299
- msgid "Reset Pods"
1300
- msgstr "Réinitialiser Pods"
1301
 
1302
- #: classes/PodsUI.php:3491 classes/PodsUI.php:3528
1303
- msgid "Edit this item"
1304
- msgstr "Editer cet item"
1305
 
1306
- #: ui/admin/settings-reset.php:84
1307
- msgid "This will reset Pods settings, removes all of it's data, and performs a fresh install."
1308
- msgstr "Ceci réinitialisera les Réglages de Pods et supprimera également l'intégralité des données saisies."
1309
 
1310
- #: classes/PodsUI.php:3537
1311
- msgid "Duplicate this item"
1312
- msgstr "Dupliquer cet item"
1313
 
1314
- #: ui/admin/settings-reset.php:88
1315
- msgid ""
1316
- "Are you sure you want to do this?\n"
1317
- "\n"
1318
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds Pods, resetting it to a clean, first install."
 
1319
  msgstr ""
1320
- "&Eacute;tes vours sûr de vouloir réinitialiser Pods et toutes les données saisies ?\n"
1321
- "\n"
1322
- "Prenez le temps de faire une sauvegardes au cas où. Cette opération supprimera toutes les données que Pods à pu insérer dans votre base de donnée."
1323
 
1324
- #: classes/PodsUI.php:3546
1325
- msgid "Delete this item"
1326
- msgstr "Supprimer cet item"
1327
 
1328
- #: ui/admin/settings-reset.php:89
1329
- msgid "Reset Pods settings and data"
1330
- msgstr "Réinitialiser les réglages de Pods et les données"
1331
 
1332
- #: classes/PodsUI.php:3546
1333
- msgid "You are about to permanently delete this item\\n Choose \\'Cancel\\' to stop, \\'OK\\' to delete."
1334
- msgstr "Vous allez supprimer définitivement cet item\\nCliqueé \\'Annuler\\' pour arrêter, \\'OK\\' to supprimer."
1335
 
1336
- #: ui/admin/settings-reset.php:94 ui/admin/settings-reset.php:101
1337
- msgid "Deactivate and Delete Pods data"
1338
- msgstr "Désactiver Pods et Supprimer les données"
1339
 
1340
- #: classes/PodsUI.php:3556
1341
- msgid "Enable"
1342
- msgstr "Activer"
1343
 
1344
- #: ui/admin/settings-reset.php:96
1345
- msgid "This will delete Pods settings, data, and deactivate itself once done. Your database will be as if Pods never existed."
1346
- msgstr "Ceci supprimera les réglages de Pods, les données et le plugin se déactivera seul une fois terminé. Il ne restera plus aucune trace de Pods dans votre base de donnée."
1347
 
1348
- #: classes/PodsUI.php:3557
1349
- msgid "Disable"
1350
- msgstr "Désactiver"
1351
 
1352
- #: ui/admin/settings-reset.php:100
1353
- msgid ""
1354
- "Are you sure you want to do this?\n"
1355
- "\n"
1356
- "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds with no turning back."
 
1357
  msgstr ""
1358
- "Êtes-vous sur de vous ?\n"
1359
- "\n"
1360
- "C'est l'occasion de vérifier que vous avez réalisé une sauvegarde. Nous allons supprimer toutes les données sans possibilité de revenir en arrière."
1361
 
1362
- #: classes/PodsUI.php:3726 classes/PodsUI.php:3744
 
 
 
 
1363
  msgid "Show on screen"
1364
  msgstr "Afficher à l'écran"
1365
 
1366
- #: ui/admin/settings-settings.php:1
1367
- msgid "The following are settings provided for advanced site configurations."
1368
- msgstr "Les éléments suivants sont les paramètres fournis pour la configuration avancée des sites."
1369
 
1370
- #: ui/admin/settings-tools.php:21
1371
- msgid "Force an update of this beta from GitHub"
1372
- msgstr "Forcer la mise à jour de cette beta depuis Github"
1373
 
1374
- #: classes/PodsUI.php:3857
1375
  msgid "Go to the first page"
1376
  msgstr "Première page"
1377
 
1378
- #: ui/admin/settings-tools.php:23
1379
- msgid "This tool lets you update your Pods installation to the latest alpha/beta/release candidate, usually only when you've been instructed to do so."
1380
- msgstr "Cet outil vous permet de mettre à jour votre version alpha/beta de Pod, généralement seulement quand cela vous a été recommandé."
 
 
 
 
1381
 
1382
- #: classes/PodsUI.php:3858
1383
  msgid "Go to the previous page"
1384
  msgstr "Page précédente"
1385
 
1386
- #: ui/admin/settings-tools.php:33
1387
- msgid "Force Plugin Refresh/Update from GitHub"
1388
- msgstr "Forcer la mise à jour du plugin depuis Github"
 
1389
 
1390
- #: classes/PodsUI.php:3862
 
 
 
 
1391
  msgid "Current page"
1392
  msgstr "Page courante"
1393
 
1394
- #: ui/admin/settings-tools.php:40 ui/admin/settings-tools.php:45
1395
- msgid "Clear Pods Cache"
1396
- msgstr "Vider le Cache de Pods"
 
 
 
 
 
 
1397
 
1398
- #: classes/PodsUI.php:3862 classes/PodsUI.php:3879
1399
  msgid "of"
1400
  msgstr "de"
1401
 
1402
- #: ui/admin/settings-tools.php:42
1403
- msgid "This tool will clear all of the transients/cache that are used by Pods. "
1404
- msgstr "Cet outils videra tous les clés transients/cache utilisées par Pods."
 
 
 
 
 
 
 
 
 
 
 
1405
 
1406
  #: classes/PodsUI.php:3883
1407
  msgid "Go to the next page"
1408
  msgstr "Page suivante"
1409
 
1410
- #: ui/admin/settings-tools.php:50
1411
- msgid "Debug Information"
1412
- msgstr "Information de débuggage"
 
 
 
 
1413
 
1414
  #: classes/PodsUI.php:3884
1415
  msgid "Go to the last page"
1416
  msgstr "Dernière page"
1417
 
1418
- #: classes/PodsAdmin.php:1956 ui/admin/settings.php:11
1419
- msgid "Tools"
1420
- msgstr "Outils"
 
 
 
 
1421
 
1422
  #: classes/fields/avatar.php:66
1423
  msgid "Avatar Uploader"
1424
  msgstr "Uploader d'avatar"
1425
 
1426
- #: ui/admin/settings.php:12
1427
- msgid "Cleanup &amp; Reset"
1428
- msgstr "Effacer et remise à zéro"
 
 
 
 
1429
 
1430
  #: classes/fields/avatar.php:72 classes/fields/file.php:93
1431
  msgid "Attachments (WP Media Library)"
1432
  msgstr "Pièces jointes (Bilbliothèque de Media WP)"
1433
 
1434
- #: ui/admin/setup-add.php:16
1435
- msgid "Add New Pod"
1436
- msgstr "Ajouter un nouveau Pod"
 
 
 
 
1437
 
1438
  #: classes/fields/avatar.php:73 classes/fields/file.php:94
1439
  msgid "Plupload"
1440
  msgstr "Plupload"
1441
 
1442
- #: ui/admin/setup-add.php:35
1443
- msgid "Create or Extend"
1444
- msgstr "Créer ou étendre"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1445
 
1446
- #: classes/fields/avatar.php:79 classes/fields/file.php:100
1447
- msgid "Attachments Default Tab"
1448
- msgstr "Onglet des p"
1449
 
1450
- #: ui/admin/setup-add.php:39
1451
- msgid "Configure"
1452
- msgstr "Configurer"
1453
 
1454
- #: classes/fields/avatar.php:85 classes/fields/avatar.php:120
1455
- #: classes/fields/file.php:106 classes/fields/file.php:195
1456
- msgid "Upload File"
1457
- msgstr "Uploader le fichier"
 
1458
 
1459
- #: classes/fields/avatar.php:86 classes/fields/avatar.php:121
1460
- #: classes/fields/file.php:107 classes/fields/file.php:196
1461
- msgid "Media Library"
1462
- msgstr "Bibliothèque de média"
1463
 
1464
- #: classes/fields/avatar.php:90 classes/fields/file.php:127
1465
- msgid "Restrict File Size"
1466
- msgstr "Restreindre la taille du fichier"
 
1467
 
1468
- #: ui/admin/setup-add.php:57
1469
- msgid "Create New"
1470
- msgstr "Créer un nouveau"
 
 
 
 
1471
 
1472
  #: classes/fields/boolean.php:56
1473
  msgid "Checkbox"
1474
  msgstr "Case à cocher"
1475
 
1476
- #: ui/admin/setup-add.php:66
1477
- msgid "Extend Existing"
1478
- msgstr "Étendre un Pod existant"
 
 
 
 
1479
 
1480
- #: classes/fields/boolean.php:57 classes/fields/pick.php:121
1481
  msgid "Radio Buttons"
1482
  msgstr "Boutons radio"
1483
 
1484
- #: ui/admin/setup-add.php:68
1485
- msgid "Extend any existing content type within WordPress, including <strong>Post Types</strong> (Posts, Pages, etc), <strong>Taxonomies</strong> (Categories, Tags, etc), <strong>Media</strong>, <strong>Users</strong>, or <strong>Comments</strong>."
1486
- msgstr "Etendre un type de contenu existant dans Wordpress à savoir : <strong>Posts</strong> (Posts, Pages, etc), <strong> Taxonomies</strong> (Categories, Tags, etc), <strong>Media</strong>, <strong>Utilisateurs</strong>, ou les <strong>Commentaires</strong>."
 
 
 
 
1487
 
1488
- #: classes/fields/boolean.php:58 classes/fields/pick.php:120
1489
  msgid "Drop Down"
1490
  msgstr "Liste déroulante"
1491
 
 
 
 
 
 
 
 
 
 
 
1492
  #: classes/fields/boolean.php:63
1493
  msgid "Yes Label"
1494
  msgstr "Libellé du Oui"
1495
 
1496
- #: ui/admin/setup-add.php:81
1497
- msgid "Create a New Content Type"
1498
- msgstr "Créer un Nouveau Type de Contenu"
1499
-
1500
- #: classes/PodsUI.php:2561 classes/PodsUI.php:2909 classes/PodsUI.php:3094
1501
- #: classes/fields/boolean.php:64 classes/fields/boolean.php:243
1502
- #: classes/fields/boolean.php:267
1503
- msgid "Yes"
1504
- msgstr "Oui"
1505
 
1506
- #: ui/admin/setup-add.php:86 ui/admin/setup-add.php:226
1507
- msgid "Content Type"
1508
- msgstr "Type de contenu"
 
1509
 
1510
  #: classes/fields/boolean.php:68
1511
  msgid "No Label"
1512
  msgstr "Libellé du Non"
1513
 
1514
- #: ui/admin/setup-add.php:86 ui/admin/setup-add.php:226
1515
- msgid "<h6>Content Types</h6> There are many content types to choose from, we have put together a comparison between them all to help you decide what fits your needs best."
1516
- msgstr "<h6>Types de contenu</h6> Il y a de nombreux types de contenu parmi lesquels choisir. Nous avons établi une comparaison entre ces différents types pour vous aider à déterminer ceux correspondants à vos besoins."
1517
 
1518
- #: classes/PodsUI.php:2562 classes/PodsUI.php:2910 classes/PodsUI.php:3095
1519
- #: classes/fields/boolean.php:69 classes/fields/boolean.php:245
1520
- #: classes/fields/boolean.php:268
1521
- msgid "No"
1522
- msgstr "Non"
 
1523
 
1524
- #: ui/admin/setup-add.php:89
1525
- msgid "Custom Post Type (like Posts or Pages)"
1526
- msgstr "Type personnalisé (semblable aux Posts ou aux pages Wordpress)"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1527
 
1528
  #: classes/fields/code.php:68 classes/fields/html.php:58
1529
  #: classes/fields/paragraph.php:67 classes/fields/text.php:67
@@ -1531,9 +1218,13 @@ msgstr "Type personnalisé (semblable aux Posts ou aux pages Wordpress)"
1531
  msgid "Output Options"
1532
  msgstr "Options de sortie"
1533
 
1534
- #: ui/admin/setup-add.php:90
1535
- msgid "Custom Taxonomy (like Categories or Tags)"
1536
- msgstr "Taxonomie personnalisée (semblable aux catégories ou aux tags Wordpress)"
 
 
 
 
1537
 
1538
  #: classes/fields/code.php:71 classes/fields/html.php:103
1539
  #: classes/fields/paragraph.php:112 classes/fields/text.php:70
@@ -1541,9 +1232,16 @@ msgstr "Taxonomie personnalisée (semblable aux catégories ou aux tags Wordpres
1541
  msgid "Allow Shortcodes?"
1542
  msgstr "Autoriser les shortcodes"
1543
 
1544
- #: components/Advanced-Content-Types.php:40
1545
- msgid "Advanced Content Type (separate from WP, blank slate, in its own table)"
1546
- msgstr "Type de contenu avancé (séparé de Wordpress, stocké dans sa propre table)"
 
 
 
 
 
 
 
1547
 
1548
  #: classes/fields/code.php:79 classes/fields/currency.php:185
1549
  #: classes/fields/email.php:67 classes/fields/number.php:113
@@ -1553,438 +1251,425 @@ msgstr "Type de contenu avancé (séparé de Wordpress, stocké dans sa propre t
1553
  msgid "Maximum Length"
1554
  msgstr "Longueur maximale"
1555
 
1556
- #: ui/admin/setup-add.php:109 ui/admin/setup-add.php:305
1557
- msgid "Enable Extra Fields?"
1558
- msgstr "Autoriser les champs supplémentaires ?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1559
 
1560
- #: classes/fields/color.php:161 classes/fields/password.php:152
1561
  #: classes/fields/text.php:204
1562
  msgid "This field is required."
1563
  msgstr "Ce champ est requis"
1564
 
1565
- #: ui/admin/setup-add.php:109 ui/admin/setup-add.php:305
1566
- msgid "<h6>Storage Types</h6> Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table."
1567
- msgstr "<h6>Types de stockage</h6> La Taxonomie ne supporte pas nativement les champs supplémentaires, mais Pods peut ajouter cette fonctionnalité facilement. Le stockage dans la base de donnée fonctionnera de façon à ce que chaque champ créé pour vos contenus deviendra un champ dans une table."
 
 
 
 
1568
 
1569
- #: classes/fields/color.php:164
1570
  msgid "Invalid value provided for this field."
1571
  msgstr "Valeur invalide pour ce champ"
1572
 
1573
- #: ui/admin/setup-add.php:112 ui/admin/setup-add.php:308
1574
- msgid "Do not enable extra fields to be added"
1575
- msgstr "Ne pas autoriser l'ajout de champs supplémentaires"
 
 
 
 
1576
 
1577
- #: classes/fields/color.php:168
1578
  msgid "Invalid Hex Color value provided for this field."
1579
  msgstr "Valeur hexadécimale incorrecte pour ce champ."
1580
 
1581
- #: ui/admin/setup-add.php:113 ui/admin/setup-add.php:309
1582
- msgid "Enable extra fields for this Taxonomy (Table Based)"
1583
- msgstr "Autoriser les champs supplémentaires pour cette taxonomie (basé sur une table)"
1584
-
1585
- #: classes/fields/currency.php:110
1586
- msgid "Currency Sign"
1587
- msgstr "Sigle monétaire"
1588
-
1589
- #: ui/admin/setup-add.php:132
1590
- msgid "Plural Label"
1591
- msgstr "Nom pluriel"
1592
-
1593
- #: classes/fields/currency.php:137
1594
- msgid "Currency Placement"
1595
- msgstr "Position du symbole monétaire"
1596
-
1597
- #: ui/admin/setup-add.php:132
1598
- msgid "<h6>Plural Label</h6> This is the label for more than 1 item (Plural) that will appear throughout the WordPress admin area for managing the content."
1599
- msgstr "<h6>Nom au pluriel</h6> Ce texte est utilisé pour désigner plusieurs item. Il apparaît dans l'interface d'administration de WordPress pour la gestion du contenu."
1600
-
1601
- #: ui/admin/setup-add.php:126 ui/admin/setup-edit.php:334
1602
- msgid "Singular Label"
1603
- msgstr "Nom singulier"
1604
-
1605
- #: ui/admin/setup-add.php:126
1606
- msgid "<h6>Singular Label</h6> This is the label for 1 item (Singular) that will appear throughout the WordPress admin area for managing the content."
1607
- msgstr "<h6>Nom au singulier</h6> Ce texte est utilisé pour désigner 1 item. Il apparaît dans l'interface d'administration de WordPress pour la gestion du contenu."
1608
-
1609
- #: classes/PodsAdmin.php:1477 classes/PodsAdmin.php:1959
1610
- #: ui/admin/setup-add.php:166 ui/admin/setup-add.php:323
1611
- msgid "Advanced"
1612
- msgstr "Avancé"
1613
-
1614
- #: classes/fields/currency.php:148 classes/fields/number.php:77
1615
- #: classes/fields/phone.php:67 classes/fields/pick.php:112
1616
- #: classes/fields/pick.php:128 classes/fields/website.php:67
1617
- msgid "Format"
1618
- msgstr "Format"
1619
-
1620
- #: ui/admin/setup-add.php:177 ui/admin/setup-add.php:188
1621
- msgid "<h6>Pod Indentifier</h6> This is different than the labels users will see in the WordPress admin areas, it is the name you will use to programatically reference this object throughout your theme, WordPress, and other PHP."
1622
- msgstr ""
1623
 
1624
- #: classes/fields/currency.php:152 classes/fields/number.php:81
1625
- msgid "Localized Default"
1626
- msgstr "Defaut localisé"
1627
 
1628
- #: ui/admin/setup-add.php:198 ui/admin/setup-add.php:328
1629
- msgid "<h6>Storage Types</h6> Table based storage will operate in a way where each field you create for your content type becomes a field in a table. Meta based storage relies upon the WordPress meta storage table for all field data."
1630
- msgstr ""
1631
 
1632
- #: classes/fields/currency.php:162 classes/fields/number.php:90
1633
- msgid "Decimals"
1634
- msgstr "Décimales"
1635
 
1636
- #: ui/admin/setup-add.php:201 ui/admin/setup-add.php:331
1637
- msgid "Meta Based (WP Default)"
1638
- msgstr "basé sur les meta (par défault pour Wordpress)"
1639
 
1640
- #: classes/fields/currency.php:503 classes/fields/number.php:350
1641
- msgid "%s is not numeric"
1642
- msgstr "%s n'est pas une valeur numérique"
1643
 
1644
- #: ui/admin/setup-add.php:202 ui/admin/setup-add.php:332
1645
- msgid "Table Based"
1646
- msgstr "Basé sur une table"
1647
 
1648
- #: classes/fields/date.php:67 classes/fields/datetime.php:67
1649
- msgid "Date Format"
1650
- msgstr "Format des dates"
1651
 
1652
- #: ui/admin/setup-add.php:217
1653
- msgid "Extending an existing Content Type allows you to add fields to it and take advantage of the Pods architecture for management and optionally for theming."
1654
- msgstr "Etendre un type de contenu existant permet de lui ajouter des champs et de bénéficier de l'architecture de Pods pour la gestion de ce type ainsi que pour les thèmes."
1655
 
1656
- #: classes/fields/date.php:83 classes/fields/datetime.php:124
1657
- #: classes/fields/time.php:104
1658
- msgid "Allow empty value?"
1659
- msgstr "Autoriser les valeurs vides"
1660
 
1661
- #: ui/admin/setup-add.php:220
1662
- msgid "Extend an Existing Content Type"
1663
- msgstr "&Eacute;tendre un Typde de Contenu existant"
1664
 
1665
- #: classes/fields/date.php:88 classes/fields/datetime.php:129
1666
- #: classes/fields/email.php:73 classes/fields/phone.php:98
1667
- #: classes/fields/time.php:109 classes/fields/website.php:86
1668
- msgid "Enable HTML5 Input Field?"
1669
- msgstr "Autoriser les champs de saisie HTML 5 ?"
1670
 
1671
- #: ui/admin/setup-add.php:229
1672
- msgid "Post Types (Posts, Pages, etc..)"
1673
- msgstr "Type de post (Post, Pages, etc.)"
1674
 
1675
- #: classes/fields/datetime.php:84 classes/fields/time.php:66
1676
- msgid "Time Format Type"
1677
- msgstr "Type de format de date"
1678
 
1679
- #: components/Table-Storage.php:47
1680
- msgid "Taxonomies (Categories, Tags, etc..)"
1681
- msgstr "Taxonomies (Categories, Tags, etc..)"
1682
 
1683
- #: classes/fields/datetime.php:89 classes/fields/time.php:70
1684
- msgid "12 hour"
1685
- msgstr "12 heures"
1686
 
1687
- #: classes/fields/pick.php:444 ui/admin/setup-add.php:231
1688
- msgid "Media"
1689
- msgstr "Média"
1690
 
1691
- #: classes/fields/datetime.php:90 classes/fields/time.php:71
1692
- msgid "24 hour"
1693
- msgstr "24 heures"
1694
 
1695
- #: classes/fields/pick.php:450 ui/admin/setup-add.php:233
1696
- #: ui/admin/setup-edit.php:483
1697
- msgid "Comments"
1698
- msgstr "Commentaires"
1699
 
1700
- #: classes/fields/datetime.php:95 classes/fields/datetime.php:114
1701
- #: classes/fields/time.php:76 classes/fields/time.php:94
1702
- msgid "Time Format"
1703
- msgstr "Format de date"
1704
 
1705
- #: ui/admin/setup-add.php:272 ui/admin/setup-edit.php:856
1706
- msgid "Post Type"
1707
- msgstr "De type Post"
1708
 
1709
- #: ui/admin/setup-add.php:272
1710
- msgid "<h6>Post Types</h6> WordPress can hold and display many different types of content. Internally, these are all stored in the same place, in the wp_posts table. These are differentiated by a column called post_type."
1711
- msgstr "<h6>Post Types</h6> WordPress peut gérer et afficher beaucoup de types de contenus différents. En interne ils sont tous stockés au même endroits dans la table wp_posts. Les types de contenus se distinguent par la colonne post_type de cette table."
1712
 
1713
- #: ui/admin/setup-add.php:295 ui/admin/setup-edit.php:857
1714
- msgid "Taxonomy"
1715
- msgstr "Taxonomies"
1716
 
1717
- #: classes/fields/pick.php:106
1718
- msgid "Single Select"
1719
- msgstr "Sélection simple"
1720
 
1721
- #: ui/admin/setup-add.php:295
1722
- msgid "<h6>Taxonomies</h6> A taxonomy is a way to group Post Types."
1723
- msgstr "<h6>Taxonomies</h6> Une taxonomie est une façon de grouper des Post Types."
 
1724
 
1725
- #: classes/fields/pick.php:107
1726
- msgid "Multiple Select"
1727
- msgstr "Sélection multiple"
1728
 
1729
- #: ui/admin/setup-edit-field-fluid.php:8 ui/admin/setup-edit-field.php:48
1730
- msgid "Move"
1731
- msgstr "Déplacer"
 
 
1732
 
1733
- #: classes/fields/file.php:87
1734
- msgid "File Uploader"
1735
- msgstr "Upload de fichier"
1736
 
1737
- #: ui/admin/setup-edit-field-fluid.php:11
1738
- #: ui/admin/setup-edit-field-fluid.php:17 ui/admin/setup-edit-field.php:51
1739
- #: ui/admin/setup-edit-field.php:67
1740
- msgid "Edit this field"
1741
- msgstr "Editer ce champ"
1742
 
1743
- #: classes/fields/file.php:111
1744
- msgid "Editable Title"
1745
- msgstr "Titre éditable"
1746
 
1747
- #: ui/admin/setup-edit-field-fluid.php:12
1748
- msgid "New Field"
1749
- msgstr "Nouveau champ"
1750
 
1751
- #: ui/admin/setup-edit-field-fluid.php:20 ui/admin/setup-edit-field.php:70
1752
- msgid "Duplicate this field"
1753
- msgstr "Dupliquer ce Champ"
1754
 
1755
- #: classes/fields/file.php:133
1756
- msgid "Restrict File Types"
1757
- msgstr "Restreindre le type de fichier"
1758
 
1759
- #: ui/admin/setup-edit-field-fluid.php:23 ui/admin/setup-edit-field.php:73
1760
- msgid "Delete this field"
1761
- msgstr "Supprimer ce champ"
1762
 
1763
- #: classes/PodsAdmin.php:1475
1764
- msgid "Basic"
1765
- msgstr "Basique"
 
 
1766
 
1767
- #: classes/PodsAdmin.php:1476
1768
- msgid "Additional Field Options"
1769
- msgstr "Options de champs complémentaires"
1770
 
1771
- #: classes/fields/file.php:143
1772
- msgid "Any Type (no restriction)"
1773
- msgstr "Tous les types (pas de restriction)"
1774
 
 
 
1775
  #: ui/admin/setup-edit-field-fluid.php:66
1776
- msgid "You will use this name to programatically reference this field throughout WordPress"
1777
- msgstr "Vous utiliserez ce nom dans votre code partout dans Wordpress"
1778
-
1779
- #: classes/fields/file.php:144
1780
- msgid "Other (customize allowed extensions)"
1781
- msgstr "Autres (personnaliser les extensions autorisées)"
1782
 
1783
- #: ui/admin/setup-edit-field-fluid.php:74
1784
- msgid "Field Type"
1785
- msgstr "Type de champ"
1786
 
1787
- #: classes/fields/file.php:150
1788
- msgid "Allowed File Extensions"
1789
- msgstr "Extensions de fichier autorisées"
1790
 
1791
- #: ui/admin/setup-edit-field-fluid.php:79
1792
- msgid "Related To"
1793
- msgstr "Lié à"
1794
 
1795
- #: classes/fields/file.php:151
1796
- msgid "Separate file extensions with a comma (ex. jpg,png,mp4,mov)"
1797
- msgstr "Séparez les extensions de fichiers avec une virgule"
1798
 
1799
- #: ui/admin/setup-edit-field-fluid.php:83
1800
- msgid "Custom Defined Options"
1801
- msgstr "Options personnalisées"
1802
 
1803
- #: classes/fields/html.php:61 classes/fields/paragraph.php:70
1804
- #: classes/fields/text.php:76
1805
- msgid "Allow HTML?"
1806
- msgstr "Autoriser le code HTML ?"
1807
 
1808
- #: ui/admin/setup-edit-field-fluid.php:83
1809
- msgid "One option per line, use <em>value|Label</em> for separate values and labels"
1810
- msgstr "Une option par ligne, utilisez <em>valeur|intitulé</em> pour séparer la valeur et son intitulé"
1811
 
1812
- #: classes/fields/html.php:67 classes/fields/paragraph.php:76
1813
- #: classes/fields/wysiwyg.php:94
1814
- msgid "Enable oEmbed?"
1815
- msgstr "Aciver oEmbed ?"
1816
 
1817
- #: ui/admin/setup-edit-field-fluid.php:91
1818
- msgid "Bi-directional Field"
1819
- msgstr "Champ bi-directionnel"
1820
 
1821
- #: classes/fields/html.php:71 classes/fields/paragraph.php:80
1822
- #: classes/fields/wysiwyg.php:98
1823
- msgid "Embed videos, images, tweets, and other content."
1824
- msgstr "inclusion de vidéos, images, tweets et autre contenu."
1825
 
1826
- #: ui/admin/setup-edit-field-fluid.php:91
1827
- msgid "Bi-directional fields will update their related field for any item you select. This feature is only available for two relationships between two Pods.<br /><br />For example, when you update a Parent pod item to relate to a Child item, when you go to edit that Child item you will see the Parent pod item selected."
1828
- msgstr "Les champs bi-directionnels mettent à jour leur champ lié pour n'importe quel item sélectionné. Cette fonctionnalité n'est disponible que pour les relations entre deux Pods.<br/>Par exemple quand vous créer une relation entre un Pod parent et un pod enfant, en éditant ce Pod enfant vous verrrez le Pod parent sélectionné."
1829
 
1830
- #: classes/fields/html.php:76 classes/fields/paragraph.php:85
1831
- #: classes/fields/wysiwyg.php:103
1832
- msgid "Enable wptexturize?"
1833
- msgstr "Activer wptexturize? ?"
1834
 
1835
- #: ui/admin/setup-edit-field-fluid.php:100
1836
- msgid "Options"
1837
- msgstr "Options"
 
1838
 
1839
- #: classes/fields/html.php:80 classes/fields/paragraph.php:89
1840
- #: classes/fields/wysiwyg.php:107
1841
- msgid "Transforms less-beautfiul text characters into stylized equivalents."
1842
- msgstr "Transformer les moins beaux caractères en leur équivalent stylisés."
1843
 
1844
- #: ui/admin/setup-edit-field-fluid.php:106
1845
- msgid "Required"
1846
- msgstr "Requis"
 
 
1847
 
1848
- #: classes/fields/html.php:85 classes/fields/paragraph.php:94
1849
- #: classes/fields/wysiwyg.php:112
1850
- msgid "Enable convert_chars?"
1851
- msgstr "Autoriser convert_chars ?"
1852
 
1853
- #: ui/admin/setup-edit-field-fluid.php:112
1854
- msgid "Unique"
1855
- msgstr "Unique"
 
 
1856
 
1857
- #: classes/fields/html.php:89 classes/fields/paragraph.php:98
1858
- #: classes/fields/wysiwyg.php:116
1859
- msgid "Converts text into valid XHTML and Unicode"
1860
- msgstr "Convertir le texte vers du XHTML valide et Unicode"
1861
 
1862
- #: classes/fields/html.php:94 classes/fields/paragraph.php:103
1863
- #: classes/fields/wysiwyg.php:121
1864
- msgid "Enable wpautop?"
1865
- msgstr "Activier wpautop ?"
1866
 
1867
- #: ui/admin/setup-edit-field-fluid.php:187
1868
- msgid "Delete Field"
1869
- msgstr "Supprimer le champ"
1870
 
1871
- #: classes/fields/paragraph.php:107 classes/fields/wysiwyg.php:125
1872
- msgid "Changes double line-breaks in the text into HTML paragraphs"
1873
- msgstr "Transformaer les doubles retour chariots en paragraphe HTML"
1874
 
1875
- #: ui/admin/setup-edit-field-fluid.php:190
1876
- msgid "Update Field"
1877
- msgstr "Mettre à jour le champ"
1878
 
1879
- #: classes/fields/html.php:108 classes/fields/paragraph.php:117
1880
- #: classes/fields/wysiwyg.php:135
1881
- msgid "Embed [shortcodes] that help transform your static content into dynamic content."
1882
- msgstr "Embarqer les [shotcodes] qui aident à transformer du contenu statique en contenu dynamique."
1883
 
1884
- #: ui/admin/setup-edit-field-fluid.php:190 ui/admin/setup-edit.php:242
1885
- #: ui/admin/setup-edit.php:315
1886
- msgid "Add Field"
1887
- msgstr "Ajouter un champ"
1888
 
1889
- #: classes/fields/paragraph.php:124 classes/fields/text.php:84
1890
- #: classes/fields/wysiwyg.php:142
1891
- msgid "Allowed HTML Tags"
1892
- msgstr "Autorisr les balises HTML"
1893
 
1894
- #: ui/admin/setup-edit.php:50 ui/admin/setup-edit.php:51
1895
- #: ui/admin/setup-edit.php:53
1896
- msgid "Other"
1897
- msgstr "Autre"
1898
 
1899
- #: classes/fields/phone.php:71
1900
- msgid "US"
1901
- msgstr "US"
 
1902
 
1903
- #: classes/PodsAdmin.php:1538
1904
- msgid "Visual"
1905
- msgstr "Visuel"
1906
 
1907
- #: classes/fields/phone.php:76
1908
- msgid "International"
1909
- msgstr "International"
1910
 
1911
- #: classes/PodsAdmin.php:1541
1912
- msgid "Additional CSS Classes"
1913
- msgstr "Classes CSS supplémentaires"
1914
 
1915
- #: classes/fields/phone.php:77
1916
- msgid "Any (no validation available)"
1917
- msgstr "Tous (pas de validation)"
1918
 
1919
- #: classes/PodsAdmin.php:1548
1920
- msgid "Input Helper"
1921
- msgstr "Input Helper"
1922
 
1923
- #: classes/fields/phone.php:82
1924
- msgid "Phone Options"
1925
- msgstr "Options du n° de téléphone"
1926
 
1927
- #: classes/PodsAdmin.php:1555
1928
- msgid "Values"
1929
- msgstr "Valeurs"
 
 
1930
 
1931
- #: classes/fields/phone.php:85
1932
- msgid "Enable Phone Extension?"
1933
- msgstr "Autoriser l'extension du numéro de téléphone ?"
1934
 
1935
- #: classes/PodsAdmin.php:1558
1936
- msgid "Default Value"
1937
- msgstr "Valeur par défault"
1938
 
1939
- #: classes/fields/phone.php:197 classes/fields/website.php:185
1940
- msgid "The %s field is required."
1941
- msgstr "Le champ %s est requis."
1942
 
1943
- #: classes/PodsAdmin.php:1565
1944
- msgid "Set Default Value via Parameter"
1945
- msgstr "Définir la valeur par défaut via Paramétrage"
1946
 
1947
- #: classes/fields/phone.php:199
1948
- msgid "Invalid phone number provided for the field %s."
1949
- msgstr "Le numéro de téléphone fournit pour le champ %s est invalide."
1950
 
1951
- #: classes/PodsAdmin.php:1571
1952
- msgid "Visibility"
1953
- msgstr "Visibilité"
1954
 
1955
- #: classes/fields/pick.php:101
1956
- msgid "Selection Type"
1957
- msgstr "Type de sélection"
1958
 
1959
- #: ui/admin/setup-edit.php:113
1960
- msgid "No Related Fields Found"
1961
- msgstr "Aucuns champs liés n'ont été trouvés."
 
 
 
 
1962
 
1963
- #: classes/PodsAdmin.php:965 classes/PodsAdmin.php:972
1964
- #: classes/PodsAdmin.php:980 classes/PodsAdmin.php:986
1965
- #: classes/PodsAdmin.php:993 classes/PodsAdmin.php:1007
1966
- #: classes/PodsAdmin.php:1014 classes/PodsAdmin.php:1024
1967
- #: classes/PodsAdmin.php:1031 classes/PodsAdmin.php:1038
1968
- #: classes/PodsAdmin.php:1057 classes/PodsAdmin.php:1094
1969
- #: classes/PodsAdmin.php:1101 classes/PodsAdmin.php:1131
1970
- #: classes/PodsAdmin.php:1139 classes/PodsAdmin.php:1154
1971
- #: classes/PodsAdmin.php:1161 classes/PodsAdmin.php:1172
1972
- #: classes/PodsAdmin.php:1180 classes/PodsAdmin.php:1187
1973
- #: classes/PodsAdmin.php:1203 classes/PodsAdmin.php:1209
1974
- #: classes/PodsAdmin.php:1216 classes/PodsAdmin.php:1223
1975
- #: classes/PodsAdmin.php:1230 classes/PodsAdmin.php:1275
1976
- #: classes/PodsAdmin.php:1287 classes/PodsAdmin.php:1300
1977
- #: classes/PodsAdmin.php:1306 classes/PodsAdmin.php:1313
1978
- #: classes/PodsAdmin.php:1329 classes/PodsAdmin.php:1340
1979
- #: classes/PodsAdmin.php:1348 classes/PodsAdmin.php:1354
1980
- #: classes/PodsAdmin.php:1376 classes/PodsAdmin.php:1399
1981
- #: classes/PodsAdmin.php:1407 classes/PodsAdmin.php:1542
1982
- #: classes/PodsAdmin.php:1549 classes/PodsAdmin.php:1559
1983
- #: classes/PodsAdmin.php:1566 classes/PodsAdmin.php:1635
1984
- #: classes/fields/pick.php:102 classes/fields/pick.php:113
1985
- #: classes/fields/pick.php:129 classes/fields/pick.php:169
1986
- #: classes/fields/pick.php:209 classes/fields/pick.php:227
1987
- #: classes/fields/pick.php:239 classes/fields/pick.php:251
1988
  #: ui/admin/setup-edit-field-fluid.php:62
1989
  #: ui/admin/setup-edit-field-fluid.php:70
1990
  #: ui/admin/setup-edit-field-fluid.php:74
@@ -2014,1676 +1699,2045 @@ msgstr "Aucuns champs liés n'ont été trouvés."
2014
  msgid "help"
2015
  msgstr "aide"
2016
 
2017
- #: ui/admin/setup-edit.php:260 ui/admin/setup-edit.php:276
2018
- msgid "<h6>Label</h6>The label is the descriptive name to identify the Pod field."
2019
- msgstr "<h6>Libellé</h6>Le libellé est le texte descriptif permettant d'identifier le champ."
2020
-
2021
- #: classes/fields/pick.php:122 classes/fields/pick.php:138
2022
- msgid "Autocomplete"
2023
- msgstr "Auto complétion"
2024
-
2025
- #: ui/admin/setup-edit.php:263 ui/admin/setup-edit.php:279
2026
- msgid "<h6>Name</h6>The name attribute is what is used to identify and access the Pod field programatically."
2027
- msgstr "<h6>Nom</h6>Le nom est le texte utilisé pour identifier et accéder au champ depuis le code."
2028
-
2029
- #: classes/fields/pick.php:123 classes/fields/pick.php:139
2030
- msgid "Flexible"
2031
- msgstr "Flexible"
2032
-
2033
- #: ui/admin/setup-edit.php:266 ui/admin/setup-edit.php:282
2034
- msgid "<h6>Field Types</h6>Field types are used to determine what kind of data will be stored in the Pod. They can range from, dates, text, files, etc."
2035
- msgstr "<h6>Types de champ</h6>Les types de champs permettent de définir quel type de données esront stockées dans le Pod. Il peut s'agir de dates, textes, fichiers etc."
2036
-
2037
- #: classes/fields/pick.php:136
2038
- msgid "Checkboxes"
2039
- msgstr "Cases à cocher"
2040
-
2041
- #: ui/admin/setup-edit.php:342
2042
- msgid "Add New <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2043
- msgstr "Ajouter un nouvel <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2044
-
2045
- #: classes/fields/pick.php:137
2046
- msgid "Multi Select"
2047
- msgstr "Selection multiple"
2048
-
2049
- #: ui/admin/setup-edit.php:346
2050
- msgid "New <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2051
- msgstr "Nouvel <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2052
-
2053
- #: classes/fields/pick.php:168
2054
- msgid "Selection Limit"
2055
- msgstr "Limite de sélection"
2056
-
2057
- #: ui/admin/setup-edit.php:354
2058
- msgid "Edit <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2059
- msgstr "Editer l'<span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2060
 
2061
- #: classes/fields/pick.php:196
2062
- msgid "Display Field in Selection List"
2063
- msgstr "Afficher le Champ dans la liste de sélection"
2064
 
2065
- #: ui/admin/setup-edit.php:358
2066
- msgid "Update <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2067
- msgstr "Mettre à jour l'<span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2068
 
2069
- #: classes/fields/pick.php:197
2070
- msgid "Provide the name of a field on the related object to reference, example: {@post_title}"
2071
- msgstr "Veuillez fournir le nom d'un champ disponible dans l'objet de référence, example: {@post_title}"
2072
 
2073
- #: ui/admin/setup-edit.php:366
2074
- msgid "View <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2075
- msgstr "Voir l'<span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2076
 
2077
- #: classes/fields/pick.php:226
2078
- msgid "Customized <em>WHERE</em>"
2079
- msgstr "<em>WHERE</em> personnalisé"
2080
 
2081
- #: ui/admin/setup-edit.php:370
2082
- msgid "All <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
2083
- msgstr "Tous les <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
2084
 
2085
- #: classes/fields/pick.php:238
2086
- msgid "Customized <em>ORDER BY</em>"
2087
- msgstr "<em>ORDER BY</em> personnalisé"
2088
 
2089
- #: ui/admin/setup-edit.php:374
2090
- msgid "Search <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
2091
- msgstr "Rechercher les <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
 
2092
 
2093
- #: classes/fields/pick.php:250
2094
- msgid "Customized <em>GROUP BY</em>"
2095
- msgstr "<em>GROUP BY</em> personnalisé"
2096
 
2097
- #: ui/admin/setup-edit.php:378
2098
- msgid "Not Found"
2099
- msgstr "Non trouvé"
2100
 
2101
- #: classes/fields/pick.php:1015
2102
- msgid "-- Select One --"
2103
- msgstr "-- Sélectionnez --"
 
2104
 
2105
- #: ui/admin/setup-edit.php:386
2106
- msgid "Not Found in Trash"
2107
- msgstr "nopn trouvé dans la poubelle"
2108
 
2109
- #: classes/fields/website.php:71
2110
- msgid "http://example.com/"
2111
- msgstr "http://example.com/"
2112
 
2113
- #: ui/admin/setup-edit.php:394
2114
- msgid "Popular <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
2115
- msgstr "<span class=\"pods-slugged\" data-sluggable=\"label\">Items</span> populaires"
2116
 
2117
- #: classes/fields/website.php:72
2118
- msgid "http://example.com/ (remove www)"
2119
- msgstr "http://example.com/ (supprimer www)"
2120
 
2121
- #: ui/admin/setup-edit.php:398
2122
- msgid "Separate <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span> with commas"
2123
- msgstr "Séparer <span class=\"pods-slugged-lower\" data-sluggable=\"label\">les items</span> avec des virgules"
2124
 
2125
- #: classes/fields/website.php:73
2126
- msgid "http://www.example.com/ (force www if no sub-domain provided)"
2127
- msgstr "http://www.example.com/ (forcer www si aucun sous-domaine n'est fourni)"
2128
 
2129
- #: ui/admin/setup-edit.php:402
2130
- msgid "Add or remove <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span>"
2131
- msgstr "Ajouter ou supprimer des <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span>"
2132
 
2133
- #: classes/fields/website.php:74
2134
- msgid "example.com"
2135
- msgstr "example.com"
2136
 
2137
- #: ui/admin/setup-edit.php:406
2138
- msgid "Choose from the most used"
2139
- msgstr "Choisir à partir du plus utilisé"
2140
 
2141
- #: classes/fields/website.php:75
2142
- msgid "example.com (force removal of www)"
2143
- msgstr "example.com (forcer la suppression de www)"
2144
 
2145
- #: classes/PodsAdmin.php:958
2146
- msgid "Post Type Description"
2147
- msgstr "Description du type de post"
2148
 
2149
- #: classes/fields/website.php:76
2150
- msgid "www.example.com (force www if no sub-domain provided)"
2151
- msgstr "www.example.com (forcer www si aucun sous-domaine n'est précisé)"
2152
 
2153
- #: classes/PodsAdmin.php:959
2154
- msgid "A short descriptive summary of what the post type is."
2155
- msgstr "Une courte description du type de post."
2156
 
2157
- #: classes/fields/website.php:187
2158
- msgid "Invalid website provided for the field %s."
2159
- msgstr "Le site web fournit pour le champ %s est invalide."
2160
 
2161
- #: classes/PodsAdmin.php:1023 ui/admin/setup-edit.php:574
2162
  msgid "Public"
2163
  msgstr "Publique"
2164
 
2165
- #: classes/fields/wysiwyg.php:67 ui/admin/setup-edit.php:453
2166
- msgid "Editor"
2167
- msgstr "Editeur"
 
 
 
 
2168
 
2169
- #: classes/PodsAdmin.php:1030
2170
  msgid "Publicly Queryable"
2171
  msgstr "Accessible plubliquement"
2172
 
2173
- #: classes/fields/wysiwyg.php:74
2174
- msgid "TinyMCE (WP Default)"
2175
- msgstr "TinyMCE (Editeur Wordpress par défaut)"
 
 
 
 
2176
 
2177
- #: classes/PodsAdmin.php:1037
2178
  msgid "Exclude from Search"
2179
  msgstr "Exclure de la recherche"
2180
 
2181
- #: classes/fields/wysiwyg.php:75
2182
- msgid "CLEditor"
2183
- msgstr "CLEditor"
2184
 
2185
- #: classes/PodsAdmin.php:964 classes/PodsAdmin.php:1171
2186
- msgid "Show Admin UI"
2187
- msgstr "Afficher l'interace"
2188
 
2189
- #: classes/widgets/PodsWidgetForm.php:26 classes/widgets/PodsWidgetForm.php:42
2190
- #: classes/widgets/PodsWidgetForm.php:53
2191
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:41
2192
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:133
2193
- msgid "Submit"
2194
- msgstr "Envoyer"
2195
 
2196
- #: classes/PodsAdmin.php:971 classes/PodsAdmin.php:1339
2197
- msgid "Show Admin Menu in Dashboard"
2198
- msgstr "Afficher le menu Admin en dans le tableau de bord"
 
2199
 
2200
- #: components/Builder/modules/field/PodsBuilderModuleField.php:22
2201
- msgid "Pods - Field Value"
2202
- msgstr "Pods - Valeur du Champ"
2203
 
2204
- #: classes/PodsAdmin.php:985 classes/PodsAdmin.php:1179
2205
- #: ui/admin/setup-edit.php:418
2206
- msgid "Menu Name"
2207
- msgstr "Nom du menu"
2208
 
2209
- #: components/Builder/modules/field/PodsBuilderModuleField.php:23
2210
- msgid "Display a single Pod item's field value"
2211
- msgstr "Afficher la valeur d'un champ d'une entrée d'un Pod"
 
2212
 
2213
- #: classes/PodsAdmin.php:992 classes/PodsAdmin.php:1208
2214
- #: classes/PodsAdmin.php:1305 classes/PodsAdmin.php:1353
2215
- msgid "Menu Position"
2216
- msgstr "Position du menu"
2217
 
2218
- #: classes/PodsAPI.php:5070
2219
- #: components/Builder/modules/field/PodsBuilderModuleField.php:77
2220
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:79
2221
- #: components/Builder/modules/list/PodsBuilderModuleList.php:82
2222
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:78
2223
- #: ui/admin/setup-edit.php:855 ui/admin/widgets/field.php:26
2224
- #: ui/admin/widgets/form.php:26 ui/admin/widgets/list.php:28
2225
- #: ui/admin/widgets/single.php:28
2226
- msgid "Pod"
2227
- msgstr "Pod"
2228
 
2229
- #: classes/PodsAdmin.php:1215 classes/PodsAdmin.php:1312
2230
- #: classes/PodsAdmin.php:1360
2231
- msgid "Menu Icon URL"
2232
- msgstr "Icone du menu"
2233
 
2234
- #: components/Builder/modules/field/PodsBuilderModuleField.php:84
2235
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:86
2236
- #: components/Builder/modules/list/PodsBuilderModuleList.php:89
2237
- #: components/Builder/modules/list/PodsBuilderModuleList.php:115
2238
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:85
2239
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:119
2240
- #: components/Pages.php:410 ui/admin/shortcode.php:358
2241
- #: ui/admin/widgets/field.php:39 ui/admin/widgets/form.php:39
2242
- #: ui/admin/widgets/list.php:41 ui/admin/widgets/single.php:41
2243
- msgid "None Found"
2244
- msgstr "Résultat vide"
2245
 
2246
- #: components/Builder/modules/field/PodsBuilderModuleField.php:90
2247
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:92
2248
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:91
2249
- #: ui/admin/widgets/field.php:45 ui/admin/widgets/single.php:47
2250
- msgid "Slug or ID"
2251
- msgstr "Slug ou ID"
2252
 
2253
- #: classes/PodsAdmin.php:1006 classes/PodsAdmin.php:1222
2254
- msgid "Show in Navigation Menus"
2255
- msgstr "Afficher la navigation dans les menus ?"
2256
 
2257
- #: components/Builder/modules/field/PodsBuilderModuleField.php:98
2258
- #: ui/admin/shortcode.php:442 ui/admin/widgets/field.php:52
2259
- msgid "Field"
2260
- msgstr "Champ"
2261
 
2262
- #: classes/PodsAdmin.php:1013
2263
- msgid "Show in Admin Bar \"New\" Menu"
2264
- msgstr "Afficher dans le menu \"Nouveau\" admin"
2265
 
2266
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:22
2267
- msgid "Pods - Form"
2268
- msgstr "Pods - Formulaires"
 
2269
 
2270
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:23
2271
- #: ui/admin/shortcode.php:330
2272
- msgid "Display a form for creating and editing Pod items"
2273
- msgstr "Afficher un formaulaire pour créer et éditer les Pods"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2274
 
2275
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:100
2276
- #: ui/admin/shortcode.php:448 ui/admin/widgets/form.php:50
2277
- msgid "Fields (comma-separated)"
2278
- msgstr "Champs (séparateur virgule)"
2279
 
2280
- #: classes/fields/pick.php:326
2281
- msgid "Custom"
2282
- msgstr "Personnalisé"
 
2283
 
2284
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:108
2285
- #: ui/admin/shortcode.php:454 ui/admin/widgets/form.php:56
2286
- msgid "Submit Label"
2287
- msgstr "Texte du bouton sublmit"
2288
 
2289
- #: components/Builder/modules/form/PodsBuilderModuleForm.php:116
2290
- #: ui/admin/shortcode.php:460 ui/admin/widgets/form.php:62
2291
- msgid "Thank You URL upon submission"
2292
- msgstr "URL de remerciement après soumission"
2293
 
2294
- #: components/Builder/modules/list/PodsBuilderModuleList.php:22
2295
- msgid "Pods - List Items"
2296
- msgstr "Pods - Liste d'entrées"
 
 
 
 
 
2297
 
2298
- #: classes/PodsAdmin.php:1085 ui/admin/setup-edit.php:578
2299
  #: ui/admin/setup-edit.php:687
2300
  msgid "Hierarchical"
2301
  msgstr "Hiérarchique"
2302
 
2303
- #: components/Builder/modules/list/PodsBuilderModuleList.php:23
2304
- msgid "Display multiple Pod items"
2305
- msgstr "Afficher plusieurs entrées Pods"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2306
 
2307
- #: classes/PodsAdmin.php:1093 ui/admin/setup-edit.php:583
2308
  msgid "<strong>Label: </strong> Parent <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2309
  msgstr "<strong>Label: </strong> Parent <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2310
 
2311
- #: components/Builder/modules/list/PodsBuilderModuleList.php:99
2312
- #: components/Builder/modules/list/PodsBuilderModuleList.php:137
2313
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:103
2314
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:141
2315
- #: ui/admin/shortcode.php:371 ui/admin/shortcode.php:394
2316
- #: ui/admin/widgets/list.php:55 ui/admin/widgets/list.php:84
2317
- #: ui/admin/widgets/single.php:63 ui/admin/widgets/single.php:86
2318
- msgid "Custom Template"
2319
- msgstr "Gabarit personnalisé"
2320
 
2321
- #: classes/PodsAdmin.php:1100 ui/admin/setup-edit.php:587
 
 
 
 
2322
  msgid "<strong>Label: </strong> Parent"
2323
  msgstr "<strong>Label: </strong> Parent"
2324
 
2325
- #: components/Builder/modules/list/PodsBuilderModuleList.php:108
2326
- #: components/Builder/modules/list/PodsBuilderModuleList.php:125
2327
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:112
2328
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:129
2329
- #: components/Templates/Templates.php:295
2330
- #: components/Templates/class-pods_templates.php:192 ui/admin/shortcode.php:368
2331
- #: ui/admin/shortcode.php:385 ui/admin/widgets/list.php:52
2332
- #: ui/admin/widgets/list.php:69 ui/admin/widgets/single.php:60
2333
- #: ui/admin/widgets/single.php:77
2334
- msgid "Template"
2335
- msgstr "Gabarit"
2336
 
2337
- #: classes/PodsAdmin.php:1107 ui/admin/setup-edit.php:592
2338
  msgid "Rewrite"
2339
  msgstr "Réécriture"
2340
 
2341
- #: components/Builder/modules/list/PodsBuilderModuleList.php:145
2342
- #: ui/admin/shortcode.php:424 ui/admin/widgets/list.php:96
2343
- msgid "Limit"
2344
- msgstr "Limit"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2345
 
2346
- #: classes/PodsAdmin.php:1115 ui/admin/setup-edit.php:597
2347
  msgid "Custom Rewrite Slug"
2348
  msgstr "Réécriture de slug personnalisé"
2349
 
2350
- #: components/Builder/modules/list/PodsBuilderModuleList.php:153
2351
- #: ui/admin/shortcode.php:430 ui/admin/widgets/list.php:102
2352
- msgid "Order By"
2353
- msgstr "Order by"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2354
 
2355
- #: classes/PodsAdmin.php:1122
2356
  msgid "Rewrite with Front"
2357
  msgstr "Réécriture avec front-end"
2358
 
2359
- #: components/Builder/modules/list/PodsBuilderModuleList.php:161
2360
- #: ui/admin/shortcode.php:436 ui/admin/widgets/list.php:108
2361
- msgid "Where"
2362
- msgstr "Where"
2363
 
2364
- #: ui/admin/setup-edit.php:601
2365
- msgid "Allows permalinks to be prepended with front base (example: if your permalink structure is /blog/, then your links will be: Checked->/news/, Unchecked->/blog/news/)"
2366
- msgstr "Autorise le suffixe du front pour les permaliens (ex : si la struture de vos permaliens est /blog, alors les liens seront: Coché ->/news/, Décoché -> /bog/news/"
2367
 
2368
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:22
2369
- msgid "Pods - Single Item"
2370
- msgstr "Pods - Entrée seul"
2371
 
2372
- #: classes/PodsAdmin.php:1130
 
 
 
 
 
 
 
 
2373
  msgid "Rewrite Feeds"
2374
  msgstr "Réécriture des feeds"
2375
 
2376
- #: components/Builder/modules/single/PodsBuilderModuleSingle.php:23
2377
- #: ui/admin/shortcode.php:326
2378
- msgid "Display a single Pod item"
2379
- msgstr "Afficher un Pod"
 
 
 
2380
 
2381
- #: classes/PodsAdmin.php:1138
2382
  msgid "Rewrite Pages"
2383
  msgstr "Réécriture des pages"
2384
 
2385
- #: components/Helpers.php:233
2386
- msgid "Enter helper name here"
2387
- msgstr "Entrez le nom du helper ici"
 
 
 
 
2388
 
2389
- #: classes/PodsAdmin.php:1146 ui/admin/setup-edit.php:610
2390
  msgid "Query Var"
2391
  msgstr "Variable de requête"
2392
 
2393
- #: components/Helpers.php:267
2394
- msgid "Helper Type"
2395
- msgstr "Type de helper"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2396
 
2397
- #: classes/PodsAdmin.php:1153
2398
  msgid "Exportable"
2399
  msgstr "Exportable"
2400
 
2401
- #: components/Helpers.php:281
2402
- msgid "Code"
2403
- msgstr "Code"
2404
 
2405
- #: ui/admin/setup-edit.php:441
2406
- msgid "Supports"
2407
- msgstr "Supports"
2408
 
2409
- #: components/Helpers.php:286
2410
- msgid "Helper"
2411
- msgstr "Helper"
2412
 
2413
- #: ui/admin/setup-edit.php:448 ui/admin/widgets/field.php:15
2414
- #: ui/admin/widgets/form.php:15 ui/admin/widgets/list.php:17
2415
- #: ui/admin/widgets/single.php:17 ui/admin/widgets/view.php:15
2416
- msgid "Title"
2417
- msgstr "Titre"
2418
 
2419
- #: classes/fields/paragraph.php:150 classes/fields/wysiwyg.php:167
2420
- msgid "Allow Markdown Syntax?"
2421
- msgstr "Autoriser la syntaxe Markdown ?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2422
 
2423
- #: ui/admin/setup-edit.php:458
2424
- msgid "Author"
2425
- msgstr "Auteur"
 
 
 
2426
 
2427
- #: components/Migrate-CPTUI/Migrate-CPTUI.php:189
2428
- #: components/Migrate-CPTUI/Migrate-CPTUI.php:255
2429
- msgid "Pod with the name %s already exists"
2430
- msgstr "Un Pod avec le nom %s existe déja"
2431
 
2432
- #: ui/admin/setup-edit.php:463
2433
- msgid "Featured Image"
2434
- msgstr "Image phare"
2435
 
2436
- #: components/Migrate-CPTUI/ui/wizard.php:15
2437
- msgid "Migrate: Import from Custom Post Type UI"
2438
- msgstr "Migrer : importer de l'interface UI personnalié"
2439
 
2440
- #: ui/admin/setup-edit.php:468
2441
- msgid "Excerpt"
2442
- msgstr "Extrait"
2443
 
2444
- #: components/Migrate-CPTUI/ui/wizard.php:23
2445
- msgid "Setup"
2446
- msgstr "Configuration"
2447
 
2448
- #: ui/admin/setup-edit.php:473
2449
- msgid "Trackbacks"
2450
- msgstr "Trackbacks"
2451
 
2452
- #: components/Migrate-CPTUI/ui/wizard.php:27
2453
- #: ui/admin/upgrade/upgrade_2_0_0.php:26
2454
- msgid "Migrate"
2455
- msgstr "Migrer"
2456
 
2457
- #: ui/admin/setup-edit.php:478
2458
- msgid "Custom Fields"
2459
- msgstr "Champs personnalisés"
2460
 
2461
- #: components/Migrate-CPTUI/ui/wizard.php:35
2462
- msgid "Custom Post Type UI provides an interface to create Custom Post Types and Custom Taxonomies. You can import these and their settings directly into Pods 2.0"
2463
- msgstr "L'interface utilisateur permet de créer visuellement de Custom Post Types et des Taxonomies. Vous pouvez importer ces derniers ainsi que leurs paramètres directement dansd pods 2.0"
2464
 
2465
- #: ui/admin/setup-edit.php:488
2466
- msgid "Revisions"
2467
- msgstr "Versions"
2468
 
2469
- #: components/Migrate-CPTUI/ui/wizard.php:40
2470
- msgid "Import Only"
2471
- msgstr "Importer seulement"
2472
 
2473
- #: ui/admin/setup-edit.php:493
2474
- msgid "Page Attributes"
2475
- msgstr "Attributs de la page"
2476
 
2477
- #: components/Migrate-CPTUI/ui/wizard.php:42
2478
- msgid "This will import your Custom Post Types and Taxonomies."
2479
- msgstr "Vos types personnalisés et taxonomies seront importés."
2480
 
2481
- #: classes/fields/pick.php:468 ui/admin/setup-edit.php:498
2482
- msgid "Post Formats"
2483
- msgstr "Formats ds posts"
2484
 
2485
- #: components/Migrate-CPTUI/ui/wizard.php:49
2486
- msgid "Import and Clean Up"
2487
- msgstr "Importer et nettoyer"
2488
 
2489
- #: ui/admin/setup-edit.php:549
2490
- msgid "Built-in Taxonomies"
2491
- msgstr "Taxonomies incluses"
2492
 
2493
- #: components/Migrate-CPTUI/ui/wizard.php:51
2494
- msgid "This will import your Custom Post Types and Taxonomies, and then remove them from Custom Post Type UI."
2495
- msgstr "Vos Custom Post Types et Taxonomies seront importées et seront retirées de l'interface utilisateur des Custom Post Type."
2496
 
2497
- #: components/Migrate-CPTUI/ui/wizard.php:60
2498
- msgid "Choose below which Custom Post Types and Taxonomies you want to import into Pods 2.0"
2499
- msgstr "Sélectionnez ci-dessous quel Custom Post Types et quel Taxonomie vous voulez importez dans Pods 2.0"
2500
 
2501
- #: classes/PodsAdmin.php:999
2502
- msgid "Menu Icon"
2503
- msgstr "icon de menu"
2504
 
2505
- #: components/Migrate-CPTUI/ui/wizard.php:64
2506
- msgid "Choose Post Types to Import"
2507
- msgstr "Sélectionnez les types de posts à importer"
2508
 
2509
- #: components/Migrate-CPTUI/ui/wizard.php:72
2510
- msgid "Available Post Types"
2511
- msgstr "Types de Pods disponibles"
2512
 
2513
- #: classes/PodsAdmin.php:1229
2514
- msgid "Allow in Tagcloud Widget"
2515
- msgstr "Autoriser dans le widget Tagcloud"
2516
 
2517
- #: components/Migrate-CPTUI/ui/wizard.php:97
2518
- msgid "No Post Types were found."
2519
- msgstr "Aucun types de post n'a été trouvé"
2520
 
2521
- #: ui/admin/setup-edit.php:601
2522
- msgid "Allow Front Prepend"
2523
- msgstr "Autoriser l'ajout en front-end"
2524
 
2525
- #: components/Migrate-CPTUI/ui/wizard.php:105
2526
- msgid "Choose Taxonomies to Import"
2527
- msgstr "Sélectionnez les taxonomies à impoter"
2528
 
2529
- #: ui/admin/setup-edit.php:605
2530
- msgid "Hierarchical Permalinks"
2531
- msgstr "Permaliens hiérarchiques"
2532
 
2533
- #: components/Migrate-CPTUI/ui/wizard.php:113
2534
- msgid "Available Taxonomies"
2535
- msgstr "Taxonomies disponibles"
2536
 
2537
- #: ui/admin/setup-edit.php:620
2538
- msgid "Remember order saved on Post Types"
2539
- msgstr "Se souvenir de l'ordre sauvegarder sur les Post Types"
2540
 
2541
- #: components/Migrate-CPTUI/ui/wizard.php:136
2542
- msgid "No Taxonomies were found."
2543
- msgstr "Aucune taxonomies n'a été trouvée"
2544
 
2545
- #: classes/PodsAdmin.php:1239
2546
- msgid "Show Taxonomy column on Post Types"
2547
- msgstr "Afficher une colonne Taxonomy pour le Post Types"
2548
 
2549
- #: components/Migrate-CPTUI/ui/wizard.php:146
2550
- #: components/Migrate-Packages/ui/wizard.php:279
2551
- #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:350
2552
- #: ui/admin/upgrade/upgrade_2_0_0.php:289
2553
- #: ui/admin/upgrade/upgrade_2_1_0.php:122
2554
- msgid "Start Over"
2555
- msgstr "Retouner au début"
2556
 
2557
- #: components/Migrate-CPTUI/ui/wizard.php:146 components/Roles/ui/add.php:122
2558
- #: ui/admin/setup-add.php:350 ui/admin/upgrade/upgrade_2_0_0.php:289
2559
- #: ui/admin/upgrade/upgrade_2_1_0.php:122
2560
- msgid "Next Step"
2561
- msgstr "Etape suivante"
2562
 
2563
- #: ui/admin/setup-edit.php:625
2564
- msgid "Function to call when updating counts"
2565
- msgstr "Fonction à exécuter lors de la mise à jour des totaux"
2566
 
2567
- #: components/Migrate-CPTUI/ui/wizard.php:146
2568
- #: components/Migrate-Packages/ui/wizard.php:279
2569
- #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:350
2570
- msgid "Finished"
2571
- msgstr "Termniné"
2572
 
2573
- #: ui/admin/setup-edit.php:630
2574
- msgid "Associated Post Types"
2575
- msgstr "Type de Post associé"
2576
 
2577
- #: components/Migrate-CPTUI/ui/wizard.php:146
2578
- #: components/Migrate-Packages/ui/wizard.php:279
2579
- #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:350
2580
- msgid "Processing"
2581
- msgstr "Traitement en cours"
2582
 
2583
- #: ui/admin/setup-edit.php:668
2584
- msgid "Detail Page URL"
2585
- msgstr "URL de la page détail"
2586
 
2587
- #: components/M
1
+ # Translation of Pods Framework in French (France)
2
+ # This file is distributed under the same license as the Pods Framework package.
3
  msgid ""
4
  msgstr ""
5
+ "PO-Revision-Date: 2015-08-04 18:13:13+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
  "Plural-Forms: nplurals=2; plural=n > 1;\n"
10
+ "X-Generator: GlotPress/1.0-alpha-1100\n"
11
+ "Project-Id-Version: Pods Framework\n"
12
 
13
+ #: classes/PodsUI.php:2352
14
+ msgid "Invalid bulk request, please try again."
15
  msgstr ""
16
 
17
+ #: components/Pages.php:424
18
+ msgid "Setting the Wildcard Slug is an easy way to setup a detail page. You can use the special tag {@url.2} to match the *third* level of the URL of a Pod Page named \"first/second/*\" part of the pod page. This is functionally the same as using pods_v_sanitized( 2, \"url\" ) in PHP."
19
  msgstr ""
20
 
21
+ #: ui/admin/help.php:6
22
+ msgid "Pods Support"
23
  msgstr ""
24
 
25
+ #: ui/admin/help.php:8
26
+ msgid "There are many resources available to help you learn to use Pods on our site, <a href=\"http://pods.io/\" target=\"_blank\">Pods.io</a>:"
27
+ msgstr ""
28
 
29
+ #: ui/admin/help.php:10
30
+ msgid "To learn more about using Pods, see the <a href=\"http://pods.io/docs/\" target=\"_blank\">documentation</a>, or our <a href=\"http://pods.io/tutorials/\" target=\"_blank\">tutorials section</a>"
31
  msgstr ""
32
 
33
+ #: ui/admin/help.php:12
34
+ msgid "To get help with a specific issue, you can ask in our <a href=\"http://pods.io/forums/\" target=\"_blank\">support forums</a>, or in <a href=\"http://pods.io/forums/chat/\" target=\"_blank\">our chat</a>"
35
  msgstr ""
36
 
37
+ #: ui/admin/help.php:14
38
+ msgid "To report <strong>bugs or request features</strong>, go to our <a href=\"https://github.com/pods-framework/pods/issues?sort=updated&direction=desc&state=open\" target=\"_blank\">GitHub</a>."
39
  msgstr ""
40
 
41
+ #: ui/admin/help.php:16
42
+ msgid "Pods is open source, so if you want to get into the code and submit your own fixes or features, go at it, we'd love to have you contribute on our project! With GitHub, it's really easy to contribute back, so why not give it a try?"
43
  msgstr ""
44
 
45
+ #: ui/admin/help.php:32
46
+ msgid "Latest Forum Posts at <a href=\"http://pods.io/forums/forum/general-discussion/pods-2-x/\" target=\"_blank\">pods.io</a>"
47
  msgstr ""
48
 
49
+ #: ui/admin/help.php:77
50
+ msgid "Latest Activity on <a href=\"http://github.com/pods-framework/pods\" target=\"_blank\">GitHub</a>"
51
+ msgstr ""
52
 
53
+ #: ui/admin/settings-reset.php:62
54
+ msgid "This does not remove any items from any Post Types, Taxonomies, Media, Users, or Comments data you have added/modified. Any custom fields stored using the table storage component, content in Advanced Content Types, and relationships between posts will be lost."
55
+ msgstr ""
56
 
57
+ #: ui/admin/settings-reset.php:112
58
+ msgid "Reset Weekend"
59
+ msgstr ""
60
 
61
+ #: ui/admin/settings-reset.php:114
62
+ msgid "This feature has been exclusively built for Pods to help developers suffering from \"Monday\", and allows them to reset the weekend."
63
+ msgstr ""
64
 
65
+ #: ui/admin/settings-reset.php:115
66
+ msgid "By resetting the weekend, you will be sent back to Friday night and the weekend you've just spent will be erased. You will retain all of your memories of the weekend, and be able to relive it in any way you wish."
67
+ msgstr ""
68
 
69
+ #: ui/admin/settings-reset.php:118
70
+ msgid ""
71
+ "Are you sure you want to Reset your Weekend?\n"
72
+ "\n"
73
+ "There is no going back, you cannot reclaim anything you've gained throughout your weekend.\n"
74
+ "\n"
75
+ "You are about to be groundhoggin' it"
76
  msgstr ""
77
 
78
+ #: ui/admin/upgrade/upgrade_2_0_0.php:38
79
+ msgid "Welcome to Pods 2.x! We sincerely hope you enjoy over two years worth of planning and work, available to you for <em>free</em>."
80
+ msgstr ""
81
 
82
+ #: ui/admin/upgrade/upgrade_2_1_0.php:38
83
+ msgid "Thanks for upgrading your Pods 2.x site! We sincerely hope you enjoy over two years worth of planning and work, available to you for <em>free</em>."
84
  msgstr ""
85
 
86
+ #: classes/PodsAdmin.php:677
87
+ msgid "Pods Shortcode"
88
+ msgstr ""
89
 
90
+ #: tests/includes/_tests-integration-pods.php:71
91
+ msgid "Item %s does not exist"
92
+ msgstr ""
93
 
94
+ #. Plugin Name of the plugin/theme
95
+ msgid "Pods - Custom Content Types and Fields"
96
+ msgstr ""
97
 
98
+ #. Plugin URI of the plugin/theme
99
+ msgid "http://pods.io/"
100
+ msgstr "http://pods.io/"
101
 
102
+ #. Description of the plugin/theme
103
+ msgid "Pods is a framework for creating, managing, and deploying customized content types and fields"
104
+ msgstr "Pods est un framework qui permet de créer, gérer et déployer des types de contenus personalisés."
105
 
106
+ #. Author of the plugin/theme
107
+ msgid "Pods Framework Team"
108
+ msgstr "L'équipe de Pods Framework"
109
 
110
+ #. Author URI of the plugin/theme
111
+ msgid "http://pods.io/about/"
112
+ msgstr "http://pods.io/about/"
113
 
114
+ #: ui/admin/setup-edit.php:620
115
+ msgid "Remember order saved on Post Types"
116
+ msgstr "Se souvenir de l'ordre sauvegarder sur les Post Types"
117
 
118
+ #: ui/admin/setup-edit.php:625
119
+ msgid "Function to call when updating counts"
120
+ msgstr "Fonction à exécuter lors de la mise à jour des totaux"
121
 
122
+ #: ui/admin/setup-edit.php:630
123
+ msgid "Associated Post Types"
124
+ msgstr "Type de Post associé"
125
 
126
+ #: ui/admin/setup-edit.php:668
127
+ msgid "Detail Page URL"
128
+ msgstr "URL de la page détail"
129
 
130
+ #: ui/admin/setup-edit.php:682
131
+ msgid "Title Field"
132
+ msgstr "Champ titre"
133
 
134
+ #: ui/admin/setup-edit.php:682
135
+ msgid "If you delete the \"name\" field, we need to specify the field to use as your primary title field. This field will serve as an index of your content. Most commonly this field represents the name of a person, place, thing, or a summary field."
136
+ msgstr "Si vous supprimer le champ \"name\", nous devons définir le champ qui sera utiliser comme champ de clé primaire. Ce champ servira d'index pour votre comptenu. le plus souvent ce champ représente le nom d'une personne, un lieu, une chose ou un champ récapitulatif."
137
 
138
+ #: ui/admin/setup-edit.php:700
139
+ msgid "No Hierarchical Fields found"
140
+ msgstr "Aucun champ Hiérarchique trouvé."
141
 
142
+ #: ui/admin/setup-edit.php:704
143
+ msgid "Hierarchical Field"
144
+ msgstr "Champ Hiérarchique"
145
 
146
+ #: ui/admin/setup-edit.php:722
147
+ msgid "Pre-Save Helper(s)"
148
+ msgstr "Helper(s) Pré sauvegarde"
149
 
150
+ #: ui/admin/setup-edit.php:736
151
+ msgid "Post-Save Helper(s)"
152
+ msgstr "Helper(s) post sauvegarde"
 
 
 
 
153
 
154
+ #: ui/admin/setup-edit.php:750
155
+ msgid "Pre-Delete Helper(s)"
156
+ msgstr "Helper(s) pré suppression"
157
 
158
+ #: ui/admin/setup-edit.php:764
159
+ msgid "Post-Delete Helper(s)"
160
+ msgstr "Helper(s) post suppréssion"
161
 
162
+ #: ui/admin/setup-edit.php:797
163
+ msgid "Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table."
164
+ msgstr "De façon native on ne peux pas ajouter des champs supplémentaires aux Taxonomies, mais Pods peux ajouter cette fonction pour vous facilement. Le stockage de type \"Table\" opèrera de fàçon transparente pour que chaque champ ajouté à votre type de contenu deviennent un champs dans une table."
165
 
166
+ #: ui/admin/setup-edit.php:799
167
+ msgid "Enabling extra fields for this taxonomy will add a custom table into your database as <em>%s</em>."
168
+ msgstr "Permettre l'ajout de champs supplémentaires pour cette taxonomie ajoutera une nouvelle table dans votre base de donnée <em>%s</em>"
169
 
170
+ #: ui/admin/setup-edit.php:804
171
+ msgid "Enable Extra Fields"
172
+ msgstr "Champs Supplémentaires Activés"
173
 
174
+ #: ui/admin/setup-edit.php:823
175
+ msgid "Are you sure you want to delete this Pod? All fields and data will be removed."
176
+ msgstr "Etes-vous sur de vouloir supprimer ce Pod ? Tous les champs et les données associées seront supprimés"
177
 
178
+ #: ui/admin/setup-edit.php:931
179
+ msgid "Loading available fields.."
180
+ msgstr "Chargement des champs disponibles"
181
 
182
+ #: ui/admin/setup-edit.php:963
183
+ msgid "There was a server error with your AJAX request."
184
+ msgstr "Le serveur a eu un problème lors de votre requête AJAX."
185
 
186
+ #: ui/admin/setup-edit.php:966
187
+ msgid "-- Select Related Field --"
188
+ msgstr "--Choississez le champ lié--"
189
 
190
+ #: ui/admin/shortcode.php:318
191
+ msgid "Pods &raquo; Embed"
192
+ msgstr "Pods' embed"
193
 
194
+ #: ui/admin/shortcode.php:323
195
+ msgid "What would you like to do?"
196
+ msgstr "Que souhaitez-vous faire ?"
197
 
198
+ #: ui/admin/shortcode.php:327
199
+ msgid "List multiple Pod items"
200
+ msgstr "Lister plusieurs Pods"
201
 
202
+ #: ui/admin/shortcode.php:328
203
+ msgid "Display a field from a single Pod item"
204
+ msgstr "Afficher un champ d'un Pod"
205
 
206
+ #: ui/admin/shortcode.php:329
207
+ msgid "Display a field from this item"
208
+ msgstr "Afficher un champ de cet entrée"
209
 
210
+ #: ui/admin/shortcode.php:333
211
+ msgid "Embed content from a Pods Page"
212
+ msgstr "Inclure du contenu depuis une page Pods"
213
 
214
+ #: ui/admin/shortcode.php:344
215
+ msgid "Choose a Pod"
216
+ msgstr "Sélectionnez un Pods"
217
 
218
+ #: ui/admin/shortcode.php:405
219
+ msgid "Pods Page"
220
+ msgstr "Page Pods"
221
 
222
+ #: ui/admin/shortcode.php:418 ui/admin/widgets/form.php:43
223
+ msgid "ID or Slug"
224
+ msgstr "ID ou slug"
225
 
226
+ #: ui/admin/shortcode.php:500
227
+ msgid "Insert"
228
+ msgstr "Insérer"
229
 
230
+ #: ui/admin/upgrade/backup.php:1
231
+ msgid "We recommend that you back your database up, it can really save you in a bind or a really weird situation that you may not be expecting. Check out a few options we think are <em>great</em> below."
232
+ msgstr "Nous vous recommandons de sauvegarder votre base de données, cela vous sauvear la mise au cas où vous vous trouveriez dans une situation inatendue. Consultez quelques <em>très bons</em> outils ci-dessous."
233
 
234
+ #: ui/admin/upgrade/backup.php:7
235
+ msgid "Receive 25% off"
236
+ msgstr "Recevez 25% de réduction"
237
 
238
+ #: ui/admin/upgrade/backup.php:9
239
+ msgid "Coupon Code"
240
+ msgstr "Code de réduction"
241
 
242
+ #: ui/admin/upgrade/backup.php:12
243
+ msgid "The all-in-one WordPress backup plugin to easily backup, restore, and migrate to any number of local or external locations."
244
+ msgstr "Le plugin Wordpress tout en un pour facilement sauvagarder, restaurer and migrer Worpdress"
245
 
246
+ #: ui/admin/upgrade/backup.php:17
247
+ msgid "1 free month"
248
+ msgstr "1 mois gratuit"
249
 
250
+ #: ui/admin/upgrade/backup.php:19
251
+ msgid "Click to sign up"
252
+ msgstr "Cliquez pour souscrire"
253
 
254
+ #: ui/admin/upgrade/backup.php:22
255
+ msgid "A service that provides realtime continuous backups, restores, and security scanning."
256
+ msgstr "Un service fournissant la sauvegarde, la restauration et la sécurité en temps réel."
257
 
258
+ #: ui/admin/upgrade/upgrade_2_0_0.php:10 ui/admin/upgrade/upgrade_2_1_0.php:10
259
+ msgid "Upgrade Pods"
260
+ msgstr "Mise à jour de Pods"
261
 
262
+ #: ui/admin/upgrade/upgrade_2_0_0.php:18 ui/admin/upgrade/upgrade_2_1_0.php:18
263
+ msgid "Getting Started"
264
+ msgstr "Démarrer"
265
 
266
+ #: ui/admin/upgrade/upgrade_2_0_0.php:22 ui/admin/upgrade/upgrade_2_1_0.php:22
267
+ msgid "Prepare"
268
+ msgstr "Préparer"
269
 
270
+ #: ui/admin/upgrade/upgrade_2_0_0.php:39
271
+ msgid "Due to a number of optimizations in #Pods2, we need to run a few updates to your database. This should not remove or change your existing Pod data from 1.x, so if you wish to rollback to Pods 1.x - you can easily do that."
272
+ msgstr "En raison d'un certain nombre d'optimisations dans #Pods2, nous devons effectuer quelques mises à jour de votre base de données. Cela ne devrait pas supprimer ou modifier les données de vos Pods 1.x existants, donc si vous souhaitez revenir à Pods 1.x - vous pourrez facilement le faire."
273
 
274
+ #: ui/admin/upgrade/upgrade_2_0_0.php:53
275
+ msgid "We will prepare all of your Pods, Settings, and Content for migration. If any issues are found they will be displayed below for your review. Be sure to backup your database before continuing onto the next step for Migration."
276
+ msgstr "Nous allons préparer tout vos Pods, paramètres et contenus pour la migration. Si un promblème est rencontré nous vous en informerons ici. Veuilez sauvegarder votre base de données afin de passer à la prochaine étape de la migration."
 
 
277
 
278
+ #: ui/admin/upgrade/upgrade_2_0_0.php:61
279
+ msgid "Preparing Your Content for Migration"
280
+ msgstr "Préparation de vos donées pour la migration"
281
 
282
+ #: ui/admin/upgrade/upgrade_2_0_0.php:95 ui/admin/upgrade/upgrade_2_0_0.php:211
283
+ #: ui/admin/upgrade/upgrade_2_1_0.php:71 ui/admin/upgrade/upgrade_2_1_0.php:101
284
+ msgid "Relationships"
285
+ msgstr "Relations"
286
 
287
+ #: ui/admin/upgrade/upgrade_2_0_0.php:105
288
+ msgid "Item Indexes"
289
+ msgstr "Index"
290
 
291
+ #: ui/admin/upgrade/upgrade_2_0_0.php:115
292
+ #: ui/admin/upgrade/upgrade_2_0_0.php:231
293
+ msgid "Templates"
294
+ msgstr "Gabarits"
295
 
296
+ #: ui/admin/upgrade/upgrade_2_0_0.php:125
297
+ #: ui/admin/upgrade/upgrade_2_0_0.php:241
298
+ msgid "Pod Pages"
299
+ msgstr "Pages Pods"
300
 
301
+ #: ui/admin/upgrade/upgrade_2_0_0.php:135
302
+ #: ui/admin/upgrade/upgrade_2_0_0.php:251
303
+ msgid "Helpers"
304
+ msgstr "Helpers"
305
 
306
+ #: ui/admin/upgrade/upgrade_2_0_0.php:148
307
+ #: ui/admin/upgrade/upgrade_2_0_0.php:264
308
+ msgid "Content"
309
+ msgstr "Contenu"
310
+
311
+ #: ui/admin/upgrade/upgrade_2_0_0.php:163
312
+ msgid "During this process your Pods, Settings, and Content will be migrated into the optimized Pods 2.x architecture. We will not delete any of your old data, the tables will remain until you choose to clean them up after a successful upgrade."
313
  msgstr ""
314
 
315
+ #: ui/admin/upgrade/upgrade_2_0_0.php:171
316
+ msgid "Migrating Your Content"
317
+ msgstr "Migration de votre contenu"
318
 
319
+ #: ui/admin/upgrade/upgrade_2_0_0.php:181
320
+ msgid "1.x Updates"
321
+ msgstr "Mise à jour des versions 1.x"
322
 
323
+ #: ui/admin/upgrade/upgrade_2_0_0.php:277
324
+ #: ui/admin/upgrade/upgrade_2_1_0.php:111
325
+ msgid "Cleanup"
326
+ msgstr "Nettoyage"
327
 
328
+ #: ui/admin/upgrade/upgrade_2_0_0.php:289
329
+ #: ui/admin/upgrade/upgrade_2_1_0.php:123
330
+ msgid "Start using Pods"
331
+ msgstr "Utilisez Pods"
332
 
333
+ #: ui/admin/upgrade/upgrade_2_0_0.php:292
334
+ msgid "Migration Complete!"
335
+ msgstr "Migration achevée !"
336
 
337
+ #: ui/admin/upgrade/upgrade_2_1_0.php:39
338
+ msgid "We need to run a few updates to your database to optimize your relationship data."
339
+ msgstr "Nous devons appliquer des mise à jours à votre base de donnée pour optimiser les données relationnelles."
340
 
341
+ #: ui/admin/upgrade/upgrade_2_1_0.php:53
342
+ msgid "We will prepare your relationships for the upgrade. If any issues are found they will be displayed below for your review. Be sure to backup your database before continuing onto the next step for the Upgrade."
343
  msgstr ""
344
 
345
+ #: ui/admin/upgrade/upgrade_2_1_0.php:61
346
+ msgid "Preparing Your Relationships for Upgrade"
347
+ msgstr "Préparation de vos Associations pour la mise à jours."
348
 
349
+ #: ui/admin/upgrade/upgrade_2_1_0.php:83
350
+ msgid "During this process your Relationships will be optimized."
351
+ msgstr "Pendant ce processus vos Associations seront optimisées."
352
 
353
+ #: ui/admin/upgrade/upgrade_2_1_0.php:91
354
+ msgid "Optimizing Your Relationships"
355
+ msgstr "Optimisation de vos Associations"
356
 
357
+ #: ui/admin/upgrade/upgrade_2_1_0.php:126
358
+ msgid "Upgrade Complete!"
359
+ msgstr "Mise à jour Terminée!"
360
 
361
+ #: ui/admin/widgets/list.php:13 ui/admin/widgets/single.php:13
362
+ msgid "You must specify a Pods Template or create a custom template, using <a href=\"http://pods.io/docs/build/using-magic-tags/\" title=\"Using Magic Tags\" target=\"_blank\">magic tags</a>."
363
+ msgstr ""
364
 
365
+ #: ui/admin/widgets/list.php:76
366
+ msgid "Before Content"
367
+ msgstr "Avant le contenu"
 
368
 
369
+ #: ui/admin/widgets/list.php:88
370
+ msgid "After Content"
371
+ msgstr "Après le contenu"
372
 
373
+ #: ui/fields/plupload.php:43
374
+ msgid "Allowed Files"
375
+ msgstr "Fichiers autorisés"
376
 
377
+ #: ui/fields/plupload.php:272
378
+ msgid "There was an issue with the file upload, please try again."
379
+ msgstr "Il erreur est survenue lors de l'envoi du fichier, veuillez essayez à noueau."
380
 
381
+ #: ui/fields/select2.php:158 ui/fields/select2.php:165
382
+ msgid "Start Typing..."
383
+ msgstr "Commencer la saisie"
384
 
385
+ #: ui/admin/settings-reset.php:91
386
+ msgid "Reset Pods settings and data"
387
+ msgstr "Réinitialiser les réglages de Pods et les données"
388
 
389
+ #: ui/admin/settings-reset.php:96 ui/admin/settings-reset.php:103
390
+ msgid "Deactivate and Delete Pods data"
391
+ msgstr "Désactiver Pods et Supprimer les données"
392
 
393
+ #: ui/admin/settings-reset.php:98
394
+ msgid "This will delete Pods settings, data, and deactivate itself once done. Your database will be as if Pods never existed."
395
+ msgstr "Ceci supprimera les réglages de Pods, les données et le plugin se déactivera seul une fois terminé. Il ne restera plus aucune trace de Pods dans votre base de donnée."
396
 
397
+ #: ui/admin/settings-reset.php:102
398
+ msgid ""
399
+ "Are you sure you want to do this?\n"
400
+ "\n"
401
+ "This is a good time to make sure you have a backup. We are deleting all of the data that surrounds with no turning back."
402
  msgstr ""
403
+ "Êtes-vous sur de vous ?\n"
404
+ "\n"
405
+ "C'est l'occasion de vérifier que vous avez réalisé une sauvegarde. Nous allons supprimer toutes les données sans possibilité de revenir en arrière."
406
 
407
+ #: ui/admin/settings-settings.php:1
408
+ msgid "The following are settings provided for advanced site configurations."
409
+ msgstr "Les éléments suivants sont les paramètres fournis pour la configuration avancée des sites."
410
 
411
+ #: ui/admin/settings-tools.php:19 ui/admin/settings-tools.php:24
412
+ msgid "Clear Pods Cache"
413
+ msgstr "Vider le Cache de Pods"
414
 
415
+ #: ui/admin/settings-tools.php:21
416
+ msgid "This tool will clear all of the transients/cache that are used by Pods. "
417
+ msgstr "Cet outils videra tous les clés transients/cache utilisées par Pods."
418
 
419
+ #: ui/admin/settings-tools.php:29
420
+ msgid "Debug Information"
421
+ msgstr "Information de débuggage"
422
 
423
+ #: ui/admin/settings.php:12
424
+ msgid "Cleanup &amp; Reset"
425
+ msgstr "Effacer et remise à zéro"
426
 
427
+ #: ui/admin/setup-add.php:16
428
+ msgid "Add New Pod"
429
+ msgstr "Ajouter un nouveau Pod"
430
 
431
+ #: ui/admin/setup-add.php:23 ui/admin/setup-edit.php:817
432
+ msgid "Back to Manage"
433
+ msgstr "Retour à la gestion"
434
 
435
+ #: ui/admin/setup-add.php:35
436
+ msgid "Create or Extend"
437
+ msgstr "Créer ou étendre"
438
 
439
+ #: ui/admin/setup-add.php:39
440
+ msgid "Configure"
441
+ msgstr "Configurer"
442
 
443
+ #: ui/admin/setup-add.php:48
444
+ msgid "Pods are content types that you can customize and define fields for based on your needs. You can choose to create a Custom Post Type, Custom Taxonomy, or Custom Settings Pages for site-specific data. You can also extend existing content types like WP Objects such as Post Types, Taxonomies, Users, or Comments."
445
+ msgstr "Un Pod est un type de contenu sur mesure, dont vous pouvez définir les champs en fonction de vos besoin ainsi que d'autres options. Vous pouvez choisir de créer un Custom Post Type, une Custom Taxonomy, ou une Custom Settings Pages. Vous pouvez aussi \"étendre\" des types de contenus existants tel que les Objets WP comme les Custom Post Type, Taxonomies, Users, er Commentaires."
446
 
447
+ #: ui/admin/setup-add.php:50
448
+ msgid "Not sure what content type you should use? Check out our <a href=\"http://pods.io/docs/comparisons/compare-content-types/\" target=\"_blank\">Content Type Comparison</a> to help you decide."
449
+ msgstr "Vous hésitez sur le type de contenu que vous devez choisir ? Pour un <a href=\"http://pods.io/docs/comparisons/compare-content-types/\" target=\"_blank\">comparatif complet des différentes options cliquez ici</a>."
450
 
451
+ #: ui/admin/setup-add.php:57
452
+ msgid "Create New"
453
+ msgstr "Créer un nouveau"
454
 
455
+ #: ui/admin/setup-add.php:59
456
+ msgid "Create entirely new content types using <strong>Post Types</strong>, <strong>Taxonomies</strong>, or <strong>Custom Settings Pages</strong>."
457
+ msgstr "Créer des nouveaux types de contenus en utilisant des <strong>Post Types</strong>, <strong>Taxonomies</strong>, ou <strong>Custom Settings Pages</strong>."
458
 
459
+ #: ui/admin/setup-add.php:65
460
+ msgid "Extend Existing"
461
+ msgstr "Étendre un Pod existant"
462
 
463
+ #: ui/admin/setup-add.php:67
464
+ msgid "Extend any existing content type within WordPress, including <strong>Post Types</strong> (Posts, Pages, etc), <strong>Taxonomies</strong> (Categories, Tags, etc), <strong>Media</strong>, <strong>Users</strong>, or <strong>Comments</strong>."
465
+ msgstr "Etendre un type de contenu existant dans Wordpress à savoir : <strong>Posts</strong> (Posts, Pages, etc), <strong> Taxonomies</strong> (Categories, Tags, etc), <strong>Media</strong>, <strong>Utilisateurs</strong>, ou les <strong>Commentaires</strong>."
466
 
467
+ #: ui/admin/setup-add.php:76
468
+ msgid "Creating a new Content Type allows you to control exactly what that content type does, how it acts like, the fields it has, and the way you manage it."
469
+ msgstr ""
470
 
471
+ #: ui/admin/setup-add.php:79
472
+ msgid "Create a New Content Type"
473
+ msgstr "Créer un Nouveau Type de Contenu"
474
 
475
+ #: ui/admin/setup-add.php:84 ui/admin/setup-add.php:224
476
+ msgid "Content Type"
477
+ msgstr "Type de contenu"
478
 
479
+ #: ui/admin/setup-add.php:84 ui/admin/setup-add.php:224
480
+ msgid "<h6>Content Types</h6> There are many content types to choose from, we have put together a comparison between them all to help you decide what fits your needs best."
481
+ msgstr "<h6>Types de contenu</h6> Il y a de nombreux types de contenu parmi lesquels choisir. Nous avons établi une comparaison entre ces différents types pour vous aider à déterminer ceux correspondants à vos besoins."
482
 
483
+ #: ui/admin/setup-add.php:87
484
+ msgid "Custom Post Type (like Posts or Pages)"
485
+ msgstr "Type personnalisé (semblable aux Posts ou aux pages Wordpress)"
486
 
487
+ #: ui/admin/setup-add.php:88
488
+ msgid "Custom Taxonomy (like Categories or Tags)"
489
+ msgstr "Taxonomie personnalisée (semblable aux catégories ou aux tags Wordpress)"
490
 
491
+ #: ui/admin/setup-add.php:107 ui/admin/setup-add.php:309
492
+ msgid "Enable Extra Fields?"
493
+ msgstr "Autoriser les champs supplémentaires ?"
494
 
495
+ #: ui/admin/setup-add.php:107 ui/admin/setup-add.php:309
496
+ msgid "<h6>Storage Types</h6> Taxonomies do not support extra fields natively, but Pods can add this feature for you easily. Table based storage will operate in a way where each field you create for your content type becomes a field in a table."
497
+ msgstr "<h6>Types de stockage</h6> La Taxonomie ne supporte pas nativement les champs supplémentaires, mais Pods peut ajouter cette fonctionnalité facilement. Le stockage dans la base de donnée fonctionnera de façon à ce que chaque champ créé pour vos contenus deviendra un champ dans une table."
498
 
499
+ #: ui/admin/setup-add.php:110 ui/admin/setup-add.php:312
500
+ msgid "Do not enable extra fields to be added"
501
+ msgstr "Ne pas autoriser l'ajout de champs supplémentaires"
502
 
503
+ #: ui/admin/setup-add.php:111 ui/admin/setup-add.php:313
504
+ msgid "Enable extra fields for this Taxonomy (Table Based)"
505
+ msgstr "Autoriser les champs supplémentaires pour cette taxonomie (basé sur une table)"
506
 
507
+ #: ui/admin/setup-add.php:124 ui/admin/setup-edit.php:334
508
+ msgid "Singular Label"
509
+ msgstr "Nom singulier"
510
 
511
+ #: ui/admin/setup-add.php:124
512
+ msgid "<h6>Singular Label</h6> This is the label for 1 item (Singular) that will appear throughout the WordPress admin area for managing the content."
513
+ msgstr "<h6>Nom au singulier</h6> Ce texte est utilisé pour désigner 1 item. Il apparaît dans l'interface d'administration de WordPress pour la gestion du contenu."
514
 
515
+ #: ui/admin/setup-add.php:130
516
+ msgid "Plural Label"
517
+ msgstr "Nom pluriel"
518
 
519
+ #: ui/admin/setup-add.php:130
520
+ msgid "<h6>Plural Label</h6> This is the label for more than 1 item (Plural) that will appear throughout the WordPress admin area for managing the content."
521
+ msgstr "<h6>Nom au pluriel</h6> Ce texte est utilisé pour désigner plusieurs item. Il apparaît dans l'interface d'administration de WordPress pour la gestion du contenu."
522
 
523
+ #: ui/admin/setup-add.php:138
524
+ msgid "<h6>Page Title</h6> This is the text that will appear at the top of your settings page."
525
+ msgstr "<h6>Titre de la Page</h6> Ceci est le texte qui apparaitra en haut de votre page de paramètres."
526
 
527
+ #: ui/admin/setup-add.php:144
528
+ msgid "Menu Label"
529
+ msgstr "Label du Menu"
530
 
531
+ #: ui/admin/setup-add.php:144
532
+ msgid "<h6>Menu Label</h6> This is the label that will appear throughout the WordPress admin area for your settings."
533
+ msgstr "<h6>Label du Menu</h6> Ceci est le label qui apparaîtra sur les pages de l'admin WordPress pour vos réglages."
 
534
 
535
+ #: ui/admin/setup-add.php:150
536
+ msgid "<h6>Menu Location</h6> This is the location where the new settings page will be added in the WordPress Dashboard menu."
537
+ msgstr "<h6>Position du menu</h6> Ceci est la l'endroit ou sera ajouté la page de réglages dans le Menu du Dashboard de WordPress."
538
 
539
+ #: ui/admin/setup-add.php:175 ui/admin/setup-add.php:186
540
+ msgid "Pod Name"
541
+ msgstr "Nom du Pod"
542
 
543
+ #: ui/admin/setup-add.php:175 ui/admin/setup-add.php:186
544
+ msgid "<h6>Pod Indentifier</h6> This is different than the labels users will see in the WordPress admin areas, it is the name you will use to programatically reference this object throughout your theme, WordPress, and other PHP."
545
+ msgstr ""
546
 
547
+ #: ui/admin/setup-add.php:196 ui/admin/setup-add.php:332
548
+ msgid "<h6>Storage Types</h6> Table based storage will operate in a way where each field you create for your content type becomes a field in a table. Meta based storage relies upon the WordPress meta storage table for all field data."
549
+ msgstr ""
 
550
 
551
+ #: ui/admin/setup-add.php:199 ui/admin/setup-add.php:335
552
+ msgid "Meta Based (WP Default)"
553
+ msgstr "basé sur les meta (par défault pour Wordpress)"
554
 
555
+ #: ui/admin/setup-add.php:200 ui/admin/setup-add.php:336
556
+ msgid "Table Based"
557
+ msgstr "Basé sur une table"
 
558
 
559
+ #: ui/admin/setup-add.php:215
560
+ msgid "Extending an existing Content Type allows you to add fields to it and take advantage of the Pods architecture for management and optionally for theming."
561
+ msgstr "Etendre un type de contenu existant permet de lui ajouter des champs et de bénéficier de l'architecture de Pods pour la gestion de ce type ainsi que pour les thèmes."
 
 
 
 
 
 
562
 
563
+ #: ui/admin/setup-add.php:218
564
+ msgid "Extend an Existing Content Type"
565
+ msgstr "&Eacute;tendre un Typde de Contenu existant"
 
 
 
 
 
 
566
 
567
+ #: ui/admin/setup-add.php:227
568
+ msgid "Post Types (Posts, Pages, etc..)"
569
+ msgstr "Type de post (Post, Pages, etc.)"
570
 
571
+ #: ui/admin/setup-add.php:270 ui/admin/setup-edit.php:856
572
+ msgid "Post Type"
573
+ msgstr "De type Post"
574
 
575
+ #: ui/admin/setup-add.php:270
576
+ msgid "<h6>Post Types</h6> WordPress can hold and display many different types of content. Internally, these are all stored in the same place, in the wp_posts table. These are differentiated by a column called post_type."
577
+ msgstr "<h6>Post Types</h6> WordPress peut gérer et afficher beaucoup de types de contenus différents. En interne ils sont tous stockés au même endroits dans la table wp_posts. Les types de contenus se distinguent par la colonne post_type de cette table."
578
 
579
+ #: ui/admin/setup-add.php:299 ui/admin/setup-edit.php:857
580
+ msgid "Taxonomy"
581
+ msgstr "Taxonomies"
582
 
583
+ #: ui/admin/setup-add.php:299
584
+ msgid "<h6>Taxonomies</h6> A taxonomy is a way to group Post Types."
585
+ msgstr "<h6>Taxonomies</h6> Une taxonomie est une façon de grouper des Post Types."
586
 
587
+ #: ui/admin/setup-edit-field-fluid.php:8 ui/admin/setup-edit-field.php:48
588
+ msgid "Move"
589
+ msgstr "Déplacer"
590
 
591
+ #: ui/admin/setup-edit-field-fluid.php:11
592
+ #: ui/admin/setup-edit-field-fluid.php:17 ui/admin/setup-edit-field.php:51
593
+ #: ui/admin/setup-edit-field.php:67
594
+ msgid "Edit this field"
595
+ msgstr "Editer ce champ"
596
 
597
+ #: ui/admin/setup-edit-field-fluid.php:12
598
+ msgid "New Field"
599
+ msgstr "Nouveau champ"
600
 
601
+ #: ui/admin/setup-edit-field-fluid.php:20 ui/admin/setup-edit-field.php:70
602
+ msgid "Duplicate this field"
603
+ msgstr "Dupliquer ce Champ"
604
 
605
+ #: ui/admin/setup-edit-field-fluid.php:23 ui/admin/setup-edit-field.php:73
606
+ msgid "Delete this field"
607
+ msgstr "Supprimer ce champ"
608
 
609
+ #: ui/admin/setup-edit-field-fluid.php:66
610
+ msgid "You will use this name to programatically reference this field throughout WordPress"
611
+ msgstr "Vous utiliserez ce nom dans votre code partout dans Wordpress"
612
 
613
+ #: ui/admin/setup-edit-field-fluid.php:74
614
+ msgid "Field Type"
615
+ msgstr "Type de champ"
616
 
617
+ #: ui/admin/setup-edit-field-fluid.php:79
618
+ msgid "Related To"
619
+ msgstr "Lié à"
620
 
621
+ #: ui/admin/setup-edit-field-fluid.php:83
622
+ msgid "Custom Defined Options"
623
+ msgstr "Options personnalisées"
624
 
625
+ #: ui/admin/setup-edit-field-fluid.php:83
626
+ msgid "One option per line, use <em>value|Label</em> for separate values and labels"
627
+ msgstr "Une option par ligne, utilisez <em>valeur|intitulé</em> pour séparer la valeur et son intitulé"
628
 
629
+ #: ui/admin/setup-edit-field-fluid.php:87
630
+ msgid "Related Table"
631
+ msgstr "Table Associée"
632
 
633
+ #: ui/admin/setup-edit-field-fluid.php:91
634
+ msgid "Bi-directional Field"
635
+ msgstr "Champ bi-directionnel"
636
 
637
+ #: ui/admin/setup-edit-field-fluid.php:91
638
+ msgid "Bi-directional fields will update their related field for any item you select. This feature is only available for two relationships between two Pods.<br /><br />For example, when you update a Parent pod item to relate to a Child item, when you go to edit that Child item you will see the Parent pod item selected."
639
+ msgstr "Les champs bi-directionnels mettent à jour leur champ lié pour n'importe quel item sélectionné. Cette fonctionnalité n'est disponible que pour les relations entre deux Pods.<br/>Par exemple quand vous créer une relation entre un Pod parent et un pod enfant, en éditant ce Pod enfant vous verrrez le Pod parent sélectionné."
640
 
641
+ #: ui/admin/setup-edit-field-fluid.php:100
642
+ msgid "Options"
643
+ msgstr "Options"
 
 
 
 
644
 
645
+ #: ui/admin/setup-edit-field-fluid.php:106
646
+ msgid "Required"
647
+ msgstr "Requis"
648
 
649
+ #: ui/admin/setup-edit-field-fluid.php:112
650
+ msgid "Unique"
651
+ msgstr "Unique"
652
 
653
+ #: ui/admin/setup-edit-field-fluid.php:187
654
+ msgid "Delete Field"
655
+ msgstr "Supprimer le champ"
656
 
657
+ #: ui/admin/setup-edit-field-fluid.php:190
658
+ msgid "Update Field"
659
+ msgstr "Mettre à jour le champ"
660
 
661
+ #: ui/admin/setup-edit-field-fluid.php:190 ui/admin/setup-edit.php:242
662
+ #: ui/admin/setup-edit.php:315
663
+ msgid "Add Field"
664
+ msgstr "Ajouter un champ"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
665
 
666
  #: ui/admin/setup-edit.php:15
667
  msgid "Extra fields were successfully enabled for this Custom Taxonomy."
668
  msgstr "Champs supplémentaires activés avec succès pour cette Custom Taxonomy."
669
 
670
+ #: ui/admin/setup-edit.php:50 ui/admin/setup-edit.php:51
671
+ #: ui/admin/setup-edit.php:53
672
+ msgid "Other"
673
+ msgstr "Autre"
 
 
 
674
 
675
  #: ui/admin/setup-edit.php:92
676
  msgid "-- Select Table --"
677
  msgstr "-- Sélectionner une Table --"
678
 
679
+ #: ui/admin/setup-edit.php:113
680
+ msgid "No Related Fields Found"
681
+ msgstr "Aucuns champs liés n'ont été trouvés."
682
 
683
+ #: ui/admin/setup-edit.php:260 ui/admin/setup-edit.php:276
684
+ msgid "<h6>Label</h6>The label is the descriptive name to identify the Pod field."
685
+ msgstr "<h6>Libellé</h6>Le libellé est le texte descriptif permettant d'identifier le champ."
686
 
687
+ #: ui/admin/setup-edit.php:263 ui/admin/setup-edit.php:279
688
+ msgid "<h6>Name</h6>The name attribute is what is used to identify and access the Pod field programatically."
689
+ msgstr "<h6>Nom</h6>Le nom est le texte utilisé pour identifier et accéder au champ depuis le code."
690
 
691
+ #: ui/admin/setup-edit.php:266 ui/admin/setup-edit.php:282
692
+ msgid "<h6>Field Types</h6>Field types are used to determine what kind of data will be stored in the Pod. They can range from, dates, text, files, etc."
693
+ msgstr "<h6>Types de champ</h6>Les types de champs permettent de définir quel type de données esront stockées dans le Pod. Il peut s'agir de dates, textes, fichiers etc."
694
 
695
+ #: ui/admin/setup-edit.php:342
696
+ msgid "Add New <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
697
+ msgstr "Ajouter un nouvel <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
698
 
699
+ #: ui/admin/setup-edit.php:346
700
+ msgid "New <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
701
+ msgstr "Nouvel <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
702
 
703
+ #: ui/admin/setup-edit.php:354
704
+ msgid "Edit <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
705
+ msgstr "Editer l'<span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
706
 
707
+ #: ui/admin/setup-edit.php:358
708
+ msgid "Update <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
709
+ msgstr "Mettre à jour l'<span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
710
 
711
+ #: ui/admin/setup-edit.php:366
712
+ msgid "View <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
713
+ msgstr "Voir l'<span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
714
 
715
+ #: ui/admin/setup-edit.php:370
716
+ msgid "All <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
717
+ msgstr "Tous les <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
718
 
719
+ #: ui/admin/setup-edit.php:374
720
+ msgid "Search <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
721
+ msgstr "Rechercher les <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
722
 
723
+ #: ui/admin/setup-edit.php:378
724
+ msgid "Not Found"
725
+ msgstr "Non trouvé"
726
 
727
+ #: ui/admin/setup-edit.php:386
728
+ msgid "Not Found in Trash"
729
+ msgstr "nopn trouvé dans la poubelle"
730
 
731
+ #: ui/admin/setup-edit.php:394
732
+ msgid "Popular <span class=\"pods-slugged\" data-sluggable=\"label\">Items</span>"
733
+ msgstr "<span class=\"pods-slugged\" data-sluggable=\"label\">Items</span> populaires"
734
 
735
+ #: ui/admin/setup-edit.php:398
736
+ msgid "Separate <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span> with commas"
737
+ msgstr "Séparer <span class=\"pods-slugged-lower\" data-sluggable=\"label\">les items</span> avec des virgules"
738
 
739
+ #: ui/admin/setup-edit.php:402
740
+ msgid "Add or remove <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span>"
741
+ msgstr "Ajouter ou supprimer des <span class=\"pods-slugged-lower\" data-sluggable=\"label\">items</span>"
742
 
743
+ #: ui/admin/setup-edit.php:406
744
+ msgid "Choose from the most used"
745
+ msgstr "Choisir à partir du plus utilisé"
746
 
747
+ #: ui/admin/setup-edit.php:441
748
+ msgid "Supports"
749
+ msgstr "Supports"
750
 
751
+ #: ui/admin/setup-edit.php:448 ui/admin/widgets/field.php:15
752
+ #: ui/admin/widgets/form.php:15 ui/admin/widgets/list.php:17
753
+ #: ui/admin/widgets/single.php:17 ui/admin/widgets/view.php:15
754
+ msgid "Title"
755
+ msgstr "Titre"
756
 
757
+ #: ui/admin/setup-edit.php:458
758
+ msgid "Author"
759
+ msgstr "Auteur"
760
 
761
+ #: ui/admin/setup-edit.php:463
762
+ msgid "Featured Image"
763
+ msgstr "Image phare"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
764
 
765
+ #: ui/admin/setup-edit.php:468
766
+ msgid "Excerpt"
767
+ msgstr "Extrait"
768
 
769
+ #: ui/admin/setup-edit.php:473
770
+ msgid "Trackbacks"
771
+ msgstr "Trackbacks"
 
 
 
 
 
 
772
 
773
+ #: ui/admin/setup-edit.php:478
774
+ msgid "Custom Fields"
775
+ msgstr "Champs personnalisés"
776
 
777
+ #: ui/admin/setup-edit.php:488
778
+ msgid "Revisions"
779
+ msgstr "Versions"
780
 
781
+ #: ui/admin/setup-edit.php:493
782
+ msgid "Page Attributes"
783
+ msgstr "Attributs de la page"
784
 
785
+ #: ui/admin/setup-edit.php:505
786
+ msgid "Genesis: SEO"
787
+ msgstr "Genesis: SEO"
788
 
789
+ #: ui/admin/setup-edit.php:510
790
+ msgid "Genesis: Layouts"
791
+ msgstr "Genesis: Layouts"
792
 
793
+ #: ui/admin/setup-edit.php:515
794
+ msgid "Genesis: Simple Sidebars"
795
+ msgstr "Genesis: Sidebars Simples"
796
+
797
+ #: ui/admin/setup-edit.php:523
798
+ msgid "YARPP Support"
799
  msgstr ""
 
 
 
800
 
801
+ #: ui/admin/setup-edit.php:531
802
+ msgid "Jetpack Publicize Support"
803
+ msgstr "Support de Jetpack Publicize "
804
 
805
+ #: ui/admin/setup-edit.php:536
806
+ msgid "Jetpack Markdown Support"
807
+ msgstr "Support de Jetpack Markdown "
808
 
809
+ #: ui/admin/setup-edit.php:544
810
+ msgid "Advanced Supports"
811
+ msgstr "Options \"Supports\""
812
 
813
+ #: ui/admin/setup-edit.php:544
814
+ msgid "Comma-separated list of custom \"supports\" values to pass to register_post_type."
815
+ msgstr "Liste de valeurs délimités par des virgules de \"supports\" à fournir en argument à la fonction register_post_type."
816
 
817
+ #: ui/admin/setup-edit.php:549
818
+ msgid "Built-in Taxonomies"
819
+ msgstr "Taxonomies incluses"
820
 
821
+ #: ui/admin/setup-edit.php:601
822
+ msgid "Allow Front Prepend"
823
+ msgstr "Autoriser l'ajout en front-end"
824
 
825
+ #: ui/admin/setup-edit.php:601
826
+ msgid "Allows permalinks to be prepended with front base (example: if your permalink structure is /blog/, then your links will be: Checked->/news/, Unchecked->/blog/news/)"
827
+ msgstr "Autorise le suffixe du front pour les permaliens (ex : si la struture de vos permaliens est /blog, alors les liens seront: Coché ->/news/, Décoché -> /bog/news/"
828
 
829
+ #: ui/admin/setup-edit.php:605
830
+ msgid "Hierarchical Permalinks"
831
+ msgstr "Permaliens hiérarchiques"
832
+
833
+ #: ui/admin/setup-edit.php:615
834
+ msgid "Custom Query Var Name"
835
  msgstr ""
 
 
 
836
 
837
+ #: classes/PodsAPI.php:4772
838
+ msgid "$params->pod_id instead of $params->datatype_id"
839
+ msgstr "$params->pod_id au lieu de $params->datatype_id"
840
+
841
+ #: classes/PodsUI.php:3721 classes/PodsUI.php:3739
842
  msgid "Show on screen"
843
  msgstr "Afficher à l'écran"
844
 
845
+ #: components/Migrate-CPTUI/ui/wizard.php:15
846
+ msgid "Migrate: Import from Custom Post Type UI"
847
+ msgstr "Migrer : importer de l'interface UI personnalié"
848
 
849
+ #: classes/PodsAPI.php:4785
850
+ msgid "Pod Item not found"
851
+ msgstr "Pod item non trouvé"
852
 
853
+ #: classes/PodsUI.php:3852
854
  msgid "Go to the first page"
855
  msgstr "Première page"
856
 
857
+ #: components/Migrate-CPTUI/ui/wizard.php:23
858
+ msgid "Setup"
859
+ msgstr "Configuration"
860
+
861
+ #: classes/PodsAPI.php:4828
862
+ msgid "Pre-delete helpers are deprecated, use the action pods_pre_delete_pod_item_%s instead"
863
+ msgstr "Les helpers pré suppression ne sont plus supportés, utilisez l'action pods_pre_delete_pod_item_%s à la place"
864
 
865
+ #: classes/PodsUI.php:3853
866
  msgid "Go to the previous page"
867
  msgstr "Page précédente"
868
 
869
+ #: components/Migrate-CPTUI/ui/wizard.php:27
870
+ #: ui/admin/upgrade/upgrade_2_0_0.php:26
871
+ msgid "Migrate"
872
+ msgstr "Migrer"
873
 
874
+ #: classes/PodsAPI.php:4865
875
+ msgid "Post-delete helpers are deprecated, use the action pods_post_delete_pod_item_%s instead"
876
+ msgstr "Les helpers post suppression ne sont plus supportés, utilisez l'action pods_post_delete_pod_item_%s à la place"
877
+
878
+ #: classes/PodsUI.php:3857
879
  msgid "Current page"
880
  msgstr "Page courante"
881
 
882
+ #: components/Migrate-CPTUI/ui/wizard.php:35
883
+ msgid "Custom Post Type UI provides an interface to create Custom Post Types and Custom Taxonomies. You can import these and their settings directly into Pods 2.0"
884
+ msgstr "L'interface utilisateur permet de créer visuellement de Custom Post Types et des Taxonomies. Vous pouvez importer ces derniers ainsi que leurs paramètres directement dansd pods 2.0"
885
+
886
+ #: classes/PodsAPI.php:5225 classes/fields/pick.php:391
887
+ #: ui/admin/setup-edit.php:855 ui/admin/upgrade/upgrade_2_0_0.php:75
888
+ #: ui/admin/upgrade/upgrade_2_0_0.php:191
889
+ msgid "Pods"
890
+ msgstr "Pods"
891
 
892
+ #: classes/PodsUI.php:3857 classes/PodsUI.php:3879
893
  msgid "of"
894
  msgstr "de"
895
 
896
+ #: components/Migrate-CPTUI/ui/wizard.php:40
897
+ msgid "Import Only"
898
+ msgstr "Importer seulement"
899
+
900
+ #: classes/PodsAPI.php:5229
901
+ #: components/Builder/modules/field/PodsBuilderModuleField.php:77
902
+ #: components/Builder/modules/form/PodsBuilderModuleForm.php:79
903
+ #: components/Builder/modules/list/PodsBuilderModuleList.php:82
904
+ #: components/Builder/modules/single/PodsBuilderModuleSingle.php:78
905
+ #: ui/admin/setup-edit.php:855 ui/admin/widgets/field.php:26
906
+ #: ui/admin/widgets/form.php:26 ui/admin/widgets/list.php:28
907
+ #: ui/admin/widgets/single.php:28
908
+ msgid "Pod"
909
+ msgstr "Pod"
910
 
911
  #: classes/PodsUI.php:3883
912
  msgid "Go to the next page"
913
  msgstr "Page suivante"
914
 
915
+ #: components/Migrate-CPTUI/ui/wizard.php:42
916
+ msgid "This will import your Custom Post Types and Taxonomies."
917
+ msgstr "Vos types personnalisés et taxonomies seront importés."
918
+
919
+ #: classes/PodsAPI.php:5238
920
+ msgid "Pod Fields"
921
+ msgstr "Champs du Pod"
922
 
923
  #: classes/PodsUI.php:3884
924
  msgid "Go to the last page"
925
  msgstr "Dernière page"
926
 
927
+ #: components/Migrate-CPTUI/ui/wizard.php:49
928
+ msgid "Import and Clean Up"
929
+ msgstr "Importer et nettoyer"
930
+
931
+ #: classes/PodsAPI.php:5242
932
+ msgid "Pod Field"
933
+ msgstr "Champ du Pod"
934
 
935
  #: classes/fields/avatar.php:66
936
  msgid "Avatar Uploader"
937
  msgstr "Uploader d'avatar"
938
 
939
+ #: components/Migrate-CPTUI/ui/wizard.php:51
940
+ msgid "This will import your Custom Post Types and Taxonomies, and then remove them from Custom Post Type UI."
941
+ msgstr "Vos Custom Post Types et Taxonomies seront importées et seront retirées de l'interface utilisateur des Custom Post Type."
942
+
943
+ #: classes/PodsAPI.php:5768
944
+ msgid "Either Field Name or Field ID / Pod ID are required"
945
+ msgstr "Le nom du champ ou l'ID du champ / du Pod sont requis"
946
 
947
  #: classes/fields/avatar.php:72 classes/fields/file.php:93
948
  msgid "Attachments (WP Media Library)"
949
  msgstr "Pièces jointes (Bilbliothèque de Media WP)"
950
 
951
+ #: components/Migrate-CPTUI/ui/wizard.php:60
952
+ msgid "Choose below which Custom Post Types and Taxonomies you want to import into Pods 2.0"
953
+ msgstr "Sélectionnez ci-dessous quel Custom Post Types et quel Taxonomie vous voulez importez dans Pods 2.0"
954
+
955
+ #: classes/PodsAPI.php:5816
956
+ msgid "Pod for field not found"
957
+ msgstr "Pas de pod trouvé pour le champ"
958
 
959
  #: classes/fields/avatar.php:73 classes/fields/file.php:94
960
  msgid "Plupload"
961
  msgstr "Plupload"
962
 
963
+ #: components/Migrate-CPTUI/ui/wizard.php:64
964
+ msgid "Choose Post Types to Import"
965
+ msgstr "Sélectionnez les types de posts à importer"
966
+
967
+ #: classes/PodsAPI.php:6053
968
+ msgid "Either Field Name / Field ID / Field Type, or Pod Name / Pod ID are required"
969
+ msgstr "Le nom du champ, son ID ou son type ou le nom du Pod ou son ID sont requis"
970
+
971
+ #: classes/fields/avatar.php:79 classes/fields/file.php:100
972
+ msgid "Attachments Default Tab"
973
+ msgstr "Onglet des p"
974
+
975
+ #: components/Migrate-CPTUI/ui/wizard.php:72
976
+ msgid "Available Post Types"
977
+ msgstr "Types de Pods disponibles"
978
+
979
+ #: classes/PodsAPI.php:6114
980
+ msgid "Object type is required"
981
+ msgstr "Le type de l'object esr requis"
982
+
983
+ #: classes/fields/avatar.php:85 classes/fields/avatar.php:120
984
+ #: classes/fields/file.php:106 classes/fields/file.php:195
985
+ msgid "Upload File"
986
+ msgstr "Uploader le fichier"
987
+
988
+ #: components/Migrate-CPTUI/ui/wizard.php:97
989
+ msgid "No Post Types were found."
990
+ msgstr "Aucun types de post n'a été trouvé"
991
+
992
+ #: classes/PodsAPI.php:6117
993
+ msgid "Either Object ID or Name are required"
994
+ msgstr "L'ID du champ ou son nom est requis"
995
+
996
+ #: classes/fields/avatar.php:86 classes/fields/avatar.php:121
997
+ #: classes/fields/file.php:107 classes/fields/file.php:196
998
+ msgid "Media Library"
999
+ msgstr "Bibliothèque de média"
1000
+
1001
+ #: components/Migrate-CPTUI/ui/wizard.php:105
1002
+ msgid "Choose Taxonomies to Import"
1003
+ msgstr "Sélectionnez les taxonomies à impoter"
1004
+
1005
+ #: classes/PodsAPI.php:6134
1006
+ msgid "Object not found"
1007
+ msgstr "Objet non trouvé"
1008
+
1009
+ #: classes/fields/avatar.php:90 classes/fields/file.php:127
1010
+ msgid "Restrict File Size"
1011
+ msgstr "Restreindre la taille du fichier"
1012
+
1013
+ #: components/Migrate-CPTUI/ui/wizard.php:113
1014
+ msgid "Available Taxonomies"
1015
+ msgstr "Taxonomies disponibles"
1016
+
1017
+ #: classes/PodsAPI.php:6177
1018
+ msgid "Pods Object type is required"
1019
+ msgstr "Le type d'objet du Pod est requis"
1020
+
1021
+ #: classes/fields/avatar.php:96 classes/fields/file.php:170
1022
+ msgid "Add Button Text"
1023
+ msgstr "Ajoutez un texte de bouton"
1024
+
1025
+ #: components/Migrate-CPTUI/ui/wizard.php:136
1026
+ msgid "No Taxonomies were found."
1027
+ msgstr "Aucune taxonomies n'a été trouvée"
1028
+
1029
+ #: classes/PodsAPI.php:6430
1030
+ msgid "Pod name required"
1031
+ msgstr "Nom du Pod requis"
1032
+
1033
+ #: classes/fields/avatar.php:97 classes/fields/avatar.php:109
1034
+ #: classes/fields/file.php:171 classes/fields/file.php:183
1035
+ #: ui/fields/attachment.php:102 ui/fields/media.php:132 ui/fields/media.php:145
1036
+ #: ui/fields/plupload.php:159
1037
+ msgid "Add File"
1038
+ msgstr "Ajouter un fichier"
1039
+
1040
+ #: components/Migrate-CPTUI/ui/wizard.php:146
1041
+ #: components/Migrate-Packages/ui/wizard.php:279
1042
+ #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:354
1043
+ #: ui/admin/upgrade/upgrade_2_0_0.php:289
1044
+ #: ui/admin/upgrade/upgrade_2_1_0.php:123
1045
+ msgid "Start Over"
1046
+ msgstr "Retouner au début"
1047
+
1048
+ #: classes/PodsAPI.php:6432
1049
+ msgid "Item ID required"
1050
+ msgstr "ID de l'item requis"
1051
+
1052
+ #: classes/fields/avatar.php:101 classes/fields/file.php:175
1053
+ msgid "Modal Title"
1054
+ msgstr "Titre de la fenêtre modale"
1055
+
1056
+ #: components/Migrate-CPTUI/ui/wizard.php:146 components/Roles/ui/add.php:122
1057
+ #: ui/admin/setup-add.php:354 ui/admin/upgrade/upgrade_2_0_0.php:289
1058
+ #: ui/admin/upgrade/upgrade_2_1_0.php:123
1059
+ msgid "Next Step"
1060
+ msgstr "Etape suivante"
1061
+
1062
+ #: classes/PodsAPI.php:6496
1063
+ msgid "Related Pod not found"
1064
+ msgstr "Pod lié non trouvé"
1065
+
1066
+ #: classes/fields/avatar.php:103 classes/fields/file.php:177
1067
+ #: ui/fields/media.php:144
1068
+ msgid "Attach a file"
1069
+ msgstr "Attacher un fichier"
1070
+
1071
+ #: components/Migrate-CPTUI/ui/wizard.php:146
1072
+ #: components/Migrate-Packages/ui/wizard.php:279
1073
+ #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:354
1074
+ msgid "Finished"
1075
+ msgstr "Termniné"
1076
 
1077
+ #: classes/PodsAPI.php:6613
1078
+ msgid "%s is empty"
1079
+ msgstr "%s est vide"
1080
 
1081
+ #: classes/fields/avatar.php:107 classes/fields/file.php:181
1082
+ msgid "Modal Add Button Text"
1083
+ msgstr "Texte du Bouton d'ajout dans la modale"
1084
 
1085
+ #: components/Migrate-CPTUI/ui/wizard.php:146
1086
+ #: components/Migrate-Packages/ui/wizard.php:279
1087
+ #: components/Roles/ui/add.php:122 ui/admin/setup-add.php:354
1088
+ msgid "Processing"
1089
+ msgstr "Traitement en cours"
1090
 
1091
+ #: classes/PodsAPI.php:6629 classes/fields/email.php:190
1092
+ msgid "%s is required"
1093
+ msgstr "%s est requis"
 
1094
 
1095
+ #: classes/fields/boolean.php:52 classes/fields/currency.php:100
1096
+ #: classes/fields/number.php:67
1097
+ msgid "Input Type"
1098
+ msgstr "Type de Champ"
1099
 
1100
+ #: components/Migrate-Packages/ui/wizard.php:15
1101
+ msgid "Migrate: Packages"
1102
+ msgstr "Migrer: Packages"
1103
+
1104
+ #: classes/PodsAPI.php:6656
1105
+ msgid "%s needs to be unique"
1106
+ msgstr "%s doit être unique"
1107
 
1108
  #: classes/fields/boolean.php:56
1109
  msgid "Checkbox"
1110
  msgstr "Case à cocher"
1111
 
1112
+ #: components/Migrate-Packages/ui/wizard.php:23
1113
+ msgid "Choose"
1114
+ msgstr "Choisir"
1115
+
1116
+ #: classes/PodsAPI.php:7944
1117
+ msgid "Invalid submission"
1118
+ msgstr "Soumission invalide"
1119
 
1120
+ #: classes/fields/boolean.php:57 classes/fields/pick.php:145
1121
  msgid "Radio Buttons"
1122
  msgstr "Boutons radio"
1123
 
1124
+ #: components/Migrate-Packages/ui/wizard.php:27
1125
+ msgid "Import / Export"
1126
+ msgstr "Importer / Exporter"
1127
+
1128
+ #: classes/PodsAPI.php:7956
1129
+ msgid "Access denied for your session, please refresh and try again."
1130
+ msgstr "Accès refusé pour votre session, rafraîchissez la page et essayez à nouveau."
1131
 
1132
+ #: classes/fields/boolean.php:58 classes/fields/pick.php:144
1133
  msgid "Drop Down"
1134
  msgstr "Liste déroulante"
1135
 
1136
+ #: components/Migrate-Packages/ui/wizard.php:50
1137
+ #: components/Migrate-Packages/ui/wizard.php:85
1138
+ #: components/Migrate-Packages/ui/wizard.php:103
1139
+ msgid "Packages allow you to import/export your Pods, Fields, and other settings between any Pods sites."
1140
+ msgstr "Les Packages vous permettenet d'importer/exporter vos Pods, Champs, et autres règlages entre vos différentes installations de Pods."
1141
+
1142
+ #: classes/PodsAPI.php:7959
1143
+ msgid "Access denied, please refresh and try again."
1144
+ msgstr "Accès refusé, rafraichissez la page et essayez à nouveau."
1145
+
1146
  #: classes/fields/boolean.php:63
1147
  msgid "Yes Label"
1148
  msgstr "Libellé du Oui"
1149
 
1150
+ #: components/Migrate-Packages/ui/wizard.php:56
1151
+ msgid "Import"
1152
+ msgstr "Import"
 
 
 
 
 
 
1153
 
1154
+ #: classes/PodsAdmin.php:231 classes/PodsAdmin.php:843
1155
+ #: classes/PodsAdmin.php:1965
1156
+ msgid "All"
1157
+ msgstr "Tout"
1158
 
1159
  #: classes/fields/boolean.php:68
1160
  msgid "No Label"
1161
  msgstr "Libellé du Non"
1162
 
1163
+ #: components/Migrate-Packages/ui/wizard.php:58
1164
+ msgid "Import a package of Pods, Fields, and other settings from another site."
1165
+ msgstr "Importer un Package de Pods, Champs ou autres réglages d'une autre installation de Pods."
1166
 
1167
+ #: classes/PodsAdmin.php:235 classes/PodsAdmin.php:290
1168
+ #: classes/PodsAdmin.php:1391 classes/PodsInit.php:842 classes/PodsUI.php:928
1169
+ #: classes/PodsUI.php:3520 ui/admin/setup-edit-field-fluid.php:17
1170
+ #: ui/admin/setup-edit-field.php:67 ui/admin/setup-edit.php:350
1171
+ msgid "Edit"
1172
+ msgstr "Editer"
1173
 
1174
+ #: classes/fields/code.php:59 classes/fields/color.php:49
1175
+ #: classes/fields/currency.php:91 classes/fields/date.php:58
1176
+ #: classes/fields/datetime.php:58 classes/fields/email.php:58
1177
+ #: classes/fields/number.php:58 classes/fields/paragraph.php:58
1178
+ #: classes/fields/phone.php:58 classes/fields/text.php:58
1179
+ #: classes/fields/time.php:57 classes/fields/website.php:58
1180
+ #: classes/fields/wysiwyg.php:58
1181
+ msgid "Repeatable Field"
1182
+ msgstr "Champ Répétable"
1183
+
1184
+ #: components/Migrate-Packages/ui/wizard.php:71
1185
+ msgid "Choose which Pods, Fields, and other settings to export into a package."
1186
+ msgstr "Choisissez quels Pods, Champs et autres réglages seront exportés dans un package."
1187
+
1188
+ #: classes/PodsAdmin.php:237 classes/PodsAdmin.php:257
1189
+ #: classes/PodsAdmin.php:258 classes/PodsAdmin.php:292
1190
+ #: classes/PodsAdmin.php:306 classes/PodsAdmin.php:424
1191
+ #: classes/PodsAdmin.php:1390 classes/PodsInit.php:839 classes/PodsUI.php:927
1192
+ #: classes/PodsUI.php:948 ui/admin/setup-edit.php:338
1193
+ msgid "Add New"
1194
+ msgstr "Ajouter"
1195
+
1196
+ #: classes/fields/code.php:62 classes/fields/color.php:52
1197
+ #: classes/fields/currency.php:94 classes/fields/date.php:61
1198
+ #: classes/fields/datetime.php:61 classes/fields/email.php:61
1199
+ #: classes/fields/number.php:61 classes/fields/paragraph.php:61
1200
+ #: classes/fields/phone.php:61 classes/fields/text.php:61
1201
+ #: classes/fields/time.php:60 classes/fields/website.php:61
1202
+ #: classes/fields/wysiwyg.php:61
1203
+ msgid "Making a field repeatable will add controls next to the field which allows users to Add/Remove/Reorder additional values. These values are saved in the database as an array, so searching and filtering by them may require further adjustments\"."
1204
+ msgstr "L'ajout d'un champ répétable ajoutera une interface à proximité du champ qui permet à un utilisateur d'Ajouter/Supprimer/Changer l'ordre de valeurs supplémentaires. Ces valeurs sont sauvegardées dans la base de donnée sous forme d'un array. La recherche et les filtres sur ces champs nécessitera une prise en compte particulière. "
1205
+
1206
+ #: components/Migrate-Packages/ui/wizard.php:89
1207
+ msgid "Paste the Package Code"
1208
+ msgstr "Collez le Code du Package"
1209
+
1210
+ #: classes/PodsAdmin.php:286 classes/PodsAdmin.php:307 classes/PodsUI.php:926
1211
+ #: components/Roles/ui/edit.php:39 ui/admin/form.php:183 ui/admin/view.php:17
1212
+ msgid "Manage"
1213
+ msgstr "Gérer"
1214
 
1215
  #: classes/fields/code.php:68 classes/fields/html.php:58
1216
  #: classes/fields/paragraph.php:67 classes/fields/text.php:67
1218
  msgid "Output Options"
1219
  msgstr "Options de sortie"
1220
 
1221
+ #: components/Migrate-Packages/ui/wizard.php:112
1222
+ msgid "Choose which Pods to export"
1223
+ msgstr "Choisissez les Pods à exporter"
1224
+
1225
+ #: classes/PodsAdmin.php:419
1226
+ msgid "Edit Pods"
1227
+ msgstr "Modifier Pods"
1228
 
1229
  #: classes/fields/code.php:71 classes/fields/html.php:103
1230
  #: classes/fields/paragraph.php:112 classes/fields/text.php:70
1232
  msgid "Allow Shortcodes?"
1233
  msgstr "Autoriser les shortcodes"
1234
 
1235
+ #: components/Migrate-Packages/ui/wizard.php:117
1236
+ #: components/Migrate-Packages/ui/wizard.php:156
1237
+ #: components/Migrate-Packages/ui/wizard.php:195
1238
+ #: components/Migrate-Packages/ui/wizard.php:234
1239
+ msgid "Toggle all on / off"
1240
+ msgstr "Permuter tous on / off"
1241
+
1242
+ #: classes/PodsAdmin.php:429
1243
+ msgid "Components"
1244
+ msgstr "Composants"
1245
 
1246
  #: classes/fields/code.php:79 classes/fields/currency.php:185
1247
  #: classes/fields/email.php:67 classes/fields/number.php:113
1251
  msgid "Maximum Length"
1252
  msgstr "Longueur maximale"
1253
 
1254
+ #: components/Migrate-Packages/ui/wizard.php:151
1255
+ msgid "Choose which Pod Templates to export"
1256
+ msgstr "Choisir les Pod Templates à exporter"
1257
+
1258
+ #: classes/PodsAdmin.php:434 classes/PodsAdmin.php:457
1259
+ #: ui/admin/components-admin.php:10 ui/admin/upgrade/upgrade_2_0_0.php:221
1260
+ msgid "Settings"
1261
+ msgstr "Paramètres"
1262
+
1263
+ #: classes/fields/code.php:82 classes/fields/currency.php:188
1264
+ #: classes/fields/email.php:70 classes/fields/number.php:116
1265
+ #: classes/fields/paragraph.php:134 classes/fields/password.php:62
1266
+ #: classes/fields/phone.php:95 classes/fields/text.php:93
1267
+ #: classes/fields/website.php:83
1268
+ msgid "Set to -1 for no limit"
1269
+ msgstr "Définir à -1 pour illimité"
1270
+
1271
+ #: components/Migrate-Packages/ui/wizard.php:190
1272
+ msgid "Choose which Pod Pages to export"
1273
+ msgstr "Choisir les Pod Pages à exporter"
1274
+
1275
+ #: classes/PodsAdmin.php:439 classes/PodsAdmin.php:462
1276
+ msgid "Help"
1277
+ msgstr "Aide"
1278
 
1279
+ #: classes/fields/color.php:163 classes/fields/password.php:152
1280
  #: classes/fields/text.php:204
1281
  msgid "This field is required."
1282
  msgstr "Ce champ est requis"
1283
 
1284
+ #: components/Migrate-Packages/ui/wizard.php:229
1285
+ msgid "Choose which Pod Helpers to export"
1286
+ msgstr "Choisir les Pod Helpers à exporter"
1287
+
1288
+ #: classes/PodsAdmin.php:452 ui/admin/upgrade/upgrade_2_1_0.php:26
1289
+ msgid "Upgrade"
1290
+ msgstr "Mise à jour"
1291
 
1292
+ #: classes/fields/color.php:166
1293
  msgid "Invalid value provided for this field."
1294
  msgstr "Valeur invalide pour ce champ"
1295
 
1296
+ #: components/Migrate-Packages/ui/wizard.php:270
1297
+ msgid "Results"
1298
+ msgstr "Résultats"
1299
+
1300
+ #: classes/PodsAdmin.php:496
1301
+ msgid "Pods Admin"
1302
+ msgstr "Administration"
1303
 
1304
+ #: classes/fields/color.php:170
1305
  msgid "Invalid Hex Color value provided for this field."
1306
  msgstr "Valeur hexadécimale incorrecte pour ce champ."
1307
 
1308
+ #: components/Migrate-Packages/ui/wizard.php:279
1309
+ msgid "Process Again"
1310
+ msgstr "Traiter à nouveau"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1311
 
1312
+ #: classes/PodsAdmin.php:499
1313
+ msgid "Pods Upgrade"
1314
+ msgstr "Mise à jour"
1315
 
1316
+ #: classes/fields/currency.php:104 classes/fields/number.php:71
1317
+ msgid "Freeform Number"
1318
+ msgstr "Nombre à saisit libre"
1319
 
1320
+ #: components/Migrate-Packages/ui/wizard.php:279
1321
+ msgid "Continue"
1322
+ msgstr "Continuer"
1323
 
1324
+ #: classes/PodsAdmin.php:569
1325
+ msgid "<strong>NOTICE:</strong> Pods %s requires your action to complete the upgrade. Please run the <a href=\"%s\">Upgrade Wizard</a>."
1326
+ msgstr "<strong>ATTENTION</strong> Pods %s requiert votre intervention pour finaliser la mise à jour. Veuillez exécuter <a href=\"%s\">l'Assistant de mise à jour</a>."
1327
 
1328
+ #: classes/fields/currency.php:105 classes/fields/number.php:72
1329
+ msgid "Slider"
1330
+ msgstr "Curseur"
1331
 
1332
+ #: components/Pages.php:290
1333
+ msgid "Enter URL here"
1334
+ msgstr "Entrer l'URL ici"
1335
 
1336
+ #: classes/PodsAdmin.php:716
1337
+ msgid "Post Type (extended)"
1338
+ msgstr "Type post (étendu)"
1339
 
1340
+ #: classes/fields/currency.php:110
1341
+ msgid "Currency Sign"
1342
+ msgstr "Sigle monétaire"
1343
 
1344
+ #: components/Pages.php:346
1345
+ msgid "-- Page Template --"
1346
+ msgstr "-- Gabarit de page --"
 
1347
 
1348
+ #: classes/PodsAdmin.php:717
1349
+ msgid "Taxonomy (extended)"
1350
+ msgstr "Taxonomie (étendue)"
1351
 
1352
+ #: classes/fields/currency.php:137
1353
+ msgid "Currency Placement"
1354
+ msgstr "Position du symbole monétaire"
 
 
1355
 
1356
+ #: components/Pages.php:348
1357
+ msgid "Custom (uses only Pod Page content)"
1358
+ msgstr "Personnalisé (utilise uniquement le contenu de la page Pod)"
1359
 
1360
+ #: classes/PodsAdmin.php:718
1361
+ msgid "Custom Post Type"
1362
+ msgstr "Type post personnalisé"
1363
 
1364
+ #: classes/fields/currency.php:141
1365
+ msgid "Before (ex. $100)"
1366
+ msgstr "Avant (ex: €100)"
1367
 
1368
+ #: components/Pages.php:351
1369
+ msgid "Pods (Pods Default)"
1370
+ msgstr "Pods (Pods par défaut)"
1371
 
1372
+ #: classes/PodsAdmin.php:719
1373
+ msgid "Custom Taxonomy"
1374
+ msgstr "Taxonomie personnalisée"
1375
 
1376
+ #: classes/fields/currency.php:142
1377
+ msgid "After (ex. 100$)"
1378
+ msgstr "Après (ex: 100€)"
1379
 
1380
+ #: components/Pages.php:354
1381
+ msgid "Page (WP Default)"
1382
+ msgstr "Page (par défaut de WP)"
 
1383
 
1384
+ #: classes/PodsAdmin.php:720
1385
+ msgid "User (extended)"
1386
+ msgstr "Utulisateur (étendu)"
 
1387
 
1388
+ #: classes/fields/currency.php:143
1389
+ msgid "None (ex. 100)"
1390
+ msgstr "Aucun (ex: 100)"
1391
 
1392
+ #: components/Pages.php:357
1393
+ msgid "Index (WP Fallback)"
1394
+ msgstr "Index (repli de WP)"
1395
 
1396
+ #: classes/PodsAdmin.php:721
1397
+ msgid "Media (extended)"
1398
+ msgstr "Media (étendu)"
1399
 
1400
+ #: classes/fields/currency.php:144
1401
+ msgid "Before with Currency Code after (ex. $100 USD)"
1402
+ msgstr "Avant avec le code ISO de la devise après (ex: €100 EUR)"
1403
 
1404
+ #: components/Pages.php:366 ui/admin/setup-add.php:138
1405
+ #: ui/admin/setup-edit.php:414
1406
+ msgid "Page Title"
1407
+ msgstr "Titre de la page"
1408
 
1409
+ #: classes/PodsAdmin.php:722
1410
+ msgid "Comments (extended)"
1411
+ msgstr "Commentaires (étendus)"
1412
 
1413
+ #: classes/fields/currency.php:148 classes/fields/number.php:77
1414
+ #: classes/fields/phone.php:67 classes/fields/pick.php:136
1415
+ #: classes/fields/pick.php:152 classes/fields/website.php:67
1416
+ msgid "Format"
1417
+ msgstr "Format"
1418
 
1419
+ #: components/Pages.php:371
1420
+ msgid "Page Code"
1421
+ msgstr "Code de la page"
1422
 
1423
+ #: classes/PodsAdmin.php:723
1424
+ msgid "Advanced Content Type"
1425
+ msgstr "Type contenu avancé"
 
 
1426
 
1427
+ #: classes/fields/currency.php:152 classes/fields/number.php:81
1428
+ msgid "Localized Default"
1429
+ msgstr "Defaut localisé"
1430
 
1431
+ #: components/Pages.php:384
1432
+ msgid "Page Precode"
1433
+ msgstr "Précode de la page"
1434
 
1435
+ #: classes/PodsAdmin.php:724 ui/admin/setup-add.php:89
1436
+ msgid "Custom Settings Page"
1437
+ msgstr "Page de Réglages"
1438
 
1439
+ #: classes/fields/currency.php:162 classes/fields/number.php:90
1440
+ msgid "Decimals"
1441
+ msgstr "Décimales"
1442
 
1443
+ #: components/Pages.php:386
1444
+ msgid "Precode will run before your theme outputs the page. It is expected that this value will be a block of PHP. You must open the PHP tag here, as we do not open it for you by default."
1445
+ msgstr "Le précode sera exécuté avant l'affichage de votre thème. Cette valeur doit être du code PHP. Vous devez utiliser le tag d'ouverture de script PHP dans la mesure où cela n'est pas fait automatiquement pour vous."
1446
 
1447
+ #: classes/PodsAdmin.php:732 components/Roles/Roles.php:90
1448
+ #: components/Roles/ui/add.php:43 ui/admin/setup-edit-field-fluid.php:62
1449
+ #: ui/admin/setup-edit.php:330
1450
+ msgid "Label"
1451
+ msgstr "Libellé"
1452
 
1453
+ #: classes/fields/currency.php:167 classes/fields/number.php:95
1454
+ msgid "Slider Increment (Step)"
1455
+ msgstr "\"Slider\" incrément"
1456
 
1457
+ #: components/Pages.php:390
1458
+ msgid "Page Template"
1459
+ msgstr "Gabarit de la page"
1460
 
1461
+ #: classes/PodsAdmin.php:733 classes/PodsAdmin.php:1930 classes/PodsUI.php:958
1462
+ #: components/Roles/Roles.php:91 components/Roles/ui/add.php:50
1463
  #: ui/admin/setup-edit-field-fluid.php:66
1464
+ msgid "Name"
1465
+ msgstr "Nom"
 
 
 
 
1466
 
1467
+ #: classes/fields/currency.php:173 classes/fields/number.php:101
1468
+ msgid "Minimum Number"
1469
+ msgstr "Minimum"
1470
 
1471
+ #: components/Pages.php:396
1472
+ msgid "Page"
1473
+ msgstr "Page"
1474
 
1475
+ #: classes/PodsAdmin.php:734 classes/PodsAdmin.php:845
1476
+ msgid "Type"
1477
+ msgstr "Type"
1478
 
1479
+ #: classes/fields/currency.php:179 classes/fields/number.php:107
1480
+ msgid "Maximum Number"
1481
+ msgstr "Maximum"
1482
 
1483
+ #: components/Pages.php:399
1484
+ msgid "-- Select a Pod --"
1485
+ msgstr "-- Sélectionner une valeur --"
1486
 
1487
+ #: classes/PodsAdmin.php:736 ui/admin/setup-add.php:196
1488
+ #: ui/admin/setup-add.php:332
1489
+ msgid "Storage Type"
1490
+ msgstr "type de stockage"
1491
 
1492
+ #: classes/fields/currency.php:503 classes/fields/number.php:350
1493
+ msgid "%s is not numeric"
1494
+ msgstr "%s n'est pas une valeur numérique"
1495
 
1496
+ #: components/Pages.php:415
1497
+ msgid "Associated Pod"
1498
+ msgstr "Pod Associé"
 
1499
 
1500
+ #: classes/PodsAdmin.php:740
1501
+ msgid "Number of Fields"
1502
+ msgstr "Nombre de champs"
1503
 
1504
+ #: classes/fields/date.php:67 classes/fields/datetime.php:67
1505
+ msgid "Date Format"
1506
+ msgstr "Format des dates"
 
1507
 
1508
+ #: components/Pages.php:423
1509
+ msgid "Wildcard Slug"
1510
+ msgstr "URL Wildcard (*)"
1511
 
1512
+ #: classes/PodsAdmin.php:822
1513
+ msgid "Delete All Items"
1514
+ msgstr "Supprimer tous les éléments"
 
1515
 
1516
+ #: classes/fields/date.php:83 classes/fields/datetime.php:124
1517
+ #: classes/fields/time.php:104
1518
+ msgid "Allow empty value?"
1519
+ msgstr "Autoriser les valeurs vides"
1520
 
1521
+ #: classes/PodsAdmin.php:823
1522
+ msgid "Are you sure you want to delete all items from this Pod? If this is an extended Pod, it will remove the original items extended too."
1523
+ msgstr "Êtes-vous certain de vouloir effacer tous les éléments de ce Pod? Si c'est un Pod étendu, cela supprimera également les éléments originaux."
 
1524
 
1525
+ #: classes/fields/date.php:88 classes/fields/datetime.php:129
1526
+ #: classes/fields/email.php:73 classes/fields/phone.php:98
1527
+ #: classes/fields/time.php:109 classes/fields/website.php:86
1528
+ msgid "Enable HTML5 Input Field?"
1529
+ msgstr "Autoriser les champs de saisie HTML 5 ?"
1530
 
1531
+ #: components/Pages.php:430
1532
+ msgid "Pod Association"
1533
+ msgstr "Association du Pod"
 
1534
 
1535
+ #: classes/PodsAdmin.php:838
1536
+ msgid "field"
1537
+ msgid_plural "fields"
1538
+ msgstr[0] "champ"
1539
+ msgstr[1] "champs"
1540
 
1541
+ #: classes/fields/datetime.php:84 classes/fields/time.php:66
1542
+ msgid "Time Format Type"
1543
+ msgstr "Type de format de date"
 
1544
 
1545
+ #: components/Pages.php:444
1546
+ msgid "<h6>Roles</h6> Roles are assigned to users to provide them access to specific functionality in WordPress. Please see the Roles and Capabilities component in Pods for an easy tool to add your own roles and edit existing ones."
1547
+ msgstr ""
 
1548
 
1549
+ #: classes/PodsAdmin.php:912 ui/admin/setup-edit.php:247
1550
+ msgid "Manage Fields"
1551
+ msgstr "Gérer les Champs"
1552
 
1553
+ #: classes/fields/datetime.php:89 classes/fields/time.php:70
1554
+ msgid "12 hour"
1555
+ msgstr "12 heures"
1556
 
1557
+ #: components/Pages.php:468 components/Templates/Templates.php:291
1558
+ msgid "<h6>Capabilities</h6> Capabilities denote access to specific functionality in WordPress, and are assigned to specific User Roles. Please see the Roles and Capabilities component in Pods for an easy tool to add your own capabilities and roles."
1559
+ msgstr ""
1560
 
1561
+ #: classes/PodsAdmin.php:915
1562
+ msgid "Labels"
1563
+ msgstr "Labels"
 
1564
 
1565
+ #: classes/fields/datetime.php:90 classes/fields/time.php:71
1566
+ msgid "24 hour"
1567
+ msgstr "24 heures"
 
1568
 
1569
+ #: components/Pages.php:490
1570
+ msgid "Redirect if Restricted?"
1571
+ msgstr "Rediriger si restreint ?"
 
1572
 
1573
+ #: classes/PodsAdmin.php:918
1574
+ msgid "Admin UI"
1575
+ msgstr "Interface Admin"
 
1576
 
1577
+ #: classes/fields/datetime.php:95 classes/fields/datetime.php:114
1578
+ #: classes/fields/time.php:76 classes/fields/time.php:94
1579
+ msgid "Time Format"
1580
+ msgstr "Format de date"
1581
 
1582
+ #: components/Pages.php:497
1583
+ msgid "Redirect to WP Login page"
1584
+ msgstr "Redirection vers la page de login WP"
1585
 
1586
+ #: classes/PodsAdmin.php:921
1587
+ msgid "Advanced Options"
1588
+ msgstr "Options Avancées"
1589
 
1590
+ #: classes/fields/email.php:192
1591
+ msgid "Invalid e-mail provided for %s"
1592
+ msgstr "Email invalide pour %s"
1593
 
1594
+ #: components/Pages.php:507
1595
+ msgid "Redirect to a Custom URL"
1596
+ msgstr "Redirection vers une URL personnalisée"
1597
 
1598
+ #: classes/PodsAdmin.php:924
1599
+ msgid "Extra Fields"
1600
+ msgstr "Champs Supplémentaires"
1601
 
1602
+ #: classes/fields/file.php:77
1603
+ msgid "Upload Limit"
1604
+ msgstr "Limite d'envoi"
1605
 
1606
+ #: components/Roles/Roles.php:68 components/Roles/Roles.php:213
1607
+ msgid "%s User"
1608
+ msgid_plural "%s Users"
1609
+ msgstr[0] "%s utilisateur"
1610
+ msgstr[1] "%s utilisateurs"
1611
 
1612
+ #: classes/PodsAdmin.php:968
1613
+ msgid "Post Type Description"
1614
+ msgstr "Description du type de post"
1615
 
1616
+ #: classes/fields/file.php:81
1617
+ msgid "Single File"
1618
+ msgstr "Fichier unique"
1619
 
1620
+ #: components/Roles/Roles.php:77 components/Roles/Roles.php:222
1621
+ msgid "View Users"
1622
+ msgstr "Voir les utilisateurs"
1623
 
1624
+ #: classes/PodsAdmin.php:969
1625
+ msgid "A short descriptive summary of what the post type is."
1626
+ msgstr "Une courte description du type de post."
1627
 
1628
+ #: classes/fields/file.php:82
1629
+ msgid "Multiple Files"
1630
+ msgstr "Fichiers multiples"
1631
 
1632
+ #: components/Roles/Roles.php:92 components/Roles/ui/add.php:26
1633
+ msgid "Capabilities"
1634
+ msgstr "Persmissions"
1635
 
1636
+ #: classes/PodsAdmin.php:974 classes/PodsAdmin.php:1181
1637
+ msgid "Show Admin UI"
1638
+ msgstr "Afficher l'interace"
1639
 
1640
+ #: classes/fields/file.php:87
1641
+ msgid "File Uploader"
1642
+ msgstr "Upload de fichier"
1643
+
1644
+ #: components/Roles/Roles.php:163 components/Roles/Roles.php:296
1645
+ msgid "Role not found, cannot edit it."
1646
+ msgstr "Rôle on trouvé, impossible d l'éditer."
1647
 
1648
+ #: classes/PodsAdmin.php:975 classes/PodsAdmin.php:982
1649
+ #: classes/PodsAdmin.php:990 classes/PodsAdmin.php:996
1650
+ #: classes/PodsAdmin.php:1003 classes/PodsAdmin.php:1017
1651
+ #: classes/PodsAdmin.php:1024 classes/PodsAdmin.php:1034
1652
+ #: classes/PodsAdmin.php:1041 classes/PodsAdmin.php:1048
1653
+ #: classes/PodsAdmin.php:1067 classes/PodsAdmin.php:1104
1654
+ #: classes/PodsAdmin.php:1111 classes/PodsAdmin.php:1141
1655
+ #: classes/PodsAdmin.php:1149 classes/PodsAdmin.php:1164
1656
+ #: classes/PodsAdmin.php:1171 classes/PodsAdmin.php:1182
1657
+ #: classes/PodsAdmin.php:1190 classes/PodsAdmin.php:1197
1658
+ #: classes/PodsAdmin.php:1213 classes/PodsAdmin.php:1219
1659
+ #: classes/PodsAdmin.php:1226 classes/PodsAdmin.php:1233
1660
+ #: classes/PodsAdmin.php:1240 classes/PodsAdmin.php:1285
1661
+ #: classes/PodsAdmin.php:1297 classes/PodsAdmin.php:1310
1662
+ #: classes/PodsAdmin.php:1316 classes/PodsAdmin.php:1323
1663
+ #: classes/PodsAdmin.php:1339 classes/PodsAdmin.php:1350
1664
+ #: classes/PodsAdmin.php:1358 classes/PodsAdmin.php:1364
1665
+ #: classes/PodsAdmin.php:1386 classes/PodsAdmin.php:1409
1666
+ #: classes/PodsAdmin.php:1417 classes/PodsAdmin.php:1552
1667
+ #: classes/PodsAdmin.php:1559 classes/PodsAdmin.php:1569
1668
+ #: classes/PodsAdmin.php:1576 classes/PodsAdmin.php:1645
1669
+ #: classes/fields/pick.php:126 classes/fields/pick.php:137
1670
+ #: classes/fields/pick.php:153 classes/fields/pick.php:193
1671
+ #: classes/fields/pick.php:233 classes/fields/pick.php:251
1672
+ #: classes/fields/pick.php:263 classes/fields/pick.php:275
1673
  #: ui/admin/setup-edit-field-fluid.php:62
1674
  #: ui/admin/setup-edit-field-fluid.php:70
1675
  #: ui/admin/setup-edit-field-fluid.php:74
1699
  msgid "help"
1700
  msgstr "aide"
1701
 
1702
+ #: classes/fields/file.php:111
1703
+ msgid "Editable Title"
1704
+ msgstr "Titre éditable"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1705
 
1706
+ #: components/Roles/Roles.php:178
1707
+ msgid "Role not found, it cannot be deleted."
1708
+ msgstr "Rôle non trouvé, impossible de le supprimer."
1709
 
1710
+ #: classes/PodsAdmin.php:981 classes/PodsAdmin.php:1349
1711
+ msgid "Show Admin Menu in Dashboard"
1712
+ msgstr "Afficher le menu Admin en dans le tableau de bord"
1713
 
1714
+ #: classes/fields/file.php:116
1715
+ msgid "Link to File in editor"
1716
+ msgstr ""
1717
 
1718
+ #: components/Roles/Roles.php:183
1719
+ msgid "You cannot remove the <strong>%s</strong> role, you must set a new default role for the site first."
1720
+ msgstr "Vous ne pouvez pas suppprimer le rôle <strong>%s</strong>, vous devez devez d'abord définir un rôle par défaut pour le site."
1721
 
1722
+ #: classes/PodsAdmin.php:989 classes/PodsAdmin.php:1357
1723
+ msgid "Parent Menu ID (optional)"
1724
+ msgstr "ID du Menu Parent (optionel)"
1725
 
1726
+ #: classes/fields/file.php:121
1727
+ msgid "Max Number of Files"
1728
+ msgstr "Nombre maximum de fichiers"
1729
 
1730
+ #: components/Roles/Roles.php:232
1731
+ msgid "role removed from site."
1732
+ msgstr "rôle supprimer du site."
1733
 
1734
+ #: classes/PodsAdmin.php:995 classes/PodsAdmin.php:1189
1735
+ #: ui/admin/setup-edit.php:418
1736
+ msgid "Menu Name"
1737
+ msgstr "Nom du menu"
1738
 
1739
+ #: classes/fields/file.php:133
1740
+ msgid "Restrict File Types"
1741
+ msgstr "Restreindre le type de fichier"
1742
 
1743
+ #: components/Roles/Roles.php:269
1744
+ msgid "Role name is required"
1745
+ msgstr "Le nom de rôle est requis"
1746
 
1747
+ #: classes/PodsAdmin.php:1002 classes/PodsAdmin.php:1218
1748
+ #: classes/PodsAdmin.php:1315 classes/PodsAdmin.php:1363
1749
+ msgid "Menu Position"
1750
+ msgstr "Position du menu"
1751
 
1752
+ #: classes/fields/file.php:139
1753
+ msgid "Images (jpg, jpeg, png, gif)"
1754
+ msgstr "Images (jpg, jpeg, png, gif)"
1755
 
1756
+ #: components/Roles/Roles.php:272
1757
+ msgid "Role label is required"
1758
+ msgstr "Le libellé du ôle est requis"
1759
 
1760
+ #: classes/PodsAdmin.php:1009
1761
+ msgid "Menu Icon"
1762
+ msgstr "icon de menu"
1763
 
1764
+ #: classes/fields/file.php:140
1765
+ msgid "Video (mpg, mov, flv, mp4, etc..)"
1766
+ msgstr "Video (mpg, mov, flv, mp4, ...)"
1767
 
1768
+ #: components/Roles/ui/add.php:14
1769
+ msgid "Roles &amp; Capabilities: Add New Role"
1770
+ msgstr "Rôles et permissions : Ajouter un rôle"
1771
 
1772
+ #: classes/PodsAdmin.php:1010
1773
+ msgid "URL or Dashicon name for the menu icon. You may specify the path to the icon using one of the <a href=\"http://pods.io/docs/build/special-magic-tags/#site-tags\" target=\"_blank\">site tag</a> type <a href=\"http://pods.io/docs/build/special-magic-tags/\" target=\"_blank\">special magic tags</a>. For example, for a file in your theme directory, use \"{@template-url}/path/to/image.png\". You may also use the name of a <a href=\"http://melchoyce.github.io/dashicons/\" target=\"_blank\">Dashicon</a>. For example, to use the empty star icon, use \"dashicons-star-empty\"."
1774
+ msgstr ""
1775
 
1776
+ #: classes/fields/file.php:141
1777
+ msgid "Audio (mp3, m4a, wav, wma, etc..)"
1778
+ msgstr "Audio (mp3, m4a, wav, wma, ...)"
1779
 
1780
+ #: components/Roles/ui/add.php:22
1781
+ msgid "Naming"
1782
+ msgstr "Appellation"
1783
 
1784
+ #: classes/PodsAdmin.php:1016 classes/PodsAdmin.php:1232
1785
+ msgid "Show in Navigation Menus"
1786
+ msgstr "Afficher la navigation dans les menus ?"
1787
 
1788
+ #: classes/fields/file.php:142
1789
+ msgid "Text (txt, csv, tsv, rtx, etc..)"
1790
+ msgstr "Text (txt, csv, tsv, rtx, ...)"
1791
 
1792
+ #: components/Roles/ui/add.php:34
1793
+ msgid "Roles allow you to specify which capabilities a user should be able to do within WordPress."
1794
+ msgstr "Les rôles définnissent les actions qu'un utilisateur est autorisé à faire au sein de Wordpress."
1795
 
1796
+ #: classes/PodsAdmin.php:1023
1797
+ msgid "Show in Admin Bar \"New\" Menu"
1798
+ msgstr "Afficher dans le menu \"Nouveau\" admin"
1799
 
1800
+ #: classes/fields/file.php:143
1801
+ msgid "Any Type (no restriction)"
1802
+ msgstr "Tous les types (pas de restriction)"
1803
 
1804
+ #: components/Roles/ui/add.php:38
1805
+ msgid "Name your new Role"
1806
+ msgstr "Donner un nom au nouveau rôle"
1807
 
1808
+ #: classes/PodsAdmin.php:1033 ui/admin/setup-edit.php:574
1809
  msgid "Public"
1810
  msgstr "Publique"
1811
 
1812
+ #: classes/fields/file.php:144
1813
+ msgid "Other (customize allowed extensions)"
1814
+ msgstr "Autres (personnaliser les extensions autorisées)"
1815
+
1816
+ #: components/Roles/ui/add.php:43
1817
+ msgid "Users will see this as the name of their role"
1818
+ msgstr "Les utilisateurs verront ce nom comme celui de leur rôle"
1819
 
1820
+ #: classes/PodsAdmin.php:1040
1821
  msgid "Publicly Queryable"
1822
  msgstr "Accessible plubliquement"
1823
 
1824
+ #: classes/fields/file.php:150
1825
+ msgid "Allowed File Extensions"
1826
+ msgstr "Extensions de fichier autorisées"
1827
+
1828
+ #: components/Roles/ui/add.php:50
1829
+ msgid "You will use this name to programatically reference this role throughout WordPress"
1830
+ msgstr "Vous utiliserez ce nom pour faire référence à ce rôle au sein de vos script."
1831
 
1832
+ #: classes/PodsAdmin.php:1047
1833
  msgid "Exclude from Search"
1834
  msgstr "Exclure de la recherche"
1835
 
1836
+ #: classes/fields/file.php:151
1837
+ msgid "Separate file extensions with a comma (ex. jpg,png,mp4,mov)"
1838
+ msgstr "Séparez les extensions de fichiers avec une virgule"
1839
 
1840
+ #: components/Roles/ui/add.php:59
1841
+ msgid "Choose below which Capabilities you would like this new user role to have."
1842
+ msgstr "Sélectionnez ci-dessous les permissions que vous souhaitez donner à ce rôle."
1843
 
1844
+ #: classes/PodsAdmin.php:1054
1845
+ msgid "User Capability"
1846
+ msgstr "Capacités d'utilisateur"
 
 
 
1847
 
1848
+ #: classes/fields/file.php:616 classes/fields/pick.php:1830
1849
+ #: classes/fields/pick.php:1832
1850
+ msgid "Invalid field request"
1851
+ msgstr "Requête de champ invalide"
1852
 
1853
+ #: components/Roles/ui/add.php:63 components/Roles/ui/edit.php:74
1854
+ msgid "Assign the Capabilities for"
1855
+ msgstr "Définir les permissions pour"
1856
 
1857
+ #: classes/PodsAdmin.php:1055
1858
+ msgid "Uses these capabilties for access to this post type: edit_{capability}, read_{capability}, and delete_{capability}"
1859
+ msgstr "Utilise ces droits pour accéder à ce type de post : edit_{capability}, read_{capability}, et delete_{capability}"
 
1860
 
1861
+ #: classes/fields/file.php:619 classes/fields/pick.php:1834
1862
+ #: classes/fields/pick.php:1836 classes/fields/pick.php:1838
1863
+ msgid "Invalid field"
1864
+ msgstr "Champ invalide"
1865
 
1866
+ #: components/Roles/ui/add.php:67 components/Roles/ui/edit.php:82
1867
+ msgid "Toggle All Capabilities on / off"
1868
+ msgstr "Activer/désactiver toutes les permissions"
 
1869
 
1870
+ #: classes/PodsAdmin.php:1061
1871
+ msgid "Custom Capability"
1872
+ msgstr "Droits personnalisés"
 
 
 
 
 
 
 
1873
 
1874
+ #: classes/fields/file.php:658
1875
+ msgid "File size too large, max size is %s"
1876
+ msgstr "Taille du fichier trop importante, la taille maximale est de %%"
 
1877
 
1878
+ #: components/Roles/ui/add.php:97 components/Roles/ui/edit.php:113
1879
+ msgid "Custom Capabilities"
1880
+ msgstr "Permisions personnalisées"
 
 
 
 
 
 
 
 
1881
 
1882
+ #: classes/PodsAdmin.php:1066
1883
+ msgid "Custom User Capability"
1884
+ msgstr "Droits d'utilisateur personnalisés"
 
 
 
1885
 
1886
+ #: classes/fields/file.php:749
1887
+ msgid "File type not allowed, please use one of the following: %s"
1888
+ msgstr "Format de fichier non autorisé, utilisez un des formats suivants : %s"
1889
 
1890
+ #: components/Roles/ui/add.php:97 components/Roles/ui/edit.php:113
1891
+ msgid "These capabilities will automatically be created and assigned to this role"
1892
+ msgstr "Ces permissions seront automatiquement accordées à ce rôle"
 
1893
 
1894
+ #: classes/PodsAdmin.php:1073
1895
+ msgid "Additional User Capabilities"
1896
+ msgstr "Droits d'utilisateur additionnels"
1897
 
1898
+ #: classes/fields/html.php:61 classes/fields/paragraph.php:70
1899
+ #: classes/fields/text.php:76
1900
+ msgid "Allow HTML?"
1901
+ msgstr "Autoriser le code HTML ?"
1902
 
1903
+ #: components/Roles/ui/edit.php:15
1904
+ msgid "Roles &amp; Capabilities: Edit Role"
1905
+ msgstr "Rôles &amp; premissions : Editer le rôle"
1906
+
1907
+ #: classes/PodsAdmin.php:1074
1908
+ msgid "Enables additional capabilities for this Post Type including: delete_{capability}s, delete_private_{capability}s, delete_published_{capability}s, delete_others_{capability}s, edit_private_{capability}s, and edit_published_{capability}s"
1909
+ msgstr ""
1910
+
1911
+ #: classes/fields/html.php:67 classes/fields/paragraph.php:76
1912
+ #: classes/fields/wysiwyg.php:94
1913
+ msgid "Enable oEmbed?"
1914
+ msgstr "Aciver oEmbed ?"
1915
+
1916
+ #: components/Roles/ui/edit.php:30
1917
+ msgid "Choose below which Capabilities you would like this existing user role to have."
1918
+ msgstr "Sélectionnez ci-dessous les permissions que vous souhaitez accorder au rôle existant."
1919
+
1920
+ #: classes/PodsAdmin.php:1080
1921
+ msgid "Enable Archive Page"
1922
+ msgstr "Activer la page d'archive"
1923
+
1924
+ #: classes/fields/html.php:71 classes/fields/paragraph.php:80
1925
+ #: classes/fields/wysiwyg.php:98
1926
+ msgid "Embed videos, images, tweets, and other content."
1927
+ msgstr "inclusion de vidéos, images, tweets et autre contenu."
1928
+
1929
+ #: components/Roles/ui/edit.php:47 ui/admin/form-settings.php:79
1930
+ #: ui/admin/form.php:120
1931
+ msgid "Save"
1932
+ msgstr "Enregistrer"
1933
+
1934
+ #: classes/PodsAdmin.php:1081
1935
+ msgid "If enabled, creates an archive page with list of of items in this custom post type. Functions like a category page for posts. Can be controlled with a template in your theme called \"archive-{$post-type}.php\"."
1936
+ msgstr ""
1937
+
1938
+ #: classes/fields/html.php:76 classes/fields/paragraph.php:85
1939
+ #: classes/fields/wysiwyg.php:103
1940
+ msgid "Enable wptexturize?"
1941
+ msgstr "Activer wptexturize? ?"
1942
+
1943
+ #: components/Table-Storage.php:47
1944
+ msgid "Taxonomies (Categories, Tags, etc..)"
1945
+ msgstr "Taxonomies (Categories, Tags, etc..)"
1946
 
1947
+ #: classes/PodsAdmin.php:1088
1948
+ msgid "Archive Page Slug Override"
1949
+ msgstr ""
 
1950
 
1951
+ #: classes/fields/html.php:80 classes/fields/paragraph.php:89
1952
+ #: classes/fields/wysiwyg.php:107
1953
+ msgid "Transforms less-beautfiul text characters into stylized equivalents."
1954
+ msgstr "Transformer les moins beaux caractères en leur équivalent stylisés."
1955
 
1956
+ #: components/Templates/Templates.php:248
1957
+ msgid "Enter template name here"
1958
+ msgstr "Saisir le nom du template ici"
 
1959
 
1960
+ #: classes/PodsAdmin.php:1089
1961
+ msgid "If archive page is enabled, you can override the slug used by WordPress, which defaults to the name of the post type."
1962
+ msgstr ""
 
1963
 
1964
+ #: classes/fields/html.php:85 classes/fields/paragraph.php:94
1965
+ #: classes/fields/wysiwyg.php:112
1966
+ msgid "Enable convert_chars?"
1967
+ msgstr "Autoriser convert_chars ?"
1968
+
1969
+ #: components/Templates/Templates.php:282
1970
+ msgid "Show to Admins Only?"
1971
+ msgstr "Visible seulement pour les admnistrateurs ?"
1972
 
1973
+ #: classes/PodsAdmin.php:1095 ui/admin/setup-edit.php:578
1974
  #: ui/admin/setup-edit.php:687
1975
  msgid "Hierarchical"
1976
  msgstr "Hiérarchique"
1977
 
1978
+ #: classes/fields/html.php:89 classes/fields/paragraph.php:98
1979
+ #: classes/fields/wysiwyg.php:116
1980
+ msgid "Converts text into valid XHTML and Unicode"
1981
+ msgstr "Convertir le texte vers du XHTML valide et Unicode"
1982
+
1983
+ #: components/Templates/Templates.php:422
1984
+ msgid "You do not have access to view this content."
1985
+ msgstr "Vous n'avez pas les droits suffisants pour accéder à ce contenu."
1986
+
1987
+ #: classes/PodsAdmin.php:1096
1988
+ msgid "Allows for parent/ child relationships between items, just like with Pages. Note: To edit relationships in the post editor, you must enable \"Page Attributes\" in the \"Supports\" section below."
1989
+ msgstr ""
1990
+
1991
+ #: classes/fields/html.php:94 classes/fields/paragraph.php:103
1992
+ #: classes/fields/wysiwyg.php:121
1993
+ msgid "Enable wpautop?"
1994
+ msgstr "Activier wpautop ?"
1995
+
1996
+ #: components/Templates/class-pods_templates.php:208
1997
+ msgid "Pod Reference"
1998
+ msgstr ""
1999
 
2000
+ #: classes/PodsAdmin.php:1103 ui/admin/setup-edit.php:583
2001
  msgid "<strong>Label: </strong> Parent <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2002
  msgstr "<strong>Label: </strong> Parent <span class=\"pods-slugged\" data-sluggable=\"label_singular\">Item</span>"
2003
 
2004
+ #: classes/fields/html.php:98
2005
+ msgid "Changes double line-breaks in the text into HTML htmls"
2006
+ msgstr ""
 
 
 
 
 
 
2007
 
2008
+ #: components/Templates/includes/element-pod_reference.php:12
2009
+ msgid "Select Pod to use as reference"
2010
+ msgstr "Sélectionnez le Pod a utiliser comme référence"
2011
+
2012
+ #: classes/PodsAdmin.php:1110 ui/admin/setup-edit.php:587
2013
  msgid "<strong>Label: </strong> Parent"
2014
  msgstr "<strong>Label: </strong> Parent"
2015
 
2016
+ #: classes/fields/html.php:108 classes/fields/paragraph.php:117
2017
+ #: classes/fields/wysiwyg.php:135
2018
+ msgid "Embed [shortcodes] that help transform your static content into dynamic content."
2019
+ msgstr "Embarqer les [shotcodes] qui aident à transformer du contenu statique en contenu dynamique."
2020
+
2021
+ #: includes/data.php:1668
2022
+ msgid "and"
2023
+ msgstr "et"
 
 
 
2024
 
2025
+ #: classes/PodsAdmin.php:1117 ui/admin/setup-edit.php:592
2026
  msgid "Rewrite"
2027
  msgstr "Réécriture"
2028
 
2029
+ #: classes/fields/paragraph.php:107 classes/fields/wysiwyg.php:125
2030
+ msgid "Changes double line-breaks in the text into HTML paragraphs"
2031
+ msgstr "Transformaer les doubles retour chariots en paragraphe HTML"
2032
+
2033
+ #: includes/general.php:131
2034
+ msgid "The following issue occurred:"
2035
+ msgstr "Le problème suivant est survenu :"
2036
+
2037
+ #: classes/PodsAdmin.php:1118
2038
+ msgid "Allows you to use pretty permalinks, if set in WordPress Settings->Reading. If not enbabled, your links will be in the form of \"example.com/?pod_name=post_slug\" regardless of your permalink settings."
2039
+ msgstr ""
2040
+
2041
+ #: classes/fields/paragraph.php:124 classes/fields/text.php:84
2042
+ #: classes/fields/wysiwyg.php:142
2043
+ msgid "Allowed HTML Tags"
2044
+ msgstr "Autorisr les balises HTML"
2045
+
2046
+ #: includes/general.php:133
2047
+ msgid "The following issues occurred:"
2048
+ msgstr "Les erreurs suivantes sont survenues:"
2049
 
2050
+ #: classes/PodsAdmin.php:1125 ui/admin/setup-edit.php:597
2051
  msgid "Custom Rewrite Slug"
2052
  msgstr "Réécriture de slug personnalisé"
2053
 
2054
+ #: classes/fields/paragraph.php:128 classes/fields/wysiwyg.php:145
2055
+ msgid "Format: strong em a ul ol li b i"
2056
+ msgstr "Format: strong em a ul ol li b i"
2057
+
2058
+ #: includes/general.php:137
2059
+ msgid "An unknown error has occurred"
2060
+ msgstr "Une erreur inconnue est survenue"
2061
+
2062
+ #: classes/PodsAdmin.php:1126
2063
+ msgid "Changes the first segment of the URL, which by default is the name of the Pod. For example, if your Pod is called \"foo\", if this field is left blank, your link will be \"example.com/foo/post_slug\", but if you were to enter \"bar\" your link will be \"example.com/bar/post_slug\"."
2064
+ msgstr ""
2065
+
2066
+ #: classes/fields/paragraph.php:150 classes/fields/wysiwyg.php:167
2067
+ msgid "Allow Markdown Syntax?"
2068
+ msgstr "Autoriser la syntaxe Markdown ?"
2069
+
2070
+ #: includes/general.php:377
2071
+ msgid "%1$s has been <strong>deprecated</strong> since Pods version %2$s! Use %3$s instead."
2072
+ msgstr "%1$s a été <strong>déprécié</strong> depuis Pods version %2$s ! Utilisez %3$s à la place."
2073
 
2074
+ #: classes/PodsAdmin.php:1132
2075
  msgid "Rewrite with Front"
2076
  msgstr "Réécriture avec front-end"
2077
 
2078
+ #: classes/fields/phone.php:71
2079
+ msgid "US"
2080
+ msgstr "US"
 
2081
 
2082
+ #: includes/general.php:379
2083
+ msgid "%1$s has been <strong>deprecated</strong> since Pods version %2$s with no alternative available."
2084
+ msgstr "%1$s a été <strong>déprécié</strong> depuis Pods version %2$s sans alternative possible. "
2085
 
2086
+ #: classes/PodsAdmin.php:1133
2087
+ msgid "Allows permalinks to be prepended with your front base (example: if your permalink structure is /blog/, then your links will be: Unchecked->/news/, Checked->/blog/news/)"
2088
+ msgstr "Permettre à un suffix d'être ajouté aux permaliens (example: si votre structure de permaliens est /blog/, alors vos liens seront: Non-activé -> /news/, Activé -> /blog/news/)"
2089
 
2090
+ #: classes/fields/phone.php:76
2091
+ msgid "International"
2092
+ msgstr "International"
2093
+
2094
+ #: includes/general.php:434 ui/admin/setup-edit.php:801
2095
+ msgid "Find out more"
2096
+ msgstr "En savoir plus"
2097
+
2098
+ #: classes/PodsAdmin.php:1140
2099
  msgid "Rewrite Feeds"
2100
  msgstr "Réécriture des feeds"
2101
 
2102
+ #: classes/fields/phone.php:77
2103
+ msgid "Any (no validation available)"
2104
+ msgstr "Tous (pas de validation)"
2105
+
2106
+ #: includes/general.php:992 includes/general.php:1011 includes/general.php:1031
2107
+ msgid "NOTICE"
2108
+ msgstr "NOTICE"
2109
 
2110
+ #: classes/PodsAdmin.php:1148
2111
  msgid "Rewrite Pages"
2112
  msgstr "Réécriture des pages"
2113
 
2114
+ #: classes/fields/phone.php:82
2115
+ msgid "Phone Options"
2116
+ msgstr "Options du de téléphone"
2117
+
2118
+ #: includes/general.php:992 includes/general.php:1011 includes/general.php:1031
2119
+ msgid "requires a minimum of"
2120
+ msgstr "requiert un minimum de"
2121
 
2122
+ #: classes/PodsAdmin.php:1156 ui/admin/setup-edit.php:610
2123
  msgid "Query Var"
2124
  msgstr "Variable de requête"
2125
 
2126
+ #: classes/fields/phone.php:85
2127
+ msgid "Enable Phone Extension?"
2128
+ msgstr "Autoriser l'extension du numéro de téléphone ?"
2129
+
2130
+ #: includes/general.php:993 includes/general.php:1012 includes/general.php:1032
2131
+ msgid "to function. You are currently running"
2132
+ msgstr "pour fonctionner. Vous utilisez actuellement"
2133
+
2134
+ #: classes/PodsAdmin.php:1157
2135
+ msgid "The Query Var is used in the URL and underneath the WordPress Rewrite API to tell WordPress what page or post type you are on. For a list of reserved Query Vars, read <a href=\"http://codex.wordpress.org/WordPress_Query_Vars\">WordPress Query Vars</a> from the WordPress Codex."
2136
+ msgstr ""
2137
+
2138
+ #: classes/fields/phone.php:197 classes/fields/website.php:185
2139
+ msgid "The %s field is required."
2140
+ msgstr "Le champ %s est requis."
2141
+
2142
+ #: includes/general.php:994
2143
+ msgid "Please upgrade your WordPress to continue."
2144
+ msgstr "Merci de mettre à jour Wordpress avant de continuer"
2145
 
2146
+ #: classes/PodsAdmin.php:1163
2147
  msgid "Exportable"
2148
  msgstr "Exportable"
2149
 
2150
+ #: classes/fields/phone.php:199
2151
+ msgid "Invalid phone number provided for the field %s."
2152
+ msgstr "Le numéro de téléphone fournit pour le champ %s est invalide."
2153
 
2154
+ #: includes/general.php:1013
2155
+ msgid "Please upgrade (or have your Hosting Provider upgrade it for you) your PHP version to continue."
2156
+ msgstr "Merci de mettre à jour (ou faire mettre à jour par votre hébergeur) votre version de PHP avant de continuer"
2157
 
2158
+ #: classes/PodsAdmin.php:1170
2159
+ msgid "Default Status"
2160
+ msgstr "Status par défaut"
2161
 
2162
+ #: classes/fields/pick.php:125
2163
+ msgid "Selection Type"
2164
+ msgstr "Type de sélection"
 
 
2165
 
2166
+ #: includes/general.php:1033
2167
+ msgid "Please upgrade (or have your Hosting Provider upgrade it for you) your MySQL version to continue."
2168
+ msgstr "Merci de mettre à jour (ou faire mettre à jour par votre hébergeur) votre version de MySQL avant de continuer"
2169
+
2170
+ #: classes/PodsAdmin.php:1196 classes/PodsAdmin.php:1296
2171
+ #: ui/admin/setup-add.php:150
2172
+ msgid "Menu Location"
2173
+ msgstr "Position du Menu"
2174
+
2175
+ #: classes/fields/pick.php:130
2176
+ msgid "Single Select"
2177
+ msgstr "Sélection simple"
2178
+
2179
+ #: classes/PodsAdmin.php:1202
2180
+ msgid "Default - Add to associated Post Type(s) menus"
2181
+ msgstr ""
2182
+
2183
+ #: classes/fields/pick.php:131
2184
+ msgid "Multiple Select"
2185
+ msgstr "Sélection multiple"
2186
+
2187
+ #: classes/PodsAdmin.php:1203 classes/PodsAdmin.php:1301
2188
+ msgid "Add to Settings menu"
2189
+ msgstr "Ajouter au menu Réglages"
2190
+
2191
+ #: classes/fields/pick.php:146 classes/fields/pick.php:162
2192
+ msgid "Autocomplete"
2193
+ msgstr "Auto complétion"
2194
+
2195
+ #: sql/upgrade/PodsUpgrade.php:128
2196
+ msgid "Invalid upgrade process."
2197
+ msgstr "Processus de mise à niveau invalide."
2198
+
2199
+ #: classes/PodsAdmin.php:1204 classes/PodsAdmin.php:1302
2200
+ msgid "Add to Appearances menu"
2201
+ msgstr "Ajouter au menu Apparence"
2202
+
2203
+ #: classes/fields/pick.php:147 classes/fields/pick.php:163
2204
+ msgid "Flexible"
2205
+ msgstr "Flexible"
2206
+
2207
+ #: sql/upgrade/PodsUpgrade.php:131
2208
+ msgid "Invalid upgrade method."
2209
+ msgstr "Méthode de mise à niveau invalide."
2210
+
2211
+ #: classes/PodsAdmin.php:1205
2212
+ msgid "Make a top-level menu item"
2213
+ msgstr "Ajoute un élément de menu de premier niveau"
2214
+
2215
+ #: classes/fields/pick.php:160
2216
+ msgid "Checkboxes"
2217
+ msgstr "Cases à cocher"
2218
+
2219
+ #: sql/upgrade/PodsUpgrade.php:134
2220
+ msgid "Upgrade method not found."
2221
+ msgstr "Méthode de mise à niveau non trouvée."
2222
+
2223
+ #: classes/PodsAdmin.php:1206 classes/PodsAdmin.php:1303
2224
+ msgid "Make a new top-level menu item below Settings"
2225
+ msgstr "Ajoute un élément de menu de premier niveau dans les Réglages"
2226
+
2227
+ #: classes/fields/pick.php:161
2228
+ msgid "Multi Select"
2229
+ msgstr "Selection multiple"
2230
 
2231
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:22 sql/upgrade/PodsUpgrade_2_0_0.php:44
2232
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:66 sql/upgrade/PodsUpgrade_2_0_0.php:88
2233
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:110 sql/upgrade/PodsUpgrade_2_0_0.php:132
2234
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:154 sql/upgrade/PodsUpgrade_2_0_0.php:183
2235
+ msgid "Table not found, it cannot be migrated"
2236
+ msgstr "Table non trouvée, elle ne peut être migrée"
2237
 
2238
+ #: classes/PodsAdmin.php:1207 classes/PodsAdmin.php:1304
2239
+ msgid "Add a submenu item to another menu"
2240
+ msgstr "Ajouter un élément de sous-menu à un autre menu"
 
2241
 
2242
+ #: classes/fields/pick.php:168
2243
+ msgid "Taggable"
2244
+ msgstr "Taggable"
2245
 
2246
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:178 sql/upgrade/PodsUpgrade_2_0_0.php:836
2247
+ msgid "Invalid Pod."
2248
+ msgstr "Pod invalide"
2249
 
2250
+ #: classes/PodsAdmin.php:1212 classes/PodsAdmin.php:1309
2251
+ msgid "Custom Menu Location"
2252
+ msgstr "Position de Menu personalisée"
2253
 
2254
+ #: classes/fields/pick.php:169
2255
+ msgid "Allow new values to be inserted when using an Autocomplete field"
2256
+ msgstr "Autoriser l'ajout de nouvelles valeurs avec un champ autocomplété"
2257
 
2258
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:197
2259
+ msgid "Pod not found, it cannot be migrated"
2260
+ msgstr "Pod non trouvé, il ne peut être migré"
2261
 
2262
+ #: classes/PodsAdmin.php:1225 classes/PodsAdmin.php:1322
2263
+ #: classes/PodsAdmin.php:1370
2264
+ msgid "Menu Icon URL"
2265
+ msgstr "Icone du menu"
2266
 
2267
+ #: classes/fields/pick.php:182
2268
+ msgid "Default Select Text"
2269
+ msgstr "Selection du texte par défaut"
2270
 
2271
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:216
2272
+ msgid "is a field in the table, but was not found in this pod - the field data will not be migrated."
2273
+ msgstr "est un champ dans la table, mais n'a pas été trouvé dans ce pod - le champ ne sera pas migré."
2274
 
2275
+ #: classes/PodsAdmin.php:1239
2276
+ msgid "Allow in Tagcloud Widget"
2277
+ msgstr "Autoriser dans le widget Tagcloud"
2278
 
2279
+ #: classes/fields/pick.php:183
2280
+ msgid "This is the text use for the default \"no selection\" dropdown item, if empty, it will default to \"-- Select One --\""
2281
+ msgstr "C'est le texte utilisé par défaut pour la liste de selection \"pas de selection\", si vide, affichera \"-- Selectionner --\""
2282
 
2283
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:221
2284
+ msgid "is a field in this pod, but was not found in the table - the field data will not be migrated."
2285
+ msgstr "est un champ dans ce pod, mais n'a pas été trouvé dans la table - le champ ne sera pas migré."
2286
 
2287
+ #: classes/PodsAdmin.php:1249
2288
+ msgid "Show Taxonomy column on Post Types"
2289
+ msgstr "Afficher une colonne Taxonomy pour le Post Types"
2290
 
2291
+ #: classes/fields/pick.php:192
2292
+ msgid "Selection Limit"
2293
+ msgstr "Limite de sélection"
2294
 
2295
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:551
2296
+ msgid "Pod <strong>%s</strong> not found, relationships cannot be migrated"
2297
+ msgstr "Pod <strong>%s</strong> introuvable, les relations ne peuvent pas être migrées"
2298
 
2299
+ #: classes/PodsAdmin.php:1250
2300
+ msgid "Whether to add a column for this taxonomy on the associated post types manage screens"
2301
+ msgstr ""
2302
 
2303
+ #: classes/fields/pick.php:199
2304
+ msgid "Allow HTML"
2305
+ msgstr "Autoriser l'HTML"
2306
 
2307
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:819
2308
+ msgid "Input Helpers may not function in our new forms, we have imported and disabled them for your review."
2309
+ msgstr "Les Input Helpers pourraient ne pas fonctionner aves les nouveaux formulaires, nous les avons importés et désactivés pour examen."
2310
 
2311
+ #: classes/PodsAdmin.php:1260
2312
+ msgid "Single Value Taxonomy"
2313
+ msgstr "Taxonomie à valeur unique"
2314
 
2315
+ #: classes/fields/pick.php:204
2316
+ msgid "Table ID Column"
2317
+ msgstr "Colonne ID de la Table"
2318
 
2319
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:841
2320
+ msgid "Table not found, items cannot be migrated"
2321
+ msgstr "table non trouvée, les itmes ne peuvent être migrées"
2322
 
2323
+ #: classes/PodsAdmin.php:1261
2324
+ msgid "Use a drop-down for the input instead of the WordPress default"
2325
+ msgstr ""
2326
 
2327
+ #: classes/fields/pick.php:205
2328
+ msgid "You must provide the ID column name for the table, this will be used to keep track of the relationship"
2329
+ msgstr "Vous devez fournir le nom de la colonne ID pour la table, ceci sera utilisé pour garder les données relationnelles synchronisées."
2330
 
2331
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:844
2332
+ msgid "New table not found, items cannot be migrated"
2333
+ msgstr "Nouvelle table non trouvée, le sitems ne peuvent être trouvées"
2334
 
2335
+ #: classes/PodsAdmin.php:1268
2336
+ msgid "Single Value Taxonomy - Required"
2337
+ msgstr "Taxonomie à valeur unique - Requis"
2338
 
2339
+ #: classes/fields/pick.php:212
2340
+ msgid "Table Index Column"
2341
+ msgstr "Colonne d'Index pour la Table"
2342
 
2343
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:847
2344
+ msgid "Pod Types table not found, items cannot be migrated"
2345
+ msgstr "La table des types de Pods n'a pas été trouvée, les items ne peuvent être migrées"
2346
 
2347
+ #: classes/PodsAdmin.php:1269
2348
+ msgid "A term will be selected by default in the Post Editor, not optional"
2349
+ msgstr ""
2350
 
2351
+ #: classes/fields/pick.php:213
2352
+ msgid "You must provide the index column name for the table, this may optionally also be the ID column name"
2353
+ msgstr "Vous devez fournir le nom de la colonne d'index pour la table, ceci peux être la colonne ID."
2354
 
2355
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:850
2356
+ msgid "Pod table not found, items cannot be migrated"
2357
+ msgstr "Table du pod non trouvée, les items ne peuvent être migrées"
2358
 
2359
+ #: classes/PodsAdmin.php:1284 classes/PodsAdmin.php:1338
2360
+ msgid "Admin UI Style"
2361
+ msgstr "Style de l'interface Admin"
 
 
 
 
2362
 
2363
+ #: classes/fields/pick.php:220
2364
+ msgid "Display Field in Selection List"
2365
+ msgstr "Afficher le Champ dans la liste de sélection"
 
 
2366
 
2367
+ #: sql/upgrade/PodsUpgrade_2_0_0.php:858
2368
+ msgid "Pod <strong>%s</strong> not found, items cannot be migrated"
2369
+ msgstr "Pod <strong>%s</strong> introuvable, les éléments ne peuvent pas être migrés"
2370
 
2371
+ #: classes/PodsAdmin.php:1289
2372
+ msgid "Normal Settings Form"
2373
+ msgstr "Formulaire de réglages normal"
 
 
2374
 
2375
+ #: classes/fields/pick.php:221
2376
+ msgid "Provide the name of a field on the related object to reference, example: {@post_title}"
2377
+ msgstr "Veuillez fournir le nom d'un champ disponible dans l'objet de référence, example: {@post_title}"
2378
 
2379
+ #: ui/admin/components-admin.php:14
2380
+ msgid "Settings saved successfully."
2381
+ msgstr "Réglages sauvegardés avec succès."
 
 
2382
 
2383
+ #: classes/PodsAdmin.php:1290
2384
+ msgid "Post Type UI"
2385
+ msgstr ""
2386