Making WordPress.org


Ignore:
Timestamp:
04/30/2017 04:20:16 PM (8 years ago)
Author:
ocean90
Message:

Plugin Directory: Restore Slack notifications for i18n imports.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/clients/class-slack.php

    r4223 r5446  
    2121     * @var array
    2222     */
    23     private $attachment = array();
     23    private $attachment = [];
    2424
    2525    /**
     
    2828     * @var array
    2929     */
    30     private $text = array();
     30    private $text = [];
     31
     32    /**
     33     * Holds Emoji codes for success.
     34     *
     35     * @var array
     36     */
     37    private $success_emoji = [
     38        ':green_heart:', ':white_check_mark:', ':smiley:', ':ok: ',
     39    ];
     40
     41    /**
     42     * Holds Emoji codes for failure.
     43     *
     44     * @var array
     45     */
     46    private $failure_emoji = [
     47        ':broken_heart:', ':umbrella_with_rain_drops:', ':cry:', ':sos:',
     48    ];
    3149
    3250    /**
     
    6381     *
    6482     * @param string $key   Key of the attachment property.
    65      * @param string $value Value of the attachment property.
     83     * @param mixed $value Value of the attachment property.
    6684     */
    6785    public function add_attachment( $key, $value ) {
     
    98116
    99117    /**
     118     * Returns a random emoji for a failure message.
     119     *
     120     * @return string Emoji code.
     121     */
     122    public function get_failure_emoji() {
     123        $index = array_rand( $this->failure_emoji, 1 );
     124        return $this->failure_emoji[ $index ];
     125    }
     126
     127    /**
     128     * Returns a random emoji for a success message.
     129     *
     130     * @return string Emoji code.
     131     */
     132    public function get_success_emoji() {
     133        $index = array_rand( $this->success_emoji, 1 );
     134        return $this->success_emoji[ $index ];
     135    }
     136
     137    /**
    100138     * Publishes a Slack notifcation to a channel.
    101139     *
     
    105143    public function send( $channel ) {
    106144        $text = $this->get_text();
    107         if ( empty( $text ) ) {
    108             return false;
     145        if ( ! empty( $text ) ) {
     146            $this->add_attachment( 'text', $text );
    109147        }
    110148
    111         $this->add_attachment( 'text', $text );
    112         $this->add_attachment( 'mrkdwn_in', array( 'text' ) );
     149        $this->add_attachment( 'mrkdwn_in', [ 'text', 'fields' ] );
    113150
    114         $payload = array(
     151        $payload = [
    115152            'icon_emoji'  => ':wordpress:',
    116153            'username'    => 'Plugin Imports',
    117154            'channel'     => $channel,
    118155            'attachments' => $this->get_attachments(),
    119         );
     156        ];
    120157
    121158        $payload = json_encode( $payload );
    122159        $content = http_build_query( compact( 'payload' ) );
    123160
    124         $context = stream_context_create( array(
    125             'http' => array(
     161        $context = stream_context_create( [
     162            'http' => [
    126163                'method'  => 'POST',
    127164                'header'  => 'Content-Type: application/x-www-form-urlencoded' . PHP_EOL,
    128165                'content' => $content,
    129             ),
    130         ) );
     166            ],
     167        ] );
    131168
    132169        $this->flush();
     
    139176     */
    140177    public function flush() {
    141         $this->text       = array();
    142         $this->attachment = array();
     178        $this->text       = [];
     179        $this->attachment = [];
    143180    }
    144181}
Note: See TracChangeset for help on using the changeset viewer.