';
- $output .= '| '.WebGUI::International::get(50).' | '.WebGUI::Form::text("username",20,30,$session{user}{username}).' |
';
+ if ($session{user}{authMethod} eq "LDAP" && $session{setting}{usernameBinding} eq "yes") {
+ $output .= WebGUI::Form::hidden("username",$session{user}{username});
+ $output .= '| '.WebGUI::International::get(50).' | '.$session{user}{username}.' |
';
+ } else {
+ $output .= '| '.WebGUI::International::get(50).' | '.WebGUI::Form::text("username",20,30,$session{user}{username}).' |
';
+ }
if ($session{user}{authMethod} eq "LDAP") {
- $output .= WebGUI::Form::hidden("identifier","password");
+ $output .= WebGUI::Form::hidden("identifier1","password");
+ $output .= WebGUI::Form::hidden("identifier2","password");
} else {
$output .= '| '.WebGUI::International::get(51).' | '.WebGUI::Form::password("identifier1",20,30,"password").' |
';
$output .= '| '.WebGUI::International::get(55).' | '.WebGUI::Form::password("identifier2",20,30,"password").' |
';
@@ -204,8 +213,7 @@ sub www_login {
}
%args = (port => $port);
$ldap = Net::LDAP->new($uri->host, %args) or $error = WebGUI::International::get(79);
- $auth = $ldap->bind($connectDN, $session{form}{identifier});
- $ldap->unbind;
+ $auth = $ldap->bind(dn=>$connectDN, password=>$session{form}{identifier});
if ($auth->code == 48 || $auth->code == 49) {
$error = WebGUI::International::get(68);
WebGUI::ErrorHandler::warn("Invalid login for user account: ".$session{form}{username});
@@ -216,6 +224,7 @@ sub www_login {
} else {
$success = 1;
}
+ $ldap->unbind;
} else {
if (Digest::MD5::md5_base64($session{form}{identifier}) eq $pass && $session{form}{identifier} ne "") {
$success = 1;
@@ -235,7 +244,6 @@ sub www_login {
#-------------------------------------------------------------------
sub www_logout {
WebGUI::Session::end($session{var}{sessionId});
- #_login(1,"null");
return "";
}
@@ -292,12 +300,17 @@ sub www_recoverPasswordFinish {
#-------------------------------------------------------------------
sub www_saveAccount {
- my ($uri, $ldap, $port, %args, $search, $connectDN, $auth, $output, $error, $uid, $encryptedPassword);
- if (_hasBadUsername($session{form}{username})) {
+ my ($username, $uri, $ldap, $port, %args, $search, $connectDN, $auth, $output, $error, $uid, $encryptedPassword);
+ if ($session{setting}{authMethod} eq "LDAP" && $session{setting}{usernameBinding} eq "yes") {
+ $username = $session{form}{ldapId};
+ } else {
+ $username = $session{form}{username};
+ }
+ if (_hasBadUsername($username)) {
$error = WebGUI::International::get(77);
- $error .= ' "'.$session{form}{username}.'too", ';
- $error .= '"'.$session{form}{username}.'2", ';
- $error .= '"'.$session{form}{username}.'_'.WebGUI::DateTime::epochToHuman(time(),"%y").'"';
+ $error .= ' "'.$username.'too", ';
+ $error .= '"'.$username.'2", ';
+ $error .= '"'.$username.'_'.WebGUI::DateTime::epochToHuman(time(),"%y").'"';
$error .= '';
}
if (_hasBadPassword($session{form}{identifier1},$session{form}{identifier2})) {
@@ -330,7 +343,7 @@ sub www_saveAccount {
if ($error eq "") {
$encryptedPassword = Digest::MD5::md5_base64($session{form}{identifier1});
$uid = getNextId("userId");
- WebGUI::SQL->write("insert into users (userId,username,identifier,email,authMethod,ldapURL,connectDN,language) values ($uid, ".quote($session{form}{username}).", ".quote($encryptedPassword).", ".quote($session{form}{email}).", ".quote($session{setting}{authMethod}).", ".quote($session{setting}{ldapURL}).", ".quote($connectDN).", ".quote($session{form}{language}).")",$session{dbh});
+ WebGUI::SQL->write("insert into users (userId,username,identifier,email,authMethod,ldapURL,connectDN,language) values ($uid, ".quote($username).", ".quote($encryptedPassword).", ".quote($session{form}{email}).", ".quote($session{setting}{authMethod}).", ".quote($session{setting}{ldapURL}).", ".quote($connectDN).", ".quote($session{form}{language}).")",$session{dbh});
WebGUI::SQL->write("insert into groupings values (2,$uid)",$session{dbh});
_login($uid,$encryptedPassword);
$output .= WebGUI::International::get(80).'
';
diff --git a/lib/WebGUI/Operation/Page.pm b/lib/WebGUI/Operation/Page.pm
index e75a9df71..da9e32de5 100644
--- a/lib/WebGUI/Operation/Page.pm
+++ b/lib/WebGUI/Operation/Page.pm
@@ -66,6 +66,7 @@ sub www_addPage {
$output .= '
';
$output .= '| '.WebGUI::International::get(99).' | '.WebGUI::Form::text("title",20,30,$session{form}{title}).' |
';
$output .= '| '.WebGUI::International::get(100).' | '.WebGUI::Form::textArea("metaTags",$session{form}{metaTags}).' |
';
+ $output .= '| '.WebGUI::International::get(307).' | '.WebGUI::Form::checkbox("defaultMetaTags",1,1).' |
';
$output .= ' | '.WebGUI::Form::submit(WebGUI::International::get(62)).' |
';
$output .= '
';
return $output;
@@ -83,7 +84,7 @@ sub www_addPageSave {
while (($test) = WebGUI::SQL->quickArray("select urlizedTitle from page where urlizedTitle='$urlizedTitle'",$session{dbh})) {
$urlizedTitle .= 2;
}
- WebGUI::SQL->write("insert into page values (".getNextId("pageId").", $session{page}{pageId}, ".quote($session{form}{title}).", $session{page}{styleId}, $session{user}{userId}, $session{page}{ownerView}, $session{page}{ownerEdit}, $session{page}{groupId}, $session{page}{groupView}, $session{page}{groupEdit}, $session{page}{worldView}, $session{page}{worldEdit}, '$nextSeq', ".quote($session{form}{metaTags}).", '$urlizedTitle')",$session{dbh});
+ WebGUI::SQL->write("insert into page values (".getNextId("pageId").", $session{page}{pageId}, ".quote($session{form}{title}).", $session{page}{styleId}, $session{user}{userId}, $session{page}{ownerView}, $session{page}{ownerEdit}, $session{page}{groupId}, $session{page}{groupView}, $session{page}{groupEdit}, $session{page}{worldView}, $session{page}{worldEdit}, '$nextSeq', ".quote($session{form}{metaTags}).", '$urlizedTitle', '$session{form}{defaultMetaTags}')",$session{dbh});
return "";
} else {
return WebGUI::Privilege::insufficient();
@@ -150,6 +151,7 @@ sub www_editPage {
$output .= '| '.WebGUI::International::get(99).' | '.WebGUI::Form::text("title",20,30,$session{page}{title}).' |
';
$output .= '| '.WebGUI::International::get(104).' | '.WebGUI::Form::text("urlizedTitle",20,30,$session{page}{urlizedTitle}).' |
';
$output .= '| '.WebGUI::International::get(100).' | '.WebGUI::Form::textArea("metaTags",$session{page}{metaTags}).' |
';
+ $output .= '| '.WebGUI::International::get(307).' | '.WebGUI::Form::checkbox("defaultMetaTags",1,$session{page}{defaultMetaTags}).' |
';
$output .= ' '.WebGUI::International::get(105).' |
';
%hash = WebGUI::SQL->buildHash("select styleId,name from style where name<>'Reserved' order by name",$session{dbh});
$array[0] = $session{page}{styleId};
@@ -191,7 +193,7 @@ sub www_editPageSave {
while (($test) = WebGUI::SQL->quickArray("select urlizedTitle from page where urlizedTitle='$urlizedTitle' and pageId<>$session{page}{pageId}",$session{dbh})) {
$urlizedTitle .= 2;
}
- WebGUI::SQL->write("update page set title=".quote($session{form}{title}).", styleId=$session{form}{styleId}, ownerId=$session{form}{ownerId}, ownerView=$session{form}{ownerView}, ownerEdit=$session{form}{ownerEdit}, groupId='$session{form}{groupId}', groupView=$session{form}{groupView}, groupEdit=$session{form}{groupEdit}, worldView=$session{form}{worldView}, worldEdit=$session{form}{worldEdit}, metaTags=".quote($session{form}{metaTags}).", urlizedTitle='$urlizedTitle' where pageId=$session{page}{pageId}",$session{dbh});
+ WebGUI::SQL->write("update page set title=".quote($session{form}{title}).", styleId=$session{form}{styleId}, ownerId=$session{form}{ownerId}, ownerView=$session{form}{ownerView}, ownerEdit=$session{form}{ownerEdit}, groupId='$session{form}{groupId}', groupView=$session{form}{groupView}, groupEdit=$session{form}{groupEdit}, worldView=$session{form}{worldView}, worldEdit=$session{form}{worldEdit}, metaTags=".quote($session{form}{metaTags}).", urlizedTitle='$urlizedTitle', defaultMetaTags='$session{form}{defaultMetaTags}' where pageId=$session{page}{pageId}",$session{dbh});
if ($session{form}{recurseStyle} eq "yes") {
_recursivelyChangeStyle($session{page}{pageId});
}
diff --git a/lib/WebGUI/Operation/Settings.pm b/lib/WebGUI/Operation/Settings.pm
index 55c4b40b6..6f617cda0 100644
--- a/lib/WebGUI/Operation/Settings.pm
+++ b/lib/WebGUI/Operation/Settings.pm
@@ -28,7 +28,7 @@ sub www_editAuthenticationSettings {
%authMethod = ('WebGUI'=>'WebGUI', 'LDAP'=>'LDAP');
%yesNo = ('yes'=>WebGUI::International::get(138), 'no'=>WebGUI::International::get(139));
if (WebGUI::Privilege::isInGroup(3)) {
- $output .= '
';
+ $output .= '
';
$output .= ''.WebGUI::International::get(117).'
';
$output .= '