PATH:
var
/
www
/
clients
/
client1
/
web1
/
web
/
wp-content
/
sitepress-multilingual-cms
/
classes
/
notices
<?php namespace WPML\TM\Notices; use WPML\TM\ATE\ClonedSites\Lock; use WPML\TM\Templates\Notices\AteLocked; class AteLockNotice implements \IWPML_Backend_Action, \IWPML_DIC_Action { /** * @var AteLocked */ private $templateRenderer; public function __construct( AteLocked $templateRenderer ) { $this->templateRenderer = $templateRenderer; } public function add_hooks() { add_action( 'admin_notices', [ $this, 'ateLockNotice' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'enqueueScripts' ] ); } public function enqueueScripts() { if ( $this->shouldRender() ) { wp_enqueue_script( 'wpml-tm-ate-lock', WPML_TM_URL . '/res/js/ate-api-lock-notification.js', [], WPML_TM_VERSION, true ); } } public function ateLockNotice() { if ( $this->shouldRender() ) { $this->renderNotice(); } } private function shouldRender() { return Lock::isLocked() && $this->shouldDisplayOnCurrentPage(); } private function renderNotice() { if ( current_user_can( 'manage_options' ) ) { $this->renderAdminNotice(); } else { $this->renderUserNotice(); } } private function renderAdminNotice() { $model = (object) [ 'title' => __( 'Site Moved or Copied - Action Required', 'wpml-translation-management' ), 'intro' => __( 'Looks like this site is a copy of a different site, or moved to a different URL.', 'wpml-translation-management' ), 'radio_option_1' => __( 'I moved the site to this new URL', 'wpml-translation-management' ), 'radio_option_2' => __( 'This is a copy of my original site', 'wpml-translation-management' ), 'btn_text' => __( 'Save', 'wpml-translation-management' ), 'link_text' => __( 'More details', 'wpml-translation-management' ), 'allowed_modes' => apply_filters( 'wpml_ate_locked_allow_site_move_copy', [ 'move' => true, 'copy' => true ] ), ]; $this->templateRenderer->renderAdmin( $model ); } private function renderUserNotice() { $model = (object) [ 'title' => __( 'Site Moved or Copied - Action Required', 'wpml-translation-management' ), 'intro' => __( 'Looks like this site is a copy of a different site, or moved to a different URL. Please contact your translation manager to update Translation Management plugin configuration.', 'wpml-translation-management' ), ]; $this->templateRenderer->renderUser( $model ); } private function shouldDisplayOnCurrentPage() { return $this->shouldDisplayOnScreen( [ 'dashboard' ] ) || $this->shouldDisplayOnPage( $this->getPages() ); } /** * @param array $screens * * @return bool */ private function shouldDisplayOnScreen( array $screens ) { $currentScreen = get_current_screen(); return $currentScreen instanceof \WP_Screen && in_array( $currentScreen->id, $screens ); } /** * @param array $pages * * @return bool */ private function shouldDisplayOnPage( array $pages ) { return isset( $_GET['page'] ) && in_array( $_GET['page'], $pages ); } /** * @return array|string[] */ private function getPages() { $pages = [ WPML_PLUGIN_FOLDER . '/menu/languages.php', WPML_PLUGIN_FOLDER . '/menu/theme-localization.php', WPML_PLUGIN_FOLDER . '/menu/settings.php', WPML_PLUGIN_FOLDER . '/menu/support.php', WPML_TM_FOLDER . '/menu/settings', WPML_TM_FOLDER . '/menu/main.php', WPML_TM_FOLDER . '/menu/translations-queue.php', WPML_TM_FOLDER . '/menu/string-translation.php', WPML_TM_FOLDER . '/menu/settings.php', ]; return $pages; } }
[-] DismissNotices.php
[edit]
[-] AteLockNotice.php
[edit]
[+]
pages
[-] class-wpml-notice.php
[edit]
[+]
translation-service-instruction
[+]
translation-jobs-migration
[-] class-wpml-notices.php
[edit]
[-] wpml-tm-post-edit-notices.php
[edit]
[-] class-wpml-notice-render.php
[edit]
[-] wpml-tm-post-edit-notices-factory.php
[edit]
[+]
..
[-] class-wpml-notice-action.php
[edit]