From 55c7c943e7ac8fc7b89bea1a325087059903fbba Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sat, 7 Nov 2009 13:10:22 -0500 Subject: [PATCH] Simply flag a profile for review 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 | 53 -------------- plugins/UserFlag/Profile_flag.php | 55 --------------- plugins/UserFlag/UserFlagPlugin.php | 33 +-------- plugins/UserFlag/User_flag_notice.php | 60 ---------------- plugins/UserFlag/User_flag_profile.php | 8 +-- plugins/UserFlag/adminnoticeflag.php | 88 ----------------------- plugins/UserFlag/flagnotice.php | 97 -------------------------- plugins/UserFlag/flagprofileform.php | 4 +- 8 files changed, 8 insertions(+), 390 deletions(-) delete mode 100644 plugins/UserFlag/Notice_flag.php delete mode 100644 plugins/UserFlag/Profile_flag.php delete mode 100644 plugins/UserFlag/User_flag_notice.php delete mode 100644 plugins/UserFlag/adminnoticeflag.php delete mode 100644 plugins/UserFlag/flagnotice.php diff --git a/plugins/UserFlag/Notice_flag.php b/plugins/UserFlag/Notice_flag.php deleted file mode 100644 index 14e3b84028..0000000000 --- a/plugins/UserFlag/Notice_flag.php +++ /dev/null @@ -1,53 +0,0 @@ -. - */ - -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 index 812d11d514..0000000000 --- a/plugins/UserFlag/Profile_flag.php +++ /dev/null @@ -1,55 +0,0 @@ -. - */ - -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'); - } -} diff --git a/plugins/UserFlag/UserFlagPlugin.php b/plugins/UserFlag/UserFlagPlugin.php index fc56249e6f..06c1e75c58 100644 --- a/plugins/UserFlag/UserFlagPlugin.php +++ b/plugins/UserFlag/UserFlagPlugin.php @@ -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 index dc08702c44..0000000000 --- a/plugins/UserFlag/User_flag_notice.php +++ /dev/null @@ -1,60 +0,0 @@ -. - */ - -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); - } -} diff --git a/plugins/UserFlag/User_flag_profile.php b/plugins/UserFlag/User_flag_profile.php index 895da53239..d32886872a 100644 --- a/plugins/UserFlag/User_flag_profile.php +++ b/plugins/UserFlag/User_flag_profile.php @@ -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 index 002368999b..0000000000 --- a/plugins/UserFlag/adminnoticeflag.php +++ /dev/null @@ -1,88 +0,0 @@ - - * @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 . - */ - -if (!defined('STATUSNET')) { - exit(1); -} - -/** - * Show the latest and greatest notice flags - * - * @category Action - * @package StatusNet - * @author Evan Prodromou - * @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 index b33cb20360..0000000000 --- a/plugins/UserFlag/flagnotice.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @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 . - */ - -if (!defined('STATUSNET')) { - exit(1); -} - -/** - * Action to flag a notice. - * - * @category Action - * @package StatusNet - * @author Evan Prodromou - * @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() - { - } -} - diff --git a/plugins/UserFlag/flagprofileform.php b/plugins/UserFlag/flagprofileform.php index 3f4834aac5..0811dbb9d0 100644 --- a/plugins/UserFlag/flagprofileform.php +++ b/plugins/UserFlag/flagprofileform.php @@ -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')); } }