first commit
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
class WPML_Language_Collection {
|
||||
|
||||
/** @var SitePress $sitepress */
|
||||
private $sitepress;
|
||||
|
||||
/** @var array $languages */
|
||||
private $languages = array();
|
||||
|
||||
/**
|
||||
* WPML_Language_Collection constructor.
|
||||
*
|
||||
* @param SitePress $sitepress
|
||||
* @param array $initial_languages Array of language codes
|
||||
*/
|
||||
public function __construct( SitePress $sitepress, $initial_languages = array() ) {
|
||||
$this->sitepress = $sitepress;
|
||||
foreach ( $initial_languages as $lang ) {
|
||||
$this->add( $lang );
|
||||
}
|
||||
}
|
||||
|
||||
public function add( $code ) {
|
||||
if ( ! isset( $this->languages[ $code ] ) ) {
|
||||
$language = new WPML_Language( $this->sitepress, $code );
|
||||
if ( $language->is_valid() ) {
|
||||
$this->languages[ $code ] = $language;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function get( $code ) {
|
||||
if ( ! isset( $this->languages[ $code ] ) ) {
|
||||
$this->add( $code );
|
||||
}
|
||||
return $this->languages[ $code ];
|
||||
}
|
||||
|
||||
public function get_codes() {
|
||||
return array_keys( $this->languages );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user