]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Simply flag a profile for review
authorEvan Prodromou <evan@status.net>
Sat, 7 Nov 2009 18:10:22 +0000 (13:10 -0500)
committerEvan Prodromou <evan@status.net>
Sat, 7 Nov 2009 18:10:22 +0000 (13:10 -0500)
Instead of trying to have lots of different flags on different
objects, cut to the core of this functionality: flag a profile for
moderator review.

plugins/UserFlag/Notice_flag.php [deleted file]
plugins/UserFlag/Profile_flag.php [deleted file]
plugins/UserFlag/UserFlagPlugin.php
plugins/UserFlag/User_flag_notice.php [deleted file]
plugins/UserFlag/User_flag_profile.php
plugins/UserFlag/adminnoticeflag.php [deleted file]
plugins/UserFlag/flagnotice.php [deleted file]
plugins/UserFlag/flagprofileform.php

diff --git a/plugins/UserFlag/Notice_flag.php b/plugins/UserFlag/Notice_flag.php
deleted file mode 100644 (file)
index 14e3b84..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.     See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET')) {
-    exit(1);
-}
-
-require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
-
-class Notice_flag extends Memcached_DataObject
-{
-    ###START_AUTOCODE
-    /* the code below is auto generated do not remove the above tag */
-
-    public $__table = 'notice_flag';                     // table name
-    public $flag;                            // varchar(8)  primary_key not_null
-    public $display;                         // varchar(255)
-    public $created;                         // datetime   not_null default_0000-00-00%2000%3A00%3A00
-
-    /* Static get */
-    function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Notice_flag',$k,$v); }
-
-    /* the code above is auto generated do not remove the tag below */
-    ###END_AUTOCODE
-
-    function table() {
-        return array(
-                     'flag'      => DB_DATAOBJECT_STR,
-                     'display'   => DB_DATAOBJECT_STR,
-                     'created'   => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
-                     );
-    }
-
-    function keys() {
-        return array('flag');
-    }
-}
diff --git a/plugins/UserFlag/Profile_flag.php b/plugins/UserFlag/Profile_flag.php
deleted file mode 100644 (file)
index 812d11d..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.     See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET')) {
-    exit(1);
-}
-
-require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
-
-class Profile_flag extends Memcached_DataObject
-{
-    ###START_AUTOCODE
-    /* the code below is auto generated do not remove the above tag */
-
-    public $__table = 'profile_flag';                    // table name
-    public $flag;                            // varchar(8)  primary_key not_null
-    public $display;                         // varchar(255)
-    public $created;                         // datetime   not_null default_0000-00-00%2000%3A00%3A00
-
-    /* Static get */
-    function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Profile_flag',$k,$v); }
-
-    /* the code above is auto generated do not remove the tag below */
-    ###END_AUTOCODE
-
-    const DEFAULTFLAG = 'review'; // default flag
-
-    function table() {
-        return array(
-                     'flag'      => DB_DATAOBJECT_STR,
-                     'display'   => DB_DATAOBJECT_STR,
-                     'created'   => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
-                     );
-    }
-
-    function keys() {
-        return array('flag');
-    }
-}
index fc56249e6f321e85a772c3f709c1fc99b5cc90c7..06c1e75c589f361a7861f110c273b3934db2ca0c 100644 (file)
@@ -47,22 +47,6 @@ class UserFlagPlugin extends Plugin
     {
         $schema = Schema::get();
 
-        // For storing user-submitted flags on notices
-
-        $schema->ensureTable('user_flag_notice',
-                             array(new ColumnDef('notice_id', 'integer', null, null, 'PRI'),
-                                   new ColumnDef('user_id', 'integer', null, null, 'PRI'),
-                                   new ColumnDef('flag', 'varchar', '8'),
-                                   new ColumnDef('created', 'datetime', null,
-                                                 null, 'MUL')));
-
-        // Allowable values for user_flag_notice
-
-        $schema->ensureTable('notice_flag',
-                             array(new ColumnDef('flag', 'varchar', '8', null, 'PRI'),
-                                   new ColumnDef('display', 'varchar', '255'),
-                                   new ColumnDef('created', 'datetime', null, null, 'MUL')));
-
         // For storing user-submitted flags on profiles
 
         $schema->ensureTable('user_flag_profile',
@@ -70,17 +54,11 @@ class UserFlagPlugin extends Plugin
                                                  null, 'PRI'),
                                    new ColumnDef('user_id', 'integer', null,
                                                  null, 'PRI'),
-                                   new ColumnDef('flag', 'varchar', '8'),
                                    new ColumnDef('created', 'datetime', null,
+                                                 null, 'MUL'),
+                                   new ColumnDef('cleared', 'datetime', null,
                                                  null, 'MUL')));
 
-        // Allowable values for user_flag_notice
-
-        $schema->ensureTable('profile_flag',
-                             array(new ColumnDef('flag', 'varchar', '8', null, 'PRI'),
-                                   new ColumnDef('display', 'varchar', '255'),
-                                   new ColumnDef('created', 'datetime', null,
-                                                 null, 'MUL')));
         return true;
     }
 
@@ -91,9 +69,7 @@ class UserFlagPlugin extends Plugin
     }
 
     function onRouterInitialized(&$m) {
-        $m->connect('main/flag/notice', array('action' => 'flagnotice'));
         $m->connect('main/flag/profile', array('action' => 'flagprofile'));
-        $m->connect('admin/notice/flag', array('action' => 'adminnoticeflag'));
         $m->connect('admin/profile/flag', array('action' => 'adminprofileflag'));
         return true;
     }
@@ -102,19 +78,14 @@ class UserFlagPlugin extends Plugin
     {
         switch ($cls)
         {
-        case 'FlagnoticeAction':
         case 'FlagprofileAction':
-        case 'AdminnoticeflagAction':
         case 'AdminprofileflagAction':
             require_once(INSTALLDIR.'/plugins/UserFlag/' . strtolower(mb_substr($cls, 0, -6)) . '.php');
             return false;
         case 'FlagProfileForm':
             require_once(INSTALLDIR.'/plugins/UserFlag/' . strtolower($cls . '.php'));
             return false;
-        case 'User_flag_notice':
-        case 'Notice_flag':
         case 'User_flag_profile':
-        case 'Profile_flag':
             require_once(INSTALLDIR.'/plugins/UserFlag/'.$cls.'.php');
             return false;
         default:
diff --git a/plugins/UserFlag/User_flag_notice.php b/plugins/UserFlag/User_flag_notice.php
deleted file mode 100644 (file)
index dc08702..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.     See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET')) {
-    exit(1);
-}
-
-require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
-
-class User_flag_notice extends Memcached_DataObject
-{
-    ###START_AUTOCODE
-    /* the code below is auto generated do not remove the above tag */
-
-    public $__table = 'user_flag_notice';                // table name
-    public $notice_id;                       // int(4)  primary_key not_null
-    public $user_id;                         // int(4)  primary_key not_null
-    public $flag;                            // varchar(8)
-    public $created;                         // datetime   not_null default_0000-00-00%2000%3A00%3A00
-
-    /* Static get */
-    function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_flag_notice',$k,$v); }
-
-    /* the code above is auto generated do not remove the tag below */
-    ###END_AUTOCODE
-
-    function table() {
-        return array(
-                     'notice_id' => DB_DATAOBJECT_INT,
-                     'user_id'   => DB_DATAOBJECT_INT,
-                     'flag'      => DB_DATAOBJECT_STR,
-                     'created'   => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
-                     );
-    }
-
-    function keys() {
-        return array('notice_id', 'user_id');
-    }
-
-    function &pkeyGet($kv)
-    {
-        return Memcached_DataObject::pkeyGet('User_flag_notice', $kv);
-    }
-}
index 895da532392446bc5fc57a9d892e8e29962d80b0..d32886872a21fc51ef174790ced4b78cc9a993a9 100644 (file)
@@ -31,8 +31,8 @@ class User_flag_profile extends Memcached_DataObject
     public $__table = 'user_flag_profile';               // table name
     public $profile_id;                      // int(4)  primary_key not_null
     public $user_id;                         // int(4)  primary_key not_null
-    public $flag;                            // varchar(8)
     public $created;                         // datetime   not_null default_0000-00-00%2000%3A00%3A00
+    public $cleared;                         // datetime   not_null default_0000-00-00%2000%3A00%3A00
 
     /* Static get */
     function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_flag_profile',$k,$v); }
@@ -44,8 +44,8 @@ class User_flag_profile extends Memcached_DataObject
         return array(
                      'profile_id' => DB_DATAOBJECT_INT,
                      'user_id'    => DB_DATAOBJECT_INT,
-                     'flag'       => DB_DATAOBJECT_STR,
-                     'created'    => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
+                     'created'    => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
+                     'cleared'    => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
                      );
     }
 
@@ -58,7 +58,7 @@ class User_flag_profile extends Memcached_DataObject
         return Memcached_DataObject::pkeyGet('User_flag_profile', $kv);
     }
 
-    static function exists($profile_id, $user_id, $flag)
+    static function exists($profile_id, $user_id)
     {
         $ufp = User_flag_profile::pkeyGet(array('profile_id' => $profile_id,
                                                 'user_id' => $user_id));
diff --git a/plugins/UserFlag/adminnoticeflag.php b/plugins/UserFlag/adminnoticeflag.php
deleted file mode 100644 (file)
index 0023689..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * Show latest and greatest notice flags
- *
- * PHP version 5
- *
- * @category Action
- * @package  StatusNet
- * @author   Evan Prodromou <evan@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
- * @link     http://status.net/
- *
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET')) {
-    exit(1);
-}
-
-/**
- * Show the latest and greatest notice flags
- *
- * @category Action
- * @package  StatusNet
- * @author   Evan Prodromou <evan@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
- * @link     http://status.net/
- */
-
-class AdminnoticeflagAction extends Action
-{
-    /**
-     * Take arguments for running
-     *
-     * @param array $args $_REQUEST args
-     *
-     * @return boolean success flag
-     */
-
-    function prepare($args)
-    {
-        return true;
-    }
-
-    /**
-     * Handle request
-     *
-     * @param array $args $_REQUEST args; handled in prepare()
-     *
-     * @return void
-     */
-
-    function handle($args)
-    {
-        parent::handle($args);
-
-        $this->showPage();
-    }
-
-    function title() {
-        return _('Flagged notices');
-    }
-
-    /**
-     * save the notice flag
-     *
-     * @return void
-     */
-
-    function showContent()
-    {
-    }
-}
-
diff --git a/plugins/UserFlag/flagnotice.php b/plugins/UserFlag/flagnotice.php
deleted file mode 100644 (file)
index b33cb20..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-/**
- * Add a flag to a notice
- *
- * PHP version 5
- *
- * @category Action
- * @package  StatusNet
- * @author   Evan Prodromou <evan@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
- * @link     http://status.net/
- *
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('STATUSNET')) {
-    exit(1);
-}
-
-/**
- * Action to flag a notice.
- *
- * @category Action
- * @package  StatusNet
- * @author   Evan Prodromou <evan@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
- * @link     http://status.net/
- */
-
-class FlagnoticeAction extends Action
-{
-    var $notice = null;
-
-    /**
-     * Take arguments for running
-     *
-     * @param array $args $_REQUEST args
-     *
-     * @return boolean success flag
-     */
-
-    function prepare($args)
-    {
-        if ($_SERVER['REQUEST_METHOD'] != 'POST') {
-            throw new ClientException(_('Action only accepts POST'));
-        }
-
-        return true;
-    }
-
-    /**
-     * Handle request
-     *
-     * Shows a page with list of favorite notices
-     *
-     * @param array $args $_REQUEST args; handled in prepare()
-     *
-     * @return void
-     */
-
-    function handle($args)
-    {
-        parent::handle($args);
-
-        $this->flagNotice();
-        $this->returnTo();
-    }
-
-    function title() {
-        return _('Flag notice');
-    }
-
-    /**
-     * save the notice flag
-     *
-     * @return void
-     */
-
-    function flagNotice()
-    {
-    }
-}
-
index 3f4834aac56374a4cce190392ff69d54e0cf9057..0811dbb9d0a884098878a004b43ab151fa4bb12b 100644 (file)
@@ -115,7 +115,7 @@ class FlagProfileForm extends Form
      */
     function formLegend()
     {
-        $this->out->element('legend', null, _('Flag this profile'));
+        $this->out->element('legend', null, _('Flag profile for review'));
     }
 
     /**
@@ -147,6 +147,6 @@ class FlagProfileForm extends Form
 
     function formActions()
     {
-        $this->out->submit('submit', _('Flag'), 'submit', null, _('Flag this profile'));
+        $this->out->submit('submit', _('Flag'), 'submit', null, _('Flag profile for review'));
     }
 }