Файловый менеджер - Редактировать - /var/www/xthruster/html/wp-content/plugins/wpml-string-translation/classes/MO/Generate/DomainsAndLanguagesRepository.php
Назад
<?php namespace WPML\ST\MO\Generate; use wpdb; use WPML\Collect\Support\Collection; use function WPML\Container\make; use WPML\ST\TranslationFile\Domains; use function wpml_collect; use WPML_Locale; class DomainsAndLanguagesRepository { /** @var wpdb */ private $wpdb; /** @var Domains */ private $domains; /** @var WPML_Locale */ private $locale; /** * @param wpdb $wpdb * @param Domains $domains * @param WPML_Locale $wp_locale */ public function __construct( wpdb $wpdb, Domains $domains, WPML_Locale $wp_locale ) { $this->wpdb = $wpdb; $this->domains = $domains; $this->locale = $wp_locale; } /** * @return Collection */ public function get() { return $this->getAllDomains()->map( function ( $row ) { return (object) [ 'domain' => $row->domain, 'locale' => $this->locale->get_locale( $row->languageCode ) ]; } )->values(); } /** * @return Collection */ private function getAllDomains() { $moDomains = $this->domains->getMODomains()->toArray(); if ( ! $moDomains ) { return wpml_collect( [] ); } $sql = " SELECT DISTINCT (BINARY s.context) as `domain`, st.language as `languageCode` FROM {$this->wpdb->prefix}icl_string_translations st INNER JOIN {$this->wpdb->prefix}icl_strings s ON s.id = st.string_id WHERE st.`status` = 10 AND ( st.`value` != st.mo_string OR st.mo_string IS NULL) AND s.context IN(" . wpml_prepare_in( $moDomains ) . ") "; $result = $this->wpdb->get_results( $sql ); return wpml_collect( $result ); } /** * @return bool */ public static function hasTranslationFilesTable() { return make( \WPML_Upgrade_Schema::class )->does_table_exist( 'icl_mo_files_domains' ); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.3-4ubuntu2.24 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка