X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FUserFlag%2FUserFlagPlugin.php;h=75dcca4fcb3eaba46b953cca453a39f448c542a3;hb=22f02b35ad58030a093563a7df683962b4d165c5;hp=b4d48c74bcf49a471344dd9b23d2cbc8f2a2551f;hpb=6f9b90921188f477f8b8224c12d6ea7e8b3cc1d3;p=quix0rs-gnu-social.git diff --git a/plugins/UserFlag/UserFlagPlugin.php b/plugins/UserFlag/UserFlagPlugin.php index b4d48c74bc..75dcca4fcb 100644 --- a/plugins/UserFlag/UserFlagPlugin.php +++ b/plugins/UserFlag/UserFlagPlugin.php @@ -48,7 +48,16 @@ class UserFlagPlugin extends Plugin $schema = Schema::get(); // For storing user-submitted flags on profiles - $schema->ensureDataObject('User_flag_profile'); + + $schema->ensureTable('user_flag_profile', + array(new ColumnDef('profile_id', 'integer', null, + false, 'PRI'), + new ColumnDef('user_id', 'integer', null, + false, 'PRI'), + new ColumnDef('created', 'datetime', null, + false, 'MUL'), + new ColumnDef('cleared', 'datetime', null, + true, 'MUL'))); return true; } @@ -59,7 +68,7 @@ class UserFlagPlugin extends Plugin return true; } - function onRouterInitialized(&$m) { + function onRouterInitialized($m) { $m->connect('main/flag/profile', array('action' => 'flagprofile')); $m->connect('admin/profile/flag', array('action' => 'adminprofileflag')); return true; @@ -88,7 +97,7 @@ class UserFlagPlugin extends Plugin { $user = common_current_user(); - if (!empty($user)) { + if (!empty($user) && ($user->id != $profile->id)) { $action->elementStart('li', 'entity_flag'); @@ -113,9 +122,15 @@ class UserFlagPlugin extends Plugin if (!empty($user)) { - $form = new FlagProfileForm($item->action, $item->profile); + list($action, $args) = $item->action->returnToArgs(); + + $args['action'] = $action; + $form = new FlagProfileForm($item->action, $item->profile, $args); + + $item->action->elementStart('li', 'entity_flag'); $form->show(); + $item->action->elementEnd('li'); } return true; @@ -123,20 +138,14 @@ class UserFlagPlugin extends Plugin function onEndShowStatusNetStyles($action) { - $action->elementStart('style', array('type' => 'text/css')); - $action->raw('.entity_flag input, .entity_flag p {'. - ' background:url('.common_path('plugins/UserFlag/flag.gif').') 5px 5px no-repeat;'. - ' }'); - $action->elementEnd('style'); - + $action->cssLink(common_path('plugins/UserFlag/userflag.css'), + null, 'screen, projection, tv'); return true; } function onEndShowScripts($action) { - $action->elementStart('script', array('type' => 'text/javascript')); - $action->raw('/**/'); - $action->elementEnd('script'); + $action->inlineScript('if ($(".form_entity_flag").length > 0) { SN.U.FormXHR($(".form_entity_flag")); }'); return true; } }