📄 serendipity_event_statistics.php
字号:
<?php # $Id: serendipity_event_statistics.php,v 1.5 2004/04/03 17:36:17 isotopp Exp $
/*******************************************************汉化作者:youngong(http://youngong.blogbus.com) **官方主页:http://www.s9y.corg **我的信箱:youngong@163.com **如果有问题,欢迎和作者及汉化作者联系。 ********************************************************/
switch ($serendipity['lang']) {
case 'de':
@define('PLUGIN_EVENT_STATISTICS_NAME', 'Statistiken');
@define('PLUGIN_EVENT_STATISTICS_DESC', 'Zeigt einen Link zu Statistiken in der Autorenoberfl鋍he');
@define('PLUGIN_EVENT_STATISTICS_OUT_STATISTICS', 'Statistik');
@define('PLUGIN_EVENT_STATISTICS_OUT_FIRST_ENTRY', 'Erster Eintrag');
@define('PLUGIN_EVENT_STATISTICS_OUT_LAST_ENTRY', 'Letzter Eintrag');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_ENTRIES', 'Insgesamt verfasste Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_ENTRIES', 'Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_PUBLIC', ' ... davon 鰂fentlich');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_DRAFTS', ' ... davon Entw黵fe');
@define('PLUGIN_EVENT_STATISTICS_OUT_CATEGORIES', 'Vorhandene Kategorien');
@define('PLUGIN_EVENT_STATISTICS_OUT_CATEGORIES2', 'Kategorie(n)');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_CATEGORIES', 'Verteilung der Artikel auf Kategorien');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_CATEGORIES2', 'eingetragene(r) Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_UPLOADED_IMAGES', 'Hochgeladene Bilder');
@define('PLUGIN_EVENT_STATISTICS_OUT_UPLOADED_IMAGES2', 'Bild(er)');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_IMAGES', 'Verteilung der Bild-Dateitypen');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_IMAGES2', 'vorhandene Datei(en)');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS', 'Erhaltene Kommentare');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS2', 'Kommentar(e)');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS3', 'Top kommentierte Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPCOMMENTS', 'Top Kommentatoren');
@define('PLUGIN_EVENT_STATISTICS_OUT_LINK', 'Link');
@define('PLUGIN_EVENT_STATISTICS_OUT_SUBSCRIBERS', 'Abonnenten');
@define('PLUGIN_EVENT_STATISTICS_OUT_SUBSCRIBERS2', 'Abonnent(en)');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPSUBSCRIBERS', 'Top abonnierte Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPSUBSCRIBERS2', 'eingetragene(r) Abonnent(en)');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS', 'Erhaltene Trackbacks');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS2', 'Trackback(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACK', 'Top Trackback-Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACK2', 'eingetragene(r) Trackback(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACKS3', 'Top Trackbacker');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS_PER_ARTICLE', 'Durchschnittliche Kommentare pro Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS_PER_ARTICLE', 'Durchschnittliche Trackbacks pro Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_DAY', 'Durchschnittliche Artikel pro Tag');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_WEEK', 'Durchschnittliche Artikel pro Woche');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_MONTH', 'Durchschnittliche Artikel pro Monat');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS_PER_ARTICLE2', 'Kommentare/Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS_PER_ARTICLE2', 'Trackbacks/Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_DAY2', 'Artikel/Tag');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_WEEK2', 'Artikel/Woche');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_MONTH2', 'Artikel/Monat');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS', 'Menge der verfassten Zeichen');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS2', 'Zeichen');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS_PER_ARTICLE', 'Zeichen pro Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS_PER_ARTICLE2', 'Zeichen/Artikel');
@define('PLUGIN_EVENT_STATISTICS_OUT_LONGEST_ARTICLES', 'Die %s l鋘gsten Artikel');
@define('PLUGIN_EVENT_STATISTICS_MAX_ITEMS', 'Anzahl Eintr鋑e');
@define('PLUGIN_EVENT_STATISTICS_MAX_ITEMS_DESC', 'Wieviele Eintr鋑e sollen pro Wert dargestellt werden? (Standard: 20)');
break;
case 'cn':
@define('PLUGIN_EVENT_STATISTICS_NAME', '统计表');
@define('PLUGIN_EVENT_STATISTICS_DESC', '显示统计表中的项目面板的链接');
@define('PLUGIN_EVENT_STATISTICS_OUT_STATISTICS', '统计表');
@define('PLUGIN_EVENT_STATISTICS_OUT_FIRST_ENTRY', '第一栏');
@define('PLUGIN_EVENT_STATISTICS_OUT_LAST_ENTRY', '最后一栏');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_ENTRIES', '合计栏');
@define('PLUGIN_EVENT_STATISTICS_OUT_ENTRIES', '栏目');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_PUBLIC', ' ... 发表');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_DRAFTS', ' ... 草稿');
@define('PLUGIN_EVENT_STATISTICS_OUT_CATEGORIES', '分类');
@define('PLUGIN_EVENT_STATISTICS_OUT_CATEGORIES2', '所有分类');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_CATEGORIES', '栏目区分');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_CATEGORIES2', '栏目');
@define('PLUGIN_EVENT_STATISTICS_OUT_UPLOADED_IMAGES', '上传的图片');
@define('PLUGIN_EVENT_STATISTICS_OUT_UPLOADED_IMAGES2', '图片');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_IMAGES', '图片类型区分');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_IMAGES2', '文件');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS', '收到的评论');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS2', '评论');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS3', '经常被评论的网志');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPCOMMENTS', '经常参与评论的人');
@define('PLUGIN_EVENT_STATISTICS_OUT_LINK', '链接');
@define('PLUGIN_EVENT_STATISTICS_OUT_SUBSCRIBERS', '订户');
@define('PLUGIN_EVENT_STATISTICS_OUT_SUBSCRIBERS2', '订户');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPSUBSCRIBERS', '经常被评论的网志');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPSUBSCRIBERS2', '订户');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS', '收到的引用');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS2', '引用');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACK', '经常被引用的网志');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACK2', '引用');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACKS3', '经常引用的人');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS_PER_ARTICLE', '每个网志评论估计');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS_PER_ARTICLE', '每个网志引用估计');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_DAY', '每天网志数估计');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_WEEK', '每星期网志数估计');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_MONTH', '每月网志数估计');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS_PER_ARTICLE2', '评论数/网志');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS_PER_ARTICLE2', '引用数/网志');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_DAY2', '网志数/天');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_WEEK2', '网志数/星期');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_MONTH2', '网志数/月');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS', '字符总数');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS2', '字符');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS_PER_ARTICLE', '平均每个网专的字数');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS_PER_ARTICLE2', '字数/网志');
@define('PLUGIN_EVENT_STATISTICS_OUT_LONGEST_ARTICLES', '%s 最长的网志');
@define('PLUGIN_EVENT_STATISTICS_MAX_ITEMS', '最多的项目');
@define('PLUGIN_EVENT_STATISTICS_MAX_ITEMS_DESC', '每个统计表显示多少项目? (默认:20)');
break;
case 'en':
case 'es':
default:
@define('PLUGIN_EVENT_STATISTICS_NAME', 'Statistics');
@define('PLUGIN_EVENT_STATISTICS_DESC', 'Display a link to statistics in entries-panel');
@define('PLUGIN_EVENT_STATISTICS_OUT_STATISTICS', 'Statistics');
@define('PLUGIN_EVENT_STATISTICS_OUT_FIRST_ENTRY', 'First entry');
@define('PLUGIN_EVENT_STATISTICS_OUT_LAST_ENTRY', 'Last entry');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_ENTRIES', 'Total entries');
@define('PLUGIN_EVENT_STATISTICS_OUT_ENTRIES', 'entries');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_PUBLIC', ' ... public');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOTAL_DRAFTS', ' ... drafts');
@define('PLUGIN_EVENT_STATISTICS_OUT_CATEGORIES', 'Categories');
@define('PLUGIN_EVENT_STATISTICS_OUT_CATEGORIES2', 'categories');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_CATEGORIES', 'Distribution of entries');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_CATEGORIES2', 'entry');
@define('PLUGIN_EVENT_STATISTICS_OUT_UPLOADED_IMAGES', 'Uploaded images');
@define('PLUGIN_EVENT_STATISTICS_OUT_UPLOADED_IMAGES2', 'image(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_IMAGES', 'Distribution of image types');
@define('PLUGIN_EVENT_STATISTICS_OUT_DISTRIBUTION_IMAGES2', 'file(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS', 'Received comments');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS2', 'comment(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS3', 'Most frequently commented entries');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPCOMMENTS', 'Most frequently commenting people');
@define('PLUGIN_EVENT_STATISTICS_OUT_LINK', 'link');
@define('PLUGIN_EVENT_STATISTICS_OUT_SUBSCRIBERS', 'Subscribers');
@define('PLUGIN_EVENT_STATISTICS_OUT_SUBSCRIBERS2', 'subscriber(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPSUBSCRIBERS', 'Most frequently subscribed entries');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPSUBSCRIBERS2', 'subscriber(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS', 'Received trackbacks');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS2', 'trackback(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACK', 'Most frequently trackbacked entires');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACK2', 'trackback(s)');
@define('PLUGIN_EVENT_STATISTICS_OUT_TOPTRACKBACKS3', 'Most frequently trackbacking people');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS_PER_ARTICLE', 'estimated comments per entry');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS_PER_ARTICLE', 'estimated trackbacks per entry');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_DAY', 'estimated entries per day');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_WEEK', 'estimated entries per week');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_MONTH', 'estimated entries per month');
@define('PLUGIN_EVENT_STATISTICS_OUT_COMMENTS_PER_ARTICLE2', 'comments/entries');
@define('PLUGIN_EVENT_STATISTICS_OUT_TRACKBACKS_PER_ARTICLE2', 'trackbacks/entry');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_DAY2', 'entries/day');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_WEEK2', 'entries/week');
@define('PLUGIN_EVENT_STATISTICS_OUT_ARTICLES_PER_MONTH2', 'entries/month');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS', 'Total amount of characters');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS2', 'characters');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS_PER_ARTICLE', 'Characters per entry');
@define('PLUGIN_EVENT_STATISTICS_OUT_CHARS_PER_ARTICLE2', 'chars/entry');
@define('PLUGIN_EVENT_STATISTICS_OUT_LONGEST_ARTICLES', 'The %s longest entries');
@define('PLUGIN_EVENT_STATISTICS_MAX_ITEMS', 'Maximum items');
@define('PLUGIN_EVENT_STATISTICS_MAX_ITEMS_DESC', 'How many items to display per statistical value? (Default: 20)');
break;
}
class serendipity_event_statistics extends serendipity_event
{
function introspect(&$propbag)
{
global $serendipity;
$propbag->add('name', PLUGIN_EVENT_STATISTICS_NAME);
$propbag->add('description', PLUGIN_EVENT_STATISTICS_DESC);
$propbag->add('event_hooks', array(
'backend_sidebar_entries' => true,
'backend_sidebar_entries_event_display_statistics' => true
));
$propbag->add('configuration', array('max_items'));
}
function introspect_config_item($name, &$propbag)
{
switch($name) {
case 'max_items':
$propbag->add('type', 'string');
$propbag->add('name', PLUGIN_EVENT_STATISTICS_MAX_ITEMS);
$propbag->add('description', PLUGIN_EVENT_STATISTICS_MAX_ITEMS_DESC);
break;
}
return true;
}
function generate_content(&$title) {
$title = PLUGIN_EVENT_STATISTICS_NAME;
}
function event_hook($event, &$bag, &$eventData) {
global $serendipity;
$hooks = &$bag->get('event_hooks');
if (isset($hooks[$event])) {
switch($event) {
case 'backend_sidebar_entries':
// if ($serendipity['serendipityUserlevel'] >= USERLEVEL_EDITOR) {
?>
• <a href="?serendipity[adminModule]=event_display&serendipity[adminAction]=statistics"><?php echo PLUGIN_EVENT_STATISTICS_NAME; ?></a><br />
<?php
// }
break;
case 'backend_sidebar_entries_event_display_statistics':
$max_items = $this->get_config('max_items');
if (!$max_items || !is_numeric($max_items) || $max_items < 1) {
$max_items = 20;
}
$first_entry = serendipity_db_query("SELECT timestamp FROM {$serendipity['dbPrefix']}entries ORDER BY timestamp ASC limit 1", true);
$last_entry = serendipity_db_query("SELECT timestamp FROM {$serendipity['dbPrefix']}entries ORDER BY timestamp DESC limit 1", true);
$total_count = serendipity_db_query("SELECT count(id) FROM {$serendipity['dbPrefix']}entries", true);
$draft_count = serendipity_db_query("SELECT count(id) FROM {$serendipity['dbPrefix']}entries WHERE isdraft = 'true'", true);
$publish_count = serendipity_db_query("SELECT count(id) FROM {$serendipity['dbPrefix']}entries WHERE isdraft = 'false'", true);
$category_count = serendipity_db_query("SELECT count(categoryid) FROM {$serendipity['dbPrefix']}category", true);
$category_rows = serendipity_db_query("SELECT c.category_name, count(e.id) as postings
FROM {$serendipity['dbPrefix']}category c,
{$serendipity['dbPrefix']}entries e
WHERE e.categoryid = c.categoryid
GROUP BY e.categoryid
ORDER BY postings DESC");
$image_count = serendipity_db_query("SELECT count(id) FROM {$serendipity['dbPrefix']}images", true);
$image_rows = serendipity_db_query("SELECT extension, count(id) AS images FROM {$serendipity['dbPrefix']}images GROUP BY extension ORDER BY images DESC");
$subscriber_count = count(serendipity_db_query("SELECT count(id) FROM {$serendipity['dbPrefix']}comments WHERE type = 'NORMAL' AND subscribed = 'true' GROUP BY email"));
$subscriber_rows = serendipity_db_query("SELECT e.id, e.title, count(c.id) as postings
FROM {$serendipity['dbPrefix']}comments c,
{$serendipity['dbPrefix']}entries e
WHERE e.id = c.entry_id AND type = 'NORMAL' AND subscribed = 'true'
GROUP BY e.id, c.email
ORDER BY postings DESC
LIMIT $max_items");
$comment_count = serendipity_db_query("SELECT count(id) FROM {$serendipity['dbPrefix']}comments WHERE type = 'NORMAL'", true);
$comment_rows = serendipity_db_query("SELECT e.id, e.title, count(c.id) as postings
FROM {$serendipity['dbPrefix']}comments c,
{$serendipity['dbPrefix']}entries e
WHERE e.id = c.entry_id AND type = 'NORMAL'
GROUP BY e.id
ORDER BY postings DESC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -