summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/locale.module25
-rw-r--r--modules/locale/locale.module25
2 files changed, 50 insertions, 0 deletions
diff --git a/modules/locale.module b/modules/locale.module
index 9813f1152..4d6e8f083 100644
--- a/modules/locale.module
+++ b/modules/locale.module
@@ -216,6 +216,8 @@ function locale_admin() {
print status("locale disabled.");
}
else if (user_access("administer locales")) {
+ locale_admin_initialize();
+
print "<small>". locale_links(1) . locale_links(0) . la(t("search"), array("mod" => "locale", "op" => "Search")) ." | ". la(t("overview"), array("mod" => "locale", "op" => "overview")) ." | ". la(t("help"), array("mod" => "locale", "op" => "help")) ."</small><hr />\n";
switch ($op) {
@@ -253,6 +255,29 @@ function locale_admin() {
}
}
+function locale_admin_initialize() {
+ /* This function inserts common strings into the locale table (e.g. names of months and days).
+ * We use $revision and a stored variable to track if the locale table is up-to-date.
+ */
+
+ $revision = 1;
+
+ if (variable_get("locale_initialize_revision", 0) < $revision) {
+ variable_set("locale_initialize_revision", $revision);
+ for ($i = 1; $i <= 12; $i++) {
+ $stamp = mktime(0, 0, 0, $i, 1, 1971);
+ t(date("F", $stamp));
+ t(date("M", $stamp));
+ }
+
+ for ($i = 0; $i <= 7; $i++) {
+ $stamp = $i * 86400;
+ t(date("D", $stamp));
+ t(date("l", $stamp));
+ }
+ }
+}
+
function locale($string) {
global $locale;
static $locale_t;
diff --git a/modules/locale/locale.module b/modules/locale/locale.module
index 9813f1152..4d6e8f083 100644
--- a/modules/locale/locale.module
+++ b/modules/locale/locale.module
@@ -216,6 +216,8 @@ function locale_admin() {
print status("locale disabled.");
}
else if (user_access("administer locales")) {
+ locale_admin_initialize();
+
print "<small>". locale_links(1) . locale_links(0) . la(t("search"), array("mod" => "locale", "op" => "Search")) ." | ". la(t("overview"), array("mod" => "locale", "op" => "overview")) ." | ". la(t("help"), array("mod" => "locale", "op" => "help")) ."</small><hr />\n";
switch ($op) {
@@ -253,6 +255,29 @@ function locale_admin() {
}
}
+function locale_admin_initialize() {
+ /* This function inserts common strings into the locale table (e.g. names of months and days).
+ * We use $revision and a stored variable to track if the locale table is up-to-date.
+ */
+
+ $revision = 1;
+
+ if (variable_get("locale_initialize_revision", 0) < $revision) {
+ variable_set("locale_initialize_revision", $revision);
+ for ($i = 1; $i <= 12; $i++) {
+ $stamp = mktime(0, 0, 0, $i, 1, 1971);
+ t(date("F", $stamp));
+ t(date("M", $stamp));
+ }
+
+ for ($i = 0; $i <= 7; $i++) {
+ $stamp = $i * 86400;
+ t(date("D", $stamp));
+ t(date("l", $stamp));
+ }
+ }
+}
+
function locale($string) {
global $locale;
static $locale_t;