/**
  * Add 'Quote' option to Discussion.
  */
 public function base_AfterFlag_handler($Sender, $Args)
 {
     echo Gdn_Theme::BulletItem('Flags');
     $this->addQuoteButton($Sender, $Args);
 }
예제 #2
0
 /**
  * Output Quote link.
  */
 protected function addQuoteButton($Sender, $Args)
 {
     if (!Gdn::session()->UserID) {
         return;
     }
     if (isset($Args['Comment'])) {
         $Object = $Args['Comment'];
         $ObjectID = 'Comment_' . $Args['Comment']->CommentID;
     } elseif (isset($Args['Discussion'])) {
         $Object = $Args['Discussion'];
         $ObjectID = 'Discussion_' . $Args['Discussion']->DiscussionID;
     } else {
         return;
     }
     echo Gdn_Theme::BulletItem('Flags');
     echo anchor(sprite('ReactQuote', 'ReactSprite') . ' ' . t('Quote'), url("post/quote/{$Object->DiscussionID}/{$ObjectID}", true), 'ReactButton Quote Visible') . ' ';
 }
예제 #3
0
 /**
  * Add 'Twitter' option to the row.
  */
 public function Base_AfterReactions_Handler($Sender, $Args)
 {
     if (!$this->SocialReactions()) {
         return;
     }
     echo Gdn_Theme::BulletItem('Share');
     $this->AddReactButton($Sender, $Args);
 }
예제 #4
0
 function writeReactions($Row)
 {
     $Attributes = GetValue('Attributes', $Row);
     if (is_string($Attributes)) {
         $Attributes = @unserialize($Attributes);
         SetValue('Attributes', $Row, $Attributes);
     }
     Gdn::Controller()->EventArguments['ReactionTypes'] = array();
     if ($ID = GetValue('CommentID', $Row)) {
         $RecordType = 'comment';
     } elseif ($ID = GetValue('ActivityID', $Row)) {
         $RecordType = 'activity';
     } else {
         $RecordType = 'discussion';
         $ID = GetValue('DiscussionID', $Row);
     }
     Gdn::Controller()->EventArguments['RecordType'] = $RecordType;
     Gdn::Controller()->EventArguments['RecordID'] = $ID;
     echo '<div class="Reactions">';
     Gdn_Theme::BulletRow();
     // Write the flags.
     static $Flags = null;
     if ($Flags === null) {
         Gdn::Controller()->EventArguments['Flags'] =& $Flags;
         Gdn::Controller()->FireEvent('Flags');
     }
     // Allow addons to work with flags
     Gdn::Controller()->EventArguments['Flags'] =& $Flags;
     Gdn::Controller()->FireEvent('BeforeFlag');
     if (!empty($Flags) && is_array($Flags)) {
         echo Gdn_Theme::BulletItem('Flags');
         echo ' <span class="FlagMenu ToggleFlyout">';
         // Write the handle.
         echo Anchor(Sprite('ReactFlag', 'ReactSprite') . ' ' . Wrap(T('Flag'), 'span', array('class' => 'ReactLabel')), '', 'Hijack ReactButton-Flag FlyoutButton', array('title' => 'Flag'), true);
         echo Sprite('SpFlyoutHandle', 'Arrow');
         echo '<ul class="Flyout MenuItems Flags" style="display: none;">';
         foreach ($Flags as $Flag) {
             if (is_callable($Flag)) {
                 echo '<li>' . call_user_func($Flag, $Row, $RecordType, $ID) . '</li>';
             } else {
                 echo '<li>' . ReactionButton($Row, $Flag['UrlCode']) . '</li>';
             }
         }
         Gdn::Controller()->FireEvent('AfterFlagOptions');
         echo '</ul>';
         echo '</span> ';
     }
     Gdn::Controller()->FireEvent('AfterFlag');
     Gdn::Controller()->FireEvent('AfterReactions');
     echo '</div>';
     Gdn::Controller()->FireEvent('Replies');
 }
예제 #5
0
파일: user.php 프로젝트: korelstar/vanilla
<?php

if (!defined('APPLICATION')) {
    exit;
}
$Session = Gdn::session();
?>
<div class="User" itemscope itemtype="http://schema.org/Person">
    <h1 class="H"><?php 
echo htmlspecialchars($this->User->Name);
echo '<span class="Gloss">';
Gdn_Theme::BulletRow();
if ($this->User->Title) {
    echo Gdn_Theme::BulletItem('Title');
    echo ' ' . Bullet() . ' ' . Wrap(htmlspecialchars($this->User->Title), 'span', array('class' => 'User-Title'));
}
$this->fireEvent('UsernameMeta');
echo '</span>';
?>
</h1>
    <?php 
if ($this->User->Admin == 2) {
    echo '<div class="DismissMessage InfoMessage">', t('This is a system account and does not represent a real person.'), '</div>';
}
if ($this->User->About != '') {
    echo '<div id="Status" itemprop="description">' . Wrap(Gdn_Format::Display($this->User->About));
    if ($this->User->About != '' && ($Session->UserID == $this->User->UserID || $Session->checkPermission('Garden.Users.Edit'))) {
        echo ' - ' . anchor(t('clear'), '/profile/clear/' . $this->User->UserID, 'Hijack');
    }
    echo '</div>';
}
예제 #6
0
 function WriteReactions($Row)
 {
     list($RecordType, $RecordID) = RecordType($Row);
     Gdn::Controller()->EventArguments['RecordType'] = strtolower($RecordType);
     Gdn::Controller()->EventArguments['RecordID'] = $RecordID;
     echo '<div class="Reactions">';
     Gdn_Theme::BulletRow();
     // Write the flags.
     static $Flags = NULL;
     // Allow addons to work with flags menu
     Gdn::Controller()->EventArguments['Flags'] =& $Flags;
     Gdn::Controller()->FireEvent('BeforeFlag');
     if (!empty($Flags)) {
         echo Gdn_Theme::BulletItem('Flags');
         echo ' <span class="FlagMenu ToggleFlyout">';
         // Write the handle.
         echo Anchor(Sprite('ReactFlag', 'ReactSprite') . ' ' . Wrap(T('Flag'), 'span', array('class' => 'ReactLabel')), '', 'Hijack ReactButton-Flag FlyoutButton', array('title' => 'Flag'), TRUE);
         echo Sprite('SpFlyoutHandle', 'Arrow');
         echo '<ul class="Flyout MenuItems Flags" style="display: none;">';
         Gdn::Controller()->FireEvent('AfterFlagOptions');
         echo '</ul>';
         echo '</span> ';
     }
     Gdn::Controller()->FireEvent('AfterFlag');
     Gdn::Controller()->FireEvent('AfterReactions');
     echo '</div>';
     Gdn::Controller()->FireEvent('Replies');
 }
예제 #7
0
 /**
  * Output Quote link.
  */
 protected function addQuoteButton($Sender, $Args)
 {
     if (!isset($Args['Discussion'])) {
         return;
     }
     $session = Gdn::session();
     if (!$session->UserID) {
         return;
     }
     if (!$session->checkPermission('Vanilla.Comments.Add', false, 'Category', $Args['Discussion']->PermissionCategoryID)) {
         return;
     }
     if (isset($Args['Comment'])) {
         $Object = $Args['Comment'];
         $ObjectID = 'Comment_' . $Args['Comment']->CommentID;
     } elseif (isset($Args['Discussion'])) {
         $Object = $Args['Discussion'];
         $ObjectID = 'Discussion_' . $Args['Discussion']->DiscussionID;
     } else {
         return;
     }
     echo Gdn_Theme::BulletItem('Flags');
     echo anchor(sprite('ReactQuote', 'ReactSprite') . ' ' . t('Quote'), url("post/quote/{$Object->DiscussionID}/{$ObjectID}", true), 'ReactButton Quote Visible') . ' ';
 }