diff --git a/wire/core/Selectors.php b/wire/core/Selectors.php index 2010f9e6..66d28e62 100644 --- a/wire/core/Selectors.php +++ b/wire/core/Selectors.php @@ -530,7 +530,9 @@ class Selectors extends WireArray { protected function extractValueQuick(&$str, $openingQuote, $closingQuote) { // determine where value ends - $commaPos = strpos("$str,", $closingQuote . ','); // "$str," just in case value is last and no trailing comma + $offset = 0; + if($openingQuote) $offset++; // skip over leading quote + $commaPos = strpos("$str,", $closingQuote . ',', $offset); // "$str," just in case value is last and no trailing comma if($commaPos === false && $closingQuote) { // if closing quote and comma didn't match, try to match just comma in case of "something", diff --git a/wire/modules/Process/ProcessPageLister/ProcessPageLister.module b/wire/modules/Process/ProcessPageLister/ProcessPageLister.module index 5f0380ba..814ee9c7 100644 --- a/wire/modules/Process/ProcessPageLister/ProcessPageLister.module +++ b/wire/modules/Process/ProcessPageLister/ProcessPageLister.module @@ -1309,7 +1309,23 @@ class ProcessPageLister extends Process implements ConfigurableModule { $class = ''; $statusIcon = ''; $isTrash = false; - if(!strlen($value)) $value = $this->blankLabel; + + if(!strlen($value)) { + // column is blank + $name = $p->name; + $maxNameLen = 20; + if(strlen($name) > $maxNameLen) { + $parts = explode('-', $name); + while(strlen($name) > $maxNameLen) { + array_pop($parts); + $name = implode('-', $parts); + } + if(!$name) $name = substr($p->name, 0, $maxNameLen); + $name .= '…'; + } + $value = "$this->blankLabel ($name)"; + } + if($p->hasStatus(Page::statusHidden)) $class .= " PageListStatusHidden"; if($p->hasStatus(Page::statusUnpublished)) $class .= " PageListStatusUnpublished"; if($p->hasStatus(Page::statusLocked)) {