Skip to content

Commit

Permalink
Merge branch 'dev' of github.com:microweber/microweber into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
peter-mw committed Feb 16, 2022
2 parents 00aa548 + 99c6d86 commit 8adc9da
Show file tree
Hide file tree
Showing 10 changed files with 187 additions and 84 deletions.
@@ -0,0 +1,57 @@
<?php

namespace MicroweberPackages\User\Http\Controllers;

use App\Http\Resources\User\UserResource;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Auth;
use MicroweberPackages\App\Http\Middleware\SameSiteRefererMiddleware;

class UserLogoutController extends Controller
{
public $middleware = [
[
'middleware' => 'xss',
'options' => []
]
];

public function __construct()
{
event_trigger('mw.init');
}

/**
* Display a listing of Role.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$ref = $request->headers->get('referer');

$sameSite = app()->make(SameSiteRefererMiddleware::class);
$isSameSite = $sameSite->isSameSite($ref);

if ($isSameSite) {
return logout($request->all());
}

return view('user::logout.index');
}

public function submit(Request $request)
{
Auth::logout();

$url = site_url();
$redirect = $request->post('redirect_to', false);
if ($redirect) {
$url = $redirect;
}

return app()->url_manager->redirect($url);
}

}
2 changes: 0 additions & 2 deletions src/MicroweberPackages/User/helpers/api_user.php
Expand Up @@ -2,8 +2,6 @@

api_expose('user_social_login');

api_expose('logout');

api_expose('user_register');

api_expose('social_login_process');
Expand Down
@@ -1,99 +1,57 @@
<!DOCTYPE html>
<html <?php print lang_attributes(); ?>>
<head>
<title><?php _e('Resend'); ?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="robots" content="noindex">
<?php get_favicon_tag(); ?>
@extends('user::layout')

<link type="text/css" rel="stylesheet" media="all" href="<?php print mw_includes_url(); ?>default.css"/>
<link type="text/css" rel="stylesheet" media="all"
href="<?php print(mw()->template->get_admin_system_ui_css_url()); ?>"/>
@section('content')
<form class="form-horizontal" role="form" method="POST"
action="{{ route('password.email') }}">
<h2>Password Reset</h2>
@csrf

<script src="<?php print(mw()->template->get_apijs_combined_url()); ?>"></script>
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">

</head>

<body>
<label class="control-label">Enter your email</label>

<main class="w-100 h-100vh ">
<div class="row my-5 d-flex align-items-center ">
<div class="col-12 col-sm-9 col-md-7 col-lg-5 col-xl-4 mx-auto">
<input type="text" class="form-control" id="email" name="email"
placeholder="Email"/>


<div class="card">
<div class="card-body py-4">
@if ($errors->has('email'))

<div class="help-block text-danger"><strong>{{ $errors->first('email') }}</strong></div>

@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
@endif

<form class="form-horizontal" role="form" method="POST"
action="{{ route('password.email') }}">
<h2>Password Reset</h2>
@csrf

<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
@if (get_option('captcha_disabled', 'users') !== 'y')


<label class="control-label">Enter your email</label>
@if ($errors->has('captcha'))

<input type="text" class="form-control" id="email" name="email"
placeholder="Email"/>


@if ($errors->has('email'))

<div class="help-block text-danger"><strong>{{ $errors->first('email') }}</strong></div>

@endif


@if (get_option('captcha_disabled', 'users') !== 'y')


@if ($errors->has('captcha'))

<div class="help-block text-danger"><strong>{{ $errors->first('captcha') }}</strong>
</div>

@endif

<module type="captcha"/>

@endif


</div>
<div class="help-block text-danger"><strong>{{ $errors->first('captcha') }}</strong>
</div>

<div class="d-flex justify-content-between align-items-center">
@endif

<a class="btn btn-link" class="reset_pass" href="{{route('login')}}">Login</a>
<module type="captcha"/>

<button type="submit" class="btn btn-primary submit">Send Password
Reset Link
</button>
@endif


</div>
</div>

<div class="clearfix"></div>
<div class="d-flex justify-content-between align-items-center">

<a class="btn btn-link" class="reset_pass" href="{{route('login')}}">Login</a>

</form>
<button type="submit" class="btn btn-primary submit">Send Password
Reset Link
</button>

</div>
</div>

</div>
</div>

<div class="clearfix"></div>


</main>
</body>
</html>
</form>
@endsection
48 changes: 48 additions & 0 deletions src/MicroweberPackages/User/resources/views/layout.blade.php
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html <?php print lang_attributes(); ?>>
<head>
<title><?php _e('Resend'); ?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="robots" content="noindex">
<?php get_favicon_tag(); ?>

<link type="text/css" rel="stylesheet" media="all" href="<?php print mw_includes_url(); ?>default.css"/>
<link type="text/css" rel="stylesheet" media="all"
href="<?php print(mw()->template->get_admin_system_ui_css_url()); ?>"/>

<script src="<?php print(mw()->template->get_apijs_combined_url()); ?>"></script>

</head>

<body>

<main class="w-100 h-100vh ">
<div class="row my-5 d-flex align-items-center ">
<div class="col-12 col-sm-9 col-md-7 col-lg-5 col-xl-4 mx-auto">

<div class="card">
<div class="card-body py-4">

@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif

@hasSection('content')
@yield('content')
@endif


</div>
</div>

</div>
</div>


</main>
</body>
</html>
25 changes: 25 additions & 0 deletions src/MicroweberPackages/User/resources/views/logout/index.blade.php
@@ -0,0 +1,25 @@
@extends('user::layout')

@section('content')


<center>
<h3> {{ _e('Please confirm you want to logout') }} </h3>

<form class="form-horizontal" role="form" method="POST" action="{{ route('logout.submit') }}">

@csrf
<br />

@if(isset($_GET['redirect_to']))
<input type="hidden" name="redirect_to" value="{{$_GET['redirect_to']}}">
@endif

<button type="submit" class="btn btn-primary submit">
{{ _e('Confirm') }}
</button>

</form>
</center>

@endsection
3 changes: 3 additions & 0 deletions src/MicroweberPackages/User/routes/api.php
Expand Up @@ -116,5 +116,8 @@
])
->namespace('\MicroweberPackages\User\Http\Controllers\Api')
->group(function () {

Route::get('/logout', '\MicroweberPackages\User\Http\Controllers\UserLogoutController@index')->name('api.logout');

Route::apiResource('user', 'UserApiController');
});
4 changes: 4 additions & 0 deletions src/MicroweberPackages/User/routes/web.php
Expand Up @@ -29,6 +29,10 @@

Route::namespace('\MicroweberPackages\User\Http\Controllers')->middleware(['web'])->group(function () {

Route::get('/logout', 'UserLogoutController@index')->name('logout');
Route::post('/logout', 'UserLogoutController@submit')->name('logout.submit');


Route::get('email/verify/{id}/{hash}', 'UserVerifyController@verify')->name('verification.verify')
->middleware([\MicroweberPackages\User\Http\Middleware\UserValidateEmailSignature::class]);

Expand Down
12 changes: 8 additions & 4 deletions userfiles/modules/microweber/api/domtree.js
Expand Up @@ -193,10 +193,13 @@ mw.DomTree = function (options) {
target = mw.tools.firstParentWithTag(target, 'li');
scope.toggle(target);
}
scope.selected(target);
if(target.nodeName === 'LI' && scope.settings.onSelect) {
scope.settings.onSelect.call(scope, e, target, target._value);
if(target._selectable) {
scope.selected(target);
if(target.nodeName === 'LI' && scope.settings.onSelect) {
scope.settings.onSelect.call(scope, e, target, target._value);
}
}

});
};

Expand Down Expand Up @@ -226,7 +229,8 @@ mw.DomTree = function (options) {
li.innerHTML = dio + '<span class="mw-domtree-item-label">' + this.getComponentLabel(item) + '</span>';
if ( typeof scope.settings.canSelect === 'function' ) {
var can = scope.settings.canSelect(item, li);
li.classList.add('selectable-' + can)
li.classList.add('selectable-' + can);
li._selectable = can
}
return li;
};
Expand Down
Expand Up @@ -80,16 +80,19 @@
element: '#domtree',
resizable:true,
targetDocument: mw.top().win.document,
/*canSelect: function (node, li) {
return mw.tools.isEditable(node) || node.classList.contains('edit');
},*/
canSelect: function (node, li) {
var cant = (!mw.tools.isEditable(node) && !node.classList.contains('edit') && !node.id);
return !cant;
// return mw.tools.isEditable(node) || node.classList.contains('edit');
},
onHover: function (e, target, node, element) {
mw.top().liveEditSelector.setItem(node, mw.top().liveEditSelector.interactors, false);
},
onSelect: function (e, target, node, element) {
setTimeout(function () {
mw.top().liveEditSelector.select(node);


mw.top().tools.scrollTo(node, undefined, (mw.top().$('#live_edit_toolbar').height() + 10))
})
}
Expand Down
Expand Up @@ -384,15 +384,18 @@ input,select{
min-height: calc(100% - 30px);
min-height: -webkit-calc(100% - 30px);
}
.mw-domtree li.hover > span{
.mw-domtree li.selectable-true.hover > span{
background-color: #d1d1d1;
}

.mw-domtree li.selected > span{background-color: #0e80e5; color: #fff}

.mw-domtree li.selectable-true{
cursor:pointer;
}
.mw-domtree li.selectable-false{
pointer-events:none;
opacity:.5;
cursor: default;
opacity:.8;
}
.mw-domtree li{
list-style: none;
Expand Down

0 comments on commit 8adc9da

Please sign in to comment.