diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e160286d..0e3702027 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,25 @@ -# v0.9.36 -## XX/XX/2015 +# v0.9.37 +## 08/12/2015 +3. [](#bugfix) + * Fixed issue when saving `header.process` in page forms via the **admin plugin** + * Fixed error due to use of `set_time_limit` that might be disabled on some hosts + +# v0.9.36 +## 08/11/2015 + +1. [](#new) + * Added a new `newuser` CLI command to create user accounts + * Added `default` blueprint for all templates + * Support `user` and `system` language translation merging 1. [](#improved) * Added isSymlink method in GPM to determine if Grav is symbolically linked or not + * Refactored page recursing + * Updated blueprints to use new toggles + * Updated blueprints to use current date for date format fields + * Updated composer.phar + * Use sessions for admin even when disabled for site + * Use `GRAV_ROOT` in session identifier # v0.9.35 ## 08/06/2015 diff --git a/system/defines.php b/system/defines.php index 6828ce4fe..d6803db21 100644 --- a/system/defines.php +++ b/system/defines.php @@ -2,7 +2,7 @@ // Some standard defines define('GRAV', true); -define('GRAV_VERSION', '0.9.35'); +define('GRAV_VERSION', '0.9.37'); define('DS', '/'); // Directories and Paths diff --git a/system/src/Grav/Common/GPM/Local/AbstractPackageCollection.php b/system/src/Grav/Common/GPM/Local/AbstractPackageCollection.php index 314829378..b61f92ce6 100644 --- a/system/src/Grav/Common/GPM/Local/AbstractPackageCollection.php +++ b/system/src/Grav/Common/GPM/Local/AbstractPackageCollection.php @@ -10,6 +10,7 @@ abstract class AbstractPackageCollection extends BaseCollection { public function __construct($items) { foreach ($items as $name => $data) { + $data->set('slug', $name); $this->items[$name] = new Package($data, $this->type); } } diff --git a/system/src/Grav/Common/GPM/Local/Package.php b/system/src/Grav/Common/GPM/Local/Package.php index 6af4a4e1a..6505a59dd 100644 --- a/system/src/Grav/Common/GPM/Local/Package.php +++ b/system/src/Grav/Common/GPM/Local/Package.php @@ -16,7 +16,7 @@ class Package extends BasePackage $this->settings = $package->toArray(); $html_description = \Parsedown::instance()->line($this->description); - $this->data->set('slug', $this->name); + $this->data->set('slug', $package->slug); $this->data->set('description_html', $html_description); $this->data->set('description_plain', strip_tags($html_description)); $this->data->set('symlink', is_link(USER_DIR . $package_type . DS . $this->name)); diff --git a/system/src/Grav/Common/Page/Page.php b/system/src/Grav/Common/Page/Page.php index 4263a5731..3c8a8dbb7 100644 --- a/system/src/Grav/Common/Page/Page.php +++ b/system/src/Grav/Common/Page/Page.php @@ -232,10 +232,10 @@ class Page $this->menu = trim($this->header->menu); } if (isset($this->header->routable)) { - $this->routable = $this->header->routable; + $this->routable = (bool) $this->header->routable; } if (isset($this->header->visible)) { - $this->visible = $this->header->visible; + $this->visible = (bool) $this->header->visible; } if (isset($this->header->order_dir)) { $this->order_dir = trim($this->header->order_dir); @@ -253,7 +253,7 @@ class Page $this->markdown_extra = (bool)$this->header->markdown_extra; } if (isset($this->header->taxonomy)) { - foreach ($this->header->taxonomy as $taxonomy => $taxitems) { + foreach ((array) $this->header->taxonomy as $taxonomy => $taxitems) { $this->taxonomy[$taxonomy] = (array)$taxitems; } } @@ -261,12 +261,12 @@ class Page $this->max_count = intval($this->header->max_count); } if (isset($this->header->process)) { - foreach ($this->header->process as $process => $status) { - $this->process[$process] = $status; + foreach ((array) $this->header->process as $process => $status) { + $this->process[$process] = (bool) $status; } } if (isset($this->header->published)) { - $this->published = $this->header->published; + $this->published = (bool) $this->header->published; } if (isset($this->header->publish_date)) { $this->publish_date = strtotime($this->header->publish_date); @@ -278,10 +278,10 @@ class Page $this->expires = intval($this->header->expires); } if (isset($this->header->etag)) { - $this->etag = (bool)$this->header->etag; + $this->etag = (bool) $this->header->etag; } if (isset($this->header->last_modified)) { - $this->last_modified = (bool)$this->header->last_modified; + $this->last_modified = (bool) $this->header->last_modified; } } diff --git a/system/src/Grav/Common/Session.php b/system/src/Grav/Common/Session.php index cb63df20b..2b3469178 100644 --- a/system/src/Grav/Common/Session.php +++ b/system/src/Grav/Common/Session.php @@ -44,8 +44,8 @@ class Session extends \RocketTheme\Toolbox\Session\Session $session_path ); - $site_identifier = $config->get('site.title', 'unknown'); - $this->setName($config->get('system.session.name', 'grav_site') . '_' . substr(md5($site_identifier), 0, 7) . ($is_admin ? '_admin' : '')); + $unique_identifier = GRAV_ROOT; + $this->setName($config->get('system.session.name', 'grav_site') . '_' . substr(md5($unique_identifier), 0, 7) . ($is_admin ? '_admin' : '')); $this->start(); setcookie(session_name(), session_id(), time() + $session_timeout, $session_path); } diff --git a/system/src/Grav/Common/Utils.php b/system/src/Grav/Common/Utils.php index 5c38f97a9..2cd81ada6 100644 --- a/system/src/Grav/Common/Utils.php +++ b/system/src/Grav/Common/Utils.php @@ -219,7 +219,11 @@ abstract class Utils $file_parts = pathinfo($file); $filesize = filesize($file); - set_time_limit(0); + // check if this function is available, if so use it to stop any timeouts + if (function_exists('set_time_limit')) { + set_time_limit(0); + } + ignore_user_abort(false); if ($force_download) { diff --git a/system/src/Grav/Console/Gpm/IndexCommand.php b/system/src/Grav/Console/Gpm/IndexCommand.php index 12ac9a6b5..f5b3e1618 100644 --- a/system/src/Grav/Console/Gpm/IndexCommand.php +++ b/system/src/Grav/Console/Gpm/IndexCommand.php @@ -67,9 +67,9 @@ class IndexCommand extends Command // index str_pad($index++ + 1, 2, '0', STR_PAD_LEFT) . ". " . // package name - "" . str_pad($package->name, 15) . " " . + "" . str_pad($package->name, 20) . " " . // slug - "[" . str_pad($slug, 15, ' ', STR_PAD_BOTH) . "] " . + "[" . str_pad($slug, 20, ' ', STR_PAD_BOTH) . "] " . // version details $this->versionDetails($package) );