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)
);