Esempio n. 1
0
function help_search($appname, $query, $lang)
{
    loader_import('saf.File');
    loader_import('saf.File.Directory');
    $query = help_split_query($query);
    //info ($query);
    $files = Dir::find('*.html', 'inc/app/' . $appname . '/docs/' . $lang);
    if (count($files) == 0) {
        return false;
        // no help files
    }
    $results = array();
    foreach ($files as $file) {
        if (strstr($file, '/.')) {
            continue;
        }
        if ($hits = File::contains($query, false, $file, true, 'strip_tags')) {
            $results[] = help_extract_info($file, $query, $hits);
        }
    }
    // sort by hits now
    for ($i = 0; $i < count($results); $i++) {
        for ($j = $i + 1; $j < count($results); $j++) {
            if ($results[$j]->hits > $results[$i]->hits) {
                $tmp = $results[$j];
                $results[$j] = $results[$i];
                $results[$i] = $tmp;
            }
        }
    }
    return $results;
}
Esempio n. 2
0
if (!$parameters['query']) {
    echo template_simple('search.spt', $parameters);
    return;
}
loader_import('news.Functions');
loader_import('news.Story');
$story = new NewsStory();
if (!$parameters['limit']) {
    $parameters['limit'] = 10;
}
if (!$parameters['offset']) {
    $parameters['offset'] = 0;
}
$story->limit($parameters['limit']);
$story->offset($parameters['offset']);
loader_import('help.Help');
$params = array();
foreach (help_split_query($parameters['query']) as $item) {
    $q = db_quote('%' . $item . '%');
    $params[] = 'title like ' . $q . ' or
		summary like ' . $q . ' or
		body like ' . $q;
}
$parameters['results'] = $story->find($params);
$parameters['total'] = $story->total;
loader_import('saf.GUI.Pager');
$pg = new Pager($parameters['offset'], $parameters['limit'], $parameters['total']);
$pg->getInfo();
$pg->setUrl(site_prefix() . '/index/news-search-action?query=' . urlencode($parameters['query']));
template_simple_register('pager', $pg);
echo template_simple('search.spt', $parameters);
Esempio n. 3
0
    foreach ($pages as $file) {
        $id = help_get_id($file);
        if ($id == 'index') {
            continue;
        }
        $body = @join(@file($file));
        $title = help_get_title($body, $id);
        echo '<li><a href="' . site_prefix() . '/index/help-app?appname=' . $parameters['appname'] . '&lang=' . $parameters['lang'] . '&helpfile=' . $id . '">' . $title . '</a></li>';
    }
    echo '</ol>';
    return;
}
$out = join('', file('inc/app/' . $parameters['appname'] . '/docs/' . $parameters['lang'] . '/' . $parameters['helpfile'] . '.html'));
if (!empty($parameters['highlight'])) {
    loader_import('help.Help');
    foreach (help_split_query($parameters['highlight']) as $item) {
        $out = preg_replace('/(' . preg_quote($item, '/') . ')/i', '<span style=\'background-color: #ff0\'>\\1</span>', $out);
    }
    $out = '<p style=\'background-color: #ff0; padding: 3px; margin-top: 20px\'><strong>' . intl_get('Highlighting Search Terms') . '</strong>: ' . htmlentities($parameters['highlight']) . '</p>' . $out;
}
// build navigation
$pages = help_get_pages($parameters['appname'], $parameters['lang']);
$previous = help_get_previous($parameters['appname'], $parameters['lang'], $parameters['helpfile'], $pages);
if ($previous) {
    $data['previous_id'] = $previous['id'];
    $data['previous_title'] = $previous['title'];
} else {
    $data['previous_id'] = false;
}
$next = help_get_next($parameters['appname'], $parameters['lang'], $parameters['helpfile'], $pages);
if ($next) {