Added karma.
This commit is contained in:
parent
f09b00ffc9
commit
0712d229fd
5 changed files with 48 additions and 9 deletions
|
|
@ -21,5 +21,6 @@ INSERT INTO international VALUES (30,'UserSubmission','English','Karma Per Submi
|
||||||
alter table UserSubmission add column karmaPerSubmission int not null default 0;
|
alter table UserSubmission add column karmaPerSubmission int not null default 0;
|
||||||
alter table UserSubmission add column karmaPerPost int not null default 0;
|
alter table UserSubmission add column karmaPerPost int not null default 0;
|
||||||
alter table MessageBoard add column karmaPerPost int not null default 0;
|
alter table MessageBoard add column karmaPerPost int not null default 0;
|
||||||
|
alter table Article add column karmaPerPost int not null default 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ use WebGUI::Search;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
use WebGUI::SQL;
|
use WebGUI::SQL;
|
||||||
use WebGUI::URL;
|
use WebGUI::URL;
|
||||||
|
use WebGUI::User;
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub _deleteReplyTree {
|
sub _deleteReplyTree {
|
||||||
|
|
@ -172,7 +173,7 @@ sub post {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub postSave {
|
sub postSave {
|
||||||
my ($rid, $username, $pid);
|
my ($u, $rid, $username, $pid);
|
||||||
if ($session{form}{subject} eq "") {
|
if ($session{form}{subject} eq "") {
|
||||||
$session{form}{subject} = WebGUI::International::get(232);
|
$session{form}{subject} = WebGUI::International::get(232);
|
||||||
}
|
}
|
||||||
|
|
@ -207,6 +208,10 @@ sub postSave {
|
||||||
}
|
}
|
||||||
WebGUI::SQL->write("update discussion set subject=".quote($session{form}{subject}).",
|
WebGUI::SQL->write("update discussion set subject=".quote($session{form}{subject}).",
|
||||||
message=".quote($session{form}{message}).", dateOfPost=".time()." where messageId=$session{form}{mid}");
|
message=".quote($session{form}{message}).", dateOfPost=".time()." where messageId=$session{form}{mid}");
|
||||||
|
if ($session{setting}{useKarma}) {
|
||||||
|
$u = WebGUI::User->new($session{user}{userId});
|
||||||
|
$u->karma($_[0],"Discussion (".$session{form}{wid}."/".$session{form}{sid}.")","Made a post.");
|
||||||
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ sub duplicate {
|
||||||
allowDiscussion=>$_[0]->get("allowDiscussion"),
|
allowDiscussion=>$_[0]->get("allowDiscussion"),
|
||||||
groupToPost=>$_[0]->get("groupToPost"),
|
groupToPost=>$_[0]->get("groupToPost"),
|
||||||
groupToModerate=>$_[0]->get("groupToModerate"),
|
groupToModerate=>$_[0]->get("groupToModerate"),
|
||||||
|
karmaPerPost=>$_[0]->get("karmaPerPost"),
|
||||||
editTimeout=>$_[0]->get("editTimeout")
|
editTimeout=>$_[0]->get("editTimeout")
|
||||||
});
|
});
|
||||||
WebGUI::Discussion::duplicate($_[0]->get("wobjectId"),$w->get("wobjectId"));
|
WebGUI::Discussion::duplicate($_[0]->get("wobjectId"),$w->get("wobjectId"));
|
||||||
|
|
@ -88,7 +89,7 @@ sub purge {
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub set {
|
sub set {
|
||||||
$_[0]->SUPER::set($_[1],
|
$_[0]->SUPER::set($_[1],
|
||||||
[qw(image linkTitle linkURL attachment convertCarriageReturns alignImage allowDiscussion groupToPost groupToModerate editTimeout)]);
|
[qw(karmaPerPost image linkTitle linkURL attachment convertCarriageReturns alignImage allowDiscussion groupToPost groupToModerate editTimeout)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
@ -179,6 +180,11 @@ sub www_edit {
|
||||||
$f->group("groupToPost",WebGUI::International::get(19,$namespace),[$_[0]->get("groupToPost")]);
|
$f->group("groupToPost",WebGUI::International::get(19,$namespace),[$_[0]->get("groupToPost")]);
|
||||||
$f->group("groupToModerate",WebGUI::International::get(20,$namespace),[$groupToModerate]);
|
$f->group("groupToModerate",WebGUI::International::get(20,$namespace),[$groupToModerate]);
|
||||||
$f->integer("editTimeout",WebGUI::International::get(21,$namespace),$editTimeout);
|
$f->integer("editTimeout",WebGUI::International::get(21,$namespace),$editTimeout);
|
||||||
|
if ($session{setting}{useKarma}) {
|
||||||
|
$f->integer("karmaPerPost",WebGUI::International::get(541),$_[0]->get("karmaPerPost"));
|
||||||
|
} else {
|
||||||
|
$f->hidden("karmaPerPost",$_[0]->get("karmaPerPost"));
|
||||||
|
}
|
||||||
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
|
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
|
||||||
return $output;
|
return $output;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -203,6 +209,7 @@ sub www_editSave {
|
||||||
$property{linkURL} = $session{form}{linkURL};
|
$property{linkURL} = $session{form}{linkURL};
|
||||||
$property{allowDiscussion} = $session{form}{allowDiscussion};
|
$property{allowDiscussion} = $session{form}{allowDiscussion};
|
||||||
$property{groupToModerate} = $session{form}{groupToModerate};
|
$property{groupToModerate} = $session{form}{groupToModerate};
|
||||||
|
$property{karmaPerPost} = $session{form}{karmaPerPost};
|
||||||
$property{groupToPost} = $session{form}{groupToPost};
|
$property{groupToPost} = $session{form}{groupToPost};
|
||||||
$property{editTimeout} = $session{form}{editTimeout};
|
$property{editTimeout} = $session{form}{editTimeout};
|
||||||
$_[0]->set(\%property);
|
$_[0]->set(\%property);
|
||||||
|
|
@ -224,7 +231,7 @@ sub www_post {
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_postSave {
|
sub www_postSave {
|
||||||
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
||||||
WebGUI::Discussion::postSave();
|
WebGUI::Discussion::postSave($_[0]->get("karmaPerPost"));
|
||||||
return $_[0]->www_showMessage();
|
return $_[0]->www_showMessage();
|
||||||
} else {
|
} else {
|
||||||
return WebGUI::Privilege::insufficient();
|
return WebGUI::Privilege::insufficient();
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,8 @@ sub duplicate {
|
||||||
groupToPost=>$_[0]->get("groupToPost"),
|
groupToPost=>$_[0]->get("groupToPost"),
|
||||||
messagesPerPage=>$_[0]->get("messagesPerPage"),
|
messagesPerPage=>$_[0]->get("messagesPerPage"),
|
||||||
editTimeout=>$_[0]->get("editTimeout"),
|
editTimeout=>$_[0]->get("editTimeout"),
|
||||||
groupToModerate=>$_[0]->get("groupToModerate")
|
groupToModerate=>$_[0]->get("groupToModerate"),
|
||||||
|
karmaPerPost=>$_[0]->get("karmaPerPost")
|
||||||
});
|
});
|
||||||
WebGUI::Discussion::duplicate($_[0]->get("wobjectId"),$w->get("wobjectId"));
|
WebGUI::Discussion::duplicate($_[0]->get("wobjectId"),$w->get("wobjectId"));
|
||||||
}
|
}
|
||||||
|
|
@ -76,7 +77,7 @@ sub purge {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub set {
|
sub set {
|
||||||
$_[0]->SUPER::set($_[1],[qw(editTimeout groupToPost groupToModerate messagesPerPage)]);
|
$_[0]->SUPER::set($_[1],[qw(editTimeout karmaPerPost groupToPost groupToModerate messagesPerPage)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
@ -125,6 +126,11 @@ sub www_edit {
|
||||||
$f->group("groupToModerate",WebGUI::International::get(21,$namespace),[$groupToModerate]);
|
$f->group("groupToModerate",WebGUI::International::get(21,$namespace),[$groupToModerate]);
|
||||||
$f->integer("messagesPerPage",WebGUI::International::get(4,$namespace),$messagesPerPage);
|
$f->integer("messagesPerPage",WebGUI::International::get(4,$namespace),$messagesPerPage);
|
||||||
$f->integer("editTimeout",WebGUI::International::get(5,$namespace),$editTimeout);
|
$f->integer("editTimeout",WebGUI::International::get(5,$namespace),$editTimeout);
|
||||||
|
if ($session{setting}{useKarma}) {
|
||||||
|
$f->integer("karmaPerPost",WebGUI::International::get(541),$_[0]->get("karmaPerPost"));
|
||||||
|
} else {
|
||||||
|
$f->hidden("karmaPerPost",$_[0]->get("karmaPerPost"));
|
||||||
|
}
|
||||||
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
|
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
|
||||||
return $output;
|
return $output;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -141,6 +147,7 @@ sub www_editSave {
|
||||||
messagesPerPage=>$session{form}{messagesPerPage},
|
messagesPerPage=>$session{form}{messagesPerPage},
|
||||||
groupToPost=>$session{form}{groupToPost},
|
groupToPost=>$session{form}{groupToPost},
|
||||||
editTimeout=>$session{form}{editTimeout},
|
editTimeout=>$session{form}{editTimeout},
|
||||||
|
karmaPerPost=>$session{form}{karmaPerPost},
|
||||||
groupToModerate=>$session{form}{groupToModerate}
|
groupToModerate=>$session{form}{groupToModerate}
|
||||||
});
|
});
|
||||||
return "";
|
return "";
|
||||||
|
|
@ -161,7 +168,7 @@ sub www_post {
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_postSave {
|
sub www_postSave {
|
||||||
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
||||||
WebGUI::Discussion::postSave();
|
WebGUI::Discussion::postSave($_[0]->get("karmaPerPost"));
|
||||||
return $_[0]->www_showMessage();
|
return $_[0]->www_showMessage();
|
||||||
} else {
|
} else {
|
||||||
return WebGUI::Privilege::insufficient();
|
return WebGUI::Privilege::insufficient();
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ use WebGUI::Privilege;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
use WebGUI::SQL;
|
use WebGUI::SQL;
|
||||||
use WebGUI::URL;
|
use WebGUI::URL;
|
||||||
|
use WebGUI::User;
|
||||||
use WebGUI::Utility;
|
use WebGUI::Utility;
|
||||||
use WebGUI::Wobject;
|
use WebGUI::Wobject;
|
||||||
|
|
||||||
|
|
@ -213,6 +214,8 @@ sub duplicate {
|
||||||
groupToApprove=>$_[0]->get("groupToApprove"),
|
groupToApprove=>$_[0]->get("groupToApprove"),
|
||||||
allowDiscussion=>$_[0]->get("allowDiscussion"),
|
allowDiscussion=>$_[0]->get("allowDiscussion"),
|
||||||
editTimeout=>$_[0]->get("editTimeout"),
|
editTimeout=>$_[0]->get("editTimeout"),
|
||||||
|
karmaPerPost=>$_[0]->get("karmaPerPost"),
|
||||||
|
karmaPerSubmission=>$_[0]->get("karmaPerSubmission"),
|
||||||
groupToPost=>$_[0]->get("groupToPost"),
|
groupToPost=>$_[0]->get("groupToPost"),
|
||||||
layout=>$_[0]->get("layout"),
|
layout=>$_[0]->get("layout"),
|
||||||
displayThumbnails=>$_[0]->get("displayThumbnails"),
|
displayThumbnails=>$_[0]->get("displayThumbnails"),
|
||||||
|
|
@ -252,7 +255,7 @@ sub purge {
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub set {
|
sub set {
|
||||||
$_[0]->SUPER::set($_[1],[qw(submissionsPerPage groupToContribute groupToApprove defaultStatus groupToModerate
|
$_[0]->SUPER::set($_[1],[qw(submissionsPerPage groupToContribute groupToApprove defaultStatus groupToModerate
|
||||||
groupToPost displayThumbnails editTimeout layout allowDiscussion)]);
|
groupToPost displayThumbnails editTimeout karmaPerPost karmaPerSubmission layout allowDiscussion)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
@ -389,11 +392,21 @@ sub www_edit {
|
||||||
$f->group("groupToContribute",WebGUI::International::get(2,$namespace),[$_[0]->get("groupToContribute")]);
|
$f->group("groupToContribute",WebGUI::International::get(2,$namespace),[$_[0]->get("groupToContribute")]);
|
||||||
$f->integer("submissionsPerPage",WebGUI::International::get(6,$namespace),$submissionsPerPage);
|
$f->integer("submissionsPerPage",WebGUI::International::get(6,$namespace),$submissionsPerPage);
|
||||||
$f->select("defaultStatus",\%submissionStatus,WebGUI::International::get(10,$namespace),[$defaultStatus]);
|
$f->select("defaultStatus",\%submissionStatus,WebGUI::International::get(10,$namespace),[$defaultStatus]);
|
||||||
|
if ($session{setting}{useKarma}) {
|
||||||
|
$f->integer("karmaPerSubmission",WebGUI::International::get(30,$namespace),$_[0]->get("karmaPerSubmission"));
|
||||||
|
} else {
|
||||||
|
$f->hidden("karmaPerSubmission",$_[0]->get("karmaPerSubmission"));
|
||||||
|
}
|
||||||
$f->yesNo("displayThumbnails",WebGUI::International::get(51,$namespace),$_[0]->get("displayThumbnails"));
|
$f->yesNo("displayThumbnails",WebGUI::International::get(51,$namespace),$_[0]->get("displayThumbnails"));
|
||||||
$f->yesNo("allowDiscussion",WebGUI::International::get(48,$namespace),$_[0]->get("allowDiscussion"));
|
$f->yesNo("allowDiscussion",WebGUI::International::get(48,$namespace),$_[0]->get("allowDiscussion"));
|
||||||
$f->integer("editTimeout",WebGUI::International::get(49,$namespace),$_[0]->get("editTimeout"));
|
$f->integer("editTimeout",WebGUI::International::get(49,$namespace),$_[0]->get("editTimeout"));
|
||||||
$f->group("groupToPost",WebGUI::International::get(50,$namespace),[$_[0]->get("groupToPost")]);
|
$f->group("groupToPost",WebGUI::International::get(50,$namespace),[$_[0]->get("groupToPost")]);
|
||||||
$f->group("groupToModerate",WebGUI::International::get(44,$namespace),[$groupToModerate]);
|
$f->group("groupToModerate",WebGUI::International::get(44,$namespace),[$groupToModerate]);
|
||||||
|
if ($session{setting}{useKarma}) {
|
||||||
|
$f->integer("karmaPerPost",WebGUI::International::get(541),$_[0]->get("karmaPerPost"));
|
||||||
|
} else {
|
||||||
|
$f->hidden("karmaPerPost",$_[0]->get("karmaPerPost"));
|
||||||
|
}
|
||||||
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
|
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
|
||||||
return $output;
|
return $output;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -412,6 +425,8 @@ sub www_editSave {
|
||||||
defaultStatus=>$session{form}{defaultStatus},
|
defaultStatus=>$session{form}{defaultStatus},
|
||||||
groupToModerate=>$session{form}{groupToModerate},
|
groupToModerate=>$session{form}{groupToModerate},
|
||||||
groupToPost=>$session{form}{groupToPost},
|
groupToPost=>$session{form}{groupToPost},
|
||||||
|
karmaPerPost=>$session{form}{karmaPerPost},
|
||||||
|
karmaPerSubmission=>$session{form}{karmaPerSubmission},
|
||||||
editTimeout=>$session{form}{editTimeout},
|
editTimeout=>$session{form}{editTimeout},
|
||||||
allowDiscussion=>$session{form}{allowDiscussion},
|
allowDiscussion=>$session{form}{allowDiscussion},
|
||||||
layout=>$session{form}{layout},
|
layout=>$session{form}{layout},
|
||||||
|
|
@ -467,7 +482,7 @@ sub www_editSubmission {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_editSubmissionSave {
|
sub www_editSubmissionSave {
|
||||||
my ($sqlAdd,$owner,$image,$attachment,$title);
|
my ($sqlAdd,$owner,$image,$attachment,$title,$u);
|
||||||
($owner) = WebGUI::SQL->quickArray("select userId from UserSubmission_submission where submissionId='$session{form}{sid}'");
|
($owner) = WebGUI::SQL->quickArray("select userId from UserSubmission_submission where submissionId='$session{form}{sid}'");
|
||||||
if ($owner == $session{user}{userId}
|
if ($owner == $session{user}{userId}
|
||||||
|| ($session{form}{sid} eq "new" && WebGUI::Privilege::isInGroup($_[0]->get("groupToContribute")))
|
|| ($session{form}{sid} eq "new" && WebGUI::Privilege::isInGroup($_[0]->get("groupToContribute")))
|
||||||
|
|
@ -476,6 +491,10 @@ sub www_editSubmissionSave {
|
||||||
$session{form}{sid} = getNextId("submissionId");
|
$session{form}{sid} = getNextId("submissionId");
|
||||||
WebGUI::SQL->write("insert into UserSubmission_submission (wobjectId,submissionId,userId,username)
|
WebGUI::SQL->write("insert into UserSubmission_submission (wobjectId,submissionId,userId,username)
|
||||||
values (".$_[0]->get("wobjectId").",$session{form}{sid},$session{user}{userId},".quote($session{user}{username}).")");
|
values (".$_[0]->get("wobjectId").",$session{form}{sid},$session{user}{userId},".quote($session{user}{username}).")");
|
||||||
|
if ($session{setting}{useKarma}) {
|
||||||
|
$u = WebGUI::User->new($session{user}{userId});
|
||||||
|
$u->karma($_[0]->get("karmaPerSubmission"),$namespace." (".$_[0]->get("wobjectId")."/".$session{form}{sid}.")","User submission.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$image = WebGUI::Attachment->new("",$session{form}{wid},$session{form}{sid});
|
$image = WebGUI::Attachment->new("",$session{form}{wid},$session{form}{sid});
|
||||||
$image->save("image");
|
$image->save("image");
|
||||||
|
|
@ -523,7 +542,7 @@ sub www_post {
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_postSave {
|
sub www_postSave {
|
||||||
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
||||||
WebGUI::Discussion::postSave();
|
WebGUI::Discussion::postSave($_[0]->get("karmaPerPost"));
|
||||||
return $_[0]->www_showMessage();
|
return $_[0]->www_showMessage();
|
||||||
} else {
|
} else {
|
||||||
return WebGUI::Privilege::insufficient();
|
return WebGUI::Privilege::insufficient();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue