Skip to content

Commit

Permalink
Merge branch 'release/1.10.29'
Browse files Browse the repository at this point in the history
  • Loading branch information
rhukster committed Jan 28, 2022
2 parents 3be295f + 4357313 commit 47f5e8b
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 22 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# v1.10.29
## 01/28/2022

1. [](#new)
* Require **Grav 1.7.29**
3. [](#improved)
* Made path handling unicode-safe, use new `Utils::basename()` and `Utils::pathinfo()` everywhere

# v1.10.28
## 01/24/2022

Expand Down
10 changes: 5 additions & 5 deletions admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ public function onPagesInitialized()
Admin::DEBUG && Admin::addDebugMessage("Admin page: {$this->template}");

$page->init(new \SplFileInfo(__DIR__ . "/pages/admin/{$this->template}.md"));
$page->slug(basename($this->template));
$page->slug(Utils::basename($this->template));

return $page;
}
Expand All @@ -501,7 +501,7 @@ public function onPagesInitialized()
Admin::DEBUG && Admin::addDebugMessage("Admin page: plugin {$plugin->name}/{$this->template}");

$page->init(new \SplFileInfo($path));
$page->slug(basename($this->template));
$page->slug(Utils::basename($this->template));

return $page;
}
Expand All @@ -525,7 +525,7 @@ public function onPagesInitialized()
$error_file = $this->grav['locator']->findResource('plugins://admin/pages/admin/error.md');
$page = new Page();
$page->init(new \SplFileInfo($error_file));
$page->slug(basename($this->route));
$page->slug(Utils::basename($this->route));
$page->routable(true);
}

Expand All @@ -537,7 +537,7 @@ public function onPagesInitialized()
$login_file = $this->grav['locator']->findResource('plugins://admin/pages/admin/login.md');
$page = new Page();
$page->init(new \SplFileInfo($login_file));
$page->slug(basename($this->route));
$page->slug(Utils::basename($this->route));
unset($this->grav['page']);
$this->grav['page'] = $page;
}
Expand Down Expand Up @@ -1304,7 +1304,7 @@ public static function themeOptions()
$options = [];
$theme_files = glob(__dir__ . '/themes/grav/css/codemirror/themes/*.css');
foreach ($theme_files as $theme_file) {
$theme = basename(basename($theme_file, '.css'));
$theme = Utils::basename(Utils::basename($theme_file, '.css'));
$options[$theme] = Inflector::titleize($theme);
}
}
Expand Down
4 changes: 2 additions & 2 deletions blueprints.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Admin Panel
slug: admin
type: plugin
version: 1.10.28
version: 1.10.29
description: Adds an advanced administration panel to manage your site
icon: empire
author:
Expand All @@ -15,7 +15,7 @@ docs: https://github.com/getgrav/grav-plugin-admin/blob/develop/README.md
license: MIT

dependencies:
- { name: grav, version: '>=1.7.28' }
- { name: grav, version: '>=1.7.29' }
- { name: form, version: '>=5.1.0' }
- { name: login, version: '>=3.6.2' }
- { name: email, version: '>=3.1.0' }
Expand Down
4 changes: 2 additions & 2 deletions classes/plugin/Admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -980,7 +980,7 @@ public function getConfigurationData($type, array $post = null)
$obj->file = $file;
$obj->page = $pages->get(dirname($obj->path));

