Commit 2a9934f6 authored by Simon's avatar Simon

release 1.23.2

parent dae21ba0
......@@ -20,9 +20,9 @@
## Production
- build CSS & JS assets - `C:\web\dev.biuro\ npm run build`
- build new image `docker build -t biuro/web:1.23.1 .` (update version number)
- build new image `docker build -t biuro/web:1.23.2 .` (update version number)
- login to biuro docker account `docker login --username=biuro --password=9Ndtjd2vKsLvGuFOeFq1KdJs`
- push image to docker repository - `docker push biuro/web:1.23.1`
- push image to docker repository - `docker push biuro/web:1.23.2`
## Production
- update biuro/web image version in .env file (staging or www)
......
......@@ -155,12 +155,14 @@ class PodsAPI {
$object_type = 'term';
}
$is_meta_object = in_array( $object_type, array( 'post', 'term', 'user', 'comment' ), true );
if ( $sanitized ) {
$data = pods_unsanitize( $data );
$meta = pods_unsanitize( $meta );
// Do not unsanitize $meta. This is already done by WP.
}
if ( in_array( $object_type, array( 'post', 'term', 'user', 'comment' ) ) ) {
if ( $is_meta_object ) {
return call_user_func( array( $this, 'save_' . $object_type ), $data, $meta, $strict, false, $fields );
} elseif ( 'settings' === $object_type ) {
// Nothing to save
......@@ -310,6 +312,10 @@ class PodsAPI {
}
foreach ( $post_meta as $meta_key => $meta_value ) {
// Prevent WP unslash removing already sanitized input.
$meta_value = pods_slash( $meta_value );
if ( null === $meta_value || ( $strict && '' === $post_meta[ $meta_key ] ) ) {
$old_meta_value = '';
......@@ -462,6 +468,10 @@ class PodsAPI {
$meta = get_user_meta( $id );
foreach ( $user_meta as $meta_key => $meta_value ) {
// Prevent WP unslash removing already sanitized input.
$meta_value = pods_slash( $meta_value );
if ( null === $meta_value ) {
$old_meta_value = '';
......@@ -605,6 +615,10 @@ class PodsAPI {
$meta = get_comment_meta( $id );
foreach ( $comment_meta as $meta_key => $meta_value ) {
// Prevent WP unslash removing already sanitized input.
$meta_value = pods_slash( $meta_value );
if ( null === $meta_value ) {
$old_meta_value = '';
......@@ -771,6 +785,10 @@ class PodsAPI {
}
foreach ( $term_meta as $meta_key => $meta_value ) {
// Prevent WP unslash removing already sanitized input.
$meta_value = pods_slash( $meta_value );
if ( null === $meta_value || ( $strict && '' === $term_meta[ $meta_key ] ) ) {
$old_meta_value = '';
......
......@@ -603,7 +603,27 @@ class PodsField {
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
return true;
/**
* Filter field validation return.
*
* @since 2.7.24
*
* @param true $true Default validation return.
* @param mixed|null $value Current value.
* @param string|null $name Field name.
* @param array|null $options Field options.
* @param array|null $fields Pod fields.
* @param array|null $pod Pod information.
* @param int|string|null $id Current item ID.
* @param array|null $params Additional parameters.
*/
$validate = apply_filters( 'pods_field_validate_' . static::$type, true, $value, $name, $options, $fields, $pod, $id, $params );
if ( ! is_bool( $validate ) ) {
$validate = (array) $validate;
}
return $validate;
}
......
......@@ -226,12 +226,12 @@ final class PodsI18n {
*/
public function get_current_language( $args = array() ) {
$args = wp_parse_args(
$args, array(
'refresh' => false,
)
$defaults = array(
'refresh' => false,
);
$args = wp_parse_args( $args, $defaults );
if ( ! $args['refresh'] && ! empty( self::$current_language ) ) {
return self::$current_language;
}
......@@ -256,12 +256,12 @@ final class PodsI18n {
*/
public function get_current_language_data( $args = array() ) {
$args = wp_parse_args(
$args, array(
'refresh' => false,
)
$defaults = array(
'refresh' => false,
);
$args = wp_parse_args( $args, $defaults );
if ( ! $args['refresh'] && ! empty( self::$current_language_data ) ) {
return self::$current_language_data;
}
......@@ -313,15 +313,25 @@ final class PodsI18n {
$current_language = get_user_meta( get_current_user_id(), 'pll_filter_content', true );
}
$pods_ajax = pods_v( 'pods_ajax', 'request', false );
// Get current language based on the object language if available.
$page = basename( $_SERVER['SCRIPT_NAME'] );
$page = basename( pods_v( 'SCRIPT_NAME', $_SERVER, '' ) );
if ( $pods_ajax && 'admin-ajax.php' === $page ) {
$page = basename( pods_v( 'HTTP_REFERER', $_SERVER, '' ) );
}
$page = explode( '?', $page );
$page = reset( $page );
/**
* Overwrite the current language if needed for post types.
*/
if ( 'post.php' === $page || 'edit.php' === $page ) {
$current_post = ( ! empty( $_GET['post'] ) ) ? (int) $_GET['post'] : 0;
$current_post = (int) pods_v( 'post', 'request', 0 );
if ( $pods_ajax ) {
$current_post = (int) pods_v( 'id', 'request', $current_post );
}
if ( $current_post ) {
......@@ -356,9 +366,7 @@ final class PodsI18n {
* Polylang (1.0.1+).
* When we're adding a new object and language is set we only want the related objects if they are not translatable OR the same language.
*/
if ( ! empty( $_GET['new_lang'] ) ) {
$current_language = $_GET['new_lang'];
}
$current_language = pods_v( 'new_lang', 'request', $current_language );
}
}
} //end if
......@@ -368,13 +376,19 @@ final class PodsI18n {
*/
elseif ( 'term.php' === $page || 'edit-tags.php' === $page ) {
$current_taxonomy = ( ! empty( $_GET['taxonomy'] ) ) ? sanitize_text_field( $_GET['taxonomy'] ) : '';
$current_term_id = pods_v( 'tag_ID', 'request', 0 );
if ( $pods_ajax ) {
$current_term_id = (int) pods_v( 'id', 'request', $current_term_id );
}
$current_taxonomy = pods_v( 'taxonomy', 'request', '' );
if ( ! $current_taxonomy && $current_term_id ) {
$current_taxonomy = pods_v( 'taxonomy', get_term( $current_term_id ), null );
}
// @todo MAYBE: Similar function like get_post_type for taxonomies so we don't need to check for $_GET['taxonomy']
if ( $current_taxonomy ) {
$current_tag_id = ( ! empty( $_GET['tag_ID'] ) ) ? (int) $_GET['tag_ID'] : 0;
/*
* @todo wpml-comp API call for taxonomy needed!
* Suggested API call:
......@@ -400,18 +414,16 @@ final class PodsI18n {
* Polylang (1.5.4+).
* We only want the related objects if they are not translatable OR the same language as the current object.
*/
if ( $current_tag_id && function_exists( 'pll_get_term_language' ) ) {
if ( $current_term_id && function_exists( 'pll_get_term_language' ) ) {
// Overwrite the current language if this is a translatable taxonomy
$current_language = pll_get_term_language( $current_tag_id );
$current_language = pll_get_term_language( $current_term_id );
}
/**
* Polylang (1.0.1+).
* When we're adding a new object and language is set we only want the related objects if they are not translatable OR the same language.
*/
if ( ! empty( $_GET['new_lang'] ) ) {
$current_language = $_GET['new_lang'];
}
$current_language = pods_v( 'new_lang', 'request', $current_language );
}
}//end if
}//end if
......
......@@ -469,6 +469,10 @@ class PodsInit {
if ( method_exists( $avatar, 'get_avatar' ) ) {
add_filter( 'get_avatar', array( $avatar, 'get_avatar' ), 10, 4 );
}
if ( method_exists( $avatar, 'get_avatar_data' ) ) {
add_filter( 'get_avatar_data', array( $avatar, 'get_avatar_data' ), 10, 2 );
}
}
/**
......@@ -487,10 +491,8 @@ class PodsInit {
*/
do_action( 'pods_before_enqueue_scripts', $suffix_min );
wp_register_script( 'pods-json', PODS_URL . 'ui/js/jquery.json.js', array( 'jquery' ), '2.3' );
if ( ! wp_script_is( 'jquery-qtip2', 'registered' ) ) {
wp_register_script( 'jquery-qtip2', PODS_URL . 'ui/js/jquery.qtip.min.js', array( 'jquery' ), '2.2' );
wp_register_script( 'jquery-qtip2', PODS_URL . "ui/js/qtip/jquery.qtip{$suffix_min}.js", array( 'jquery' ), '3.0.3', true );
}
wp_register_script(
......@@ -500,14 +502,13 @@ class PodsInit {
'jquery',
'pods-dfv',
'pods-i18n',
'pods-json',
'jquery-qtip2',
),
PODS_VERSION,
true
);
wp_register_script( 'pods-cleditor', PODS_URL . 'ui/js/jquery.cleditor.min.js', array( 'jquery' ), '1.3.0' );
wp_register_script( 'pods-cleditor', PODS_URL . "ui/js/cleditor/jquery.cleditor{$suffix_min}.js", array( 'jquery' ), '1.4.5', true );
wp_register_script( 'pods-codemirror', PODS_URL . 'ui/js/codemirror.js', array(), '4.8', true );
wp_register_script( 'pods-codemirror-loadmode', PODS_URL . 'ui/js/codemirror/addon/mode/loadmode.js', array( 'pods-codemirror' ), '4.8', true );
......@@ -546,12 +547,12 @@ class PodsInit {
);
}
// Select2/SelectWoo.
// Select2/SelectWoo.
wp_register_style(
'pods-select2',
PODS_URL . "ui/js/selectWoo/selectWoo{$suffix_min}.css",
array(),
'1.0.2'
'1.0.8'
);
$select2_locale = function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
......@@ -574,10 +575,10 @@ class PodsInit {
'jquery',
'pods-i18n',
),
'1.0.1',
'1.0.8',
true
);
wp_register_script( 'pods-select2', $select2_i18n, array( 'pods-select2-core' ), '1.0.1', true );
wp_register_script( 'pods-select2', $select2_i18n, array( 'pods-select2-core' ), '1.0.8', true );
} else {
wp_register_script(
'pods-select2',
......@@ -586,7 +587,7 @@ class PodsInit {
'jquery',
'pods-i18n',
),
'1.0.1',
'1.0.8',
true
);
}
......
......@@ -1377,7 +1377,7 @@ class PodsMeta {
pods_no_conflict_on( 'post' );
if ( ! empty( $pod ) ) {
// Fix for Pods doing it's own sanitizing
// Fix for Pods doing it's own sanitizing.
$data = pods_unslash( (array) $data );
$pod->save( $data, null, null, array( 'is_new_item' => $is_new_item, 'podsmeta' => true ) );
......
......@@ -79,39 +79,161 @@ class PodsField_Avatar extends PodsField_File {
*/
public function get_avatar( $avatar, $id_or_email, $size, $default = '', $alt = '' ) {
// Don't replace for the Avatars section of the Discussion settings page.
if ( is_admin() ) {
$current_screen = get_current_screen();
if ( ! $this->allow_avatar_overwrite() ) {
return $avatar;
}
$user_id = $this->get_avatar_user_id( $id_or_email );
if ( 0 < $user_id && ! empty( PodsMeta::$user ) ) {
$avatar_cached = pods_cache_get( $user_id . '-' . $size, 'pods_avatars' );
if ( ! empty( $avatar_cached ) ) {
$avatar = $avatar_cached;
} else {
$user_avatar = $this->get_avatar_id( $user_id );
if ( ! empty( $user_avatar ) ) {
$attributes = array(
'alt' => '',
'class' => 'avatar avatar-' . $size . ' photo',
);
if ( null !== $current_screen && 'options-discussion' === $current_screen->id && 32 === $size ) {
return $avatar;
if ( ! empty( $alt ) ) {
$attributes['alt'] = $alt;
}
$user_avatar = pods_image( $user_avatar, array( $size, $size ), 0, $attributes );
if ( ! empty( $user_avatar ) ) {
$avatar = $user_avatar;
pods_cache_set( $user_id . '-' . $size, $avatar, 'pods_avatars', WEEK_IN_SECONDS );
}
}
}
}
$user_id = 0;
return $avatar;
}
if ( is_numeric( $id_or_email ) && 0 < $id_or_email ) {
$user_id = (int) $id_or_email;
} elseif ( is_object( $id_or_email ) && isset( $id_or_email->user_id ) && 0 < $id_or_email->user_id ) {
$user_id = (int) $id_or_email->user_id;
} elseif ( is_object( $id_or_email ) && isset( $id_or_email->ID ) && isset( $id_or_email->user_login ) && 0 < $id_or_email->ID ) {
$user_id = (int) $id_or_email->ID;
} elseif ( ! is_object( $id_or_email ) && false !== strpos( $id_or_email, '@' ) ) {
$_user = get_user_by( 'email', $id_or_email );
/**
* Take over the avatar data served from WordPress
*
* @since 2.7.22
*
* @param array $args {
* Optional. Arguments to return instead of the default arguments.
*
* @type int $size Height and width of the avatar image file in pixels. Default 96.
* @type int $height Display height of the avatar in pixels. Defaults to $size.
* @type int $width Display width of the avatar in pixels. Defaults to $size.
* @type string $default URL for the default image or a default type. Accepts '404' (return
* a 404 instead of a default image), 'retro' (8bit), 'monsterid' (monster),
* 'wavatar' (cartoon face), 'indenticon' (the "quilt"), 'mystery', 'mm',
* or 'mysteryman' (The Oyster Man), 'blank' (transparent GIF), or
* 'gravatar_default' (the Gravatar logo). Default is the value of the
* 'avatar_default' option, with a fallback of 'mystery'.
* @type bool $force_default Whether to always show the default image, never the Gravatar. Default false.
* @type string $rating What rating to display avatars up to. Accepts 'G', 'PG', 'R', 'X', and are
* judged in that order. Default is the value of the 'avatar_rating' option.
* @type string $scheme URL scheme to use. See set_url_scheme() for accepted values.
* Default null.
* @type array $processed_args When the function returns, the value will be the processed/sanitized $args
* plus a "found_avatar" guess. Pass as a reference. Default null.
* @type string $extra_attr HTML attributes to insert in the IMG element. Is not sanitized. Default empty.
* }
* @param mixed $id_or_email The Gravatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
* user email, WP_User object, WP_Post object, or WP_Comment object.
* @return array {
* Along with the arguments passed in `$args`, this will contain a couple of extra arguments.
*
* @type bool $found_avatar True if we were able to find an avatar for this user,
* false or not set if we couldn't.
* @type string $url The URL of the avatar we found.
* }
*/
public function get_avatar_data( $args, $id_or_email ) {
if ( ! $this->allow_avatar_overwrite() ) {
return $args;
}
if ( ! empty( $_user ) ) {
$user_id = (int) $_user->ID;
$return_args = $args;
$args = wp_parse_args(
$args,
array(
'size' => 96,
'height' => null,
'width' => null,
'default' => get_option( 'avatar_default', 'mystery' ),
'force_default' => false,
'rating' => get_option( 'avatar_rating' ),
'scheme' => null,
'processed_args' => null, // If used, should be a reference.
'extra_attr' => '',
)
);
$size = $args['size'];
if ( $args['width'] !== $args['height'] ) {
$size = $args['width'] . 'x' . $args['height'];
}
$user_id = $this->get_avatar_user_id( $id_or_email );
if ( 0 < $user_id && ! empty( PodsMeta::$user ) ) {
$user_avatar_url = null;
$avatar_cached = pods_cache_get( $user_id . '-' . $size, 'pods_avatar_urls' );
if ( ! empty( $avatar_cached ) ) {
$user_avatar_url = $avatar_cached;
} else {
$user_avatar_id = $this->get_avatar_id( $user_id );
if ( ! empty( $user_avatar_id ) ) {
$user_avatar_url = pods_image_url( $user_avatar_id, array( $args['width'], $args['height'] ), 0 );
if ( ! empty( $user_avatar_url ) ) {
pods_cache_set( $user_id . '-' . $size, $user_avatar_url, 'pods_avatar_urls', WEEK_IN_SECONDS );
}
}
}
if ( $user_avatar_url ) {
$return_args['url'] = $user_avatar_url;
$return_args['found_avatar'] = true;
}
}
return $return_args;
}
/**
* Get the custom user avatar ID.
*
* @since 2.7.22
*
* @param mixed $id_or_email The Gravatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
* user email, WP_User object, WP_Post object, or WP_Comment object.
*
* @return int
*/
public function get_avatar_id( $id_or_email ) {
$user_id = $this->get_avatar_user_id( $id_or_email );
// Include PodsMeta if not already included.
pods_meta();
$avatar_id = 0;
if ( 0 < $user_id && ! empty( PodsMeta::$user ) ) {
$avatar_cached = pods_cache_get( $user_id . '-' . $size, 'pods_avatars' );
$avatar_cached = pods_cache_get( $user_id, 'pods_avatar_ids' );
if ( ! empty( $avatar_cached ) ) {
$avatar = $avatar_cached;
$avatar_id = $avatar_cached;
} else {
$avatar_field = pods_transient_get( 'pods_avatar_field' );
......@@ -132,33 +254,71 @@ class PodsField_Avatar extends PodsField_File {
}
if ( ! empty( $avatar_field ) ) {
$user_meta = get_user_meta( $user_id );
$user_avatar = ! empty( $user_meta[ $avatar_field ][0] ) ? $user_meta[ $avatar_field ][0] : false;
$avatar_id = get_user_meta( $user_id, $avatar_field . '.ID', true );
if ( ! empty( $user_avatar ) ) {
$attributes = array(
'alt' => '',
'class' => 'avatar avatar-' . $size . ' photo',
);
pods_cache_set( $user_id, $avatar_id, 'pods_avatar_ids', WEEK_IN_SECONDS );
}//end if
}//end if
}//end if
if ( ! empty( $alt ) ) {
$attributes['alt'] = $alt;
}
return (int) $avatar_id;
}
/**
* Get the avatar user ID based on parameter provided.
*
* @since 2.7.22
*
* @param mixed $id_or_email The Gravatar to retrieve. Accepts a user ID, Gravatar MD5 hash,
* user email, WP_User object, WP_Post object, or WP_Comment object.
*
* @return int
*/
public function get_avatar_user_id( $id_or_email ) {
$user_id = 0;
if ( is_numeric( $id_or_email ) && 0 < $id_or_email ) {
$user_id = $id_or_email;
} elseif ( is_object( $id_or_email ) && isset( $id_or_email->user_id ) && 0 < $id_or_email->user_id ) {
$user_id = $id_or_email->user_id;
} elseif ( is_object( $id_or_email ) && isset( $id_or_email->ID ) && isset( $id_or_email->user_login ) && 0 < $id_or_email->ID ) {
$user_id = $id_or_email->ID;
} elseif ( ! is_object( $id_or_email ) && false !== strpos( $id_or_email, '@' ) ) {
$_user = get_user_by( 'email', $id_or_email );
$user_avatar = pods_image( $user_avatar, array( $size, $size, 1 ), 0, $attributes, true );
if ( ! empty( $_user ) ) {
$user_id = $_user->ID;
}
}
if ( ! empty( $user_avatar ) ) {
$avatar = $user_avatar;
return (int) $user_id;
}
pods_cache_set( $user_id . '-' . $size, $avatar, 'pods_avatars' );
}
}
}//end if
}//end if
}//end if
/**
* Checks if we're not on WordPress admin pages where we shouldn't overwrite.
*
* @since 2.7.22
*
* @return bool
*/
public function allow_avatar_overwrite() {
return $avatar;
// Don't replace for the Avatars section of the Discussion settings page.
if ( is_admin() && ! doing_action( 'admin_bar_menu' ) ) {
$current_screen = get_current_screen();
$screens = array(
'profile',
'user-edit',
'options-discussion',
);
if ( null !== $current_screen && in_array( $current_screen->id, $screens, true ) ) {
return false;
}
}
return true;
}
}
......@@ -174,14 +174,20 @@ class PodsField_Boolean extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
if ( ! $this->is_required( $options ) ) {
// Any value can be parsed to boolean.
return true;
return $validate;
}
$errors = array();
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
if ( is_array( $validate ) ) {
$errors = $validate;
}
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
$yes_required = ( 'checkbox' === pods_v( static::$type . '_format_type', $options ) );
......@@ -193,7 +199,7 @@ class PodsField_Boolean extends PodsField {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -94,9 +94,14 @@ class PodsField_Color extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
if ( is_array( $check ) ) {
......@@ -120,7 +125,7 @@ class PodsField_Color extends PodsField {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -307,6 +307,13 @@ class PodsField_DateTime extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
if ( ! $this->is_empty( $value ) ) {
......@@ -323,11 +330,16 @@ class PodsField_DateTime extends PodsField {
if ( false === $check ) {
$label = pods_v( 'label', $options, ucwords( str_replace( '_', ' ', $name ) ) );
return sprintf( esc_html__( '%1$s was not provided in a recognizable format: "%2$s"', 'pods' ), $label, $value );
// Translators: %1$s is the field label and %2$s is the input value.
$errors[] = sprintf( esc_html__( '%1$s was not provided in a recognizable format: "%2$s"', 'pods' ), $label, $value );
}
}
return true;
if ( ! empty( $errors ) ) {
return $errors;
}
return $validate;
}
/**
......
......@@ -124,9 +124,14 @@ class PodsField_Email extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
if ( is_array( $check ) ) {
......@@ -147,7 +152,7 @@ class PodsField_Email extends PodsField {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -579,7 +579,7 @@ class PodsField_File extends PodsField {
// @todo Check file size
// @todo Check file extensions
return true;
return parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
}
......@@ -612,6 +612,7 @@ class PodsField_File extends PodsField {
continue;
}
$attachment = null;
$attachment_data = array();
// Update the title if set.
......@@ -632,6 +633,11 @@ class PodsField_File extends PodsField {
if ( ! empty( $attachment_data ) ) {
$attachment_data['ID'] = $id;
if ( $attachment ) {
// Add post type to trigger attachment update filters from other plugins.
$attachment_data['post_type'] = $attachment->post_type;
}
self::$api->save_wp_object( 'media', $attachment_data );
}
}//end foreach
......
......@@ -206,8 +206,12 @@ class PodsField_Link extends PodsField_Website {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$label = strip_tags( pods_v( 'label', $options, ucwords( str_replace( '_', ' ', $name ) ) ) );
......@@ -231,7 +235,7 @@ class PodsField_Link extends PodsField_Website {
return $errors;
}
return true;
return $validate;
}
......
......@@ -246,6 +246,13 @@ class PodsField_Number extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$format_args = $this->get_number_format_args( $options );
$thousands = $format_args['thousands'];
......@@ -263,10 +270,15 @@ class PodsField_Number extends PodsField {
$label = pods_v( 'label', $options, ucwords( str_replace( '_', ' ', $name ) ) );
if ( 0 < strlen( $check ) ) {
return sprintf( __( '%s is not numeric', 'pods' ), $label );
// Translators: %s stands for the input value.
$errors[] = sprintf( esc_html__( '%s is not numeric', 'pods' ), $label );
}
if ( ! empty( $errors ) ) {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -197,9 +197,14 @@ class PodsField_OEmbed extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
if ( is_array( $check ) ) {
......@@ -216,7 +221,7 @@ class PodsField_OEmbed extends PodsField {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -104,9 +104,14 @@ class PodsField_Password extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
if ( is_array( $check ) ) {
......@@ -123,7 +128,7 @@ class PodsField_Password extends PodsField {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -149,9 +149,14 @@ class PodsField_Phone extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$label = strip_tags( pods_v( 'label', $options, ucwords( str_replace( '_', ' ', $name ) ) ) );
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
......@@ -172,7 +177,7 @@ class PodsField_Phone extends PodsField {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -1393,7 +1393,7 @@ class PodsField_Pick extends PodsField {
}
$item = array(
'id' => esc_html( $item_id ),
'id' => html_entity_decode( esc_html( $item_id ) ),
'icon' => esc_attr( $icon ),
'name' => wp_strip_all_tags( html_entity_decode( $item_title ) ),
'edit_link' => html_entity_decode( esc_url( $edit_link ) ),
......@@ -1409,6 +1409,13 @@ class PodsField_Pick extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
if ( empty( self::$api ) ) {
self::$api = pods_api();
......@@ -1490,7 +1497,9 @@ class PodsField_Pick extends PodsField {
self::$related_data[ $options['id'] ][ 'related_ids_' . $related_id ] = $bidirectional_ids;
if ( empty( $bidirectional_ids ) || ( in_array( (int) $id, $bidirectional_ids, true ) && 1 === count( $bidirectional_ids ) ) ) {
return sprintf( __( 'The %1$s field is required and cannot be removed by the %2$s field', 'pods' ), $related_field['label'], $options['label'] );
// Translators: %1$s and %2$s stand for field labels.
$errors[] = sprintf( esc_html__( 'The %1$s field is required and cannot be removed by the %2$s field', 'pods' ), $related_field['label'], $options['label'] );
return $errors;
}
}
}
......@@ -1526,7 +1535,11 @@ class PodsField_Pick extends PodsField {
}
}//end if
return true;
if ( ! empty( $errors ) ) {
return $errors;
}
return $validate;
}
......
......@@ -152,9 +152,14 @@ class PodsField_Text extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
if ( is_array( $check ) ) {
......@@ -171,7 +176,7 @@ class PodsField_Text extends PodsField {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -175,8 +175,14 @@ class PodsField_Website extends PodsField {
* {@inheritdoc}
*/
public function validate( $value, $name = null, $options = null, $fields = null, $pod = null, $id = null, $params = null ) {
$validate = parent::validate( $value, $name, $options, $fields, $pod, $id, $params );
$errors = array();
if ( is_array( $validate ) ) {
$errors = $validate;
}
$label = strip_tags( pods_v( 'label', $options, ucwords( str_replace( '_', ' ', $name ) ) ) );
$check = $this->pre_save( $value, $id, $name, $options, $fields, $pod, $params );
......@@ -197,7 +203,7 @@ class PodsField_Website extends PodsField {
return $errors;
}
return true;
return $validate;
}
/**
......
......@@ -395,6 +395,23 @@ class Pods_Templates extends PodsComponent {
'restrict_capability' => true,
),
),
array(
'name' => 'show_restrict_message',
'label' => __( 'Show no access message?', 'pods' ),
'default' => 1,
'type' => 'boolean',
'dependency' => true,
),
array(
'name' => 'restrict_message',
'label' => __( 'No access message', 'pods' ),
'type' => 'wysiwyg',
'default' => __( 'You do not have access to view this content.', 'pods' ),
'wysiwyg_editor_height' => 200,
'depends-on' => array(
'show_restrict_message' => true,
),
),
);
pods_group_add( $pod, __( 'Restrict Access', 'pods' ), $fields, 'normal', 'high' );
......@@ -509,12 +526,19 @@ class Pods_Templates extends PodsComponent {
$code = $template['code'];
}
$permission = pods_permission( $template['options'] );
$options = pods_v( 'options', $template );
$permission = pods_permission( $options );
$permission = (boolean) apply_filters( 'pods_templates_permission', $permission, $code, $template, $obj );
if ( ! $permission ) {
return apply_filters( 'pods_templates_permission_denied', __( 'You do not have access to view this content.', 'pods' ), $code, $template, $obj );
if ( 1 === (int) pods_v( 'show_restrict_message', $options, 1 ) ) {
$message = pods_v( 'restrict_message', $options, __( 'You do not have access to view this content.', 'pods' ), true );
$message = PodsForm::field_method( 'wysiwyg', 'display', $message, 'restrict_message', $options );
return apply_filters( 'pods_templates_permission_denied', $message, $code, $template, $obj );
}
return '';
}
}
}
......
......@@ -24,7 +24,7 @@ class Pods_Templates_Auto_Template_Front_End {
*
* @var array
*
* @since TBD
* @since 2.7.25
*/
private $auto_pods = [];
......@@ -434,13 +434,6 @@ class Pods_Templates_Auto_Template_Front_End {
return $content;
}
if ( 'the_excerpt' === $current_filter && ( is_single() || is_singular() ) ) {
// Do not run excerpts on single.
$running = false;
return $content;
}
}
$pod = pods( $pod_name, $pod_id );
......@@ -481,7 +474,7 @@ class Pods_Templates_Auto_Template_Front_End {
/**
* Get list of pod information based on an object or the detected current context.
*
* @since TBD
* @since 2.7.25
*
* @param null|object $obj The object to get pod information from or null to detect from current context.
*
......
......@@ -532,7 +532,7 @@ function pods_deprecated( $function, $version, $replacement = null ) {
function pods_help( $text, $url = null ) {
if ( ! wp_script_is( 'jquery-qtip2', 'registered' ) ) {
wp_register_script( 'jquery-qtip2', PODS_URL . 'ui/js/jquery.qtip.min.js', array( 'jquery' ), '2.2' );
wp_register_script( 'jquery-qtip2', PODS_URL . 'ui/js/qtip/jquery.qtip.min.js', array( 'jquery' ), '3.0.3' );
} elseif ( ! wp_script_is( 'jquery-qtip2', 'queue' ) && ! wp_script_is( 'jquery-qtip2', 'to_do' ) && ! wp_script_is( 'jquery-qtip2', 'done' ) ) {
wp_enqueue_script( 'jquery-qtip2' );
}
......
......@@ -3,7 +3,7 @@
Plugin Name: Pods - Custom Content Types and Fields
Plugin URI: https://pods.io/
Description: Pods is a framework for creating, managing, and deploying customized content types and fields
Version: 2.7.24
Version: 2.7.25
Author: Pods Framework Team
Author URI: https://pods.io/about/
Text Domain: pods
......@@ -37,7 +37,7 @@ if ( defined( 'PODS_VERSION' ) || defined( 'PODS_DIR' ) ) {
add_action( 'init', 'pods_deactivate_pods_ui' );
} else {
// Current version
define( 'PODS_VERSION', '2.7.24' );
define( 'PODS_VERSION', '2.7.25' );
// Version tracking between DB updates themselves
define( 'PODS_DB_VERSION', '2.3.5' );
......
......@@ -3,9 +3,9 @@ Contributors: sc0ttkclark, pglewis, jimtrue, keraweb, quasel, jamesgol, ramoonus
Donate link: https://pods.io/friends-of-pods/
Tags: pods, custom post types, custom taxonomies, content types, custom fields, cck, database, user fields, comment fields, media fields, relationships, drupal
Requires at least: 4.5
Tested up to: 5.5.2
Tested up to: 5.6
Requires PHP: 5.3
Stable tag: 2.7.24
Stable tag: 2.7.25
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
......@@ -190,6 +190,24 @@ We are also available through our [Live Slack Chat](https://pods.io/chat/) to he
== Changelog ==
= 2.7.25 - December 28th 2020 =
**New Features & Enhancements**
* Added: Custom no access message for templates. #5875 (@JoryHogeveen)
* Added: New filter `pods_field_validate_{$type}`. #1106 (@JoryHogeveen)
**Bug Fixes**
* Fixed: Ensure compatibility with the WordPress 5.6 jQuery update. #5892, #5896 & #5897 (@JoryHogeveen)
* Fixed: Prevent `wp_unslash()` from unnecessarily over sanitizing input. #5040 & #4424 (@JoryHogeveen)
* Fixed: Prevent issues with HTML entities in custom relationship values when it gets to JavaScript. #5894 (@JoryHogeveen)
* Fixed: Better support multiple languages in the Relationship AJAX search. #5888 (@JoryHogeveen)
* Fixed: Include the `post_type` value in attachment saves so that the more WordPress core actions trigger. #5748 (@JoryHogeveen)
* Fixed: Allow `the_excerpt` to be used as custom filter on singular pages. #5899 (@JoryHogeveen)
* Fixed: Better support caching of the avatar images/data and integrate with the `get_avatar_data` filter. #5771 (@JoryHogeveen)
= 2.7.24 - November 5th 2020 =
**Bug Fixes**
......
......@@ -412,8 +412,7 @@
if ( !isNaN( id ) ) {
document.location = 'admin.php?page=pods&action=edit&id=' + id + '&do=create';
}
else {
} else {
document.location = 'admin.php?page=pods&do=create';
}
};
......@@ -423,16 +422,22 @@
};
jQuery( function ( $ ) {
$( document ).Pods( 'validate' );
$( document ).Pods( 'submit' );
$( document ).Pods( 'wizard' );
$( document ).Pods( 'dependency' );
$( document ).Pods( 'advanced' );
$( document ).Pods( 'confirm' );
$( document ).Pods( 'sluggable' );
$( '.pods-admin' ).on( 'render', '.pods-form-ui-field', function ( e ) {
$( this ).find( '.pods-dependent-toggle[data-name-clean]' ).trigger( 'change' );
var $document = $( document );
$document.Pods( 'validate' );
$document.Pods( 'submit' );
$document.Pods( 'wizard' );
$document.Pods( 'dependency' );
$document.Pods( 'advanced' );
$document.Pods( 'confirm' );
$document.Pods( 'sluggable' );
var $admin = $( '.pods-admin' ),
$toggles = $admin.find( '.pods-dependent-toggle[data-name-clean]' );
$toggles.trigger( 'change' );
$admin.on( 'render', '.pods-form-ui-field', function ( e ) {
$toggles.trigger( 'change' );
} );
} );
</script>
......@@ -8,7 +8,7 @@ $attributes = PodsForm::merge_attributes( $attributes, $name, $form_
<input<?php PodsForm::attributes( $attributes, $name, $form_field_type, $options ); ?> />
<script>
jQuery( function ( $ ) {
$( 'input#<?php echo esc_js( $attributes['id'] ); ?>' ).change( function () {
$( 'input#<?php echo esc_js( $attributes['id'] ); ?>' ).on( 'change', function () {
var newval = $( this ).val().toLowerCase().replace( /(\s)/g, '_' ).replace( /([^0-9a-z_\-])/g, '' ).replace( /(_){2,}/g, '_' ).replace( /_$/, '' );
$( this ).val( newval );
} );
......
......@@ -8,7 +8,7 @@ $attributes = PodsForm::merge_attributes( $attributes, $name, $form_
<input<?php PodsForm::attributes( $attributes, $name, $form_field_type, $options ); ?> />
<script>
jQuery( function ( $ ) {
$( 'input#<?php echo esc_js( $attributes['id'] ); ?>' ).change( function () {
$( 'input#<?php echo esc_js( $attributes['id'] ); ?>' ).on( 'change', function () {
var newval = $( this )
.val()
.toLowerCase()
......
jQuery(document).ready(function () {
jQuery('#filter-right-tables, #filter-left-tables').focus(function() {
jQuery('#filter-right-tables, #filter-left-tables').on( 'focus', function() {
if (jQuery(this).val() === 'Filter Tables') {
jQuery(this).val('');
}
});
} );
jQuery('#filter-right-tables, #filter-left-tables').blur(function() {
jQuery('#filter-right-tables, #filter-left-tables').on( 'blur', function() {
if (jQuery(this).val() === '') {
jQuery(this).val('Filter Tables');
}
});
} );
jQuery('#filter-right-tables').keyup(function() {
jQuery('#filter-right-tables').on( 'keyup', function() {
var query = jQuery(this).val();
if (query === '') {
......@@ -25,7 +25,7 @@ jQuery(document).ready(function () {
}
});
jQuery('#filter-left-tables').keyup(function() {
jQuery('#filter-left-tables').on( 'keyup', function() {
var query = jQuery(this).val();
if (query === '') {
......@@ -52,7 +52,7 @@ jQuery(document).ready(function () {
* and disables all other checkboxes since only one table can be selected
* per import.
*/
jQuery('input[type="checkbox"].pods-importable-table').click(function () {
jQuery('input[type="checkbox"].pods-importable-table').on( 'click', function () {
var checkedTable = jQuery(this).attr('name');
var checkedValue = jQuery(this).val();
var checked = jQuery(this).is(':checked');
......@@ -75,7 +75,7 @@ jQuery(document).ready(function () {
});
// Step 1 submit
jQuery('button#continue-to-field-selection').click(function () {
jQuery('button#continue-to-field-selection').on( 'click', function () {
jQuery('form#pods-import-table-selection').submit();
});
......@@ -84,7 +84,7 @@ jQuery(document).ready(function () {
* closest parent tr, and finds all input/select elements within it and disables
* or enables them.
*/
jQuery('.enabled-status.status-switcher').click(function () {
jQuery('.enabled-status.status-switcher').on( 'click', function () {
var enabled = jQuery(this).hasClass('enabled');
if (enabled) {
......@@ -108,7 +108,7 @@ jQuery(document).ready(function () {
* Ensures at least one column is enabled for converting to a pod,
* and that at a minimum the pod name is entered.
*/
jQuery('a#pods-import-create-pod').click(function () {
jQuery('a#pods-import-create-pod').on( 'click', function () {
if (jQuery('tr.pod-column-row.enabled').length === 0) {
alert('At least one column must be selected to convert.');
} else if (jQuery('input[name="new_pod_data[pod_name]"]').val() == '') {
......
......@@ -449,37 +449,37 @@ jQuery(document).ready(function($) {
/**
* Event Handlers
*/
$('#pods-parts-pages-edit').click(function(e){
$('#pods-parts-pages-edit').on( 'click', function(e){
e.preventDefault();
populateEditPages();
$('#pods-parts-popup').dialog({title: 'Select Pods Page to Edit', width: $bigWidth}).dialog('open');
});
$('#pods-parts-pages-add').click(function(e){
$('#pods-parts-pages-add').on( 'click', function(e){
e.preventDefault();
populateAddPage();
$('#pods-parts-popup').dialog({title: 'Create New Pods Page', width: $smallWidth}).dialog('open');
});
$('#pods-parts-templates-edit').click(function(e){
$('#pods-parts-templates-edit').on( 'click', function(e){
e.preventDefault();
populateEditTemplates();
$('#pods-parts-popup').dialog({title: 'Select Pods Template to Edit', width: $bigWidth}).dialog('open');
});
$('#pods-parts-templates-add').click(function(e){
$('#pods-parts-templates-add').on( 'click', function(e){
e.preventDefault();
populateAddTemplate();
$('#pods-parts-popup').dialog({title: 'Create New Pods Template', width: $smallWidth}).dialog('open');
});
$('#pods-parts-helpers-edit').click(function(e){
$('#pods-parts-helpers-edit').on( 'click', function(e){
e.preventDefault();
populateEditHelpers();
$('#pods-parts-popup').dialog({title: 'Select Pods Helper to Edit', width: $bigWidth}).dialog('open');
});
$('#pods-parts-helpers-add').click(function(e){
$('#pods-parts-helpers-add').on( 'click', function(e){
e.preventDefault();
populateAddHelper();
$('#pods-parts-popup').dialog({title: 'Create New Pods Helper', width: $smallWidth}).dialog('open');
......@@ -497,4 +497,4 @@ jQuery(document).ready(function($) {
hide: 'fade',
show: 'fade'
})
});
\ No newline at end of file
});
.cleditorMain {border:1px solid #999; padding:0 1px 1px; background-color:white}
.cleditorMain,
.cleditorPopup,
.cleditorMain * {-moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box}
.cleditorMain iframe {border:none; margin:0; padding:0}
.cleditorMain textarea {overflow-y:scroll; font:10pt Arial,Verdana; resize:none; outline:none}
.cleditorToolbar {background: url('images/toolbar.gif') repeat}
.cleditorGroup {float:left; height:26px}
.cleditorButton {float:left; width:24px; height:24px; margin:1px 0 1px 0; background: url('images/buttons.gif')}
.cleditorDisabled {opacity:0.3; filter:alpha(opacity=30)}
.cleditorDivider {float:left; width:1px; height:23px; margin:1px 0 1px 0; background:#CCC}
.cleditorPopup {border:solid 1px #999; background-color:white; color:#333333; position:absolute; font:10pt Arial,Verdana; cursor:default; z-index:10000}
.cleditorList div {padding:2px 4px 2px 4px}
.cleditorList p,
.cleditorList h1,
.cleditorList h2,
.cleditorList h3,
.cleditorList h4,
.cleditorList h5,
.cleditorList h6,
.cleditorList font {padding:0; margin:0; background-color:Transparent}
.cleditorColor {width:150px; padding:1px 0 0 1px}
.cleditorColor div {float:left; width:14px; height:14px; margin:0 1px 1px 0}
.cleditorPrompt {background-color:#F6F7F9; padding:8px; font-size:8.5pt}
.cleditorPrompt label {padding-bottom:8px}
.cleditorMsg {background-color:#FDFCEE; width:150px; padding:4px; font-size:8.5pt}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/**
* jQuery JSON Plugin
* version: 2.3 (2011-09-17)
*
* This document is licensed as free software under the terms of the
* MIT License: http://www.opensource.org/licenses/mit-license.php
*
* Brantley Harris wrote this plugin. It is based somewhat on the JSON.org
* website's http://www.json.org/json2.js, which proclaims:
* "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that
* I uphold.
*
* It is also influenced heavily by MochiKit's serializeJSON, which is
* copyrighted 2005 by Bob Ippolito.
*/
(function($){var escapeable=/["\\\x00-\x1f\x7f-\x9f]/g,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};$.toJSON=typeof JSON==='object'&&JSON.stringify?JSON.stringify:function(o){if(o===null){return'null';}
var type=typeof o;if(type==='undefined'){return undefined;}
if(type==='number'||type==='boolean'){return''+o;}
if(type==='string'){return $.quoteString(o);}
if(type==='object'){if(typeof o.toJSON==='function'){return $.toJSON(o.toJSON());}
if(o.constructor===Date){var month=o.getUTCMonth()+1,day=o.getUTCDate(),year=o.getUTCFullYear(),hours=o.getUTCHours(),minutes=o.getUTCMinutes(),seconds=o.getUTCSeconds(),milli=o.getUTCMilliseconds();if(month<10){month='0'+month;}
if(day<10){day='0'+day;}
if(hours<10){hours='0'+hours;}
if(minutes<10){minutes='0'+minutes;}
if(seconds<10){seconds='0'+seconds;}
if(milli<100){milli='0'+milli;}
if(milli<10){milli='0'+milli;}
return'"'+year+'-'+month+'-'+day+'T'+
hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
if(o.constructor===Array){var ret=[];for(var i=0;i<o.length;i++){ret.push($.toJSON(o[i])||'null');}
return'['+ret.join(',')+']';}
var name,val,pairs=[];for(var k in o){type=typeof k;if(type==='number'){name='"'+k+'"';}else if(type==='string'){name=$.quoteString(k);}else{continue;}
type=typeof o[k];if(type==='function'||type==='undefined'){continue;}
val=$.toJSON(o[k]);pairs.push(name+':'+val);}
return'{'+pairs.join(',')+'}';}};$.evalJSON=typeof JSON==='object'&&JSON.parse?JSON.parse:function(src){return eval('('+src+')');};$.secureEvalJSON=typeof JSON==='object'&&JSON.parse?JSON.parse:function(src){var filtered=src.replace(/\\["\\\/bfnrtu]/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered)){return eval('('+src+')');}else{throw new SyntaxError('Error parsing JSON, source is not valid.');}};$.quoteString=function(string){if(string.match(escapeable)){return'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;}
c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};})(jQuery);
\ No newline at end of file
c/*
Masked Input plugin for jQuery
Copyright (c) 2007-2011 Josh Bush (digitalbush.com)
Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license)
Version: 1.3
*/
(function(a){var b=(a.browser.msie?"paste":"input")+".mask",c=window.orientation!=undefined;a.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},dataName:"rawMaskFn"},a.fn.extend({caret:function(a,b){if(this.length!=0){if(typeof a=="number"){b=typeof b=="number"?b:a;return this.each(function(){if(this.setSelectionRange)this.setSelectionRange(a,b);else if(this.createTextRange){var c=this.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select()}})}if(this[0].setSelectionRange)a=this[0].selectionStart,b=this[0].selectionEnd;else if(document.selection&&document.selection.createRange){var c=document.selection.createRange();a=0-c.duplicate().moveStart("character",-1e5),b=a+c.text.length}return{begin:a,end:b}}},unmask:function(){return this.trigger("unmask")},mask:function(d,e){if(!d&&this.length>0){var f=a(this[0]);return f.data(a.mask.dataName)()}e=a.extend({placeholder:"_",completed:null},e);var g=a.mask.definitions,h=[],i=d.length,j=null,k=d.length;a.each(d.split(""),function(a,b){b=="?"?(k--,i=a):g[b]?(h.push(new RegExp(g[b])),j==null&&(j=h.length-1)):h.push(null)});return this.trigger("unmask").each(function(){function v(a){var b=f.val(),c=-1;for(var d=0,g=0;d<k;d++)if(h[d]){l[d]=e.placeholder;while(g++<b.length){var m=b.charAt(g-1);if(h[d].test(m)){l[d]=m,c=d;break}}if(g>b.length)break}else l[d]==b.charAt(g)&&d!=i&&(g++,c=d);if(!a&&c+1<i)f.val(""),t(0,k);else if(a||c+1>=i)u(),a||f.val(f.val().substring(0,c+1));return i?d:j}function u(){return f.val(l.join("")).val()}function t(a,b){for(var c=a;c<b&&c<k;c++)h[c]&&(l[c]=e.placeholder)}function s(a){var b=a.which,c=f.caret();if(a.ctrlKey||a.altKey||a.metaKey||b<32)return!0;if(b){c.end-c.begin!=0&&(t(c.begin,c.end),p(c.begin,c.end-1));var d=n(c.begin-1);if(d<k){var g=String.fromCharCode(b);if(h[d].test(g)){q(d),l[d]=g,u();var i=n(d);f.caret(i),e.completed&&i>=k&&e.completed.call(f)}}return!1}}function r(a){var b=a.which;if(b==8||b==46||c&&b==127){var d=f.caret(),e=d.begin,g=d.end;g-e==0&&(e=b!=46?o(e):g=n(e-1),g=b==46?n(g):g),t(e,g),p(e,g-1);return!1}if(b==27){f.val(m),f.caret(0,v());return!1}}function q(a){for(var b=a,c=e.placeholder;b<k;b++)if(h[b]){var d=n(b),f=l[b];l[b]=c;if(d<k&&h[d].test(f))c=f;else break}}function p(a,b){if(!(a<0)){for(var c=a,d=n(b);c<k;c++)if(h[c]){if(d<k&&h[c].test(l[d]))l[c]=l[d],l[d]=e.placeholder;else break;d=n(d)}u(),f.caret(Math.max(j,a))}}function o(a){while(--a>=0&&!h[a]);return a}function n(a){while(++a<=k&&!h[a]);return a}var f=a(this),l=a.map(d.split(""),function(a,b){if(a!="?")return g[a]?e.placeholder:a}),m=f.val();f.data(a.mask.dataName,function(){return a.map(l,function(a,b){return h[b]&&a!=e.placeholder?a:null}).join("")}),f.attr("readonly")||f.one("unmask",function(){f.unbind(".mask").removeData(a.mask.dataName)}).bind("focus.mask",function(){m=f.val();var b=v();u();var c=function(){b==d.length?f.caret(0,b):f.caret(b)};(a.browser.msie?c:function(){setTimeout(c,0)})()}).bind("blur.mask",function(){v(),f.val()!=m&&f.change()}).bind("keydown.mask",r).bind("keypress.mask",s).bind(b,function(){setTimeout(function(){f.caret(v(!0))},0)}),v()})}})})(jQuery)
\ No newline at end of file
......@@ -17,7 +17,7 @@ function pods_attachments ( src, file_limit ) {
// Create 'Add' link
var pods_file_quick_add = jQuery( '<a href="#">' + PodsI18n.__( 'Add' ) + '</a>' ).addClass( 'pods-quick-add' );
pods_file_quick_add.bind( 'click', function( e ) {
pods_file_quick_add.on( 'click', function( e ) {
var item = jQuery( this );
var item_parent = item.parent();
......@@ -49,7 +49,7 @@ function pods_attachments ( src, file_limit ) {
}
}
pods_thickbox.find( 'td.savesend input' ).unbind( 'click' ).click( function ( e ) {
pods_thickbox.find( 'td.savesend input' ).off( 'click' ).on( 'click', function ( e ) {
var wp_media_meta = jQuery( this ).parent().parent().parent();
pods_thickbox_send( wp_media_meta, e );
......
......@@ -157,7 +157,7 @@
} );
}
else {
$( '#pods-wizard-next' ).click().text( 'Start using Pods' ).addClass( 'finished' );
$( '#pods-wizard-next' ).trigger( 'click' ).text( 'Start using Pods' ).addClass( 'finished' );
$( '#pods-wizard-next' ).off( 'click' );
$( '#pods-wizard-next' ).prop( 'href', 'admin.php?page=pods' );
$( '#pods-wizard-next' ).show();
......@@ -170,4 +170,4 @@
return methods[ method ]();
// go through tr by tr, run if/else checks
};
})( jQuery );
\ No newline at end of file
})( jQuery );
This diff is collapsed.
......@@ -10,7 +10,7 @@ import { PodsDFVModal } from 'pods-dfv/_src/core/dfv-modal';
export const IframeFrame = wp.media.view.Frame.extend( {
className: 'pods-modal-frame',
template: _.template( '<div class="media-frame-title" /><div class="media-frame-iframe" />' ),
template: _.template( '<div class="media-frame-title"></div><div class="media-frame-iframe"></div>' ),
regions: [ 'title', 'iframe' ],
......
This diff is collapsed.
This diff is collapsed.
#qtip-overlay.blurs,.qtip-close{cursor:pointer}.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content,.qtip-titlebar{position:relative;overflow:hidden}.qtip-content{padding:5px 9px;text-align:left;word-wrap:break-word}.qtip-titlebar{padding:5px 35px 5px 10px;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:normal 700 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #F1D031;background-color:#FFFFA3;color:#555}.qtip-default .qtip-titlebar{background-color:#FFEF93}.qtip-default .qtip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#AAA;color:#111}.qtip-light{background-color:#fff;border-color:#E2E2E2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1}.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-cream{background-color:#FBF7AA;border-color:#F9E98E;color:#A27D35}.qtip-red,.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#D95252}.qtip-cream .qtip-titlebar{background-color:#F0DE7D}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0}.qtip-red{background-color:#F78B83;color:#912323}.qtip-red .qtip-titlebar{background-color:#F06D65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-green{background-color:#CAED9E;border-color:#90D93F;color:#3F6219}.qtip-green .qtip-titlebar{background-color:#B0DE78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0}.qtip-blue{background-color:#E5F6FE;border-color:#ADD9ED;color:#5E99BD}.qtip-blue .qtip-titlebar{background-color:#D0E9F5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-moz-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-ms-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-o-linear-gradient(top,#4A4A4A 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:#4A4A4A;background-color:rgba(0,0,0,0)}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));background-image:-webkit-linear-gradient(top,#3A79B8,#2E629D);background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-ms-linear-gradient(top,#3A79B8,#2E629D);background-image:-o-linear-gradient(top,#3A79B8,#2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#FBFBFB;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}#qtip-overlay,#qtip-overlay div{left:0;top:0;width:100%;height:100%}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed}#qtip-overlay div{position:absolute;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"}.qtipmodal-ie6fix{position:absolute!important}
This diff is collapsed.
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Verwyders asseblief "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Voer asseblief "+t+" of meer karakters";return n},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var t="Kies asseblief net "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum;return"الرجاء حذف "+t+" عناصر"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"الرجاء إضافة "+t+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){return"تستطيع إختيار "+e.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bs",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadejte o jeden znak méně.":n<=4?"Prosím, zadejte o "+e(n,!0)+" znaky méně.":"Prosím, zadejte o "+n+" znaků méně."},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadejte ještě jeden znak.":n<=4?"Prosím, zadejte ještě další "+e(n,!0)+" znaky.":"Prosím, zadejte ještě dalších "+n+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku.":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky.":"Můžete zvolit maximálně "+n+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Angiv venligst "+t+" tegn mindre"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Angiv venligst "+t+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/dsb",[],function(){var e=["znamuško","znamušce","znamuška","znamuškow"],t=["zapisk","zapiska","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Pšosym lašuj "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Pšosym zapódaj nanejmjenjej "+r+" "+n(r,e)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(e){return"Móžoš jano "+e.maximum+" "+n(e.maximum,t)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Supprimez "+t+" caractère"+(t>1)?"s":""},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Saisissez au moins "+t+" caractère"+(t>1)?"s":""},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1)?"s":""},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var t=e.input.length-e.maximum;return t===1?"Elimine un carácter":"Elimine "+t+" caracteres"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t===1?"Engada un carácter":"Engada "+t+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return e.maximum===1?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hsb",[],function(){var e=["znamješko","znamješce","znamješka","znamješkow"],t=["zapisk","zapiskaj","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Prošu zhašej "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Prošu zapodaj znajmjeńša "+r+" "+n(r,e)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(e){return"Móžeš jenož "+e.maximum+" "+n(e.maximum,t)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Խնդրում ենք հեռացնել "+t+" նշան";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Խնդրում ենք մուտքագրել "+t+" կամ ավել նշաններ";return n},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(e){var t="Դուք կարող եք ընտրել առավելագույնը "+e.maximum+" կետ";return t},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
/*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
/*! Select2 1.0.8 | https://github.com/select2/select2/blob/master/LICENSE.md */
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=t:n+="ett",n+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment