diff --git a/docs/upgrades/upgrade_4.8.0-4.9.0.sql b/docs/upgrades/upgrade_4.8.0-4.9.0.sql
index e8fedd3f5..969106b8c 100644
--- a/docs/upgrades/upgrade_4.8.0-4.9.0.sql
+++ b/docs/upgrades/upgrade_4.8.0-4.9.0.sql
@@ -975,6 +975,7 @@ alter table SiteMap drop column bullet;
alter table SiteMap drop column lineSpacing;
INSERT INTO template VALUES (1,'Default Site Map','\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n ·\">
\r\n','SiteMap');
INSERT INTO template VALUES (2,'Descriptive Site Map','\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \"> \r\n \r\n - \r\n \r\n \r\n','SiteMap');
+alter table page add column languageId int not null default 1;
diff --git a/lib/WebGUI/Operation/Page.pm b/lib/WebGUI/Operation/Page.pm
index c7de8e250..1062c43fa 100644
--- a/lib/WebGUI/Operation/Page.pm
+++ b/lib/WebGUI/Operation/Page.pm
@@ -190,11 +190,18 @@ sub www_editPage {
-value=>$page{urlizedTitle},
-uiLevel=>3
);
+ $f->select(
+ -name=>"languageId",
+ -label=>WebGUI::International::get(304),
+ -value=>[$page{internationalId}],
+ -uiLevel=>1,
+ -options=>WebGUI::International::getLanguages()
+ );
$f->url(
-name=>"redirectURL",
-label=>WebGUI::International::get(715),
-value=>$page{redirectURL},
- -uiLevel=>8
+ -uiLevel=>9
);
$f->textarea(
-name=>"synopsis",
@@ -357,6 +364,7 @@ sub www_editPageSave {
metaTags=".quote($session{form}{metaTags}).",
urlizedTitle='$session{form}{urlizedTitle}',
redirectURL='$session{form}{redirectURL}',
+ languageId='$session{form}{languageId}',
defaultMetaTags='$session{form}{defaultMetaTags}',
templateId='$session{form}{templateId}',
menuTitle=".quote($session{form}{menuTitle}).",
diff --git a/lib/WebGUI/Session.pm b/lib/WebGUI/Session.pm
index ce5822036..32925cf46 100644
--- a/lib/WebGUI/Session.pm
+++ b/lib/WebGUI/Session.pm
@@ -97,6 +97,7 @@ sub _setupUserInfo {
from userProfileData, userProfileField where userProfileData.fieldName=userProfileField.fieldName
and userProfileData.userId='$user{userId}'");
%user = (%user, %profile);
+ $user{language} = $session{page}{languageId} if ($user{userId} == 1);
%default = WebGUI::SQL->buildHash("select fieldName, dataDefault from userProfileField
where profileCategoryId=4");
foreach $key (keys %default) {
@@ -331,13 +332,13 @@ sub open {
} else {
_setupSessionVars($session{cookie}{wgSession},$session{setting}{sessionTimeout});
}
+ ###----------------------------
+ ### current page's properties (from page table)
+ _setupPageInfo("",$session{setting}{notFoundPage},$session{config}{scripturl});
###----------------------------
### current user's account and profile information (from users and userProfileData tables)
_setupUserInfo($session{var}{userId});
###----------------------------
- ### current page's properties (from page table)
- _setupPageInfo("",$session{setting}{notFoundPage},$session{config}{scripturl});
- ###----------------------------
### language settings
$session{language} = WebGUI::SQL->quickHashRef("select * from language where languageId=$session{user}{language}");
###----------------------------