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