%3C%3Fphp%20%2F%2Fphpcs%3Aignore%0A%2F%2A%2A%0A%20%2A%20Theme%20functions%20and%20definitions.%0A%20%2A%0A%20%2A%20%40package%20Blogmate%0A%20%2A%20%40author%20%20Peregrine%20Themes%0A%20%2A%20%40since%20%20%201.0.0%0A%20%2A%2F%0A%0A%2F%2A%2A%0A%20%2A%20Main%20Blogmate%20class.%0A%20%2A%0A%20%2A%20%40since%201.0.0%0A%20%2A%2F%0Afinal%20class%20Blogmate%20%7B%0A%0A%09%2F%2A%2A%0A%09%20%2A%20Singleton%20instance%20of%20the%20class.%0A%09%20%2A%0A%09%20%2A%20%40since%201.0.0%0A%09%20%2A%20%40var%20object%0A%09%20%2A%2F%0A%09private%20static%20%24instance%3B%0A%0A%09public%20static%20function%20instance%28%29%20%7B%0A%09%09if%20%28%20%21%20isset%28%20self%3A%3A%24instance%20%29%20%26%26%20%21%20%28%20self%3A%3A%24instance%20instanceof%20Blogmate%20%29%20%29%20%7B%0A%09%09%09self%3A%3A%24instance%20%3D%20new%20Blogmate%28%29%3B%0A%09%09%09self%3A%3A%24instance-%3Eincludes%28%29%3B%0A%09%09%09%2F%2F%20Hook%20now%20that%20all%20of%20the%20Blogmate%20stuff%20is%20loaded.%0A%09%09%09do_action%28%20%27blogmate_loaded%27%20%29%3B%0A%09%09%7D%0A%09%09return%20self%3A%3A%24instance%3B%0A%09%7D%0A%0A%09%2F%2A%2A%0A%09%20%2A%20Primary%20class%20constructor.%0A%09%20%2A%0A%09%20%2A%20%40since%201.0.0%0A%09%20%2A%20%40return%20void%0A%09%20%2A%2F%0A%09public%20function%20__construct%28%29%20%7B%0A%09%09add_action%28%20%27wp_enqueue_scripts%27%2C%20array%28%20%24this%2C%20%27blogmate_styles%27%20%29%20%29%3B%0A%09%7D%0A%0A%09%2F%2A%2A%0A%09%20%2A%20Include%20files.%0A%09%20%2A%0A%09%20%2A%20%40since%20%201.0.0%0A%09%20%2A%20%40return%20void%0A%09%20%2A%2F%0A%09public%20function%20includes%28%29%20%7B%0A%09%09require%20get_stylesheet_directory%28%29%20.%20%27%2Finc%2Fcustomizer%2Fdefault.php%27%3B%0A%09%09require%20get_stylesheet_directory%28%29%20.%20%27%2Finc%2Fcustomizer%2Fcustomizer.php%27%3B%0A%09%7D%0A%0A%09%2F%2A%2A%0A%09%20%2A%20Recommended%20way%20to%20include%20parent%20theme%20styles.%0A%09%20%2A%20%28Please%20see%20http%3A%2F%2Fcodex.wordpress.org%2FChild_Themes%23How_to_Create_a_Child_Theme%29%0A%09%20%2A%2F%0A%09function%20blogmate_styles%28%29%20%7B%0A%09%09wp_enqueue_style%28%20%27parent-style%27%2C%20get_template_directory_uri%28%29%20.%20%27%2Fstyle.css%27%20%29%3B%0A%09%09wp_enqueue_style%28%20%27child-style%27%2C%20get_stylesheet_directory_uri%28%29%20.%20%27%2Fstyle.css%27%2C%20array%28%20%27parent-style%27%20%29%20%29%3B%0A%09%7D%0A%7D%0A%0A%2F%2A%2A%0A%20%2A%20The%20function%20which%20returns%20the%20one%20Blogmate%20instance.%0A%20%2A%0A%20%2A%20Use%20this%20function%20like%20you%20would%20a%20global%20variable%2C%20except%20without%20needing%0A%20%2A%20to%20declare%20the%20global.%0A%20%2A%0A%20%2A%20Example%3A%20%3C%3Fphp%20%24blogmate%20%3D%20blogmate%28%29%3B%20%3F%3E%0A%20%2A%0A%20%2A%20%40since%201.0.0%0A%20%2A%20%40return%20object%0A%20%2A%2F%0Afunction%20blogmate%28%29%20%7B%0A%09return%20Blogmate%3A%3Ainstance%28%29%3B%0A%7D%0A%0A%2F%2F%20Ajouter%20un%20menu%20pour%20g%C3%A9rer%20les%20donn%C3%A9es%20du%20tableau%0Afunction%20custom_pricing_table_menu%28%29%20%7B%0A%20%20%20%20add_menu_page%28%0A%20%20%20%20%20%20%20%20%27Gestion%20des%20prix%20et%20promos%27%2C%20%0A%20%20%20%20%20%20%20%20%27Prix%20Imprimantes%203D%20et%20filaments%27%2C%20%0A%20%20%20%20%20%20%20%20%27manage_options%27%2C%20%0A%20%20%20%20%20%20%20%20%27pricing-promo-manager%27%2C%20%0A%20%20%20%20%20%20%20%20%27custom_pricing_table_page%27%2C%20%0A%20%20%20%20%20%20%20%20%27dashicons-cart%27%2C%20%0A%20%20%20%20%20%20%20%2020%0A%20%20%20%20%29%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_pricing_table_menu%27%29%3B%0A%0A%2F%2F%20Charger%20le%20script%20de%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20WordPress%0Afunction%20enqueue_media_uploader_scripts%28%29%20%7B%0A%20%20%20%20wp_enqueue_media%28%29%3B%0A%7D%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20l%27interface%20d%27administration%0Afunction%20custom_pricing_table_admin_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20th%2C%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-bottom%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20tr%3Anth-child%28even%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23f9f9f9%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.updated%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-left%3A%204px%20solid%20%2346b450%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%201em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23dff0d8%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.button-primary%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%230073aa%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23006799%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.remove-row-button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27admin_head%27%2C%20%27custom_pricing_table_admin_styles%27%29%3B%0A%0A%2F%2F%20Interface%20d%27administration%20pour%20modifier%20les%20lignes%20du%20tableau%0Afunction%20custom_pricing_table_page%28%29%20%7B%0A%20%20%20%20if%20%28%21current_user_can%28%27manage_options%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Sauvegarder%20les%20donn%C3%A9es%20si%20le%20formulaire%20est%20soumis%0A%20%20%20%20if%20%28isset%28%24_POST%5B%27save_pricing_table%27%5D%29%20%26%26%20check_admin_referer%28%27save_pricing_table_nonce%27%2C%20%27save_pricing_table_nonce%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20isset%28%24_POST%5B%27table_data%27%5D%29%20%26%26%20is_array%28%24_POST%5B%27table_data%27%5D%29%20%3F%20%24_POST%5B%27table_data%27%5D%20%3A%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%20Nettoyer%20les%20donn%C3%A9es%20avant%20de%20les%20sauvegarder%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20array_map%28function%28%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27article%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27code%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link%27%20%3D%3E%20esc_url_raw%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link_text%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link_text_custom%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27price%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27discount_price%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27image%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27youtube_link%27%20%3D%3E%20esc_url_raw%28%24row%5B%27youtube_link%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20update_option%28%27custom_pricing_table_data%27%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Cdiv%20class%3D%22updated%22%3E%3Cp%3ELes%20donn%C3%A9es%20ont%20%C3%A9t%C3%A9%20sauvegard%C3%A9es%20avec%20succ%C3%A8s%20%21%3C%2Fp%3E%3C%2Fdiv%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22wrap%20custom-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ch1%3EGestion%20des%20prix%20et%20codes%20promos%3C%2Fh1%3E%27%3B%0A%20%20%20%20echo%20%27%3Cform%20method%3D%22POST%22%3E%27%3B%0A%20%20%20%20wp_nonce_field%28%27save_pricing_table_nonce%27%2C%20%27save_pricing_table_nonce%27%29%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22form-table%22%20style%3D%22width%3A100%25%3B%20border-collapse%3A%20collapse%3B%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ECodes%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3ETexte%20du%20lien%3C%2Fth%3E%3Cth%3EPrix%20initial%3C%2Fth%3E%3Cth%3EPrix%20avec%20coupon%3C%2Fth%3E%3Cth%3E%C3%89conomies%20r%C3%A9alis%C3%A9es%3C%2Fth%3E%3Cth%3EVid%C3%A9o%20YouTube%3C%2Fth%3E%3Cth%3EAction%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%20id%3D%22table-rows%22%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24index%20%3D%3E%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24code%20%3D%20esc_attr%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text%20%3D%20esc_attr%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27GeekBuying.com%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text_custom%20%3D%20esc_attr%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24price%20%3D%20esc_attr%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24discount_price%20%3D%20esc_attr%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_attr%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24youtube_link%20%3D%20esc_url%28%24row%5B%27youtube_link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24savings%20%3D%20%28%21empty%28%24price%29%20%26%26%20%21empty%28%24discount_price%29%29%20%3F%20round%28%24price%20-%20%24discount_price%2C%202%29%20%3A%200%3B%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%27%20.%20esc_url%28%24image%29%20.%20%27%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%27%20.%20%24image%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Barticle%5D%22%20value%3D%22%27%20.%20%24article%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bcode%5D%22%20value%3D%22%27%20.%20%24code%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink%5D%22%20value%3D%22%27%20.%20%24link%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink_text%5D%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22GeekBuying.com%22%27%20.%20selected%28%24link_text%2C%20%27GeekBuying.com%27%2C%20false%29%20.%20%27%3EGeekBuying.com%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Ortur.net%22%27%20.%20selected%28%24link_text%2C%20%27Ortur.net%27%2C%20false%29%20.%20%27%3EOrtur.net%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Texte%20libre%22%27%20.%20selected%28%24link_text%2C%20%27Texte%20libre%27%2C%20false%29%20.%20%27%3ETexte%20libre%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink_text_custom%5D%22%20placeholder%3D%22Texte%20libre%22%20value%3D%22%27%20.%20%28%24link_text%20%3D%3D%3D%20%27Texte%20libre%27%20%3F%20%24link_text_custom%20%3A%20%27%27%29%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bprice%5D%22%20value%3D%22%27%20.%20%24price%20.%20%27%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bdiscount_price%5D%22%20value%3D%22%27%20.%20%24discount_price%20.%20%27%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24savings%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Byoutube_link%5D%22%20placeholder%3D%22https%3A%2F%2Fyoutube.com%22%20value%3D%22%27%20.%20%24youtube_link%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Cbutton%20type%3D%22button%22%20id%3D%22add-row%22%20class%3D%22button%22%3EAjouter%20une%20ligne%3C%2Fbutton%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cinput%20type%3D%22submit%22%20name%3D%22save_pricing_table%22%20class%3D%22button%20button-primary%22%20value%3D%22Enregistrer%22%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fform%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%0A%20%20%20%20%2F%2F%20Script%20pour%20g%C3%A9rer%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20et%20les%20actions%20des%20boutons%0A%20%20%20%20echo%20%27%3Cscript%3E%0A%20%20%20%20%20%20%20%20document.getElementById%28%22add-row%22%29.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20tbody%20%3D%20document.getElementById%28%22table-rows%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20uniqueId%20%3D%20Date.now%28%29%20%2B%20Math.random%28%29.toString%2836%29.substr%282%2C%209%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20newRow%20%3D%20document.createElement%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20newRow.innerHTML%20%3D%20%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Barticle%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bcode%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink_text%5D%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22GeekBuying.com%22%3EGeekBuying.com%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Ortur.net%22%3EOrtur.net%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Texte%20libre%22%3ETexte%20libre%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink_text_custom%5D%22%20placeholder%3D%22Texte%20libre%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bprice%5D%22%20value%3D%22%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bdiscount_price%5D%22%20value%3D%22%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E0%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Byoutube_link%5D%22%20placeholder%3D%22https%3A%2F%2Fyoutube.com%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20tbody.appendChild%28newRow%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22click%22%2C%20function%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22select-image-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20button%20%3D%20event.target%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20button.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20input%20%3D%20row.querySelector%28%22.image-url-input%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20img%20%3D%20row.querySelector%28%22img%22%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20mediaUploader%20%3D%20wp.media%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%3A%20%22Choisir%20une%20image%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button%3A%20%7B%20text%3A%20%22Utiliser%20cette%20image%22%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20multiple%3A%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.on%28%22select%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20attachment%20%3D%20mediaUploader.state%28%29.get%28%22selection%22%29.first%28%29.toJSON%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20input.value%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20img.src%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.open%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22remove-row-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20event.target.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.remove%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%27%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_pricing_table_menu%27%29%3B%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0Aadd_action%28%27admin_head%27%2C%20%27custom_pricing_table_admin_styles%27%29%3B%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20le%20tableau%20en%20front-end%0Afunction%20custom_pricing_table_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.pricing-table-container%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20flex%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20justify-content%3A%20center%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20100%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%201200px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-collapse%3A%20collapse%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20th%2C%20.pricing-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20thead%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23d32f2f%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20tr%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20cursor%3A%20pointer%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20transition%3A%20transform%200.2s%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20tr%3Ahover%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20transform%3A%20scale%281.02%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20white-space%3A%20nowrap%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20a%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%231e88e5%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-decoration%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20.code%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23ffe0b2%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20.highlight%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23ffc107%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23000%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20img%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-height%3A%2060px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%2090px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20object-fit%3A%20contain%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20block%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%20auto%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23notification%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20bottom%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20right%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%234caf50%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200%202px%205px%20rgba%280%2C0%2C0%2C0.3%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_head%27%2C%20%27custom_pricing_table_styles%27%29%3B%0A%0A%2F%2F%20Ajouter%20le%20script%20JavaScript%20pour%20g%C3%A9rer%20les%20interactions%20en%20front-end%0Afunction%20custom_pricing_table_scripts%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20function%20copyToClipboard%28text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20navigator.clipboard.writeText%28text%29.then%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27Code%20promo%20%22%5C%27%20%2B%20text%20%2B%20%5C%27%22%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29.catch%28err%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27%C3%89chec%20de%20la%20copie%20dans%20le%20presse-papiers.%5C%27%2C%20%5C%27error%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.error%28%5C%27Erreur%3A%5C%27%2C%20err%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20showNotification%28message%2C%20type%20%3D%20%5C%27success%5C%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20notification%20%3D%20document.getElementById%28%5C%27notification%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.textContent%20%3D%20message%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.backgroundColor%20%3D%20type%20%3D%3D%3D%20%5C%27success%5C%27%20%3F%20%5C%27%234caf50%5C%27%20%3A%20%5C%27%23f44336%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27block%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27none%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%203000%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20highlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281.02%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%220px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20unhighlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%22none%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22DOMContentLoaded%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rows%20%3D%20document.querySelectorAll%28%22.pricing-table%20tbody%20tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20rows.forEach%28row%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20code%20%3D%20this.querySelector%28%22.code%22%29.textContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20copyToClipboard%28code%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseover%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20highlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseout%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20unhighlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%0A%20%20%20%20%3Cdiv%20id%3D%22notification%22%3ECode%20promo%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%3C%2Fdiv%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_footer%27%2C%20%27custom_pricing_table_scripts%27%29%3B%0A%0A%2F%2F%20Enregistrer%20le%20shortcode%20%5Bpricing_table%5D%0Afunction%20register_pricing_table_shortcode%28%29%20%7B%0A%20%20%20%20add_shortcode%28%27pricing_table%27%2C%20%27display_pricing_table%27%29%3B%0A%7D%0Aadd_action%28%27init%27%2C%20%27register_pricing_table_shortcode%27%29%3B%0A%0A%2F%2F%20Fonction%20pour%20afficher%20le%20tableau%20de%20prix%20et%20promos%0Afunction%20display_pricing_table%28%29%20%7B%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20%2F%2F%20G%C3%A9n%C3%A9rer%20le%20HTML%20du%20tableau%0A%20%20%20%20ob_start%28%29%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22pricing-table-container%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ECodes%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3EPrix%20initial%3C%2Fth%3E%3Cth%3EPrix%20avec%20coupon%3C%2Fth%3E%3Cth%3E%C3%89conomies%20r%C3%A9alis%C3%A9es%3C%2Fth%3E%3Cth%3EVid%C3%A9o%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24code%20%3D%20esc_attr%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text%20%3D%20esc_attr%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27GeekBuying.com%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text_custom%20%3D%20esc_attr%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24highlight_class%20%3D%20%24link_text%20%3D%3D%3D%20%27Ortur.net%27%20%3F%20%27highlight%27%20%3A%20%27%27%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_url%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24price%20%3D%20esc_attr%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24discount_price%20%3D%20esc_attr%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24youtube_link%20%3D%20esc_url%28%24row%5B%27youtube_link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24youtube_text%20%3D%20%21empty%28%24youtube_link%29%20%3F%20%27%3Ca%20href%3D%22%27%20.%20%24youtube_link%20.%20%27%22%20target%3D%22_blank%22%3EVoir%20la%20vid%C3%A9o%3C%2Fa%3E%27%20%3A%20%27Test%20en%20cours%27%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Calculer%20les%20%C3%A9conomies%20r%C3%A9alis%C3%A9es%20en%20euros%0A%20%20%20%20%20%20%20%20if%20%28%24price%20%26%26%20%24discount_price%20%26%26%20%24price%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%20round%28%24price%20-%20%24discount_price%2C%202%29%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cimg%20src%3D%22%27%20.%20%24image%20.%20%27%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24article%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%20class%3D%22code%20%27%20.%20%24highlight_class%20.%20%27%22%3E%27%20.%20%24code%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Ca%20href%3D%22%27%20.%20%24link%20.%20%27%22%20target%3D%22_blank%22%3E%27%20.%20%28%24link_text%20%3D%3D%3D%20%27Texte%20libre%27%20%3F%20%24link_text_custom%20%3A%20%24link_text%29%20.%20%27%20%3Cspan%20style%3D%22font-size%3A%2016px%3B%22%3E%F0%9F%94%97%3C%2Fspan%3E%3C%2Fa%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24price%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24discount_price%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24savings%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24youtube_text%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20return%20ob_get_clean%28%29%3B%0A%7D%0A%20%20%20%20%20%20%20%20%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%2F%2F%20Ajouter%20un%20menu%20pour%20g%C3%A9rer%20les%20donn%C3%A9es%20du%20tableau%20des%20lasers%0Afunction%20custom_laser_pricing_table_menu%28%29%20%7B%0A%20%20%20%20add_menu_page%28%0A%20%20%20%20%20%20%20%20%27Gestion%20des%20prix%20des%20lasers%27%2C%20%0A%20%20%20%20%20%20%20%20%27Prix%20des%20lasers%27%2C%20%0A%20%20%20%20%20%20%20%20%27manage_options%27%2C%20%0A%20%20%20%20%20%20%20%20%27laser-pricing-promo-manager%27%2C%20%0A%20%20%20%20%20%20%20%20%27custom_laser_pricing_table_page%27%2C%20%0A%20%20%20%20%20%20%20%20%27dashicons-lightbulb%27%2C%20%0A%20%20%20%20%20%20%20%2021%0A%20%20%20%20%29%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_laser_pricing_table_menu%27%29%3B%0A%0A%2F%2F%20Charger%20le%20script%20de%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20WordPress%0Aif%20%28%21function_exists%28%27enqueue_media_uploader_scripts%27%29%29%20%7B%0A%20%20%20%20function%20enqueue_media_uploader_scripts%28%29%20%7B%0A%20%20%20%20%20%20%20%20wp_enqueue_media%28%29%3B%0A%20%20%20%20%7D%0A%7D%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20l%27interface%20d%27administration%20des%20lasers%0Afunction%20custom_laser_pricing_table_admin_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.custom-laser-pricing-table%20.form-table%20th%2C%0A%20%20%20%20%20%20%20%20.custom-laser-pricing-table%20.form-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-bottom%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-laser-pricing-table%20.form-table%20tr%3Anth-child%28even%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23f9f9f9%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-laser-pricing-table%20.button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-laser-pricing-table%20.updated%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-left%3A%204px%20solid%20%2346b450%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%201em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23dff0d8%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-laser-pricing-table%20.button-primary%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%230073aa%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23006799%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.remove-row-button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27admin_head%27%2C%20%27custom_laser_pricing_table_admin_styles%27%29%3B%0A%0A%2F%2F%20Interface%20d%27administration%20pour%20modifier%20les%20lignes%20du%20tableau%20des%20lasers%0Afunction%20custom_laser_pricing_table_page%28%29%20%7B%0A%20%20%20%20if%20%28%21current_user_can%28%27manage_options%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Sauvegarder%20les%20donn%C3%A9es%20si%20le%20formulaire%20est%20soumis%0A%20%20%20%20if%20%28isset%28%24_POST%5B%27save_laser_pricing_table%27%5D%29%20%26%26%20check_admin_referer%28%27save_laser_pricing_table_nonce%27%2C%20%27save_laser_pricing_table_nonce%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20isset%28%24_POST%5B%27table_data%27%5D%29%20%26%26%20is_array%28%24_POST%5B%27table_data%27%5D%29%20%3F%20%24_POST%5B%27table_data%27%5D%20%3A%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%20Nettoyer%20les%20donn%C3%A9es%20avant%20de%20les%20sauvegarder%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20array_map%28function%28%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27article%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27code%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link%27%20%3D%3E%20esc_url_raw%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link_text%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link_text_custom%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27price%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27discount_price%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27image%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20update_option%28%27custom_laser_pricing_table_data%27%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Cdiv%20class%3D%22updated%22%3E%3Cp%3ELes%20donn%C3%A9es%20ont%20%C3%A9t%C3%A9%20sauvegard%C3%A9es%20avec%20succ%C3%A8s%20%21%3C%2Fp%3E%3C%2Fdiv%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_laser_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22wrap%20custom-laser-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ch1%3EGestion%20des%20prix%20des%20lasers%3C%2Fh1%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3EUtilisez%20le%20shortcode%20suivant%20pour%20afficher%20le%20tableau%20sur%20une%20page%20ou%20un%20article%20%3A%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Ccode%3E%5Blaser_pricing_table%5D%3C%2Fcode%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cform%20method%3D%22POST%22%3E%27%3B%0A%20%20%20%20wp_nonce_field%28%27save_laser_pricing_table_nonce%27%2C%20%27save_laser_pricing_table_nonce%27%29%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22form-table%22%20style%3D%22width%3A100%25%3B%20border-collapse%3A%20collapse%3B%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ECodes%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3ETexte%20du%20lien%3C%2Fth%3E%3Cth%3EPrix%20initial%3C%2Fth%3E%3Cth%3EPrix%20avec%20coupon%3C%2Fth%3E%3Cth%3E%C3%89conomies%20r%C3%A9alis%C3%A9es%3C%2Fth%3E%3Cth%3EAction%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%20id%3D%22table-rows%22%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24index%20%3D%3E%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24code%20%3D%20esc_attr%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text%20%3D%20esc_attr%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27GeekBuying.com%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text_custom%20%3D%20esc_attr%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24price%20%3D%20esc_attr%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24discount_price%20%3D%20esc_attr%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_attr%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Calculer%20les%20%C3%A9conomies%20r%C3%A9alis%C3%A9es%20en%20euros%0A%20%20%20%20%20%20%20%20if%20%28%24price%20%26%26%20%24discount_price%20%26%26%20%24price%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%20round%28%24price%20-%20%24discount_price%2C%202%29%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%27%20.%20esc_url%28%24image%29%20.%20%27%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%27%20.%20%24image%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Barticle%5D%22%20value%3D%22%27%20.%20%24article%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bcode%5D%22%20value%3D%22%27%20.%20%24code%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink%5D%22%20value%3D%22%27%20.%20%24link%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink_text%5D%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22GeekBuying.com%22%27%20.%20selected%28%24link_text%2C%20%27GeekBuying.com%27%2C%20false%29%20.%20%27%3EGeekBuying.com%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Ortur.net%22%27%20.%20selected%28%24link_text%2C%20%27Ortur.net%27%2C%20false%29%20.%20%27%3EOrtur.net%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Texte%20libre%22%27%20.%20selected%28%24link_text%2C%20%27Texte%20libre%27%2C%20false%29%20.%20%27%3ETexte%20libre%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink_text_custom%5D%22%20placeholder%3D%22Texte%20libre%22%20value%3D%22%27%20.%20%28%24link_text%20%3D%3D%3D%20%27Texte%20libre%27%20%3F%20%24link_text_custom%20%3A%20%27%27%29%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bprice%5D%22%20value%3D%22%27%20.%20%24price%20.%20%27%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bdiscount_price%5D%22%20value%3D%22%27%20.%20%24discount_price%20.%20%27%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24savings%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Cbutton%20type%3D%22button%22%20id%3D%22add-row%22%20class%3D%22button%22%3EAjouter%20une%20ligne%3C%2Fbutton%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cinput%20type%3D%22submit%22%20name%3D%22save_laser_pricing_table%22%20class%3D%22button%20button-primary%22%20value%3D%22Enregistrer%22%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fform%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%0A%20%20%20%20%2F%2F%20Script%20pour%20g%C3%A9rer%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20et%20les%20actions%20des%20boutons%0A%20%20%20%20echo%20%27%3Cscript%3E%0A%20%20%20%20%20%20%20%20document.getElementById%28%22add-row%22%29.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20tbody%20%3D%20document.getElementById%28%22table-rows%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rowCount%20%3D%20tbody.children.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20newRow%20%3D%20document.createElement%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20uniqueId%20%3D%20Date.now%28%29%20%2B%20Math.random%28%29.toString%2836%29.substr%282%2C%209%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20newRow.innerHTML%20%3D%20%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Barticle%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bcode%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink_text%5D%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22GeekBuying.com%22%3EGeekBuying.com%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Ortur.net%22%3EOrtur.net%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Texte%20libre%22%3ETexte%20libre%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink_text_custom%5D%22%20placeholder%3D%22Texte%20libre%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bprice%5D%22%20value%3D%22%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bdiscount_price%5D%22%20value%3D%22%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E0%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20tbody.appendChild%28newRow%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22click%22%2C%20function%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22select-image-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20button%20%3D%20event.target%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20button.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20input%20%3D%20row.querySelector%28%22.image-url-input%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20img%20%3D%20row.querySelector%28%22img%22%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20mediaUploader%20%3D%20wp.media%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%3A%20%22Choisir%20une%20image%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button%3A%20%7B%20text%3A%20%22Utiliser%20cette%20image%22%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20multiple%3A%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.on%28%22select%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20attachment%20%3D%20mediaUploader.state%28%29.get%28%22selection%22%29.first%28%29.toJSON%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20input.value%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20img.src%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.open%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22remove-row-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20event.target.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.remove%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%27%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_laser_pricing_table_menu%27%29%3B%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0Aadd_action%28%27admin_head%27%2C%20%27custom_laser_pricing_table_admin_styles%27%29%3B%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20le%20tableau%20en%20front-end%20des%20lasers%0Afunction%20custom_laser_pricing_table_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.laser-pricing-table-container%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20flex%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20justify-content%3A%20center%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20100%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%201200px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-collapse%3A%20collapse%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20th%2C%20.laser-pricing-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20thead%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23d32f2f%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20tbody%20tr%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20cursor%3A%20pointer%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20transition%3A%20transform%200.2s%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20tbody%20tr%3Ahover%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20transform%3A%20scale%281.02%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20tbody%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20white-space%3A%20nowrap%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20a%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%231e88e5%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-decoration%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20.code%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23ffe0b2%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20.highlight%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23ffc107%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23000%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.laser-pricing-table%20img%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-height%3A%2060px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%2090px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20object-fit%3A%20contain%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20block%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%20auto%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23notification%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20bottom%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20right%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%234caf50%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200%202px%205px%20rgba%280%2C0%2C0%2C0.3%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_head%27%2C%20%27custom_laser_pricing_table_styles%27%29%3B%0A%0A%2F%2F%20Ajouter%20le%20script%20JavaScript%20pour%20g%C3%A9rer%20les%20interactions%20en%20front-end%20des%20lasers%0Afunction%20custom_laser_pricing_table_scripts%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20function%20copyToClipboard%28text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20navigator.clipboard.writeText%28text%29.then%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27Code%20promo%20%22%5C%27%20%2B%20text%20%2B%20%5C%27%22%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29.catch%28err%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27%C3%89chec%20de%20la%20copie%20dans%20le%20presse-papiers.%5C%27%2C%20%5C%27error%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.error%28%5C%27Erreur%3A%5C%27%2C%20err%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20showNotification%28message%2C%20type%20%3D%20%5C%27success%5C%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20notification%20%3D%20document.getElementById%28%5C%27notification%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.textContent%20%3D%20message%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.backgroundColor%20%3D%20type%20%3D%3D%3D%20%5C%27success%5C%27%20%3F%20%5C%27%234caf50%5C%27%20%3A%20%5C%27%23f44336%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27block%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27none%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%203000%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20highlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281.02%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%220px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20unhighlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%22none%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22DOMContentLoaded%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rows%20%3D%20document.querySelectorAll%28%22.laser-pricing-table%20tbody%20tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20rows.forEach%28row%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20code%20%3D%20this.querySelector%28%22.code%22%29.textContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20copyToClipboard%28code%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseover%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20highlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseout%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20unhighlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%0A%20%20%20%20%3Cdiv%20id%3D%22notification%22%3ECode%20promo%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%3C%2Fdiv%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_footer%27%2C%20%27custom_laser_pricing_table_scripts%27%29%3B%0A%0A%2F%2F%20Enregistrer%20le%20shortcode%20%5Blaser_pricing_table%5D%0Afunction%20register_laser_pricing_table_shortcode%28%29%20%7B%0A%20%20%20%20add_shortcode%28%27laser_pricing_table%27%2C%20%27display_laser_pricing_table%27%29%3B%0A%7D%0Aadd_action%28%27init%27%2C%20%27register_laser_pricing_table_shortcode%27%29%3B%0A%0A%2F%2F%20Fonction%20pour%20afficher%20le%20tableau%20de%20prix%20et%20promos%20des%20lasers%0Afunction%20display_laser_pricing_table%28%29%20%7B%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_laser_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20%2F%2F%20G%C3%A9n%C3%A9rer%20le%20HTML%20du%20tableau%0A%20%20%20%20ob_start%28%29%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22laser-pricing-table-container%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22laser-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22laser-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ECodes%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3EPrix%20initial%3C%2Fth%3E%3Cth%3EPrix%20avec%20coupon%3C%2Fth%3E%3Cth%3E%E2%82%AC%20%C3%89conomis%C3%A9s%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24code%20%3D%20esc_attr%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text%20%3D%20esc_attr%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27GeekBuying.com%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text_custom%20%3D%20esc_attr%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24highlight_class%20%3D%20%24link_text%20%3D%3D%3D%20%27Ortur.net%27%20%3F%20%27highlight%27%20%3A%20%27%27%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_url%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24price%20%3D%20esc_attr%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24discount_price%20%3D%20esc_attr%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Calculer%20les%20%C3%A9conomies%20en%20euros%0A%20%20%20%20%20%20%20%20if%20%28%24price%20%26%26%20%24discount_price%20%26%26%20%24price%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%20round%28%24price%20-%20%24discount_price%2C%202%29%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cimg%20src%3D%22%27%20.%20%24image%20.%20%27%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24article%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%20class%3D%22code%20%27%20.%20%24highlight_class%20.%20%27%22%3E%27%20.%20%24code%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Ca%20href%3D%22%27%20.%20%24link%20.%20%27%22%20target%3D%22_blank%22%3E%27%20.%20%28%24link_text%20%3D%3D%3D%20%27Texte%20libre%27%20%3F%20%24link_text_custom%20%3A%20%24link_text%29%20.%20%27%20%3Cspan%20style%3D%22font-size%3A%2016px%3B%22%3E%F0%9F%94%97%3C%2Fspan%3E%3C%2Fa%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24price%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24discount_price%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24savings%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20return%20ob_get_clean%28%29%3B%0A%7D%0A%0A%0A%0A%0A%0A%0A%2F%2F%20Ajouter%20un%20menu%20pour%20g%C3%A9rer%20les%20donn%C3%A9es%20du%20tableau%20des%20accessoires%0Afunction%20custom_accessories_pricing_table_menu%28%29%20%7B%0A%20%20%20%20add_menu_page%28%0A%20%20%20%20%20%20%20%20%27Gestion%20des%20tarifs%20des%20accessoires%27%2C%20%0A%20%20%20%20%20%20%20%20%27Tarifs%20des%20accessoires%27%2C%20%0A%20%20%20%20%20%20%20%20%27manage_options%27%2C%20%0A%20%20%20%20%20%20%20%20%27accessories-pricing-promo-manager%27%2C%20%0A%20%20%20%20%20%20%20%20%27custom_accessories_pricing_table_page%27%2C%20%0A%20%20%20%20%20%20%20%20%27dashicons-admin-tools%27%2C%20%0A%20%20%20%20%20%20%20%2022%0A%20%20%20%20%29%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_accessories_pricing_table_menu%27%29%3B%0A%0A%2F%2F%20Charger%20le%20script%20de%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20WordPress%0Aif%20%28%21function_exists%28%27enqueue_media_uploader_scripts%27%29%29%20%7B%0A%20%20%20%20function%20enqueue_media_uploader_scripts%28%29%20%7B%0A%20%20%20%20%20%20%20%20wp_enqueue_media%28%29%3B%0A%20%20%20%20%7D%0A%7D%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20l%27interface%20d%27administration%20des%20accessoires%0Afunction%20custom_accessories_pricing_table_admin_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20th%2C%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-bottom%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20tr%3Anth-child%28even%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23f9f9f9%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.updated%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-left%3A%204px%20solid%20%2346b450%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%201em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23dff0d8%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.button-primary%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%230073aa%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23006799%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.remove-row-button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27admin_head%27%2C%20%27custom_accessories_pricing_table_admin_styles%27%29%3B%0A%0A%2F%2F%20Interface%20d%27administration%20pour%20modifier%20les%20lignes%20du%20tableau%20des%20accessoires%0Afunction%20custom_accessories_pricing_table_page%28%29%20%7B%0A%20%20%20%20if%20%28%21current_user_can%28%27manage_options%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Sauvegarder%20les%20donn%C3%A9es%20si%20le%20formulaire%20est%20soumis%0A%20%20%20%20if%20%28isset%28%24_POST%5B%27save_accessories_pricing_table%27%5D%29%20%26%26%20check_admin_referer%28%27save_accessories_pricing_table_nonce%27%2C%20%27save_accessories_pricing_table_nonce%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20isset%28%24_POST%5B%27table_data%27%5D%29%20%26%26%20is_array%28%24_POST%5B%27table_data%27%5D%29%20%3F%20%24_POST%5B%27table_data%27%5D%20%3A%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%20Nettoyer%20les%20donn%C3%A9es%20avant%20de%20les%20sauvegarder%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20array_map%28function%28%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27article%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27code%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link%27%20%3D%3E%20esc_url_raw%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link_text%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link_text_custom%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27price%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27discount_price%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27image%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20update_option%28%27custom_accessories_pricing_table_data%27%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Cdiv%20class%3D%22updated%22%3E%3Cp%3ELes%20donn%C3%A9es%20ont%20%C3%A9t%C3%A9%20sauvegard%C3%A9es%20avec%20succ%C3%A8s%20%21%3C%2Fp%3E%3C%2Fdiv%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_accessories_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22wrap%20custom-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ch1%3EGestion%20des%20tarifs%20des%20accessoires%3C%2Fh1%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3EUtilisez%20le%20shortcode%20suivant%20pour%20afficher%20le%20tableau%20sur%20une%20page%20ou%20un%20article%20%3A%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Ccode%3E%5Baccessories_pricing_table%5D%3C%2Fcode%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cform%20method%3D%22POST%22%3E%27%3B%0A%20%20%20%20wp_nonce_field%28%27save_accessories_pricing_table_nonce%27%2C%20%27save_accessories_pricing_table_nonce%27%29%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22form-table%22%20style%3D%22width%3A100%25%3B%20border-collapse%3A%20collapse%3B%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ECodes%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3ETexte%20du%20lien%3C%2Fth%3E%3Cth%3EPrix%20initial%3C%2Fth%3E%3Cth%3EPrix%20avec%20coupon%3C%2Fth%3E%3Cth%3E%E2%82%AC%20Economis%C3%A9s%3C%2Fth%3E%3Cth%3EAction%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%20id%3D%22table-rows%22%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24index%20%3D%3E%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24code%20%3D%20esc_attr%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text%20%3D%20esc_attr%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27GeekBuying.com%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text_custom%20%3D%20esc_attr%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24price%20%3D%20esc_attr%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24discount_price%20%3D%20esc_attr%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_attr%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Calculer%20les%20euros%20%C3%A9conomis%C3%A9s%0A%20%20%20%20%20%20%20%20%24savings%20%3D%20%24price%20-%20%24discount_price%3B%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%27%20.%20esc_url%28%24image%29%20.%20%27%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%27%20.%20%24image%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Barticle%5D%22%20value%3D%22%27%20.%20%24article%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bcode%5D%22%20value%3D%22%27%20.%20%24code%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink%5D%22%20value%3D%22%27%20.%20%24link%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink_text%5D%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22GeekBuying.com%22%27%20.%20selected%28%24link_text%2C%20%27GeekBuying.com%27%2C%20false%29%20.%20%27%3EGeekBuying.com%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Ortur.net%22%27%20.%20selected%28%24link_text%2C%20%27Ortur.net%27%2C%20false%29%20.%20%27%3EOrtur.net%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Texte%20libre%22%27%20.%20selected%28%24link_text%2C%20%27Texte%20libre%27%2C%20false%29%20.%20%27%3ETexte%20libre%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink_text_custom%5D%22%20placeholder%3D%22Texte%20libre%22%20value%3D%22%27%20.%20%28%24link_text%20%3D%3D%3D%20%27Texte%20libre%27%20%3F%20%24link_text_custom%20%3A%20%27%27%29%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bprice%5D%22%20value%3D%22%27%20.%20%24price%20.%20%27%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bdiscount_price%5D%22%20value%3D%22%27%20.%20%24discount_price%20.%20%27%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24savings%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Cbutton%20type%3D%22button%22%20id%3D%22add-row%22%20class%3D%22button%22%3EAjouter%20une%20ligne%3C%2Fbutton%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cinput%20type%3D%22submit%22%20name%3D%22save_accessories_pricing_table%22%20class%3D%22button%20button-primary%22%20value%3D%22Enregistrer%22%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fform%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%0A%20%20%20%20%2F%2F%20Script%20pour%20g%C3%A9rer%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20et%20les%20actions%20des%20boutons%0A%20%20%20%20echo%20%27%3Cscript%3E%0A%20%20%20%20%20%20%20%20document.getElementById%28%22add-row%22%29.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20tbody%20%3D%20document.getElementById%28%22table-rows%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rowCount%20%3D%20tbody.children.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20newRow%20%3D%20document.createElement%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20uniqueId%20%3D%20Date.now%28%29%20%2B%20Math.random%28%29.toString%2836%29.substr%282%2C%209%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20newRow.innerHTML%20%3D%20%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Barticle%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bcode%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink_text%5D%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22GeekBuying.com%22%3EGeekBuying.com%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Ortur.net%22%3EOrtur.net%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Texte%20libre%22%3ETexte%20libre%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink_text_custom%5D%22%20placeholder%3D%22Texte%20libre%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bprice%5D%22%20value%3D%22%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bdiscount_price%5D%22%20value%3D%22%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E0%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20tbody.appendChild%28newRow%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22click%22%2C%20function%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22select-image-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20button%20%3D%20event.target%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20button.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20input%20%3D%20row.querySelector%28%22.image-url-input%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20img%20%3D%20row.querySelector%28%22img%22%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20mediaUploader%20%3D%20wp.media%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%3A%20%22Choisir%20une%20image%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button%3A%20%7B%20text%3A%20%22Utiliser%20cette%20image%22%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20multiple%3A%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.on%28%22select%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20attachment%20%3D%20mediaUploader.state%28%29.get%28%22selection%22%29.first%28%29.toJSON%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20input.value%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20img.src%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.open%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22remove-row-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20event.target.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.remove%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%27%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_accessories_pricing_table_menu%27%29%3B%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0Aadd_action%28%27admin_head%27%2C%20%27custom_accessories_pricing_table_admin_styles%27%29%3B%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20le%20tableau%20en%20front-end%20des%20accessoires%0Afunction%20custom_accessories_pricing_table_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.pricing-table-container%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20flex%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20justify-content%3A%20center%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20100%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%201200px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-collapse%3A%20collapse%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20th%2C%20.pricing-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20thead%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23d32f2f%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20tr%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20cursor%3A%20pointer%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20transition%3A%20transform%200.2s%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20tr%3Ahover%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20transform%3A%20scale%281.02%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20white-space%3A%20nowrap%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20a%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%231e88e5%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-decoration%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20.code%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23ffe0b2%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20.highlight%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23ffc107%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23000%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20img%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-height%3A%2060px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%2090px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20object-fit%3A%20contain%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20block%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%20auto%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23notification%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20bottom%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20right%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%234caf50%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200%202px%205px%20rgba%280%2C0%2C0%2C0.3%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_head%27%2C%20%27custom_accessories_pricing_table_styles%27%29%3B%0A%0A%2F%2F%20Ajouter%20le%20script%20JavaScript%20pour%20g%C3%A9rer%20les%20interactions%20en%20front-end%20des%20accessoires%0Afunction%20custom_accessories_pricing_table_scripts%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20function%20copyToClipboard%28text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20navigator.clipboard.writeText%28text%29.then%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27Code%20promo%20%22%5C%27%20%2B%20text%20%2B%20%5C%27%22%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29.catch%28err%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27%C3%89chec%20de%20la%20copie%20dans%20le%20presse-papiers.%5C%27%2C%20%5C%27error%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.error%28%5C%27Erreur%3A%5C%27%2C%20err%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20showNotification%28message%2C%20type%20%3D%20%5C%27success%5C%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20notification%20%3D%20document.getElementById%28%5C%27notification%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.textContent%20%3D%20message%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.backgroundColor%20%3D%20type%20%3D%3D%3D%20%5C%27success%5C%27%20%3F%20%5C%27%234caf50%5C%27%20%3A%20%5C%27%23f44336%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27block%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27none%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%203000%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20highlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281.02%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%220px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20unhighlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%22none%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22DOMContentLoaded%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rows%20%3D%20document.querySelectorAll%28%22.pricing-table%20tbody%20tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20rows.forEach%28row%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20code%20%3D%20this.querySelector%28%22.code%22%29.textContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20copyToClipboard%28code%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseover%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20highlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseout%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20unhighlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%0A%20%20%20%20%3Cdiv%20id%3D%22notification%22%3ECode%20promo%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%3C%2Fdiv%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_footer%27%2C%20%27custom_accessories_pricing_table_scripts%27%29%3B%0A%0A%2F%2F%20Enregistrer%20le%20shortcode%20%5Baccessories_pricing_table%5D%0Afunction%20register_accessories_pricing_table_shortcode%28%29%20%7B%0A%20%20%20%20add_shortcode%28%27accessories_pricing_table%27%2C%20%27display_accessories_pricing_table%27%29%3B%0A%7D%0Aadd_action%28%27init%27%2C%20%27register_accessories_pricing_table_shortcode%27%29%3B%0A%0A%2F%2F%20Fonction%20pour%20afficher%20le%20tableau%20de%20prix%20et%20promos%20des%20accessoires%0Afunction%20display_accessories_pricing_table%28%29%20%7B%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_accessories_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20%2F%2F%20G%C3%A9n%C3%A9rer%20le%20HTML%20du%20tableau%0A%20%20%20%20ob_start%28%29%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22pricing-table-container%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ECodes%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3EPrix%20initial%3C%2Fth%3E%3Cth%3EPrix%20avec%20coupon%3C%2Fth%3E%3Cth%3E%E2%82%AC%20Economis%C3%A9s%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24code%20%3D%20esc_attr%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text%20%3D%20esc_attr%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27GeekBuying.com%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text_custom%20%3D%20esc_attr%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24highlight_class%20%3D%20%24link_text%20%3D%3D%3D%20%27Ortur.net%27%20%3F%20%27highlight%27%20%3A%20%27%27%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_url%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24price%20%3D%20esc_attr%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24discount_price%20%3D%20esc_attr%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Calculer%20les%20euros%20%C3%A9conomis%C3%A9s%0A%20%20%20%20%20%20%20%20%24savings%20%3D%20%24price%20-%20%24discount_price%3B%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cimg%20src%3D%22%27%20.%20%24image%20.%20%27%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24article%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%20class%3D%22code%20%27%20.%20%24highlight_class%20.%20%27%22%3E%27%20.%20%24code%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Ca%20href%3D%22%27%20.%20%24link%20.%20%27%22%20target%3D%22_blank%22%3E%27%20.%20%28%24link_text%20%3D%3D%3D%20%27Texte%20libre%27%20%3F%20%24link_text_custom%20%3A%20%24link_text%29%20.%20%27%20%3Cspan%20style%3D%22font-size%3A%2016px%3B%22%3E%F0%9F%94%97%3C%2Fspan%3E%3C%2Fa%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24price%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24discount_price%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24savings%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20return%20ob_get_clean%28%29%3B%0A%7D%0A%0A%0A%0A%0A%0A%0A%2F%2F%20Ajouter%20un%20menu%20pour%20g%C3%A9rer%20les%20donn%C3%A9es%20du%20tableau%0Afunction%20custom_amazon_pricing_table_menu%28%29%20%7B%0A%20%20%20%20add_menu_page%28%0A%20%20%20%20%20%20%20%20%27Gestion%20des%20tarifs%20Amazon%27%2C%20%0A%20%20%20%20%20%20%20%20%27Tarifs%20Amazon%27%2C%20%0A%20%20%20%20%20%20%20%20%27manage_options%27%2C%20%0A%20%20%20%20%20%20%20%20%27amazon-pricing-promo-manager%27%2C%20%0A%20%20%20%20%20%20%20%20%27custom_amazon_pricing_table_page%27%2C%20%0A%20%20%20%20%20%20%20%20%27dashicons-cart%27%2C%20%0A%20%20%20%20%20%20%20%2023%0A%20%20%20%20%29%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_amazon_pricing_table_menu%27%29%3B%0A%0A%2F%2F%20Charger%20le%20script%20de%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20WordPress%0Aif%20%28%21function_exists%28%27enqueue_media_uploader_scripts%27%29%29%20%7B%0A%20%20%20%20function%20enqueue_media_uploader_scripts%28%29%20%7B%0A%20%20%20%20%20%20%20%20wp_enqueue_media%28%29%3B%0A%20%20%20%20%7D%0A%7D%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20l%27interface%20d%27administration%0Afunction%20custom_amazon_pricing_table_admin_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20th%2C%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-bottom%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.form-table%20tr%3Anth-child%28even%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23f9f9f9%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.updated%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-left%3A%204px%20solid%20%2346b450%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%201em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23dff0d8%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-pricing-table%20.button-primary%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%230073aa%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23006799%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.remove-row-button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27admin_head%27%2C%20%27custom_amazon_pricing_table_admin_styles%27%29%3B%0A%0A%2F%2F%20Interface%20d%27administration%20pour%20modifier%20les%20lignes%20du%20tableau%0Afunction%20custom_amazon_pricing_table_page%28%29%20%7B%0A%20%20%20%20if%20%28%21current_user_can%28%27manage_options%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Sauvegarder%20les%20donn%C3%A9es%20si%20le%20formulaire%20est%20soumis%0A%20%20%20%20if%20%28isset%28%24_POST%5B%27save_amazon_pricing_table%27%5D%29%20%26%26%20check_admin_referer%28%27save_amazon_pricing_table_nonce%27%2C%20%27save_amazon_pricing_table_nonce%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20isset%28%24_POST%5B%27table_data%27%5D%29%20%26%26%20is_array%28%24_POST%5B%27table_data%27%5D%29%20%3F%20%24_POST%5B%27table_data%27%5D%20%3A%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%20Nettoyer%20les%20donn%C3%A9es%20avant%20de%20les%20sauvegarder%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20array_map%28function%28%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27article%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link%27%20%3D%3E%20esc_url_raw%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27image%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20update_option%28%27custom_amazon_pricing_table_data%27%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Cdiv%20class%3D%22updated%22%3E%3Cp%3ELes%20donn%C3%A9es%20ont%20%C3%A9t%C3%A9%20sauvegard%C3%A9es%20avec%20succ%C3%A8s%20%21%3C%2Fp%3E%3C%2Fdiv%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_amazon_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22wrap%20custom-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ch1%3EGestion%20des%20tarifs%20Amazon%3C%2Fh1%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3EUtilisez%20le%20shortcode%20suivant%20pour%20afficher%20le%20tableau%20sur%20une%20page%20ou%20un%20article%20%3A%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Ccode%3E%5Bamazon_pricing_table%5D%3C%2Fcode%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cform%20method%3D%22POST%22%3E%27%3B%0A%20%20%20%20wp_nonce_field%28%27save_amazon_pricing_table_nonce%27%2C%20%27save_amazon_pricing_table_nonce%27%29%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22form-table%22%20style%3D%22width%3A100%25%3B%20border-collapse%3A%20collapse%3B%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3EAction%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%20id%3D%22table-rows%22%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24index%20%3D%3E%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_attr%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%27%20.%20esc_url%28%24image%29%20.%20%27%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%27%20.%20%24image%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Barticle%5D%22%20value%3D%22%27%20.%20%24article%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink%5D%22%20value%3D%22%27%20.%20%24link%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Cbutton%20type%3D%22button%22%20id%3D%22add-row%22%20class%3D%22button%22%3EAjouter%20une%20ligne%3C%2Fbutton%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cinput%20type%3D%22submit%22%20name%3D%22save_amazon_pricing_table%22%20class%3D%22button%20button-primary%22%20value%3D%22Enregistrer%22%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fform%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%0A%20%20%20%20%2F%2F%20Script%20pour%20g%C3%A9rer%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20et%20les%20actions%20des%20boutons%0A%20%20%20%20echo%20%27%3Cscript%3E%0A%20%20%20%20%20%20%20%20document.getElementById%28%22add-row%22%29.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20tbody%20%3D%20document.getElementById%28%22table-rows%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rowCount%20%3D%20tbody.children.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20newRow%20%3D%20document.createElement%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20uniqueId%20%3D%20Date.now%28%29%20%2B%20Math.random%28%29.toString%2836%29.substr%282%2C%209%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20newRow.innerHTML%20%3D%20%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Barticle%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20tbody.appendChild%28newRow%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22click%22%2C%20function%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22select-image-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20button%20%3D%20event.target%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20button.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20input%20%3D%20row.querySelector%28%22.image-url-input%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20img%20%3D%20row.querySelector%28%22img%22%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20mediaUploader%20%3D%20wp.media%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%3A%20%22Choisir%20une%20image%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button%3A%20%7B%20text%3A%20%22Utiliser%20cette%20image%22%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20multiple%3A%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.on%28%22select%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20attachment%20%3D%20mediaUploader.state%28%29.get%28%22selection%22%29.first%28%29.toJSON%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20input.value%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20img.src%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.open%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22remove-row-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20event.target.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.remove%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%27%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_amazon_pricing_table_menu%27%29%3B%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0Aadd_action%28%27admin_head%27%2C%20%27custom_amazon_pricing_table_admin_styles%27%29%3B%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20le%20tableau%20en%20front-end%0Afunction%20custom_amazon_pricing_table_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.pricing-table-container%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20flex%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20justify-content%3A%20center%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20100%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%201200px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-collapse%3A%20collapse%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20th%2C%20.pricing-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20thead%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23d32f2f%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20tr%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20cursor%3A%20pointer%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20transition%3A%20transform%200.2s%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20tr%3Ahover%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20transform%3A%20scale%281.02%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20tbody%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20white-space%3A%20nowrap%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20a%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%231e88e5%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-decoration%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.pricing-table%20img%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-height%3A%2060px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%2090px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20object-fit%3A%20contain%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20block%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%20auto%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23notification%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20bottom%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20right%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%234caf50%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200%202px%205px%20rgba%280%2C0%2C0%2C0.3%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_head%27%2C%20%27custom_amazon_pricing_table_styles%27%29%3B%0A%0A%2F%2F%20Ajouter%20le%20script%20JavaScript%20pour%20g%C3%A9rer%20les%20interactions%20en%20front-end%0Afunction%20custom_amazon_pricing_table_scripts%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20function%20copyToClipboard%28text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20navigator.clipboard.writeText%28text%29.then%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27Code%20promo%20%22%5C%27%20%2B%20text%20%2B%20%5C%27%22%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29.catch%28err%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27%C3%89chec%20de%20la%20copie%20dans%20le%20presse-papiers.%5C%27%2C%20%5C%27error%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.error%28%5C%27Erreur%3A%5C%27%2C%20err%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20showNotification%28message%2C%20type%20%3D%20%5C%27success%5C%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20notification%20%3D%20document.getElementById%28%5C%27notification%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.textContent%20%3D%20message%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.backgroundColor%20%3D%20type%20%3D%3D%3D%20%5C%27success%5C%27%20%3F%20%5C%27%234caf50%5C%27%20%3A%20%5C%27%23f44336%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27block%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27none%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%203000%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20highlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281.02%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%220px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20unhighlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%22none%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22DOMContentLoaded%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rows%20%3D%20document.querySelectorAll%28%22.pricing-table%20tbody%20tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20rows.forEach%28row%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20link%20%3D%20this.querySelector%28%22a%22%29.href%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.open%28link%2C%20%22_blank%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseover%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20highlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseout%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20unhighlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%0A%20%20%20%20%3Cdiv%20id%3D%22notification%22%3E%3C%2Fdiv%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_footer%27%2C%20%27custom_amazon_pricing_table_scripts%27%29%3B%0A%0A%2F%2F%20Enregistrer%20le%20shortcode%20%5Bamazon_pricing_table%5D%0Afunction%20register_amazon_pricing_table_shortcode%28%29%20%7B%0A%20%20%20%20add_shortcode%28%27amazon_pricing_table%27%2C%20%27display_amazon_pricing_table%27%29%3B%0A%7D%0Aadd_action%28%27init%27%2C%20%27register_amazon_pricing_table_shortcode%27%29%3B%0A%0A%2F%2F%20Fonction%20pour%20afficher%20le%20tableau%20de%20prix%20et%20promos%0Afunction%20display_amazon_pricing_table%28%29%20%7B%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_amazon_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20%2F%2F%20G%C3%A9n%C3%A9rer%20le%20HTML%20du%20tableau%0A%20%20%20%20ob_start%28%29%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22pricing-table-container%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_url%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cimg%20src%3D%22%27%20.%20%24image%20.%20%27%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24article%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Ca%20href%3D%22%27%20.%20%24link%20.%20%27%22%20target%3D%22_blank%22%3EAmazon.fr%20%3Cspan%20style%3D%22font-size%3A%2016px%3B%22%3E%F0%9F%94%97%3C%2Fspan%3E%3C%2Fa%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20return%20ob_get_clean%28%29%3B%0A%7D%0A%0A%0A%0A%0A%2F%2F%20Ajouter%20un%20menu%20pour%20g%C3%A9rer%20les%20donn%C3%A9es%20du%20tableau%20des%20autres%20articles%0Afunction%20custom_other_articles_pricing_table_menu%28%29%20%7B%0A%20%20%20%20add_menu_page%28%0A%20%20%20%20%20%20%20%20%27Gestion%20des%20prix%20des%20autres%20articles%27%2C%20%0A%20%20%20%20%20%20%20%20%27Prix%20autres%20articles%27%2C%20%0A%20%20%20%20%20%20%20%20%27manage_options%27%2C%20%0A%20%20%20%20%20%20%20%20%27other-articles-pricing-promo-manager%27%2C%20%0A%20%20%20%20%20%20%20%20%27custom_other_articles_pricing_table_page%27%2C%20%0A%20%20%20%20%20%20%20%20%27dashicons-tag%27%2C%20%0A%20%20%20%20%20%20%20%2022%0A%20%20%20%20%29%3B%0A%7D%0Aadd_action%28%27admin_menu%27%2C%20%27custom_other_articles_pricing_table_menu%27%29%3B%0A%0A%2F%2F%20Charger%20le%20script%20de%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20WordPress%0Aif%20%28%21function_exists%28%27enqueue_media_uploader_scripts%27%29%29%20%7B%0A%20%20%20%20function%20enqueue_media_uploader_scripts%28%29%20%7B%0A%20%20%20%20%20%20%20%20wp_enqueue_media%28%29%3B%0A%20%20%20%20%7D%0A%7D%0Aadd_action%28%27admin_enqueue_scripts%27%2C%20%27enqueue_media_uploader_scripts%27%29%3B%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20l%27interface%20d%27administration%20des%20autres%20articles%0Afunction%20custom_other_articles_pricing_table_admin_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.custom-other-articles-pricing-table%20.form-table%20th%2C%0A%20%20%20%20%20%20%20%20.custom-other-articles-pricing-table%20.form-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%20%2F%2A%20Centrer%20les%20titres%20et%20les%20cellules%20horizontalement%20%2A%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%20%2F%2A%20Centrer%20les%20titres%20et%20les%20cellules%20verticalement%20%2A%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-bottom%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-other-articles-pricing-table%20.form-table%20tr%3Anth-child%28even%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23f9f9f9%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-other-articles-pricing-table%20.button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-other-articles-pricing-table%20.updated%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-left%3A%204px%20solid%20%2346b450%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%201em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23dff0d8%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.custom-other-articles-pricing-table%20.button-primary%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%230073aa%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23006799%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.remove-row-button%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-color%3A%20%23dc3545%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin-top%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27admin_head%27%2C%20%27custom_other_articles_pricing_table_admin_styles%27%29%3B%0A%0A%2F%2F%20Interface%20d%27administration%20pour%20modifier%20les%20lignes%20du%20tableau%20des%20autres%20articles%0Afunction%20custom_other_articles_pricing_table_page%28%29%20%7B%0A%20%20%20%20if%20%28%21current_user_can%28%27manage_options%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Sauvegarder%20les%20donn%C3%A9es%20si%20le%20formulaire%20est%20soumis%0A%20%20%20%20if%20%28isset%28%24_POST%5B%27save_other_articles_pricing_table%27%5D%29%20%26%26%20check_admin_referer%28%27save_other_articles_pricing_table_nonce%27%2C%20%27save_other_articles_pricing_table_nonce%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20isset%28%24_POST%5B%27table_data%27%5D%29%20%26%26%20is_array%28%24_POST%5B%27table_data%27%5D%29%20%3F%20%24_POST%5B%27table_data%27%5D%20%3A%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%20Nettoyer%20les%20donn%C3%A9es%20avant%20de%20les%20sauvegarder%0A%20%20%20%20%20%20%20%20%24table_data%20%3D%20array_map%28function%28%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27article%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27code%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link%27%20%3D%3E%20esc_url_raw%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link_text%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27link_text_custom%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27price%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27discount_price%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27image%27%20%3D%3E%20sanitize_text_field%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20update_option%28%27custom_other_articles_pricing_table_data%27%2C%20%24table_data%29%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Cdiv%20class%3D%22updated%22%3E%3Cp%3ELes%20donn%C3%A9es%20ont%20%C3%A9t%C3%A9%20sauvegard%C3%A9es%20avec%20succ%C3%A8s%20%21%3C%2Fp%3E%3C%2Fdiv%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_other_articles_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22wrap%20custom-other-articles-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ch1%3EGestion%20des%20prix%20des%20autres%20articles%3C%2Fh1%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3EUtilisez%20le%20shortcode%20suivant%20pour%20afficher%20le%20tableau%20sur%20une%20page%20ou%20un%20article%20%3A%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Ccode%3E%5Bother_articles_pricing_table%5D%3C%2Fcode%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cform%20method%3D%22POST%22%3E%27%3B%0A%20%20%20%20wp_nonce_field%28%27save_other_articles_pricing_table_nonce%27%2C%20%27save_other_articles_pricing_table_nonce%27%29%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22form-table%22%20style%3D%22width%3A100%25%3B%20border-collapse%3A%20collapse%3B%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ECodes%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3ETexte%20du%20lien%3C%2Fth%3E%3Cth%3EPrix%20initial%3C%2Fth%3E%3Cth%3EPrix%20avec%20coupon%3C%2Fth%3E%3Cth%3E%E2%82%AC%20%C3%89conomis%C3%A9s%3C%2Fth%3E%3Cth%3EAction%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%20id%3D%22table-rows%22%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24index%20%3D%3E%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24code%20%3D%20esc_attr%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text%20%3D%20esc_attr%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27GeekBuying.com%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text_custom%20%3D%20esc_attr%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24price%20%3D%20esc_attr%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24discount_price%20%3D%20esc_attr%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_attr%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Calculer%20les%20%C3%A9conomies%20en%20euros%0A%20%20%20%20%20%20%20%20if%20%28%24price%20%26%26%20%24discount_price%20%26%26%20%24price%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%20round%28%24price%20-%20%24discount_price%2C%202%29%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%27%20.%20esc_url%28%24image%29%20.%20%27%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%27%20.%20%24image%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Barticle%5D%22%20value%3D%22%27%20.%20%24article%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bcode%5D%22%20value%3D%22%27%20.%20%24code%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink%5D%22%20value%3D%22%27%20.%20%24link%20.%20%27%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink_text%5D%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22GeekBuying.com%22%27%20.%20selected%28%24link_text%2C%20%27GeekBuying.com%27%2C%20false%29%20.%20%27%3EGeekBuying.com%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Ortur.net%22%27%20.%20selected%28%24link_text%2C%20%27Ortur.net%27%2C%20false%29%20.%20%27%3EOrtur.net%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Texte%20libre%22%27%20.%20selected%28%24link_text%2C%20%27Texte%20libre%27%2C%20false%29%20.%20%27%3ETexte%20libre%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Blink_text_custom%5D%22%20placeholder%3D%22Texte%20libre%22%20value%3D%22%27%20.%20%28%24link_text%20%3D%3D%3D%20%27Texte%20libre%27%20%3F%20%24link_text_custom%20%3A%20%27%27%29%20.%20%27%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bprice%5D%22%20value%3D%22%27%20.%20%24price%20.%20%27%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%27%20.%20%24index%20.%20%27%5D%5Bdiscount_price%5D%22%20value%3D%22%27%20.%20%24discount_price%20.%20%27%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24savings%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%27%20.%20%24index%20.%20%27%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3Cp%3E%3Cbutton%20type%3D%22button%22%20id%3D%22add-row%22%20class%3D%22button%22%3EAjouter%20une%20ligne%3C%2Fbutton%3E%3C%2Fp%3E%27%3B%0A%20%20%20%20echo%20%27%3Cinput%20type%3D%22submit%22%20name%3D%22save_other_articles_pricing_table%22%20class%3D%22button%20button-primary%22%20value%3D%22Enregistrer%22%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fform%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%0A%20%20%20%20%2F%2F%20Script%20pour%20g%C3%A9rer%20la%20biblioth%C3%A8que%20de%20m%C3%A9dias%20et%20les%20actions%20des%20boutons%0A%20%20%20%20echo%20%27%3Cscript%3E%0A%20%20%20%20%20%20%20%20document.getElementById%28%22add-row%22%29.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20tbody%20%3D%20document.getElementById%28%22table-rows%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rowCount%20%3D%20tbody.children.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20newRow%20%3D%20document.createElement%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20uniqueId%20%3D%20Date.now%28%29%20%2B%20Math.random%28%29.toString%2836%29.substr%282%2C%209%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20newRow.innerHTML%20%3D%20%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20style%3D%22text-align%3A%20center%3B%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cimg%20src%3D%22%22%20style%3D%22max-height%3A%2060px%3B%20max-width%3A%2090px%3B%20object-fit%3A%20contain%3B%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bimage%5D%22%20class%3D%22image-url-input%22%20placeholder%3D%22URL%20de%20l%5C%27image%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22button%20select-image-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3EChoisir%20une%20image%3C%2Fbutton%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdiv%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Barticle%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bcode%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22url%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink%5D%22%20value%3D%22%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cselect%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink_text%5D%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22GeekBuying.com%22%3EGeekBuying.com%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Ortur.net%22%3EOrtur.net%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Coption%20value%3D%22Texte%20libre%22%3ETexte%20libre%3C%2Foption%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fselect%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Blink_text_custom%5D%22%20placeholder%3D%22Texte%20libre%22%20value%3D%22%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bprice%5D%22%20value%3D%22%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%3D%22text%22%20name%3D%22table_data%5B%24%7BuniqueId%7D%5D%5Bdiscount_price%5D%22%20value%3D%22%22%20%2F%3E%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E0%20%E2%82%AC%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cbutton%20type%3D%22button%22%20class%3D%22button%20remove-row-button%22%20data-index%3D%22%24%7BuniqueId%7D%22%3ESupprimer%3C%2Fbutton%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%60%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20tbody.appendChild%28newRow%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22click%22%2C%20function%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22select-image-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20button%20%3D%20event.target%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20button.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20input%20%3D%20row.querySelector%28%22.image-url-input%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20img%20%3D%20row.querySelector%28%22img%22%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20mediaUploader%20%3D%20wp.media%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%3A%20%22Choisir%20une%20image%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button%3A%20%7B%20text%3A%20%22Utiliser%20cette%20image%22%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20multiple%3A%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.on%28%22select%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20attachment%20%3D%20mediaUploader.state%28%29.get%28%22selection%22%29.first%28%29.toJSON%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20input.value%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20img.src%20%3D%20attachment.url%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mediaUploader.open%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.target.classList.contains%28%22remove-row-button%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20row%20%3D%20event.target.closest%28%22tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.remove%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%27%3B%0A%7D%0A%0A%2F%2F%20Ajouter%20des%20styles%20personnalis%C3%A9s%20pour%20le%20tableau%20en%20front-end%20des%20autres%20articles%0Afunction%20custom_other_articles_pricing_table_styles%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table-container%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20flex%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20justify-content%3A%20center%3B%20%2F%2A%20Centrer%20le%20tableau%20horizontalement%20%2A%2F%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20100%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%201200px%3B%20%2F%2A%20Limiter%20la%20largeur%20maximale%20du%20tableau%20%2A%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20border-collapse%3A%20collapse%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20th%2C%20.other-articles-pricing-table%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%20%2F%2A%20Centrer%20les%20titres%20des%20colonnes%20et%20le%20contenu%20des%20cellules%20horizontalement%20%2A%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20vertical-align%3A%20middle%3B%20%2F%2A%20Centrer%20les%20titres%20des%20colonnes%20et%20le%20contenu%20des%20cellules%20verticalement%20%2A%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border%3A%201px%20solid%20%23ddd%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20thead%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23d32f2f%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20tbody%20tr%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20cursor%3A%20pointer%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20transition%3A%20transform%200.2s%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20tbody%20tr%3Ahover%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20transform%3A%20scale%281.02%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20tbody%20td%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20white-space%3A%20nowrap%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20a%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%231e88e5%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-decoration%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20.code%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23ffe0b2%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20.highlight%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23ffc107%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23000%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20.other-articles-pricing-table%20img%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-height%3A%2060px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20max-width%3A%2090px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20object-fit%3A%20contain%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20block%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%20auto%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23notification%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20bottom%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20right%3A%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20background%3A%20%234caf50%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20white%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%2010px%2020px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20border-radius%3A%205px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Arial%2C%20sans-serif%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%200%202px%205px%20rgba%280%2C0%2C0%2C0.3%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_head%27%2C%20%27custom_other_articles_pricing_table_styles%27%29%3B%0A%0A%2F%2F%20Ajouter%20le%20script%20JavaScript%20pour%20g%C3%A9rer%20les%20interactions%20en%20front-end%20des%20autres%20articles%0Afunction%20custom_other_articles_pricing_table_scripts%28%29%20%7B%0A%20%20%20%20echo%20%27%0A%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20function%20copyToClipboard%28text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20navigator.clipboard.writeText%28text%29.then%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27Code%20promo%20%22%5C%27%20%2B%20text%20%2B%20%5C%27%22%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29.catch%28err%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20showNotification%28%5C%27%C3%89chec%20de%20la%20copie%20dans%20le%20presse-papiers.%5C%27%2C%20%5C%27error%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20console.error%28%5C%27Erreur%3A%5C%27%2C%20err%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20showNotification%28message%2C%20type%20%3D%20%5C%27success%5C%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20notification%20%3D%20document.getElementById%28%5C%27notification%5C%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.textContent%20%3D%20message%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.backgroundColor%20%3D%20type%20%3D%3D%3D%20%5C%27success%5C%27%20%3F%20%5C%27%234caf50%5C%27%20%3A%20%5C%27%23f44336%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27block%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20notification.style.display%20%3D%20%5C%27none%5C%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%203000%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20highlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281.02%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%220px%204px%2010px%20rgba%280%2C%200%2C%200%2C%200.2%29%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20function%20unhighlightRow%28row%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.transform%20%3D%20%22scale%281%29%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20row.style.boxShadow%20%3D%20%22none%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20document.addEventListener%28%22DOMContentLoaded%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20const%20rows%20%3D%20document.querySelectorAll%28%22.other-articles-pricing-table%20tbody%20tr%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20rows.forEach%28row%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22click%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20code%20%3D%20this.querySelector%28%22.code%22%29.textContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20copyToClipboard%28code%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseover%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20highlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20row.addEventListener%28%22mouseout%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20unhighlightRow%28this%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%3C%2Fscript%3E%0A%20%20%20%20%3Cdiv%20id%3D%22notification%22%3ECode%20promo%20copi%C3%A9%20dans%20le%20presse-papiers%20%21%3C%2Fdiv%3E%0A%20%20%20%20%27%3B%0A%7D%0Aadd_action%28%27wp_footer%27%2C%20%27custom_other_articles_pricing_table_scripts%27%29%3B%0A%0A%2F%2F%20Enregistrer%20le%20shortcode%20%5Bother_articles_pricing_table%5D%0Afunction%20register_other_articles_pricing_table_shortcode%28%29%20%7B%0A%20%20%20%20add_shortcode%28%27other_articles_pricing_table%27%2C%20%27display_other_articles_pricing_table%27%29%3B%0A%7D%0Aadd_action%28%27init%27%2C%20%27register_other_articles_pricing_table_shortcode%27%29%3B%0A%0A%2F%2F%20Fonction%20pour%20afficher%20le%20tableau%20de%20prix%20et%20promos%20des%20autres%20articles%0Afunction%20display_other_articles_pricing_table%28%29%20%7B%0A%20%20%20%20%2F%2F%20Charger%20les%20donn%C3%A9es%20existantes%0A%20%20%20%20%24table_data%20%3D%20get_option%28%27custom_other_articles_pricing_table_data%27%2C%20%5B%5D%29%3B%0A%20%20%20%20%24table_data%20%3D%20is_array%28%24table_data%29%20%3F%20%24table_data%20%3A%20%5B%5D%3B%20%2F%2F%20Si%20vide%2C%20initialiser%20en%20tableau%0A%0A%20%20%20%20%2F%2F%20G%C3%A9n%C3%A9rer%20le%20HTML%20du%20tableau%0A%20%20%20%20ob_start%28%29%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22other-articles-pricing-table-container%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cdiv%20class%3D%22other-articles-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctable%20class%3D%22other-articles-pricing-table%22%3E%27%3B%0A%20%20%20%20echo%20%27%3Cthead%3E%3Ctr%3E%3Cth%3EAper%C3%A7u%3C%2Fth%3E%3Cth%3EArticles%3C%2Fth%3E%3Cth%3ECodes%3C%2Fth%3E%3Cth%3ELiens%3C%2Fth%3E%3Cth%3EPrix%20initial%3C%2Fth%3E%3Cth%3EPrix%20avec%20coupon%3C%2Fth%3E%3Cth%3E%E2%82%AC%20%C3%89conomis%C3%A9s%3C%2Fth%3E%3C%2Ftr%3E%3C%2Fthead%3E%27%3B%0A%20%20%20%20echo%20%27%3Ctbody%3E%27%3B%0A%0A%20%20%20%20foreach%20%28%24table_data%20as%20%24row%29%20%7B%0A%20%20%20%20%20%20%20%20%24article%20%3D%20esc_attr%28%24row%5B%27article%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24code%20%3D%20esc_attr%28%24row%5B%27code%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link%20%3D%20esc_url%28%24row%5B%27link%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text%20%3D%20esc_attr%28%24row%5B%27link_text%27%5D%20%3F%3F%20%27GeekBuying.com%27%29%3B%0A%20%20%20%20%20%20%20%20%24link_text_custom%20%3D%20esc_attr%28%24row%5B%27link_text_custom%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24highlight_class%20%3D%20%24link_text%20%3D%3D%3D%20%27Ortur.net%27%20%3F%20%27highlight%27%20%3A%20%27%27%3B%0A%20%20%20%20%20%20%20%20%24image%20%3D%20esc_url%28%24row%5B%27image%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24price%20%3D%20esc_attr%28%24row%5B%27price%27%5D%20%3F%3F%20%27%27%29%3B%0A%20%20%20%20%20%20%20%20%24discount_price%20%3D%20esc_attr%28%24row%5B%27discount_price%27%5D%20%3F%3F%20%27%27%29%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Calculer%20les%20%C3%A9conomies%20en%20euros%0A%20%20%20%20%20%20%20%20if%20%28%24price%20%26%26%20%24discount_price%20%26%26%20%24price%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%20round%28%24price%20-%20%24discount_price%2C%202%29%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24savings%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctr%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Cimg%20src%3D%22%27%20.%20%24image%20.%20%27%22%20alt%3D%22Aper%C3%A7u%20de%20l%5C%27article%22%20%2F%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24article%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%20class%3D%22code%20%27%20.%20%24highlight_class%20.%20%27%22%3E%27%20.%20%24code%20.%20%27%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%3Ca%20href%3D%22%27%20.%20%24link%20.%20%27%22%20target%3D%22_blank%22%3E%27%20.%20%28%24link_text%20%3D%3D%3D%20%27Texte%20libre%27%20%3F%20%24link_text_custom%20%3A%20%24link_text%29%20.%20%27%20%3Cspan%20style%3D%22font-size%3A%2016px%3B%22%3E%F0%9F%94%97%3C%2Fspan%3E%3C%2Fa%3E%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24price%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24discount_price%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3Ctd%3E%27%20.%20%24savings%20.%20%27%20%E2%82%AC%3C%2Ftd%3E%27%3B%0A%20%20%20%20%20%20%20%20echo%20%27%3C%2Ftr%3E%27%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20echo%20%27%3C%2Ftbody%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Ftable%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20echo%20%27%3C%2Fdiv%3E%27%3B%0A%20%20%20%20return%20ob_get_clean%28%29%3B%0A%7D%0A%0A https://le-createlier.com/post-sitemap.xml 2026-05-13T08:00:00+00:00 https://le-createlier.com/page-sitemap.xml 2026-04-09T12:35:42+00:00 https://le-createlier.com/forum-sitemap.xml 2025-02-13T18:27:07+00:00 https://le-createlier.com/topic-sitemap.xml 2025-02-13T18:28:05+00:00 https://le-createlier.com/category-sitemap.xml 2026-05-13T04:17:44+00:00