parent
							
								
									78708414f4
								
							
						
					
					
						commit
						0c97c218e6
					
				| @ -95,6 +95,26 @@ ark "antispam" do | ||||
|   action :dump | ||||
| end | ||||
| 
 | ||||
| # MediawikiHubot extension | ||||
| # requires curl extension | ||||
| package "php5-curl" | ||||
| 
 | ||||
| ark "MediawikiHubot" do | ||||
|   url "https://github.com/67P/mediawiki-hubot/archive/master.zip" | ||||
|   path "#{node['mediawiki']['webdir']}/extensions/MediawikiHubot" | ||||
|   creates "MediawikiHubot/MediawikiHubot.php" | ||||
|   action :cherry_pick | ||||
| end | ||||
| 
 | ||||
| hal8000_freenode_data_bag_item = Chef::EncryptedDataBagItem.load('credentials', 'hal8000_freenode') | ||||
| webhook_token = hal8000_freenode_data_bag_item['webhook_token'] | ||||
| 
 | ||||
| template "#{node['mediawiki']['webdir']}/extensions/MediawikiHubot/DefaultConfig.php" do | ||||
|   source "MediawikiHubot/DefaultConfig.php.erb" | ||||
|   variables webhook_url: "http://localhost:8080/incoming/#{webhook_token}", | ||||
|             room_name: "#kosmos" | ||||
| end | ||||
| 
 | ||||
| ruby_block "configuration" do | ||||
|   block do | ||||
|     file = Chef::Util::FileEdit.new("#{node['mediawiki']['webdir']}/LocalSettings.php") | ||||
| @ -136,6 +156,8 @@ $wgArticlePath = "/$1"; | ||||
|                                  "require_once \"$IP/extensions/Antispam/Antispam.php\";") | ||||
|     file.insert_line_if_no_match(/wgCTAccessKey/, | ||||
|                                  "$wgCTAccessKey = \"#{mediawiki_credentials['antispam_key']}\";") | ||||
|     file.insert_line_if_no_match(/MediawikiHubot\.php/, | ||||
|                                  "require_once \"$IP/extensions/MediawikiHubot/MediawikiHubot.php\";") | ||||
|     file.write_file | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -0,0 +1,57 @@ | ||||
| <?php | ||||
| /**#@+ | ||||
|  * This extension sends Webhook notifications to a hubot with the | ||||
|  * hubot-incoming-webhook plugin installed.  This file contains configuration | ||||
|  * options for the extension. | ||||
|  * | ||||
|  * @ingroup Extensions | ||||
|  * @link https://github.com/67P/mediawiki-hubot | ||||
|  * @author Sebastian Kippe <sebastian@kip.pe> | ||||
|  * @copyright Copyright © Sebastian Kippe | ||||
|  * @license http://en.wikipedia.org/wiki/MIT_License MIT | ||||
|  */ | ||||
| if(!defined('MEDIAWIKI')) die(); | ||||
| if (!isset($hpc_attached)) die(); | ||||
| ############################### | ||||
| # Hubot/Webhook configuration # | ||||
| ############################### | ||||
|   // Your Hubot incoming webhook URL. Learn more: https://github.com/67P/hubot-incoming-webhook | ||||
|   $wgHubotWebhookUrl = "<%= @webhook_url %>"; | ||||
|   // Room/channel to post notifications to | ||||
|   $wgHubotRoomName   = "<%= @room_name %>"; | ||||
|   // Method for sending hooks. Can be "curl" or "file_get_contents". Defaults to "curl" | ||||
|   // Note: "curl" needs the curl extension to be enabled. "file_get_contents" needs "allow_url_fopen" to be enabled in php.ini | ||||
|   $wgHubotSendMethod = "curl"; | ||||
| ################## | ||||
| # MEDIAWIKI URLS # | ||||
| ################## | ||||
|   // REQUIRED | ||||
|   // URL of your MediaWiki installation incl. the trailing /. | ||||
|   $wgWikiUrl       = ""; | ||||
|   // Wiki script name. Leave this to default one if you do not have URL rewriting enabled. | ||||
|   $wgWikiUrlEnding = "index.php?title="; | ||||
|   // OPTIONAL | ||||
|   $wgWikiUrlEndingUserRights        = "Special%3AUserRights&user="; | ||||
|   $wgWikiUrlEndingBlockUser         = "Special:Block/"; | ||||
|   $wgWikiUrlEndingUserPage          = "User:"; | ||||
|   $wgWikiUrlEndingUserTalkPage      = "User_talk:"; | ||||
|   $wgWikiUrlEndingUserContributions = "Special:Contributions/"; | ||||
|   $wgWikiUrlEndingBlockList         = "Special:BlockList"; | ||||
|   $wgWikiUrlEndingEditArticle       = "action=edit"; | ||||
|   $wgWikiUrlEndingDeleteArticle     = "action=delete"; | ||||
|   $wgWikiUrlEndingHistory           = "action=history"; | ||||
| ##################### | ||||
| # MEDIAWIKI ACTIONS # | ||||
| ##################### | ||||
| // Set desired options to false to disable notifications of those actions. | ||||
|   // New user added | ||||
|   $wgHubotNewUser = true; | ||||
|   // Article added | ||||
|   $wgHubotAddedArticle = true; | ||||
|   // Article removed | ||||
|   $wgHubotRemovedArticle = true; | ||||
|   // Article moved to another title | ||||
|   $wgHubotMovedArticle = true; | ||||
|   // Article edited | ||||
|   $wgHubotEditedArticle = true; | ||||
| ?> | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user