Commit graph

10 commits

Author SHA1 Message Date
Fomafix
110a5877e9 Use [...] instead of array(...) in PHP comments and documentation
Change-Id: I0c83783051bf35fe785bc01644eeb2946902b6b2
2019-06-17 21:15:09 +02:00
Derick Alangi
82d4947fcb rcfeed: Avoid extending/inheriting from a deprecated class
Also, fix if...else syntax with return statement in the if block.

Change-Id: If14f0835731f264622cf90fcfd5c7cc850f63050
2019-03-25 14:27:22 +01:00
jenkins-bot
03cd9495a4 Merge "Fix a few minor mistakes in PHPDoc tags" 2017-09-15 19:18:17 +00:00
Thiemo Mättig
7301b2514e Fix a few minor mistakes in PHPDoc tags
Change-Id: I2d5f876c9945ba21f8748562230170e3c7ea2ff2
2017-09-15 11:17:17 +02:00
Umherirrender
f739a8f368 Improve some parameter docs
Add missing @return and @param to function docs and fixed some @param

Change-Id: I810727961057cfdcc274428b239af5975c57468d
2017-09-10 20:32:31 +02:00
Timo Tijhof
c689fd2e4c doc: Fix a few Example docs for PHP classes
* "@example" is specifically for creating entries on the "Examples"
  page produced by Doxygen, which is not specific to individual classes
  or methods, but rather is meant to be about the software as a whole.
  There are currently four entries produced there, and they are all broken:
  - .../src/includes/rcfeed/RedisPubSubFeedEngine.php (unnamed example, broken)
  - .../src/tests/phpunit/MediaWikiTestCase.php (unnamed example)
  - 42 (empty page named "42")
  - user (empty page named "user")

* Remove usage and replace with either a regular paragraph that is
  part of the member/method/class description, or for code examples,
  use "@par" to create a sub heading, and then a @code-@endcode block.

Change-Id: I52c937fef4b377173f6c4dbad9dc4a9f8beae4ee
2017-07-17 20:29:58 -05:00
Timo Tijhof
39a6e3dc4d Refactor RCFeed configuration (backwards compatible)
Previously:
* Engines had to be registered in $wgRCEngines.
* The RCFeedEngine classes took no constructor arguments and
  were expected to send whatever text is previously formatted
  without any information about it. This generic design was
  flexible in allowing one to use any formatter with any engine
  with minimal configuration and no need for additional classes.
* Each feed configured their destination by setting a 'uri'
  option that encodes the name of the engine in PHP as the uri
  scheme. Other uri components had to be used for any other
  parameters to the engine (host, port, path). While fairly
  limited, it was sufficient for the default engines in core.

Changes:
* Allow feed classes to be directly associated with a feed in $wgRCFeeds
  via a new 'class' option - without the indirection of 'uri' and
  $wgRCEngines. All options are passed to the given class constructor.
  This matches the design used elsewhere in MediaWiki. (ObjectCache,
  FileRepo, FileBackend, JobQueue, LBFactory, etc.)

  This means we no longer enforce a 1:1 mapping of internet protocols
  to a specific feed engine, and it allows settings to be passed
  without being encoded as a URI neccecarily.

  Main use case for this refactor is EventBus (see I7edc4d57fa),

  Interestingly, this matches the (then incorrect) documentation
  written for $wgRCFeeds in 2961884b43 (which mentions an 'engine'
  property that would do the same thing).

* Move the default 'omit' filters and unrestricted 'formatter' handling
  to a new FormattedRCFeed class, which remains the default.

* Deprecate RecentChange::getEngine() in favour of RCFeed::factory().

* Document wgRCEngines as "@since 1.22". Follows 2961884b43, ffc71cb6af.

Change-Id: I8be497c623c5d928762e3d3406a388f4d91add9a
2017-02-01 04:23:38 +00:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
Kunal Mehta
a76af53600 Cleanup of includes/rcfeed
* Added license headers to everything
* Added @since tags for all classes
* Use wfParseUrl instead of parse_url
* Check for RedisConnectionPool::getConnection returning false

Change-Id: I7db808c0465bd869de3f2daa82444b5e3d1268c2
2014-01-04 21:12:03 -08:00
Ori Livneh
9590795b91 Add 'RedisPubSubFeedEngine' feed engine
This patch adds a class which implements the RCFeedEngine interface by
publishing recent change notifications to Redis. The class handles the
'redis://' URI scheme. Recent changes are PUBLISHed to the channel 'rc'; a
different channel name may be specified as a path component.

Change-Id: I846036c091c45059a8947245a1efe92c9800dcf4
2013-10-21 17:22:00 +00:00