1
0
mirror of https://github.com/monstra-cms/monstra.git synced 2025-08-06 13:16:54 +02:00

Pages Manager: added ability to quickly update status and access.

This commit is contained in:
Awilum
2013-03-08 23:36:33 +02:00
parent a768bc31ed
commit 2c0fa8eb72
2 changed files with 67 additions and 2 deletions

View File

@@ -458,7 +458,7 @@ class PagesAdmin extends Backend
case "delete_page":
// Error 404 page can not be removed
if (Request::get('name') !== 'error404') {
if (Request::get('slug') !== 'error404') {
if (Security::check(Request::get('token'))) {
@@ -490,6 +490,54 @@ class PagesAdmin extends Backend
}
break;
// Update page access
// -------------------------------------
case "update_access":
if (Request::get('slug') !== 'error404') {
if (Security::check(Request::get('token'))) {
$pages->updateWhere('[slug="'.Request::get('slug').'"]', array('access' => Request::get('access')));
// Run delete extra actions
Action::run('admin_pages_action_update_access');
// Send notification
Notification::set('success', __('Your changes to the page <i>:page</i> have been saved.', 'pages', array(':page' => Request::get('slug'))));
// Redirect
Request::redirect('index.php?id=pages');
} else { die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); }
}
break;
// Update page status
// -------------------------------------
case "update_status":
if (Request::get('name') !== 'error404') {
if (Security::check(Request::get('token'))) {
$pages->updateWhere('[slug="'.Request::get('slug').'"]', array('status' => Request::get('status')));
// Run delete extra actions
Action::run('admin_pages_action_update_status');
// Send notification
Notification::set('success', __('Your changes to the page <i>:page</i> have been saved.', 'pages', array(':page' => Request::get('slug'))));
// Redirect
Request::redirect('index.php?id=pages');
} else { die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); }
}
break;
}
// Its mean that you can add your own actions for this plugin
@@ -512,6 +560,8 @@ class PagesAdmin extends Backend
$pages_array[$count]['title'] = $page['title'];
$pages_array[$count]['parent'] = $page['parent'];
$pages_array[$count]['_status'] = $page['status'];
$pages_array[$count]['_access'] = $page['access'];
$pages_array[$count]['status'] = $status_array[$page['status']];
$pages_array[$count]['access'] = isset($access_array[$page['access']]) ? $access_array[$page['access']] : $access_array['public']; // hack for old Monstra Versions
$pages_array[$count]['date'] = $page['date'];

View File

@@ -77,7 +77,22 @@
<li><a href="index.php?id=pages&action=add_page&parent_page=<?php echo $page['slug']; ?>" title="<?php echo __('Create New Page', 'pages'); ?>"><?php echo __('Add', 'pages'); ?></a></li>
<?php } ?>
<li><?php echo Html::anchor(__('Clone', 'pages'), 'index.php?id=pages&action=clone_page&name='.$page['slug'].'&token='.Security::token(), array('title' => __('Clone', 'pages'))); ?></li>
</ul>
<li class="divider"></li>
<li class="dropdown-submenu pull-left">
<a href=""><?php echo __('Status', 'pages'); ?></a>
<ul class="dropdown-menu">
<li><a href="index.php?id=pages&action=update_status&slug=<?php echo $page['slug']; ?>&status=published&token=<?php echo Security::token(); ?>"><?php echo __('Published', 'pages'); ?> <?php if ($page['_status'] == 'published') { ?><i class="icon-ok"></i><?php } ?></a></li>
<li><a href="index.php?id=pages&action=update_status&slug=<?php echo $page['slug']; ?>&status=draft&token=<?php echo Security::token(); ?>"><?php echo __('Draft', 'pages'); ?> <?php if ($page['_status'] == 'draft') { ?><i class="icon-ok"></i><?php } ?></a></li>
</ul>
</li>
<li class="dropdown-submenu pull-left">
<a href=""><?php echo __('Access', 'pages'); ?></a>
<ul class="dropdown-menu">
<li><a href="index.php?id=pages&action=update_access&slug=<?php echo $page['slug']; ?>&access=public&token=<?php echo Security::token(); ?>"><?php echo __('Public', 'pages'); ?> <?php if ($page['_access'] == 'public') { ?><i class="icon-ok"></i><?php } ?></a></li>
<li><a href="index.php?id=pages&action=update_access&slug=<?php echo $page['slug']; ?>&access=registered&token=<?php echo Security::token(); ?>"><?php echo __('Registered', 'pages'); ?> <?php if ($page['_access'] == 'registered') { ?><i class="icon-ok"></i><?php } ?></a></li>
</ul>
</li>
</ul>
<?php echo Html::anchor(__('Delete', 'pages'),
'index.php?id=pages&action=delete_page&name='.$page['slug'].'&token='.Security::token(),
array('class' => 'btn btn-actions btn-small btn-actions-default', 'onclick' => "return confirmDelete('".__("Delete page: :page", 'pages', array(':page' => Html::toText($page['title'])))."')"));