| 1 |
/** |
| 2 |
* Adds one biography input field per language in the user profile. |
| 3 |
* |
| 4 |
* @package Polylang |
| 5 |
*/ |
| 6 |
|
| 7 |
jQuery( document ).ready( |
| 8 |
function( $ ) { |
| 9 |
// biography |
| 10 |
// FIXME there is probably a more efficient way to do this |
| 11 |
var td = $( '#description' ).parent(); |
| 12 |
var d = $( '#description' ).clone(); |
| 13 |
var span = td.children( '.description' ).clone(); |
| 14 |
td.children().remove(); |
| 15 |
|
| 16 |
$( '.biography' ).each( |
| 17 |
function(){ |
| 18 |
lang = $( this ).attr( 'name' ).split( '___' ); |
| 19 |
desc = d.clone(); |
| 20 |
desc.attr( 'name', 'description_' + lang[0] ); |
| 21 |
desc.attr( 'id', 'description_' + lang[0] ); |
| 22 |
// Whitelist because description and lang value is already escaped by the side of PHP |
| 23 |
desc.html( $( this ).val() ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html |
| 24 |
td.append( $( '<div></div>' ).text( lang[1] ) ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.append |
| 25 |
td.append( desc ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.append |
| 26 |
} |
| 27 |
); |
| 28 |
|
| 29 |
td.append( '<br />' ); |
| 30 |
// Whitelist because description come from html code generated by WordPress |
| 31 |
td.append( span ); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.append |
| 32 |
} |
| 33 |
); |
| 34 |
|