Changeset 1586 for sites/trunk/translate.wordpress.org/includes/gp-plugins/wporg-routes/wporg-routes.php
- Timestamp:
- 05/15/2015 07:19:57 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/translate.wordpress.org/includes/gp-plugins/wporg-routes/wporg-routes.php
r1530 r1586 5 5 * @author ocean90 6 6 */ 7 8 require_once __DIR__ . '/routes/index.php'; 9 require_once __DIR__ . '/routes/locale.php'; 10 7 11 class GP_WPorg_Routes extends GP_Plugin { 8 12 public $id = 'wporg-routes'; … … 14 18 15 19 public function init() { 20 $locale = '(' . implode( '|', array_map( function( $locale ) { return $locale->slug; }, GP_Locales::locales() ) ) . ')'; 21 $set_slug = '(' . implode( '|', GP::$translation_set->existing_slugs() ) . ')'; 22 16 23 /* 17 24 * Unset default routes. … … 19 26 */ 20 27 unset( GP::$router->urls['/'] ); 28 unset( GP::$router->urls["get:/languages/$locale/$set_slug"] ); 29 unset( GP::$router->urls["get:/languages/$locale"] ); 21 30 unset( GP::$router->urls['get:/languages'] ); 22 31 23 GP::$router->add( '/', array( 'GP_WPorg_Route_Index', 'index' ) ); 24 GP::$router->add( '/languages', array( 'GP_WPorg_Route_Locale', 'locales_get' ) ); 25 } 26 } 27 28 class GP_WPorg_Route_Locale extends GP_Route { 29 30 public function locales_get() { 31 $locales = array(); 32 $existing_locales = GP::$translation_set->existing_locales(); 33 foreach ( $existing_locales as $locale ) { 34 $locales[] = GP_Locales::by_slug( $locale ); 35 } 36 usort( $locales, array( $this, 'sort_locales') ); 37 unset( $existing_locales ); 38 39 $contributors_count = wp_cache_get( 'contributors-count', 'wporg-translate' ); 40 if ( false === $contributors_count ) { 41 $contributors_count = array(); 42 } 43 44 $translation_status = wp_cache_get( 'translation-status', 'wporg-translate' ); 45 if ( false === $translation_status ) { 46 $translation_status = array(); 47 } 48 49 $this->tmpl( 'locales', get_defined_vars() ); 50 } 51 52 private function sort_locales( $a, $b ) { 53 return $a->english_name > $b->english_name; 54 } 55 } 56 57 class GP_WPorg_Route_Index extends GP_Route { 58 59 public function index() { 60 $this->redirect( gp_url( '/languages' ) ); 32 GP::$router->add( '/', array( 'GP_WPorg_Route_Index', 'get_index' ) ); 33 GP::$router->add( '/languages', array( 'GP_WPorg_Route_Locale', 'get_locales' ) ); 34 GP::$router->add( "/languages/$locale/$set_slug/(.+?)", array( 'GP_WPorg_Route_Locale', 'get_locale_projects' ) ); 35 GP::$router->add( "/languages/$locale/$set_slug", array( 'GP_WPorg_Route_Locale', 'get_locale_projects' ) ); 36 GP::$router->add( "/languages/$locale", array( 'GP_WPorg_Route_Locale', 'get_locale_projects' ) ); 61 37 } 62 38 }
Note: See TracChangeset
for help on using the changeset viewer.