$fileInfo = pathinfo($obj->title);
$fileInfo = Utils::pathinfo($obj->title);
$filename = str_replace(['@3x', '@2x'], '', $fileInfo['filename']);
if (isset($fileInfo['extension'])) {
$filename .= '.' . $fileInfo['extension'];
Expand Down Expand Up @@ -1979,7 +1979,7 @@ public function getPage($path)
$page = $path ? $pages->find($path, true) : $pages->root();

if (!$page) {
$slug = basename($path);
$slug = Utils::basename($path);

if ($slug === '') {
return null;
Expand Down
8 changes: 4 additions & 4 deletions classes/plugin/AdminBaseController.php
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ public function taskFilesUpload()
// since php removes it from the upload location
$tmp_dir = Admin::getTempDir();
$tmp_file = $upload->file->tmp_name;
$tmp = $tmp_dir . '/uploaded-files/' . basename($tmp_file);
$tmp = $tmp_dir . '/uploaded-files/' . Utils::basename($tmp_file);

Folder::create(dirname($tmp));
if (!move_uploaded_file($tmp_file, $tmp)) {
Expand Down Expand Up @@ -423,7 +423,7 @@ public function taskFilesUpload()

// Generate random name if required
if ($settings->random_name) { // TODO: document
$extension = pathinfo($upload->file->name, PATHINFO_EXTENSION);
$extension = Utils::pathinfo($upload->file->name, PATHINFO_EXTENSION);
$upload->file->name = Utils::generateRandomString(15) . '.' . $extension;
}

Expand Down Expand Up @@ -929,7 +929,7 @@ protected function taskRemoveFileFromBlueprint()
$type = $uri->param('type');
$field = $uri->param('field');

$filename = basename($this->post['filename'] ?? '');
$filename = Utils::basename($this->post['filename'] ?? '');
if ($filename === '') {
$this->admin->json_response = [
'status' => 'error',
Expand Down Expand Up @@ -1068,7 +1068,7 @@ public function taskRemoveMedia($filename = null)
if ($file->exists()) {
$resultRemoveMedia = $file->delete();

$fileParts = pathinfo($filename);
$fileParts = Utils::pathinfo($filename);

foreach (scandir($fileParts['dirname']) as $file) {
$regex_pattern = '/' . preg_quote($fileParts['filename'], '/') . "@\d+x\." . $fileParts['extension'] . "(?:\.meta\.yaml)?$|" . preg_quote($fileParts['basename'], '/') . "\.meta\.yaml$/";
Expand Down
14 changes: 7 additions & 7 deletions classes/plugin/AdminController.php
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,7 @@ protected function taskBackup()

try {
if ($download) {
$filename = basename(base64_decode(urldecode($download)));
$filename = Utils::basename(base64_decode(urldecode($download)));
$file = $this->grav['locator']->findResource("backup://{$filename}", true);
if (!$file || !Utils::endsWith($filename, '.zip', false)) {
header('HTTP/1.1 401 Unauthorized');
Expand Down Expand Up @@ -584,7 +584,7 @@ protected function taskBackupDelete()
$backup = $this->grav['uri']->param('backup', null);

if (null !== $backup) {
$filename = basename(base64_decode(urldecode($backup)));
$filename = Utils::basename(base64_decode(urldecode($backup)));
$file = $this->grav['locator']->findResource("backup://{$filename}", true);

if ($file && Utils::endsWith($filename, '.zip', false)) {
Expand Down Expand Up @@ -2244,7 +2244,7 @@ protected function taskAddmedia()


// Check extension
$extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
$extension = strtolower(Utils::pathinfo($filename, PATHINFO_EXTENSION));

// If not a supported type, return
if (!$extension || !$config->get("media.types.{$extension}")) {
Expand Down Expand Up @@ -2293,7 +2293,7 @@ protected function taskAddmedia()

// Add metadata if needed
$include_metadata = Grav::instance()['config']->get('system.media.auto_metadata_exif', false);
$basename = str_replace(['@3x', '@2x'], '', pathinfo($filename, PATHINFO_BASENAME));
$basename = str_replace(['@3x', '@2x'], '', Utils::pathinfo($filename, PATHINFO_BASENAME));

$metadata = [];

Expand Down Expand Up @@ -2423,7 +2423,7 @@ protected function taskDelmedia()
return false;
}

$filename = !empty($this->post['filename']) ? basename($this->post['filename']) : null;
$filename = !empty($this->post['filename']) ? Utils::basename($this->post['filename']) : null;

// Handle bad filenames.
if (!$filename || !Utils::checkFilename($filename)) {
Expand All @@ -2442,7 +2442,7 @@ protected function taskDelmedia()
if ($locator->isStream($targetPath)) {
$targetPath = $locator->findResource($targetPath, true, true);
}
$fileParts = pathinfo($filename);
$fileParts = Utils::pathinfo($filename);

$found = false;

Expand Down Expand Up @@ -2626,7 +2626,7 @@ protected function getLevelListing($data)
$payload = [
'name' => $file_page ? $file_page->title() : $fileName,
'value' => $file_page ? $file_page->rawRoute() : $file_path,
'item-key' => basename($file_page ? $file_page->route() : $file_path),
'item-key' => Utils::basename($file_page ? $file_page->route() : $file_path),
'filename' => $fileName,
'extension' => $type === 'dir' ? '' : $fileInfo->getExtension(),
'type' => $type,
Expand Down
3 changes: 2 additions & 1 deletion classes/plugin/Controllers/Login/LoginController.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use Grav\Common\Uri;
use Grav\Common\User\Interfaces\UserCollectionInterface;
use Grav\Common\User\Interfaces\UserInterface;
use Grav\Common\Utils;
use Grav\Framework\RequestHandler\Exception\PageExpiredException;
use Grav\Framework\RequestHandler\Exception\RequestException;
use Grav\Plugin\Admin\Admin;
Expand Down Expand Up @@ -111,7 +112,7 @@ public function displayUnauthorized(): ResponseInterface
{
$uri = (string)$this->getRequest()->getUri();

$ext = pathinfo($uri, PATHINFO_EXTENSION);
$ext = Utils::pathinfo($uri, PATHINFO_EXTENSION);
$accept = $this->getAccept(['application/json', 'text/html']);
if ($ext === 'json' || $accept === 'application/json') {
return $this->createErrorResponse(new RequestException($this->getRequest(), $this->translate('PLUGIN_ADMIN.LOGGED_OUT'), 401));
Expand Down
2 changes: 1 addition & 1 deletion classes/plugin/Gpm.php
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ private static function download(Package $package, $license = null)

$bad_chars = array_merge(array_map('chr', range(0, 31)), ['<', '>', ':', '"', '/', '\\', '|', '?', '*']);

$filename = $package->slug . str_replace($bad_chars, '', basename($package->zipball_url));
$filename = $package->slug . str_replace($bad_chars, '', \Grav\Common\Utils::basename($package->zipball_url));
$filename = preg_replace('/[\\\\\/:"*?&<>|]+/m', '-', $filename);

file_put_contents($tmp_dir . DS . $filename . '.zip', $contents);
Expand Down

0 comments on commit 47f5e8b

Please sign in to comment.