gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r25169 - in gnunet-www: . lang_dropdown


From: gnunet
Subject: [GNUnet-SVN] r25169 - in gnunet-www: . lang_dropdown
Date: Fri, 30 Nov 2012 11:07:25 +0100

Author: grothoff
Date: 2012-11-30 11:07:25 +0100 (Fri, 30 Nov 2012)
New Revision: 25169

Added:
   gnunet-www/lang_dropdown/
   gnunet-www/lang_dropdown/lang_dropdown.info
   gnunet-www/lang_dropdown/lang_dropdown.module
Log:
-adding module

Added: gnunet-www/lang_dropdown/lang_dropdown.info
===================================================================
--- gnunet-www/lang_dropdown/lang_dropdown.info                         (rev 0)
+++ gnunet-www/lang_dropdown/lang_dropdown.info 2012-11-30 10:07:25 UTC (rev 
25169)
@@ -0,0 +1,13 @@
+; $Id: lang_dropdown.info,v 1.0 By Boxiao Li for GNUnet $
+name = Language Switcher Dropdown
+package = Multilanguage
+description = Provides a dropdown select to switch languages
+dependencies[] = locale
+core = 6.x
+
+; Information added by drupal.org packaging script on 2010-04-18
+version = "1.0"
+core = "6.x"
+project = "lang_dropdown_GNUnet"
+datestamp = "1271597413"
+


Property changes on: gnunet-www/lang_dropdown/lang_dropdown.info
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: gnunet-www/lang_dropdown/lang_dropdown.module
===================================================================
--- gnunet-www/lang_dropdown/lang_dropdown.module                               
(rev 0)
+++ gnunet-www/lang_dropdown/lang_dropdown.module       2012-11-30 10:07:25 UTC 
(rev 25169)
@@ -0,0 +1,69 @@
+<?php
+// $Id: lang_dropdown.module,v 1.0 By Boxiao Li for GNUnet $
+
+/*
+ * Implementation of hook_block
+ */
+function lang_dropdown_block($op = 'list', $delta = 0, $edit = array()) {
+  if ($op == 'list') {
+    $blocks[0] = array(
+      'info' => t('Language switcher dropdown'), 
+      'cache' => BLOCK_NO_CACHE,
+    );
+    return $blocks;
+  }
+  else if ($op == 'view' && variable_get('language_count', 1) > 1 && 
variable_get('language_negotiation', LANGUAGE_NEGOTIATION_NONE) != 
LANGUAGE_NEGOTIATION_NONE) {
+    switch($delta) {
+      case 0:
+        $block = array(
+          'subject' => t('Languages'),
+          'content' => theme('lang_dropdown'));
+        break;
+    }
+    return $block;
+  }
+}
+
+/*
+ * Implementation of hook_theme
+ */
+function lang_dropdown_theme() {
+  return array('lang_dropdown' => array());
+}
+
+/*
+ * Theme function to return dropdown html
+ */
+function theme_lang_dropdown() {
+  /* This code is almost from locale.module with a bit of modifications
+   * Instead of themeing it using theme('links') we'll theme our own dropdown
+   */ 
+  global $language;
+  
+  $path = drupal_is_front_page() ? '<front>' : $_GET['q'];
+  $languages = language_list('enabled');
+  $options = array();
+  foreach ($languages[1] as $lang_item) {
+    $options[$lang_item->language] = array(
+      'href'       => $path,
+      'title'      => $lang_item->native,
+      'language'   => $lang_item,
+    );
+  }
+  drupal_alter('translation_link', $options, $path);
+  
+  /* Here we theme our own dropdown */
+  $output = "<select id=\"language-select-list\" 
onchange=\"document.location.href=this.options[this.selectedIndex].value;\">\n";
+  foreach ($options as $lang_option) {
+    if ($language->language == $lang_option['language']->language) {
+      $selected = ' selected="selected"';
+      /* Here we output the language flag  from language icons module */
+      if (module_exists('languageicons')) { $languageicon = 
theme('languageicons_icon', $lang_option['language']); }
+    } else { $selected = ''; }
+    $path = check_url(url($lang_option['href'], array('language' => 
$lang_option['language'])));
+    $output .= '<option value="' . $path . '"' . $selected . '>' . 
$lang_option['title'] . '</option>' . "\n";
+  }
+  
+  $output .= "</select>\n" . $languageicon;
+  return $output;
+}
\ No newline at end of file


Property changes on: gnunet-www/lang_dropdown/lang_dropdown.module
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property



reply via email to

[Prev in Thread] Current Thread [Next in Thread]