示例#1
0
function a587_stats_addtruncate($params)
{
    global $I18N;
    if (rex_request('func') == 'truncate') {
        $stats = new rexsearchStats();
        $stats->truncate();
        a587_stats_saveSettings(array('maxtopSearchitems' => '10', 'searchtermselect' => '', 'searchtermselectmonthcount' => '12'));
        $params['subject'] = rex_info($I18N->Msg('a587_stats_truncate_done')) . $params['subject'];
    }
    $params['subject'] .= '<p class="rex-tx1">' . $I18N->Msg('a587_stats_truncate') . '</p>
<p class="rex-button"><a onclick="return confirm(\'' . $I18N->Msg('a587_stats_truncate_confirm') . '\');" href="index.php?page=rexsearch&amp;subpage=generate&amp;func=truncate" class="rex-button"><span>' . $I18N->Msg('a587_stats_truncate_button') . '</span></a></p>';
    return $params['subject'];
}
示例#2
0
<?php

if (isset($_POST['sendit'])) {
    a587_stats_saveSettings($_POST['a587_rexsearch_stats']);
    header('Location: http://' . $_SERVER['HTTP_HOST'] . substr($_SERVER["PHP_SELF"], 0, -9) . 'index.php?page=rexsearch&subpage=stats');
}
$parent = 'rexsearch';
$mypage = 'stats';
$basedir = dirname(__FILE__);
$page = rex_request('page', 'string');
$subpage = rex_request('subpage', 'string');
$func = rex_request('func', 'string');
if (!empty($func)) {
    switch ($func) {
        case 'image':
            require $basedir . '/../images/' . rex_request('image', 'string') . '.inc.php';
            exit;
            break;
        case 'topsearchterms':
            require 'ajax.inc.php';
            exit;
            break;
    }
}
include $REX['INCLUDE_PATH'] . '/layout/top.php';
rex_title("rexsearch", $REX['ADDON'][$page]['SUBPAGES']);
?>
<div class="rex-addon-output" id="a587-form">
<h2 class="rex-hl2" style="position: relative;"><?php 
echo $I18N->Msg('a587_stats_title');
?>
<?php

$REX['ADDON']['rexsearch_plugins'][$parent][$mypage]['settings']['searchtermselect'] = rex_get('term', 'string', '');
$REX['ADDON']['rexsearch_plugins'][$parent][$mypage]['settings']['searchtermselectmonthcount'] = rex_get('monthcount', 'int', 12);
a587_stats_saveSettings($REX['ADDON']['rexsearch_plugins'][$parent][$mypage]['settings']);
if ($REX['ADDON']['rexsearch_plugins'][$parent][$mypage]['settings']['searchtermselect'] == 'all') {
    $term = '';
} else {
    $term = substr($REX['ADDON']['rexsearch_plugins'][$parent][$mypage]['settings']['searchtermselect'], 1);
}
$basedir = dirname(__FILE__);
require_once $basedir . '/phplot/phplot.php';
$stats = new RexSearchStats();
// fetch data
$bardata = array();
$cumulateddata = array();
$max = 1;
foreach ($stats->getTimestats($term, $REX['ADDON']['rexsearch_plugins'][$parent][$mypage]['settings']['searchtermselectmonthcount']) as $month) {
    $bardata[] = array(date('M', mktime(0, 0, 0, $month['m'], 1, 2010)) . "\n" . $month['count'], $month['count']);
    if ($month['count'] > $max) {
        $max = $month['count'];
    }
}
$title = $I18N->Msg('a587_stats_searchterm_timestats_title', empty($term) ? $I18N->Msg('a587_stats_searchterm_timestats_title0_all') : $I18N->Msg('a587_stats_searchterm_timestats_title0_single', $term), intval($_GET['monthcount']));
if (rex_lang_is_utf8()) {
    $title = utf8_decode($title);
}
// draw bars
$plot = new PHPlot(700, 240);
$plot->SetImageBorderType('none');
$plot->SetTransparentColor('white');
示例#4
0
$REX['ADDON']['version'][$mypage] = '0.2.1';
$REX['ADDON']['author'][$mypage] = 'Robert Rupf';
$REX['ADDON']['supportpage'][$mypage] = 'forum.redaxo.de';
$REX['EXTRAPERM'][] = 'rexsearch[stats]';
require dirname(__FILE__) . '/classes/class.stats.inc.php';
require dirname(__FILE__) . '/functions/functions.inc.php';
rex_register_extension('A587_SEARCH_EXECUTED', 'a587_stats_storekeywords');
if (is_object($REX['USER']) and ($REX['USER']->hasPerm('rexsearch[stats]') or $REX['USER']->isAdmin())) {
    if ($REX['REDAXO']) {
        $I18N->appendFile(dirname(__FILE__) . '/lang/');
        $REX['ADDON']['rexsearch_plugins']['rexsearch'][$mypage]['subpages'][] = array('stats', $I18N->Msg('a587_stats_title'));
    }
    rex_register_extension('A587_PAGE_MAINTENANCE', 'a587_stats_addtruncate');
    // Including CSS-File for Backend
    if ($REX['REDAXO'] and rex_request('subpage', 'string') == $mypage) {
        function a587_stats_add_css($params)
        {
            $parent = 'rexsearch';
            $mypage = 'stats';
            if (function_exists('str_ireplace')) {
                return str_ireplace('</head>', "\t" . '<link rel="stylesheet" type="text/css" href="../files/addons/' . $parent . '/plugins/' . $mypage . '/' . $mypage . '.css" />' . "\n" . '</head>', $params['subject']);
            }
            return str_replace('</head>', "\t" . '<link rel="stylesheet" type="text/css" href="../files/addons/' . $parent . '/plugins/' . $mypage . '/' . $mypage . '.css" />' . "\n" . '</head>', $params['subject']);
        }
        rex_register_extension('OUTPUT_FILTER', 'a587_stats_add_css');
    }
    if (!file_exists($settingFile = dirname(__FILE__) . '/settings.conf')) {
        a587_stats_saveSettings(array('maxtopSearchitems' => 10, 'searchtermselect' => '', 'searchtermselectmonthcount' => 12));
    }
    $REX['ADDON']['rexsearch_plugins'][$parent][$mypage]['settings'] = a587_config_unserialize(rex_get_file_contents($settingFile));
}