. * * @category Settings * @package StatusNet * @author Evan Prodromou * @copyright 2010 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3 * @link http://status.net/ */ if (!defined('GNUSOCIAL')) { exit(1); } /** * Administer blacklist * * @category Admin * @package StatusNet * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3 * @link http://status.net/ */ class BlacklistadminpanelAction extends AdminPanelAction { /** * title of the admin panel * * @return string title */ function title() { // TRANS: Title of blacklist plugin administration panel. return _m('TITLE','Blacklist'); } /** * Panel instructions * * @return string instructions */ function getInstructions() { // TRANS: Instructions for blacklist plugin administration panel. return _m('Blacklisted URLs and nicknames'); } /** * Show the actual form * * @return void * * @see BlacklistAdminPanelForm */ function showForm() { $form = new BlacklistAdminPanelForm($this); $form->show(); return; } /** * Save the form settings * * @return void */ function saveSettings() { $nickPatterns = $this->splitPatterns($this->trimmed('blacklist-nicknames')); Nickname_blacklist::saveNew($nickPatterns); $urlPatterns = $this->splitPatterns($this->trimmed('blacklist-urls')); Homepage_blacklist::saveNew($urlPatterns); return; } protected function splitPatterns($text) { $patterns = array(); foreach (explode("\n", $text) as $raw) { $trimmed = trim($raw); if ($trimmed != '') { $patterns[] = $trimmed; } } return $patterns; } /** * Validate the values * * @param array &$values 2d array of values to check * * @return boolean success flag */ function validate(&$values) { return true; } }