* details. * * You should have received a copy of the GNU General Public License along with * SimpleSearch; if not, write to the Free Software Foundation, Inc., 59 Temple Place, * Suite 330, Boston, MA 02111-1307 USA * * @package simplesearch */ /** * Show the search form * * @var modX $modx * @var array $scriptProperties * @package simplesearch */ require_once $modx->getOption('sisea.core_path', null, $modx->getOption('core_path') . 'components/simplesearch/') . 'model/simplesearch/simplesearch.class.php'; $search = new SimpleSearch($modx, $scriptProperties); /* setup default options */ $scriptProperties = array_merge(array('tpl' => 'SearchForm', 'method' => 'get', 'searchIndex' => 'search', 'toPlaceholder' => false, 'landing' => $modx->resource->get('id')), $scriptProperties); if (empty($scriptProperties['landing'])) { $scriptProperties['landing'] = $modx->resource->get('id'); } /* if get value already exists, set it as default */ $searchValue = isset($_REQUEST[$scriptProperties['searchIndex']]) ? $_REQUEST[$scriptProperties['searchIndex']] : ''; $searchValues = explode(' ', $searchValue); array_map(array($modx, 'sanitizeString'), $searchValues); $searchValue = implode(' ', $searchValues); $placeholders = array('method' => $scriptProperties['method'], 'landing' => $scriptProperties['landing'], 'searchValue' => strip_tags(str_replace(array('[', ']', '"', "'"), array('[', ']', '"', '''), $searchValue)), 'searchIndex' => $scriptProperties['searchIndex']); $output = $search->getChunk($scriptProperties['tpl'], $placeholders); return $search->output($output, $scriptProperties['toPlaceholder']);
* SimpleSearch snippet * * @var modX $modx * @var array $scriptProperties * @package simplesearch */ require_once $modx->getOption('sisea.core_path', null, $modx->getOption('core_path') . 'components/simplesearch/') . 'model/simplesearch/simplesearch.class.php'; $search = new SimpleSearch($modx, $scriptProperties); /* find search index and toplaceholder setting */ $searchIndex = $modx->getOption('searchIndex', $scriptProperties, 'search'); $toPlaceholder = $modx->getOption('toPlaceholder', $scriptProperties, false); $noResultsTpl = $modx->getOption('noResultsTpl', $scriptProperties, 'SearchNoResults'); /* get search string */ if (empty($_REQUEST[$searchIndex])) { $output = $search->getChunk($noResultsTpl, array('query' => '')); return $search->output($output, $toPlaceholder); } $searchString = $search->parseSearchString($_REQUEST[$searchIndex]); if (!$searchString) { $output = $search->getChunk($noResultsTpl, array('query' => $searchString)); return $search->output($output, $toPlaceholder); } /* setup default properties */ $tpl = $modx->getOption('tpl', $scriptProperties, 'SearchResult'); $containerTpl = $modx->getOption('containerTpl', $scriptProperties, 'SearchResults'); $showExtract = $modx->getOption('showExtract', $scriptProperties, true); $extractSource = $modx->getOption('extractSource', $scriptProperties, 'content'); $extractLength = $modx->getOption('extractLength', $scriptProperties, 200); $extractEllipsis = $modx->getOption('extractEllipsis', $scriptProperties, '...'); $highlightResults = $modx->getOption('highlightResults', $scriptProperties, true); $highlightClass = $modx->getOption('highlightClass', $scriptProperties, 'sisea-highlight');