diff options
author | sasiflo <redmatrixdev@sasiflo.de> | 2014-04-06 00:34:52 +0200 |
---|---|---|
committer | sasiflo <redmatrixdev@sasiflo.de> | 2014-04-06 00:34:52 +0200 |
commit | 9f54a8f96b7664c82ab9228608970a7ce6bd41a9 (patch) | |
tree | 1034e7a1909c76bff280055508638b820242c9e6 | |
parent | 8b0721cf3587a48653a126330217fb4bc32c9ffa (diff) | |
download | volse-hubzilla-9f54a8f96b7664c82ab9228608970a7ce6bd41a9.tar.gz volse-hubzilla-9f54a8f96b7664c82ab9228608970a7ce6bd41a9.tar.bz2 volse-hubzilla-9f54a8f96b7664c82ab9228608970a7ce6bd41a9.zip |
Hope I have repaired the channel admin page.
Channel blocking and deleting was copied from user actions. This was not
done to an end. Hope what I do is enough to enable channel blocking and
deleting the correct way.
On deletion all entities that belong to the channel are deleted. But the
channel itself is just marked as deleted. Do not really understand why
it is done this way.
-rw-r--r-- | include/Contact.php | 2 | ||||
-rw-r--r-- | mod/admin.php | 81 | ||||
-rw-r--r-- | view/de/messages.po | 2 | ||||
-rw-r--r-- | view/de/strings.php | 2 | ||||
-rwxr-xr-x | view/tpl/admin_channels.tpl | 26 |
5 files changed, 50 insertions, 63 deletions
diff --git a/include/Contact.php b/include/Contact.php index 9883c598d..540e1169d 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -263,7 +263,7 @@ function channel_remove($channel_id, $local = true) { q("DELETE FROM `event` WHERE `uid` = %d", intval($channel_id)); q("DELETE FROM `item` WHERE `uid` = %d", intval($channel_id)); q("DELETE FROM `item_id` WHERE `uid` = %d", intval($channel_id)); - q("DELETE FROM `mail` WHERE `uid` = %d", intval($channel_id)); + q("DELETE FROM `mail` WHERE `channel_id` = %d", intval($channel_id)); q("DELETE FROM `notify` WHERE `uid` = %d", intval($channel_id)); q("DELETE FROM `photo` WHERE `uid` = %d", intval($channel_id)); q("DELETE FROM `attach` WHERE `uid` = %d", intval($channel_id)); diff --git a/mod/admin.php b/mod/admin.php index 064e139ed..48c7a7822 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -783,41 +783,28 @@ function admin_page_users(&$a){ * @param App $a */ function admin_page_channels_post(&$a){ - $pending = ( x($_POST, 'pending') ? $_POST['pending'] : Array() ); - $users = ( x($_POST, 'user') ? $_POST['user'] : Array() ); + $channels = ( x($_POST, 'channel') ? $_POST['channel'] : Array() ); - check_form_security_token_redirectOnErr('/admin/users', 'admin_users'); + check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels'); - if (x($_POST,'page_users_block')){ - foreach($users as $uid){ - q("UPDATE account SET account_flags = (account_flags & %d) where account_id = %d limit 1", - intval(ACCOUNT_BLOCKED), + if (x($_POST,'page_channels_block')){ + foreach($channels as $uid){ + q("UPDATE channel SET channel_pageflags = ( channel_pageflags ^ %d ) where channel_id = %d", + intval(PAGE_CENSORED), intval( $uid ) - ); + ); } - notice( sprintf( tt("%s user blocked/unblocked", "%s users blocked/unblocked", count($users)), count($users)) ); + notice( sprintf( tt("%s channel censored/uncensored", "%s channelss censored/uncensored", count($channels)), count($channels)) ); } - if (x($_POST,'page_users_delete')){ + if (x($_POST,'page_channels_delete')){ require_once("include/Contact.php"); - foreach($users as $uid){ - account_remove($uid,true); + foreach($channels as $uid){ + channel_remove($uid,true); } - notice( sprintf( tt("%s user deleted", "%s users deleted", count($users)), count($users)) ); + notice( sprintf( tt("%s channel deleted", "%s channels deleted", count($channels)), count($channels)) ); } - - if (x($_POST,'page_users_approve')){ - require_once('include/account.php'); - foreach($pending as $hash){ - user_allow($hash); - } - } - if (x($_POST,'page_users_deny')){ - require_once('include/account.php'); - foreach($pending as $hash){ - user_deny($hash); - } - } - goaway($a->get_baseurl(true) . '/admin/users' ); + + goaway($a->get_baseurl(true) . '/admin/channels' ); return; // NOTREACHED } @@ -838,17 +825,17 @@ function admin_page_channels(&$a){ } switch(argv(2)){ -// case "delete":{ - // check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't'); - // delete user - // require_once("include/Contact.php"); - // account_remove($uid,true); + case "delete":{ + check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't'); + // delete channel + require_once("include/Contact.php"); + channel_remove($uid,true); - // notice( sprintf(t("User '%s' deleted"), $account[0]['account_email']) . EOL); - // }; break; + notice( sprintf(t("Channel '%s' deleted"), $channel[0]['channel_name']) . EOL); + }; break; case "block":{ - check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't'); + check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't'); q("UPDATE channel SET channel_pageflags = ( channel_pageflags ^ %d ) where channel_id = %d", intval(PAGE_CENSORED), intval( $uid ) @@ -857,7 +844,7 @@ function admin_page_channels(&$a){ notice( sprintf( (($channel[0]['channel_pageflags'] & PAGE_CENSORED) ? t("Channel '%s' uncensored"): t("Channel '%s' censored")) , $channel[0]['channel_name'] . ' (' . $channel[0]['channel_address'] . ')' ) . EOL); }; break; } - goaway($a->get_baseurl(true) . '/admin/users' ); + goaway($a->get_baseurl(true) . '/admin/channels' ); return ''; // NOTREACHED } @@ -874,18 +861,18 @@ function admin_page_channels(&$a){ $order = " order by channel_name asc "; - $users = q("SELECT * from channel where not ( channel_pageflags & %d ) $order limit %d , %d ", + $channels = q("SELECT * from channel where not ( channel_pageflags & %d ) $order limit %d , %d ", intval(PAGE_REMOVED), intval($a->pager['start']), intval($a->pager['itemspage']) ); - if($users) { - for($x = 0; $x < count($users); $x ++) { - if($users[$x]['channel_pageflags'] & PAGE_CENSORED) - $users[$x]['blocked'] = true; + if($channels) { + for($x = 0; $x < count($channels); $x ++) { + if($channels[$x]['channel_pageflags'] & PAGE_CENSORED) + $channels[$x]['blocked'] = true; else - $users[$x]['blocked'] = false; + $channels[$x]['blocked'] = false; } } @@ -900,17 +887,17 @@ function admin_page_channels(&$a){ '$block' => t('Censor'), '$unblock' => t('Uncensor'), - '$h_users' => t('Channel'), - '$th_users' => array( t('UID'), t('Name'), t('Address')), + '$h_channels' => t('Channel'), + '$th_channels' => array( t('UID'), t('Name'), t('Address')), - '$confirm_delete_multi' => t('Selected users will be deleted!\n\nEverything these users had posted on this site will be permanently deleted!\n\nAre you sure?'), - '$confirm_delete' => t('The user {0} will be deleted!\n\nEverything this user has posted on this site will be permanently deleted!\n\nAre you sure?'), + '$confirm_delete_multi' => t('Selected channels will be deleted!\n\nEverything that was posted in these channels on this site will be permanently deleted!\n\nAre you sure?'), + '$confirm_delete' => t('The channel {0} will be deleted!\n\nEverything that was posted in this channel on this site will be permanently deleted!\n\nAre you sure?'), '$form_security_token' => get_form_security_token("admin_channels"), // values // '$baseurl' => $a->get_baseurl(true), - '$users' => $users, + '$channels' => $channels, )); $o .= paginate($a); return $o; diff --git a/view/de/messages.po b/view/de/messages.po index fe7074d5a..5c9b7bad4 100644 --- a/view/de/messages.po +++ b/view/de/messages.po @@ -6318,7 +6318,7 @@ msgstr "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet." #: ../../mod/manage.php:72 msgid "Create a new channel" -msgstr "Erzeuge neues Kanal" +msgstr "Erzeuge neuen Kanal" #: ../../mod/manage.php:77 msgid "Channel Manager" diff --git a/view/de/strings.php b/view/de/strings.php index ee694c324..611eff282 100644 --- a/view/de/strings.php +++ b/view/de/strings.php @@ -1485,7 +1485,7 @@ $a->strings["Your old login password"] = "Ihr altes Login Kennwort"; $a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Egal welche Option Du wählst, bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige Red-Server diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein."; $a->strings["Make this hub my primary location"] = "Dieser Red-Server ist mein primärer Server."; $a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet."; -$a->strings["Create a new channel"] = "Erzeuge neues Kanal"; +$a->strings["Create a new channel"] = "Erzeuge neuen Kanal"; $a->strings["Channel Manager"] = "Kanal-Manager"; $a->strings["Current Channel"] = "Aktueller Kanal"; $a->strings["Attach to one of your channels by selecting it."] = "Wähle einen Deiner Kanäle aus, um ihn zu verwenden."; diff --git a/view/tpl/admin_channels.tpl b/view/tpl/admin_channels.tpl index 2ae2a72d6..d8f5f626f 100755 --- a/view/tpl/admin_channels.tpl +++ b/view/tpl/admin_channels.tpl @@ -16,35 +16,35 @@ <form action="{{$baseurl}}/admin/channels" method="post"> <input type='hidden' name='form_security_token' value='{{$form_security_token}}'> - <h3>{{$h_users}}</h3> - {{if $users}} + <h3>{{$h_channels}}</h3> + {{if $channels}} <table id='channels'> <thead> <tr> - {{foreach $th_users as $th}}<th>{{$th}}</th>{{/foreach}} + {{foreach $th_channels as $th}}<th>{{$th}}</th>{{/foreach}} <th></th> <th></th> </tr> </thead> <tbody> - {{foreach $users as $u}} + {{foreach $channels as $c}} <tr> - <td class='channel_id'>{{$u.channel_id}}</td> - <td class='channel_name'>{{$u.channel_name}}</td> - <td class='channel_address'>{{$u.channel_address}}</td> - <td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_{{$u.account_id}}" name="user[]" value="{{$u.account_id}}"/></td> + <td class='channel_id'>{{$c.channel_id}}</td> + <td class='channel_name'>{{$c.channel_name}}</td> + <td class='channel_address'>{{$c.channel_address}}</td> + <td class="checkbox"><input type="checkbox" class="channels_ckbx" id="id_channel_{{$c.channel_id}}" name="channel[]" value="{{$c.channel_id}}"/></td> <td class="tools"> - <a href="{{$baseurl}}/admin/users/block/{{$u.account_id}}?t={{$form_security_token}}" title='{{if ($u.blocked)}}{{$unblock}}{{else}}{{$block}}{{/if}}'><i class='icon-ban-circle admin-icons {{if ($u.blocked)}}dim{{/if}}'></i></a> - <a href="{{$baseurl}}/admin/users/delete/{{$u.account_id}}?t={{$form_security_token}}" title='{{$delete}}' onclick="return confirm_delete('{{$u.name}}')"><i class='icon-remove admin-icons'></i></a> + <a href="{{$baseurl}}/admin/channels/block/{{$c.channel_id}}?t={{$form_security_token}}" title='{{if ($c.blocked)}}{{$unblock}}{{else}}{{$block}}{{/if}}'><i class='icon-ban-circle admin-icons {{if ($c.blocked)}}dim{{/if}}'></i></a> + <a href="{{$baseurl}}/admin/channels/delete/{{$c.channel_id}}?t={{$form_security_token}}" title='{{$delete}}' onclick="return confirm_delete('{{$c.channel_name}}')"><i class='icon-remove admin-icons'></i></a> </td> </tr> {{/foreach}} </tbody> </table> - <div class='selectall'><a href='#' onclick="return selectall('users_ckbx');">{{$select_all}}</a></div> - <div class="submit"><input type="submit" name="page_users_block" value="{{$block}}/{{$unblock}}" /> <input type="submit" name="page_channels_delete" value="{{$delete}}" onclick="return confirm_delete_multi()" /></div> + <div class='selectall'><a href='#' onclick="return selectall('channels_ckbx');">{{$select_all}}</a></div> + <div class="submit"><input type="submit" name="page_channels_block" value="{{$block}}/{{$unblock}}" /> <input type="submit" name="page_channels_delete" value="{{$delete}}" onclick="return confirm_delete_multi()" /></div> {{else}} - NO USERS?!? + NO CHANNELS?!? {{/if}} </form> </div> |