Index: sites/all/modules/simplemeta/simplemeta.module
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- sites/all/modules/simplemeta/simplemeta.module	(revision )
+++ sites/all/modules/simplemeta/simplemeta.module	(revision )
@@ -75,13 +75,14 @@
  * Implements hook_footer()
  */
 function simplemeta_footer($main = 0) {
+  $language = simplemeta_get_language();
   if (user_access('administer simplemeta') && (arg(0) != 'admin')) {
-    $meta = simplemeta_meta_load_by_path($_GET['q']);
+    $meta = simplemeta_meta_load_by_path($_GET['q'], $language);
     if (!$meta) {
       $meta = new stdClass();
       $meta->path = $_GET['q'];
       $meta->data = array();
-      $meta->language = '';
+      $meta->language = $language;
     }
     return drupal_get_form('simplemeta_meta_form', $meta, TRUE);
   }
@@ -202,7 +203,7 @@
     module_invoke_all('simplemeta', $meta, 'insert');
   }
   else {
-    $result = drupal_write_record('simplemeta', $record, array('path'));
+    $result = drupal_write_record('simplemeta', $record, array('path', 'language'));
     module_invoke_all('simplemeta', $meta, 'update');
   }
   return $result;
@@ -241,11 +242,16 @@
   return FALSE;
 }
 
-function simplemeta_get_page_meta($path = NULL, $language = '', $reset = FALSE) {
+function simplemeta_get_page_meta($path = NULL, $language = NULL, $reset = FALSE) {
   static $meta = array();
   if (!isset($path)) {
     $path = $_GET['q'];
   }
+
+  if (!isset($language)) {
+    $language = simplemeta_get_language();
+  }
+
   if ((!isset($meta[$path])) || $reset) {
     $meta[$path] = FALSE;
     $cid = $path . ':' . $language;
@@ -260,7 +266,7 @@
       $row = db_fetch_object(db_query_range("SELECT * FROM {simplemeta} WHERE path IN (". implode (',', $placeholders) .") AND language = '%s' ORDER BY fit DESC", array_merge($ancestors, array($language)), 0, 1));
       // if there is no language-specific meta, try to load language-neutral
       if ((!$row) && $language) {
-        $row = db_fetch_object(db_query_range("SELECT * FROM {simplemeta} WHERE path IN (". implode (',', $placeholders) .") AND language = '%s' ORDER BY fit DESC", array_merge($ancestors, array('')), 0, 1));
+        $row = db_fetch_object(db_query_range("SELECT * FROM {simplemeta} WHERE path IN (". implode (',', $ancestors) .") AND language = '%s' ORDER BY fit DESC", array_merge($ancestors, array('')), 0, 1));
       }
       if ($row) {
         $row->data = unserialize($row->data);
@@ -468,4 +474,13 @@
     }
   }
   return $fit;
+}
+
+function simplemeta_get_language() {
+    global $language;
+    if (isset($language->language)) {
+        return $language->language;
+    } else {
+        return '';
+    }
 }
