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;