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&subpage=generate&func=truncate" class="rex-button"><span>' . $I18N->Msg('a587_stats_truncate_button') . '</span></a></p>'; return $params['subject']; }
<?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');
$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)); }