diff --git a/includes/admin/core/list-tables/emails-list-table.php b/includes/admin/core/list-tables/emails-list-table.php
index 0336cbb8..73a9bb1d 100644
--- a/includes/admin/core/list-tables/emails-list-table.php
+++ b/includes/admin/core/list-tables/emails-list-table.php
@@ -37,6 +37,90 @@ $order = ( isset( $_GET['order'] ) && 'asc' == strtolower( $_GET['order'] ) ) ?
if( ! class_exists( 'WP_List_Table' ) )
require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
+ class UM_WPML_Column_Extends{
+ static function add_management_column($columns){
+ global $sitepress;
+ $new_columns = $columns;
+ $active_languages = $sitepress->get_active_languages();
+ $current_language = $sitepress->get_current_language();
+ unset( $active_languages[ $current_language ] );
+
+ if ( count( $active_languages ) > 0 ) {
+ $flags_column = '';
+ foreach ( $active_languages as $language_data ) {
+ $flags_column .= '
';
+ }
+
+ $new_columns = array();
+ foreach ( $columns as $column_key => $column_content ) {
+ $new_columns[ $column_key ] = $column_content;
+ if ( 'email' === $column_key && ! isset( $new_columns['icl_translations'] ) ) {
+ $new_columns['icl_translations'] = $flags_column;
+ }
+ }
+ }
+
+ return $new_columns;
+ }
+
+ static function add_content_for_management_column( $item ) {
+ global $sitepress;
+ $html = '';
+
+ $active_languages = $sitepress->get_active_languages();
+ $current_language = $sitepress->get_current_language();
+ unset( $active_languages[ $current_language ] );
+ foreach ( $active_languages as $language_data ) {
+ $html .= self::get_status_html( $item['key'], $language_data['code'] );
+ }
+ return $html;
+ }
+
+ static function get_status_html( $template, $code ) {
+ global $sitepress;
+ $status = 'add';
+ $lang = '';
+ $active_languages = $sitepress->get_active_languages();
+ $translation = array(
+ 'edit' => array( 'icon' => 'edit_translation.png', 'text' => sprintf(
+ __( 'Edit the %s translation', 'sitepress' ),
+ $active_languages[$code]['display_name'] ) ),
+ 'add' => array( 'icon' => 'add_translation.png', 'text' => sprintf(
+ __( 'Add translation to %s', 'sitepress' ),
+ $active_languages[$code]['display_name']
+ )
+ )
+ );
+
+ $default_language_code = $sitepress->get_locale_from_language_code($sitepress->get_default_language());
+ $current_language_code = $sitepress->get_locale_from_language_code($code);
+
+ if ( $default_language_code != $current_language_code ) {
+ $lang = $current_language_code.'/';
+ }
+ $template_path = trailingslashit( get_stylesheet_directory() . '/ultimate-member/email' ) . $lang . $template . '.php';
+
+ if ( file_exists( $template_path ) ) {
+ $status = 'edit';
+ }
+
+ $link = add_query_arg( array( 'email' => $template, 'lang' => $code ) );
+
+ return self::render_status_icon( $link, $translation[$status]['text'], $translation[$status]['icon'] );
+ }
+
+ static function render_status_icon( $link, $text, $img ) {
+
+ $icon_html = '';
+ $icon_html .= '
';
+ $icon_html .= '';
+
+ return $icon_html;
+ }
+ }
class UM_Emails_List_Table extends WP_List_Table {
@@ -108,6 +192,10 @@ class UM_Emails_List_Table extends WP_List_Table {
$args = array_merge( array( 'cb' => '' ), $args );
}
$this->columns = $args;
+
+ if( um_is_wpml_active() ){
+ $this->columns = UM_WPML_Column_Extends::add_management_column($this->columns);
+ }
return $this;
}
@@ -152,6 +240,12 @@ class UM_Emails_List_Table extends WP_List_Table {
return '';
}
+ function column_icl_translations( $item ){
+ if( um_is_wpml_active() ){
+ return UM_WPML_Column_Extends::add_content_for_management_column( $item );
+ }
+ }
+
function wpc_set_pagination_args( $attr = array() ) {
$this->set_pagination_args( $attr );