diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm
index 42e3bebd9..ed540f0aa 100644
--- a/lib/WebGUI/Operation/User.pm
+++ b/lib/WebGUI/Operation/User.pm
@@ -27,7 +27,7 @@ use WebGUI::User;
use WebGUI::Utility;
our @ISA = qw(Exporter);
-our @EXPORT = qw(&www_editUserGroup &www_editUserProfile &www_editUserProfileSave &www_editUserGroupSave &www_deleteGrouping &www_editGrouping &www_editGroupingSave &www_becomeUser &www_addUser &www_addUserSave &www_deleteUser &www_deleteUserConfirm &www_editUser &www_editUserSave &www_listUsers);
+our @EXPORT = qw(&www_editUserKarma &www_editUserKarmaSave &www_editUserGroup &www_editUserProfile &www_editUserProfileSave &www_editUserGroupSave &www_deleteGrouping &www_editGrouping &www_editGroupingSave &www_becomeUser &www_addUser &www_addUserSave &www_deleteUser &www_deleteUserConfirm &www_editUser &www_editUserSave &www_listUsers);
#-------------------------------------------------------------------
sub _subMenu {
@@ -39,6 +39,9 @@ sub _subMenu {
$output .= '
'.WebGUI::International::get(457).'';
$output .= ''.WebGUI::International::get(458).'';
$output .= ''.WebGUI::International::get(459).'';
+ if ($session{setting}{useKarma}) {
+ $output .= ''.WebGUI::International::get(555).'';
+ }
$output .= ''.WebGUI::International::get(456).'';
$output .= '';
return $output;
@@ -300,6 +303,38 @@ sub www_editUserGroupSave {
}
}
+#-------------------------------------------------------------------
+sub www_editUserKarma {
+ my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory);
+ if (WebGUI::Privilege::isInGroup(3)) {
+ $output = helpIcon(36);
+ $output .= ''.WebGUI::International::get(558).'
';
+ $f = WebGUI::HTMLForm->new;
+ $f->hidden("op","editUserKarmaSave");
+ $f->hidden("uid",$session{form}{uid});
+ $f->integer("amount",WebGUI::International::get(556));
+ $f->text("description",WebGUI::International::get(557));
+ $f->submit;
+ $output .= $f->print;
+ $output = _subMenu($output);
+ } else {
+ $output .= WebGUI::Privilege::adminOnly();
+ }
+ return $output;
+}
+
+#-------------------------------------------------------------------
+sub www_editUserKarmaSave {
+ my ($u);
+ if (WebGUI::Privilege::isInGroup(3)) {
+ $u = WebGUI::User->new($session{form}{uid});
+ $u->karma($session{form}{amount},$session{user}{username}." (".$session{user}{userId}.")",$session{form}{description});
+ return www_editUser();
+ } else {
+ return WebGUI::Privilege::adminOnly();
+ }
+}
+
#-------------------------------------------------------------------
sub www_editUserProfile {
my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory);
diff --git a/lib/WebGUI/User.pm b/lib/WebGUI/User.pm
index 901fa7424..0de6ddc91 100644
--- a/lib/WebGUI/User.pm
+++ b/lib/WebGUI/User.pm
@@ -304,17 +304,17 @@ sub new {
%profile = WebGUI::SQL->buildHash("select userProfileField.fieldName, userProfileData.fieldData
from userProfileField, userProfileData where userProfileField.fieldName=userProfileData.fieldName and
userProfileData.userId='$user{userId}'");
- # %default = WebGUI::SQL->buildHash("select fieldName, dataDefault from userProfileField where profileCategoryId=4");
- #foreach $key (keys %default) {
- # if ($profile{$key} eq "") {
- # $value = eval($default{$key});
- # if (ref $value eq "ARRAY") {
- # $profile{$key} = $$value[0];
- # } else {
- # $profile{$key} = $value;
- # }
- # }
- #}
+ %default = WebGUI::SQL->buildHash("select fieldName, dataDefault from userProfileField where profileCategoryId=4");
+ foreach $key (keys %default) {
+ if ($profile{$key} eq "") {
+ $value = eval($default{$key});
+ if (ref $value eq "ARRAY") {
+ $profile{$key} = $$value[0];
+ } else {
+ $profile{$key} = $value;
+ }
+ }
+ }
bless {_userId => $userId, _user => \%user, _profile =>\%profile }, $class;
}