Version Description
- Changed widget name to just "History" instead of "Simple History". Keep it simple. Previous name implied there also was an "Advanced History" somewhere.
- Made the widget look a bit WordPress-ish by borrwing some of the looks from the comments widget.
- Fix for database that didn't use UTF-8 (sorry international users!)
- Some security fixes
- Updated POT-file
Download this release
Release Info
Developer | eskapism |
Plugin | Simple History |
Version | 0.6 |
Comparing to | |
See all releases |
Code changes from version 0.5 to 0.6
- index.php +264 -237
- languages/simple-history.pot +159 -58
- readme.txt +10 -3
- styles.css +8 -8
index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Simple History
|
4 |
Plugin URI: http://eskapism.se/code-playground/simple-history/
|
5 |
Description: Get a log/history/audit log/version history of the changes made by users in WordPress.
|
6 |
-
Version: 0.
|
7 |
Author: Pär Thernström
|
8 |
Author URI: http://eskapism.se/
|
9 |
License: GPL2
|
@@ -27,214 +27,264 @@ License: GPL2
|
|
27 |
|
28 |
load_plugin_textdomain('simple-history', false, "/simple-history/languages");
|
29 |
|
30 |
-
define( "SIMPLE_HISTORY_VERSION", "0.
|
31 |
define( "SIMPLE_HISTORY_NAME", "Simple History");
|
32 |
define( "SIMPLE_HISTORY_URL", WP_PLUGIN_URL . '/simple-history/');
|
33 |
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
52 |
}
|
53 |
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
"
|
60 |
-
"
|
61 |
-
"
|
62 |
-
|
63 |
-
|
64 |
-
"
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
|
|
|
|
|
|
79 |
|
80 |
-
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
|
|
87 |
}
|
|
|
88 |
}
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
simple_history_print_nav();
|
94 |
-
simple_history_print_history();
|
95 |
-
}
|
96 |
-
|
97 |
-
function simple_history_admin_head() {
|
98 |
-
}
|
99 |
-
|
100 |
-
|
101 |
-
function simple_history_init() {
|
102 |
-
|
103 |
-
// users and stuff
|
104 |
-
add_action("wp_login", "simple_history_wp_login");
|
105 |
-
add_action("wp_logout", "simple_history_wp_logout");
|
106 |
-
add_action("delete_user", "simple_history_delete_user");
|
107 |
-
add_action("user_register", "simple_history_user_register");
|
108 |
-
add_action("profile_update", "simple_history_profile_update");
|
109 |
-
|
110 |
-
// options
|
111 |
-
#add_action("updated_option", "simple_history_updated_option", 10, 3);
|
112 |
-
#add_action("updated_option", "simple_history_updated_option2", 10, 2);
|
113 |
-
#add_action("updated_option", "simple_history_updated_option3", 10, 1);
|
114 |
-
#add_action("update_option", "simple_history_update_option", 10, 3);
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
|
|
|
|
|
|
|
119 |
|
120 |
-
|
121 |
-
// don't know if this is the right way to do this, but it seems to work!
|
122 |
-
if (isset($_GET["simple_history_get_rss"])) {
|
123 |
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
}
|
154 |
-
|
155 |
-
$item_title = "$object_type \"{$object_name}\" {$one_item->action}";
|
156 |
-
$item_title = html_entity_decode($item_title, ENT_COMPAT, "UTF-8");
|
157 |
-
$item_guid = get_bloginfo("siteurl") . "?simple-history-guid=" . $one_item->id;
|
158 |
?>
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
</item>
|
187 |
-
</channel>
|
188 |
-
</rss>
|
189 |
-
<?php
|
190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
exit;
|
193 |
-
}
|
194 |
|
195 |
-
}
|
196 |
-
|
197 |
-
|
198 |
-
function simple_history_admin_init() {
|
199 |
|
200 |
-
|
201 |
|
202 |
-
|
203 |
-
add_action("save_post", "simple_history_save_post");
|
204 |
-
add_action("transition_post_status", "simple_history_transition_post_status", 10, 3);
|
205 |
-
add_action("delete_post", "simple_history_delete_post");
|
206 |
-
|
207 |
-
// attachments/media
|
208 |
-
add_action("add_attachment", "simple_history_add_attachment");
|
209 |
-
add_action("edit_attachment", "simple_history_edit_attachment");
|
210 |
-
add_action("delete_attachment", "simple_history_delete_attachment");
|
211 |
-
|
212 |
-
add_action("edit_comment", "simple_history_edit_comment");
|
213 |
-
add_action("delete_comment", "simple_history_delete_comment");
|
214 |
-
add_action("wp_set_comment_status", "simple_history_set_comment_status", 10, 2);
|
215 |
-
/*
|
216 |
-
edit_comment
|
217 |
-
Runs after a comment is updated/edited in the database. Action function arguments: comment ID.
|
218 |
-
|
219 |
-
delete_comment
|
220 |
-
Runs just before a comment is deleted. Action function arguments: comment ID.
|
221 |
|
222 |
-
wp_set_comment_status
|
223 |
-
Runs when the status of a comment changes. Action function arguments: comment ID, status string indicating the new status ("delete", "approve", "spam", "hold").
|
224 |
-
*/
|
225 |
-
// comments
|
226 |
|
227 |
-
add_settings_section("simple_history_settings_general", SIMPLE_HISTORY_NAME, "simple_history_settings_page", "general");
|
228 |
-
add_settings_field("simple_history_settings_field_1", "Show Simple History", "simple_history_settings_field", "general", "simple_history_settings_general");
|
229 |
-
add_settings_field("simple_history_settings_field_2", "RSS feed", "simple_history_settings_field_rss", "general", "simple_history_settings_general");
|
230 |
-
register_setting("general", "simple_history_show_on_dashboard");
|
231 |
-
register_setting("general", "simple_history_show_as_page");
|
232 |
|
233 |
-
wp_enqueue_style( "simple_history_styles", SIMPLE_HISTORY_URL . "styles.css", false, SIMPLE_HISTORY_VERSION );
|
234 |
-
|
235 |
-
wp_enqueue_script("simple_history", SIMPLE_HISTORY_URL . "scripts.js", array("jquery"), SIMPLE_HISTORY_VERSION);
|
236 |
|
|
|
|
|
|
|
|
|
237 |
}
|
|
|
238 |
function simple_history_settings_page() {
|
239 |
// never remove this function, it must exist.
|
240 |
echo "<div id='simple-history-settings-page'></div>";
|
@@ -247,7 +297,6 @@ function simple_history_setting_show_as_page() {
|
|
247 |
return (bool) get_option("simple_history_show_as_page", 1);
|
248 |
}
|
249 |
|
250 |
-
|
251 |
function simple_history_settings_field() {
|
252 |
$show_on_dashboard = simple_history_setting_show_on_dashboard();
|
253 |
$show_as_page = simple_history_setting_show_as_page();
|
@@ -605,7 +654,7 @@ function simple_history_add($args) {
|
|
605 |
|
606 |
$args = wp_parse_args( $args, $defaults );
|
607 |
|
608 |
-
$action = $args["action"];
|
609 |
$object_type = $args["object_type"];
|
610 |
$object_subtype = $args["object_subtype"];
|
611 |
$object_id = $args["object_id"];
|
@@ -646,7 +695,7 @@ function simple_history_management_page() {
|
|
646 |
?>
|
647 |
|
648 |
<div class="wrap">
|
649 |
-
<h2><?php echo
|
650 |
<?php
|
651 |
simple_history_print_nav();
|
652 |
simple_history_print_history();
|
@@ -668,6 +717,16 @@ if (!function_exists("bonny_d")) {
|
|
668 |
// when activating plugin: create tables
|
669 |
// __FILE__ doesnt work for me because of soft linkes directories
|
670 |
register_activation_hook( WP_PLUGIN_DIR . "/simple-history/index.php" , 'simple_history_install' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
function simple_history_install() {
|
672 |
|
673 |
global $wpdb;
|
@@ -678,14 +737,15 @@ function simple_history_install() {
|
|
678 |
$sql = "CREATE TABLE " . $table_name . " (
|
679 |
id int(10) NOT NULL AUTO_INCREMENT,
|
680 |
date datetime NOT NULL,
|
681 |
-
action varchar(255) NOT NULL,
|
682 |
-
object_type varchar(255) NOT NULL,
|
683 |
-
object_subtype VARCHAR(255) NOT NULL,
|
684 |
user_id int(10) NOT NULL,
|
685 |
object_id int(10) NOT NULL,
|
686 |
-
object_name varchar(255) NOT NULL,
|
687 |
-
PRIMARY KEY
|
688 |
-
);";
|
|
|
689 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
690 |
dbDelta($sql);
|
691 |
|
@@ -696,7 +756,6 @@ function simple_history_install() {
|
|
696 |
|
697 |
simple_history_add("action=" . __( 'activated', 'simple-history' ) . "&object_type=" . __('Plugin') . "&object_name=$plugin_name");
|
698 |
|
699 |
-
|
700 |
// also generate a rss secret, if it does not exist
|
701 |
if (!get_option("simple_history_rss_secret")) {
|
702 |
simple_history_update_rss_secret();
|
@@ -730,7 +789,7 @@ function simple_history_print_nav() {
|
|
730 |
// add_query_arg(
|
731 |
$link = esc_html(add_query_arg("simple_history_type_to_show", ""));
|
732 |
$str_types_desc = __("All types", 'simple-history');
|
733 |
-
$str_types .= "<li $css><a href='$link'
|
734 |
foreach ($arr_types as $one_type) {
|
735 |
$css = "";
|
736 |
if ($one_type->object_subtype && $simple_history_type_to_show == ($one_type->object_type."/".$one_type->object_subtype)) {
|
@@ -747,9 +806,9 @@ function simple_history_print_nav() {
|
|
747 |
}
|
748 |
$link = esc_html(add_query_arg("simple_history_type_to_show", $arg));
|
749 |
$str_types .= "<a href='$link'>";
|
750 |
-
$str_types .= $one_type->object_type;
|
751 |
if ($one_type->object_subtype) {
|
752 |
-
$str_types .= "/"
|
753 |
}
|
754 |
$str_types .= "</a> | ";
|
755 |
$str_types .= "</li>";
|
@@ -979,28 +1038,6 @@ function simple_history_print_history($args = null) {
|
|
979 |
|
980 |
$real_loop_num++;
|
981 |
|
982 |
-
#if ($args["page"] > 0 && ($args["page"] * $args["items"] > $real_loop_num)) {
|
983 |
-
# continue;
|
984 |
-
#}
|
985 |
-
|
986 |
-
#if ($loopNum >= $args["items"]) {
|
987 |
-
# break;
|
988 |
-
#}
|
989 |
-
/*
|
990 |
-
stdClass Object
|
991 |
-
(
|
992 |
-
[id] => 94
|
993 |
-
[date] => 2010-07-03 21:08:43
|
994 |
-
[action] => update
|
995 |
-
[object_type] => post
|
996 |
-
[object_subtype] => page
|
997 |
-
[user_id] => 1
|
998 |
-
[object_id] => 732
|
999 |
-
[occasions] => array
|
1000 |
-
)
|
1001 |
-
*/
|
1002 |
-
#bonny_d($one_row);
|
1003 |
-
|
1004 |
$object_type = $one_row->object_type;
|
1005 |
$object_subtype = $one_row->object_subtype;
|
1006 |
$object_id = $one_row->object_id;
|
@@ -1044,9 +1081,9 @@ function simple_history_print_history($args = null) {
|
|
1044 |
if ($user->first_name || $user->last_name) {
|
1045 |
$who .= " (";
|
1046 |
if ($user->first_name && $user->last_name) {
|
1047 |
-
$who .= $user->first_name . " " . $user->last_name;
|
1048 |
} else {
|
1049 |
-
$who .= $user->first_name . $user->last_name; // just one of them, no space necessary
|
1050 |
}
|
1051 |
$who .= ")";
|
1052 |
}
|
@@ -1088,7 +1125,7 @@ function simple_history_print_history($args = null) {
|
|
1088 |
$post_out .= " " . __("deleted", 'simple-history') . " ";
|
1089 |
} else {
|
1090 |
*/
|
1091 |
-
$post_out .= " $action
|
1092 |
//}
|
1093 |
|
1094 |
$post_out = ucfirst($post_out);
|
@@ -1123,17 +1160,7 @@ function simple_history_print_history($args = null) {
|
|
1123 |
}
|
1124 |
}
|
1125 |
|
1126 |
-
|
1127 |
-
if ("added" == $action) {
|
1128 |
-
$attachment_out .= " added ";
|
1129 |
-
} elseif ("updated" == $action) {
|
1130 |
-
$attachment_out .= " updated ";
|
1131 |
-
} elseif ("deleted" == $action) {
|
1132 |
-
$attachment_out .= " deleted ";
|
1133 |
-
} else {
|
1134 |
-
*/
|
1135 |
-
$attachment_out .= " $action ";
|
1136 |
-
//}
|
1137 |
|
1138 |
$attachment_out = ucfirst($attachment_out);
|
1139 |
echo $attachment_out;
|
@@ -1152,9 +1179,9 @@ function simple_history_print_history($args = null) {
|
|
1152 |
if ($user->first_name || $user->last_name) {
|
1153 |
$user_out .= " (";
|
1154 |
if ($user->first_name && $user->last_name) {
|
1155 |
-
$user_out .= $user->first_name . " " . $user->last_name;
|
1156 |
} else {
|
1157 |
-
$user_out .= $user->first_name . $user->last_name; // just one of them, no space necessary
|
1158 |
}
|
1159 |
$user_out .= ")";
|
1160 |
}
|
@@ -1163,7 +1190,7 @@ function simple_history_print_history($args = null) {
|
|
1163 |
} else {
|
1164 |
// most likely deleted user
|
1165 |
$user_link = "";
|
1166 |
-
$user_out .= " \"$object_name\"";
|
1167 |
}
|
1168 |
|
1169 |
$user_avatar = get_avatar($user->user_email, "50");
|
@@ -1186,7 +1213,7 @@ function simple_history_print_history($args = null) {
|
|
1186 |
$user_out .= " " . __("logged out", 'simple-history') . " ";
|
1187 |
} else {
|
1188 |
*/
|
1189 |
-
$user_out .= " $action
|
1190 |
//}
|
1191 |
|
1192 |
$user_out = ucfirst($user_out);
|
@@ -1195,7 +1222,7 @@ function simple_history_print_history($args = null) {
|
|
1195 |
} elseif ("comment" == $object_type) {
|
1196 |
|
1197 |
$comment_link = get_edit_comment_link($object_id);
|
1198 |
-
echo ucwords($object_type) . " $object_subtype <a href='$comment_link'><span class='simple-history-title'
|
1199 |
|
1200 |
} else {
|
1201 |
|
@@ -1218,7 +1245,7 @@ function simple_history_print_history($args = null) {
|
|
1218 |
default:
|
1219 |
$unknown_action = $unknown_action; // dah!
|
1220 |
}
|
1221 |
-
echo ucwords($object_type) . " $object_subtype <span class='simple-history-title'>\"$object_name\"</span> $unknown_action
|
1222 |
|
1223 |
}
|
1224 |
echo "</div>";
|
@@ -1280,7 +1307,7 @@ function simple_history_print_history($args = null) {
|
|
1280 |
//$show_more = sprintf(__("Show %s more", 'simple-history'), $show_more);
|
1281 |
$loading = __("Loading...", 'simple-history');
|
1282 |
$no_more_found = __("No more history items found.", 'simple-history');
|
1283 |
-
$view_rss = __("
|
1284 |
$view_rss_link = simple_history_get_rss_address();
|
1285 |
$str_show = __("Show", 'simple-history');
|
1286 |
echo "</ol>
|
3 |
Plugin Name: Simple History
|
4 |
Plugin URI: http://eskapism.se/code-playground/simple-history/
|
5 |
Description: Get a log/history/audit log/version history of the changes made by users in WordPress.
|
6 |
+
Version: 0.6
|
7 |
Author: Pär Thernström
|
8 |
Author URI: http://eskapism.se/
|
9 |
License: GPL2
|
27 |
|
28 |
load_plugin_textdomain('simple-history', false, "/simple-history/languages");
|
29 |
|
30 |
+
define( "SIMPLE_HISTORY_VERSION", "0.6");
|
31 |
define( "SIMPLE_HISTORY_NAME", "Simple History");
|
32 |
define( "SIMPLE_HISTORY_URL", WP_PLUGIN_URL . '/simple-history/');
|
33 |
|
34 |
+
/**
|
35 |
+
* Let's begin on a class, since they rule so much more than functions.
|
36 |
+
*/
|
37 |
+
class simple_history {
|
38 |
+
|
39 |
+
function __construct() {
|
40 |
+
|
41 |
+
add_action( 'admin_init', array($this, 'admin_init') ); // start listening to changes
|
42 |
+
add_action( 'init', array($this, 'init') ); // start listening to changes
|
43 |
+
add_action( 'admin_menu', array($this, 'admin_menu') );
|
44 |
+
add_action( 'wp_dashboard_setup', array($this, 'wp_dashboard_setup') );
|
45 |
+
add_action( 'wp_ajax_simple_history_ajax', array($this, 'ajax') );
|
46 |
+
|
47 |
+
}
|
48 |
|
49 |
+
function wp_dashboard_setup() {
|
50 |
+
if (simple_history_setting_show_on_dashboard()) {
|
51 |
+
if (current_user_can("edit_pages")) {
|
52 |
+
wp_add_dashboard_widget("simple_history_dashboard_widget", __("History", 'simple-history'), "simple_history_dashboard");
|
53 |
+
}
|
54 |
+
}
|
55 |
}
|
56 |
|
57 |
+
// stuff that happens in the admin
|
58 |
+
// "admin_init is triggered before any other hook when a user access the admin area"
|
59 |
+
function admin_init() {
|
60 |
+
|
61 |
+
// posts
|
62 |
+
add_action("save_post", "simple_history_save_post");
|
63 |
+
add_action("transition_post_status", "simple_history_transition_post_status", 10, 3);
|
64 |
+
add_action("delete_post", "simple_history_delete_post");
|
65 |
+
|
66 |
+
// attachments/media
|
67 |
+
add_action("add_attachment", "simple_history_add_attachment");
|
68 |
+
add_action("edit_attachment", "simple_history_edit_attachment");
|
69 |
+
add_action("delete_attachment", "simple_history_delete_attachment");
|
70 |
+
|
71 |
+
// comments
|
72 |
+
add_action("edit_comment", "simple_history_edit_comment");
|
73 |
+
add_action("delete_comment", "simple_history_delete_comment");
|
74 |
+
add_action("wp_set_comment_status", "simple_history_set_comment_status", 10, 2);
|
75 |
+
|
76 |
+
// other things
|
77 |
+
add_settings_section("simple_history_settings_general", SIMPLE_HISTORY_NAME, "simple_history_settings_page", "general");
|
78 |
+
add_settings_field("simple_history_settings_field_1", "Show Simple History", "simple_history_settings_field", "general", "simple_history_settings_general");
|
79 |
+
add_settings_field("simple_history_settings_field_2", "RSS feed", "simple_history_settings_field_rss", "general", "simple_history_settings_general");
|
80 |
+
register_setting("general", "simple_history_show_on_dashboard");
|
81 |
+
register_setting("general", "simple_history_show_as_page");
|
82 |
+
|
83 |
+
$this->check_upgrade_stuff();
|
84 |
+
|
85 |
+
wp_enqueue_style( "simple_history_styles", SIMPLE_HISTORY_URL . "styles.css", false, SIMPLE_HISTORY_VERSION );
|
86 |
+
wp_enqueue_script("simple_history", SIMPLE_HISTORY_URL . "scripts.js", array("jquery"), SIMPLE_HISTORY_VERSION);
|
87 |
+
|
88 |
}
|
89 |
+
|
90 |
+
// check some things regarding update
|
91 |
+
function check_upgrade_stuff() {
|
92 |
|
93 |
+
global $wpdb;
|
94 |
|
95 |
+
$db_version = get_option("simple_history_db_version");
|
96 |
+
// $db_version = FALSE;
|
97 |
+
|
98 |
+
if ($db_version === FALSE) {
|
99 |
+
// db fix has never been run
|
100 |
+
// user is on version 0.4 or earlier
|
101 |
+
// = database is not using utf-8
|
102 |
+
// so fix that
|
103 |
+
$table_name = $wpdb->prefix . "simple_history";
|
104 |
+
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
105 |
+
#echo "begin upgrading database";
|
106 |
+
// We change the varchar size to add one num just to force update of encoding. dbdelta didn't see it otherwise.
|
107 |
+
$sql = "CREATE TABLE " . $table_name . " (
|
108 |
+
id int(10) NOT NULL AUTO_INCREMENT,
|
109 |
+
date datetime NOT NULL,
|
110 |
+
action VARCHAR(256) NOT NULL COLLATE utf8_general_ci,
|
111 |
+
object_type VARCHAR(256) NOT NULL COLLATE utf8_general_ci,
|
112 |
+
object_subtype VARCHAR(256) NOT NULL COLLATE utf8_general_ci,
|
113 |
+
user_id int(10) NOT NULL,
|
114 |
+
object_id int(10) NOT NULL,
|
115 |
+
object_name VARCHAR(256) NOT NULL COLLATE utf8_general_ci,
|
116 |
+
PRIMARY KEY (id)
|
117 |
+
) CHARACTER SET=utf8;";
|
118 |
+
|
119 |
+
// Upgrade db / fix utf for varchars
|
120 |
+
dbDelta($sql);
|
121 |
+
|
122 |
+
// Fix UTF-8 for table
|
123 |
+
$sql = sprintf('alter table %1$s charset=utf8;', $table_name);
|
124 |
+
$wpdb->query($sql);
|
125 |
+
|
126 |
+
// Store this upgrade in ourself :)
|
127 |
+
simple_history_add("action=" . __( 'upgraded it\'s database', 'simple-history' ) . "&object_type=" . __('Plugin') . "&object_name=" . SIMPLE_HISTORY_NAME);
|
128 |
|
129 |
+
#echo "done upgrading database";
|
130 |
+
|
131 |
+
update_option("simple_history_db_version", 1);
|
132 |
+
} else {
|
133 |
+
// echo "db up to date";
|
134 |
}
|
135 |
+
|
136 |
}
|
137 |
+
|
138 |
+
function admin_menu() {
|
139 |
+
|
140 |
+
#define( "SIMPLE_HISTORY_PAGE_FILE", menu_page_url("simple_history_page", false)); // no need yet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
|
142 |
+
// show as page?
|
143 |
+
if (simple_history_setting_show_as_page()) {
|
144 |
+
add_dashboard_page(SIMPLE_HISTORY_NAME, __("History", 'simple-history'), "edit_pages", "simple_history_page", "simple_history_management_page");
|
145 |
+
}
|
146 |
+
|
147 |
+
}
|
148 |
|
149 |
+
function init() {
|
|
|
|
|
150 |
|
151 |
+
// users and stuff
|
152 |
+
add_action("wp_login", "simple_history_wp_login");
|
153 |
+
add_action("wp_logout", "simple_history_wp_logout");
|
154 |
+
add_action("delete_user", "simple_history_delete_user");
|
155 |
+
add_action("user_register", "simple_history_user_register");
|
156 |
+
add_action("profile_update", "simple_history_profile_update");
|
157 |
+
|
158 |
+
// options
|
159 |
+
#add_action("updated_option", "simple_history_updated_option", 10, 3);
|
160 |
+
#add_action("updated_option", "simple_history_updated_option2", 10, 2);
|
161 |
+
#add_action("updated_option", "simple_history_updated_option3", 10, 1);
|
162 |
+
#add_action("update_option", "simple_history_update_option", 10, 3);
|
163 |
+
|
164 |
+
// plugin
|
165 |
+
add_action("activated_plugin", "simple_history_activated_plugin");
|
166 |
+
add_action("deactivated_plugin", "simple_history_deactivated_plugin");
|
167 |
+
|
168 |
+
// check for RSS
|
169 |
+
// don't know if this is the right way to do this, but it seems to work!
|
170 |
+
if (isset($_GET["simple_history_get_rss"])) {
|
171 |
+
|
172 |
+
$rss_secret_option = get_option("simple_history_rss_secret");
|
173 |
+
$rss_secret_get = $_GET["rss_secret"];
|
174 |
+
|
175 |
+
echo '<?xml version="1.0"?>';
|
176 |
+
$self_link = simple_history_get_rss_address();
|
177 |
+
|
178 |
+
if ($rss_secret_option == $rss_secret_get) {
|
179 |
+
?>
|
180 |
+
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
181 |
+
<channel>
|
182 |
+
<title><?php printf(__("History for %s", 'simple-history'), get_bloginfo("name")) ?></title>
|
183 |
+
<description><?php printf(__("WordPress History for %s", 'simple-history'), get_bloginfo("name")) ?></description>
|
184 |
+
<link><?php echo get_bloginfo("url") ?></link>
|
185 |
+
<atom:link href="<?php echo $self_link; ?>" rel="self" type="application/rss+xml" />
|
186 |
+
<?php
|
187 |
+
$arr_items = simple_history_get_items_array("items=10");
|
188 |
+
foreach ($arr_items as $one_item) {
|
189 |
+
$object_type = ucwords($one_item->object_type);
|
190 |
+
$object_name = esc_html($one_item->object_name);
|
191 |
+
$user = get_user_by("id", $one_item->user_id);
|
192 |
+
$user_nicename = esc_html($user->user_nicename);
|
193 |
+
$description = "";
|
194 |
+
if ($user_nicename) {
|
195 |
+
$description .= sprintf(__("By %s", 'simple-history'), $user_nicename);
|
196 |
+
$description .= "<br />";
|
197 |
+
}
|
198 |
+
if ($one_item->occasions) {
|
199 |
+
$description .= sprintf(__("%d occasions", 'simple-history'), sizeof($one_item->occasions));
|
200 |
+
$description .= "<br />";
|
201 |
+
}
|
202 |
+
|
203 |
+
$item_title = esc_html($object_type) . " \"" . esc_html($object_name) . "\" {$one_item->action}";
|
204 |
+
$item_title = html_entity_decode($item_title, ENT_COMPAT, "UTF-8");
|
205 |
+
$item_guid = get_bloginfo("siteurl") . "?simple-history-guid=" . $one_item->id;
|
206 |
+
?>
|
207 |
+
<item>
|
208 |
+
<title><![CDATA[<?php echo $item_title; ?>]]></title>
|
209 |
+
<description><![CDATA[<?php echo $description ?>]]></description>
|
210 |
+
<author><?php echo $user_nicename ?></author>
|
211 |
+
<pubDate><?php echo date("D, d M Y H:i:s", strtotime($one_item->date)) ?> GMT</pubDate>
|
212 |
+
<guid isPermaLink="false"><?php echo $item_guid ?></guid>
|
213 |
+
</item>
|
214 |
+
<?php
|
215 |
}
|
|
|
|
|
|
|
|
|
216 |
?>
|
217 |
+
</channel>
|
218 |
+
</rss>
|
219 |
+
<?php
|
220 |
+
} else {
|
221 |
+
// not ok rss secret
|
222 |
+
?>
|
223 |
+
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
224 |
+
<channel>
|
225 |
+
<title><?php printf(__("History for %s", 'simple-history'), get_bloginfo("name")) ?></title>
|
226 |
+
<description><?php printf(__("WordPress History for %s", 'simple-history'), get_bloginfo("name")) ?></description>
|
227 |
+
<link><?php echo get_bloginfo("siteurl") ?></link>
|
228 |
+
<atom:link href="<?php echo $self_link; ?>" rel="self" type="application/rss+xml" />
|
229 |
+
<item>
|
230 |
+
<title><?php _e("Wrong RSS secret", 'simple-history')?></title>
|
231 |
+
<description><?php _e("Your RSS secret for Simple History RSS feed is wrong. Please see WordPress settings for current link to the RSS feed.", 'simple-history')?></description>
|
232 |
+
<pubDate><?php echo date("D, d M Y H:i:s", time()) ?> GMT</pubDate>
|
233 |
+
<guid><?php echo get_bloginfo("siteurl") . "?simple-history-guid=wrong-secret" ?></guid>
|
234 |
+
</item>
|
235 |
+
</channel>
|
236 |
+
</rss>
|
237 |
+
<?php
|
238 |
+
|
239 |
+
}
|
240 |
+
exit;
|
241 |
+
}
|
242 |
+
|
243 |
+
}
|
|
|
|
|
|
|
|
|
244 |
|
245 |
+
function ajax() {
|
246 |
+
|
247 |
+
$type = $_POST["type"];
|
248 |
+
if ($type == __( "All types", 'simple-history' )) { $type = ""; }
|
249 |
+
|
250 |
+
$user = $_POST["user"];
|
251 |
+
if ($user == __( "By all users", 'simple-history' )) { $user = ""; }
|
252 |
+
|
253 |
+
$page = 0;
|
254 |
+
if (isset($_POST["page"])) {
|
255 |
+
$page = (int) $_POST["page"];
|
256 |
}
|
257 |
+
|
258 |
+
$items = (int) (isset($_POST["items"])) ? $_POST["items"] : 5;
|
259 |
+
|
260 |
+
$search = (isset($_POST["search"])) ? $_POST["search"] : "";
|
261 |
+
|
262 |
+
$args = array(
|
263 |
+
"is_ajax" => true,
|
264 |
+
"filter_type" => $type,
|
265 |
+
"filter_user" => $user,
|
266 |
+
"page" => $page,
|
267 |
+
"items" => $items,
|
268 |
+
"search" => $search
|
269 |
+
);
|
270 |
+
simple_history_print_history($args);
|
271 |
exit;
|
|
|
272 |
|
273 |
+
}
|
|
|
|
|
|
|
274 |
|
275 |
+
} // class
|
276 |
|
277 |
+
$simple_history = new simple_history;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
|
|
|
|
|
|
|
|
279 |
|
|
|
|
|
|
|
|
|
|
|
280 |
|
|
|
|
|
|
|
281 |
|
282 |
+
function simple_history_dashboard() {
|
283 |
+
simple_history_purge_db();
|
284 |
+
simple_history_print_nav();
|
285 |
+
simple_history_print_history();
|
286 |
}
|
287 |
+
|
288 |
function simple_history_settings_page() {
|
289 |
// never remove this function, it must exist.
|
290 |
echo "<div id='simple-history-settings-page'></div>";
|
297 |
return (bool) get_option("simple_history_show_as_page", 1);
|
298 |
}
|
299 |
|
|
|
300 |
function simple_history_settings_field() {
|
301 |
$show_on_dashboard = simple_history_setting_show_on_dashboard();
|
302 |
$show_as_page = simple_history_setting_show_as_page();
|
654 |
|
655 |
$args = wp_parse_args( $args, $defaults );
|
656 |
|
657 |
+
$action = mysql_real_escape_string($args["action"]);
|
658 |
$object_type = $args["object_type"];
|
659 |
$object_subtype = $args["object_subtype"];
|
660 |
$object_id = $args["object_id"];
|
695 |
?>
|
696 |
|
697 |
<div class="wrap">
|
698 |
+
<h2><?php echo __("History", 'simple-history') ?></h2>
|
699 |
<?php
|
700 |
simple_history_print_nav();
|
701 |
simple_history_print_history();
|
717 |
// when activating plugin: create tables
|
718 |
// __FILE__ doesnt work for me because of soft linkes directories
|
719 |
register_activation_hook( WP_PLUGIN_DIR . "/simple-history/index.php" , 'simple_history_install' );
|
720 |
+
|
721 |
+
/*
|
722 |
+
The theory behind the right way to do this. The proper way to handle an upgrade path is to only
|
723 |
+
run an upgrade procedure when you need to. Ideally, you would store a “version” in your
|
724 |
+
plugin’s database option, and then a version in the code. If they do not match, you
|
725 |
+
would fire your upgrade procedure, and then set the database option to equal the version in
|
726 |
+
the code. This is how many plugins handle upgrades, and this is how core works as well.
|
727 |
+
*/
|
728 |
+
|
729 |
+
// when installing plugin: create table
|
730 |
function simple_history_install() {
|
731 |
|
732 |
global $wpdb;
|
737 |
$sql = "CREATE TABLE " . $table_name . " (
|
738 |
id int(10) NOT NULL AUTO_INCREMENT,
|
739 |
date datetime NOT NULL,
|
740 |
+
action varchar(255) NOT NULL COLLATE utf8_general_ci,
|
741 |
+
object_type varchar(255) NOT NULL COLLATE utf8_general_ci,
|
742 |
+
object_subtype VARCHAR(255) NOT NULL COLLATE utf8_general_ci,
|
743 |
user_id int(10) NOT NULL,
|
744 |
object_id int(10) NOT NULL,
|
745 |
+
object_name varchar(255) NOT NULL COLLATE utf8_general_ci,
|
746 |
+
PRIMARY KEY (id)
|
747 |
+
) CHARACTER SET=utf8;";
|
748 |
+
|
749 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
750 |
dbDelta($sql);
|
751 |
|
756 |
|
757 |
simple_history_add("action=" . __( 'activated', 'simple-history' ) . "&object_type=" . __('Plugin') . "&object_name=$plugin_name");
|
758 |
|
|
|
759 |
// also generate a rss secret, if it does not exist
|
760 |
if (!get_option("simple_history_rss_secret")) {
|
761 |
simple_history_update_rss_secret();
|
789 |
// add_query_arg(
|
790 |
$link = esc_html(add_query_arg("simple_history_type_to_show", ""));
|
791 |
$str_types_desc = __("All types", 'simple-history');
|
792 |
+
$str_types .= "<li $css><a href='$link'>" . esc_html($str_types_desc) . "</a> | </li>";
|
793 |
foreach ($arr_types as $one_type) {
|
794 |
$css = "";
|
795 |
if ($one_type->object_subtype && $simple_history_type_to_show == ($one_type->object_type."/".$one_type->object_subtype)) {
|
806 |
}
|
807 |
$link = esc_html(add_query_arg("simple_history_type_to_show", $arg));
|
808 |
$str_types .= "<a href='$link'>";
|
809 |
+
$str_types .= esc_html($one_type->object_type);
|
810 |
if ($one_type->object_subtype) {
|
811 |
+
$str_types .= "/". esc_html($one_type->object_subtype);
|
812 |
}
|
813 |
$str_types .= "</a> | ";
|
814 |
$str_types .= "</li>";
|
1038 |
|
1039 |
$real_loop_num++;
|
1040 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1041 |
$object_type = $one_row->object_type;
|
1042 |
$object_subtype = $one_row->object_subtype;
|
1043 |
$object_id = $one_row->object_id;
|
1081 |
if ($user->first_name || $user->last_name) {
|
1082 |
$who .= " (";
|
1083 |
if ($user->first_name && $user->last_name) {
|
1084 |
+
$who .= esc_html($user->first_name) . " " . esc_html($user->last_name);
|
1085 |
} else {
|
1086 |
+
$who .= esc_html($user->first_name) . esc_html($user->last_name); // just one of them, no space necessary
|
1087 |
}
|
1088 |
$who .= ")";
|
1089 |
}
|
1125 |
$post_out .= " " . __("deleted", 'simple-history') . " ";
|
1126 |
} else {
|
1127 |
*/
|
1128 |
+
$post_out .= " " . esc_html($action);
|
1129 |
//}
|
1130 |
|
1131 |
$post_out = ucfirst($post_out);
|
1160 |
}
|
1161 |
}
|
1162 |
|
1163 |
+
$attachment_out .= " $action ";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1164 |
|
1165 |
$attachment_out = ucfirst($attachment_out);
|
1166 |
echo $attachment_out;
|
1179 |
if ($user->first_name || $user->last_name) {
|
1180 |
$user_out .= " (";
|
1181 |
if ($user->first_name && $user->last_name) {
|
1182 |
+
$user_out .= esc_html($user->first_name) . " " . esc_html($user->last_name);
|
1183 |
} else {
|
1184 |
+
$user_out .= esc_html($user->first_name) . esc_html($user->last_name); // just one of them, no space necessary
|
1185 |
}
|
1186 |
$user_out .= ")";
|
1187 |
}
|
1190 |
} else {
|
1191 |
// most likely deleted user
|
1192 |
$user_link = "";
|
1193 |
+
$user_out .= " \"" . esc_html($object_name) . "\"";
|
1194 |
}
|
1195 |
|
1196 |
$user_avatar = get_avatar($user->user_email, "50");
|
1213 |
$user_out .= " " . __("logged out", 'simple-history') . " ";
|
1214 |
} else {
|
1215 |
*/
|
1216 |
+
$user_out .= " " . esc_html($action);
|
1217 |
//}
|
1218 |
|
1219 |
$user_out = ucfirst($user_out);
|
1222 |
} elseif ("comment" == $object_type) {
|
1223 |
|
1224 |
$comment_link = get_edit_comment_link($object_id);
|
1225 |
+
echo esc_html(ucwords($object_type)) . " " . esc_html($object_subtype) . " <a href='$comment_link'><span class='simple-history-title'>" . esc_html($object_name) . "\"</span></a> " . esc_html($action);
|
1226 |
|
1227 |
} else {
|
1228 |
|
1245 |
default:
|
1246 |
$unknown_action = $unknown_action; // dah!
|
1247 |
}
|
1248 |
+
echo esc_html(ucwords($object_type)) . " " . esc_html($object_subtype) . " <span class='simple-history-title'>\"" . esc_html($object_name) . "\"</span> " . esc_html($unknown_action);
|
1249 |
|
1250 |
}
|
1251 |
echo "</div>";
|
1307 |
//$show_more = sprintf(__("Show %s more", 'simple-history'), $show_more);
|
1308 |
$loading = __("Loading...", 'simple-history');
|
1309 |
$no_more_found = __("No more history items found.", 'simple-history');
|
1310 |
+
$view_rss = __("RSS feed", 'simple-history');
|
1311 |
$view_rss_link = simple_history_get_rss_address();
|
1312 |
$str_show = __("Show", 'simple-history');
|
1313 |
echo "</ol>
|
languages/simple-history.pot
CHANGED
@@ -1,144 +1,245 @@
|
|
1 |
-
#
|
2 |
-
# Copyright (C) 2010
|
3 |
# This file is distributed under the same license as the package.
|
4 |
-
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
5 |
-
#
|
6 |
-
#, fuzzy
|
7 |
msgid ""
|
8 |
msgstr ""
|
9 |
"Project-Id-Version: \n"
|
10 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/simple-history\n"
|
11 |
-
"POT-Creation-Date:
|
12 |
-
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
|
13 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
-
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
"MIME-Version: 1.0\n"
|
16 |
-
"Content-Type: text/plain; charset=
|
17 |
"Content-Transfer-Encoding: 8bit\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
-
#: index.php:
|
20 |
-
|
21 |
-
msgid "Simple History for %s"
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: index.php:
|
25 |
-
#, php-format
|
26 |
msgid "WordPress History for %s"
|
27 |
msgstr ""
|
28 |
|
29 |
-
#: index.php:
|
30 |
-
#, php-format
|
31 |
msgid "By %s"
|
32 |
msgstr ""
|
33 |
|
34 |
-
#: index.php:
|
35 |
-
#, php-format
|
36 |
msgid "%d occasions"
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: index.php:
|
40 |
msgid "Wrong RSS secret"
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: index.php:
|
44 |
msgid ""
|
45 |
"Your RSS secret for Simple History RSS feed is wrong. Please see WordPress "
|
46 |
"settings for current link to the RSS feed."
|
47 |
msgstr ""
|
48 |
|
49 |
-
#: index.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
msgid "on the dashboard"
|
51 |
msgstr ""
|
52 |
|
53 |
-
#: index.php:
|
54 |
msgid "as a page under the tools menu"
|
55 |
msgstr ""
|
56 |
|
57 |
-
#: index.php:
|
58 |
msgid "Created new secret RSS adress"
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: index.php:
|
62 |
msgid ""
|
63 |
"This is a secret RSS feed for Simple History. Only share the link with "
|
64 |
"people you trust"
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: index.php:
|
68 |
-
#, php-format
|
69 |
msgid ""
|
70 |
-
"You can <a href='%s'>generate a new address</a>
|
71 |
-
"useful if you think that the address has fallen
|
|
|
72 |
msgstr ""
|
73 |
|
74 |
-
#: index.php:
|
75 |
-
|
76 |
-
msgid "From %1$s on %2$s"
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: index.php:
|
80 |
-
msgid "
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: index.php:
|
84 |
-
msgid "
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: index.php:
|
88 |
-
msgid "
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: index.php:
|
92 |
-
msgid "
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: index.php:
|
96 |
msgid "deleted"
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: index.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
msgid "added"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: index.php:
|
104 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: index.php:
|
108 |
-
msgid "
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: index.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
msgid "+ 1 occasion"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: index.php:
|
116 |
-
#, php-format
|
117 |
msgid "+ %d occasions"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: index.php:
|
121 |
-
|
122 |
-
|
|
|
|
|
|
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: index.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
msgid "Loading..."
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: index.php:
|
130 |
msgid "No more history items found."
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: index.php:
|
134 |
-
msgid "
|
|
|
|
|
|
|
|
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: index.php:
|
138 |
msgid "No history items found."
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: index.php:
|
142 |
msgid ""
|
143 |
"Please note that Simple History only records things that happen after this "
|
144 |
"plugin have been installed."
|
1 |
+
# Copyright (C) 2012
|
|
|
2 |
# This file is distributed under the same license as the package.
|
|
|
|
|
|
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: \n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/simple-history\n"
|
7 |
+
"POT-Creation-Date: 2012-09-11 06:08:27+00:00\n"
|
|
|
|
|
|
|
8 |
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2012-MO-DA HO:MI+ZONE\n"
|
12 |
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
+
|
15 |
+
#: index.php:52 index.php:144 index.php:698
|
16 |
+
msgid "History"
|
17 |
+
msgstr ""
|
18 |
+
|
19 |
+
#: index.php:127
|
20 |
+
msgid "upgraded it's database"
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#: index.php:127 index.php:369 index.php:373 index.php:757
|
24 |
+
msgid "Plugin"
|
25 |
+
msgstr ""
|
26 |
|
27 |
+
#: index.php:182 index.php:225
|
28 |
+
msgid "History for %s"
|
|
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: index.php:183 index.php:226
|
|
|
32 |
msgid "WordPress History for %s"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: index.php:195 index.php:1257
|
|
|
36 |
msgid "By %s"
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: index.php:199
|
|
|
40 |
msgid "%d occasions"
|
41 |
msgstr ""
|
42 |
|
43 |
+
#: index.php:230
|
44 |
msgid "Wrong RSS secret"
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: index.php:231
|
48 |
msgid ""
|
49 |
"Your RSS secret for Simple History RSS feed is wrong. Please see WordPress "
|
50 |
"settings for current link to the RSS feed."
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: index.php:248 index.php:791
|
54 |
+
msgid "All types"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: index.php:251 index.php:857
|
58 |
+
msgid "By all users"
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: index.php:306
|
62 |
msgid "on the dashboard"
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: index.php:311
|
66 |
msgid "as a page under the tools menu"
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: index.php:348
|
70 |
msgid "Created new secret RSS adress"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: index.php:359
|
74 |
msgid ""
|
75 |
"This is a secret RSS feed for Simple History. Only share the link with "
|
76 |
"people you trust"
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: index.php:362
|
|
|
80 |
msgid ""
|
81 |
+
"You can <a href='%s#simple-history-settings-page'>generate a new address</a> "
|
82 |
+
"for the RSS feed. This is useful if you think that the address has fallen "
|
83 |
+
"into the wrong hands."
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: index.php:369 index.php:757 index.php:1234
|
87 |
+
msgid "activated"
|
|
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: index.php:373 index.php:1237
|
91 |
+
msgid "deactivated"
|
92 |
msgstr ""
|
93 |
|
94 |
+
#: index.php:385 index.php:401 index.php:433
|
95 |
+
msgid "From %1$s on %2$s"
|
96 |
msgstr ""
|
97 |
|
98 |
+
#: index.php:388
|
99 |
+
msgid "edited"
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: index.php:388 index.php:404 index.php:436
|
103 |
+
msgid "Comment"
|
104 |
msgstr ""
|
105 |
|
106 |
+
#: index.php:404 index.php:518 index.php:539 index.php:568 index.php:610
|
107 |
msgid "deleted"
|
108 |
msgstr ""
|
109 |
|
110 |
+
#: index.php:420
|
111 |
+
msgid "approved"
|
112 |
+
msgstr ""
|
113 |
+
|
114 |
+
#: index.php:422
|
115 |
+
msgid "unapproved"
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: index.php:424
|
119 |
+
msgid "marked as spam"
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: index.php:426
|
123 |
+
msgid "trashed"
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
#: index.php:428
|
127 |
+
msgid "untrashed"
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
#: index.php:506
|
131 |
msgid "added"
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: index.php:506 index.php:513 index.php:518
|
135 |
+
msgid "Attachment"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: index.php:513 index.php:525 index.php:613
|
139 |
+
msgid "updated"
|
140 |
+
msgstr ""
|
141 |
+
|
142 |
+
#: index.php:525 index.php:539 index.php:553 index.php:560
|
143 |
+
msgid "User"
|
144 |
+
msgstr ""
|
145 |
+
|
146 |
+
#: index.php:553
|
147 |
+
msgid "logged_in"
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
#: index.php:560
|
151 |
+
msgid "logged_out"
|
152 |
+
msgstr ""
|
153 |
+
|
154 |
+
#: index.php:568
|
155 |
+
msgid "Post"
|
156 |
+
msgstr ""
|
157 |
+
|
158 |
+
#: index.php:605
|
159 |
+
msgid "created"
|
160 |
msgstr ""
|
161 |
|
162 |
+
#: index.php:876
|
163 |
+
msgid "Search"
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: index.php:1092
|
167 |
+
msgid "Unknown or deleted user"
|
168 |
+
msgstr ""
|
169 |
+
|
170 |
+
#: index.php:1138
|
171 |
+
msgid "attachment"
|
172 |
+
msgstr ""
|
173 |
+
|
174 |
+
#: index.php:1170
|
175 |
+
msgid "user"
|
176 |
+
msgstr ""
|
177 |
+
|
178 |
+
#: index.php:1240
|
179 |
+
msgid "enabled"
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: index.php:1243
|
183 |
+
msgid "disabled"
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
#: index.php:1259
|
187 |
+
msgid "%s ago"
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: index.php:1261
|
191 |
+
msgid "%s at %s"
|
192 |
+
msgstr ""
|
193 |
+
|
194 |
+
#: index.php:1268
|
195 |
msgid "+ 1 occasion"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: index.php:1271
|
|
|
199 |
msgid "+ %d occasions"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: index.php:1279
|
203 |
+
msgid "%s ago (%s at %s)"
|
204 |
+
msgstr ""
|
205 |
+
|
206 |
+
#: index.php:1302
|
207 |
+
msgid "Show 5 more"
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: index.php:1303
|
211 |
+
msgid "Show 15 more"
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: index.php:1304
|
215 |
+
msgid "Show 50 more"
|
216 |
+
msgstr ""
|
217 |
+
|
218 |
+
#: index.php:1305
|
219 |
+
msgid "Show 100 more"
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
#: index.php:1308
|
223 |
msgid "Loading..."
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: index.php:1309
|
227 |
msgid "No more history items found."
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: index.php:1310
|
231 |
+
msgid "RSS feed"
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
#: index.php:1312
|
235 |
+
msgid "Show"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: index.php:1326
|
239 |
msgid "No history items found."
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: index.php:1327
|
243 |
msgid ""
|
244 |
"Please note that Simple History only records things that happen after this "
|
245 |
"plugin have been installed."
|
readme.txt
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
Contributors: eskapism, MarsApril
|
3 |
Donate link: http://eskapism.se/sida/donate/
|
4 |
Tags: history, log, changes, changelog, audit, trail, pages, attachments, users, cms, dashboard, admin
|
5 |
-
Requires at least:
|
6 |
-
Tested up to: 3.
|
7 |
-
Stable tag: 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 |
|
@@ -85,6 +85,13 @@ to only use the secret RSS feed to keep track of the changes on you web site/Wor
|
|
85 |
|
86 |
== Changelog ==
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
= 0.5 =
|
89 |
- Added author to RSS
|
90 |
- Added german translation, thanks http://www.fuerther-freiheit.info/
|
2 |
Contributors: eskapism, MarsApril
|
3 |
Donate link: http://eskapism.se/sida/donate/
|
4 |
Tags: history, log, changes, changelog, audit, trail, pages, attachments, users, cms, dashboard, admin
|
5 |
+
Requires at least: 3.0
|
6 |
+
Tested up to: 3.4.2
|
7 |
+
Stable tag: 0.6
|
8 |
|
9 |
View changes made by users within WordPress. See who created a page, uploaded an attachment or approved an comment, and more.
|
10 |
|
85 |
|
86 |
== Changelog ==
|
87 |
|
88 |
+
= 0.6 =
|
89 |
+
- Changed widget name to just "History" instead of "Simple History". Keep it simple. Previous name implied there also was an "Advanced History" somewhere.
|
90 |
+
- Made the widget look a bit WordPress-ish by borrwing some of the looks from the comments widget.
|
91 |
+
- Fix for database that didn't use UTF-8 (sorry international users!)
|
92 |
+
- Some security fixes
|
93 |
+
- Updated POT-file
|
94 |
+
|
95 |
= 0.5 =
|
96 |
- Added author to RSS
|
97 |
- Added german translation, thanks http://www.fuerther-freiheit.info/
|
styles.css
CHANGED
@@ -14,18 +14,18 @@
|
|
14 |
|
15 |
ol.simple-history {
|
16 |
list-style-type: none;
|
17 |
-
margin: 0;
|
18 |
padding: 0;
|
19 |
}
|
20 |
-
ol.simple-history li {
|
21 |
-
margin
|
22 |
-
|
23 |
-
/*
|
24 |
-
xpadding-bottom: 1em;
|
25 |
-
xborder-bottom: 1px solid #eee;
|
26 |
-
*/
|
27 |
position: relative;
|
28 |
line-height: 1.5;
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
ol.simple-history .first {
|
31 |
font-size: 13px;
|
14 |
|
15 |
ol.simple-history {
|
16 |
list-style-type: none;
|
17 |
+
margin: 0 -10px;
|
18 |
padding: 0;
|
19 |
}
|
20 |
+
ol.simple-history > li {
|
21 |
+
margin: 0;
|
22 |
+
padding: 10px 10px;
|
|
|
|
|
|
|
|
|
23 |
position: relative;
|
24 |
line-height: 1.5;
|
25 |
+
border-top: 1px solid #DFDFDF;
|
26 |
+
}
|
27 |
+
ol.simple-history > li:nth-child(odd) {
|
28 |
+
background-color: #FCFCFC;
|
29 |
}
|
30 |
ol.simple-history .first {
|
31 |
font-size: 13px;
|