Class kartik\social\GithubXPlugin

Inheritancekartik\social\GithubXPlugin » kartik\social\Widget » yii\base\Widget » yii\base\Component » yii\base\BaseObject
Implementsyii\base\Configurable, yii\base\ViewContextInterface
Available since version1.0

Widget to render various Github buttons. Based on the unofficial Github Buttons.

Usage: ` echo GithubXPlugin::widget([

'type' => GithubPlugin::WATCH,
'user' => 'GITHUB_USER',
'repo' => 'GITHUB_REPO',
'settings' => ['data-style'=>'mega']

]); `

See also https://github.com/ntkme/github-buttons.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$autoIdPrefix string The prefix to the automatically generated widget IDs. yii\base\Widget
$behaviors yii\base\Behavior[] List of behaviors attached to this component. yii\base\Component
$config string Name of the widget kartik\social\Widget
$content string The content to be embedded in between the plugin tag kartik\social\Widget
$counter integer A counter used to generate $id for widgets. yii\base\Widget
$dataApiPrefix string Text to be prefixed for the data api kartik\social\Widget
$defaultSetting array kartik\social\GithubXPlugin
$i18n array The the internalization configuration for this widget kartik\social\Widget
$id string|null ID of the widget. Note that the type of this property differs in getter and setter. See getId() and setId() for details. yii\base\Widget
$label string The button label to display. kartik\social\GithubXPlugin
$language string The language used in displaying content. kartik\social\Widget
$moduleName string The name of the module kartik\social\Widget
$noscript string Text to be displayed if browser does not support javascript. kartik\social\Widget
$noscriptOptions array HTML attributes for the noscript message container kartik\social\Widget
$options string The HTML attributes for the button kartik\social\GithubXPlugin
$repo string The Github repository name. kartik\social\GithubXPlugin
$settings array The social plugin settings. kartik\social\GithubXPlugin
$showCount boolean Whether to show the count. kartik\social\GithubXPlugin
$stack yii\base\Widget[] The widgets that are currently being rendered (not ended). yii\base\Widget
$tag string The tag for enclosing the plugin. kartik\social\Widget
$type string The type of button. kartik\social\GithubXPlugin
$user string The Github user name that owns the repo. kartik\social\GithubXPlugin
$view yii\web\View The view object that can be used to render views or view files. Note that the type of this property differs in getter and setter. See getView() and setView() for details. yii\base\Widget
$viewPath string The directory containing the view files for this widget. yii\base\Widget

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$validPlugins array The valid plugins kartik\social\GithubXPlugin

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__call() Calls the named method which is not a class method. yii\base\Component
__clone() This method is called after the object is created by cloning an existing one. yii\base\Component
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of a component property. yii\base\Component
__isset() Checks if a property is set, i.e. defined and not null. yii\base\Component
__set() Sets the value of a component property. yii\base\Component
__unset() Sets a component property to be null. yii\base\Component
afterRun() This method is invoked right after a widget is executed. yii\base\Widget
attachBehavior() Attaches a behavior to this component. yii\base\Component
attachBehaviors() Attaches a list of behaviors to the component. yii\base\Component
beforeRun() This method is invoked right before the widget is executed. yii\base\Widget
begin() Begins a widget. yii\base\Widget
behaviors() Returns a list of behaviors that this component should behave as. yii\base\Component
canGetProperty() Returns a value indicating whether a property can be read. yii\base\Component
canSetProperty() Returns a value indicating whether a property can be set. yii\base\Component
className() Returns the fully qualified name of this class. yii\base\BaseObject
detachBehavior() Detaches a behavior from the component. yii\base\Component
detachBehaviors() Detaches all behaviors from the component. yii\base\Component
end() Ends a widget. yii\base\Widget
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component. yii\base\Component
getBehavior() Returns the named behavior object. yii\base\Component
getBehaviors() Returns all behaviors attached to this component. yii\base\Component
getConfig() Gets configuration for a widget from the module kartik\social\Widget
getDefaultSetting() Gets the default button configurations settings kartik\social\GithubXPlugin
getId() Returns the ID of the widget. yii\base\Widget
getView() Returns the view object that can be used to render views or view files. yii\base\Widget
getViewPath() Returns the directory containing the view files for this widget. yii\base\Widget
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event. yii\base\Component
hasMethod() Returns a value indicating whether a method is defined. yii\base\Component
hasProperty() Returns a value indicating whether a property is defined for this component. yii\base\Component
init() Initialize the widget kartik\social\GithubXPlugin
off() Detaches an existing event handler from this component. yii\base\Component
on() Attaches an event handler to an event. yii\base\Component
render() Renders a view. yii\base\Widget
renderButton() Renders the button kartik\social\GithubXPlugin
renderFile() Renders a view file. yii\base\Widget
run() Executes the widget. kartik\social\GithubXPlugin
setConfig() Sets configuration for a widget based on the module level configuration kartik\social\Widget
setId() Sets the ID of the widget. yii\base\Widget
setView() Sets the view object to be used by this widget. yii\base\Widget
trigger() Triggers an event. yii\base\Component
widget() Creates a widget instance and runs it. yii\base\Widget

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
renderNoScript() Generates the noscript container kartik\social\Widget
renderPlugin() Generates the plugin markup kartik\social\Widget
setPluginOptions() Sets the options for the plugin kartik\social\Widget

Events

Hide inherited events

EventTypeDescriptionDefined By
EVENT_AFTER_RUN yii\base\WidgetEvent An event raised right after executing a widget. (available since version 2.0.11) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent An event raised right before executing a widget. (available since version 2.0.11) yii\base\Widget
EVENT_INIT yii\base\Event An event that is triggered when the widget is initialized via init(). (available since version 2.0.11) yii\base\Widget

Constants

Hide inherited constants

ConstantValueDescriptionDefined By
DOWNLOAD 'download' kartik\social\GithubXPlugin
FOLLOW 'follow' kartik\social\GithubXPlugin
FORK 'fork' kartik\social\GithubXPlugin
ISSUE 'issue' kartik\social\GithubXPlugin
STAR 'star' kartik\social\GithubXPlugin
WATCH 'watch' kartik\social\GithubXPlugin

Property Details

$defaultSetting public read-only property
$label public property

The button label to display. If not set it will be autogenerated based on the button type.

public string $label null
$options public property

The HTML attributes for the button

public string $options = []
$repo public property

The Github repository name. This is mandatory for all buttons except FOLLOW.

public string $repo null
$settings public property

The social plugin settings. The following attributes are recognized:

  • href: GitHub link for the button.
  • data-style: controls the size of the button one of default or mega.
  • data-icon: string, the octicon for the button. It will be autogenerated if not set. All available icons can be found at Octicons.
  • data-count-href: GitHub link for the count. It defaults to href value (generated from repo and user name). Relative url will be relative to href value. It will be autogenerated if not set.
  • data-count-api: string, GitHub API endpoint for the count. It will be autogenerated if not set.
public array $settings = []
$showCount public property

Whether to show the count. Defaults to true.

public boolean $showCount true
$type public property

The type of button. One of 'watch', 'fork', 'follow'. This is mandatory.

public string $type null
$user public property

The Github user name that owns the repo. This is mandatory.

public string $user null
$validPlugins protected property

The valid plugins

protected array $validPlugins = [
    self::WATCH,
    
self::STAR,
    
self::FORK,
    
self::ISSUE,
    
self::DOWNLOAD,
    
self::FOLLOW
]

Method Details

getDefaultSetting() public method

Gets the default button configurations settings

public array getDefaultSetting ( )
init() public method

Initialize the widget

public void init ( )
throws yii\base\InvalidConfigException
renderButton() public method

Renders the button

public string renderButton ( )
run() public method

Executes the widget.

public string|void run ( )
return string|void

The rendering result may be directly "echoed" or returned as a string