Version Description
(January 2015) =
- Fixed: Use the X-Forwarded-For header, if it is set, to determine remote IP address. Should now correctly store IP addresses for servers behind load balancers or for clients going through proxies. Fixes https://wordpress.org/support/topic/use-x-forwarded-for-http-header-when-logging-remote_addr.
- Changed: Failed login attempts from unknown and known users are now grouped together. This change was made because a hacker could make many login attempts to a site and rotate the logins, so they would try with both existing and non existing user names, which would make the log flood with failed login attempts.
- Changed: use "n similar events" instead of "n more", to more cleary mark that the grouped events are not necessary exactly the same kind.
- Changed: Quick stats text changed, to also include other sources. Previous behavior was to only include events from WordPress users, but now also events from anonymous users and WordPress (like from WP-Cron) are included.
Download this release
Release Info
Developer | eskapism |
Plugin | Simple History |
Version | 2.0.16 |
Comparing to | |
See all releases |
Code changes from version 2.0.15 to 2.0.16
- SimpleHistory.php +111 -4
- dropins/SimpleHistoryFilterDropin.css +10 -4
- index.php +5 -1
- languages/simple-history-sv_SE.mo +0 -0
- languages/simple-history-sv_SE.po +107 -86
- languages/simple-history.pot +103 -85
- loggers/SimpleCommentsLogger.php +67 -66
- loggers/SimpleLogger.php +91 -75
- loggers/SimpleUserLogger.php +8 -4
- readme.txt +8 -1
SimpleHistory.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
class SimpleHistory {
|
7 |
|
8 |
const NAME = "Simple History";
|
9 |
-
const VERSION = "2.0.
|
10 |
|
11 |
/**
|
12 |
* Capability required to view the history log
|
@@ -1649,13 +1649,14 @@ class SimpleHistory {
|
|
1649 |
// subsequentOccasions = including the current one
|
1650 |
$occasions_count = $oneLogRow->subsequentOccasions - 1;
|
1651 |
$occasions_html = "";
|
|
|
1652 |
if ($occasions_count > 0) {
|
1653 |
|
1654 |
$occasions_html = '<div class="SimpleHistoryLogitem__occasions">';
|
1655 |
|
1656 |
$occasions_html .= '<a href="#" class="SimpleHistoryLogitem__occasionsLink">';
|
1657 |
$occasions_html .= sprintf(
|
1658 |
-
|
1659 |
$occasions_count
|
1660 |
);
|
1661 |
$occasions_html .= '</a>';
|
@@ -2080,7 +2081,10 @@ class SimpleHistory {
|
|
2080 |
"date_from" => strtotime("today")
|
2081 |
));
|
2082 |
|
|
|
2083 |
$sql_loggers_in = $this->getLoggersThatUserCanRead(get_current_user_id(), "sql");
|
|
|
|
|
2084 |
$sql_users_today = sprintf('
|
2085 |
SELECT
|
2086 |
DISTINCT(c.value) AS user_id
|
@@ -2100,6 +2104,44 @@ class SimpleHistory {
|
|
2100 |
);
|
2101 |
|
2102 |
$results_users_today = $wpdb->get_results($sql_users_today);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2103 |
|
2104 |
?>
|
2105 |
<div class="SimpleHistoryQuickStats">
|
@@ -2108,6 +2150,69 @@ class SimpleHistory {
|
|
2108 |
|
2109 |
$msg_tmpl = "";
|
2110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2111 |
if ( $logResults["total_row_count"] == 0 ) {
|
2112 |
|
2113 |
$msg_tmpl = __("No events today so far.", "simple-history");
|
@@ -2125,14 +2230,16 @@ class SimpleHistory {
|
|
2125 |
$msg_tmpl = __('%1$d events today from one user.', "simple-history");
|
2126 |
|
2127 |
}
|
|
|
2128 |
|
2129 |
// only show stats if we have something to output
|
2130 |
if ( $msg_tmpl ) {
|
2131 |
|
2132 |
printf(
|
2133 |
$msg_tmpl,
|
2134 |
-
$logResults["total_row_count"],
|
2135 |
-
|
|
|
2136 |
);
|
2137 |
|
2138 |
// Space between texts
|
6 |
class SimpleHistory {
|
7 |
|
8 |
const NAME = "Simple History";
|
9 |
+
const VERSION = "2.0.16";
|
10 |
|
11 |
/**
|
12 |
* Capability required to view the history log
|
1649 |
// subsequentOccasions = including the current one
|
1650 |
$occasions_count = $oneLogRow->subsequentOccasions - 1;
|
1651 |
$occasions_html = "";
|
1652 |
+
|
1653 |
if ($occasions_count > 0) {
|
1654 |
|
1655 |
$occasions_html = '<div class="SimpleHistoryLogitem__occasions">';
|
1656 |
|
1657 |
$occasions_html .= '<a href="#" class="SimpleHistoryLogitem__occasionsLink">';
|
1658 |
$occasions_html .= sprintf(
|
1659 |
+
_n('+%1$s similar event', '+%1$s similar events', $occasions_count, "simple-history"),
|
1660 |
$occasions_count
|
1661 |
);
|
1662 |
$occasions_html .= '</a>';
|
2081 |
"date_from" => strtotime("today")
|
2082 |
));
|
2083 |
|
2084 |
+
// Get sql query for where to read only loggers current user is allowed to read/view
|
2085 |
$sql_loggers_in = $this->getLoggersThatUserCanRead(get_current_user_id(), "sql");
|
2086 |
+
|
2087 |
+
// Get number of users today, i.e. events with wp_user as initiator
|
2088 |
$sql_users_today = sprintf('
|
2089 |
SELECT
|
2090 |
DISTINCT(c.value) AS user_id
|
2104 |
);
|
2105 |
|
2106 |
$results_users_today = $wpdb->get_results($sql_users_today);
|
2107 |
+
$count_users_today = sizeof( $results_users_today );
|
2108 |
+
|
2109 |
+
// Get number of other sources (not wp_user)
|
2110 |
+
$sql_other_sources_where = sprintf(
|
2111 |
+
'
|
2112 |
+
initiator <> "wp_user"
|
2113 |
+
AND logger IN %1$s
|
2114 |
+
AND date > "%2$s"
|
2115 |
+
',
|
2116 |
+
$sql_loggers_in,
|
2117 |
+
date("Y-m-d H:i", strtotime("today")),
|
2118 |
+
$wpdb->prefix . SimpleHistory::DBTABLE,
|
2119 |
+
$wpdb->prefix . SimpleHistory::DBTABLE_CONTEXTS
|
2120 |
+
);
|
2121 |
+
|
2122 |
+
$sql_other_sources_where = apply_filters("simple_history/quick_stats_where", $sql_other_sources_where);
|
2123 |
+
|
2124 |
+
$sql_other_sources = sprintf('
|
2125 |
+
SELECT
|
2126 |
+
DISTINCT(h.initiator) AS initiator
|
2127 |
+
FROM %3$s AS h
|
2128 |
+
WHERE
|
2129 |
+
%5$s
|
2130 |
+
',
|
2131 |
+
$sql_loggers_in,
|
2132 |
+
date("Y-m-d H:i", strtotime("today")),
|
2133 |
+
$wpdb->prefix . SimpleHistory::DBTABLE,
|
2134 |
+
$wpdb->prefix . SimpleHistory::DBTABLE_CONTEXTS,
|
2135 |
+
$sql_other_sources_where // 5
|
2136 |
+
);
|
2137 |
+
// sf_d($sql_other_sources, '$sql_other_sources');
|
2138 |
+
|
2139 |
+
$results_other_sources_today = $wpdb->get_results($sql_other_sources);
|
2140 |
+
$count_other_sources = sizeof( $results_other_sources_today );
|
2141 |
+
|
2142 |
+
#sf_d($logResults, '$logResults');
|
2143 |
+
#sf_d($results_users_today, '$sql_users_today');
|
2144 |
+
#sf_d($results_other_sources_today, '$results_other_sources_today');
|
2145 |
|
2146 |
?>
|
2147 |
<div class="SimpleHistoryQuickStats">
|
2150 |
|
2151 |
$msg_tmpl = "";
|
2152 |
|
2153 |
+
// No results today at all
|
2154 |
+
if ( $logResults["total_row_count"] == 0 ) {
|
2155 |
+
|
2156 |
+
$msg_tmpl = __("No events today so far.", "simple-history");
|
2157 |
+
|
2158 |
+
} else {
|
2159 |
+
|
2160 |
+
/*
|
2161 |
+
Type of results
|
2162 |
+
x1 event today from 1 user.
|
2163 |
+
x1 event today from 1 source.
|
2164 |
+
x2 events today from 2 users.
|
2165 |
+
x2 events today from 1 user and 1 other source.
|
2166 |
+
x3 events today from 2 users and 1 other source.
|
2167 |
+
x3 events today from 1 user and 2 other sources.
|
2168 |
+
x4 events today from 2 users and 2 other sources.
|
2169 |
+
*/
|
2170 |
+
|
2171 |
+
// A single event existed and was from a user
|
2172 |
+
// 1 event today from 1 user.
|
2173 |
+
if ( $logResults["total_row_count"] == 1 && $count_users_today ) {
|
2174 |
+
$msg_tmpl .= __('One event today from one user.', "simple-history");
|
2175 |
+
}
|
2176 |
+
|
2177 |
+
// A single event existed and was from another source
|
2178 |
+
// 1 event today from 1 source.
|
2179 |
+
if ( $logResults["total_row_count"] == 1 && ! $count_users_today ) {
|
2180 |
+
$msg_tmpl .= __('One event today from one source.', "simple-history");
|
2181 |
+
}
|
2182 |
+
|
2183 |
+
// Multiple events from only users
|
2184 |
+
// 2 events today from 2 users.
|
2185 |
+
if ( $logResults["total_row_count"] && $count_users_today == $logResults["total_row_count"] ) {
|
2186 |
+
$msg_tmpl .= __('%1$d events today from %2$d users.', "simple-history");
|
2187 |
+
}
|
2188 |
+
|
2189 |
+
// Multiple events from 1 single user and 1 single other source
|
2190 |
+
// 2 events today from 1 user and 1 other source.
|
2191 |
+
if ( $logResults["total_row_count"] && 1 == $count_users_today && 1 == $count_other_sources ) {
|
2192 |
+
$msg_tmpl .= __('%1$d events today from one user and one other source.', "simple-history");
|
2193 |
+
}
|
2194 |
+
|
2195 |
+
// Multiple events from multple users but from only 1 single other source
|
2196 |
+
// 3 events today from 2 users and 1 other source.
|
2197 |
+
if ( $logResults["total_row_count"] > 1 && $count_users_today > 1 && $count_other_sources == 1 ) {
|
2198 |
+
$msg_tmpl .= __('%1$d events today from one user and one other source.', "simple-history");
|
2199 |
+
}
|
2200 |
+
|
2201 |
+
// Multiple events from 1 user but from multiple other source
|
2202 |
+
// 3 events today from 1 user and 2 other sources.
|
2203 |
+
if ( $logResults["total_row_count"] > 1 && 1 == $count_users_today && $count_other_sources > 1 ) {
|
2204 |
+
$msg_tmpl .= __('%1$d events today from one user and %3$d other sources.', "simple-history");
|
2205 |
+
}
|
2206 |
+
|
2207 |
+
// Multiple events from multiple user and from multiple other sources
|
2208 |
+
// 4 events today from 2 users and 2 other sources.
|
2209 |
+
if ( $logResults["total_row_count"] && 1 == $count_users_today && $count_other_sources > 1 ) {
|
2210 |
+
$msg_tmpl .= __('%1$s events today from %2$d users and %3$d other sources.', "simple-history");
|
2211 |
+
}
|
2212 |
+
|
2213 |
+
}
|
2214 |
+
|
2215 |
+
/*
|
2216 |
if ( $logResults["total_row_count"] == 0 ) {
|
2217 |
|
2218 |
$msg_tmpl = __("No events today so far.", "simple-history");
|
2230 |
$msg_tmpl = __('%1$d events today from one user.', "simple-history");
|
2231 |
|
2232 |
}
|
2233 |
+
*/
|
2234 |
|
2235 |
// only show stats if we have something to output
|
2236 |
if ( $msg_tmpl ) {
|
2237 |
|
2238 |
printf(
|
2239 |
$msg_tmpl,
|
2240 |
+
$logResults["total_row_count"], // 1
|
2241 |
+
$count_users_today, // 2
|
2242 |
+
$count_other_sources // 3
|
2243 |
);
|
2244 |
|
2245 |
// Space between texts
|
dropins/SimpleHistoryFilterDropin.css
CHANGED
@@ -1,13 +1,20 @@
|
|
1 |
|
2 |
-
|
3 |
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
6 |
.SimpleHistory__filters__form select {
|
7 |
width: 100%;
|
8 |
}
|
9 |
|
10 |
-
.SimpleHistory__filters__form input[type=text],
|
11 |
.SimpleHistory__filters__form input[type=search] {
|
12 |
width: 100%;
|
13 |
}
|
@@ -34,4 +41,3 @@
|
|
34 |
.SimpleHistory__filters__userfilter__gravatar {
|
35 |
margin-right: 10px;
|
36 |
}
|
37 |
-
|
1 |
|
2 |
+
.SimpleHistory__filters {
|
3 |
|
4 |
+
float: right;
|
5 |
+
width: 300px;
|
6 |
+
margin-right: -340px;
|
7 |
+
|
8 |
+
/* hide by default while log is loading */
|
9 |
+
opacity: 0;
|
10 |
+
|
11 |
+
}
|
12 |
|
13 |
.SimpleHistory__filters__form select {
|
14 |
width: 100%;
|
15 |
}
|
16 |
|
17 |
+
.SimpleHistory__filters__form input[type=text],
|
18 |
.SimpleHistory__filters__form input[type=search] {
|
19 |
width: 100%;
|
20 |
}
|
41 |
.SimpleHistory__filters__userfilter__gravatar {
|
42 |
margin-right: 10px;
|
43 |
}
|
|
index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Simple History
|
4 |
Plugin URI: http://simple-history.com
|
5 |
Description: Plugin that logs various things that occur in WordPress and then presents those events in a very nice GUI.
|
6 |
-
Version: 2.0.
|
7 |
Author: Pär Thernström
|
8 |
Author URI: http://simple-history.com/
|
9 |
License: GPL2
|
@@ -25,6 +25,10 @@ License: GPL2
|
|
25 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
26 |
*/
|
27 |
|
|
|
|
|
|
|
|
|
28 |
if ( version_compare( phpversion(), "5.3", ">=") ) {
|
29 |
|
30 |
/** Load required files */
|
3 |
Plugin Name: Simple History
|
4 |
Plugin URI: http://simple-history.com
|
5 |
Description: Plugin that logs various things that occur in WordPress and then presents those events in a very nice GUI.
|
6 |
+
Version: 2.0.16
|
7 |
Author: Pär Thernström
|
8 |
Author URI: http://simple-history.com/
|
9 |
License: GPL2
|
25 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
26 |
*/
|
27 |
|
28 |
+
if ( ! defined( 'WPINC' ) ) {
|
29 |
+
die;
|
30 |
+
}
|
31 |
+
|
32 |
if ( version_compare( phpversion(), "5.3", ">=") ) {
|
33 |
|
34 |
/** Load required files */
|
languages/simple-history-sv_SE.mo
CHANGED
Binary file
|
languages/simple-history-sv_SE.po
CHANGED
@@ -4,15 +4,15 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: Simple History 2\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/Simple-History\n"
|
7 |
-
"POT-Creation-Date: 2015-01-
|
8 |
-
"PO-Revision-Date: 2015-01-
|
9 |
"Last-Translator: Pär Thernström <par.thernstrom@gmail.com>\n"
|
10 |
"Language-Team: \n"
|
11 |
"Language: sv\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Poedit 1.7.
|
16 |
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
17 |
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
18 |
"esc_html_x:1,2c\n"
|
@@ -115,41 +115,55 @@ msgstr "Händelser i databasen lagras för evigt."
|
|
115 |
msgid "Clear log now"
|
116 |
msgstr "Rensa loggen nu"
|
117 |
|
118 |
-
#: SimpleHistory.php:
|
119 |
-
msgid "+%1$s
|
120 |
-
|
|
|
|
|
121 |
|
122 |
-
#: SimpleHistory.php:
|
123 |
msgid "Loading…"
|
124 |
msgstr "Laddar historik..."
|
125 |
|
126 |
-
#: SimpleHistory.php:
|
127 |
msgid "Showing %1$s more"
|
128 |
msgstr "+%1$s fler"
|
129 |
|
130 |
-
#: SimpleHistory.php:
|
131 |
msgid "Context data"
|
132 |
msgstr "Kontextuell data"
|
133 |
|
134 |
-
#: SimpleHistory.php:
|
135 |
msgid "This is potentially useful meta data that a logger has saved."
|
136 |
msgstr "Detta eventuellt användbar metadata som en logger har sparat."
|
137 |
|
138 |
-
#: SimpleHistory.php:
|
139 |
msgid "No events today so far."
|
140 |
msgstr "Inga händelser idag ännu."
|
141 |
|
142 |
-
#: SimpleHistory.php:
|
143 |
-
msgid "
|
144 |
-
msgstr "
|
145 |
|
146 |
-
#: SimpleHistory.php:
|
|
|
|
|
|
|
|
|
147 |
msgid "%1$d events today from %2$d users."
|
148 |
msgstr "%1$d händelser idag från %2$d användare."
|
149 |
|
150 |
-
#: SimpleHistory.php:
|
151 |
-
msgid "%1$d events today from one user."
|
152 |
-
msgstr "%1$d händelser idag från en användare."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
|
154 |
#: dropins/SimpleHistoryDonateDropin.php:36
|
155 |
msgid "Donate"
|
@@ -167,6 +181,10 @@ msgstr ""
|
|
167 |
msgid "Filter history"
|
168 |
msgstr "Filtrera historik"
|
169 |
|
|
|
|
|
|
|
|
|
170 |
#: dropins/SimpleHistoryFilterDropin.php:50
|
171 |
msgid "All log levels"
|
172 |
msgstr "Alla loggnivåer"
|
@@ -271,27 +289,27 @@ msgstr ""
|
|
271 |
"Simple History är en rackarns bra plugin, men för att använda den måste din "
|
272 |
"server ha minst PHP 5.3 installerat (du har version %s)."
|
273 |
|
274 |
-
#: loggers/SimpleCommentsLogger.php:
|
275 |
msgid "Spam"
|
276 |
msgstr "Skräp"
|
277 |
|
278 |
-
#: loggers/SimpleCommentsLogger.php:
|
279 |
msgid "Approved"
|
280 |
msgstr "Godkänd"
|
281 |
|
282 |
-
#: loggers/SimpleCommentsLogger.php:
|
283 |
msgid "Pending"
|
284 |
msgstr "Väntande"
|
285 |
|
286 |
-
#: loggers/SimpleCommentsLogger.php:
|
287 |
msgid "Trackback"
|
288 |
msgstr "Trackback"
|
289 |
|
290 |
-
#: loggers/SimpleCommentsLogger.php:
|
291 |
msgid "Pingback"
|
292 |
msgstr "Pingback"
|
293 |
|
294 |
-
#: loggers/SimpleCommentsLogger.php:
|
295 |
msgid "Comment"
|
296 |
msgstr "Kommentar"
|
297 |
|
@@ -643,82 +661,82 @@ msgctxt "history page headline"
|
|
643 |
msgid "Simple History"
|
644 |
msgstr "Simple History"
|
645 |
|
646 |
-
#: SimpleHistory.php:
|
647 |
msgctxt "Log level in gui"
|
648 |
msgid "emergency"
|
649 |
msgstr "kritiskt"
|
650 |
|
651 |
-
#: SimpleHistory.php:
|
652 |
msgctxt "Log level in gui"
|
653 |
msgid "alert"
|
654 |
msgstr "alert"
|
655 |
|
656 |
-
#: SimpleHistory.php:
|
657 |
msgctxt "Log level in gui"
|
658 |
msgid "critical"
|
659 |
msgstr "kritiskt"
|
660 |
|
661 |
-
#: SimpleHistory.php:
|
662 |
msgctxt "Log level in gui"
|
663 |
msgid "error"
|
664 |
msgstr "error"
|
665 |
|
666 |
-
#: SimpleHistory.php:
|
667 |
msgctxt "Log level in gui"
|
668 |
msgid "warning"
|
669 |
msgstr "warning"
|
670 |
|
671 |
-
#: SimpleHistory.php:
|
672 |
msgctxt "Log level in gui"
|
673 |
msgid "notice"
|
674 |
msgstr "notice"
|
675 |
|
676 |
-
#: SimpleHistory.php:
|
677 |
msgctxt "Log level in gui"
|
678 |
msgid "info"
|
679 |
msgstr "info"
|
680 |
|
681 |
-
#: SimpleHistory.php:
|
682 |
msgctxt "Log level in gui"
|
683 |
msgid "debug"
|
684 |
msgstr "debug"
|
685 |
|
686 |
-
#: SimpleHistory.php:
|
687 |
msgctxt "Log level in gui"
|
688 |
msgid "Emergency"
|
689 |
msgstr "Emergency"
|
690 |
|
691 |
-
#: SimpleHistory.php:
|
692 |
msgctxt "Log level in gui"
|
693 |
msgid "Alert"
|
694 |
msgstr "Alert"
|
695 |
|
696 |
-
#: SimpleHistory.php:
|
697 |
msgctxt "Log level in gui"
|
698 |
msgid "Critical"
|
699 |
msgstr "Critical"
|
700 |
|
701 |
-
#: SimpleHistory.php:
|
702 |
msgctxt "Log level in gui"
|
703 |
msgid "Error"
|
704 |
msgstr "Error"
|
705 |
|
706 |
-
#: SimpleHistory.php:
|
707 |
msgctxt "Log level in gui"
|
708 |
msgid "Warning"
|
709 |
msgstr "Warning"
|
710 |
|
711 |
-
#: SimpleHistory.php:
|
712 |
msgctxt "Log level in gui"
|
713 |
msgid "Notice"
|
714 |
msgstr "Notice"
|
715 |
|
716 |
-
#: SimpleHistory.php:
|
717 |
msgctxt "Log level in gui"
|
718 |
msgid "Info"
|
719 |
msgstr "Info"
|
720 |
|
721 |
-
#: SimpleHistory.php:
|
722 |
msgctxt "Log level in gui"
|
723 |
msgid "Debug"
|
724 |
msgstr "Debug"
|
@@ -779,19 +797,19 @@ msgctxt "rss settings headline"
|
|
779 |
msgid "RSS feed"
|
780 |
msgstr "RSS-flöde"
|
781 |
|
782 |
-
#: loggers/SimpleCommentsLogger.php:
|
783 |
msgctxt "A comment was added to the database by a non-logged in internet user"
|
784 |
msgid "Added a comment to {comment_post_type} \"{comment_post_title}\""
|
785 |
msgstr ""
|
786 |
"Lade till en kommentar till {comment_post_type} \"{comment_post_title}\""
|
787 |
|
788 |
-
#: loggers/SimpleCommentsLogger.php:
|
789 |
msgctxt "A comment was added to the database by a logged in user"
|
790 |
msgid "Added a comment to {comment_post_type} \"{comment_post_title}\""
|
791 |
msgstr ""
|
792 |
"Lade till en kommentar till {comment_post_type} \"{comment_post_title}\""
|
793 |
|
794 |
-
#: loggers/SimpleCommentsLogger.php:
|
795 |
msgctxt "A comment was approved"
|
796 |
msgid ""
|
797 |
"Approved a comment to \"{comment_post_title}\" by {comment_author} "
|
@@ -800,7 +818,7 @@ msgstr ""
|
|
800 |
"Godkände en kommentar till \"{comment_post_title}\" av {comment_author} "
|
801 |
"({comment_author_email})"
|
802 |
|
803 |
-
#: loggers/SimpleCommentsLogger.php:
|
804 |
msgctxt "A comment was was unapproved"
|
805 |
msgid ""
|
806 |
"Unapproved a comment to \"{comment_post_title}\" by {comment_author} "
|
@@ -809,12 +827,12 @@ msgstr ""
|
|
809 |
"Godkände inte en kommentar till \"{comment_post_title}\" av {comment_author} "
|
810 |
"({comment_author_email})"
|
811 |
|
812 |
-
#: loggers/SimpleCommentsLogger.php:
|
813 |
msgctxt "A comment was marked as spam"
|
814 |
msgid "Marked a comment to post \"{comment_post_title}\" as spam"
|
815 |
msgstr "Markerade en kommentar till \"{comment_post_title}\" som spam"
|
816 |
|
817 |
-
#: loggers/SimpleCommentsLogger.php:
|
818 |
msgctxt "A comment was marked moved to the trash"
|
819 |
msgid ""
|
820 |
"Trashed a comment to \"{comment_post_title}\" by {comment_author} "
|
@@ -823,7 +841,7 @@ msgstr ""
|
|
823 |
"Kastade en kommentar till \"{comment_post_title}\" av {comment_author} "
|
824 |
"({comment_author_email}) i papperskorgen"
|
825 |
|
826 |
-
#: loggers/SimpleCommentsLogger.php:
|
827 |
msgctxt "A comment was restored from the trash"
|
828 |
msgid ""
|
829 |
"Restored a comment to \"{comment_post_title}\" by {comment_author} "
|
@@ -832,7 +850,7 @@ msgstr ""
|
|
832 |
"Återställde en kommentar till \"{comment_post_title}\" av {comment_author} "
|
833 |
"({comment_author_email}) från papperskorgen"
|
834 |
|
835 |
-
#: loggers/SimpleCommentsLogger.php:
|
836 |
msgctxt "A comment was deleted"
|
837 |
msgid ""
|
838 |
"Deleted a comment to \"{comment_post_title}\" by {comment_author} "
|
@@ -841,7 +859,7 @@ msgstr ""
|
|
841 |
"Raderade en kommentar kommentar till \"{comment_post_title}\" av "
|
842 |
"{comment_author} ({comment_author_email})"
|
843 |
|
844 |
-
#: loggers/SimpleCommentsLogger.php:
|
845 |
msgctxt "A comment was edited"
|
846 |
msgid ""
|
847 |
"Edited a comment to \"{comment_post_title}\" by {comment_author} "
|
@@ -850,24 +868,24 @@ msgstr ""
|
|
850 |
"Redigerade en kommentar till \"{comment_post_title}\" av {comment_author} "
|
851 |
"({comment_author_email})"
|
852 |
|
853 |
-
#: loggers/SimpleCommentsLogger.php:
|
854 |
msgctxt "A trackback was added to the database by a non-logged in internet user"
|
855 |
msgid "Added a trackback to {comment_post_type} \"{comment_post_title}\""
|
856 |
msgstr ""
|
857 |
"Lade till en trackback till {comment_post_type} \"{comment_post_title}\""
|
858 |
|
859 |
-
#: loggers/SimpleCommentsLogger.php:
|
860 |
msgctxt "A trackback was added to the database by a non-logged in internet user"
|
861 |
msgid "Added a pingback to {comment_post_type} \"{comment_post_title}\""
|
862 |
msgstr "Lade till en pingback till {comment_post_type} \"{comment_post_title}\""
|
863 |
|
864 |
-
#: loggers/SimpleCommentsLogger.php:
|
865 |
msgctxt "A trackback was added to the database by a logged in user"
|
866 |
msgid "Added a trackback to {comment_post_type} \"{comment_post_title}\""
|
867 |
msgstr ""
|
868 |
"Lade till en trackback till {comment_post_type} \"{comment_post_title}\""
|
869 |
|
870 |
-
#: loggers/SimpleCommentsLogger.php:
|
871 |
msgctxt "A trackback was approved"
|
872 |
msgid ""
|
873 |
"Approved a trackback to \"{comment_post_title}\" by {comment_author} "
|
@@ -876,7 +894,7 @@ msgstr ""
|
|
876 |
"Godkände en trackback till \"{comment_post_title}\" av {comment_author} "
|
877 |
"({comment_author_email})"
|
878 |
|
879 |
-
#: loggers/SimpleCommentsLogger.php:
|
880 |
msgctxt "A trackback was was unapproved"
|
881 |
msgid ""
|
882 |
"Unapproved a trackback to \"{comment_post_title}\" by {comment_author} "
|
@@ -885,12 +903,12 @@ msgstr ""
|
|
885 |
"Godkände inte en trackback till \"{comment_post_title}\" av {comment_author} "
|
886 |
"({comment_author_email})"
|
887 |
|
888 |
-
#: loggers/SimpleCommentsLogger.php:
|
889 |
msgctxt "A trackback was marked as spam"
|
890 |
msgid "Marked a trackback to post \"{comment_post_title}\" as spam"
|
891 |
msgstr "Markerade en trackback till \"{comment_post_title}\" som spam"
|
892 |
|
893 |
-
#: loggers/SimpleCommentsLogger.php:
|
894 |
msgctxt "A trackback was marked moved to the trash"
|
895 |
msgid ""
|
896 |
"Trashed a trackback to \"{comment_post_title}\" by {comment_author} "
|
@@ -899,7 +917,7 @@ msgstr ""
|
|
899 |
"Kastade en trackback till \"{comment_post_title}\" av {comment_author} "
|
900 |
"({comment_author_email}) i papperskorgen"
|
901 |
|
902 |
-
#: loggers/SimpleCommentsLogger.php:
|
903 |
msgctxt "A trackback was restored from the trash"
|
904 |
msgid ""
|
905 |
"Restored a trackback to \"{comment_post_title}\" by {comment_author} "
|
@@ -908,7 +926,7 @@ msgstr ""
|
|
908 |
"Återställde en trackback till \"{comment_post_title}\" av {comment_author} "
|
909 |
"({comment_author_email}) från papperskorgen"
|
910 |
|
911 |
-
#: loggers/SimpleCommentsLogger.php:
|
912 |
msgctxt "A trackback was deleted"
|
913 |
msgid ""
|
914 |
"Deleted a trackback to \"{comment_post_title}\" by {comment_author} "
|
@@ -917,7 +935,7 @@ msgstr ""
|
|
917 |
"Raderade en trackback till \"{comment_post_title}\" av {comment_author} "
|
918 |
"({comment_author_email})"
|
919 |
|
920 |
-
#: loggers/SimpleCommentsLogger.php:
|
921 |
msgctxt "A trackback was edited"
|
922 |
msgid ""
|
923 |
"Edited a trackback to \"{comment_post_title}\" by {comment_author} "
|
@@ -926,12 +944,12 @@ msgstr ""
|
|
926 |
"Redigerade en trackback till \"{comment_post_title}\" av {comment_author} "
|
927 |
"({comment_author_email})"
|
928 |
|
929 |
-
#: loggers/SimpleCommentsLogger.php:
|
930 |
msgctxt "A pingback was added to the database by a logged in user"
|
931 |
msgid "Added a pingback to {comment_post_type} \"{comment_post_title}\""
|
932 |
msgstr "Lade till en pingback till {comment_post_type} \"{comment_post_title}\""
|
933 |
|
934 |
-
#: loggers/SimpleCommentsLogger.php:
|
935 |
msgctxt "A pingback was approved"
|
936 |
msgid ""
|
937 |
"Approved a pingback to \"{comment_post_title}\" by "
|
@@ -940,7 +958,7 @@ msgstr ""
|
|
940 |
"Godkände en pingback till \"{comment_post_title}\" av {comment_author} "
|
941 |
"({comment_author_email}) från papperskorgen"
|
942 |
|
943 |
-
#: loggers/SimpleCommentsLogger.php:
|
944 |
msgctxt "A pingback was was unapproved"
|
945 |
msgid ""
|
946 |
"Unapproved a pingback to \"{comment_post_title}\" by "
|
@@ -949,12 +967,12 @@ msgstr ""
|
|
949 |
"Ångrade godkännande av en pingack till \"{comment_post_title}\" av "
|
950 |
"{comment_author} ({comment_author_email})"
|
951 |
|
952 |
-
#: loggers/SimpleCommentsLogger.php:
|
953 |
msgctxt "A pingback was marked as spam"
|
954 |
msgid "Marked a pingback to post \"{comment_post_title}\" as spam"
|
955 |
msgstr "Markerade en pingback till \"{comment_post_title}\" som spam"
|
956 |
|
957 |
-
#: loggers/SimpleCommentsLogger.php:
|
958 |
msgctxt "A pingback was marked moved to the trash"
|
959 |
msgid ""
|
960 |
"Trashed a pingback to \"{comment_post_title}\" by {comment_author} "
|
@@ -963,7 +981,7 @@ msgstr ""
|
|
963 |
"Kastade en pingback till \"{comment_post_title}\" av {comment_author} "
|
964 |
"({comment_author_email}) i papperskorgen"
|
965 |
|
966 |
-
#: loggers/SimpleCommentsLogger.php:
|
967 |
msgctxt "A pingback was restored from the trash"
|
968 |
msgid ""
|
969 |
"Restored a pingback to \"{comment_post_title}\" by {comment_author} "
|
@@ -972,7 +990,7 @@ msgstr ""
|
|
972 |
"Ångrade godkännandet av en kommentar till \"{comment_post_title}\" av "
|
973 |
"{comment_author} ({comment_author_email})"
|
974 |
|
975 |
-
#: loggers/SimpleCommentsLogger.php:
|
976 |
msgctxt "A pingback was deleted"
|
977 |
msgid ""
|
978 |
"Deleted a pingback to \"{comment_post_title}\" by {comment_author} "
|
@@ -981,7 +999,7 @@ msgstr ""
|
|
981 |
"Raderade en pingback till \"{comment_post_title}\" av {comment_author} "
|
982 |
"({comment_author_email})"
|
983 |
|
984 |
-
#: loggers/SimpleCommentsLogger.php:
|
985 |
msgctxt "A pingback was edited"
|
986 |
msgid ""
|
987 |
"Edited a pingback to \"{comment_post_title}\" by {comment_author} "
|
@@ -990,85 +1008,85 @@ msgstr ""
|
|
990 |
"Redigerade en pingback till \"{comment_post_title}\" av {comment_author} "
|
991 |
"({comment_author_email})"
|
992 |
|
993 |
-
#: loggers/SimpleCommentsLogger.php:
|
994 |
msgctxt "Comments logger: search"
|
995 |
msgid "Comments"
|
996 |
msgstr "Kommentarer"
|
997 |
|
998 |
-
#: loggers/SimpleCommentsLogger.php:
|
999 |
msgctxt "Comments logger: search"
|
1000 |
msgid "All comments activity"
|
1001 |
msgstr "Alla kommentarshändelser"
|
1002 |
|
1003 |
-
#: loggers/SimpleCommentsLogger.php:
|
1004 |
msgctxt "Comments logger: search"
|
1005 |
msgid "Added comments"
|
1006 |
msgstr "Tillagda kommentarer"
|
1007 |
|
1008 |
-
#: loggers/SimpleCommentsLogger.php:
|
1009 |
msgctxt "Comments logger: search"
|
1010 |
msgid "Edited comments"
|
1011 |
msgstr "Redigerade kommentarer"
|
1012 |
|
1013 |
-
#: loggers/SimpleCommentsLogger.php:
|
1014 |
msgctxt "Comments logger: search"
|
1015 |
msgid "Approved comments"
|
1016 |
msgstr "Godkända kommentarer"
|
1017 |
|
1018 |
-
#: loggers/SimpleCommentsLogger.php:
|
1019 |
msgctxt "Comments logger: search"
|
1020 |
msgid "Held comments"
|
1021 |
msgstr "Tillbakahållna kommentar"
|
1022 |
|
1023 |
-
#: loggers/SimpleCommentsLogger.php:
|
1024 |
msgctxt "Comments logger: search"
|
1025 |
msgid "Comments status changed to spam"
|
1026 |
msgstr "Status på kommentar ändrad till spam"
|
1027 |
|
1028 |
-
#: loggers/SimpleCommentsLogger.php:
|
1029 |
msgctxt "Comments logger: search"
|
1030 |
msgid "Trashed comments"
|
1031 |
msgstr "Kastade kommentarer"
|
1032 |
|
1033 |
-
#: loggers/SimpleCommentsLogger.php:
|
1034 |
msgctxt "Comments logger: search"
|
1035 |
msgid "Untrashed comments"
|
1036 |
msgstr "Kommentarer tillbakatagna från papperskorgen"
|
1037 |
|
1038 |
-
#: loggers/SimpleCommentsLogger.php:
|
1039 |
msgctxt "Comments logger: search"
|
1040 |
msgid "Deleted comments"
|
1041 |
msgstr "Borttagna kommentarer"
|
1042 |
|
1043 |
-
#: loggers/SimpleCommentsLogger.php:
|
1044 |
-
#: loggers/SimpleCommentsLogger.php:
|
1045 |
msgctxt "comments logger - detailed output comment status"
|
1046 |
msgid "Status"
|
1047 |
msgstr "Status"
|
1048 |
|
1049 |
-
#: loggers/SimpleCommentsLogger.php:
|
1050 |
-
#: loggers/SimpleCommentsLogger.php:
|
1051 |
msgctxt "comments logger - detailed output author"
|
1052 |
msgid "Name"
|
1053 |
msgstr "Namn"
|
1054 |
|
1055 |
-
#: loggers/SimpleCommentsLogger.php:
|
1056 |
-
#: loggers/SimpleCommentsLogger.php:
|
1057 |
msgctxt "comments logger - detailed output email"
|
1058 |
msgid "Email"
|
1059 |
msgstr "E-post"
|
1060 |
|
1061 |
-
#: loggers/SimpleCommentsLogger.php:
|
1062 |
msgctxt "comments logger - detailed output content"
|
1063 |
msgid "Content"
|
1064 |
msgstr "Innehåll"
|
1065 |
|
1066 |
-
#: loggers/SimpleCommentsLogger.php:
|
1067 |
msgctxt "comments logger - detailed output content"
|
1068 |
msgid "Comment"
|
1069 |
msgstr "Kommentar"
|
1070 |
|
1071 |
-
#: loggers/SimpleCommentsLogger.php:
|
1072 |
msgctxt "comments logger - edit comment"
|
1073 |
msgid "View/Edit"
|
1074 |
msgstr "Visa/Redigera"
|
@@ -1430,6 +1448,9 @@ msgctxt "stats: date in rows per day chart"
|
|
1430 |
msgid "M j"
|
1431 |
msgstr "M j"
|
1432 |
|
|
|
|
|
|
|
1433 |
#~ msgid "History"
|
1434 |
#~ msgstr "Historik"
|
1435 |
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: Simple History 2\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/Simple-History\n"
|
7 |
+
"POT-Creation-Date: 2015-01-11 15:18:18+00:00\n"
|
8 |
+
"PO-Revision-Date: 2015-01-11 16:18+0100\n"
|
9 |
"Last-Translator: Pär Thernström <par.thernstrom@gmail.com>\n"
|
10 |
"Language-Team: \n"
|
11 |
"Language: sv\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Poedit 1.7.3\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
17 |
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
18 |
"esc_html_x:1,2c\n"
|
115 |
msgid "Clear log now"
|
116 |
msgstr "Rensa loggen nu"
|
117 |
|
118 |
+
#: SimpleHistory.php:1659
|
119 |
+
msgid "+%1$s similar event"
|
120 |
+
msgid_plural "+%1$s similar events"
|
121 |
+
msgstr[0] "+%1$s liknande händelse"
|
122 |
+
msgstr[1] "+%1$s liknande händelser"
|
123 |
|
124 |
+
#: SimpleHistory.php:1666
|
125 |
msgid "Loading…"
|
126 |
msgstr "Laddar historik..."
|
127 |
|
128 |
+
#: SimpleHistory.php:1673
|
129 |
msgid "Showing %1$s more"
|
130 |
msgstr "+%1$s fler"
|
131 |
|
132 |
+
#: SimpleHistory.php:1692
|
133 |
msgid "Context data"
|
134 |
msgstr "Kontextuell data"
|
135 |
|
136 |
+
#: SimpleHistory.php:1693
|
137 |
msgid "This is potentially useful meta data that a logger has saved."
|
138 |
msgstr "Detta eventuellt användbar metadata som en logger har sparat."
|
139 |
|
140 |
+
#: SimpleHistory.php:2156
|
141 |
msgid "No events today so far."
|
142 |
msgstr "Inga händelser idag ännu."
|
143 |
|
144 |
+
#: SimpleHistory.php:2174
|
145 |
+
msgid "One event today from one user."
|
146 |
+
msgstr "En händelse idag från en användare."
|
147 |
|
148 |
+
#: SimpleHistory.php:2180
|
149 |
+
msgid "One event today from one source."
|
150 |
+
msgstr "En händelse idag från en källa."
|
151 |
+
|
152 |
+
#: SimpleHistory.php:2186
|
153 |
msgid "%1$d events today from %2$d users."
|
154 |
msgstr "%1$d händelser idag från %2$d användare."
|
155 |
|
156 |
+
#: SimpleHistory.php:2192 SimpleHistory.php:2198
|
157 |
+
msgid "%1$d events today from one user and one other source."
|
158 |
+
msgstr "%1$d händelser idag från en användare och från en annan källa."
|
159 |
+
|
160 |
+
#: SimpleHistory.php:2204
|
161 |
+
msgid "%1$d events today from one user and %3$d other sources."
|
162 |
+
msgstr "%1$d händelser idag från en användare och från %3$d andra källor."
|
163 |
+
|
164 |
+
#: SimpleHistory.php:2210
|
165 |
+
msgid "%1$s events today from %2$d users and %3$d other sources."
|
166 |
+
msgstr "%1$s händelser idag från %2$d användare och %3$d andra källor."
|
167 |
|
168 |
#: dropins/SimpleHistoryDonateDropin.php:36
|
169 |
msgid "Donate"
|
181 |
msgid "Filter history"
|
182 |
msgstr "Filtrera historik"
|
183 |
|
184 |
+
#: dropins/SimpleHistoryFilterDropin.php:46
|
185 |
+
msgid "Search"
|
186 |
+
msgstr "Sök"
|
187 |
+
|
188 |
#: dropins/SimpleHistoryFilterDropin.php:50
|
189 |
msgid "All log levels"
|
190 |
msgstr "Alla loggnivåer"
|
289 |
"Simple History är en rackarns bra plugin, men för att använda den måste din "
|
290 |
"server ha minst PHP 5.3 installerat (du har version %s)."
|
291 |
|
292 |
+
#: loggers/SimpleCommentsLogger.php:695
|
293 |
msgid "Spam"
|
294 |
msgstr "Skräp"
|
295 |
|
296 |
+
#: loggers/SimpleCommentsLogger.php:697
|
297 |
msgid "Approved"
|
298 |
msgstr "Godkänd"
|
299 |
|
300 |
+
#: loggers/SimpleCommentsLogger.php:699
|
301 |
msgid "Pending"
|
302 |
msgstr "Väntande"
|
303 |
|
304 |
+
#: loggers/SimpleCommentsLogger.php:713
|
305 |
msgid "Trackback"
|
306 |
msgstr "Trackback"
|
307 |
|
308 |
+
#: loggers/SimpleCommentsLogger.php:715
|
309 |
msgid "Pingback"
|
310 |
msgstr "Pingback"
|
311 |
|
312 |
+
#: loggers/SimpleCommentsLogger.php:717
|
313 |
msgid "Comment"
|
314 |
msgstr "Kommentar"
|
315 |
|
661 |
msgid "Simple History"
|
662 |
msgstr "Simple History"
|
663 |
|
664 |
+
#: SimpleHistory.php:1829
|
665 |
msgctxt "Log level in gui"
|
666 |
msgid "emergency"
|
667 |
msgstr "kritiskt"
|
668 |
|
669 |
+
#: SimpleHistory.php:1833
|
670 |
msgctxt "Log level in gui"
|
671 |
msgid "alert"
|
672 |
msgstr "alert"
|
673 |
|
674 |
+
#: SimpleHistory.php:1837
|
675 |
msgctxt "Log level in gui"
|
676 |
msgid "critical"
|
677 |
msgstr "kritiskt"
|
678 |
|
679 |
+
#: SimpleHistory.php:1841
|
680 |
msgctxt "Log level in gui"
|
681 |
msgid "error"
|
682 |
msgstr "error"
|
683 |
|
684 |
+
#: SimpleHistory.php:1845
|
685 |
msgctxt "Log level in gui"
|
686 |
msgid "warning"
|
687 |
msgstr "warning"
|
688 |
|
689 |
+
#: SimpleHistory.php:1849
|
690 |
msgctxt "Log level in gui"
|
691 |
msgid "notice"
|
692 |
msgstr "notice"
|
693 |
|
694 |
+
#: SimpleHistory.php:1853
|
695 |
msgctxt "Log level in gui"
|
696 |
msgid "info"
|
697 |
msgstr "info"
|
698 |
|
699 |
+
#: SimpleHistory.php:1857
|
700 |
msgctxt "Log level in gui"
|
701 |
msgid "debug"
|
702 |
msgstr "debug"
|
703 |
|
704 |
+
#: SimpleHistory.php:1862
|
705 |
msgctxt "Log level in gui"
|
706 |
msgid "Emergency"
|
707 |
msgstr "Emergency"
|
708 |
|
709 |
+
#: SimpleHistory.php:1866
|
710 |
msgctxt "Log level in gui"
|
711 |
msgid "Alert"
|
712 |
msgstr "Alert"
|
713 |
|
714 |
+
#: SimpleHistory.php:1870
|
715 |
msgctxt "Log level in gui"
|
716 |
msgid "Critical"
|
717 |
msgstr "Critical"
|
718 |
|
719 |
+
#: SimpleHistory.php:1874
|
720 |
msgctxt "Log level in gui"
|
721 |
msgid "Error"
|
722 |
msgstr "Error"
|
723 |
|
724 |
+
#: SimpleHistory.php:1878
|
725 |
msgctxt "Log level in gui"
|
726 |
msgid "Warning"
|
727 |
msgstr "Warning"
|
728 |
|
729 |
+
#: SimpleHistory.php:1882
|
730 |
msgctxt "Log level in gui"
|
731 |
msgid "Notice"
|
732 |
msgstr "Notice"
|
733 |
|
734 |
+
#: SimpleHistory.php:1886
|
735 |
msgctxt "Log level in gui"
|
736 |
msgid "Info"
|
737 |
msgstr "Info"
|
738 |
|
739 |
+
#: SimpleHistory.php:1890
|
740 |
msgctxt "Log level in gui"
|
741 |
msgid "Debug"
|
742 |
msgstr "Debug"
|
797 |
msgid "RSS feed"
|
798 |
msgstr "RSS-flöde"
|
799 |
|
800 |
+
#: loggers/SimpleCommentsLogger.php:95
|
801 |
msgctxt "A comment was added to the database by a non-logged in internet user"
|
802 |
msgid "Added a comment to {comment_post_type} \"{comment_post_title}\""
|
803 |
msgstr ""
|
804 |
"Lade till en kommentar till {comment_post_type} \"{comment_post_title}\""
|
805 |
|
806 |
+
#: loggers/SimpleCommentsLogger.php:101
|
807 |
msgctxt "A comment was added to the database by a logged in user"
|
808 |
msgid "Added a comment to {comment_post_type} \"{comment_post_title}\""
|
809 |
msgstr ""
|
810 |
"Lade till en kommentar till {comment_post_type} \"{comment_post_title}\""
|
811 |
|
812 |
+
#: loggers/SimpleCommentsLogger.php:107
|
813 |
msgctxt "A comment was approved"
|
814 |
msgid ""
|
815 |
"Approved a comment to \"{comment_post_title}\" by {comment_author} "
|
818 |
"Godkände en kommentar till \"{comment_post_title}\" av {comment_author} "
|
819 |
"({comment_author_email})"
|
820 |
|
821 |
+
#: loggers/SimpleCommentsLogger.php:113
|
822 |
msgctxt "A comment was was unapproved"
|
823 |
msgid ""
|
824 |
"Unapproved a comment to \"{comment_post_title}\" by {comment_author} "
|
827 |
"Godkände inte en kommentar till \"{comment_post_title}\" av {comment_author} "
|
828 |
"({comment_author_email})"
|
829 |
|
830 |
+
#: loggers/SimpleCommentsLogger.php:119
|
831 |
msgctxt "A comment was marked as spam"
|
832 |
msgid "Marked a comment to post \"{comment_post_title}\" as spam"
|
833 |
msgstr "Markerade en kommentar till \"{comment_post_title}\" som spam"
|
834 |
|
835 |
+
#: loggers/SimpleCommentsLogger.php:125
|
836 |
msgctxt "A comment was marked moved to the trash"
|
837 |
msgid ""
|
838 |
"Trashed a comment to \"{comment_post_title}\" by {comment_author} "
|
841 |
"Kastade en kommentar till \"{comment_post_title}\" av {comment_author} "
|
842 |
"({comment_author_email}) i papperskorgen"
|
843 |
|
844 |
+
#: loggers/SimpleCommentsLogger.php:131
|
845 |
msgctxt "A comment was restored from the trash"
|
846 |
msgid ""
|
847 |
"Restored a comment to \"{comment_post_title}\" by {comment_author} "
|
850 |
"Återställde en kommentar till \"{comment_post_title}\" av {comment_author} "
|
851 |
"({comment_author_email}) från papperskorgen"
|
852 |
|
853 |
+
#: loggers/SimpleCommentsLogger.php:137
|
854 |
msgctxt "A comment was deleted"
|
855 |
msgid ""
|
856 |
"Deleted a comment to \"{comment_post_title}\" by {comment_author} "
|
859 |
"Raderade en kommentar kommentar till \"{comment_post_title}\" av "
|
860 |
"{comment_author} ({comment_author_email})"
|
861 |
|
862 |
+
#: loggers/SimpleCommentsLogger.php:143
|
863 |
msgctxt "A comment was edited"
|
864 |
msgid ""
|
865 |
"Edited a comment to \"{comment_post_title}\" by {comment_author} "
|
868 |
"Redigerade en kommentar till \"{comment_post_title}\" av {comment_author} "
|
869 |
"({comment_author_email})"
|
870 |
|
871 |
+
#: loggers/SimpleCommentsLogger.php:150
|
872 |
msgctxt "A trackback was added to the database by a non-logged in internet user"
|
873 |
msgid "Added a trackback to {comment_post_type} \"{comment_post_title}\""
|
874 |
msgstr ""
|
875 |
"Lade till en trackback till {comment_post_type} \"{comment_post_title}\""
|
876 |
|
877 |
+
#: loggers/SimpleCommentsLogger.php:205
|
878 |
msgctxt "A trackback was added to the database by a non-logged in internet user"
|
879 |
msgid "Added a pingback to {comment_post_type} \"{comment_post_title}\""
|
880 |
msgstr "Lade till en pingback till {comment_post_type} \"{comment_post_title}\""
|
881 |
|
882 |
+
#: loggers/SimpleCommentsLogger.php:156
|
883 |
msgctxt "A trackback was added to the database by a logged in user"
|
884 |
msgid "Added a trackback to {comment_post_type} \"{comment_post_title}\""
|
885 |
msgstr ""
|
886 |
"Lade till en trackback till {comment_post_type} \"{comment_post_title}\""
|
887 |
|
888 |
+
#: loggers/SimpleCommentsLogger.php:162
|
889 |
msgctxt "A trackback was approved"
|
890 |
msgid ""
|
891 |
"Approved a trackback to \"{comment_post_title}\" by {comment_author} "
|
894 |
"Godkände en trackback till \"{comment_post_title}\" av {comment_author} "
|
895 |
"({comment_author_email})"
|
896 |
|
897 |
+
#: loggers/SimpleCommentsLogger.php:168
|
898 |
msgctxt "A trackback was was unapproved"
|
899 |
msgid ""
|
900 |
"Unapproved a trackback to \"{comment_post_title}\" by {comment_author} "
|
903 |
"Godkände inte en trackback till \"{comment_post_title}\" av {comment_author} "
|
904 |
"({comment_author_email})"
|
905 |
|
906 |
+
#: loggers/SimpleCommentsLogger.php:174
|
907 |
msgctxt "A trackback was marked as spam"
|
908 |
msgid "Marked a trackback to post \"{comment_post_title}\" as spam"
|
909 |
msgstr "Markerade en trackback till \"{comment_post_title}\" som spam"
|
910 |
|
911 |
+
#: loggers/SimpleCommentsLogger.php:180
|
912 |
msgctxt "A trackback was marked moved to the trash"
|
913 |
msgid ""
|
914 |
"Trashed a trackback to \"{comment_post_title}\" by {comment_author} "
|
917 |
"Kastade en trackback till \"{comment_post_title}\" av {comment_author} "
|
918 |
"({comment_author_email}) i papperskorgen"
|
919 |
|
920 |
+
#: loggers/SimpleCommentsLogger.php:186
|
921 |
msgctxt "A trackback was restored from the trash"
|
922 |
msgid ""
|
923 |
"Restored a trackback to \"{comment_post_title}\" by {comment_author} "
|
926 |
"Återställde en trackback till \"{comment_post_title}\" av {comment_author} "
|
927 |
"({comment_author_email}) från papperskorgen"
|
928 |
|
929 |
+
#: loggers/SimpleCommentsLogger.php:192
|
930 |
msgctxt "A trackback was deleted"
|
931 |
msgid ""
|
932 |
"Deleted a trackback to \"{comment_post_title}\" by {comment_author} "
|
935 |
"Raderade en trackback till \"{comment_post_title}\" av {comment_author} "
|
936 |
"({comment_author_email})"
|
937 |
|
938 |
+
#: loggers/SimpleCommentsLogger.php:198
|
939 |
msgctxt "A trackback was edited"
|
940 |
msgid ""
|
941 |
"Edited a trackback to \"{comment_post_title}\" by {comment_author} "
|
944 |
"Redigerade en trackback till \"{comment_post_title}\" av {comment_author} "
|
945 |
"({comment_author_email})"
|
946 |
|
947 |
+
#: loggers/SimpleCommentsLogger.php:211
|
948 |
msgctxt "A pingback was added to the database by a logged in user"
|
949 |
msgid "Added a pingback to {comment_post_type} \"{comment_post_title}\""
|
950 |
msgstr "Lade till en pingback till {comment_post_type} \"{comment_post_title}\""
|
951 |
|
952 |
+
#: loggers/SimpleCommentsLogger.php:217
|
953 |
msgctxt "A pingback was approved"
|
954 |
msgid ""
|
955 |
"Approved a pingback to \"{comment_post_title}\" by "
|
958 |
"Godkände en pingback till \"{comment_post_title}\" av {comment_author} "
|
959 |
"({comment_author_email}) från papperskorgen"
|
960 |
|
961 |
+
#: loggers/SimpleCommentsLogger.php:223
|
962 |
msgctxt "A pingback was was unapproved"
|
963 |
msgid ""
|
964 |
"Unapproved a pingback to \"{comment_post_title}\" by "
|
967 |
"Ångrade godkännande av en pingack till \"{comment_post_title}\" av "
|
968 |
"{comment_author} ({comment_author_email})"
|
969 |
|
970 |
+
#: loggers/SimpleCommentsLogger.php:229
|
971 |
msgctxt "A pingback was marked as spam"
|
972 |
msgid "Marked a pingback to post \"{comment_post_title}\" as spam"
|
973 |
msgstr "Markerade en pingback till \"{comment_post_title}\" som spam"
|
974 |
|
975 |
+
#: loggers/SimpleCommentsLogger.php:235
|
976 |
msgctxt "A pingback was marked moved to the trash"
|
977 |
msgid ""
|
978 |
"Trashed a pingback to \"{comment_post_title}\" by {comment_author} "
|
981 |
"Kastade en pingback till \"{comment_post_title}\" av {comment_author} "
|
982 |
"({comment_author_email}) i papperskorgen"
|
983 |
|
984 |
+
#: loggers/SimpleCommentsLogger.php:241
|
985 |
msgctxt "A pingback was restored from the trash"
|
986 |
msgid ""
|
987 |
"Restored a pingback to \"{comment_post_title}\" by {comment_author} "
|
990 |
"Ångrade godkännandet av en kommentar till \"{comment_post_title}\" av "
|
991 |
"{comment_author} ({comment_author_email})"
|
992 |
|
993 |
+
#: loggers/SimpleCommentsLogger.php:247
|
994 |
msgctxt "A pingback was deleted"
|
995 |
msgid ""
|
996 |
"Deleted a pingback to \"{comment_post_title}\" by {comment_author} "
|
999 |
"Raderade en pingback till \"{comment_post_title}\" av {comment_author} "
|
1000 |
"({comment_author_email})"
|
1001 |
|
1002 |
+
#: loggers/SimpleCommentsLogger.php:253
|
1003 |
msgctxt "A pingback was edited"
|
1004 |
msgid ""
|
1005 |
"Edited a pingback to \"{comment_post_title}\" by {comment_author} "
|
1008 |
"Redigerade en pingback till \"{comment_post_title}\" av {comment_author} "
|
1009 |
"({comment_author_email})"
|
1010 |
|
1011 |
+
#: loggers/SimpleCommentsLogger.php:264
|
1012 |
msgctxt "Comments logger: search"
|
1013 |
msgid "Comments"
|
1014 |
msgstr "Kommentarer"
|
1015 |
|
1016 |
+
#: loggers/SimpleCommentsLogger.php:265
|
1017 |
msgctxt "Comments logger: search"
|
1018 |
msgid "All comments activity"
|
1019 |
msgstr "Alla kommentarshändelser"
|
1020 |
|
1021 |
+
#: loggers/SimpleCommentsLogger.php:267
|
1022 |
msgctxt "Comments logger: search"
|
1023 |
msgid "Added comments"
|
1024 |
msgstr "Tillagda kommentarer"
|
1025 |
|
1026 |
+
#: loggers/SimpleCommentsLogger.php:275
|
1027 |
msgctxt "Comments logger: search"
|
1028 |
msgid "Edited comments"
|
1029 |
msgstr "Redigerade kommentarer"
|
1030 |
|
1031 |
+
#: loggers/SimpleCommentsLogger.php:280
|
1032 |
msgctxt "Comments logger: search"
|
1033 |
msgid "Approved comments"
|
1034 |
msgstr "Godkända kommentarer"
|
1035 |
|
1036 |
+
#: loggers/SimpleCommentsLogger.php:285
|
1037 |
msgctxt "Comments logger: search"
|
1038 |
msgid "Held comments"
|
1039 |
msgstr "Tillbakahållna kommentar"
|
1040 |
|
1041 |
+
#: loggers/SimpleCommentsLogger.php:290
|
1042 |
msgctxt "Comments logger: search"
|
1043 |
msgid "Comments status changed to spam"
|
1044 |
msgstr "Status på kommentar ändrad till spam"
|
1045 |
|
1046 |
+
#: loggers/SimpleCommentsLogger.php:295
|
1047 |
msgctxt "Comments logger: search"
|
1048 |
msgid "Trashed comments"
|
1049 |
msgstr "Kastade kommentarer"
|
1050 |
|
1051 |
+
#: loggers/SimpleCommentsLogger.php:300
|
1052 |
msgctxt "Comments logger: search"
|
1053 |
msgid "Untrashed comments"
|
1054 |
msgstr "Kommentarer tillbakatagna från papperskorgen"
|
1055 |
|
1056 |
+
#: loggers/SimpleCommentsLogger.php:305
|
1057 |
msgctxt "Comments logger: search"
|
1058 |
msgid "Deleted comments"
|
1059 |
msgstr "Borttagna kommentarer"
|
1060 |
|
1061 |
+
#: loggers/SimpleCommentsLogger.php:612 loggers/SimpleCommentsLogger.php:625
|
1062 |
+
#: loggers/SimpleCommentsLogger.php:639
|
1063 |
msgctxt "comments logger - detailed output comment status"
|
1064 |
msgid "Status"
|
1065 |
msgstr "Status"
|
1066 |
|
1067 |
+
#: loggers/SimpleCommentsLogger.php:614 loggers/SimpleCommentsLogger.php:627
|
1068 |
+
#: loggers/SimpleCommentsLogger.php:641
|
1069 |
msgctxt "comments logger - detailed output author"
|
1070 |
msgid "Name"
|
1071 |
msgstr "Namn"
|
1072 |
|
1073 |
+
#: loggers/SimpleCommentsLogger.php:615 loggers/SimpleCommentsLogger.php:628
|
1074 |
+
#: loggers/SimpleCommentsLogger.php:642
|
1075 |
msgctxt "comments logger - detailed output email"
|
1076 |
msgid "Email"
|
1077 |
msgstr "E-post"
|
1078 |
|
1079 |
+
#: loggers/SimpleCommentsLogger.php:616 loggers/SimpleCommentsLogger.php:629
|
1080 |
msgctxt "comments logger - detailed output content"
|
1081 |
msgid "Content"
|
1082 |
msgstr "Innehåll"
|
1083 |
|
1084 |
+
#: loggers/SimpleCommentsLogger.php:643
|
1085 |
msgctxt "comments logger - detailed output content"
|
1086 |
msgid "Comment"
|
1087 |
msgstr "Kommentar"
|
1088 |
|
1089 |
+
#: loggers/SimpleCommentsLogger.php:769
|
1090 |
msgctxt "comments logger - edit comment"
|
1091 |
msgid "View/Edit"
|
1092 |
msgstr "Visa/Redigera"
|
1448 |
msgid "M j"
|
1449 |
msgstr "M j"
|
1450 |
|
1451 |
+
#~ msgid "%1$d events today from one user and %3$d other source."
|
1452 |
+
#~ msgstr "%1$d händelser idag från en användare och från en annan källa."
|
1453 |
+
|
1454 |
#~ msgid "History"
|
1455 |
#~ msgstr "Historik"
|
1456 |
|
languages/simple-history.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the Simple History package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Simple History 2.0.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/Simple-History\n"
|
7 |
-
"POT-Creation-Date: 2015-01-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -37,7 +37,7 @@ msgid "Styles example (debug)"
|
|
37 |
msgstr ""
|
38 |
|
39 |
#: SimpleHistory.php:711
|
40 |
-
#. #-#-#-#-# Simple-History.pot (Simple History 2.0.
|
41 |
#. Plugin Name of the plugin/theme
|
42 |
msgid "Simple History"
|
43 |
msgstr ""
|
@@ -118,40 +118,54 @@ msgstr ""
|
|
118 |
msgid "Clear log now"
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: SimpleHistory.php:
|
122 |
-
msgid "+%1$s
|
123 |
-
|
|
|
|
|
124 |
|
125 |
-
#: SimpleHistory.php:
|
126 |
msgid "Loading…"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: SimpleHistory.php:
|
130 |
msgid "Showing %1$s more"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: SimpleHistory.php:
|
134 |
msgid "Context data"
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: SimpleHistory.php:
|
138 |
msgid "This is potentially useful meta data that a logger has saved."
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: SimpleHistory.php:
|
142 |
msgid "No events today so far."
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: SimpleHistory.php:
|
146 |
-
msgid "
|
|
|
|
|
|
|
|
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: SimpleHistory.php:
|
150 |
msgid "%1$d events today from %2$d users."
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: SimpleHistory.php:
|
154 |
-
msgid "%1$d events today from one user."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
msgstr ""
|
156 |
|
157 |
#: dropins/SimpleHistoryDonateDropin.php:36
|
@@ -168,6 +182,10 @@ msgstr ""
|
|
168 |
msgid "Filter history"
|
169 |
msgstr ""
|
170 |
|
|
|
|
|
|
|
|
|
171 |
#: dropins/SimpleHistoryFilterDropin.php:50
|
172 |
msgid "All log levels"
|
173 |
msgstr ""
|
@@ -257,33 +275,33 @@ msgstr ""
|
|
257 |
msgid "Stats"
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: index.php:
|
261 |
msgid ""
|
262 |
"Simple History is a great plugin, but to use it your server must have at "
|
263 |
"least PHP 5.3 installed (you have version %s)."
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: loggers/SimpleCommentsLogger.php:
|
267 |
msgid "Spam"
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: loggers/SimpleCommentsLogger.php:
|
271 |
msgid "Approved"
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: loggers/SimpleCommentsLogger.php:
|
275 |
msgid "Pending"
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: loggers/SimpleCommentsLogger.php:
|
279 |
msgid "Trackback"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: loggers/SimpleCommentsLogger.php:
|
283 |
msgid "Pingback"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: loggers/SimpleCommentsLogger.php:
|
287 |
msgid "Comment"
|
288 |
msgstr ""
|
289 |
|
@@ -615,82 +633,82 @@ msgctxt "history page headline"
|
|
615 |
msgid "Simple History"
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: SimpleHistory.php:
|
619 |
msgctxt "Log level in gui"
|
620 |
msgid "emergency"
|
621 |
msgstr ""
|
622 |
|
623 |
-
#: SimpleHistory.php:
|
624 |
msgctxt "Log level in gui"
|
625 |
msgid "alert"
|
626 |
msgstr ""
|
627 |
|
628 |
-
#: SimpleHistory.php:
|
629 |
msgctxt "Log level in gui"
|
630 |
msgid "critical"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: SimpleHistory.php:
|
634 |
msgctxt "Log level in gui"
|
635 |
msgid "error"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: SimpleHistory.php:
|
639 |
msgctxt "Log level in gui"
|
640 |
msgid "warning"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: SimpleHistory.php:
|
644 |
msgctxt "Log level in gui"
|
645 |
msgid "notice"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: SimpleHistory.php:
|
649 |
msgctxt "Log level in gui"
|
650 |
msgid "info"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: SimpleHistory.php:
|
654 |
msgctxt "Log level in gui"
|
655 |
msgid "debug"
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: SimpleHistory.php:
|
659 |
msgctxt "Log level in gui"
|
660 |
msgid "Emergency"
|
661 |
msgstr ""
|
662 |
|
663 |
-
#: SimpleHistory.php:
|
664 |
msgctxt "Log level in gui"
|
665 |
msgid "Alert"
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: SimpleHistory.php:
|
669 |
msgctxt "Log level in gui"
|
670 |
msgid "Critical"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: SimpleHistory.php:
|
674 |
msgctxt "Log level in gui"
|
675 |
msgid "Error"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: SimpleHistory.php:
|
679 |
msgctxt "Log level in gui"
|
680 |
msgid "Warning"
|
681 |
msgstr ""
|
682 |
|
683 |
-
#: SimpleHistory.php:
|
684 |
msgctxt "Log level in gui"
|
685 |
msgid "Notice"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: SimpleHistory.php:
|
689 |
msgctxt "Log level in gui"
|
690 |
msgid "Info"
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: SimpleHistory.php:
|
694 |
msgctxt "Log level in gui"
|
695 |
msgid "Debug"
|
696 |
msgstr ""
|
@@ -751,256 +769,256 @@ msgctxt "rss settings headline"
|
|
751 |
msgid "RSS feed"
|
752 |
msgstr ""
|
753 |
|
754 |
-
#: loggers/SimpleCommentsLogger.php:
|
755 |
msgctxt "A comment was added to the database by a non-logged in internet user"
|
756 |
msgid "Added a comment to {comment_post_type} \"{comment_post_title}\""
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: loggers/SimpleCommentsLogger.php:
|
760 |
msgctxt "A comment was added to the database by a logged in user"
|
761 |
msgid "Added a comment to {comment_post_type} \"{comment_post_title}\""
|
762 |
msgstr ""
|
763 |
|
764 |
-
#: loggers/SimpleCommentsLogger.php:
|
765 |
msgctxt "A comment was approved"
|
766 |
msgid ""
|
767 |
"Approved a comment to \"{comment_post_title}\" by {comment_author} "
|
768 |
"({comment_author_email})"
|
769 |
msgstr ""
|
770 |
|
771 |
-
#: loggers/SimpleCommentsLogger.php:
|
772 |
msgctxt "A comment was was unapproved"
|
773 |
msgid ""
|
774 |
"Unapproved a comment to \"{comment_post_title}\" by {comment_author} "
|
775 |
"({comment_author_email})"
|
776 |
msgstr ""
|
777 |
|
778 |
-
#: loggers/SimpleCommentsLogger.php:
|
779 |
msgctxt "A comment was marked as spam"
|
780 |
msgid "Marked a comment to post \"{comment_post_title}\" as spam"
|
781 |
msgstr ""
|
782 |
|
783 |
-
#: loggers/SimpleCommentsLogger.php:
|
784 |
msgctxt "A comment was marked moved to the trash"
|
785 |
msgid ""
|
786 |
"Trashed a comment to \"{comment_post_title}\" by {comment_author} "
|
787 |
"({comment_author_email})"
|
788 |
msgstr ""
|
789 |
|
790 |
-
#: loggers/SimpleCommentsLogger.php:
|
791 |
msgctxt "A comment was restored from the trash"
|
792 |
msgid ""
|
793 |
"Restored a comment to \"{comment_post_title}\" by {comment_author} "
|
794 |
"({comment_author_email}) from the trash"
|
795 |
msgstr ""
|
796 |
|
797 |
-
#: loggers/SimpleCommentsLogger.php:
|
798 |
msgctxt "A comment was deleted"
|
799 |
msgid ""
|
800 |
"Deleted a comment to \"{comment_post_title}\" by {comment_author} "
|
801 |
"({comment_author_email})"
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: loggers/SimpleCommentsLogger.php:
|
805 |
msgctxt "A comment was edited"
|
806 |
msgid ""
|
807 |
"Edited a comment to \"{comment_post_title}\" by {comment_author} "
|
808 |
"({comment_author_email})"
|
809 |
msgstr ""
|
810 |
|
811 |
-
#: loggers/SimpleCommentsLogger.php:
|
812 |
msgctxt "A trackback was added to the database by a non-logged in internet user"
|
813 |
msgid "Added a trackback to {comment_post_type} \"{comment_post_title}\""
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: loggers/SimpleCommentsLogger.php:
|
817 |
msgctxt "A trackback was added to the database by a non-logged in internet user"
|
818 |
msgid "Added a pingback to {comment_post_type} \"{comment_post_title}\""
|
819 |
msgstr ""
|
820 |
|
821 |
-
#: loggers/SimpleCommentsLogger.php:
|
822 |
msgctxt "A trackback was added to the database by a logged in user"
|
823 |
msgid "Added a trackback to {comment_post_type} \"{comment_post_title}\""
|
824 |
msgstr ""
|
825 |
|
826 |
-
#: loggers/SimpleCommentsLogger.php:
|
827 |
msgctxt "A trackback was approved"
|
828 |
msgid ""
|
829 |
"Approved a trackback to \"{comment_post_title}\" by {comment_author} "
|
830 |
"({comment_author_email})"
|
831 |
msgstr ""
|
832 |
|
833 |
-
#: loggers/SimpleCommentsLogger.php:
|
834 |
msgctxt "A trackback was was unapproved"
|
835 |
msgid ""
|
836 |
"Unapproved a trackback to \"{comment_post_title}\" by {comment_author} "
|
837 |
"({comment_author_email})"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: loggers/SimpleCommentsLogger.php:
|
841 |
msgctxt "A trackback was marked as spam"
|
842 |
msgid "Marked a trackback to post \"{comment_post_title}\" as spam"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: loggers/SimpleCommentsLogger.php:
|
846 |
msgctxt "A trackback was marked moved to the trash"
|
847 |
msgid ""
|
848 |
"Trashed a trackback to \"{comment_post_title}\" by {comment_author} "
|
849 |
"({comment_author_email})"
|
850 |
msgstr ""
|
851 |
|
852 |
-
#: loggers/SimpleCommentsLogger.php:
|
853 |
msgctxt "A trackback was restored from the trash"
|
854 |
msgid ""
|
855 |
"Restored a trackback to \"{comment_post_title}\" by {comment_author} "
|
856 |
"({comment_author_email}) from the trash"
|
857 |
msgstr ""
|
858 |
|
859 |
-
#: loggers/SimpleCommentsLogger.php:
|
860 |
msgctxt "A trackback was deleted"
|
861 |
msgid ""
|
862 |
"Deleted a trackback to \"{comment_post_title}\" by {comment_author} "
|
863 |
"({comment_author_email})"
|
864 |
msgstr ""
|
865 |
|
866 |
-
#: loggers/SimpleCommentsLogger.php:
|
867 |
msgctxt "A trackback was edited"
|
868 |
msgid ""
|
869 |
"Edited a trackback to \"{comment_post_title}\" by {comment_author} "
|
870 |
"({comment_author_email})"
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: loggers/SimpleCommentsLogger.php:
|
874 |
msgctxt "A pingback was added to the database by a logged in user"
|
875 |
msgid "Added a pingback to {comment_post_type} \"{comment_post_title}\""
|
876 |
msgstr ""
|
877 |
|
878 |
-
#: loggers/SimpleCommentsLogger.php:
|
879 |
msgctxt "A pingback was approved"
|
880 |
msgid ""
|
881 |
"Approved a pingback to \"{comment_post_title}\" by \"{comment_author}\"\" "
|
882 |
"({comment_author_email})"
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: loggers/SimpleCommentsLogger.php:
|
886 |
msgctxt "A pingback was was unapproved"
|
887 |
msgid ""
|
888 |
"Unapproved a pingback to \"{comment_post_title}\" by \"{comment_author}\" "
|
889 |
"({comment_author_email})"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: loggers/SimpleCommentsLogger.php:
|
893 |
msgctxt "A pingback was marked as spam"
|
894 |
msgid "Marked a pingback to post \"{comment_post_title}\" as spam"
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: loggers/SimpleCommentsLogger.php:
|
898 |
msgctxt "A pingback was marked moved to the trash"
|
899 |
msgid ""
|
900 |
"Trashed a pingback to \"{comment_post_title}\" by {comment_author} "
|
901 |
"({comment_author_email})"
|
902 |
msgstr ""
|
903 |
|
904 |
-
#: loggers/SimpleCommentsLogger.php:
|
905 |
msgctxt "A pingback was restored from the trash"
|
906 |
msgid ""
|
907 |
"Restored a pingback to \"{comment_post_title}\" by {comment_author} "
|
908 |
"({comment_author_email}) from the trash"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: loggers/SimpleCommentsLogger.php:
|
912 |
msgctxt "A pingback was deleted"
|
913 |
msgid ""
|
914 |
"Deleted a pingback to \"{comment_post_title}\" by {comment_author} "
|
915 |
"({comment_author_email})"
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: loggers/SimpleCommentsLogger.php:
|
919 |
msgctxt "A pingback was edited"
|
920 |
msgid ""
|
921 |
"Edited a pingback to \"{comment_post_title}\" by {comment_author} "
|
922 |
"({comment_author_email})"
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: loggers/SimpleCommentsLogger.php:
|
926 |
msgctxt "Comments logger: search"
|
927 |
msgid "Comments"
|
928 |
msgstr ""
|
929 |
|
930 |
-
#: loggers/SimpleCommentsLogger.php:
|
931 |
msgctxt "Comments logger: search"
|
932 |
msgid "All comments activity"
|
933 |
msgstr ""
|
934 |
|
935 |
-
#: loggers/SimpleCommentsLogger.php:
|
936 |
msgctxt "Comments logger: search"
|
937 |
msgid "Added comments"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: loggers/SimpleCommentsLogger.php:
|
941 |
msgctxt "Comments logger: search"
|
942 |
msgid "Edited comments"
|
943 |
msgstr ""
|
944 |
|
945 |
-
#: loggers/SimpleCommentsLogger.php:
|
946 |
msgctxt "Comments logger: search"
|
947 |
msgid "Approved comments"
|
948 |
msgstr ""
|
949 |
|
950 |
-
#: loggers/SimpleCommentsLogger.php:
|
951 |
msgctxt "Comments logger: search"
|
952 |
msgid "Held comments"
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: loggers/SimpleCommentsLogger.php:
|
956 |
msgctxt "Comments logger: search"
|
957 |
msgid "Comments status changed to spam"
|
958 |
msgstr ""
|
959 |
|
960 |
-
#: loggers/SimpleCommentsLogger.php:
|
961 |
msgctxt "Comments logger: search"
|
962 |
msgid "Trashed comments"
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: loggers/SimpleCommentsLogger.php:
|
966 |
msgctxt "Comments logger: search"
|
967 |
msgid "Untrashed comments"
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: loggers/SimpleCommentsLogger.php:
|
971 |
msgctxt "Comments logger: search"
|
972 |
msgid "Deleted comments"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: loggers/SimpleCommentsLogger.php:
|
976 |
-
#: loggers/SimpleCommentsLogger.php:
|
977 |
msgctxt "comments logger - detailed output comment status"
|
978 |
msgid "Status"
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: loggers/SimpleCommentsLogger.php:
|
982 |
-
#: loggers/SimpleCommentsLogger.php:
|
983 |
msgctxt "comments logger - detailed output author"
|
984 |
msgid "Name"
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: loggers/SimpleCommentsLogger.php:
|
988 |
-
#: loggers/SimpleCommentsLogger.php:
|
989 |
msgctxt "comments logger - detailed output email"
|
990 |
msgid "Email"
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: loggers/SimpleCommentsLogger.php:
|
994 |
msgctxt "comments logger - detailed output content"
|
995 |
msgid "Content"
|
996 |
msgstr ""
|
997 |
|
998 |
-
#: loggers/SimpleCommentsLogger.php:
|
999 |
msgctxt "comments logger - detailed output content"
|
1000 |
msgid "Comment"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
-
#: loggers/SimpleCommentsLogger.php:
|
1004 |
msgctxt "comments logger - edit comment"
|
1005 |
msgid "View/Edit"
|
1006 |
msgstr ""
|
2 |
# This file is distributed under the same license as the Simple History package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Simple History 2.0.15\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/Simple-History\n"
|
7 |
+
"POT-Creation-Date: 2015-01-14 20:50:40+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
37 |
msgstr ""
|
38 |
|
39 |
#: SimpleHistory.php:711
|
40 |
+
#. #-#-#-#-# Simple-History.pot (Simple History 2.0.15) #-#-#-#-#
|
41 |
#. Plugin Name of the plugin/theme
|
42 |
msgid "Simple History"
|
43 |
msgstr ""
|
118 |
msgid "Clear log now"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: SimpleHistory.php:1659
|
122 |
+
msgid "+%1$s similar event"
|
123 |
+
msgid_plural "+%1$s similar events"
|
124 |
+
msgstr[0] ""
|
125 |
+
msgstr[1] ""
|
126 |
|
127 |
+
#: SimpleHistory.php:1666
|
128 |
msgid "Loading…"
|
129 |
msgstr ""
|
130 |
|
131 |
+
#: SimpleHistory.php:1673
|
132 |
msgid "Showing %1$s more"
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: SimpleHistory.php:1692
|
136 |
msgid "Context data"
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: SimpleHistory.php:1693
|
140 |
msgid "This is potentially useful meta data that a logger has saved."
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: SimpleHistory.php:2156
|
144 |
msgid "No events today so far."
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: SimpleHistory.php:2174
|
148 |
+
msgid "One event today from one user."
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: SimpleHistory.php:2180
|
152 |
+
msgid "One event today from one source."
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: SimpleHistory.php:2186
|
156 |
msgid "%1$d events today from %2$d users."
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: SimpleHistory.php:2192 SimpleHistory.php:2198
|
160 |
+
msgid "%1$d events today from one user and one other source."
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: SimpleHistory.php:2204
|
164 |
+
msgid "%1$d events today from one user and %3$d other sources."
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: SimpleHistory.php:2210
|
168 |
+
msgid "%1$s events today from %2$d users and %3$d other sources."
|
169 |
msgstr ""
|
170 |
|
171 |
#: dropins/SimpleHistoryDonateDropin.php:36
|
182 |
msgid "Filter history"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: dropins/SimpleHistoryFilterDropin.php:46
|
186 |
+
msgid "Search"
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
#: dropins/SimpleHistoryFilterDropin.php:50
|
190 |
msgid "All log levels"
|
191 |
msgstr ""
|
275 |
msgid "Stats"
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: index.php:59
|
279 |
msgid ""
|
280 |
"Simple History is a great plugin, but to use it your server must have at "
|
281 |
"least PHP 5.3 installed (you have version %s)."
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: loggers/SimpleCommentsLogger.php:695
|
285 |
msgid "Spam"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: loggers/SimpleCommentsLogger.php:697
|
289 |
msgid "Approved"
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: loggers/SimpleCommentsLogger.php:699
|
293 |
msgid "Pending"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: loggers/SimpleCommentsLogger.php:713
|
297 |
msgid "Trackback"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: loggers/SimpleCommentsLogger.php:715
|
301 |
msgid "Pingback"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: loggers/SimpleCommentsLogger.php:717
|
305 |
msgid "Comment"
|
306 |
msgstr ""
|
307 |
|
633 |
msgid "Simple History"
|
634 |
msgstr ""
|
635 |
|
636 |
+
#: SimpleHistory.php:1829
|
637 |
msgctxt "Log level in gui"
|
638 |
msgid "emergency"
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: SimpleHistory.php:1833
|
642 |
msgctxt "Log level in gui"
|
643 |
msgid "alert"
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: SimpleHistory.php:1837
|
647 |
msgctxt "Log level in gui"
|
648 |
msgid "critical"
|
649 |
msgstr ""
|
650 |
|
651 |
+
#: SimpleHistory.php:1841
|
652 |
msgctxt "Log level in gui"
|
653 |
msgid "error"
|
654 |
msgstr ""
|
655 |
|
656 |
+
#: SimpleHistory.php:1845
|
657 |
msgctxt "Log level in gui"
|
658 |
msgid "warning"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: SimpleHistory.php:1849
|
662 |
msgctxt "Log level in gui"
|
663 |
msgid "notice"
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: SimpleHistory.php:1853
|
667 |
msgctxt "Log level in gui"
|
668 |
msgid "info"
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: SimpleHistory.php:1857
|
672 |
msgctxt "Log level in gui"
|
673 |
msgid "debug"
|
674 |
msgstr ""
|
675 |
|
676 |
+
#: SimpleHistory.php:1862
|
677 |
msgctxt "Log level in gui"
|
678 |
msgid "Emergency"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: SimpleHistory.php:1866
|
682 |
msgctxt "Log level in gui"
|
683 |
msgid "Alert"
|
684 |
msgstr ""
|
685 |
|
686 |
+
#: SimpleHistory.php:1870
|
687 |
msgctxt "Log level in gui"
|
688 |
msgid "Critical"
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: SimpleHistory.php:1874
|
692 |
msgctxt "Log level in gui"
|
693 |
msgid "Error"
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: SimpleHistory.php:1878
|
697 |
msgctxt "Log level in gui"
|
698 |
msgid "Warning"
|
699 |
msgstr ""
|
700 |
|
701 |
+
#: SimpleHistory.php:1882
|
702 |
msgctxt "Log level in gui"
|
703 |
msgid "Notice"
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: SimpleHistory.php:1886
|
707 |
msgctxt "Log level in gui"
|
708 |
msgid "Info"
|
709 |
msgstr ""
|
710 |
|
711 |
+
#: SimpleHistory.php:1890
|
712 |
msgctxt "Log level in gui"
|
713 |
msgid "Debug"
|
714 |
msgstr ""
|
769 |
msgid "RSS feed"
|
770 |
msgstr ""
|
771 |
|
772 |
+
#: loggers/SimpleCommentsLogger.php:95
|
773 |
msgctxt "A comment was added to the database by a non-logged in internet user"
|
774 |
msgid "Added a comment to {comment_post_type} \"{comment_post_title}\""
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: loggers/SimpleCommentsLogger.php:101
|
778 |
msgctxt "A comment was added to the database by a logged in user"
|
779 |
msgid "Added a comment to {comment_post_type} \"{comment_post_title}\""
|
780 |
msgstr ""
|
781 |
|
782 |
+
#: loggers/SimpleCommentsLogger.php:107
|
783 |
msgctxt "A comment was approved"
|
784 |
msgid ""
|
785 |
"Approved a comment to \"{comment_post_title}\" by {comment_author} "
|
786 |
"({comment_author_email})"
|
787 |
msgstr ""
|
788 |
|
789 |
+
#: loggers/SimpleCommentsLogger.php:113
|
790 |
msgctxt "A comment was was unapproved"
|
791 |
msgid ""
|
792 |
"Unapproved a comment to \"{comment_post_title}\" by {comment_author} "
|
793 |
"({comment_author_email})"
|
794 |
msgstr ""
|
795 |
|
796 |
+
#: loggers/SimpleCommentsLogger.php:119
|
797 |
msgctxt "A comment was marked as spam"
|
798 |
msgid "Marked a comment to post \"{comment_post_title}\" as spam"
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: loggers/SimpleCommentsLogger.php:125
|
802 |
msgctxt "A comment was marked moved to the trash"
|
803 |
msgid ""
|
804 |
"Trashed a comment to \"{comment_post_title}\" by {comment_author} "
|
805 |
"({comment_author_email})"
|
806 |
msgstr ""
|
807 |
|
808 |
+
#: loggers/SimpleCommentsLogger.php:131
|
809 |
msgctxt "A comment was restored from the trash"
|
810 |
msgid ""
|
811 |
"Restored a comment to \"{comment_post_title}\" by {comment_author} "
|
812 |
"({comment_author_email}) from the trash"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#: loggers/SimpleCommentsLogger.php:137
|
816 |
msgctxt "A comment was deleted"
|
817 |
msgid ""
|
818 |
"Deleted a comment to \"{comment_post_title}\" by {comment_author} "
|
819 |
"({comment_author_email})"
|
820 |
msgstr ""
|
821 |
|
822 |
+
#: loggers/SimpleCommentsLogger.php:143
|
823 |
msgctxt "A comment was edited"
|
824 |
msgid ""
|
825 |
"Edited a comment to \"{comment_post_title}\" by {comment_author} "
|
826 |
"({comment_author_email})"
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: loggers/SimpleCommentsLogger.php:150
|
830 |
msgctxt "A trackback was added to the database by a non-logged in internet user"
|
831 |
msgid "Added a trackback to {comment_post_type} \"{comment_post_title}\""
|
832 |
msgstr ""
|
833 |
|
834 |
+
#: loggers/SimpleCommentsLogger.php:205
|
835 |
msgctxt "A trackback was added to the database by a non-logged in internet user"
|
836 |
msgid "Added a pingback to {comment_post_type} \"{comment_post_title}\""
|
837 |
msgstr ""
|
838 |
|
839 |
+
#: loggers/SimpleCommentsLogger.php:156
|
840 |
msgctxt "A trackback was added to the database by a logged in user"
|
841 |
msgid "Added a trackback to {comment_post_type} \"{comment_post_title}\""
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: loggers/SimpleCommentsLogger.php:162
|
845 |
msgctxt "A trackback was approved"
|
846 |
msgid ""
|
847 |
"Approved a trackback to \"{comment_post_title}\" by {comment_author} "
|
848 |
"({comment_author_email})"
|
849 |
msgstr ""
|
850 |
|
851 |
+
#: loggers/SimpleCommentsLogger.php:168
|
852 |
msgctxt "A trackback was was unapproved"
|
853 |
msgid ""
|
854 |
"Unapproved a trackback to \"{comment_post_title}\" by {comment_author} "
|
855 |
"({comment_author_email})"
|
856 |
msgstr ""
|
857 |
|
858 |
+
#: loggers/SimpleCommentsLogger.php:174
|
859 |
msgctxt "A trackback was marked as spam"
|
860 |
msgid "Marked a trackback to post \"{comment_post_title}\" as spam"
|
861 |
msgstr ""
|
862 |
|
863 |
+
#: loggers/SimpleCommentsLogger.php:180
|
864 |
msgctxt "A trackback was marked moved to the trash"
|
865 |
msgid ""
|
866 |
"Trashed a trackback to \"{comment_post_title}\" by {comment_author} "
|
867 |
"({comment_author_email})"
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: loggers/SimpleCommentsLogger.php:186
|
871 |
msgctxt "A trackback was restored from the trash"
|
872 |
msgid ""
|
873 |
"Restored a trackback to \"{comment_post_title}\" by {comment_author} "
|
874 |
"({comment_author_email}) from the trash"
|
875 |
msgstr ""
|
876 |
|
877 |
+
#: loggers/SimpleCommentsLogger.php:192
|
878 |
msgctxt "A trackback was deleted"
|
879 |
msgid ""
|
880 |
"Deleted a trackback to \"{comment_post_title}\" by {comment_author} "
|
881 |
"({comment_author_email})"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: loggers/SimpleCommentsLogger.php:198
|
885 |
msgctxt "A trackback was edited"
|
886 |
msgid ""
|
887 |
"Edited a trackback to \"{comment_post_title}\" by {comment_author} "
|
888 |
"({comment_author_email})"
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: loggers/SimpleCommentsLogger.php:211
|
892 |
msgctxt "A pingback was added to the database by a logged in user"
|
893 |
msgid "Added a pingback to {comment_post_type} \"{comment_post_title}\""
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: loggers/SimpleCommentsLogger.php:217
|
897 |
msgctxt "A pingback was approved"
|
898 |
msgid ""
|
899 |
"Approved a pingback to \"{comment_post_title}\" by \"{comment_author}\"\" "
|
900 |
"({comment_author_email})"
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: loggers/SimpleCommentsLogger.php:223
|
904 |
msgctxt "A pingback was was unapproved"
|
905 |
msgid ""
|
906 |
"Unapproved a pingback to \"{comment_post_title}\" by \"{comment_author}\" "
|
907 |
"({comment_author_email})"
|
908 |
msgstr ""
|
909 |
|
910 |
+
#: loggers/SimpleCommentsLogger.php:229
|
911 |
msgctxt "A pingback was marked as spam"
|
912 |
msgid "Marked a pingback to post \"{comment_post_title}\" as spam"
|
913 |
msgstr ""
|
914 |
|
915 |
+
#: loggers/SimpleCommentsLogger.php:235
|
916 |
msgctxt "A pingback was marked moved to the trash"
|
917 |
msgid ""
|
918 |
"Trashed a pingback to \"{comment_post_title}\" by {comment_author} "
|
919 |
"({comment_author_email})"
|
920 |
msgstr ""
|
921 |
|
922 |
+
#: loggers/SimpleCommentsLogger.php:241
|
923 |
msgctxt "A pingback was restored from the trash"
|
924 |
msgid ""
|
925 |
"Restored a pingback to \"{comment_post_title}\" by {comment_author} "
|
926 |
"({comment_author_email}) from the trash"
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: loggers/SimpleCommentsLogger.php:247
|
930 |
msgctxt "A pingback was deleted"
|
931 |
msgid ""
|
932 |
"Deleted a pingback to \"{comment_post_title}\" by {comment_author} "
|
933 |
"({comment_author_email})"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: loggers/SimpleCommentsLogger.php:253
|
937 |
msgctxt "A pingback was edited"
|
938 |
msgid ""
|
939 |
"Edited a pingback to \"{comment_post_title}\" by {comment_author} "
|
940 |
"({comment_author_email})"
|
941 |
msgstr ""
|
942 |
|
943 |
+
#: loggers/SimpleCommentsLogger.php:264
|
944 |
msgctxt "Comments logger: search"
|
945 |
msgid "Comments"
|
946 |
msgstr ""
|
947 |
|
948 |
+
#: loggers/SimpleCommentsLogger.php:265
|
949 |
msgctxt "Comments logger: search"
|
950 |
msgid "All comments activity"
|
951 |
msgstr ""
|
952 |
|
953 |
+
#: loggers/SimpleCommentsLogger.php:267
|
954 |
msgctxt "Comments logger: search"
|
955 |
msgid "Added comments"
|
956 |
msgstr ""
|
957 |
|
958 |
+
#: loggers/SimpleCommentsLogger.php:275
|
959 |
msgctxt "Comments logger: search"
|
960 |
msgid "Edited comments"
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: loggers/SimpleCommentsLogger.php:280
|
964 |
msgctxt "Comments logger: search"
|
965 |
msgid "Approved comments"
|
966 |
msgstr ""
|
967 |
|
968 |
+
#: loggers/SimpleCommentsLogger.php:285
|
969 |
msgctxt "Comments logger: search"
|
970 |
msgid "Held comments"
|
971 |
msgstr ""
|
972 |
|
973 |
+
#: loggers/SimpleCommentsLogger.php:290
|
974 |
msgctxt "Comments logger: search"
|
975 |
msgid "Comments status changed to spam"
|
976 |
msgstr ""
|
977 |
|
978 |
+
#: loggers/SimpleCommentsLogger.php:295
|
979 |
msgctxt "Comments logger: search"
|
980 |
msgid "Trashed comments"
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: loggers/SimpleCommentsLogger.php:300
|
984 |
msgctxt "Comments logger: search"
|
985 |
msgid "Untrashed comments"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: loggers/SimpleCommentsLogger.php:305
|
989 |
msgctxt "Comments logger: search"
|
990 |
msgid "Deleted comments"
|
991 |
msgstr ""
|
992 |
|
993 |
+
#: loggers/SimpleCommentsLogger.php:612 loggers/SimpleCommentsLogger.php:625
|
994 |
+
#: loggers/SimpleCommentsLogger.php:639
|
995 |
msgctxt "comments logger - detailed output comment status"
|
996 |
msgid "Status"
|
997 |
msgstr ""
|
998 |
|
999 |
+
#: loggers/SimpleCommentsLogger.php:614 loggers/SimpleCommentsLogger.php:627
|
1000 |
+
#: loggers/SimpleCommentsLogger.php:641
|
1001 |
msgctxt "comments logger - detailed output author"
|
1002 |
msgid "Name"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
+
#: loggers/SimpleCommentsLogger.php:615 loggers/SimpleCommentsLogger.php:628
|
1006 |
+
#: loggers/SimpleCommentsLogger.php:642
|
1007 |
msgctxt "comments logger - detailed output email"
|
1008 |
msgid "Email"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
+
#: loggers/SimpleCommentsLogger.php:616 loggers/SimpleCommentsLogger.php:629
|
1012 |
msgctxt "comments logger - detailed output content"
|
1013 |
msgid "Content"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: loggers/SimpleCommentsLogger.php:643
|
1017 |
msgctxt "comments logger - detailed output content"
|
1018 |
msgid "Comment"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: loggers/SimpleCommentsLogger.php:769
|
1022 |
msgctxt "comments logger - edit comment"
|
1023 |
msgid "View/Edit"
|
1024 |
msgstr ""
|
loggers/SimpleCommentsLogger.php
CHANGED
@@ -15,6 +15,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
15 |
// Add option to not show spam comments, because to much things getting logged
|
16 |
#add_filter("simple_history/log_query_sql_where", array($this, "maybe_modify_log_query_sql_where"));
|
17 |
add_filter("simple_history/log_query_inner_where", array($this, "maybe_modify_log_query_sql_where"));
|
|
|
18 |
|
19 |
}
|
20 |
|
@@ -24,9 +25,9 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
24 |
* @param string $where sql query where
|
25 |
*/
|
26 |
function maybe_modify_log_query_sql_where($where) {
|
27 |
-
|
28 |
$include_spam = false;
|
29 |
-
|
30 |
/**
|
31 |
* Filter option to include spam or not in the gui
|
32 |
* By default spam is not included, because it can fill the log
|
@@ -44,29 +45,29 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
44 |
|
45 |
$where .= sprintf('
|
46 |
AND id NOT IN (
|
47 |
-
|
48 |
SELECT id
|
49 |
-
# , c1.history_id, c2.history_id
|
50 |
FROM %1$s AS h
|
51 |
|
52 |
-
INNER JOIN %2$s AS c1
|
53 |
-
ON c1.history_id = h.id
|
54 |
-
AND c1.key = "_message_key"
|
55 |
AND c1.value IN (
|
56 |
-
"comment_deleted",
|
57 |
-
"pingback_deleted",
|
58 |
"trackback_deleted",
|
59 |
-
"anon_comment_added",
|
60 |
-
"anon_pingback_added",
|
61 |
"anon_trackback_added"
|
62 |
)
|
63 |
|
64 |
-
INNER JOIN %2$s AS c2
|
65 |
-
ON c2.history_id = h.id
|
66 |
-
AND c2.key = "comment_approved"
|
67 |
AND c2.value = "spam"
|
68 |
|
69 |
-
WHERE logger = "%3$s"
|
70 |
|
71 |
)
|
72 |
', $this->db_table, $this->db_table_contexts, $this->slug);
|
@@ -79,12 +80,12 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
79 |
|
80 |
/**
|
81 |
* Get array with information about this logger
|
82 |
-
*
|
83 |
* @return array
|
84 |
*/
|
85 |
function getInfo() {
|
86 |
|
87 |
-
$arr_info = array(
|
88 |
"name" => "Comments Logger",
|
89 |
"description" => "Logs comments, and modifications to them",
|
90 |
"capability" => "moderate_comments",
|
@@ -98,49 +99,49 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
98 |
),
|
99 |
|
100 |
'user_comment_added' => _x(
|
101 |
-
'Added a comment to {comment_post_type} "{comment_post_title}"',
|
102 |
'A comment was added to the database by a logged in user',
|
103 |
'simple-history'
|
104 |
),
|
105 |
|
106 |
'comment_status_approve' => _x(
|
107 |
-
'Approved a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
108 |
'A comment was approved',
|
109 |
'simple-history'
|
110 |
),
|
111 |
|
112 |
'comment_status_hold' => _x(
|
113 |
-
'Unapproved a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
114 |
'A comment was was unapproved',
|
115 |
'simple-history'
|
116 |
),
|
117 |
|
118 |
'comment_status_spam' => _x(
|
119 |
-
'Marked a comment to post "{comment_post_title}" as spam',
|
120 |
'A comment was marked as spam',
|
121 |
'simple-history'
|
122 |
),
|
123 |
|
124 |
'comment_status_trash' => _x(
|
125 |
-
'Trashed a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
126 |
'A comment was marked moved to the trash',
|
127 |
'simple-history'
|
128 |
),
|
129 |
|
130 |
'comment_untrashed' => _x(
|
131 |
-
'Restored a comment to "{comment_post_title}" by {comment_author} ({comment_author_email}) from the trash',
|
132 |
'A comment was restored from the trash',
|
133 |
'simple-history'
|
134 |
),
|
135 |
|
136 |
'comment_deleted' => _x(
|
137 |
-
'Deleted a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
138 |
'A comment was deleted',
|
139 |
'simple-history'
|
140 |
),
|
141 |
|
142 |
'comment_edited' => _x(
|
143 |
-
'Edited a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
144 |
'A comment was edited',
|
145 |
'simple-history'
|
146 |
),
|
@@ -153,49 +154,49 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
153 |
),
|
154 |
|
155 |
'user_trackback_added' => _x(
|
156 |
-
'Added a trackback to {comment_post_type} "{comment_post_title}"',
|
157 |
'A trackback was added to the database by a logged in user',
|
158 |
'simple-history'
|
159 |
),
|
160 |
|
161 |
'trackback_status_approve' => _x(
|
162 |
-
'Approved a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
163 |
'A trackback was approved',
|
164 |
'simple-history'
|
165 |
),
|
166 |
|
167 |
'trackback_status_hold' => _x(
|
168 |
-
'Unapproved a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
169 |
'A trackback was was unapproved',
|
170 |
'simple-history'
|
171 |
),
|
172 |
|
173 |
'trackback_status_spam' => _x(
|
174 |
-
'Marked a trackback to post "{comment_post_title}" as spam',
|
175 |
'A trackback was marked as spam',
|
176 |
'simple-history'
|
177 |
),
|
178 |
|
179 |
'trackback_status_trash' => _x(
|
180 |
-
'Trashed a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
181 |
'A trackback was marked moved to the trash',
|
182 |
'simple-history'
|
183 |
),
|
184 |
|
185 |
'trackback_untrashed' => _x(
|
186 |
-
'Restored a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email}) from the trash',
|
187 |
'A trackback was restored from the trash',
|
188 |
'simple-history'
|
189 |
),
|
190 |
|
191 |
'trackback_deleted' => _x(
|
192 |
-
'Deleted a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
193 |
'A trackback was deleted',
|
194 |
'simple-history'
|
195 |
),
|
196 |
|
197 |
'trackback_edited' => _x(
|
198 |
-
'Edited a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
199 |
'A trackback was edited',
|
200 |
'simple-history'
|
201 |
),
|
@@ -208,49 +209,49 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
208 |
),
|
209 |
|
210 |
'user_pingback_added' => _x(
|
211 |
-
'Added a pingback to {comment_post_type} "{comment_post_title}"',
|
212 |
'A pingback was added to the database by a logged in user',
|
213 |
'simple-history'
|
214 |
),
|
215 |
|
216 |
'pingback_status_approve' => _x(
|
217 |
-
'Approved a pingback to "{comment_post_title}" by "{comment_author}"" ({comment_author_email})',
|
218 |
'A pingback was approved',
|
219 |
'simple-history'
|
220 |
),
|
221 |
|
222 |
'pingback_status_hold' => _x(
|
223 |
-
'Unapproved a pingback to "{comment_post_title}" by "{comment_author}" ({comment_author_email})',
|
224 |
'A pingback was was unapproved',
|
225 |
'simple-history'
|
226 |
),
|
227 |
|
228 |
'pingback_status_spam' => _x(
|
229 |
-
'Marked a pingback to post "{comment_post_title}" as spam',
|
230 |
'A pingback was marked as spam',
|
231 |
'simple-history'
|
232 |
),
|
233 |
|
234 |
'pingback_status_trash' => _x(
|
235 |
-
'Trashed a pingback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
236 |
'A pingback was marked moved to the trash',
|
237 |
'simple-history'
|
238 |
),
|
239 |
|
240 |
'pingback_untrashed' => _x(
|
241 |
-
'Restored a pingback to "{comment_post_title}" by {comment_author} ({comment_author_email}) from the trash',
|
242 |
'A pingback was restored from the trash',
|
243 |
'simple-history'
|
244 |
),
|
245 |
|
246 |
'pingback_deleted' => _x(
|
247 |
-
'Deleted a pingback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
248 |
'A pingback was deleted',
|
249 |
'simple-history'
|
250 |
),
|
251 |
|
252 |
'pingback_edited' => _x(
|
253 |
-
'Edited a pingback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
254 |
'A pingback was edited',
|
255 |
'simple-history'
|
256 |
),
|
@@ -312,7 +313,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
312 |
) // labels
|
313 |
|
314 |
);
|
315 |
-
|
316 |
return $arr_info;
|
317 |
|
318 |
}
|
@@ -346,12 +347,12 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
346 |
*/
|
347 |
add_action( "edit_comment", array( $this, 'on_edit_comment'), 10, 1 );
|
348 |
|
349 |
-
|
350 |
}
|
351 |
|
352 |
/**
|
353 |
* Get comments context
|
354 |
-
*
|
355 |
* @param int $comment_ID
|
356 |
* @return mixed array with context if comment found, false if comment not found
|
357 |
*/
|
@@ -402,7 +403,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
402 |
$this->infoMessage(
|
403 |
"{$context["comment_type"]}_edited",
|
404 |
$context
|
405 |
-
);
|
406 |
|
407 |
}
|
408 |
|
@@ -426,7 +427,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
426 |
$this->infoMessage(
|
427 |
"{$context["comment_type"]}_deleted",
|
428 |
$context
|
429 |
-
);
|
430 |
|
431 |
}
|
432 |
|
@@ -440,7 +441,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
440 |
$this->infoMessage(
|
441 |
"{$context["comment_type"]}_untrashed",
|
442 |
$context
|
443 |
-
);
|
444 |
|
445 |
}
|
446 |
|
@@ -451,7 +452,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
451 |
* @param string|bool $comment_status The comment status. Possible values include 'hold',
|
452 |
* 'approve', 'spam', 'trash', or false.
|
453 |
* do_action( 'wp_set_comment_status', $comment_id, $comment_status );
|
454 |
-
*/
|
455 |
public function on_wp_set_comment_status($comment_ID, $comment_status) {
|
456 |
|
457 |
$context = $this->get_context_for_comment($comment_ID);
|
@@ -496,12 +497,12 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
496 |
$message = "";
|
497 |
|
498 |
if ( $comment_data->user_id ) {
|
499 |
-
|
500 |
// comment was from a logged in user
|
501 |
$message = "user_{$context["comment_type"]}_added";
|
502 |
|
503 |
} else {
|
504 |
-
|
505 |
// comment was from a non-logged in user
|
506 |
$message = "anon_{$context["comment_type"]}_added";
|
507 |
$context["_initiator"] = SimpleLoggerLogInitiators::WEB_USER;
|
@@ -518,8 +519,8 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
518 |
// OR: different messages for different comment types?
|
519 |
/*
|
520 |
if ( isset( $comment_data["comment_type"] ) ) {
|
521 |
-
|
522 |
-
$comment_type = $comment_data["comment_type"];
|
523 |
|
524 |
}
|
525 |
*/
|
@@ -537,7 +538,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
537 |
* and link to comment
|
538 |
*/
|
539 |
public function getLogRowPlainTextOutput($row) {
|
540 |
-
|
541 |
$message = $row->message;
|
542 |
$context = $row->context;
|
543 |
$message_key = $context["_message_key"];
|
@@ -555,7 +556,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
555 |
$edit_post_link = get_edit_post_link( $comment_post_ID );
|
556 |
|
557 |
if ( $edit_post_link ) {
|
558 |
-
|
559 |
$message = str_replace(
|
560 |
'"{comment_post_title}"',
|
561 |
"<a href='{$edit_post_link}'>\"{comment_post_title}\"</a>",
|
@@ -563,7 +564,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
563 |
);
|
564 |
|
565 |
}
|
566 |
-
|
567 |
}
|
568 |
|
569 |
|
@@ -581,7 +582,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
581 |
$message_key = $context["_message_key"];
|
582 |
$output = "";
|
583 |
#print_r($row);exit;
|
584 |
-
/*
|
585 |
if ( 'spam' !== $commentdata['comment_approved'] ) { // If it's spam save it silently for later crunching
|
586 |
if ( '0' == $commentdata['comment_approved'] ) { // comment not spam, but not auto-approved
|
587 |
wp_notify_moderator( $comment_ID );
|
@@ -598,7 +599,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
598 |
$comment_text = wp_trim_words( $comment_text, 20 );
|
599 |
$comment_text = wpautop( $comment_text );
|
600 |
}
|
601 |
-
|
602 |
// Keys to show
|
603 |
$arr_plugin_keys = array();
|
604 |
$comment_type = isset( $context["comment_type"] ) ? $context["comment_type"] : "";
|
@@ -633,7 +634,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
633 |
|
634 |
case "comment";
|
635 |
default;
|
636 |
-
|
637 |
$arr_plugin_keys = array(
|
638 |
"comment_status" => _x("Status", "comments logger - detailed output comment status", "simple-history"),
|
639 |
#"comment_type" => _x("Comment type", "comments logger - detailed output comment type", "simple-history"),
|
@@ -655,7 +656,7 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
655 |
$output .= "<table class='SimpleHistoryLogitem__keyValueTable'>";
|
656 |
|
657 |
foreach ( $arr_plugin_keys as $key => $desc ) {
|
658 |
-
|
659 |
switch ( $key ) {
|
660 |
|
661 |
case "comment_content":
|
@@ -667,18 +668,18 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
667 |
case "comment_author":
|
668 |
case "trackback_author":
|
669 |
case "pingback_author":
|
670 |
-
|
671 |
$desc_output = "";
|
672 |
|
673 |
$desc_output .= esc_html( $context[ $key ] );
|
674 |
|
675 |
/*
|
676 |
if ( isset( $context["comment_author_email"] ) ) {
|
677 |
-
|
678 |
$gravatar_email = $context["comment_author_email"];
|
679 |
$avatar = $this->simpleHistory->get_avatar( $gravatar_email, 14, "blank" );
|
680 |
$desc_output .= "<span class='SimpleCommentsLogger__gravatar'>{$avatar}</span>";
|
681 |
-
|
682 |
}
|
683 |
*/
|
684 |
|
@@ -747,17 +748,17 @@ class SimpleCommentsLogger extends SimpleLogger
|
|
747 |
|
748 |
// Add link to edit comment
|
749 |
$comment_ID = isset( $context["comment_ID"] ) && is_numeric( $context["comment_ID"] ) ? (int) $context["comment_ID"] : false;
|
750 |
-
|
751 |
if ( $comment_ID ) {
|
752 |
-
|
753 |
// http://site.local/wp/wp-admin/comment.php?action=editcomment&c=
|
754 |
$edit_comment_link = get_edit_comment_link( $comment_ID );
|
755 |
-
|
756 |
// Edit link sometimes does not contain comment ID
|
757 |
// Probably because comment has been removed or something
|
758 |
// So only continue if link does not end with "=""
|
759 |
if ( $edit_comment_link && $edit_comment_link[strlen($edit_comment_link)-1] !== "=" ) {
|
760 |
-
|
761 |
$output .= sprintf(
|
762 |
'
|
763 |
<tr>
|
15 |
// Add option to not show spam comments, because to much things getting logged
|
16 |
#add_filter("simple_history/log_query_sql_where", array($this, "maybe_modify_log_query_sql_where"));
|
17 |
add_filter("simple_history/log_query_inner_where", array($this, "maybe_modify_log_query_sql_where"));
|
18 |
+
add_filter("simple_history/quick_stats_where", array($this, "maybe_modify_log_query_sql_where"));
|
19 |
|
20 |
}
|
21 |
|
25 |
* @param string $where sql query where
|
26 |
*/
|
27 |
function maybe_modify_log_query_sql_where($where) {
|
28 |
+
|
29 |
$include_spam = false;
|
30 |
+
|
31 |
/**
|
32 |
* Filter option to include spam or not in the gui
|
33 |
* By default spam is not included, because it can fill the log
|
45 |
|
46 |
$where .= sprintf('
|
47 |
AND id NOT IN (
|
48 |
+
|
49 |
SELECT id
|
50 |
+
# , c1.history_id, c2.history_id
|
51 |
FROM %1$s AS h
|
52 |
|
53 |
+
INNER JOIN %2$s AS c1
|
54 |
+
ON c1.history_id = h.id
|
55 |
+
AND c1.key = "_message_key"
|
56 |
AND c1.value IN (
|
57 |
+
"comment_deleted",
|
58 |
+
"pingback_deleted",
|
59 |
"trackback_deleted",
|
60 |
+
"anon_comment_added",
|
61 |
+
"anon_pingback_added",
|
62 |
"anon_trackback_added"
|
63 |
)
|
64 |
|
65 |
+
INNER JOIN %2$s AS c2
|
66 |
+
ON c2.history_id = h.id
|
67 |
+
AND c2.key = "comment_approved"
|
68 |
AND c2.value = "spam"
|
69 |
|
70 |
+
WHERE logger = "%3$s"
|
71 |
|
72 |
)
|
73 |
', $this->db_table, $this->db_table_contexts, $this->slug);
|
80 |
|
81 |
/**
|
82 |
* Get array with information about this logger
|
83 |
+
*
|
84 |
* @return array
|
85 |
*/
|
86 |
function getInfo() {
|
87 |
|
88 |
+
$arr_info = array(
|
89 |
"name" => "Comments Logger",
|
90 |
"description" => "Logs comments, and modifications to them",
|
91 |
"capability" => "moderate_comments",
|
99 |
),
|
100 |
|
101 |
'user_comment_added' => _x(
|
102 |
+
'Added a comment to {comment_post_type} "{comment_post_title}"',
|
103 |
'A comment was added to the database by a logged in user',
|
104 |
'simple-history'
|
105 |
),
|
106 |
|
107 |
'comment_status_approve' => _x(
|
108 |
+
'Approved a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
109 |
'A comment was approved',
|
110 |
'simple-history'
|
111 |
),
|
112 |
|
113 |
'comment_status_hold' => _x(
|
114 |
+
'Unapproved a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
115 |
'A comment was was unapproved',
|
116 |
'simple-history'
|
117 |
),
|
118 |
|
119 |
'comment_status_spam' => _x(
|
120 |
+
'Marked a comment to post "{comment_post_title}" as spam',
|
121 |
'A comment was marked as spam',
|
122 |
'simple-history'
|
123 |
),
|
124 |
|
125 |
'comment_status_trash' => _x(
|
126 |
+
'Trashed a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
127 |
'A comment was marked moved to the trash',
|
128 |
'simple-history'
|
129 |
),
|
130 |
|
131 |
'comment_untrashed' => _x(
|
132 |
+
'Restored a comment to "{comment_post_title}" by {comment_author} ({comment_author_email}) from the trash',
|
133 |
'A comment was restored from the trash',
|
134 |
'simple-history'
|
135 |
),
|
136 |
|
137 |
'comment_deleted' => _x(
|
138 |
+
'Deleted a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
139 |
'A comment was deleted',
|
140 |
'simple-history'
|
141 |
),
|
142 |
|
143 |
'comment_edited' => _x(
|
144 |
+
'Edited a comment to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
145 |
'A comment was edited',
|
146 |
'simple-history'
|
147 |
),
|
154 |
),
|
155 |
|
156 |
'user_trackback_added' => _x(
|
157 |
+
'Added a trackback to {comment_post_type} "{comment_post_title}"',
|
158 |
'A trackback was added to the database by a logged in user',
|
159 |
'simple-history'
|
160 |
),
|
161 |
|
162 |
'trackback_status_approve' => _x(
|
163 |
+
'Approved a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
164 |
'A trackback was approved',
|
165 |
'simple-history'
|
166 |
),
|
167 |
|
168 |
'trackback_status_hold' => _x(
|
169 |
+
'Unapproved a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
170 |
'A trackback was was unapproved',
|
171 |
'simple-history'
|
172 |
),
|
173 |
|
174 |
'trackback_status_spam' => _x(
|
175 |
+
'Marked a trackback to post "{comment_post_title}" as spam',
|
176 |
'A trackback was marked as spam',
|
177 |
'simple-history'
|
178 |
),
|
179 |
|
180 |
'trackback_status_trash' => _x(
|
181 |
+
'Trashed a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
182 |
'A trackback was marked moved to the trash',
|
183 |
'simple-history'
|
184 |
),
|
185 |
|
186 |
'trackback_untrashed' => _x(
|
187 |
+
'Restored a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email}) from the trash',
|
188 |
'A trackback was restored from the trash',
|
189 |
'simple-history'
|
190 |
),
|
191 |
|
192 |
'trackback_deleted' => _x(
|
193 |
+
'Deleted a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
194 |
'A trackback was deleted',
|
195 |
'simple-history'
|
196 |
),
|
197 |
|
198 |
'trackback_edited' => _x(
|
199 |
+
'Edited a trackback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
200 |
'A trackback was edited',
|
201 |
'simple-history'
|
202 |
),
|
209 |
),
|
210 |
|
211 |
'user_pingback_added' => _x(
|
212 |
+
'Added a pingback to {comment_post_type} "{comment_post_title}"',
|
213 |
'A pingback was added to the database by a logged in user',
|
214 |
'simple-history'
|
215 |
),
|
216 |
|
217 |
'pingback_status_approve' => _x(
|
218 |
+
'Approved a pingback to "{comment_post_title}" by "{comment_author}"" ({comment_author_email})',
|
219 |
'A pingback was approved',
|
220 |
'simple-history'
|
221 |
),
|
222 |
|
223 |
'pingback_status_hold' => _x(
|
224 |
+
'Unapproved a pingback to "{comment_post_title}" by "{comment_author}" ({comment_author_email})',
|
225 |
'A pingback was was unapproved',
|
226 |
'simple-history'
|
227 |
),
|
228 |
|
229 |
'pingback_status_spam' => _x(
|
230 |
+
'Marked a pingback to post "{comment_post_title}" as spam',
|
231 |
'A pingback was marked as spam',
|
232 |
'simple-history'
|
233 |
),
|
234 |
|
235 |
'pingback_status_trash' => _x(
|
236 |
+
'Trashed a pingback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
237 |
'A pingback was marked moved to the trash',
|
238 |
'simple-history'
|
239 |
),
|
240 |
|
241 |
'pingback_untrashed' => _x(
|
242 |
+
'Restored a pingback to "{comment_post_title}" by {comment_author} ({comment_author_email}) from the trash',
|
243 |
'A pingback was restored from the trash',
|
244 |
'simple-history'
|
245 |
),
|
246 |
|
247 |
'pingback_deleted' => _x(
|
248 |
+
'Deleted a pingback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
249 |
'A pingback was deleted',
|
250 |
'simple-history'
|
251 |
),
|
252 |
|
253 |
'pingback_edited' => _x(
|
254 |
+
'Edited a pingback to "{comment_post_title}" by {comment_author} ({comment_author_email})',
|
255 |
'A pingback was edited',
|
256 |
'simple-history'
|
257 |
),
|
313 |
) // labels
|
314 |
|
315 |
);
|
316 |
+
|
317 |
return $arr_info;
|
318 |
|
319 |
}
|
347 |
*/
|
348 |
add_action( "edit_comment", array( $this, 'on_edit_comment'), 10, 1 );
|
349 |
|
350 |
+
|
351 |
}
|
352 |
|
353 |
/**
|
354 |
* Get comments context
|
355 |
+
*
|
356 |
* @param int $comment_ID
|
357 |
* @return mixed array with context if comment found, false if comment not found
|
358 |
*/
|
403 |
$this->infoMessage(
|
404 |
"{$context["comment_type"]}_edited",
|
405 |
$context
|
406 |
+
);
|
407 |
|
408 |
}
|
409 |
|
427 |
$this->infoMessage(
|
428 |
"{$context["comment_type"]}_deleted",
|
429 |
$context
|
430 |
+
);
|
431 |
|
432 |
}
|
433 |
|
441 |
$this->infoMessage(
|
442 |
"{$context["comment_type"]}_untrashed",
|
443 |
$context
|
444 |
+
);
|
445 |
|
446 |
}
|
447 |
|
452 |
* @param string|bool $comment_status The comment status. Possible values include 'hold',
|
453 |
* 'approve', 'spam', 'trash', or false.
|
454 |
* do_action( 'wp_set_comment_status', $comment_id, $comment_status );
|
455 |
+
*/
|
456 |
public function on_wp_set_comment_status($comment_ID, $comment_status) {
|
457 |
|
458 |
$context = $this->get_context_for_comment($comment_ID);
|
497 |
$message = "";
|
498 |
|
499 |
if ( $comment_data->user_id ) {
|
500 |
+
|
501 |
// comment was from a logged in user
|
502 |
$message = "user_{$context["comment_type"]}_added";
|
503 |
|
504 |
} else {
|
505 |
+
|
506 |
// comment was from a non-logged in user
|
507 |
$message = "anon_{$context["comment_type"]}_added";
|
508 |
$context["_initiator"] = SimpleLoggerLogInitiators::WEB_USER;
|
519 |
// OR: different messages for different comment types?
|
520 |
/*
|
521 |
if ( isset( $comment_data["comment_type"] ) ) {
|
522 |
+
|
523 |
+
$comment_type = $comment_data["comment_type"];
|
524 |
|
525 |
}
|
526 |
*/
|
538 |
* and link to comment
|
539 |
*/
|
540 |
public function getLogRowPlainTextOutput($row) {
|
541 |
+
|
542 |
$message = $row->message;
|
543 |
$context = $row->context;
|
544 |
$message_key = $context["_message_key"];
|
556 |
$edit_post_link = get_edit_post_link( $comment_post_ID );
|
557 |
|
558 |
if ( $edit_post_link ) {
|
559 |
+
|
560 |
$message = str_replace(
|
561 |
'"{comment_post_title}"',
|
562 |
"<a href='{$edit_post_link}'>\"{comment_post_title}\"</a>",
|
564 |
);
|
565 |
|
566 |
}
|
567 |
+
|
568 |
}
|
569 |
|
570 |
|
582 |
$message_key = $context["_message_key"];
|
583 |
$output = "";
|
584 |
#print_r($row);exit;
|
585 |
+
/*
|
586 |
if ( 'spam' !== $commentdata['comment_approved'] ) { // If it's spam save it silently for later crunching
|
587 |
if ( '0' == $commentdata['comment_approved'] ) { // comment not spam, but not auto-approved
|
588 |
wp_notify_moderator( $comment_ID );
|
599 |
$comment_text = wp_trim_words( $comment_text, 20 );
|
600 |
$comment_text = wpautop( $comment_text );
|
601 |
}
|
602 |
+
|
603 |
// Keys to show
|
604 |
$arr_plugin_keys = array();
|
605 |
$comment_type = isset( $context["comment_type"] ) ? $context["comment_type"] : "";
|
634 |
|
635 |
case "comment";
|
636 |
default;
|
637 |
+
|
638 |
$arr_plugin_keys = array(
|
639 |
"comment_status" => _x("Status", "comments logger - detailed output comment status", "simple-history"),
|
640 |
#"comment_type" => _x("Comment type", "comments logger - detailed output comment type", "simple-history"),
|
656 |
$output .= "<table class='SimpleHistoryLogitem__keyValueTable'>";
|
657 |
|
658 |
foreach ( $arr_plugin_keys as $key => $desc ) {
|
659 |
+
|
660 |
switch ( $key ) {
|
661 |
|
662 |
case "comment_content":
|
668 |
case "comment_author":
|
669 |
case "trackback_author":
|
670 |
case "pingback_author":
|
671 |
+
|
672 |
$desc_output = "";
|
673 |
|
674 |
$desc_output .= esc_html( $context[ $key ] );
|
675 |
|
676 |
/*
|
677 |
if ( isset( $context["comment_author_email"] ) ) {
|
678 |
+
|
679 |
$gravatar_email = $context["comment_author_email"];
|
680 |
$avatar = $this->simpleHistory->get_avatar( $gravatar_email, 14, "blank" );
|
681 |
$desc_output .= "<span class='SimpleCommentsLogger__gravatar'>{$avatar}</span>";
|
682 |
+
|
683 |
}
|
684 |
*/
|
685 |
|
748 |
|
749 |
// Add link to edit comment
|
750 |
$comment_ID = isset( $context["comment_ID"] ) && is_numeric( $context["comment_ID"] ) ? (int) $context["comment_ID"] : false;
|
751 |
+
|
752 |
if ( $comment_ID ) {
|
753 |
+
|
754 |
// http://site.local/wp/wp-admin/comment.php?action=editcomment&c=
|
755 |
$edit_comment_link = get_edit_comment_link( $comment_ID );
|
756 |
+
|
757 |
// Edit link sometimes does not contain comment ID
|
758 |
// Probably because comment has been removed or something
|
759 |
// So only continue if link does not end with "=""
|
760 |
if ( $edit_comment_link && $edit_comment_link[strlen($edit_comment_link)-1] !== "=" ) {
|
761 |
+
|
762 |
$output .= sprintf(
|
763 |
'
|
764 |
<tr>
|
loggers/SimpleLogger.php
CHANGED
@@ -46,10 +46,10 @@ class SimpleLogger
|
|
46 |
public function __construct($simpleHistory) {
|
47 |
|
48 |
global $wpdb;
|
49 |
-
|
50 |
$this->db_table = $wpdb->prefix . SimpleHistory::DBTABLE;
|
51 |
$this->db_table_contexts = $wpdb->prefix . SimpleHistory::DBTABLE_CONTEXTS;
|
52 |
-
|
53 |
$this->simpleHistory = $simpleHistory;
|
54 |
|
55 |
}
|
@@ -64,13 +64,13 @@ class SimpleLogger
|
|
64 |
|
65 |
/**
|
66 |
* Get array with information about this logger
|
67 |
-
*
|
68 |
* @return array
|
69 |
*/
|
70 |
function getInfo() {
|
71 |
|
72 |
$arr_info = array(
|
73 |
-
|
74 |
// The logger slug. Defaulting to the class name is nice and logical I think
|
75 |
"slug" => __CLASS__,
|
76 |
|
@@ -78,7 +78,7 @@ class SimpleLogger
|
|
78 |
// an admin what your logger is used for
|
79 |
"name" => "SimpleLogger",
|
80 |
"description" => "The built in logger for Simple History",
|
81 |
-
|
82 |
// Capability required to view log entries from this logger
|
83 |
"capability" => "edit_pages",
|
84 |
"messages" => array(
|
@@ -133,10 +133,10 @@ class SimpleLogger
|
|
133 |
* @return string HTML
|
134 |
*/
|
135 |
function getLogRowHeaderOutput($row) {
|
136 |
-
|
137 |
// HTML for initiator
|
138 |
$initiator_html = "";
|
139 |
-
|
140 |
$initiator = $row->initiator;
|
141 |
$context = $row->context;
|
142 |
|
@@ -179,7 +179,7 @@ class SimpleLogger
|
|
179 |
*
|
180 |
* @since 2.0
|
181 |
*
|
182 |
-
* @param string $format.
|
183 |
*/
|
184 |
$$tmpl_initiator_html = apply_filters("simple_history/header_initiator_html_existing_user", $tmpl_initiator_html);
|
185 |
|
@@ -193,15 +193,15 @@ class SimpleLogger
|
|
193 |
);
|
194 |
|
195 |
} else if ($user_id > 0) {
|
196 |
-
|
197 |
// Sender was a user, but user is deleted now
|
198 |
// output all info we have
|
199 |
// _user_id
|
200 |
// _username
|
201 |
// _user_login
|
202 |
// _user_email
|
203 |
-
$initiator_html .= sprintf(
|
204 |
-
'<strong class="SimpleHistoryLogitem__inlineDivided">' .
|
205 |
__('Deleted user (had id %1$s, email %2$s, login %3$s)', "simple-history") .
|
206 |
'</strong>',
|
207 |
esc_html( $context["_user_id"] ),
|
@@ -224,8 +224,8 @@ class SimpleLogger
|
|
224 |
$iplookup_link = sprintf('https://ipinfo.io/%1$s', esc_attr( $context["_server_remote_addr"] ));
|
225 |
|
226 |
$initiator_html .= "<strong class='SimpleHistoryLogitem__inlineDivided SimpleHistoryLogitem__anonUserWithIp'>";
|
227 |
-
$initiator_html .= sprintf(
|
228 |
-
__('Anonymous user from %1$s', "simple-history"),
|
229 |
"<a target='_blank' href={$iplookup_link} class='SimpleHistoryLogitem__anonUserWithIp__theIp'>" . esc_attr( $context["_server_remote_addr"] ) . "</a>"
|
230 |
);
|
231 |
$initiator_html .= "</strong> ";
|
@@ -260,7 +260,7 @@ class SimpleLogger
|
|
260 |
*
|
261 |
* @param string $initiator_html
|
262 |
* @param object $row Log row
|
263 |
-
*/
|
264 |
$initiator_html = apply_filters("simple_history/row_header_initiator_output", $initiator_html, $row);
|
265 |
|
266 |
|
@@ -270,7 +270,7 @@ class SimpleLogger
|
|
270 |
$date_html = "";
|
271 |
$str_when = "";
|
272 |
$date_datetime = new DateTime($row->date);
|
273 |
-
|
274 |
/**
|
275 |
* Filter how many seconds as most that can pass since an
|
276 |
* event occured to show "nn minutes ago" (human diff time-format) instead of exact date
|
@@ -278,7 +278,7 @@ class SimpleLogger
|
|
278 |
* @since 2.0
|
279 |
*
|
280 |
* @param int $time_ago_max_time Seconds
|
281 |
-
*/
|
282 |
$time_ago_max_time = DAY_IN_SECONDS * 2;
|
283 |
$time_ago_max_time = apply_filters("simple_history/header_time_ago_max_time", $time_ago_max_time);
|
284 |
|
@@ -289,7 +289,7 @@ class SimpleLogger
|
|
289 |
* @since 2.0
|
290 |
*
|
291 |
* @param int $time_ago_max_time Seconds
|
292 |
-
*/
|
293 |
$time_ago_just_now_max_time = 30;
|
294 |
$time_ago_just_now_max_time = apply_filters("simple_history/header_just_now_max_time", $time_ago_just_now_max_time);
|
295 |
|
@@ -299,13 +299,13 @@ class SimpleLogger
|
|
299 |
$str_when = __("Just now", "simple-history");
|
300 |
|
301 |
} else if ( time() - $date_datetime->getTimestamp() > $time_ago_max_time ) {
|
302 |
-
|
303 |
/* translators: Date format for log row header, see http://php.net/date */
|
304 |
$datef = __( 'M j, Y \a\t G:i', "simple-history" );
|
305 |
$str_when = date_i18n( $datef, $date_datetime->getTimestamp() );
|
306 |
|
307 |
} else {
|
308 |
-
|
309 |
// Show "nn minutes ago" when event is xx seconds ago or earlier
|
310 |
$date_human_time_diff = human_time_diff( $date_datetime->getTimestamp(), time() );
|
311 |
/* translators: 1: last modified date and time in human time diff-format */
|
@@ -355,7 +355,7 @@ class SimpleLogger
|
|
355 |
*
|
356 |
* @param string $html
|
357 |
* @param object $row Log row
|
358 |
-
*/
|
359 |
$html = apply_filters("simple_history/row_header_output", $html, $row);
|
360 |
|
361 |
return $html;
|
@@ -379,7 +379,7 @@ class SimpleLogger
|
|
379 |
* Jessie James: Edited post "About the company"
|
380 |
*/
|
381 |
public function getLogRowPlainTextOutput($row) {
|
382 |
-
|
383 |
$message = $row->message;
|
384 |
$message_key = $row->context["_message_key"];
|
385 |
|
@@ -393,12 +393,12 @@ class SimpleLogger
|
|
393 |
} else {
|
394 |
|
395 |
$message = $this->messages[ $message_key ]["translated_text"];
|
396 |
-
|
397 |
}
|
398 |
-
|
399 |
$html = $this->interpolate( $message, $row->context );
|
400 |
|
401 |
-
// All messages are escaped by default.
|
402 |
// If you need unescaped output override this method
|
403 |
// in your own logger
|
404 |
$html = esc_html($html);
|
@@ -410,7 +410,7 @@ class SimpleLogger
|
|
410 |
*
|
411 |
* @param string $html
|
412 |
* @param object $row Log row
|
413 |
-
*/
|
414 |
$html = apply_filters("simple_history/row_plain_text_output", $html, $row);
|
415 |
|
416 |
return $html;
|
@@ -442,15 +442,15 @@ class SimpleLogger
|
|
442 |
$sender_image_html = $this->simpleHistory->get_avatar( $user->user_email, $sender_image_size );
|
443 |
|
444 |
} else if ($user_id > 0) {
|
445 |
-
|
446 |
// Sender was a user, but user is deleted now
|
447 |
-
$sender_image_html = $this->simpleHistory->get_avatar( "", $sender_image_size );
|
448 |
|
449 |
} else {
|
450 |
|
451 |
-
$sender_image_html = $this->simpleHistory->get_avatar( "", $sender_image_size );
|
452 |
|
453 |
-
}
|
454 |
|
455 |
break;
|
456 |
|
@@ -462,7 +462,7 @@ class SimpleLogger
|
|
462 |
*
|
463 |
* @param string $sender_image_html
|
464 |
* @param object $row Log row
|
465 |
-
*/
|
466 |
$sender_image_html = apply_filters("simple_history/row_sender_image_output", $sender_image_html, $row);
|
467 |
|
468 |
return $sender_image_html;
|
@@ -474,7 +474,7 @@ class SimpleLogger
|
|
474 |
* Example usage is if a user has uploaded an image then a
|
475 |
* thumbnail of that image can bo outputed here
|
476 |
*
|
477 |
-
* @param object $row
|
478 |
* @return string HTML-formatted output
|
479 |
*/
|
480 |
public function getLogRowDetailsOutput($row) {
|
@@ -488,7 +488,7 @@ class SimpleLogger
|
|
488 |
*
|
489 |
* @param string $html
|
490 |
* @param object $row Log row
|
491 |
-
*/
|
492 |
$html = apply_filters("simple_history/row_details_output", $html, $row);
|
493 |
|
494 |
return $html;
|
@@ -509,7 +509,7 @@ class SimpleLogger
|
|
509 |
return $this->log(SimpleLoggerLogLevels::EMERGENCY, $message, $context);
|
510 |
|
511 |
}
|
512 |
-
|
513 |
/**
|
514 |
* System is unusable.
|
515 |
*
|
@@ -528,7 +528,7 @@ class SimpleLogger
|
|
528 |
$message = $this->messages[ $message ]["untranslated_text"];
|
529 |
|
530 |
$this->log(SimpleLoggerLogLevels::EMERGENCY, $message, $context);
|
531 |
-
|
532 |
}
|
533 |
|
534 |
|
@@ -542,7 +542,7 @@ class SimpleLogger
|
|
542 |
public static function alert($message, array $context = array())
|
543 |
{
|
544 |
return $this->log(SimpleLoggerLogLevels::ALERT, $message, $context);
|
545 |
-
|
546 |
}
|
547 |
|
548 |
/**
|
@@ -563,10 +563,10 @@ class SimpleLogger
|
|
563 |
$message = $this->messages[ $message ]["untranslated_text"];
|
564 |
|
565 |
$this->log(SimpleLoggerLogLevels::ALERT, $message, $context);
|
566 |
-
|
567 |
}
|
568 |
|
569 |
-
|
570 |
/**
|
571 |
* Critical conditions.
|
572 |
*
|
@@ -601,7 +601,7 @@ class SimpleLogger
|
|
601 |
$message = $this->messages[ $message ]["untranslated_text"];
|
602 |
|
603 |
$this->log(SimpleLoggerLogLevels::CRITICAL, $message, $context);
|
604 |
-
|
605 |
}
|
606 |
|
607 |
|
@@ -617,7 +617,7 @@ class SimpleLogger
|
|
617 |
{
|
618 |
|
619 |
return $this->log(SimpleLoggerLogLevels::ERROR, $message, $context);
|
620 |
-
|
621 |
}
|
622 |
|
623 |
/**
|
@@ -639,10 +639,10 @@ class SimpleLogger
|
|
639 |
$message = $this->messages[ $message ]["untranslated_text"];
|
640 |
|
641 |
$this->log(SimpleLoggerLogLevels::ERROR, $message, $context);
|
642 |
-
|
643 |
}
|
644 |
|
645 |
-
|
646 |
/**
|
647 |
* Exceptional occurrences that are not errors.
|
648 |
*
|
@@ -655,11 +655,11 @@ class SimpleLogger
|
|
655 |
*/
|
656 |
public function warning($message, array $context = array())
|
657 |
{
|
658 |
-
|
659 |
return $this->log(SimpleLoggerLogLevels::WARNING, $message, $context);
|
660 |
|
661 |
}
|
662 |
-
|
663 |
/**
|
664 |
* Exceptional occurrences that are not errors.
|
665 |
*
|
@@ -678,7 +678,7 @@ class SimpleLogger
|
|
678 |
$message = $this->messages[ $message ]["untranslated_text"];
|
679 |
|
680 |
$this->log(SimpleLoggerLogLevels::WARNING, $message, $context);
|
681 |
-
|
682 |
}
|
683 |
|
684 |
|
@@ -695,7 +695,7 @@ class SimpleLogger
|
|
695 |
return $this->log(SimpleLoggerLogLevels::NOTICE, $message, $context);
|
696 |
|
697 |
}
|
698 |
-
|
699 |
/**
|
700 |
* Normal but significant events.
|
701 |
*
|
@@ -714,7 +714,7 @@ class SimpleLogger
|
|
714 |
$message = $this->messages[ $message ]["untranslated_text"];
|
715 |
|
716 |
$this->log(SimpleLoggerLogLevels::NOTICE, $message, $context);
|
717 |
-
|
718 |
}
|
719 |
|
720 |
|
@@ -731,7 +731,7 @@ class SimpleLogger
|
|
731 |
{
|
732 |
|
733 |
return $this->log(SimpleLoggerLogLevels::INFO, $message, $context);
|
734 |
-
|
735 |
}
|
736 |
|
737 |
/**
|
@@ -754,9 +754,9 @@ class SimpleLogger
|
|
754 |
$message = $this->messages[ $message ]["untranslated_text"];
|
755 |
|
756 |
$this->log(SimpleLoggerLogLevels::INFO, $message, $context);
|
757 |
-
|
758 |
}
|
759 |
-
|
760 |
/**
|
761 |
* Detailed debug information.
|
762 |
*
|
@@ -768,7 +768,7 @@ class SimpleLogger
|
|
768 |
{
|
769 |
|
770 |
return $this->log(SimpleLoggerLogLevels::DEBUG, $message, $context);
|
771 |
-
|
772 |
}
|
773 |
|
774 |
/**
|
@@ -789,9 +789,9 @@ class SimpleLogger
|
|
789 |
$message = $this->messages[ $message ]["untranslated_text"];
|
790 |
|
791 |
$this->log(SimpleLoggerLogLevels::DEBUG, $message, $context);
|
792 |
-
|
793 |
}
|
794 |
-
|
795 |
/**
|
796 |
* Logs with an arbitrary level.
|
797 |
*
|
@@ -802,7 +802,7 @@ class SimpleLogger
|
|
802 |
*/
|
803 |
public function log($level, $message, array $context = array())
|
804 |
{
|
805 |
-
|
806 |
global $wpdb;
|
807 |
|
808 |
/**
|
@@ -813,7 +813,7 @@ class SimpleLogger
|
|
813 |
* @param string $level
|
814 |
* @param string $message
|
815 |
* @param array $context
|
816 |
-
*/
|
817 |
apply_filters("simple_history/log_arguments", $level, $message, $context);
|
818 |
|
819 |
/* Store date at utc or local time?
|
@@ -822,7 +822,7 @@ class SimpleLogger
|
|
822 |
* UNIX timestamp = no timezone = UTC
|
823 |
* anything is better than now() anyway!
|
824 |
* WP seems to use the local time, so I will go with that too I think
|
825 |
-
* GMT/UTC-time is: date_i18n($timezone_format, false, 'gmt'));
|
826 |
* local time is: date_i18n($timezone_format));
|
827 |
*/
|
828 |
$localtime = current_time("mysql", 1);
|
@@ -835,9 +835,9 @@ class SimpleLogger
|
|
835 |
* @since 2.0
|
836 |
*
|
837 |
* @param string $db_table
|
838 |
-
*/
|
839 |
$db_table = apply_filters("simple_history/db_table", $db_table);
|
840 |
-
|
841 |
$data = array(
|
842 |
"logger" => $this->slug,
|
843 |
"level" => $level,
|
@@ -853,7 +853,7 @@ class SimpleLogger
|
|
853 |
}
|
854 |
|
855 |
// Add occasions id
|
856 |
-
$occasions_id = null;
|
857 |
if ( isset( $context["_occasionsID"] ) ) {
|
858 |
|
859 |
// Minimize risk of similar loggers logging same messages and such and resulting in same occasions id
|
@@ -896,13 +896,13 @@ class SimpleLogger
|
|
896 |
// Manually set in context
|
897 |
$data["initiator"] = $context["_initiator"];
|
898 |
unset( $context["_initiator"] );
|
899 |
-
|
900 |
} else {
|
901 |
-
|
902 |
// No initiator set.
|
903 |
|
904 |
$data["initiator"] = SimpleLoggerLogInitiators::OTHER;
|
905 |
-
|
906 |
// Check if user is responsible.
|
907 |
if ( function_exists("wp_get_current_user") ) {
|
908 |
|
@@ -936,7 +936,7 @@ class SimpleLogger
|
|
936 |
* @since 2.0
|
937 |
*
|
938 |
* @param array $data
|
939 |
-
*/
|
940 |
$data = apply_filters("simple_history/log_insert_data", $data);
|
941 |
|
942 |
// Insert data into db
|
@@ -949,8 +949,8 @@ class SimpleLogger
|
|
949 |
$history_inserted_id = null;
|
950 |
|
951 |
} else {
|
952 |
-
|
953 |
-
$history_inserted_id = $wpdb->insert_id;
|
954 |
|
955 |
$db_table_contexts = $wpdb->prefix . SimpleHistory::DBTABLE_CONTEXTS;
|
956 |
|
@@ -960,7 +960,7 @@ class SimpleLogger
|
|
960 |
* @since 2.0
|
961 |
*
|
962 |
* @param string $db_table_contexts
|
963 |
-
*/
|
964 |
$db_table_contexts = apply_filters("simple_history/logger_db_table_contexts", $db_table_contexts);
|
965 |
|
966 |
if ( ! is_array($context) ) {
|
@@ -969,7 +969,7 @@ class SimpleLogger
|
|
969 |
|
970 |
// Append user id to context, if not already added
|
971 |
if ( ! isset( $context["_user_id"] ) ) {
|
972 |
-
|
973 |
// wp_get_current_user is ont available early
|
974 |
// http://codex.wordpress.org/Function_Reference/wp_get_current_user
|
975 |
// https://core.trac.wordpress.org/ticket/14024
|
@@ -986,11 +986,28 @@ class SimpleLogger
|
|
986 |
}
|
987 |
|
988 |
}
|
989 |
-
|
990 |
-
//
|
991 |
// Good to always have
|
992 |
if ( ! isset( $context["_server_remote_addr"] ) ) {
|
993 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
994 |
}
|
995 |
|
996 |
// Append http referer
|
@@ -1013,7 +1030,7 @@ class SimpleLogger
|
|
1013 |
}
|
1014 |
|
1015 |
}
|
1016 |
-
|
1017 |
$this->lastInsertID = $history_inserted_id;
|
1018 |
|
1019 |
// Return $this so we can chain methods
|
@@ -1023,7 +1040,7 @@ class SimpleLogger
|
|
1023 |
|
1024 |
/**
|
1025 |
* Override this to add CSS in <head> for your logger.
|
1026 |
-
* The CSS that you output will only be outputed
|
1027 |
* on pages where Simple History is used.
|
1028 |
*/
|
1029 |
function adminCSS() {
|
@@ -1040,7 +1057,7 @@ class SimpleLogger
|
|
1040 |
|
1041 |
/**
|
1042 |
* Override this to add JavaScript in the footer for your logger.
|
1043 |
-
* The JS that you output will only be outputed
|
1044 |
* on pages where Simple History is used.
|
1045 |
*/
|
1046 |
function adminJS() {
|
@@ -1052,7 +1069,7 @@ class SimpleLogger
|
|
1052 |
<?php
|
1053 |
*/
|
1054 |
}
|
1055 |
-
|
1056 |
}
|
1057 |
|
1058 |
/**
|
@@ -1060,7 +1077,7 @@ class SimpleLogger
|
|
1060 |
*/
|
1061 |
class SimpleLoggerLogInitiators
|
1062 |
{
|
1063 |
-
|
1064 |
// A wordpress user that at the log event created did exist in the wp database
|
1065 |
// May have been deleted when the log is viewed
|
1066 |
const WP_USER = 'wp_user';
|
@@ -1108,4 +1125,3 @@ class SimpleLoggerLogLevels
|
|
1108 |
const INFO = 'info';
|
1109 |
const DEBUG = 'debug';
|
1110 |
}
|
1111 |
-
|
46 |
public function __construct($simpleHistory) {
|
47 |
|
48 |
global $wpdb;
|
49 |
+
|
50 |
$this->db_table = $wpdb->prefix . SimpleHistory::DBTABLE;
|
51 |
$this->db_table_contexts = $wpdb->prefix . SimpleHistory::DBTABLE_CONTEXTS;
|
52 |
+
|
53 |
$this->simpleHistory = $simpleHistory;
|
54 |
|
55 |
}
|
64 |
|
65 |
/**
|
66 |
* Get array with information about this logger
|
67 |
+
*
|
68 |
* @return array
|
69 |
*/
|
70 |
function getInfo() {
|
71 |
|
72 |
$arr_info = array(
|
73 |
+
|
74 |
// The logger slug. Defaulting to the class name is nice and logical I think
|
75 |
"slug" => __CLASS__,
|
76 |
|
78 |
// an admin what your logger is used for
|
79 |
"name" => "SimpleLogger",
|
80 |
"description" => "The built in logger for Simple History",
|
81 |
+
|
82 |
// Capability required to view log entries from this logger
|
83 |
"capability" => "edit_pages",
|
84 |
"messages" => array(
|
133 |
* @return string HTML
|
134 |
*/
|
135 |
function getLogRowHeaderOutput($row) {
|
136 |
+
|
137 |
// HTML for initiator
|
138 |
$initiator_html = "";
|
139 |
+
|
140 |
$initiator = $row->initiator;
|
141 |
$context = $row->context;
|
142 |
|
179 |
*
|
180 |
* @since 2.0
|
181 |
*
|
182 |
+
* @param string $format.
|
183 |
*/
|
184 |
$$tmpl_initiator_html = apply_filters("simple_history/header_initiator_html_existing_user", $tmpl_initiator_html);
|
185 |
|
193 |
);
|
194 |
|
195 |
} else if ($user_id > 0) {
|
196 |
+
|
197 |
// Sender was a user, but user is deleted now
|
198 |
// output all info we have
|
199 |
// _user_id
|
200 |
// _username
|
201 |
// _user_login
|
202 |
// _user_email
|
203 |
+
$initiator_html .= sprintf(
|
204 |
+
'<strong class="SimpleHistoryLogitem__inlineDivided">' .
|
205 |
__('Deleted user (had id %1$s, email %2$s, login %3$s)', "simple-history") .
|
206 |
'</strong>',
|
207 |
esc_html( $context["_user_id"] ),
|
224 |
$iplookup_link = sprintf('https://ipinfo.io/%1$s', esc_attr( $context["_server_remote_addr"] ));
|
225 |
|
226 |
$initiator_html .= "<strong class='SimpleHistoryLogitem__inlineDivided SimpleHistoryLogitem__anonUserWithIp'>";
|
227 |
+
$initiator_html .= sprintf(
|
228 |
+
__('Anonymous user from %1$s', "simple-history"),
|
229 |
"<a target='_blank' href={$iplookup_link} class='SimpleHistoryLogitem__anonUserWithIp__theIp'>" . esc_attr( $context["_server_remote_addr"] ) . "</a>"
|
230 |
);
|
231 |
$initiator_html .= "</strong> ";
|
260 |
*
|
261 |
* @param string $initiator_html
|
262 |
* @param object $row Log row
|
263 |
+
*/
|
264 |
$initiator_html = apply_filters("simple_history/row_header_initiator_output", $initiator_html, $row);
|
265 |
|
266 |
|
270 |
$date_html = "";
|
271 |
$str_when = "";
|
272 |
$date_datetime = new DateTime($row->date);
|
273 |
+
|
274 |
/**
|
275 |
* Filter how many seconds as most that can pass since an
|
276 |
* event occured to show "nn minutes ago" (human diff time-format) instead of exact date
|
278 |
* @since 2.0
|
279 |
*
|
280 |
* @param int $time_ago_max_time Seconds
|
281 |
+
*/
|
282 |
$time_ago_max_time = DAY_IN_SECONDS * 2;
|
283 |
$time_ago_max_time = apply_filters("simple_history/header_time_ago_max_time", $time_ago_max_time);
|
284 |
|
289 |
* @since 2.0
|
290 |
*
|
291 |
* @param int $time_ago_max_time Seconds
|
292 |
+
*/
|
293 |
$time_ago_just_now_max_time = 30;
|
294 |
$time_ago_just_now_max_time = apply_filters("simple_history/header_just_now_max_time", $time_ago_just_now_max_time);
|
295 |
|
299 |
$str_when = __("Just now", "simple-history");
|
300 |
|
301 |
} else if ( time() - $date_datetime->getTimestamp() > $time_ago_max_time ) {
|
302 |
+
|
303 |
/* translators: Date format for log row header, see http://php.net/date */
|
304 |
$datef = __( 'M j, Y \a\t G:i', "simple-history" );
|
305 |
$str_when = date_i18n( $datef, $date_datetime->getTimestamp() );
|
306 |
|
307 |
} else {
|
308 |
+
|
309 |
// Show "nn minutes ago" when event is xx seconds ago or earlier
|
310 |
$date_human_time_diff = human_time_diff( $date_datetime->getTimestamp(), time() );
|
311 |
/* translators: 1: last modified date and time in human time diff-format */
|
355 |
*
|
356 |
* @param string $html
|
357 |
* @param object $row Log row
|
358 |
+
*/
|
359 |
$html = apply_filters("simple_history/row_header_output", $html, $row);
|
360 |
|
361 |
return $html;
|
379 |
* Jessie James: Edited post "About the company"
|
380 |
*/
|
381 |
public function getLogRowPlainTextOutput($row) {
|
382 |
+
|
383 |
$message = $row->message;
|
384 |
$message_key = $row->context["_message_key"];
|
385 |
|
393 |
} else {
|
394 |
|
395 |
$message = $this->messages[ $message_key ]["translated_text"];
|
396 |
+
|
397 |
}
|
398 |
+
|
399 |
$html = $this->interpolate( $message, $row->context );
|
400 |
|
401 |
+
// All messages are escaped by default.
|
402 |
// If you need unescaped output override this method
|
403 |
// in your own logger
|
404 |
$html = esc_html($html);
|
410 |
*
|
411 |
* @param string $html
|
412 |
* @param object $row Log row
|
413 |
+
*/
|
414 |
$html = apply_filters("simple_history/row_plain_text_output", $html, $row);
|
415 |
|
416 |
return $html;
|
442 |
$sender_image_html = $this->simpleHistory->get_avatar( $user->user_email, $sender_image_size );
|
443 |
|
444 |
} else if ($user_id > 0) {
|
445 |
+
|
446 |
// Sender was a user, but user is deleted now
|
447 |
+
$sender_image_html = $this->simpleHistory->get_avatar( "", $sender_image_size );
|
448 |
|
449 |
} else {
|
450 |
|
451 |
+
$sender_image_html = $this->simpleHistory->get_avatar( "", $sender_image_size );
|
452 |
|
453 |
+
}
|
454 |
|
455 |
break;
|
456 |
|
462 |
*
|
463 |
* @param string $sender_image_html
|
464 |
* @param object $row Log row
|
465 |
+
*/
|
466 |
$sender_image_html = apply_filters("simple_history/row_sender_image_output", $sender_image_html, $row);
|
467 |
|
468 |
return $sender_image_html;
|
474 |
* Example usage is if a user has uploaded an image then a
|
475 |
* thumbnail of that image can bo outputed here
|
476 |
*
|
477 |
+
* @param object $row
|
478 |
* @return string HTML-formatted output
|
479 |
*/
|
480 |
public function getLogRowDetailsOutput($row) {
|
488 |
*
|
489 |
* @param string $html
|
490 |
* @param object $row Log row
|
491 |
+
*/
|
492 |
$html = apply_filters("simple_history/row_details_output", $html, $row);
|
493 |
|
494 |
return $html;
|
509 |
return $this->log(SimpleLoggerLogLevels::EMERGENCY, $message, $context);
|
510 |
|
511 |
}
|
512 |
+
|
513 |
/**
|
514 |
* System is unusable.
|
515 |
*
|
528 |
$message = $this->messages[ $message ]["untranslated_text"];
|
529 |
|
530 |
$this->log(SimpleLoggerLogLevels::EMERGENCY, $message, $context);
|
531 |
+
|
532 |
}
|
533 |
|
534 |
|
542 |
public static function alert($message, array $context = array())
|
543 |
{
|
544 |
return $this->log(SimpleLoggerLogLevels::ALERT, $message, $context);
|
545 |
+
|
546 |
}
|
547 |
|
548 |
/**
|
563 |
$message = $this->messages[ $message ]["untranslated_text"];
|
564 |
|
565 |
$this->log(SimpleLoggerLogLevels::ALERT, $message, $context);
|
566 |
+
|
567 |
}
|
568 |
|
569 |
+
|
570 |
/**
|
571 |
* Critical conditions.
|
572 |
*
|
601 |
$message = $this->messages[ $message ]["untranslated_text"];
|
602 |
|
603 |
$this->log(SimpleLoggerLogLevels::CRITICAL, $message, $context);
|
604 |
+
|
605 |
}
|
606 |
|
607 |
|
617 |
{
|
618 |
|
619 |
return $this->log(SimpleLoggerLogLevels::ERROR, $message, $context);
|
620 |
+
|
621 |
}
|
622 |
|
623 |
/**
|
639 |
$message = $this->messages[ $message ]["untranslated_text"];
|
640 |
|
641 |
$this->log(SimpleLoggerLogLevels::ERROR, $message, $context);
|
642 |
+
|
643 |
}
|
644 |
|
645 |
+
|
646 |
/**
|
647 |
* Exceptional occurrences that are not errors.
|
648 |
*
|
655 |
*/
|
656 |
public function warning($message, array $context = array())
|
657 |
{
|
658 |
+
|
659 |
return $this->log(SimpleLoggerLogLevels::WARNING, $message, $context);
|
660 |
|
661 |
}
|
662 |
+
|
663 |
/**
|
664 |
* Exceptional occurrences that are not errors.
|
665 |
*
|
678 |
$message = $this->messages[ $message ]["untranslated_text"];
|
679 |
|
680 |
$this->log(SimpleLoggerLogLevels::WARNING, $message, $context);
|
681 |
+
|
682 |
}
|
683 |
|
684 |
|
695 |
return $this->log(SimpleLoggerLogLevels::NOTICE, $message, $context);
|
696 |
|
697 |
}
|
698 |
+
|
699 |
/**
|
700 |
* Normal but significant events.
|
701 |
*
|
714 |
$message = $this->messages[ $message ]["untranslated_text"];
|
715 |
|
716 |
$this->log(SimpleLoggerLogLevels::NOTICE, $message, $context);
|
717 |
+
|
718 |
}
|
719 |
|
720 |
|
731 |
{
|
732 |
|
733 |
return $this->log(SimpleLoggerLogLevels::INFO, $message, $context);
|
734 |
+
|
735 |
}
|
736 |
|
737 |
/**
|
754 |
$message = $this->messages[ $message ]["untranslated_text"];
|
755 |
|
756 |
$this->log(SimpleLoggerLogLevels::INFO, $message, $context);
|
757 |
+
|
758 |
}
|
759 |
+
|
760 |
/**
|
761 |
* Detailed debug information.
|
762 |
*
|
768 |
{
|
769 |
|
770 |
return $this->log(SimpleLoggerLogLevels::DEBUG, $message, $context);
|
771 |
+
|
772 |
}
|
773 |
|
774 |
/**
|
789 |
$message = $this->messages[ $message ]["untranslated_text"];
|
790 |
|
791 |
$this->log(SimpleLoggerLogLevels::DEBUG, $message, $context);
|
792 |
+
|
793 |
}
|
794 |
+
|
795 |
/**
|
796 |
* Logs with an arbitrary level.
|
797 |
*
|
802 |
*/
|
803 |
public function log($level, $message, array $context = array())
|
804 |
{
|
805 |
+
|
806 |
global $wpdb;
|
807 |
|
808 |
/**
|
813 |
* @param string $level
|
814 |
* @param string $message
|
815 |
* @param array $context
|
816 |
+
*/
|
817 |
apply_filters("simple_history/log_arguments", $level, $message, $context);
|
818 |
|
819 |
/* Store date at utc or local time?
|
822 |
* UNIX timestamp = no timezone = UTC
|
823 |
* anything is better than now() anyway!
|
824 |
* WP seems to use the local time, so I will go with that too I think
|
825 |
+
* GMT/UTC-time is: date_i18n($timezone_format, false, 'gmt'));
|
826 |
* local time is: date_i18n($timezone_format));
|
827 |
*/
|
828 |
$localtime = current_time("mysql", 1);
|
835 |
* @since 2.0
|
836 |
*
|
837 |
* @param string $db_table
|
838 |
+
*/
|
839 |
$db_table = apply_filters("simple_history/db_table", $db_table);
|
840 |
+
|
841 |
$data = array(
|
842 |
"logger" => $this->slug,
|
843 |
"level" => $level,
|
853 |
}
|
854 |
|
855 |
// Add occasions id
|
856 |
+
$occasions_id = null;
|
857 |
if ( isset( $context["_occasionsID"] ) ) {
|
858 |
|
859 |
// Minimize risk of similar loggers logging same messages and such and resulting in same occasions id
|
896 |
// Manually set in context
|
897 |
$data["initiator"] = $context["_initiator"];
|
898 |
unset( $context["_initiator"] );
|
899 |
+
|
900 |
} else {
|
901 |
+
|
902 |
// No initiator set.
|
903 |
|
904 |
$data["initiator"] = SimpleLoggerLogInitiators::OTHER;
|
905 |
+
|
906 |
// Check if user is responsible.
|
907 |
if ( function_exists("wp_get_current_user") ) {
|
908 |
|
936 |
* @since 2.0
|
937 |
*
|
938 |
* @param array $data
|
939 |
+
*/
|
940 |
$data = apply_filters("simple_history/log_insert_data", $data);
|
941 |
|
942 |
// Insert data into db
|
949 |
$history_inserted_id = null;
|
950 |
|
951 |
} else {
|
952 |
+
|
953 |
+
$history_inserted_id = $wpdb->insert_id;
|
954 |
|
955 |
$db_table_contexts = $wpdb->prefix . SimpleHistory::DBTABLE_CONTEXTS;
|
956 |
|
960 |
* @since 2.0
|
961 |
*
|
962 |
* @param string $db_table_contexts
|
963 |
+
*/
|
964 |
$db_table_contexts = apply_filters("simple_history/logger_db_table_contexts", $db_table_contexts);
|
965 |
|
966 |
if ( ! is_array($context) ) {
|
969 |
|
970 |
// Append user id to context, if not already added
|
971 |
if ( ! isset( $context["_user_id"] ) ) {
|
972 |
+
|
973 |
// wp_get_current_user is ont available early
|
974 |
// http://codex.wordpress.org/Function_Reference/wp_get_current_user
|
975 |
// https://core.trac.wordpress.org/ticket/14024
|
986 |
}
|
987 |
|
988 |
}
|
989 |
+
|
990 |
+
// Add remote addr to context
|
991 |
// Good to always have
|
992 |
if ( ! isset( $context["_server_remote_addr"] ) ) {
|
993 |
+
|
994 |
+
// If web server is behind a load balancer then the ip address will always be the same
|
995 |
+
// apache_request_headers
|
996 |
+
// See bug report: https://wordpress.org/support/topic/use-x-forwarded-for-http-header-when-logging-remote_addr?replies=1#post-6422981
|
997 |
+
if ( function_exists("getallheaders") ) {
|
998 |
+
|
999 |
+
$all_headers = getallheaders();
|
1000 |
+
if ( ! empty( $all_headers["X-Forwarded-For"] ) ) {
|
1001 |
+
$context["_server_remote_addr"] = $all_headers["X-Forwarded-For"];
|
1002 |
+
}
|
1003 |
+
|
1004 |
+
}
|
1005 |
+
|
1006 |
+
// Still no remote addr? Then simply add remote addr
|
1007 |
+
if ( empty( $context["_server_remote_addr"] ) ) {
|
1008 |
+
$context["_server_remote_addr"] = $_SERVER["REMOTE_ADDR"];
|
1009 |
+
}
|
1010 |
+
|
1011 |
}
|
1012 |
|
1013 |
// Append http referer
|
1030 |
}
|
1031 |
|
1032 |
}
|
1033 |
+
|
1034 |
$this->lastInsertID = $history_inserted_id;
|
1035 |
|
1036 |
// Return $this so we can chain methods
|
1040 |
|
1041 |
/**
|
1042 |
* Override this to add CSS in <head> for your logger.
|
1043 |
+
* The CSS that you output will only be outputed
|
1044 |
* on pages where Simple History is used.
|
1045 |
*/
|
1046 |
function adminCSS() {
|
1057 |
|
1058 |
/**
|
1059 |
* Override this to add JavaScript in the footer for your logger.
|
1060 |
+
* The JS that you output will only be outputed
|
1061 |
* on pages where Simple History is used.
|
1062 |
*/
|
1063 |
function adminJS() {
|
1069 |
<?php
|
1070 |
*/
|
1071 |
}
|
1072 |
+
|
1073 |
}
|
1074 |
|
1075 |
/**
|
1077 |
*/
|
1078 |
class SimpleLoggerLogInitiators
|
1079 |
{
|
1080 |
+
|
1081 |
// A wordpress user that at the log event created did exist in the wp database
|
1082 |
// May have been deleted when the log is viewed
|
1083 |
const WP_USER = 'wp_user';
|
1125 |
const INFO = 'info';
|
1126 |
const DEBUG = 'debug';
|
1127 |
}
|
|
loggers/SimpleUserLogger.php
CHANGED
@@ -385,7 +385,8 @@ class SimpleUserLogger extends SimpleLogger
|
|
385 |
"login_user_email" => $user->user_email,
|
386 |
"login_user_login" => $user->user_login,
|
387 |
"server_http_user_agent" => $_SERVER["HTTP_USER_AGENT"],
|
388 |
-
"_occasionsID" => __CLASS__ . '/' . __FUNCTION__ . "/failed_user_login/userid:{$user->ID}"
|
|
|
389 |
);
|
390 |
|
391 |
/**
|
@@ -410,7 +411,7 @@ class SimpleUserLogger extends SimpleLogger
|
|
410 |
|
411 |
}
|
412 |
|
413 |
-
|
414 |
/**
|
415 |
* Attempt to login to user that does not exist
|
416 |
*/
|
@@ -433,7 +434,11 @@ class SimpleUserLogger extends SimpleLogger
|
|
433 |
"server_http_user_agent" => $_SERVER["HTTP_USER_AGENT"],
|
434 |
// count all failed logins to unknown users as the same occasions,
|
435 |
// to prevent log being flooded with login/hack attempts
|
436 |
-
"_occasionsID" => __CLASS__ . '/' . __FUNCTION__
|
|
|
|
|
|
|
|
|
437 |
);
|
438 |
|
439 |
/**
|
@@ -456,7 +461,6 @@ class SimpleUserLogger extends SimpleLogger
|
|
456 |
|
457 |
return $user;
|
458 |
|
459 |
-
|
460 |
}
|
461 |
|
462 |
}
|
385 |
"login_user_email" => $user->user_email,
|
386 |
"login_user_login" => $user->user_login,
|
387 |
"server_http_user_agent" => $_SERVER["HTTP_USER_AGENT"],
|
388 |
+
//"_occasionsID" => __CLASS__ . '/' . __FUNCTION__ . "/failed_user_login/userid:{$user->ID}"
|
389 |
+
"_occasionsID" => __CLASS__ . '/failed_user_login'
|
390 |
);
|
391 |
|
392 |
/**
|
411 |
|
412 |
}
|
413 |
|
414 |
+
|
415 |
/**
|
416 |
* Attempt to login to user that does not exist
|
417 |
*/
|
434 |
"server_http_user_agent" => $_SERVER["HTTP_USER_AGENT"],
|
435 |
// count all failed logins to unknown users as the same occasions,
|
436 |
// to prevent log being flooded with login/hack attempts
|
437 |
+
// "_occasionsID" => __CLASS__ . '/' . __FUNCTION__
|
438 |
+
// Use same occasionsID as for failed login attempts to existing users,
|
439 |
+
// because log can flood otherwise if hacker is rotating existing and non-existing usernames
|
440 |
+
//"_occasionsID" => __CLASS__ . '/' . __FUNCTION__ . "/failed_user_login/userid:{$user->ID}"
|
441 |
+
"_occasionsID" => __CLASS__ . '/failed_user_login'
|
442 |
);
|
443 |
|
444 |
/**
|
461 |
|
462 |
return $user;
|
463 |
|
|
|
464 |
}
|
465 |
|
466 |
}
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://eskapism.se/sida/donate/
|
|
4 |
Tags: history, log, changes, changelog, audit, trail, pages, attachments, users, cms, dashboard, admin, syslog, feed, activity, stream
|
5 |
Requires at least: 3.6.0
|
6 |
Tested up to: 4.1
|
7 |
-
Stable tag: 2.0.
|
8 |
|
9 |
View changes made by users within WordPress. See who created a page, uploaded an attachment or approved an comment, and more.
|
10 |
|
@@ -110,6 +110,13 @@ initiated by a specific user.
|
|
110 |
|
111 |
== Changelog ==
|
112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
= 2.0.15 (January 2015) =
|
114 |
|
115 |
- Fixed: Widget changes where not always translated.
|
4 |
Tags: history, log, changes, changelog, audit, trail, pages, attachments, users, cms, dashboard, admin, syslog, feed, activity, stream
|
5 |
Requires at least: 3.6.0
|
6 |
Tested up to: 4.1
|
7 |
+
Stable tag: 2.0.16
|
8 |
|
9 |
View changes made by users within WordPress. See who created a page, uploaded an attachment or approved an comment, and more.
|
10 |
|
110 |
|
111 |
== Changelog ==
|
112 |
|
113 |
+
= 2.0.16 (January 2015) =
|
114 |
+
|
115 |
+
- Fixed: Use the [X-Forwarded-For header](http://en.wikipedia.org/wiki/X-Forwarded-For), if it is set, to determine remote IP address. Should now correctly store IP addresses for servers behind load balancers or for clients going through proxies. Fixes https://wordpress.org/support/topic/use-x-forwarded-for-http-header-when-logging-remote_addr.
|
116 |
+
- Changed: Failed login attempts from unknown and known users are now grouped together. This change was made because a hacker could make many login attempts to a site and rotate the logins, so they would try with both existing and non existing user names, which would make the log flood with failed login attempts.
|
117 |
+
- Changed: use "n similar events" instead of "n more", to more cleary mark that the grouped events are not necessary exactly the same kind.
|
118 |
+
- Changed: Quick stats text changed, to also include other sources. Previous behavior was to only include events from WordPress users, but now also events from anonymous users and WordPress (like from WP-Cron) are included.
|
119 |
+
|
120 |
= 2.0.15 (January 2015) =
|
121 |
|
122 |
- Fixed: Widget changes where not always translated.
|