]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Blacklist/blacklistadminpanel.php
Merge remote branch 'gitorious/0.9.x' into 0.9.x
[quix0rs-gnu-social.git] / plugins / Blacklist / blacklistadminpanel.php
index 98d07080db698920c4060778a5f6f7f17343f4f4..9019bb9ad27a05f809e9f1c86b055cfadf116c38 100644 (file)
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
  * @link     http://status.net/
  */
-
 class BlacklistadminpanelAction extends AdminPanelAction
 {
     /**
@@ -48,10 +47,9 @@ class BlacklistadminpanelAction extends AdminPanelAction
      *
      * @return string title
      */
-
     function title()
     {
-        return _('Blacklist');
+        return _m('Blacklist');
     }
 
     /**
@@ -59,10 +57,9 @@ class BlacklistadminpanelAction extends AdminPanelAction
      *
      * @return string instructions
      */
-
     function getInstructions()
     {
-        return _('Blacklisted URLs and nicknames');
+        return _m('Blacklisted URLs and nicknames');
     }
 
     /**
@@ -72,7 +69,6 @@ class BlacklistadminpanelAction extends AdminPanelAction
      *
      * @see BlacklistAdminPanelForm
      */
-
     function showForm()
     {
         $form = new BlacklistAdminPanelForm($this);
@@ -85,40 +81,27 @@ class BlacklistadminpanelAction extends AdminPanelAction
      *
      * @return void
      */
-
     function saveSettings()
     {
-        static $settings = array(
-                'blacklist' => array('nicknames', 'urls'),
-        );
-
-        $values = array();
-
-        foreach ($settings as $section => $parts) {
-            foreach ($parts as $setting) {
-                $values[$section][$setting] = $this->trimmed("$section-$setting");
-            }
-        }
-
-        // This throws an exception on validation errors
-
-        $this->validate($values);
+        $nickPatterns = $this->splitPatterns($this->trimmed('blacklist-nicknames'));
+        Nickname_blacklist::saveNew($nickPatterns);
 
-        // assert(all values are valid);
+        $urlPatterns = $this->splitPatterns($this->trimmed('blacklist-urls'));
+        Homepage_blacklist::saveNew($urlPatterns);
 
-        $config = new Config();
-
-        $config->query('BEGIN');
+        return;
+    }
 
-        foreach ($settings as $section => $parts) {
-            foreach ($parts as $setting) {
-                Config::save($section, $setting, $values[$section][$setting]);
+    protected function splitPatterns($text)
+    {
+        $patterns = array();
+        foreach (explode("\n", $text) as $raw) {
+            $trimmed = trim($raw);
+            if ($trimmed != '') {
+                $patterns[] = $trimmed;
             }
         }
-
-        $config->query('COMMIT');
-
-        return;
+        return $patterns;
     }
 
     /**
@@ -128,7 +111,6 @@ class BlacklistadminpanelAction extends AdminPanelAction
      *
      * @return boolean success flag
      */
-
     function validate(&$values)
     {
         return true;
@@ -144,7 +126,6 @@ class BlacklistadminpanelAction extends AdminPanelAction
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
  * @link     http://status.net/
  */
-
 class BlacklistAdminPanelForm extends Form
 {
     /**
@@ -152,7 +133,6 @@ class BlacklistAdminPanelForm extends Form
      *
      * @return string ID
      */
-
     function id()
     {
         return 'blacklistadminpanel';
@@ -163,7 +143,6 @@ class BlacklistAdminPanelForm extends Form
      *
      * @return string class
      */
-
     function formClass()
     {
         return 'form_settings';
@@ -174,7 +153,6 @@ class BlacklistAdminPanelForm extends Form
      *
      * @return string action URL
      */
-
     function action()
     {
         return common_local_url('blacklistadminpanel');
@@ -185,21 +163,25 @@ class BlacklistAdminPanelForm extends Form
      *
      * @return void
      */
-
     function formData()
     {
         $this->out->elementStart('ul', 'form_data');
 
         $this->out->elementStart('li');
+
+        $nickPatterns = Nickname_blacklist::getPatterns();
+
         $this->out->textarea('blacklist-nicknames', _m('Nicknames'),
-                             common_config('blacklist', 'nicknames'),
-                             _('Patterns of nicknames to block, one per line'));
+                             implode("\r\n", $nickPatterns),
+                             _m('Patterns of nicknames to block, one per line'));
         $this->out->elementEnd('li');
 
+        $urlPatterns = Homepage_blacklist::getPatterns();
+
         $this->out->elementStart('li');
         $this->out->textarea('blacklist-urls', _m('URLs'),
-                             common_config('blacklist', 'urls'),
-                             _('Patterns of URLs to block, one per line'));
+                             implode("\r\n", $urlPatterns),
+                             _m('Patterns of URLs to block, one per line'));
         $this->out->elementEnd('li');
 
         $this->out->elementEnd('ul');
@@ -210,13 +192,12 @@ class BlacklistAdminPanelForm extends Form
      *
      * @return void
      */
-
     function formActions()
     {
         $this->out->submit('submit',
-                           _('Save'),
+                           _m('Save'),
                            'submit',
                            null,
-                           _('Save site settings'));
+                           _m('Save site settings'));
     }
 }