Merge https://github.com/friendica/red into pending_merge
This commit is contained in:
commit
1d4fde71e0
@ -162,7 +162,7 @@ function user_remove($uid) {
|
||||
|
||||
}
|
||||
|
||||
function account_remove($account_id,$local = true) {
|
||||
function account_remove($account_id,$local = true,$unset_session=true) {
|
||||
|
||||
logger('account_remove: ' . $account_id);
|
||||
|
||||
@ -196,7 +196,7 @@ function account_remove($account_id,$local = true) {
|
||||
);
|
||||
if($x) {
|
||||
foreach($x as $xx) {
|
||||
channel_remove($xx['channel_id'],$local);
|
||||
channel_remove($xx['channel_id'],$local,false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -204,11 +204,16 @@ function account_remove($account_id,$local = true) {
|
||||
intval($account_id)
|
||||
);
|
||||
|
||||
if ($unset_session) {
|
||||
unset($_SESSION['authenticated']);
|
||||
unset($_SESSION['uid']);
|
||||
goaway(get_app()->get_baseurl());
|
||||
}
|
||||
return $r;
|
||||
|
||||
}
|
||||
|
||||
function channel_remove($channel_id, $local = true) {
|
||||
function channel_remove($channel_id, $local = true, $unset_session=true) {
|
||||
|
||||
if(! $channel_id)
|
||||
return;
|
||||
@ -292,7 +297,7 @@ function channel_remove($channel_id, $local = true) {
|
||||
|
||||
proc_run('php','include/directory.php',$channel_id);
|
||||
|
||||
if($channel_id == local_user()) {
|
||||
if($channel_id == local_user() && $unset_session) {
|
||||
unset($_SESSION['authenticated']);
|
||||
unset($_SESSION['uid']);
|
||||
goaway($a->get_baseurl());
|
||||
|
@ -141,7 +141,13 @@ function translate_system_apps(&$arr) {
|
||||
'Chat' => t('Chat'),
|
||||
'Search' => t('Search'),
|
||||
'Probe' => t('Probe'),
|
||||
'Suggest' => t('Suggest')
|
||||
'Suggest' => t('Suggest'),
|
||||
'Random Channel' => t('Random Channel'),
|
||||
'Invite' => t('Invite'),
|
||||
'Features' => t('Features'),
|
||||
'Language' => t('Language'),
|
||||
'Post' => t('Post'),
|
||||
'Profile Photo' => t('Profile Photo')
|
||||
);
|
||||
|
||||
if(array_key_exists($arr['name'],$apps))
|
||||
|
@ -23,7 +23,7 @@ function get_perms() {
|
||||
'post_comments' => array('channel_w_comment', intval(PERMS_W_COMMENT), false, t('Can comment on or like my posts'), ''),
|
||||
'post_mail' => array('channel_w_mail', intval(PERMS_W_MAIL), false, t('Can send me private mail messages'), ''),
|
||||
'post_photos' => array('channel_w_photos', intval(PERMS_W_PHOTOS), false, t('Can post photos to my photo albums'), ''),
|
||||
'post_like' => array('channel_w_like', intval(PERMS_W_LIKE), false, t('Can like/dislike stuff'), 'Profiles and things other than posts/comments'),
|
||||
'post_like' => array('channel_w_like', intval(PERMS_W_LIKE), false, t('Can like/dislike stuff'), t('Profiles and things other than posts/comments')),
|
||||
|
||||
'tag_deliver' => array('channel_w_tagwall', intval(PERMS_W_TAGWALL), false, t('Can forward to all my channel contacts via post @mentions'), t('Advanced - useful for creating group forum channels')),
|
||||
'chat' => array('channel_w_chat', intval(PERMS_W_CHAT), false, t('Can chat with me (when available)'), t('')),
|
||||
|
@ -681,7 +681,7 @@ function admin_page_users(&$a){
|
||||
check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
|
||||
// delete user
|
||||
require_once("include/Contact.php");
|
||||
account_remove($uid,true);
|
||||
account_remove($uid,true,false);
|
||||
|
||||
notice( sprintf(t("User '%s' deleted"), $account[0]['account_email']) . EOL);
|
||||
}; break;
|
||||
|
66
mod/removeaccount.php
Normal file
66
mod/removeaccount.php
Normal file
@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
function removeaccount_post(&$a) {
|
||||
|
||||
if(! local_user())
|
||||
return;
|
||||
|
||||
if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
|
||||
return;
|
||||
|
||||
if((! x($_POST,'qxz_password')) || (! strlen(trim($_POST['qxz_password']))))
|
||||
return;
|
||||
|
||||
if((! x($_POST,'verify')) || (! strlen(trim($_POST['verify']))))
|
||||
return;
|
||||
|
||||
if($_POST['verify'] !== $_SESSION['remove_account_verify'])
|
||||
return;
|
||||
|
||||
|
||||
$account = $a->get_account();
|
||||
$account_id = get_account_id();
|
||||
|
||||
if(! account_verify_password($account['account_email'],$_POST['qxz_password']))
|
||||
return;
|
||||
|
||||
if($account['account_password_changed'] != '0000-00-00 00:00:00') {
|
||||
$d1 = datetime_convert('UTC','UTC','now - 48 hours');
|
||||
if($account['account_password_changed'] > d1) {
|
||||
notice( t('Account removals are not allowed within 48 hours of changing the account password.') . EOL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
require_once('include/Contact.php');
|
||||
|
||||
$global_remove = intval($_POST['global']);
|
||||
|
||||
account_remove($account_id,true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function removeaccount_content(&$a) {
|
||||
|
||||
if(! local_user())
|
||||
goaway(z_root());
|
||||
|
||||
$hash = random_string();
|
||||
|
||||
$_SESSION['remove_account_verify'] = $hash;
|
||||
$tpl = get_markup_template('removeaccount.tpl');
|
||||
$o .= replace_macros($tpl, array(
|
||||
'$basedir' => $a->get_baseurl(),
|
||||
'$hash' => $hash,
|
||||
'$title' => t('Remove This Account'),
|
||||
'$desc' => t('This will completely remove this account including all its channels from the network. Once this has been done it is not recoverable.'),
|
||||
'$passwd' => t('Please enter your password for verification:'),
|
||||
'$global' => array('global', t('Remove this account, all its channels and all its channel clones from the network'), false, t('By default only the instances of the channels located on this hub will be removed from the network')),
|
||||
'$submit' => t('Remove Account')
|
||||
));
|
||||
|
||||
return $o;
|
||||
|
||||
}
|
@ -35,7 +35,7 @@ function removeme_post(&$a) {
|
||||
|
||||
$global_remove = intval($_POST['global']);
|
||||
|
||||
channel_remove(local_user(),1 - $global_remove);
|
||||
channel_remove(local_user(),1 - $global_remove,true);
|
||||
|
||||
}
|
||||
|
||||
|
870
util/messages.po
870
util/messages.po
File diff suppressed because it is too large
Load Diff
10629
view/nl/messages.po
10629
view/nl/messages.po
File diff suppressed because it is too large
Load Diff
2557
view/nl/strings.php
2557
view/nl/strings.php
File diff suppressed because it is too large
Load Diff
@ -98,6 +98,7 @@ pre code {
|
||||
|
||||
code {
|
||||
font-family: Courier, monospace;
|
||||
font-size: 1em;
|
||||
display: block;
|
||||
overflow: auto;
|
||||
border: 1px solid $code_borderc;
|
||||
@ -2240,7 +2241,7 @@ nav .dropdown-menu>li>a:hover,nav .dropdown-menu>li>a:focus{
|
||||
|
||||
/* bootstrap overrides */
|
||||
blockquote {
|
||||
font-size: $body_font_size;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
@ -2377,7 +2378,7 @@ blockquote {
|
||||
}
|
||||
|
||||
.btn-xs {
|
||||
font-size: 12px;
|
||||
font-size: 0.65rem;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
|
22
view/tpl/removeaccount.tpl
Normal file
22
view/tpl/removeaccount.tpl
Normal file
@ -0,0 +1,22 @@
|
||||
<h1>{{$title}}</h1>
|
||||
|
||||
<div id="remove-account-wrapper">
|
||||
|
||||
<div id="remove-account-desc">{{$desc}}</div>
|
||||
|
||||
<form action="{{$basedir}}/removeaccount" autocomplete="off" method="post" >
|
||||
<input type="hidden" name="verify" value="{{$hash}}" />
|
||||
|
||||
<div id="remove-account-pass-wrapper">
|
||||
<label id="remove-account-pass-label" for="remove-account-pass">{{$passwd}}</label>
|
||||
<input type="password" id="remove-account-pass" name="qxz_password" />
|
||||
</div>
|
||||
<div id="remove-account-pass-end"></div>
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$global}}
|
||||
|
||||
<input type="submit" name="submit" value="{{$submit}}" />
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user