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 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::SQL;
|
||||
use WebGUI::URL;
|
||||
use WebGUI::User;
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub _deleteReplyTree {
|
||||
|
|
@ -172,7 +173,7 @@ sub post {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
sub postSave {
|
||||
my ($rid, $username, $pid);
|
||||
my ($u, $rid, $username, $pid);
|
||||
if ($session{form}{subject} eq "") {
|
||||
$session{form}{subject} = WebGUI::International::get(232);
|
||||
}
|
||||
|
|
@ -207,6 +208,10 @@ sub postSave {
|
|||
}
|
||||
WebGUI::SQL->write("update discussion set subject=".quote($session{form}{subject}).",
|
||||
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 "";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ sub duplicate {
|
|||
allowDiscussion=>$_[0]->get("allowDiscussion"),
|
||||
groupToPost=>$_[0]->get("groupToPost"),
|
||||
groupToModerate=>$_[0]->get("groupToModerate"),
|
||||
karmaPerPost=>$_[0]->get("karmaPerPost"),
|
||||
editTimeout=>$_[0]->get("editTimeout")
|
||||
});
|
||||
WebGUI::Discussion::duplicate($_[0]->get("wobjectId"),$w->get("wobjectId"));
|
||||
|
|
@ -88,7 +89,7 @@ sub purge {
|
|||
#-------------------------------------------------------------------
|
||||
sub set {
|
||||
$_[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("groupToModerate",WebGUI::International::get(20,$namespace),[$groupToModerate]);
|
||||
$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);
|
||||
return $output;
|
||||
} else {
|
||||
|
|
@ -203,6 +209,7 @@ sub www_editSave {
|
|||
$property{linkURL} = $session{form}{linkURL};
|
||||
$property{allowDiscussion} = $session{form}{allowDiscussion};
|
||||
$property{groupToModerate} = $session{form}{groupToModerate};
|
||||
$property{karmaPerPost} = $session{form}{karmaPerPost};
|
||||
$property{groupToPost} = $session{form}{groupToPost};
|
||||
$property{editTimeout} = $session{form}{editTimeout};
|
||||
$_[0]->set(\%property);
|
||||
|
|
@ -224,7 +231,7 @@ sub www_post {
|
|||
#-------------------------------------------------------------------
|
||||
sub www_postSave {
|
||||
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
||||
WebGUI::Discussion::postSave();
|
||||
WebGUI::Discussion::postSave($_[0]->get("karmaPerPost"));
|
||||
return $_[0]->www_showMessage();
|
||||
} else {
|
||||
return WebGUI::Privilege::insufficient();
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@ sub duplicate {
|
|||
groupToPost=>$_[0]->get("groupToPost"),
|
||||
messagesPerPage=>$_[0]->get("messagesPerPage"),
|
||||
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"));
|
||||
}
|
||||
|
|
@ -76,7 +77,7 @@ sub purge {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
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->integer("messagesPerPage",WebGUI::International::get(4,$namespace),$messagesPerPage);
|
||||
$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);
|
||||
return $output;
|
||||
} else {
|
||||
|
|
@ -141,6 +147,7 @@ sub www_editSave {
|
|||
messagesPerPage=>$session{form}{messagesPerPage},
|
||||
groupToPost=>$session{form}{groupToPost},
|
||||
editTimeout=>$session{form}{editTimeout},
|
||||
karmaPerPost=>$session{form}{karmaPerPost},
|
||||
groupToModerate=>$session{form}{groupToModerate}
|
||||
});
|
||||
return "";
|
||||
|
|
@ -161,7 +168,7 @@ sub www_post {
|
|||
#-------------------------------------------------------------------
|
||||
sub www_postSave {
|
||||
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
||||
WebGUI::Discussion::postSave();
|
||||
WebGUI::Discussion::postSave($_[0]->get("karmaPerPost"));
|
||||
return $_[0]->www_showMessage();
|
||||
} else {
|
||||
return WebGUI::Privilege::insufficient();
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ use WebGUI::Privilege;
|
|||
use WebGUI::Session;
|
||||
use WebGUI::SQL;
|
||||
use WebGUI::URL;
|
||||
use WebGUI::User;
|
||||
use WebGUI::Utility;
|
||||
use WebGUI::Wobject;
|
||||
|
||||
|
|
@ -213,6 +214,8 @@ sub duplicate {
|
|||
groupToApprove=>$_[0]->get("groupToApprove"),
|
||||
allowDiscussion=>$_[0]->get("allowDiscussion"),
|
||||
editTimeout=>$_[0]->get("editTimeout"),
|
||||
karmaPerPost=>$_[0]->get("karmaPerPost"),
|
||||
karmaPerSubmission=>$_[0]->get("karmaPerSubmission"),
|
||||
groupToPost=>$_[0]->get("groupToPost"),
|
||||
layout=>$_[0]->get("layout"),
|
||||
displayThumbnails=>$_[0]->get("displayThumbnails"),
|
||||
|
|
@ -252,7 +255,7 @@ sub purge {
|
|||
#-------------------------------------------------------------------
|
||||
sub set {
|
||||
$_[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->integer("submissionsPerPage",WebGUI::International::get(6,$namespace),$submissionsPerPage);
|
||||
$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("allowDiscussion",WebGUI::International::get(48,$namespace),$_[0]->get("allowDiscussion"));
|
||||
$f->integer("editTimeout",WebGUI::International::get(49,$namespace),$_[0]->get("editTimeout"));
|
||||
$f->group("groupToPost",WebGUI::International::get(50,$namespace),[$_[0]->get("groupToPost")]);
|
||||
$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);
|
||||
return $output;
|
||||
} else {
|
||||
|
|
@ -412,6 +425,8 @@ sub www_editSave {
|
|||
defaultStatus=>$session{form}{defaultStatus},
|
||||
groupToModerate=>$session{form}{groupToModerate},
|
||||
groupToPost=>$session{form}{groupToPost},
|
||||
karmaPerPost=>$session{form}{karmaPerPost},
|
||||
karmaPerSubmission=>$session{form}{karmaPerSubmission},
|
||||
editTimeout=>$session{form}{editTimeout},
|
||||
allowDiscussion=>$session{form}{allowDiscussion},
|
||||
layout=>$session{form}{layout},
|
||||
|
|
@ -467,7 +482,7 @@ sub www_editSubmission {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
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}'");
|
||||
if ($owner == $session{user}{userId}
|
||||
|| ($session{form}{sid} eq "new" && WebGUI::Privilege::isInGroup($_[0]->get("groupToContribute")))
|
||||
|
|
@ -476,6 +491,10 @@ sub www_editSubmissionSave {
|
|||
$session{form}{sid} = getNextId("submissionId");
|
||||
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}).")");
|
||||
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->save("image");
|
||||
|
|
@ -523,7 +542,7 @@ sub www_post {
|
|||
#-------------------------------------------------------------------
|
||||
sub www_postSave {
|
||||
if (WebGUI::Privilege::isInGroup($_[0]->get("groupToPost"),$session{user}{userId})) {
|
||||
WebGUI::Discussion::postSave();
|
||||
WebGUI::Discussion::postSave($_[0]->get("karmaPerPost"));
|
||||
return $_[0]->www_showMessage();
|
||||
} else {
|
||||
return WebGUI::Privilege::insufficient();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue