diff --git a/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php b/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php index 782697a845..30af2bdd08 100644 --- a/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php +++ b/assets/snippets/ajaxSearch/classes/ajaxSearchResults.class.inc.php @@ -529,7 +529,7 @@ function _getExtract($text, $searchString, $advSearch, $highlightClass, &$nbExtr $wordLength = $mbStrlen($searchTerm); $wordLength2 = $wordLength / 2; // $pattern = '/' . preg_quote($searchTerm, '/') . $lookAhead . '/' . $pcreModifier; - if ($advSearch == EXACTPHRASE) $pattern = '/\b' . preg_quote($searchTerm, '/') . '\b/' . $pcreModifier; + if ($advSearch == EXACTPHRASE) $pattern = '/(\b|\W)' . preg_quote($searchTerm, '/') . '(\b|\W)/' . $pcreModifier; else $pattern = '/' . preg_quote($searchTerm, '/') . '/' . $pcreModifier; $matches = array(); $nbr = preg_match_all($pattern, $text, $matches, PREG_OFFSET_CAPTURE); @@ -592,7 +592,7 @@ function _getExtract($text, $searchString, $advSearch, $highlightClass, &$nbExtr if ($this->asCfg->cfg['highlightResult']) { $rank = $extracts[$i]['rank']; $searchTerm = $searchList[$rank - 1]; - if ($advSearch == EXACTPHRASE) $pattern = '/\b' . preg_quote($searchTerm, '/') . '\b/' . $pcreModifier; + if ($advSearch == EXACTPHRASE) $pattern = '/(\b|\W)' . preg_quote($searchTerm, '/') . '(\b|\W)/' . $pcreModifier; else $pattern = '/' . preg_quote($searchTerm, '/') . '/' . $pcreModifier; $subject = '\0'; $extract = preg_replace($pattern, $subject, $extract); @@ -881,7 +881,7 @@ function _doFilterTags($results, $searchString, $advSearch) { $searchList = $this->asCtrl->getSearchWords($searchString, $advSearch); $pcreModifier = $this->asCfg->pcreModifier; foreach ($searchList as $searchTerm) { - if ($advSearch == EXACTPHRASE) $pattern = '/\b' . preg_quote($searchTerm, '/') . '\b/' . $pcreModifier; + if ($advSearch == EXACTPHRASE) $pattern = '/(\b|\W)' . preg_quote($searchTerm, '/') . '(\b|\W)/' . $pcreModifier; else $pattern = '/' . preg_quote($searchTerm, '/') . '/' . $pcreModifier; $matches = array(); $found = preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE); diff --git a/assets/snippets/ditto/classes/filter.class.inc.php b/assets/snippets/ditto/classes/filter.class.inc.php index 6f874f1a64..6d2056ac85 100644 --- a/assets/snippets/ditto/classes/filter.class.inc.php +++ b/assets/snippets/ditto/classes/filter.class.inc.php @@ -128,12 +128,20 @@ function basicFilter ($value) { if (trim($ii) == trim($iii)) $check++; } - - } + } } $unset = $check>0 ? 1 : 0; unset($val,$check); - break; + break; + // Cases 21-22 created by Sergey Davydov 08.11.2011 + case 21 : // array version of #1 - exlude records that do not in miltiple values such a "65||115" and have output delimeted list by comma + if (!isset ($value[$this->array_key]) || !in_array($this->filterValue,explode(',',$value[$this->array_key]))) + $unset = 0; + break; + case 22 : // array version of #2 - exlude records that in miltiple values such a "65||115" and have output delimeted list by comma + if (in_array($this->filterValue,explode(',',$value[$this->array_key]))) + $unset = 0; + break; } return $unset; } diff --git a/assets/snippets/phpthumb/snippet.phpthumb.php b/assets/snippets/phpthumb/snippet.phpthumb.php index 35e24c3af6..ecee972a61 100644 --- a/assets/snippets/phpthumb/snippet.phpthumb.php +++ b/assets/snippets/phpthumb/snippet.phpthumb.php @@ -5,6 +5,7 @@ $cacheFolder=isset($cacheFolder) ? $cacheFolder : "assets/cache/images"; $tmpFolder = 'assets/cache/tmp'; +if (!empty($input)) $input = rawurldecode($input); if(empty($input) || !file_exists(MODX_BASE_PATH . $input)){ $input = isset($noImage) ? $noImage : 'assets/snippets/phpthumb/noimage.png'; @@ -15,8 +16,6 @@ file_put_contents(MODX_BASE_PATH . $cacheFolder . '/.htaccess', "order deny,allow\nallow from all\n"); } -$options = 'f=jpg&q=96&'.strtr($options, Array("," => "&", "_" => "=", '{' => '[', '}' => ']')); -parse_str($options, $params); if(!is_dir(MODX_BASE_PATH.$tmpFolder)) mkdir(MODX_BASE_PATH.$tmpFolder); @@ -24,7 +23,9 @@ $tmpImagesFolder=str_replace(MODX_BASE_PATH . "assets/images","",$path_parts['dirname']); $tmpImagesFolder=str_replace("assets/images","",$tmpImagesFolder); $tmpImagesFolder=explode("/",$tmpImagesFolder); - +$ext=strtolower($path_parts['extension']); +$options = 'f='.(in_array($ext,explode(",","png,gif"))?$ext:"jpg&q=96").'&'.strtr($options, Array("," => "&", "_" => "=", '{' => '[', '}' => ']')); +parse_str($options, $params); foreach ($tmpImagesFolder as $folder) { if (!empty($folder)) { $cacheFolder.="/".$folder; @@ -32,8 +33,9 @@ } } -$fname=$cacheFolder."/".$params['w']."x".$params['h'].'-'.$path_parts['filename'].".".substr(md5(serialize($params)),0,3).".".$params['f']; -$outputFilename =MODX_BASE_PATH.$fname; +$fname_preffix=$cacheFolder."/".$params['w']."x".$params['h'].'-'; +$fname = $path_parts['filename'].".".substr(md5(serialize($params)),0,3).".".$params['f']; +$outputFilename =MODX_BASE_PATH.$fname_preffix.$fname; if (!file_exists($outputFilename)) { require_once MODX_BASE_PATH.'assets/snippets/phpthumb/phpthumb.class.php'; $phpThumb = new phpthumb(); @@ -48,5 +50,5 @@ $modx->logEvent(0, 3, implode('
', $phpThumb->debugmessages), 'phpthumb'); } } -return $fname; +return $fname_preffix.rawurlencode($fname); ?> \ No newline at end of file diff --git a/install/action.options.php b/install/action.options.php index 6a8f5b3393..3ab63b1772 100644 --- a/install/action.options.php +++ b/install/action.options.php @@ -119,7 +119,7 @@ for ($i = 0; $i < $limit; $i++) { $class = !in_array('sample', $moduleTVs[$i][12]) ? "toggle" : "toggle demo"; $chk = in_array($i, $tvs) || (!$options_selected) ? 'checked="checked"' : ""; - $tvOutput .= "" . $_lang['install_update'] . " " . $moduleTVs[$i][0] . " - " . $moduleTVs[$i][2] . "
\n"; + $tvOutput .= "" . $_lang['install_update'] . " " . $moduleTVs[$i][0] . " - {$moduleTVs[$i][1]} ({$moduleTVs[$i][2]})
\n"; } if($tvOutput != '') { echo "

" . $_lang['tvs'] . "


\n"; diff --git a/install/style.css b/install/style.css index 65c2efac5c..2373ed9b9a 100755 --- a/install/style.css +++ b/install/style.css @@ -383,6 +383,12 @@ font-size:1.3em; #rtl #installChoices input { margin: 0 0 10px 10px; } +#installChoices .comname { + font-weight: bold; +} +#installChoices .description { + font-size: 0.9em; +} p.labelHolder { clear: left;