| <?php |
| /******************************************************************************* |
| * Copyright (c) 2007-2008 Eclipse Foundation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Antoine Toulme, Intalio Inc. bug 248845: Refactoring generate1.php into different files with a functional approach |
| * Kit Lo (IBM) - patch, bug 261739, Inconsistent use of language names |
| * Kit Lo (IBM) - Beautify Babel Supported Languages table |
| *******************************************************************************/ |
| |
| class Language { |
| |
| public $name = ''; |
| public $iso = ''; |
| public $locale = ''; |
| public $id = ''; |
| |
| /** |
| * Default constructor |
| */ |
| function Language($name = '', $iso= '', $locale = '', $id = '') { |
| $this->name = $name; |
| $this->iso = $iso; |
| $this->locale = $locale; |
| $this->id = $id; |
| |
| if (strcmp($iso, "en") == 0) { |
| $this->iso = "en_AA"; |
| $this->name = "Pseudo Translations"; |
| } |
| |
| if ($locale != null) { |
| $this->name = $this->name . " (" . $this->locale . ")"; |
| } |
| } |
| |
| /** |
| * A constructor expecting an associative array as its unique parameter |
| */ |
| static function fromRow($row) { |
| return new Language($row['name'], $row['iso_code'], $row['locale'], $row['language_id']); |
| } |
| |
| static function all() { |
| $langs = array(); |
| global $dbh; |
| $language_result = mysqli_query($dbh, "SELECT * FROM languages WHERE languages.is_active ORDER BY name, locale"); |
| while (($language_row = mysqli_fetch_assoc($language_result)) != null) { |
| $langs[] = Language::fromRow($language_row); |
| } |
| return $langs; |
| } |
| } |