Improve user role

This commit is contained in:
danpros 2024-03-30 11:49:22 +07:00
commit c8e8bee51b
15 changed files with 1350 additions and 912 deletions

View file

@ -1358,25 +1358,27 @@ EOF;
$toolbar .= '<div id="toolbar"><ul>';
$toolbar .= '<li class="tb-admin"><a href="' . $base . 'admin">' . i18n('Admin') . '</a></li>';
$toolbar .= '<li class="tb-addcontent"><a href="' . $base . 'admin/content">' . i18n('Add_content') . '</a></li>';
if ($role === 'admin') {
if ($role === 'editor' || $role === 'admin') {
$toolbar .= '<li class="tb-posts"><a href="' . $base . 'admin/posts">' . i18n('Posts') . '</a></li>';
if (config('views.counter') == 'true') {
$toolbar .= '<li class="tb-popular"><a href="' . $base . 'admin/popular">' . i18n('Popular') . '</a></li>';
}
$toolbar .= '<li class="tb-mine"><a href="' . $base . 'admin/pages">' . i18n('Pages') . '</a></li>';
}
$toolbar .= '<li class="tb-mine"><a href="' . $base . 'admin/pages">' . i18n('Pages') . '</a></li>';
$toolbar .= '<li class="tb-draft"><a href="' . $base . 'admin/scheduled">' . i18n('Scheduled') . '</a></li>';
$toolbar .= '<li class="tb-draft"><a href="' . $base . 'admin/draft">' . i18n('Draft') . '</a></li>';
if ($role === 'admin') {
if ($role === 'editor' || $role === 'admin') {
$toolbar .= '<li class="tb-categories"><a href="' . $base . 'admin/categories">' . i18n('Categories') . '</a></li>';
$toolbar .= '<li class="tb-import"><a href="' . $base . 'admin/menu">' . i18n('Menu') . '</a></li>';
}
$toolbar .= '<li class="tb-import"><a href="' . $base . 'admin/menu">' . i18n('Menu') . '</a></li>';
if ($role === 'admin') {
$toolbar .= '<li class="tb-config"><a href="' . $base . 'admin/config">' . i18n('Config') . '</a></li>';
$toolbar .= '<li class="tb-config"><a href="' . $base . 'admin/config">' . i18n('Config') . '</a></li>';
$toolbar .= '<li class="tb-backup"><a href="' . $base . 'admin/backup">' . i18n('Backup') . '</a></li>';
$toolbar .= '<li class="tb-update"><a href="' . $base . 'admin/update">' . i18n('Update') . '</a></li>';
}
if ($role === 'editor' || $role === 'admin') {
$toolbar .= '<li class="tb-clearcache"><a href="' . $base . 'admin/clear-cache">' . i18n('Clear_cache') . '</a></li>';
}
$toolbar .= '<li class="tb-backup"><a href="' . $base . 'admin/backup">' . i18n('Backup') . '</a></li>';
$toolbar .= '<li class="tb-update"><a href="' . $base . 'admin/update">' . i18n('Update') . '</a></li>';
$toolbar .= '<li class="tb-clearcache"><a href="' . $base . 'admin/clear-cache">' . i18n('Clear_cache') . '</a></li>';
$toolbar .= '<li class="tb-editprofile"><a href="' . $base . 'edit/profile">' . i18n('Edit_profile') . '</a></li>';
$toolbar .= '<li class="tb-logout"><a href="' . $base . 'logout">' . i18n('Logout') . '</a></li>';
@ -1652,3 +1654,27 @@ function image_gallery($images, $page = 1, $perpage = 0)
$tmp .= '</div>';
return $tmp;
}
function authorized ($data = null)
{
if (login()) {
if (is_null($data)) {
return false;
}
$user = $_SESSION[site_url()]['user'];
$role = user('role', $user);
if (isset($data->author)) {
if ($user === $data->author || $role === 'editor' || $role === 'admin') {
return true;
} else {
return false;
}
} else {
if ($role === 'editor' || $role === 'admin') {
return true;
} else {
return false;
}
}
}
}

View file

@ -1,6 +1,9 @@
<?php if (!defined('HTMLY')) die('HTMLy'); ?>
<h2><?php echo i18n('Add_content');?></h2>
<?php
$user = $_SESSION[site_url()]['user'];
$role = user('role', $user);
?>
<div class="row">
<div class="col-sm-6">
<p><a href="<?php echo site_url();?>add/content?type=post"><?php echo i18n('Regular_post')?></a><br><?php echo i18n('Regular_post_comment')?>.</p>
@ -11,6 +14,8 @@
<div class="col-sm-6">
<p><a href="<?php echo site_url();?>add/content?type=link"><?php echo i18n('Link_post')?></a><br><?php echo i18n('Link_post_comment')?>.</p>
<p><a href="<?php echo site_url();?>add/content?type=quote"><?php echo i18n('Quote_post')?></a><br><?php echo i18n('Quote_post_comment')?>.</p>
<?php if ($role === 'editor' || $role === 'admin'):?>
<p><a href="<?php echo site_url();?>add/page"><?php echo i18n('Static_page')?></a><br><?php echo i18n('Static_page_comment')?>.</p>
<?php endif;?>
</div>
</div>

View file

@ -12,7 +12,10 @@
<script src="<?php echo site_url() ?>system/resources/js/jquery.min.js"></script>
<script src="<?php echo site_url() ?>system/resources/js/jquery-ui.min.js"></script>
</head>
<?php if (login()) { ?>
<?php if (login()) {
$user = $_SESSION[site_url()]['user'];
$role = user('role', $user);
?>
<body class="hold-transition sidebar-mini">
<div class="wrapper">
<style>.error-message ul {margin:0;padding:0;}</style>
@ -75,12 +78,21 @@
</p>
</a>
<ul class="nav nav-treeview">
<?php if ($role === 'editor' || $role === 'admin'):?>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/posts" class="nav-link">
<p>
<?php echo i18n('Posts_list'); ?>
</p>
</a>
</li>
<?php endif;?>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/mine" class="nav-link">
<p>
<?php echo i18n('My_posts');?>
</p>
</a>
</li>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/scheduled" class="nav-link">
@ -96,13 +108,16 @@
</p>
</a>
</li>
<?php if ($role === 'editor' || $role === 'admin'):?>
<?php if (config('views.counter') == 'true') : ?>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/pages" class="nav-link">
<a href="<?php echo site_url();?>admin/popular" class="nav-link">
<p>
<?php echo i18n('Static_pages'); ?>
<?php echo i18n('Popular_posts');?>
</p>
</a>
</li>
<?php endif; ?>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/categories" class="nav-link">
<p>
@ -110,8 +125,17 @@
</p>
</a>
</li>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/pages" class="nav-link">
<p>
<?php echo i18n('Static_pages'); ?>
</p>
</a>
</li>
<?php endif;?>
</ul>
</li>
<?php if ($role === 'editor' || $role === 'admin'):?>
<li class="nav-item has-treeview menu-open">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-cogs"></i>
@ -121,6 +145,7 @@
</p>
</a>
<ul class="nav nav-treeview">
<?php if ($role === 'admin'):?>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/config" class="nav-link">
<p>
@ -128,6 +153,8 @@
</p>
</a>
</li>
<?php endif;?>
<?php if ($role === 'editor' || $role === 'admin'):?>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/menu" class="nav-link">
<p>
@ -135,8 +162,11 @@
</p>
</a>
</li>
<?php endif;?>
</ul>
</li>
<?php endif;?>
<?php if ($role === 'editor' || $role === 'admin'):?>
<li class="nav-item has-treeview menu-open">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-briefcase"></i>
@ -153,6 +183,7 @@
</p>
</a>
</li>
<?php if ($role === 'admin'):?>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/update" class="nav-link">
<p>
@ -174,17 +205,10 @@
</p>
</a>
</li>
<?php if (config('views.counter') == 'true') { ?>
<li class="nav-item">
<a href="<?php echo site_url();?>admin/popular" class="nav-link">
<p>
<?php echo i18n('Popular_posts');?>
</p>
</a>
</li>
<?php } ?>
<?php endif;?>
</ul>
</li>
<?php endif;?>
<li class="nav-item has-treeview menu-open">
<a href="#" class="nav-link">
<i class="nav-icon fa fa-user"></i>
@ -194,13 +218,6 @@
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href="<?php echo site_url();?>admin/mine" class="nav-link">
<p>
<?php echo i18n('My_posts');?>
</p>
</a>
</li>
<li class="nav-item">
<a href="<?php echo site_url();?>edit/profile" class="nav-link">
<p>

File diff suppressed because it is too large Load diff