xref: /plugin/recommend/helper/assignment.php (revision 75494ca1620e263b1ca1a80c8e4863ca3326371d)
1<?php
2
3class helper_plugin_recommend_assignment
4{
5    public static $confFile = DOKU_CONF . 'recommend_snippets.json';
6
7    public static function getAssignments()
8    {
9        return @jsonToArray(self::$confFile);
10    }
11
12    public function addAssignment($assignment)
13    {
14        $assignments = self::getAssignments();
15        $assignments[] = $assignment;
16        return (bool)file_put_contents(self::$confFile, json_encode($assignments, JSON_PRETTY_PRINT));
17    }
18
19    public function removeAssignment($assignment)
20    {
21        if (empty($assignment['pattern'])) {
22            return false;
23        }
24
25        $assignments = self::getAssignments();
26        $remaining = array_filter($assignments, function($data) use ($assignment) {
27            return !(
28                $assignment['pattern'] === $data['pattern']
29                && $assignment['user'] === $data['user']
30                && $assignment['message'] === $data['message']
31            );
32        });
33
34        if (count($remaining) < count($assignments)) {
35            return (bool)file_put_contents(self::$confFile, json_encode($remaining, JSON_PRETTY_PRINT));
36        }
37        return false;
38    }
39}
40