1: <?php if(!defined('APPLICATION')) exit();
2: 3: 4: 5: 6: 7: 8:
9: class DiscussionCategory implements YagaRule {
10:
11: public function Award($Sender, $User, $Criteria) {
12: $Discussion = $Sender->EventArguments['Discussion'];
13: $ID = ($Discussion->CategoryID);
14: if($ID == $Criteria->CategoryID) {
15: return $Discussion->InsertUserID;
16: }
17: else {
18: return FALSE;
19: }
20: }
21:
22: public function Form($Form) {
23: $String = $Form->Label('Yaga.Rules.DiscussionCategory.Criteria.Head', 'DiscussionCategory');
24: $String .= $Form->CategoryDropDown('CategoryID');
25: return $String;
26: }
27:
28: public function Validate($Criteria, $Form) {
29: $Validation = new Gdn_Validation();
30: $Validation->ApplyRules(array(
31: array(
32: 'Name' => 'CategoryID', 'Validation' => array('Required', 'Integer')
33: ),
34: ));
35: $Validation->Validate($Criteria);
36: $Form->SetValidationResults($Validation->Results());
37: }
38:
39: public function Hooks() {
40: return array('DiscussionModel_AfterSaveDiscussion');
41: }
42:
43: public function Description() {
44: return Wrap(T('Yaga.Rules.DiscussionCategory.Desc'), 'div', array('class' => 'InfoMessage'));
45: }
46:
47: public function Name() {
48: return T('Yaga.Rules.DiscussionCategory');
49: }
50:
51: public function Interacts() {
52: return FALSE;
53: }
54:
55: }
56: