Making WordPress.org

Changeset 6271


Ignore:
Timestamp:
12/14/2017 07:01:47 PM (7 years ago)
Author:
obenland
Message:

Themes: Conform to WPCS.

Updates Trac class with docs and formatting.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/theme-directory/lib/class-trac.php

    r4530 r6271  
    11<?php
     2/**
     3 * Class to interact with Trac's RPC API.
     4 *
     5 * @package WordPressdotorg\Theme_Directory
     6 */
     7
     8/**
     9 * Class Trac
     10 */
    211class Trac {
    3     var $rpc;
    4     const attributes = 3;
    512
    6     function __construct( $username, $password, $host, $path = '/', $port = 80, $ssl = FALSE ) {
    7         // Assume URL to $host, ignore $path, $port, $ssl
     13    /**
     14     * Attributes key in RPC response array.
     15     */
     16    const ATTRIBUTES = 3;
     17
     18    /**
     19     * Holds a reference to \WP_HTTP_IXR_Client.
     20     *
     21     * @var \WP_HTTP_IXR_Client
     22     */
     23    protected $rpc;
     24
     25    /**
     26     * Trac constructor.
     27     *
     28     * @param string $username Trac username.
     29     * @param string $password Trac password.
     30     * @param string $host     Server to use.
     31     * @param string $path     Path.
     32     * @param int    $port     Which port to use. Default: 80.
     33     * @param bool   $ssl      Whether to use SSL. Default: false.
     34     */
     35    public function __construct( $username, $password, $host, $path = '/', $port = 80, $ssl = false ) {
     36        // Assume URL to $host, ignore $path, $port, $ssl.
    837        $this->rpc = new WP_HTTP_IXR_Client( $host );
    938
    10         $http_basic_auth = 'Basic ';
     39        $http_basic_auth  = 'Basic ';
    1140        $http_basic_auth .= base64_encode( $username . ':' . $password );
    1241
     
    1443    }
    1544
    16     function ticket_create( $subj, $desc, $attr = array() ) {
    17         if ( empty( $attr ) )
     45    /**
     46     * Creates a new Trac ticket.
     47     *
     48     * @param string $subj Ticket subject line.
     49     * @param string $desc Ticket description.
     50     * @param array  $attr Ticket attributes. Default: Empty array.
     51     * @return bool|mixed
     52     */
     53    public function ticket_create( $subj, $desc, $attr = array() ) {
     54        if ( empty( $attr ) ) {
    1855            $attr = new IXR_Value( array(), 'struct' );
    19         $ok = $this->rpc->query( 'ticket.create', $subj, $desc, $attr );
    20         if ( !$ok ) {
    21             // print_r( $this->rpc );
    22             return FALSE;
    2356        }
    2457
    25         return $this->rpc->getResponse();
    26     }
    27 
    28     function ticket_update( $id, $comment, $attr = array(), $notify = false ) {
    29         if ( empty( $attr['_ts'] ) ) {
    30             $get = $this->ticket_get( $id );
    31             $attr['_ts'] = $get['_ts'];
    32         }
    33         if ( empty( $attr['action'] ) )
    34             $attr['action'] = 'leave';
    35 
    36         $ok = $this->rpc->query( 'ticket.update', $id, $comment, $attr, $notify );
    37         if ( ! $ok )
     58        $ok = $this->rpc->query( 'ticket.create', $subj, $desc, $attr );
     59        if ( ! $ok ) {
     60            // phpcs:ignore Squiz.PHP.CommentedOutCode.Found, Squiz.Commenting.InlineComment.InvalidEndChar
     61            // print_r( $this->rpc );
    3862            return false;
    39 
    40         return $this->rpc->getResponse();
    41     }
    42 
    43     function ticket_query( $search ) {
    44         $ok = $this->rpc->query( 'ticket.query', $search );
    45         if ( !$ok ) {
    46             return FALSE;
    4763        }
    4864
     
    5167
    5268    /**
     69     * Updates a Trac ticket.
     70     *
     71     * @param int    $id      Ticket number.
     72     * @param string $comment Comment.
     73     * @param array  $attr    Ticket attributes. Default: Empty array.
     74     * @param bool   $notify  Whether to notify. Default: false.
     75     * @return bool|mixed
     76     */
     77    public function ticket_update( $id, $comment, $attr = array(), $notify = false ) {
     78        if ( empty( $attr['_ts'] ) ) {
     79            $get         = $this->ticket_get( $id );
     80            $attr['_ts'] = $get['_ts'];
     81        }
     82        if ( empty( $attr['action'] ) ) {
     83            $attr['action'] = 'leave';
     84        }
     85
     86        $ok = $this->rpc->query( 'ticket.update', $id, $comment, $attr, $notify );
     87        if ( ! $ok ) {
     88            return false;
     89        }
     90
     91        return $this->rpc->getResponse();
     92    }
     93
     94    /**
     95     * Queries Trac tickets.
     96     *
     97     * @param string $search Trac search query.
     98     * @return bool|mixed
     99     */
     100    public function ticket_query( $search ) {
     101        $ok = $this->rpc->query( 'ticket.query', $search );
     102        if ( ! $ok ) {
     103            return false;
     104        }
     105
     106        return $this->rpc->getResponse();
     107    }
     108
     109    /**
     110     * Gets a specific Trac ticket.
     111     *
     112     * @param int $id Trac ticket id.
    53113     * @return [id, time_created, time_changed, attributes] or false on failure.
    54114     */
    55     function ticket_get( $id ) {
     115    public function ticket_get( $id ) {
    56116        $ok = $this->rpc->query( 'ticket.get', $id );
    57         if ( !$ok ) {
    58             return FALSE;
     117        if ( ! $ok ) {
     118            return false;
    59119        }
    60120
    61         $response = $this->rpc->getResponse();
     121        $response       = $this->rpc->getResponse();
    62122        $response['id'] = $response[0];
    63         foreach ( $response[ self::attributes ] as $key => $value ) {
     123        foreach ( $response[ self::ATTRIBUTES ] as $key => $value ) {
    64124            $response[ $key ] = $value;
    65125        }
     126
    66127        return $response;
    67128    }
    68129}
    69 
Note: See TracChangeset for help on using the changeset viewer.