diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-12-06 20:45:21 -0800 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-12-06 20:45:21 -0800 |
commit | f7f0d2b265b764e1a7bb032473108ca2cfaeb4a5 (patch) | |
tree | ebedb98cfdc4c8bd5d8dffe9953280c338558db7 | |
parent | 2d799f2c114bbd540a6b2f260e512ad5fcf1db5c (diff) | |
download | volse-hubzilla-f7f0d2b265b764e1a7bb032473108ca2cfaeb4a5.tar.gz volse-hubzilla-f7f0d2b265b764e1a7bb032473108ca2cfaeb4a5.tar.bz2 volse-hubzilla-f7f0d2b265b764e1a7bb032473108ca2cfaeb4a5.zip |
provide plugin hooks for blacklist checking functions.
-rw-r--r-- | doc/hook/check_channelallowed.bb | 11 | ||||
-rw-r--r-- | doc/hook/check_siteallowed.bb | 10 | ||||
-rw-r--r-- | doc/hooklist.bb | 6 | ||||
-rw-r--r-- | include/network.php | 13 |
4 files changed, 40 insertions, 0 deletions
diff --git a/doc/hook/check_channelallowed.bb b/doc/hook/check_channelallowed.bb new file mode 100644 index 000000000..e7559c92f --- /dev/null +++ b/doc/hook/check_channelallowed.bb @@ -0,0 +1,11 @@ +[h2]check_channelallowed[/h2] + +Called when checking the channel (xchan) black and white lists to see if a channel is blocked. + +Hook data + + array('hash' => xchan_hash of xchan to check); + + create and set array element 'allowed' to true or false to override the system checks + + diff --git a/doc/hook/check_siteallowed.bb b/doc/hook/check_siteallowed.bb new file mode 100644 index 000000000..28134cbd2 --- /dev/null +++ b/doc/hook/check_siteallowed.bb @@ -0,0 +1,10 @@ +[h2]check_siteallowed[/h2] + +Called when checking the site black and white lists to see if a site is blocked. + +Hook data + + array('url' => URL of site to check); + + create and set array element 'allowed' to true or false to override the system checks + diff --git a/doc/hooklist.bb b/doc/hooklist.bb index 45a4861d9..9172628a0 100644 --- a/doc/hooklist.bb +++ b/doc/hooklist.bb @@ -82,6 +82,12 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the [zrl=[baseurl]/help/hook/check_account_password]check_account_password[/zrl] Used to provide policy control over account passwords (minimum length, character set inclusion, etc.) +[zrl=[baseurl]/help/hook/check_channelallowed]check_channelallowed[/zrl] + Used to over-ride or bypass the channel black/white block lists + +[zrl=[baseurl]/help/hook/check_siteallowed]check_siteallowed[/zrl] + Used to over-ride or bypass the site black/white block lists + [zrl=[baseurl]/help/hook/connect_premium]connect_premium[/zrl] Called when connecting to a premium channel diff --git a/include/network.php b/include/network.php index f386afc8e..5895d302b 100644 --- a/include/network.php +++ b/include/network.php @@ -1822,6 +1822,13 @@ function check_siteallowed($url) { $retvalue = true; + + $arr = array('url' => $url); + call_hooks('check_siteallowed',$arr); + + if(array_key_exists('allowed',$arr)) + return $arr['allowed']; + $bl1 = get_config('system','whitelisted_sites'); if(is_array($bl1) && $bl1) { foreach($bl1 as $bl) { @@ -1848,6 +1855,12 @@ function check_channelallowed($hash) { $retvalue = true; + $arr = array('hash' => $hash); + call_hooks('check_channelallowed',$arr); + + if(array_key_exists('allowed',$arr)) + return $arr['allowed']; + $bl1 = get_config('system','whitelisted_channels'); if(is_array($bl1) && $bl1) { foreach($bl1 as $bl) { |