PATH:
var
/
www
/
clients
/
client1
/
web1
/
web
/
wp-content
/
sitepress-multilingual-cms
/
menu
<?php use WPML\API\Sanitize; if ( Sanitize::stringProp( 'sm', $_GET ) === 'basket' ) { add_action( 'admin_enqueue_scripts', array( 'SitePress_Table_Basket', 'enqueue_js' ) ); } abstract class WPML_TM_Menus { protected $post_types; protected $tab_items; private $base_target_url; protected $current_shown_item; /** @var WPML_UI_Screen_Options_Pagination|null $dashboard_pagination */ protected $dashboard_pagination; function __construct() { $this->current_shown_item = isset( $_GET['sm'] ) ? $_GET['sm'] : $this->get_default_tab(); $this->base_target_url = dirname( __FILE__ ); } public function display_main( WPML_UI_Screen_Options_Pagination $dashboard_pagination = null ) { $this->dashboard_pagination = $dashboard_pagination; if ( true !== apply_filters( 'wpml_tm_lock_ui', false ) ) { $this->render_main(); } } abstract protected function render_main(); private function build_tab_item_target_url( $target ) { return $this->base_target_url . $target; } abstract protected function build_tab_items(); /** * @return string */ private function get_current_shown_item() { return $this->current_shown_item; } private function build_tabs() { $tm_sub_menu = $this->get_current_shown_item(); foreach ( $this->tab_items as $id => $tab_item ) { if ( ! isset( $tab_item['caption'] ) ) { continue; } if ( isset( $tab_item['visible'] ) && ! $tab_item['visible'] ) { continue; } if ( ! isset( $tab_item['target'] ) && ! isset( $tab_item['callback'] ) ) { continue; } $caption = $tab_item['caption']; if ( ! $this->current_user_can_access( $tab_item ) ) { continue; } $classes = array( 'nav-tab', 'nav-tab-' . $id, ); if ( $tm_sub_menu === $id ) { $classes[] = 'nav-tab-active'; } $class = implode( ' ', $classes ); $href = 'admin.php?page=' . WPML_TM_FOLDER . $this->get_page_slug() . '&sm=' . $id; ?> <a class="<?php echo esc_attr( $class ); ?>" href="<?php echo esc_attr( $href ); ?>"> <?php echo $caption; ?> </a> <?php } } private function build_content() { $tm_sub_menu = $this->get_current_shown_item(); foreach ( $this->tab_items as $id => $tab_item ) { if ( ! isset( $tab_item['caption'] ) ) { continue; } if ( ! isset( $tab_item['target'] ) && ! isset( $tab_item['callback'] ) ) { continue; } if ( $tm_sub_menu == $id ) { if ( $this->current_user_can_access( $tab_item ) ) { if ( isset( $tab_item['target'] ) ) { $target = $tab_item['target']; /** @noinspection PhpIncludeInspection */ include_once $this->build_tab_item_target_url( $target ); } if ( isset( $tab_item['callback'] ) ) { $callback = $tab_item['callback']; call_user_func( $callback ); } } } } do_action( 'icl_tm_menu_' . $tm_sub_menu ); } protected function render_items() { if ( $this->tab_items ) { ?> <div class="icl-translation-management-menu wpml-tabs"> <?php $this->build_tabs(); ?> </div> <div class="icl_tm_wrap wpml-wrap"> <?php $this->build_content(); ?> </div> <?php } } public function build_content_dashboard_fetch_translations_box() { if ( TranslationProxy::is_current_service_active_and_authenticated() ) { $tm_polling_box = new WPML_TM_Polling_Box(); echo $tm_polling_box->render(); } } /** * Used only by unit tests at the moment * * @return mixed */ public function get_post_types() { return $this->post_types; } protected function heading( $text ) { ?> <h3 class="wpml-tm-section-header wpml-tm-dashboard-h3"><?php echo esc_html( $text ); ?></h3> <?php } private function current_user_can_access( $tab_item ) { $current_user_can = isset( $tab_item['current_user_can'] ) ? $tab_item['current_user_can'] : false; if ( is_array( $current_user_can ) ) { foreach ( $current_user_can as $capability ) { if ( current_user_can( $capability ) ) { return true; } } return false; } else { return current_user_can( $current_user_can ); } } abstract protected function get_page_slug(); abstract protected function get_default_tab(); }
[-] support.php
[edit]
[-] setup.php
[edit]
[+]
menu-sync
[-] _login_translation_options.php
[edit]
[-] wpml-tm-menus-settings.php
[edit]
[-] class-wpml-post-status-display-factory.php
[edit]
[-] theme-localization.php
[edit]
[-] _custom_types_translation.php
[edit]
[+]
term-taxonomy-menus
[-] wpml-language-filter-bar.class.php
[edit]
[-] debug-information.php
[edit]
[-] wpml-tm-menus.class.php
[edit]
[-] wpml-admin-lang-switcher.class.php
[edit]
[-] xliff-management.php
[edit]
[-] troubleshooting.php
[edit]
[-] wpml-troubleshooting-terms-menu.class.php
[edit]
[-] wpml-post-status-display.class.php
[edit]
[-] translation-options.php
[edit]
[-] xliff-options.php
[edit]
[-] sitepress-table.class.php
[edit]
[-] _posts_sync_options.php
[edit]
[-] theme-plugins-compatibility.php
[edit]
[-] wpml-tm-menus-management.php
[edit]
[-] network.php
[edit]
[+]
..
[-] languages.php
[edit]
[-] upgrade_notice.php
[edit]
[+]
post-menus
[-] edit-languages.php
[edit]
[-] wpml-translation-selector.class.php
[edit]
[+]
dashboard