mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2026-01-05 23:30:46 +01:00
Merge remote-tracking branch 'origin/develop' into feature/es6_revamp
# Conflicts: # languages/en.yaml # themes/grav/css-compiled/template.css # themes/grav/css-compiled/template.css.map # themes/grav/templates/forms/fields/tabs/tabs.html.twig
This commit is contained in:
@@ -1084,6 +1084,60 @@ class AdminController
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles creating an empty page folder (without markdown file)
|
||||
*
|
||||
* @return bool True if the action was performed.
|
||||
*/
|
||||
public function taskSaveNewFolder()
|
||||
{
|
||||
if (!$this->authorizeTask('save', $this->dataPermissions())) {
|
||||
return;
|
||||
}
|
||||
|
||||
$data = $this->post;
|
||||
|
||||
if ($data['route'] == '/') {
|
||||
$path = $this->grav['locator']->findResource('page://');
|
||||
} else {
|
||||
$path = $page = $this->grav['page']->find($data['route'])->path();
|
||||
}
|
||||
|
||||
$files = Folder::all($path, ['recursive' => false]);
|
||||
|
||||
$highestOrder = 0;
|
||||
foreach ($files as $file) {
|
||||
preg_match(PAGE_ORDER_PREFIX_REGEX, $file, $order);
|
||||
|
||||
if (isset($order[0])) {
|
||||
$theOrder = intval(trim($order[0], '.'));
|
||||
} else {
|
||||
$theOrder = 0;
|
||||
}
|
||||
|
||||
if ($theOrder >= $highestOrder) {
|
||||
$highestOrder = $theOrder;
|
||||
}
|
||||
}
|
||||
|
||||
$orderOfNewFolder = $highestOrder + 1;
|
||||
|
||||
if ($orderOfNewFolder < 10) {
|
||||
$orderOfNewFolder = '0' . $orderOfNewFolder;
|
||||
}
|
||||
|
||||
Folder::mkdir($path . '/' . $orderOfNewFolder . '.' . $data['folder']);
|
||||
|
||||
$this->admin->setMessage($this->admin->translate('PLUGIN_ADMIN.SUCCESSFULLY_SAVED'), 'info');
|
||||
|
||||
$multilang = $this->isMultilang();
|
||||
$admin_route = $this->grav['config']->get('plugins.admin.route');
|
||||
$redirect_url = '/' . ($multilang ? ($this->grav['session']->admin_lang) : '') . $admin_route . '/' . $this->view;
|
||||
$this->setRedirect($redirect_url);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* @param string $frontmatter
|
||||
* @return bool
|
||||
*/
|
||||
@@ -1102,6 +1156,7 @@ class AdminController
|
||||
} catch (ParseException $e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1452,7 +1507,6 @@ class AdminController
|
||||
return false;
|
||||
}
|
||||
|
||||
// $reorder = false;
|
||||
$data = $this->post;
|
||||
$language = $data['lang'];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user