]> git.mxchange.org Git - friendica-addons.git/blob - superblock/superblock.php
420db76c691b3e5ec7a0f6ffae45738c791db835
[friendica-addons.git] / superblock / superblock.php
1 <?php
2
3
4 /**
5  * Name: superblock
6  * Description: block people
7  * Version: 1.0
8  * Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
9  * 
10  */
11
12 function superblock_install() {
13
14         register_hook('plugin_settings', 'addon/superblock/superblock.php', 'superblock_addon_settings');
15         register_hook('plugin_settings_post', 'addon/superblock/superblock.php', 'superblock_addon_settings_post');
16         register_hook('conversation_start', 'addon/superblock/superblock.php', 'superblock_conversation_start');
17         register_hook('item_photo_menu', 'addon/superblock/superblock.php', 'superblock_item_photo_menu');
18 }
19
20
21 function superblock_uninstall() {
22
23         unregister_hook('plugin_settings', 'addon/superblock/superblock.php', 'superblock_addon_settings');
24         unregister_hook('plugin_settings_post', 'addon/superblock/superblock.php', 'superblock_addon_settings_post');
25         unregister_hook('conversation_start', 'addon/superblock/superblock.php', 'superblock_conversation_start');
26         unregister_hook('item_photo_menu', 'addon/superblock/superblock.php', 'superblock_item_photo_menu');
27
28 }
29
30
31
32
33
34 function superblock_addon_settings(&$a,&$s) {
35
36         if(! local_user())
37                 return;
38
39     /* Add our stylesheet to the page so we can make our settings look nice */
40
41     $a->page['htmlhead'] .= '<link rel="stylesheet"  type="text/css" href="' . $a->get_baseurl() . '/addon/superblock/superblock.css' . '" media="all" />' . "\r\n";
42
43
44         $words = get_pconfig(local_user(),'system','blocked');
45         if(! $words)
46                 $words = '';
47
48     $s .= '<div class="settings-block">';
49     $s .= '<h3>' . t('"Superblock" Settings') . '</h3>';
50     $s .= '<div id="superblock-wrapper">';
51     $s .= '<label id="superblock-label" for="superblock-words">' . t('Comma separated profile URLS to block') . ' </label>';
52     $s .= '<textarea id="superblock-words" type="text" name="superblock-words" >' . htmlspecialchars($words) . '</textarea>';
53     $s .= '</div><div class="clear"></div>';
54
55     $s .= '<div class="settings-submit-wrapper" ><input type="submit" id="superblock-submit" name="superblock-submit" class="settings-submit" value="' . t('Submit') . '" /></div></div>';
56
57         return;
58
59 }
60
61 function superblock_addon_settings_post(&$a,&$b) {
62
63         if(! local_user())
64                 return;
65
66         if($_POST['superblock-submit']) {
67                 set_pconfig(local_user(),'system','blocked',trim($_POST['superblock-words']));
68                 info( t('SUPERBLOCK Settings saved.') . EOL);
69         }
70 }
71
72 function superblock_conversation_start(&$a,&$b) {
73
74         if(! local_user())
75                 return;
76
77         $words = get_pconfig(local_user(),'system','blocked');
78         if($words) {
79                 $a->data['superblock'] = explode(',',$words);
80         }
81         $a->page['htmlhead'] .= <<< EOT
82
83 <script>
84 function superblockBlock(author) {
85         $.get('superblock?block=' +author, function(data) {
86                 location.reload(true);
87         });
88 }
89 </script>
90
91 EOT;
92
93 }
94
95 function superblock_item_photo_menu(&$a,&$b) {
96
97         if((! local_user()) || ($b['item']['self']))
98                 return;
99
100         $blocked = false;
101         $author = $b['item']['author-link'];
102         if(is_array($a->data['superblock'])) {
103                 foreach($a->data['superblock'] as $bloke) {
104                         if(link_compare($bloke,$author)) {
105                                 $blocked = true;
106                                 break;
107                         }
108                 }
109         }
110
111         $b['menu'][ t('Block Completely')] = 'javascript:superblockBlock(\'' . $author . '\'); return false;';
112 }
113
114 function superblock_module() {}
115
116
117 function superblock_init(&$a) {
118
119         if(! local_user())
120                 return;
121
122         $words = get_pconfig(local_user(),'system','blocked');
123
124         if(array_key_exists('block',$_GET) && $_GET['block']) {
125                 if(strlen($words))
126                         $words .= ',';
127                 $words .= trim($_GET['block']);
128         }
129
130         set_pconfig(local_user(),'system','blocked',$words);
131         info( t('superblock settings updated') . EOL );
132         killme();
133 }