Simple History - Version 1.2

Version Description

  • Fixed: Plugin name is included when plugins is activated or deactivated. Previosuly only folder name and name of php file was included.
  • Added: Attachment thumbnails are now visible if history item is an attachment. Also includes some metadata.
  • Changed: Filters now use dropdowns for type and user. When a site had lots of users and lots of post types, the filter section could be way to big.
  • Added keyboard navigation. Use right and left arrow when you are on Simple History's own page to navigation between next and previous history page.
  • Added loading indicator, so you know it's grabbing your history, even if it's taking a while
  • Misc JS and CSS fixes
  • Arabic translation updated
  • POT-file updated
Download this release

Release Info

Developer eskapism
Plugin Icon 128x128 Simple History
Version 1.2
Comparing to
See all releases

Code changes from version 1.1 to 1.2

README.md ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+
2
+ WordPress Simple History
3
+ ========================
4
+
5
+ Think of it as **Syslog for WordPress**
6
+ – a plugin for viewing changes made in WordPress the admin by the users of the system.
7
+
8
+ Download from WordPress.org:
9
+ http://wordpress.org/extend/plugins/simple-history/
10
+
img/ui-icons_888888_256x240.png ADDED
Binary file
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: 1.1
7
  Author: Pär Thernström
8
  Author URI: http://eskapism.se/
9
  License: GPL2
@@ -27,10 +27,8 @@ License: GPL2
27
 
28
  load_plugin_textdomain('simple-history', false, "/simple-history/languages");
29
 
30
- define( "SIMPLE_HISTORY_VERSION", "1.1");
31
  define( "SIMPLE_HISTORY_NAME", "Simple History");
32
- // define( "SIMPLE_HISTORY_URL", WP_PLUGIN_URL . '/simple-history/'); // http://playground.ep/wordpress/wp-content/plugins/simple-history/
33
- // define( "SIMPLE_HISTORY_URL", plugins_url() . '/simple-history/'); // http://playground.ep/wordpress/wp-content/plugins/simple-history/
34
 
35
  // Find the plugin directory URL
36
  $aa = __FILE__;
@@ -43,7 +41,8 @@ if ( isset( $network_plugin ) ) {
43
  if ( isset( $plugin ) ) {
44
  $aa = $plugin;
45
  }
46
- $plugin_dir_url = plugin_dir_url(basename($aa)) . 'simple-history/';
 
47
  define("SIMPLE_HISTORY_URL", $plugin_dir_url);
48
 
49
  /**
@@ -86,6 +85,7 @@ define("SIMPLE_HISTORY_URL", $plugin_dir_url);
86
  * There is probably a better way to do this, but this should work anyway
87
  */
88
  function add_types_for_translation() {
 
89
  $dummy = __("approved", "simple-history");
90
  $dummy = __("unapproved", "simple-history");
91
  $dummy = __("marked as spam", "simple-history");
@@ -105,6 +105,7 @@ define("SIMPLE_HISTORY_URL", $plugin_dir_url);
105
  $dummy = __("added", "simple-history");
106
  $dummy = __("modified", "simple-history");
107
  $dummy = __("upgraded it\'s database", "simple-history");
 
108
  }
109
 
110
  function plugin_action_links($actions, $b, $c, $d) {
@@ -204,16 +205,19 @@ define("SIMPLE_HISTORY_URL", $plugin_dir_url);
204
  global $wpdb;
205
 
206
  $db_version = get_option("simple_history_db_version");
 
207
  // $db_version = FALSE;
208
 
209
- if ($db_version === FALSE) {
 
210
  // db fix has never been run
211
  // user is on version 0.4 or earlier
212
  // = database is not using utf-8
213
  // so fix that
214
- $table_name = $wpdb->prefix . "simple_history";
215
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
216
  #echo "begin upgrading database";
 
217
  // We change the varchar size to add one num just to force update of encoding. dbdelta didn't see it otherwise.
218
  $sql = "CREATE TABLE " . $table_name . " (
219
  id int(10) NOT NULL AUTO_INCREMENT,
@@ -240,8 +244,16 @@ define("SIMPLE_HISTORY_URL", $plugin_dir_url);
240
  #echo "done upgrading database";
241
 
242
  update_option("simple_history_db_version", 1);
243
- } else {
244
- // echo "db up to date";
 
 
 
 
 
 
 
 
245
  }
246
 
247
  }
@@ -329,7 +341,7 @@ define("SIMPLE_HISTORY_URL", $plugin_dir_url);
329
  echo '<?xml version="1.0"?>';
330
  $self_link = simple_history_get_rss_address();
331
 
332
- if ($rss_secret_option == $rss_secret_get) {
333
  ?>
334
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
335
  <channel>
@@ -338,6 +350,16 @@ define("SIMPLE_HISTORY_URL", $plugin_dir_url);
338
  <link><?php echo get_bloginfo("url") ?></link>
339
  <atom:link href="<?php echo $self_link; ?>" rel="self" type="application/atom+xml" />
340
  <?php
 
 
 
 
 
 
 
 
 
 
341
  $arr_items = simple_history_get_items_array("items=10");
342
  foreach ($arr_items as $one_item) {
343
  $object_type = ucwords($one_item->object_type);
@@ -399,6 +421,9 @@ define("SIMPLE_HISTORY_URL", $plugin_dir_url);
399
  exit;
400
  } // rss
401
 
 
 
 
402
  function ajax() {
403
 
404
  global $simple_history;
@@ -406,8 +431,15 @@ define("SIMPLE_HISTORY_URL", $plugin_dir_url);
406
  $type = isset($_POST["type"]) ? $_POST["type"] : "";
407
  $subtype = isset($_POST["subtype"]) ? $_POST["subtype"] : "";
408
 
409
- $user = $_POST["user"];
410
- if ($user == __( "By all users", 'simple-history' )) { $user = ""; }
 
 
 
 
 
 
 
411
 
412
  // page to show. 1 = first page.
413
  $page = 0;
@@ -616,13 +648,41 @@ function simple_history_settings_field_rss() {
616
 
617
  // @todo: move all add-related stuff to own file? there are so many of them.. kinda confusing, ey.
618
 
 
 
 
 
619
  function simple_history_activated_plugin($plugin_name) {
620
- $plugin_name = urlencode($plugin_name);
 
 
 
 
 
 
 
 
 
621
  simple_history_add("action=activated&object_type=plugin&object_name=$plugin_name");
622
  }
 
 
 
 
 
623
  function simple_history_deactivated_plugin($plugin_name) {
624
- $plugin_name = urlencode($plugin_name);
 
 
 
 
 
 
 
 
 
625
  simple_history_add("action=deactivated&object_type=plugin&object_name=$plugin_name");
 
626
  }
627
 
628
  function simple_history_edit_comment($comment_id) {
@@ -942,9 +1002,11 @@ function simple_history_purge_db() {
942
  // widget on dashboard
943
  function simple_history_dashboard() {
944
  simple_history_purge_db();
 
945
  simple_history_print_nav();
946
  echo simple_history_print_history();
947
  echo simple_history_get_pagination();
 
948
  }
949
 
950
  // own page under dashboard
@@ -956,7 +1018,7 @@ function simple_history_management_page() {
956
 
957
  ?>
958
 
959
- <div class="wrap">
960
  <h2><?php echo __("History", 'simple-history') ?></h2>
961
  <?php
962
  simple_history_print_nav(array("from_page=1"));
@@ -1028,6 +1090,9 @@ function simple_history_install() {
1028
 
1029
  }
1030
 
 
 
 
1031
  function simple_history_print_nav() {
1032
 
1033
  global $wpdb;
@@ -1039,27 +1104,63 @@ function simple_history_print_nav() {
1039
  } else {
1040
  $simple_history_type_to_show = "";
1041
  }
1042
- $sql = "SELECT DISTINCT object_type, object_subtype FROM {$tableprefix}simple_history ORDER BY object_type, object_subtype";
 
 
 
 
 
 
 
 
 
1043
  $arr_types = $wpdb->get_results($sql);
1044
 
1045
- $str_types = "";
1046
- $str_types .= "<ul class='simple-history-filter simple-history-filter-type'>";
1047
  $css = "";
1048
  if (empty($simple_history_type_to_show)) {
1049
  $css = "class='selected'";
1050
  }
1051
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1052
  $link = esc_html(add_query_arg("simple_history_type_to_show", ""));
1053
  $str_types_desc = __("All types", 'simple-history');
1054
- $str_types .= "<li $css><a data-simple-history-filter-type='' href='$link'>" . esc_html($str_types_desc) . "</a> | </li>";
 
 
 
 
 
 
 
1055
  foreach ($arr_types as $one_type) {
 
1056
  $css = "";
 
1057
  if ($one_type->object_subtype && $simple_history_type_to_show == ($one_type->object_type."/".$one_type->object_subtype)) {
1058
  $css = "class='selected'";
 
1059
  } elseif (!$one_type->object_subtype && $simple_history_type_to_show == $one_type->object_type) {
1060
  $css = "class='selected'";
 
1061
  }
 
 
1062
  $str_types .= sprintf('<li %1$s data-simple-history-filter-type="%2$s" data-simple-history-filter-subtype="%3$s" >', $css, $one_type->object_type, $one_type->object_subtype);
 
 
1063
  $arg = "";
1064
  if ($one_type->object_subtype) {
1065
  $arg = $one_type->object_type."/".$one_type->object_subtype;
@@ -1068,40 +1169,84 @@ function simple_history_print_nav() {
1068
  }
1069
  $link = esc_html(add_query_arg("simple_history_type_to_show", $arg));
1070
  $str_types .= "<a href='$link'>";
 
 
 
 
 
 
 
 
 
1071
 
1072
  // Some built in types we translate with built in translation, the others we use simple history for
 
1073
  $arr_built_in_types_with_translation = array("page", "post");
1074
  $object_type_translated = "";
1075
  $object_subtype_translated = "";
1076
- if ( in_array($one_type->object_type, $arr_built_in_types_with_translation) ) {
1077
- $object_type_translated = esc_html__(ucfirst($one_type->object_type));
1078
- } else {
1079
- $object_type_translated = esc_html__(ucfirst($one_type->object_type), "simple-history");
 
 
 
 
 
 
 
 
 
 
 
 
1080
  }
1081
- if (in_array($one_type->object_subtype, $arr_built_in_types_with_translation) ) {
1082
- $object_subtype_translated = esc_html__(ucfirst($one_type->object_subtype));
1083
- } else {
1084
- $object_subtype_translated = esc_html__(ucfirst($one_type->object_subtype), "simple-history");
 
 
 
1085
  }
1086
 
 
1087
  $str_types .= $object_type_translated;
 
 
 
1088
  if ($object_subtype_translated && $object_subtype_translated != $object_type_translated) {
1089
  $str_types .= "/". $object_subtype_translated;
 
1090
  }
 
 
 
 
1091
 
 
1092
  $str_types .= "</a> | ";
1093
  $str_types .= "</li>";
 
 
 
1094
 
1095
  // debug
1096
  #$str_types .= " type: " . $one_type->object_type;
1097
  #$str_types .= " type: " . ucfirst($one_type->object_type);
1098
  #$str_types .= " subtype: " . $one_type->object_subtype. " ";
1099
 
1100
- }
 
1101
  $str_types .= "</ul>";
1102
  $str_types = str_replace("| </li></ul>", "</li></ul>", $str_types);
1103
- if (!empty($arr_types)) {
1104
- echo $str_types;
 
 
 
 
 
1105
  }
1106
 
1107
  // fetch all users that are in the log
@@ -1110,7 +1255,9 @@ function simple_history_print_nav() {
1110
  foreach ($arr_users_regular as $one_user) {
1111
  $arr_users[$one_user->user_id] = array("user_id" => $one_user->user_id);
1112
  }
1113
- if (!empty($arr_users)) {
 
 
1114
  foreach ($arr_users as $user_id => $one_user) {
1115
  $user = get_user_by("id", $user_id);
1116
  if ($user) {
@@ -1124,41 +1271,87 @@ function simple_history_print_nav() {
1124
  }
1125
  }
1126
  }
 
1127
  }
1128
 
1129
  if (isset($arr_users) && $arr_users) {
 
1130
  if (isset($_GET["simple_history_user_to_show"])) {
1131
  $simple_history_user_to_show = $_GET["simple_history_user_to_show"];
1132
  } else {
1133
  $simple_history_user_to_show = "";
1134
  }
 
1135
  $str_users = "";
1136
  $str_users .= "<ul class='simple-history-filter simple-history-filter-user'>";
 
 
 
 
1137
  $css = "";
 
1138
  if (empty($simple_history_user_to_show)) {
1139
  $css = " class='selected' ";
 
1140
  }
 
 
1141
  $link = esc_html(add_query_arg("simple_history_user_to_show", ""));
1142
  $str_users .= "<li $css><a href='$link'>" . __("By all users", 'simple-history') ."</a> | </li>";
 
 
 
 
 
 
 
 
 
1143
  foreach ($arr_users as $user_id => $user_info) {
1144
 
1145
  $user = new WP_User($user_id);
1146
  if ( ! $user->exists() ) continue;
1147
 
1148
  $link = esc_html(add_query_arg("simple_history_user_to_show", $user_id));
 
1149
  $css = "";
 
 
1150
  if ($user_id == $simple_history_user_to_show) {
1151
  $css = " class='selected' ";
 
1152
  }
 
 
 
 
 
1153
  $str_users .= "<li $css>";
1154
  $str_users .= "<a href='$link'>";
1155
- $str_users .= $user_info["user_nicename"];
1156
  $str_users .= "</a> | ";
1157
  $str_users .= "</li>";
 
 
 
 
 
 
 
 
 
1158
  }
 
1159
  $str_users .= "</ul>";
1160
  $str_users = str_replace("| </li></ul>", "</li></ul>", $str_users);
1161
- echo $str_users;
 
 
 
 
 
 
 
1162
  }
1163
 
1164
  // search
@@ -1187,11 +1380,11 @@ function simple_history_get_pagination() {
1187
  <div class="tablenav-pages">
1188
  <span class="displaying-num">%1$s</span>
1189
  <span class="pagination-links">
1190
- <a class="first-page disabled" title="%5$s" href="#">«</a>
1191
- <a class="prev-page disabled" title="%6$s" href="#">‹</a>
1192
  <span class="paging-input"><input class="current-page" title="%7$s" type="text" name="paged" value="%2$d" size="2"> %8$s <span class="total-pages">%3$d</span></span>
1193
- <a class="next-page %4$s" title="%9$s" href="#">›</a>
1194
- <a class="last-page %4$s" title="%10$s" href="#">»</a>
1195
  </span>
1196
  </div>
1197
  </div>
@@ -1417,6 +1610,7 @@ function simple_history_print_history($args = null) {
1417
  $action = $one_row->action;
1418
  $occasions = $one_row->occasions;
1419
  $num_occasions = sizeof($occasions);
 
1420
 
1421
  $css = "";
1422
  if ("attachment" == $object_type_lcase) {
@@ -1475,7 +1669,15 @@ function simple_history_print_history($args = null) {
1475
  if ("post" == $object_type_lcase) {
1476
 
1477
  $post_out = "";
1478
- $post_out .= esc_html__(ucfirst($object_subtype));
 
 
 
 
 
 
 
 
1479
  $post = get_post($object_id);
1480
 
1481
  if (null == $post) {
@@ -1510,24 +1712,72 @@ function simple_history_print_history($args = null) {
1510
  $post = get_post($object_id);
1511
 
1512
  if ($post) {
 
 
 
1513
  $title = esc_html(get_the_title($post->ID));
1514
  $edit_link = get_edit_post_link($object_id, 'display');
1515
- $attachment_image_src = wp_get_attachment_image_src($object_id, array(50,50), true);
1516
- $attachment_image = "";
 
 
 
 
 
 
1517
  if ($attachment_image_src) {
1518
- $attachment_image = "<a class='simple-history-attachment-thumbnail' href='$edit_link'><img src='{$attachment_image_src[0]}' alt='Attachment icon' width='{$attachment_image_src[1]}' height='{$attachment_image_src[2]}' /></a>";
1519
  }
1520
- $attachment_out .= $attachment_image;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1521
  $attachment_out .= " <a href='$edit_link'>";
1522
  $attachment_out .= "<span class='simple-history-title'>{$title}</span>";
1523
  $attachment_out .= "</a>";
1524
 
1525
  } else {
 
 
1526
  if ($object_name) {
1527
  $attachment_out .= "<span class='simple-history-title'>\"" . esc_html($object_name) . "\"</span>";
1528
  } else {
1529
  $attachment_out .= " <span class='simple-history-title'>&lt;deleted&gt;</span>";
1530
  }
 
1531
  }
1532
 
1533
  $attachment_out .= " " . esc_html__($action, "simple-history") . " ";
@@ -1564,12 +1814,14 @@ function simple_history_print_history($args = null) {
1564
  $user_out .= " \"" . esc_html($object_name) . "\"";
1565
  }
1566
 
 
1567
  $user_avatar = get_avatar($user->user_email, "50");
1568
  if ($user_link) {
1569
  $user_out .= "<a class='simple-history-attachment-thumbnail' href='$user_link'>$user_avatar</a>";
1570
  } else {
1571
  $user_out .= "<span class='simple-history-attachment-thumbnail' href='$user_link'>$user_avatar</span>";
1572
  }
 
1573
 
1574
  $user_out .= " " . esc_html__($action, "simple-history");
1575
 
@@ -1607,16 +1859,32 @@ function simple_history_print_history($args = null) {
1607
  }
1608
  $output .= "</div>";
1609
 
 
1610
  $output .= "<div class='second'>";
1611
- // when
1612
  $date_i18n_date = date_i18n(get_option('date_format'), strtotime($one_row->date), $gmt=false);
1613
  $date_i18n_time = date_i18n(get_option('time_format'), strtotime($one_row->date), $gmt=false);
1614
  $now = strtotime(current_time("mysql"));
1615
  $diff_str = sprintf( __('<span class="when">%1$s ago</span> by %2$s', "simple-history"), human_time_diff(strtotime($one_row->date), $now), $who );
1616
  $output .= $diff_str;
1617
  $output .= "<span class='when_detail'>".sprintf(__('%s at %s', 'simple-history'), $date_i18n_date, $date_i18n_time)."</span>";
 
1618
  $output .= "</div>";
1619
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1620
  // occasions
1621
  if ($num_occasions > 0) {
1622
  $output .= "<div class='third'>";
@@ -1651,7 +1919,7 @@ function simple_history_print_history($args = null) {
1651
  $output .= "noMoreItems";
1652
  }
1653
 
1654
- if (!$args["is_ajax"]) {
1655
 
1656
  // if not ajax, print the divs and stuff we need
1657
  $show_more = "<select>";
@@ -1661,23 +1929,27 @@ function simple_history_print_history($args = null) {
1661
  $show_more .= sprintf('<option value=100 %2$s>%1$s</option>', __("Show 100 more", 'simple-history'), ($args["items"] == 100 ? " selected " : "") );
1662
  $show_more .= "</select>";
1663
 
1664
- $loading = __("Loading...", 'simple-history');
1665
- $loading = "<img src='".site_url("wp-admin/images/loading.gif")."' width=16 height=16>" . $loading;
1666
  $no_found = __("No matching items found.", 'simple-history');
1667
  $view_rss = __("RSS feed", 'simple-history');
1668
  $view_rss_link = simple_history_get_rss_address();
1669
  $str_show = __("Show", 'simple-history');
1670
- $output .= "</ol>
1671
- </div>
1672
- <!--
1673
- <p class='simple-history-load-more'>$show_more<input type='button' value='$str_show' class='button' /></p>
1674
- <p class='hidden simple-history-load-more-loading'>$loading</p>
1675
- -->
1676
- <p class='hidden simple-history-no-more-items'>$no_found</p>
1677
-
1678
- <p class='simple-history-rss-feed-dashboard'><a title='$view_rss' href='$view_rss_link'>$view_rss</a></p>
1679
- <p class='simple-history-rss-feed-page'><a title='$view_rss' href='$view_rss_link'><span></span>$view_rss</a></p>
 
 
 
 
 
1680
  ";
 
1681
  }
1682
 
1683
  } else {
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: 1.2
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", "1.2");
31
  define( "SIMPLE_HISTORY_NAME", "Simple History");
 
 
32
 
33
  // Find the plugin directory URL
34
  $aa = __FILE__;
41
  if ( isset( $plugin ) ) {
42
  $aa = $plugin;
43
  }
44
+
45
+ $plugin_dir_url = plugin_dir_url(basename($aa)) . basename(dirname(__FILE__)) . '/';
46
  define("SIMPLE_HISTORY_URL", $plugin_dir_url);
47
 
48
  /**
85
  * There is probably a better way to do this, but this should work anyway
86
  */
87
  function add_types_for_translation() {
88
+ $dummy = __("added", "simple-history");
89
  $dummy = __("approved", "simple-history");
90
  $dummy = __("unapproved", "simple-history");
91
  $dummy = __("marked as spam", "simple-history");
105
  $dummy = __("added", "simple-history");
106
  $dummy = __("modified", "simple-history");
107
  $dummy = __("upgraded it\'s database", "simple-history");
108
+ $dummy = __("plugin", "simple-history");
109
  }
110
 
111
  function plugin_action_links($actions, $b, $c, $d) {
205
  global $wpdb;
206
 
207
  $db_version = get_option("simple_history_db_version");
208
+ $table_name = $wpdb->prefix . "simple_history";
209
  // $db_version = FALSE;
210
 
211
+ if ( false === $db_version ) {
212
+
213
  // db fix has never been run
214
  // user is on version 0.4 or earlier
215
  // = database is not using utf-8
216
  // so fix that
217
+
218
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
219
  #echo "begin upgrading database";
220
+
221
  // We change the varchar size to add one num just to force update of encoding. dbdelta didn't see it otherwise.
222
  $sql = "CREATE TABLE " . $table_name . " (
223
  id int(10) NOT NULL AUTO_INCREMENT,
244
  #echo "done upgrading database";
245
 
246
  update_option("simple_history_db_version", 1);
247
+
248
+ } // done pre db ver 1 things
249
+
250
+ // DB version is 1, upgrade to 2
251
+ if ( 1 == intval($db_version) ) {
252
+
253
+ // Add column for free text
254
+ // require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
255
+ // update_option("simple_history_db_version", 2);
256
+
257
  }
258
 
259
  }
341
  echo '<?xml version="1.0"?>';
342
  $self_link = simple_history_get_rss_address();
343
 
344
+ if ($rss_secret_option === $rss_secret_get) {
345
  ?>
346
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
347
  <channel>
350
  <link><?php echo get_bloginfo("url") ?></link>
351
  <atom:link href="<?php echo $self_link; ?>" rel="self" type="application/atom+xml" />
352
  <?php
353
+
354
+ // Add filters here
355
+ /*
356
+ "page" => 0,
357
+ "items" => $simple_history->get_pager_size(),
358
+ "filter_type" => "",
359
+ "filter_user" => "",
360
+ "search" => "",
361
+ "num_added" => 0
362
+ */
363
  $arr_items = simple_history_get_items_array("items=10");
364
  foreach ($arr_items as $one_item) {
365
  $object_type = ucwords($one_item->object_type);
421
  exit;
422
  } // rss
423
 
424
+ /**
425
+ * Get history from ajax
426
+ */
427
  function ajax() {
428
 
429
  global $simple_history;
431
  $type = isset($_POST["type"]) ? $_POST["type"] : "";
432
  $subtype = isset($_POST["subtype"]) ? $_POST["subtype"] : "";
433
 
434
+ // We get users by username, so get username from id
435
+ $user_id = (int) $_POST["user_id"];
436
+ if (empty($user_id)) {
437
+ $user = "";
438
+ } else {
439
+ $user_obj = new WP_User($user_id);
440
+ if ( ! $user_obj->exists() ) exit;
441
+ $user = $user_obj->user_login;
442
+ };
443
 
444
  // page to show. 1 = first page.
445
  $page = 0;
648
 
649
  // @todo: move all add-related stuff to own file? there are so many of them.. kinda confusing, ey.
650
 
651
+ /**
652
+ * Plugin is activated
653
+ * plugin_name is like admin-menu-tree-page-view/index.php
654
+ */
655
  function simple_history_activated_plugin($plugin_name) {
656
+
657
+ // Fetch info about the plugin
658
+ $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_name );
659
+
660
+ if ( is_array( $plugin_data ) && ! empty( $plugin_data["Name"] ) ) {
661
+ $plugin_name = urlencode( $plugin_data["Name"] );
662
+ } else {
663
+ $plugin_name = urlencode($plugin_name);
664
+ }
665
+
666
  simple_history_add("action=activated&object_type=plugin&object_name=$plugin_name");
667
  }
668
+
669
+ /**
670
+ * Plugin is deactivated
671
+ * plugin_name is like admin-menu-tree-page-view/index.php
672
+ */
673
  function simple_history_deactivated_plugin($plugin_name) {
674
+
675
+ // Fetch info about the plugin
676
+ $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_name );
677
+
678
+ if ( is_array( $plugin_data ) && ! empty( $plugin_data["Name"] ) ) {
679
+ $plugin_name = urlencode( $plugin_data["Name"] );
680
+ } else {
681
+ $plugin_name = urlencode($plugin_name);
682
+ }
683
+
684
  simple_history_add("action=deactivated&object_type=plugin&object_name=$plugin_name");
685
+
686
  }
687
 
688
  function simple_history_edit_comment($comment_id) {
1002
  // widget on dashboard
1003
  function simple_history_dashboard() {
1004
  simple_history_purge_db();
1005
+ echo '<div class="wrap simple-history-wrap">';
1006
  simple_history_print_nav();
1007
  echo simple_history_print_history();
1008
  echo simple_history_get_pagination();
1009
+ echo '</div>';
1010
  }
1011
 
1012
  // own page under dashboard
1018
 
1019
  ?>
1020
 
1021
+ <div class="wrap simple-history-wrap">
1022
  <h2><?php echo __("History", 'simple-history') ?></h2>
1023
  <?php
1024
  simple_history_print_nav(array("from_page=1"));
1090
 
1091
  }
1092
 
1093
+ /**
1094
+ * Output navigation at top with filters for type, users, and free text search input
1095
+ */
1096
  function simple_history_print_nav() {
1097
 
1098
  global $wpdb;
1104
  } else {
1105
  $simple_history_type_to_show = "";
1106
  }
1107
+
1108
+ // Get all object types and object subtypes
1109
+ // order by the number of times they occur
1110
+ $sql = "SELECT
1111
+ count(object_type) AS object_type_count,
1112
+ object_type, object_subtype
1113
+ FROM {$tableprefix}simple_history
1114
+ GROUP BY object_type, object_subtype
1115
+ ORDER BY object_type_count DESC, object_type, object_subtype
1116
+ ";
1117
  $arr_types = $wpdb->get_results($sql);
1118
 
 
 
1119
  $css = "";
1120
  if (empty($simple_history_type_to_show)) {
1121
  $css = "class='selected'";
1122
  }
1123
 
1124
+ // Begin list
1125
+ $str_types = "";
1126
+ $str_types .= "<ul class='simple-history-filter simple-history-filter-type'>";
1127
+
1128
+ // Begin select
1129
+ $str_types_select = "";
1130
+ $str_types_select .= "<select name='' class='simple-history-filter simple-history-filter-type'>";
1131
+
1132
+ $total_object_num_count = 0;
1133
+ foreach ( $arr_types as $one_type ) {
1134
+ $total_object_num_count += $one_type->object_type_count;
1135
+ }
1136
+
1137
+ // First filter is "all types"
1138
  $link = esc_html(add_query_arg("simple_history_type_to_show", ""));
1139
  $str_types_desc = __("All types", 'simple-history');
1140
+ $str_types .= "<li $css><a data-simple-history-filter-type='' href='$link'>" . esc_html($str_types_desc) . " <span>($total_object_num_count)</span></a> | </li>";
1141
+
1142
+ $str_types_select .= sprintf('<option data-simple-history-filter-type="" data-simple-history-filter-subtype="" value="%1$s">%2$s (%3$d)</option>', $link, esc_html($str_types_desc), $total_object_num_count );
1143
+
1144
+ // Loop through all types
1145
+ // $one_type->object_type = user | post | attachment | comment | plugin | attachment | post | Reply | Topic | Widget | Wordpress_core
1146
+ // $one_type->object_subtype = page | nav_menu_item | ...
1147
+ #sf_d($arr_types);
1148
  foreach ($arr_types as $one_type) {
1149
+
1150
  $css = "";
1151
+ $option_selected = "";
1152
  if ($one_type->object_subtype && $simple_history_type_to_show == ($one_type->object_type."/".$one_type->object_subtype)) {
1153
  $css = "class='selected'";
1154
+ $option_selected = " selected ";
1155
  } elseif (!$one_type->object_subtype && $simple_history_type_to_show == $one_type->object_type) {
1156
  $css = "class='selected'";
1157
+ $option_selected = " selected ";
1158
  }
1159
+
1160
+ // Begin LI
1161
  $str_types .= sprintf('<li %1$s data-simple-history-filter-type="%2$s" data-simple-history-filter-subtype="%3$s" >', $css, $one_type->object_type, $one_type->object_subtype);
1162
+
1163
+ // Create link to filter this type + subtype
1164
  $arg = "";
1165
  if ($one_type->object_subtype) {
1166
  $arg = $one_type->object_type."/".$one_type->object_subtype;
1169
  }
1170
  $link = esc_html(add_query_arg("simple_history_type_to_show", $arg));
1171
  $str_types .= "<a href='$link'>";
1172
+
1173
+ // Begin option
1174
+ $str_types_select .= sprintf(
1175
+ '<option %1$s data-simple-history-filter-type="%2$s" data-simple-history-filter-subtype="%3$s" value="%4$s">',
1176
+ $option_selected, // 1
1177
+ $one_type->object_type, // 2
1178
+ $one_type->object_subtype, // 3
1179
+ $link // 4
1180
+ );
1181
 
1182
  // Some built in types we translate with built in translation, the others we use simple history for
1183
+ // TODO: use WP-function to get all built in types?
1184
  $arr_built_in_types_with_translation = array("page", "post");
1185
  $object_type_translated = "";
1186
  $object_subtype_translated = "";
1187
+
1188
+ // Get built in post types
1189
+ $arr_built_in_post_types = get_post_types( array("_builtin" => true) );
1190
+
1191
+ $object_type_translated = "";
1192
+ $object_subtype_translated = "";
1193
+ if ( in_array( $one_type->object_type, $arr_built_in_post_types ) ) {
1194
+
1195
+ $object_post_type_object = get_post_type_object( $one_type->object_type );
1196
+ $object_type_translated = $object_post_type_object->labels->singular_name;
1197
+
1198
+ $object_subtype_post_type_object = get_post_type_object( $one_type->object_subtype );
1199
+ if ( ! is_null( $object_subtype_post_type_object ) ) {
1200
+ $object_subtype_translated = $object_subtype_post_type_object->labels->singular_name;;
1201
+ }
1202
+
1203
  }
1204
+
1205
+ if ( empty( $object_type_translated ) ) {
1206
+ $object_type_translated = ucfirst( esc_html__( $one_type->object_type, "simple-history") );
1207
+ }
1208
+
1209
+ if ( empty( $object_subtype_translated ) ) {
1210
+ $object_subtype_translated = ucfirst( esc_html__( $one_type->object_subtype, "simple-history") );
1211
  }
1212
 
1213
+ // Add name of type (post / attachment / user / etc.)
1214
  $str_types .= $object_type_translated;
1215
+ $str_types_select .= $object_type_translated;
1216
+
1217
+ // And subtype, if different from main type
1218
  if ($object_subtype_translated && $object_subtype_translated != $object_type_translated) {
1219
  $str_types .= "/". $object_subtype_translated;
1220
+ $str_types_select .= "/" . $object_subtype_translated;
1221
  }
1222
+
1223
+ // Add object count
1224
+ $str_types .= sprintf(' <span>(%d)</span>', $one_type->object_type_count);
1225
+ $str_types_select .= sprintf(' (%d)', $one_type->object_type_count);
1226
 
1227
+ // Close link and li
1228
  $str_types .= "</a> | ";
1229
  $str_types .= "</li>";
1230
+
1231
+ // Close option
1232
+ $str_types_select .= "\n</option>";
1233
 
1234
  // debug
1235
  #$str_types .= " type: " . $one_type->object_type;
1236
  #$str_types .= " type: " . ucfirst($one_type->object_type);
1237
  #$str_types .= " subtype: " . $one_type->object_subtype. " ";
1238
 
1239
+ } // foreach arr types
1240
+
1241
  $str_types .= "</ul>";
1242
  $str_types = str_replace("| </li></ul>", "</li></ul>", $str_types);
1243
+
1244
+ $str_types_select .= "\n</select>";
1245
+
1246
+ // Output filters
1247
+ if ( ! empty( $arr_types ) ) {
1248
+ // echo $str_types;
1249
+ echo $str_types_select;
1250
  }
1251
 
1252
  // fetch all users that are in the log
1255
  foreach ($arr_users_regular as $one_user) {
1256
  $arr_users[$one_user->user_id] = array("user_id" => $one_user->user_id);
1257
  }
1258
+
1259
+ if ( ! empty( $arr_users ) ) {
1260
+
1261
  foreach ($arr_users as $user_id => $one_user) {
1262
  $user = get_user_by("id", $user_id);
1263
  if ($user) {
1271
  }
1272
  }
1273
  }
1274
+
1275
  }
1276
 
1277
  if (isset($arr_users) && $arr_users) {
1278
+
1279
  if (isset($_GET["simple_history_user_to_show"])) {
1280
  $simple_history_user_to_show = $_GET["simple_history_user_to_show"];
1281
  } else {
1282
  $simple_history_user_to_show = "";
1283
  }
1284
+
1285
  $str_users = "";
1286
  $str_users .= "<ul class='simple-history-filter simple-history-filter-user'>";
1287
+
1288
+ $str_users_select = "";
1289
+ $str_users_select .= "<select name='' class='simple-history-filter simple-history-filter-user'>";
1290
+
1291
  $css = "";
1292
+ $option_selected = "";
1293
  if (empty($simple_history_user_to_show)) {
1294
  $css = " class='selected' ";
1295
+ $option_selected = " selected ";
1296
  }
1297
+
1298
+ // All users
1299
  $link = esc_html(add_query_arg("simple_history_user_to_show", ""));
1300
  $str_users .= "<li $css><a href='$link'>" . __("By all users", 'simple-history') ."</a> | </li>";
1301
+
1302
+ $str_users_select .= sprintf(
1303
+ '<option data-simple-history-filter-user-id="%4$s" value="%3$s" %2$s>%1s</option>',
1304
+ __("By all users", 'simple-history'), // 1
1305
+ $option_selected, // 2
1306
+ $link, // 3
1307
+ "" // 4
1308
+ );
1309
+
1310
  foreach ($arr_users as $user_id => $user_info) {
1311
 
1312
  $user = new WP_User($user_id);
1313
  if ( ! $user->exists() ) continue;
1314
 
1315
  $link = esc_html(add_query_arg("simple_history_user_to_show", $user_id));
1316
+
1317
  $css = "";
1318
+ $option_selected = "";
1319
+
1320
  if ($user_id == $simple_history_user_to_show) {
1321
  $css = " class='selected' ";
1322
+ $option_selected = " selected ";
1323
  }
1324
+
1325
+ // all users must have username and email
1326
+ $str_user_name = sprintf('%1$s (%2$s)', esc_attr($user->user_login), esc_attr($user->user_email));
1327
+ // if ( ! empty( $user_info["first_name"] ) $user_info["last_name"] );
1328
+
1329
  $str_users .= "<li $css>";
1330
  $str_users .= "<a href='$link'>";
1331
+ $str_users .= $str_user_name;
1332
  $str_users .= "</a> | ";
1333
  $str_users .= "</li>";
1334
+
1335
+ $str_users_select .= sprintf(
1336
+ '<option data-simple-history-filter-user-id="%4$s" %2$s value="%1$s">%1$s</option>',
1337
+ $str_user_name, // 1
1338
+ $option_selected, // 2
1339
+ $link, // 3
1340
+ $user_id
1341
+ );
1342
+
1343
  }
1344
+
1345
  $str_users .= "</ul>";
1346
  $str_users = str_replace("| </li></ul>", "</li></ul>", $str_users);
1347
+
1348
+ $str_users_select .= "</select>";
1349
+
1350
+ if ( ! empty($str_users) ) {
1351
+ // echo $str_users;
1352
+ echo $str_users_select;
1353
+ }
1354
+
1355
  }
1356
 
1357
  // search
1380
  <div class="tablenav-pages">
1381
  <span class="displaying-num">%1$s</span>
1382
  <span class="pagination-links">
1383
+ <a class="first-page disabled" title="%5$s" href="#"><span>«</span></a>
1384
+ <a class="prev-page disabled" title="%6$s" href="#"><span>‹</span></a>
1385
  <span class="paging-input"><input class="current-page" title="%7$s" type="text" name="paged" value="%2$d" size="2"> %8$s <span class="total-pages">%3$d</span></span>
1386
+ <a class="next-page %4$s" title="%9$s" href="#"><span>›</span></a>
1387
+ <a class="last-page %4$s" title="%10$s" href="#"><span>»</span></a>
1388
  </span>
1389
  </div>
1390
  </div>
1610
  $action = $one_row->action;
1611
  $occasions = $one_row->occasions;
1612
  $num_occasions = sizeof($occasions);
1613
+ $object_image_out = "";
1614
 
1615
  $css = "";
1616
  if ("attachment" == $object_type_lcase) {
1669
  if ("post" == $object_type_lcase) {
1670
 
1671
  $post_out = "";
1672
+
1673
+ // Get real name for post type (not just the slug for custom post types)
1674
+ $post_type_object = get_post_type_object( $object_subtype );
1675
+ if ( is_null($post_type_object) ) {
1676
+ $post_out .= esc_html__( ucfirst( $object_subtype ) );
1677
+ } else {
1678
+ $post_out .= esc_html__( ucfirst( $post_type_object->labels->singular_name ) );
1679
+ }
1680
+
1681
  $post = get_post($object_id);
1682
 
1683
  if (null == $post) {
1712
  $post = get_post($object_id);
1713
 
1714
  if ($post) {
1715
+
1716
+ // Post for attachment was found
1717
+
1718
  $title = esc_html(get_the_title($post->ID));
1719
  $edit_link = get_edit_post_link($object_id, 'display');
1720
+ $attachment_metadata = wp_get_attachment_metadata( $object_id );
1721
+ $attachment_file = get_attached_file( $object_id );
1722
+ $attachment_mime = get_post_mime_type( $object_id );
1723
+ $attachment_url = wp_get_attachment_url( $object_id );
1724
+
1725
+ // Get attachment thumbnail. 60 x 60 is the same size as the media overview uses
1726
+ // Is thumbnail of object if image, is wp icon if not
1727
+ $attachment_image_src = wp_get_attachment_image_src($object_id, array(60, 60), true);
1728
  if ($attachment_image_src) {
1729
+ $object_image_out .= "<a class='simple-history-attachment-thumbnail' href='$edit_link'><img src='{$attachment_image_src[0]}' alt='Attachment icon' width='{$attachment_image_src[1]}' height='{$attachment_image_src[2]}' /></a>";
1730
  }
1731
+
1732
+ // Begin adding nice to have meta info about to attachment (name, size, mime, etc.)
1733
+ $object_image_out .= "<div class='simple-history-attachment-meta'>";
1734
+
1735
+ // File name
1736
+
1737
+ // Get size in human readable format. Code snippet from media.php
1738
+ $sizes = array( 'KB', 'MB', 'GB' );
1739
+ $attachment_filesize = filesize( $attachment_file );
1740
+ for ( $u = -1; $attachment_filesize > 1024 && $u < count( $sizes ) - 1; $u++ ) {
1741
+ $attachment_filesize /= 1024;
1742
+ }
1743
+
1744
+ // File type
1745
+ $file_type_out = "";
1746
+ if ( preg_match( '/^.*?\.(\w+)$/', $attachment_file, $matches ) )
1747
+ $file_type_out .= esc_html( strtoupper( $matches[1] ) );
1748
+ else
1749
+ $file_type_out .= strtoupper( str_replace( 'image/', '', $post->post_mime_type ) );
1750
+
1751
+ // Media size, width x height
1752
+ $media_dims = "";
1753
+ if ( ! empty( $attachment_metadata['width'] ) && ! empty( $attachment_metadata['height'] ) ) {
1754
+ $media_dims .= "<span>{$attachment_metadata['width']}&nbsp;&times;&nbsp;{$attachment_metadata['height']}</span>";
1755
+
1756
+ }
1757
+
1758
+ // Generate string with metainfo
1759
+ $object_image_out .= sprintf('<p>%1$s %2$s</p>', __("File name:"), esc_html( basename( $attachment_file ) ) );;
1760
+ $object_image_out .= sprintf('<p>%1$s %2$s %3$s</p>', __("File size:", "simple-history"), round( $attachment_filesize, 0 ), $sizes[$u] );
1761
+ // $object_image_out .= sprintf('<p>%1$s %2$s</p>', __("File type:"), $file_type_out );
1762
+ if ( ! empty( $media_dims ) ) $object_image_out .= sprintf('<p>%1$s %2$s</p>', __("Dimensions:"), $media_dims );
1763
+ if ( ! empty( $attachment_metadata["length_formatted"] ) ) $object_image_out .= sprintf('<p>%1$s %2$s</p>', __("Length:"), $attachment_metadata["length_formatted"] );
1764
+
1765
+ // end attachment meta info box output
1766
+ $object_image_out .= "</div>"; // close simple-history-attachment-meta
1767
+
1768
  $attachment_out .= " <a href='$edit_link'>";
1769
  $attachment_out .= "<span class='simple-history-title'>{$title}</span>";
1770
  $attachment_out .= "</a>";
1771
 
1772
  } else {
1773
+
1774
+ // Post for attachment was not found
1775
  if ($object_name) {
1776
  $attachment_out .= "<span class='simple-history-title'>\"" . esc_html($object_name) . "\"</span>";
1777
  } else {
1778
  $attachment_out .= " <span class='simple-history-title'>&lt;deleted&gt;</span>";
1779
  }
1780
+
1781
  }
1782
 
1783
  $attachment_out .= " " . esc_html__($action, "simple-history") . " ";
1814
  $user_out .= " \"" . esc_html($object_name) . "\"";
1815
  }
1816
 
1817
+ /*
1818
  $user_avatar = get_avatar($user->user_email, "50");
1819
  if ($user_link) {
1820
  $user_out .= "<a class='simple-history-attachment-thumbnail' href='$user_link'>$user_avatar</a>";
1821
  } else {
1822
  $user_out .= "<span class='simple-history-attachment-thumbnail' href='$user_link'>$user_avatar</span>";
1823
  }
1824
+ */
1825
 
1826
  $user_out .= " " . esc_html__($action, "simple-history");
1827
 
1859
  }
1860
  $output .= "</div>";
1861
 
1862
+ // second div = when and who
1863
  $output .= "<div class='second'>";
1864
+
1865
  $date_i18n_date = date_i18n(get_option('date_format'), strtotime($one_row->date), $gmt=false);
1866
  $date_i18n_time = date_i18n(get_option('time_format'), strtotime($one_row->date), $gmt=false);
1867
  $now = strtotime(current_time("mysql"));
1868
  $diff_str = sprintf( __('<span class="when">%1$s ago</span> by %2$s', "simple-history"), human_time_diff(strtotime($one_row->date), $now), $who );
1869
  $output .= $diff_str;
1870
  $output .= "<span class='when_detail'>".sprintf(__('%s at %s', 'simple-history'), $date_i18n_date, $date_i18n_time)."</span>";
1871
+
1872
  $output .= "</div>";
1873
 
1874
+ // Object image
1875
+ if ( $object_image_out ) {
1876
+
1877
+ $output .= sprintf(
1878
+ '
1879
+ <div class="simple-history-object-image">
1880
+ %1$s
1881
+ </div>
1882
+ ',
1883
+ $object_image_out
1884
+ );
1885
+
1886
+ }
1887
+
1888
  // occasions
1889
  if ($num_occasions > 0) {
1890
  $output .= "<div class='third'>";
1919
  $output .= "noMoreItems";
1920
  }
1921
 
1922
+ if ( ! $args["is_ajax"] ) {
1923
 
1924
  // if not ajax, print the divs and stuff we need
1925
  $show_more = "<select>";
1929
  $show_more .= sprintf('<option value=100 %2$s>%1$s</option>', __("Show 100 more", 'simple-history'), ($args["items"] == 100 ? " selected " : "") );
1930
  $show_more .= "</select>";
1931
 
 
 
1932
  $no_found = __("No matching items found.", 'simple-history');
1933
  $view_rss = __("RSS feed", 'simple-history');
1934
  $view_rss_link = simple_history_get_rss_address();
1935
  $str_show = __("Show", 'simple-history');
1936
+ $output .= "</ol>";
1937
+
1938
+ $output .= sprintf( '
1939
+ <div class="simple-history-loading">%2$s %1$s</div>
1940
+ ',
1941
+ __("Loading...", 'simple-history'), // 1
1942
+ "<img src='".site_url("wp-admin/images/loading.gif")."' width=16 height=16>"
1943
+ );
1944
+
1945
+ $output .= "</div>";
1946
+
1947
+ $output .= "
1948
+ <p class='hidden simple-history-no-more-items'>$no_found</p>
1949
+ <p class='simple-history-rss-feed-dashboard'><a title='$view_rss' href='$view_rss_link'>$view_rss</a></p>
1950
+ <p class='simple-history-rss-feed-page'><a title='$view_rss' href='$view_rss_link'><span></span>$view_rss</a></p>
1951
  ";
1952
+
1953
  }
1954
 
1955
  } else {
languages/simple-history-ar.mo CHANGED
Binary file
languages/simple-history-ar.po CHANGED
@@ -13,6 +13,494 @@ msgstr ""
13
  "MIME-Version: 1.0\n"
14
  "X-Generator: Poedit 1.5.5\n"
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  # echo "<br />";
17
  # _e("This is a secret RSS feed for Simple History. Only share the link with people you trust", 'simple-history');
18
  # echo "<br />";
@@ -21,12 +509,6 @@ msgid ""
21
  "people you trust"
22
  msgstr "هذه تغذية RSS سرّية خاصة بالتاريخ. شارك الرابط فقط مع أناس تثق بهم."
23
 
24
- # echo "<div class='simple-history-settings-page-updated'><p>";
25
- # _e("Created new secret RSS adress", 'simple-history');
26
- # echo "</p></div>";
27
- msgid "Created new secret RSS adress"
28
- msgstr "تم إنشاء عنوان RSS سرّي جديد"
29
-
30
  # <?php
31
  # _e('
32
  # Please
@@ -189,15 +671,15 @@ msgstr "تم التعطيل"
189
  msgid "enabled"
190
  msgstr "تم التفعيل"
191
 
192
- # case "deactivated":
193
- # $unknown_action = __("deactivated", 'simple-history');
194
- # break;
195
  msgid "deactivated"
196
  msgstr "تم التعطيل"
197
 
198
- # case "activated":
199
- # $unknown_action = __("activated", 'simple-history');
200
- # break;
201
  msgid "activated"
202
  msgstr "تم التنشيط"
203
 
@@ -235,9 +717,9 @@ msgstr ""
235
  msgid "Clear it now."
236
  msgstr "امسحها الآن."
237
 
238
- # $link = esc_html(add_query_arg("simple_history_user_to_show", ""));
239
- # $str_users .= "<li $css><a href='$link'>" . __("By all users", 'simple-history') ."</a> | </li>";
240
- # foreach ($arr_users as $user_id => $user_info) {
241
  msgid "By all users"
242
  msgstr "عن طريق جميع الأعضاء"
243
 
@@ -255,7 +737,7 @@ msgstr "عن طريق %s"
255
 
256
  # <title><?php printf(__("History for %s", 'simple-history'), get_bloginfo("name")) ?></title>
257
  # <description><?php printf(__("WordPress History for %s", 'simple-history'), get_bloginfo("name")) ?></description>
258
- # <link><?php echo get_bloginfo("siteurl") ?></link>
259
  msgid "WordPress History for %s"
260
  msgstr "تاريخ ووردبريس ل%s"
261
 
@@ -271,9 +753,9 @@ msgstr "التاريخ ل%s"
271
  msgid "Clear log"
272
  msgstr "مسح السجل"
273
 
274
- # $no_found = __("No matching items found.", 'simple-history');
275
- # $view_rss = __("RSS feed", 'simple-history');
276
- # $view_rss_link = simple_history_get_rss_address();
277
  msgid "RSS feed"
278
  msgstr "تغذية RSS"
279
 
@@ -289,15 +771,15 @@ msgstr "عدد العناصر لكل صفحة"
289
  msgid "Show Simple History"
290
  msgstr "إظهار التاريخ المبسط"
291
 
292
- # <form method="post" action="options.php">
293
- # <h2><?php _e("Simple History Settings", "simple-history") ?></h2>
294
- # <?php do_settings_sections("simple_history_settings_menu_slug"); ?>
295
  msgid "Simple History Settings"
296
  msgstr "إعدادات التاريخ المبسط"
297
 
298
- # add_settings_field("simple_history_settings_field_4", __("Clear log", "simple-history"), "simple_history_settings_field_clear_log", "simple_history_settings_menu_slug", "simple_history_settings_section");
299
- # add_settings_field("simple_history_settings_field_3", __("Donate", "simple-history"), "simple_history_settings_field_donate", "simple_history_settings_menu_slug", "simple_history_settings_section");
300
- #
301
  msgid "Donate"
302
  msgstr "تبرع"
303
 
@@ -307,15 +789,15 @@ msgstr "تبرع"
307
  msgid "WordPress %1$s"
308
  msgstr "ووردبريس %1$s"
309
 
310
- # <div class="wrap">
311
- # <h2><?php echo __("History", 'simple-history') ?></h2>
312
- # <?php
313
  msgid "History"
314
  msgstr "التاريخ"
315
 
316
  # $dummy = __("logged in", "simple-history");
317
  # $dummy = __("logged out", "simple-history");
318
- # }
319
  msgid "logged out"
320
  msgstr "سجّل الخروج"
321
 
@@ -331,9 +813,9 @@ msgstr "سجّل الدخول"
331
  msgid "comment"
332
  msgstr "تعليق"
333
 
334
- # $dummy = __("settings page", "simple-history");
335
- # $dummy = __("edited", "simple-history");
336
- # $dummy = __("comment", "simple-history");
337
  msgid "edited"
338
  msgstr "تم التحرير"
339
 
@@ -343,15 +825,15 @@ msgstr "تم التحرير"
343
  msgid "settings page"
344
  msgstr "صفحة الإعدادات"
345
 
346
- # $user_out = "";
347
- # $user_out .= __("user", 'simple-history');
348
- # $user = get_user_by("id", $object_id);
349
  msgid "user"
350
  msgstr "المستخدم"
351
 
352
- # $attachment_out = "";
353
- # $attachment_out .= __("attachment", 'simple-history') . " ";
354
- #
355
  msgid "attachment"
356
  msgstr "المرفق"
357
 
@@ -361,39 +843,39 @@ msgstr "المرفق"
361
  msgid "nav_menu_item"
362
  msgstr "عنصر القائمة"
363
 
364
- # $dummy = __("deleted", "simple-history");
365
- # $dummy = __("updated", "simple-history");
366
- # $dummy = __("nav_menu_item", "simple-history");
367
  msgid "updated"
368
  msgstr "تم التحديث"
369
 
370
- # $dummy = __("created", "simple-history");
371
- # $dummy = __("deleted", "simple-history");
372
- # $dummy = __("updated", "simple-history");
373
  msgid "deleted"
374
  msgstr "تم الحذف"
375
 
376
- # $dummy = __("untrashed", "simple-history");
377
- # $dummy = __("created", "simple-history");
378
- # $dummy = __("deleted", "simple-history");
379
  msgid "created"
380
  msgstr "تم الإنشاء"
381
 
382
- # $dummy = __("trashed", "simple-history");
383
- # $dummy = __("untrashed", "simple-history");
384
- # $dummy = __("created", "simple-history");
385
  msgid "untrashed"
386
  msgstr "تم إلغاء الحذف"
387
 
388
- # $dummy = __("marked as spam", "simple-history");
389
- # $dummy = __("trashed", "simple-history");
390
- # $dummy = __("untrashed", "simple-history");
391
  msgid "trashed"
392
  msgstr "تم الحذف"
393
 
394
- # $dummy = __("unapproved", "simple-history");
395
- # $dummy = __("marked as spam", "simple-history");
396
- # $dummy = __("trashed", "simple-history");
397
  msgid "marked as spam"
398
  msgstr "تم التعليم كتعليق غير مرغوب فيه"
399
 
13
  "MIME-Version: 1.0\n"
14
  "X-Generator: Poedit 1.5.5\n"
15
 
16
+ # 'action' => $retval[$module]['active'] ? __('activated', 'sh-extender') : __('deactivated', 'sh-extender'),
17
+ # 'type' => __('Simple History Extender Module', 'sh-extender'),
18
+ # 'name' => $field['title'],
19
+ msgid "Simple History Extender Module"
20
+ msgstr "زيادة التاريخ المبسط"
21
+
22
+ # public function modules_settings_intro(){
23
+ # echo '<p>'. __( 'Activate or deactivate the events you want to log. Read the Help tab if you want to know which actions are supported and which aren\'t.', 'sh-extender') .'</p>';
24
+ # }
25
+ msgid ""
26
+ "Activate or deactivate the events you want to log. Read the Help tab if you "
27
+ "want to know which actions are supported and which aren't."
28
+ msgstr ""
29
+ "قم بتنشيط أو تعطيل الأحداث التي تريد تسجيلها. إقرأ تبويبة مساعدة إذا أردت "
30
+ "معرفة الأحداث المدعومة وتلك غير المدعومة."
31
+
32
+ # public function register_settings(){
33
+ # add_settings_section( $this->modules_section, __('Simple History Extender Modules', 'sh-extender'), array( $this, 'modules_settings_intro' ), $this->page );
34
+ # register_setting( $this->opt_group, $this->modules_name, array( $this, 'modules_settings_sanitize' ) );
35
+ msgid "Simple History Extender Modules"
36
+ msgstr "زيادات التاريخ المبسط"
37
+
38
+ # 0 => __('The Simple History Extender plugin was deactivated because the Simple History plugin was not found installed or active.', 'sh-extender'),
39
+ # 1 => __('The Simple History Extender plugin was deactivated.', 'sh-extender')
40
+ # );
41
+ msgid "The Simple History Extender plugin was deactivated."
42
+ msgstr "إضافة زيادات التاريخ المبسط تم تعطيلها."
43
+
44
+ # $messages = array(
45
+ # 0 => __('The Simple History Extender plugin was deactivated because the Simple History plugin was not found installed or active.', 'sh-extender'),
46
+ # 1 => __('The Simple History Extender plugin was deactivated.', 'sh-extender')
47
+ msgid ""
48
+ "The Simple History Extender plugin was deactivated because the Simple "
49
+ "History plugin was not found installed or active."
50
+ msgstr ""
51
+ "إضافة زيادات التاريخ المبسط تم تعطيلها لأنه لم يتم إيجاد إضافة التاريخ "
52
+ "المبسط منصبة أو مفعلة."
53
+
54
+ #
55
+ # $content .= '</p><p><strong>'. sprintf( __('The %s module does not support the following events:', 'sh-extender'), $this->title ) .'</strong></p><p>';
56
+ #
57
+ msgid "The %s module does not support the following events:"
58
+ msgstr "زيادة %s لا تدعم الأحداث التالية:"
59
+
60
+ # // Build content string starting with supporting events
61
+ # $content = '<p><strong>'. sprintf( __('The %s module logs the following events:', 'sh-extender'), $this->title ) .'</strong></p><p>';
62
+ #
63
+ msgid "The %s module logs the following events:"
64
+ msgstr "زيادة %s تسجل الأحداث التالية:"
65
+
66
+ # ? sprintf( __('Log events for the %s plugin.', 'sh-extender'), $this->title )
67
+ # : sprintf( __('Log events for %s.', 'sh-extender'), $this->title )
68
+ # );
69
+ msgid "Log events for %s."
70
+ msgstr "سجل أحداث %s."
71
+
72
+ # else
73
+ # $action = __('added to sidebar %s', 'sh-extender');
74
+ #
75
+ msgid "added to sidebar %s"
76
+ msgstr "تمت الإضافة إلى مربع جانبي %s"
77
+
78
+ # elseif ( isset( $wp_registered_widgets[$_POST['widget-id']] ) )
79
+ # $action = __('updated in sidebar %s', 'sh-extender');
80
+ # else
81
+ msgid "updated in sidebar %s"
82
+ msgstr "تم التحديث في مربع جانبي %s"
83
+
84
+ # if ( isset( $_POST['delete_widget'] ) )
85
+ # $action = __('removed from sidebar %s', 'sh-extender');
86
+ # elseif ( isset( $wp_registered_widgets[$_POST['widget-id']] ) )
87
+ msgid "removed from sidebar %s"
88
+ msgstr "تم الحذف من مربع جانبي %s"
89
+
90
+ # $bbp_roles = bbp_get_dynamic_roles();
91
+ # $this->extend_user( $user_id, sprintf( __('changed forum role to %s', 'sh-extender'), !empty( $new_role ) ? translate_user_role( $bbp_roles[$new_role]['name'] ) : __('none') ) );
92
+ # }
93
+ msgid "changed forum role to %s"
94
+ msgstr "تم تغيير دور المنتدى إلى %s"
95
+
96
+ # public function user_register( $user_id ){
97
+ # $this->extend_user( $user_id, __('registered', 'sh-extender') );
98
+ # }
99
+ msgid "registered"
100
+ msgstr "تم التسجيل"
101
+
102
+ # public function profile_update( $user_id, $old_user_data ){
103
+ # $this->extend_user( $user_id, __('profile updated', 'sh-extender') );
104
+ # }
105
+ msgid "profile updated"
106
+ msgstr "تم تحديث الملف الشخصي"
107
+
108
+ # public function remove_user_subscription( $user_id, $topic_id ){
109
+ # $this->extend_topic( $topic_id, __('unsubscribed', 'sh-extender') );
110
+ # }
111
+ msgid "unsubscribed"
112
+ msgstr "تم إلغاء الاشتراك"
113
+
114
+ # public function add_user_subscription( $user_id, $topic_id ){
115
+ # $this->extend_topic( $topic_id, __('subscribed', 'sh-extender') );
116
+ # }
117
+ msgid "subscribed"
118
+ msgstr "تم الاشتراك"
119
+
120
+ # public function remove_user_favorite( $user_id, $topic_id ){
121
+ # $this->extend_topic( $topic_id, __('unfavorited', 'sh-extender') );
122
+ # }
123
+ msgid "unfavorited"
124
+ msgstr "تم إلغاء التفضيل"
125
+
126
+ # public function add_user_favorite( $user_id, $topic_id ){
127
+ # $this->extend_topic( $topic_id, __('favorited', 'sh-extender') );
128
+ # }
129
+ msgid "favorited"
130
+ msgstr "تم التفضيل"
131
+
132
+ # $topic_id,
133
+ # $this->events['edit'] .' '. sprintf( __('in forum %s', 'sh-extender'), bbp_get_forum_title( $forum_id ) )
134
+ # );
135
+ msgid "in forum %s"
136
+ msgstr "في منتدى %s"
137
+
138
+ # 'action' => sprintf( __('by %s', 'sh-extender'), $user->user_login ) .' '. $action,
139
+ # 'type' => __('Reply', 'bbpress'),
140
+ # 'name' => bbp_get_reply_title( $reply_id ),
141
+ msgid "Reply"
142
+ msgstr "رد"
143
+
144
+ # $this->extend( array(
145
+ # 'action' => sprintf( __('by %s', 'sh-extender'), $user->user_login ) .' '. $action,
146
+ # 'type' => __('Reply', 'bbpress'),
147
+ msgid "by %s"
148
+ msgstr "عن طريق %s"
149
+
150
+ # 'action' => $action,
151
+ # 'type' => __('Topic Tag', 'bbpress'),
152
+ # 'name' => bbp_get_topic_tag_name( $tag ),
153
+ msgid "Topic Tag"
154
+ msgstr "وسم موضوع"
155
+
156
+ # 'action' => $action,
157
+ # 'type' => __('Topic', 'bbpress'),
158
+ # 'name' => bbp_get_topic_title( $topic_id ),
159
+ msgid "Topic"
160
+ msgstr "موضوع"
161
+
162
+ # 'action' => $action,
163
+ # 'type' => __('Forum', 'bbpress'),
164
+ # 'name' => bbp_get_forum_title( $forum_id ),
165
+ msgid "Forum"
166
+ msgstr "منتدى"
167
+
168
+ # default:
169
+ # $action = __('changed status', 'sh-extender');
170
+ # }
171
+ msgid "changed status"
172
+ msgstr "تم تغيير الحالة"
173
+
174
+ # default :
175
+ # $action = __('restored', 'sh-extender');
176
+ # }
177
+ msgid "restored"
178
+ msgstr "تم الاستعادة"
179
+
180
+ # $form_id,
181
+ # sprintf( __('field %s deleted', 'sh-extender'), $field['label'] .' (ID: '. $field_id .')' )
182
+ # );
183
+ msgid "field %s deleted"
184
+ msgstr "تم حذف حقل %s"
185
+
186
+ # ? __('without entries deleted', 'sh-extender')
187
+ # : sprintf( __('with %d entries deleted', 'sh-extender'), $entries )
188
+ # );
189
+ msgid "with %d entries deleted"
190
+ msgstr "مع %d مدخل تم حذفه"
191
+
192
+ # 0 == $entries
193
+ # ? __('without entries deleted', 'sh-extender')
194
+ # : sprintf( __('with %d entries deleted', 'sh-extender'), $entries )
195
+ msgid "without entries deleted"
196
+ msgstr "بدون حذف مدخلات"
197
+
198
+ # 'action' => $created_by ? $this->created_by( $entry_id ) . $action : $action,
199
+ # 'type' => __('Form entry', 'sh-extender'),
200
+ # 'name' => $this->entry_form_title( $entry_id ),
201
+ msgid "Form entry"
202
+ msgstr "مدخل استمارة"
203
+
204
+ # 'action' => $action,
205
+ # 'type' => __('Form', 'sh-extender'),
206
+ # 'name' => $this->form_title( $form_id ),
207
+ msgid "Form"
208
+ msgstr "استمارة"
209
+
210
+ # } else
211
+ # $from = __('from unknown', 'sh-extender');
212
+ #
213
+ msgid "from unknown"
214
+ msgstr "بواسطة غير معروف"
215
+
216
+ # $user = get_userdata( $user_id );
217
+ # $from = sprintf( __('from %s', 'sh-extender'), $user->user_login );
218
+ # } else
219
+ msgid "from %s"
220
+ msgstr "بواسطة %s"
221
+
222
+ # echo "<div class='simple-history-settings-page-updated'><p>";
223
+ # _e("Created new secret RSS address", 'simple-history');
224
+ # echo "</p></div>";
225
+ msgid "Created new secret RSS address"
226
+ msgstr "تم إنشاء عنوان تغذية RSS سري جديد"
227
+
228
+ # $dummy = __("modified", "simple-history");
229
+ # $dummy = __("upgraded it\'s database", "simple-history");
230
+ # }
231
+ msgid "upgraded it's database"
232
+ msgstr "تم تحديث قاعدة بياناته"
233
+
234
+ # $dummy = __("added", "simple-history");
235
+ # $dummy = __("modified", "simple-history");
236
+ # $dummy = __("upgraded it\'s database", "simple-history");
237
+ msgid "modified"
238
+ msgstr "تم التعديل"
239
+
240
+ # $dummy = __("logged out", "simple-history");
241
+ # $dummy = __("added", "simple-history");
242
+ # $dummy = __("modified", "simple-history");
243
+ msgid "added"
244
+ msgstr "تمت الإضافة"
245
+
246
+ # __('Moving widgets between sidebars.', 'sh-extender'),
247
+ # __('Setting a widget to active/inactive.', 'sh-extender')
248
+ # )
249
+ msgid "Setting a widget to active/inactive."
250
+ msgstr "تعيين مربع جانبي كمفعل/معطل."
251
+
252
+ # 'lacks' => array(
253
+ # __('Moving widgets between sidebars.', 'sh-extender'),
254
+ # __('Setting a widget to active/inactive.', 'sh-extender')
255
+ msgid "Moving widgets between sidebars."
256
+ msgstr "تحويل المربعات الجانبية من مكان إلى آخر."
257
+
258
+ # 'supports' => array(
259
+ # __('Adding, updating and deleting widgets in/from a sidebar.', 'sh-extender'),
260
+ # ),
261
+ msgid "Adding, updating and deleting widgets in/from a sidebar."
262
+ msgstr "إضافة، تحديث وحذف مربعات جانبية."
263
+
264
+ # 'plugin' => false,
265
+ # 'description' => __('Log events for the Widgets section of your WP install.', 'sh-extender'),
266
+ # 'tabs' => array(
267
+ msgid "Log events for the Widgets section of your WP install."
268
+ msgstr "قم بتسجيل الأحداث في قسم المربعات الجانبية في تنصيب ووردبريس الخاص بك."
269
+
270
+ # 'id' => 'widgets',
271
+ # 'title' => __('Widgets', 'sh-extender'),
272
+ # 'plugin' => false,
273
+ msgid "Widgets"
274
+ msgstr "المربعات الجانبية"
275
+
276
+ # 'read' => __('marked as read', 'sh-extender'),
277
+ # 'unread' => __('marked as unread', 'sh-extender'),
278
+ # );
279
+ msgid "marked as unread"
280
+ msgstr "تم التعيين كغير مقروء"
281
+
282
+ # 'unstar' => __('unstarred', 'sh-extender'),
283
+ # 'read' => __('marked as read', 'sh-extender'),
284
+ # 'unread' => __('marked as unread', 'sh-extender'),
285
+ msgid "marked as read"
286
+ msgstr "تم التعيين كمقروء"
287
+
288
+ # 'star' => __('starred', 'sh-extender'),
289
+ # 'unstar' => __('unstarred', 'sh-extender'),
290
+ # 'read' => __('marked as read', 'sh-extender'),
291
+ msgid "unstarred"
292
+ msgstr "تم إلغاء التفضيل"
293
+
294
+ # $events = array(
295
+ # 'star' => __('starred', 'sh-extender'),
296
+ # 'unstar' => __('unstarred', 'sh-extender'),
297
+ msgid "starred"
298
+ msgstr "تم التفضيل"
299
+
300
+ # __('Duplicating a form.', 'sh-extender'),
301
+ # __('Setting a form to active/inactive.', 'sh-extender')
302
+ # )
303
+ msgid "Setting a form to active/inactive."
304
+ msgstr "تعيين استمارة كمفعلة/معطلة."
305
+
306
+ # 'lacks' => array(
307
+ # __('Duplicating a form.', 'sh-extender'),
308
+ # __('Setting a form to active/inactive.', 'sh-extender')
309
+ msgid "Duplicating a form."
310
+ msgstr "نسخ استمارة."
311
+
312
+ # __('Submitting, editing and deleting an entry.', 'sh-extender'),
313
+ # __('Changing the status of an entry, including read/unread and star/unstar.', 'sh-extender')
314
+ # ),
315
+ msgid "Changing the status of an entry, including read/unread and star/unstar."
316
+ msgstr "تغيير حالة مدخل، يتضمن ذلك مقروء/غير مقروء وتفضيل/إلغاء تفضيل."
317
+
318
+ # __('Deleting a field from an existing form.', 'sh-extender'),
319
+ # __('Submitting, editing and deleting an entry.', 'sh-extender'),
320
+ # __('Changing the status of an entry, including read/unread and star/unstar.', 'sh-extender')
321
+ msgid "Submitting, editing and deleting an entry."
322
+ msgstr "إرسال، تعديل وحذف مدخل."
323
+
324
+ # __('Creating, editing and deleting a form.', 'sh-extender'),
325
+ # __('Deleting a field from an existing form.', 'sh-extender'),
326
+ # __('Submitting, editing and deleting an entry.', 'sh-extender'),
327
+ msgid "Deleting a field from an existing form."
328
+ msgstr "حذف حقل من استمارة موجودة."
329
+
330
+ # 'supports' => array(
331
+ # __('Creating, editing and deleting a form.', 'sh-extender'),
332
+ # __('Deleting a field from an existing form.', 'sh-extender'),
333
+ msgid "Creating, editing and deleting a form."
334
+ msgstr "إنشاء، تعديل وحذف استمارة."
335
+
336
+ # 'id' => 'gravityforms',
337
+ # 'title' => __('Gravity Forms', 'sh-extender'),
338
+ # 'plugin' => 'gravityforms/gravityforms.php',
339
+ msgid "Gravity Forms"
340
+ msgstr "Gravity Forms"
341
+
342
+ # 'merge' => __('in forum %s merged into %s', 'sh-extender'),
343
+ # 'split' => __('in forum %s split from reply %s by %s into %s in forum %s', 'sh-extender')
344
+ # );
345
+ msgid "in forum %s split from reply %s by %s into %s in forum %s"
346
+ msgstr "في منتدى %s تم الفصل من رد %s بواسطة %s في %s في منتدى %s"
347
+
348
+ # 'hide' => __('set to hidden', 'sh-extender'),
349
+ # 'merge' => __('in forum %s merged into %s', 'sh-extender'),
350
+ # 'split' => __('in forum %s split from reply %s by %s into %s in forum %s', 'sh-extender')
351
+ msgid "in forum %s merged into %s"
352
+ msgstr "في منتدى %s تم الدمج في %s"
353
+
354
+ # 'privatize' => __('set to private', 'sh-extender'),
355
+ # 'hide' => __('set to hidden', 'sh-extender'),
356
+ # 'merge' => __('in forum %s merged into %s', 'sh-extender'),
357
+ msgid "set to hidden"
358
+ msgstr "تم التعيين كمخفي"
359
+
360
+ # 'publicize' => __('set to public', 'sh-extender'),
361
+ # 'privatize' => __('set to private', 'sh-extender'),
362
+ # 'hide' => __('set to hidden', 'sh-extender'),
363
+ msgid "set to private"
364
+ msgstr "تم التعيين كخاص"
365
+
366
+ # 'normalize' => __('set to forum type', 'sh-extender'),
367
+ # 'publicize' => __('set to public', 'sh-extender'),
368
+ # 'privatize' => __('set to private', 'sh-extender'),
369
+ msgid "set to public"
370
+ msgstr "تم التعيين كعام"
371
+
372
+ # 'categorize' => __('set to category type', 'sh-extender'),
373
+ # 'normalize' => __('set to forum type', 'sh-extender'),
374
+ # 'publicize' => __('set to public', 'sh-extender'),
375
+ msgid "set to forum type"
376
+ msgstr "تعيين لنوع منتدي"
377
+
378
+ # 'unstick' => __('unmarked as sticky', 'sh-extender'),
379
+ # 'categorize' => __('set to category type', 'sh-extender'),
380
+ # 'normalize' => __('set to forum type', 'sh-extender'),
381
+ msgid "set to category type"
382
+ msgstr "تعيين لنوع تصنيف"
383
+
384
+ # 'super-stick' => __('marked as super sticky', 'sh-extender'),
385
+ # 'unstick' => __('unmarked as sticky', 'sh-extender'),
386
+ # 'categorize' => __('set to category type', 'sh-extender'),
387
+ msgid "unmarked as sticky"
388
+ msgstr "تم حذف التعليم كمثبت"
389
+
390
+ # 'stick' => __('marked as sticky', 'sh-extender'),
391
+ # 'super-stick' => __('marked as super sticky', 'sh-extender'),
392
+ # 'unstick' => __('unmarked as sticky', 'sh-extender'),
393
+ msgid "marked as super sticky"
394
+ msgstr "تم التعليم كمثبت جداً"
395
+
396
+ # 'open' => __('opened', 'sh-extender'),
397
+ # 'stick' => __('marked as sticky', 'sh-extender'),
398
+ # 'super-stick' => __('marked as super sticky', 'sh-extender'),
399
+ msgid "marked as sticky"
400
+ msgstr "تم التعليم كمثبت"
401
+
402
+ # 'close' => __('closed', 'sh-extender'),
403
+ # 'open' => __('opened', 'sh-extender'),
404
+ # 'stick' => __('marked as sticky', 'sh-extender'),
405
+ msgid "opened"
406
+ msgstr "تم الفتح"
407
+
408
+ # $events = array(
409
+ # 'close' => __('closed', 'sh-extender'),
410
+ # 'open' => __('opened', 'sh-extender'),
411
+ msgid "closed"
412
+ msgstr "تم الإغلاق"
413
+
414
+ # 'untrash' => __('untrashed', 'sh-extender'),
415
+ # 'submit' => __('submitted', 'sh-extender')
416
+ # );
417
+ msgid "submitted"
418
+ msgstr "تم الإرسال"
419
+
420
+ # 'spam' => __('marked as spam', 'sh-extender'),
421
+ # 'unspam' => __('unmarked as spam', 'sh-extender'),
422
+ # 'trash' => __('trashed', 'sh-extender'),
423
+ msgid "unmarked as spam"
424
+ msgstr "تم حذف التعليم كمزعج"
425
+
426
+ # : ( $this->plugin
427
+ # ? sprintf( __('Log events for the %s plugin.', 'sh-extender'), $this->title )
428
+ # : sprintf( __('Log events for %s.', 'sh-extender'), $this->title )
429
+ msgid "Log events for the %s plugin."
430
+ msgstr "سجل الأحداث للإضافة %s."
431
+
432
+ # __('A user (un)favoriting and (un)subscribing to a topic.', 'sh-extender'),
433
+ # __('A user saving his/her profile.', 'sh-extender')
434
+ # )
435
+ msgid "A user saving his/her profile."
436
+ msgstr "مستخدم يقوم بحفظ ملفه الشخصي"
437
+
438
+ # __('Updating, merging and deleting a topic tag.', 'sh-extender'),
439
+ # __('A user (un)favoriting and (un)subscribing to a topic.', 'sh-extender'),
440
+ # __('A user saving his/her profile.', 'sh-extender')
441
+ msgid "A user (un)favoriting and (un)subscribing to a topic."
442
+ msgstr "مستخدم يقوم بإلغاء تفضيل وإلغاء اشتراك في موضوع."
443
+
444
+ # __('Merging and splitting a topic.', 'sh-extender'),
445
+ # __('Updating, merging and deleting a topic tag.', 'sh-extender'),
446
+ # __('A user (un)favoriting and (un)subscribing to a topic.', 'sh-extender'),
447
+ msgid "Updating, merging and deleting a topic tag."
448
+ msgstr "تحديث، دمج وحذف وسم موضوع."
449
+
450
+ # __('Marking and unmarking a topic as sticky.', 'sh-extender'),
451
+ # __('Merging and splitting a topic.', 'sh-extender'),
452
+ # __('Updating, merging and deleting a topic tag.', 'sh-extender'),
453
+ msgid "Merging and splitting a topic."
454
+ msgstr "دمج وفصل موضوع."
455
+
456
+ # __('Marking and unmarking a topic, reply as spam.', 'sh-extender'),
457
+ # __('Marking and unmarking a topic as sticky.', 'sh-extender'),
458
+ # __('Merging and splitting a topic.', 'sh-extender'),
459
+ msgid "Marking and unmarking a topic as sticky."
460
+ msgstr "تعليم وإلغاء تعليم موضوع كمثبت."
461
+
462
+ # __('Trashing and untrashing a forum, topic, reply.', 'sh-extender'),
463
+ # __('Marking and unmarking a topic, reply as spam.', 'sh-extender'),
464
+ # __('Marking and unmarking a topic as sticky.', 'sh-extender'),
465
+ msgid "Marking and unmarking a topic, reply as spam."
466
+ msgstr "تعليم وإلغاء تعليم موضوع أو تعليق كمزعج."
467
+
468
+ # __('Setting the forum visibility to public, private or hidden.', 'sh-extender'),
469
+ # __('Trashing and untrashing a forum, topic, reply.', 'sh-extender'),
470
+ # __('Marking and unmarking a topic, reply as spam.', 'sh-extender'),
471
+ msgid "Trashing and untrashing a forum, topic, reply."
472
+ msgstr "مسح وإلغاء مسح منتدى، موضوع، رد."
473
+
474
+ # __('Setting the status of a forum, topic to open or closed.', 'sh-extender'),
475
+ # __('Setting the forum visibility to public, private or hidden.', 'sh-extender'),
476
+ # __('Trashing and untrashing a forum, topic, reply.', 'sh-extender'),
477
+ msgid "Setting the forum visibility to public, private or hidden."
478
+ msgstr "تعيين رؤية منتدى لعام، خاص أو مخفي."
479
+
480
+ # __('Setting the type of a forum to category or forum.', 'sh-extender'),
481
+ # __('Setting the status of a forum, topic to open or closed.', 'sh-extender'),
482
+ # __('Setting the forum visibility to public, private or hidden.', 'sh-extender'),
483
+ msgid "Setting the status of a forum, topic to open or closed."
484
+ msgstr "تعيين حالة منتدى أو موضوع كمفتوح أو مغلق."
485
+
486
+ # __('Creating, editing and deleting a forum, topic, reply.', 'sh-extender'),
487
+ # __('Setting the type of a forum to category or forum.', 'sh-extender'),
488
+ # __('Setting the status of a forum, topic to open or closed.', 'sh-extender'),
489
+ msgid "Setting the type of a forum to category or forum."
490
+ msgstr "تعيين نوع منتدى لتصنيف أو منتدى."
491
+
492
+ # 'supports' => array(
493
+ # __('Creating, editing and deleting a forum, topic, reply.', 'sh-extender'),
494
+ # __('Setting the type of a forum to category or forum.', 'sh-extender'),
495
+ msgid "Creating, editing and deleting a forum, topic, reply."
496
+ msgstr "إنشاء، تعديل أو حذف منتدى، موضوع، رد."
497
+
498
+ # 'id' => 'bbpress',
499
+ # 'title' => __('BBPress', 'sh-extender'),
500
+ # 'plugin' => 'bbpress/bbpress.php',
501
+ msgid "BBPress"
502
+ msgstr "BBPress"
503
+
504
  # echo "<br />";
505
  # _e("This is a secret RSS feed for Simple History. Only share the link with people you trust", 'simple-history');
506
  # echo "<br />";
509
  "people you trust"
510
  msgstr "هذه تغذية RSS سرّية خاصة بالتاريخ. شارك الرابط فقط مع أناس تثق بهم."
511
 
 
 
 
 
 
 
512
  # <?php
513
  # _e('
514
  # Please
671
  msgid "enabled"
672
  msgstr "تم التفعيل"
673
 
674
+ # Simple_History_Extend::extend( array(
675
+ # 'action' => $retval[$module]['active'] ? __('activated', 'sh-extender') : __('deactivated', 'sh-extender'),
676
+ # 'type' => __('Simple History Extender Module', 'sh-extender'),
677
  msgid "deactivated"
678
  msgstr "تم التعطيل"
679
 
680
+ # Simple_History_Extend::extend( array(
681
+ # 'action' => $retval[$module]['active'] ? __('activated', 'sh-extender') : __('deactivated', 'sh-extender'),
682
+ # 'type' => __('Simple History Extender Module', 'sh-extender'),
683
  msgid "activated"
684
  msgstr "تم التنشيط"
685
 
717
  msgid "Clear it now."
718
  msgstr "امسحها الآن."
719
 
720
+ # $user = $_POST["user"];
721
+ # if ($user == __( "By all users", 'simple-history' )) { $user = ""; }
722
+ #
723
  msgid "By all users"
724
  msgstr "عن طريق جميع الأعضاء"
725
 
737
 
738
  # <title><?php printf(__("History for %s", 'simple-history'), get_bloginfo("name")) ?></title>
739
  # <description><?php printf(__("WordPress History for %s", 'simple-history'), get_bloginfo("name")) ?></description>
740
+ # <link><?php echo get_bloginfo("url") ?></link>
741
  msgid "WordPress History for %s"
742
  msgstr "تاريخ ووردبريس ل%s"
743
 
753
  msgid "Clear log"
754
  msgstr "مسح السجل"
755
 
756
+ # add_settings_field("simple_history_settings_field_5", __("Number of items per page", "simple-history"), "simple_history_settings_field_number_of_items", "simple_history_settings_menu_slug", "simple_history_settings_section");
757
+ # add_settings_field("simple_history_settings_field_2", __("RSS feed", "simple-history"), "simple_history_settings_field_rss", "simple_history_settings_menu_slug", "simple_history_settings_section");
758
+ # add_settings_field("simple_history_settings_field_4", __("Clear log", "simple-history"), "simple_history_settings_field_clear_log", "simple_history_settings_menu_slug", "simple_history_settings_section");
759
  msgid "RSS feed"
760
  msgstr "تغذية RSS"
761
 
771
  msgid "Show Simple History"
772
  msgstr "إظهار التاريخ المبسط"
773
 
774
+ # if ($show_settings_page) {
775
+ # add_options_page(__('Simple History Settings', "simple-history"), SIMPLE_HISTORY_NAME, $this->view_history_capability, "simple_history_settings_menu_slug", array($this, 'settings_page'));
776
+ # }
777
  msgid "Simple History Settings"
778
  msgstr "إعدادات التاريخ المبسط"
779
 
780
+ # $links,
781
+ # array( sprintf( '<a href="http://eskapism.se/sida/donate/?utm_source=wordpress&utm_medium=pluginpage&utm_campaign=simplehistory">%1$s</a>', __('Donate', "simple-history") ) )
782
+ # );
783
  msgid "Donate"
784
  msgstr "تبرع"
785
 
789
  msgid "WordPress %1$s"
790
  msgstr "ووردبريس %1$s"
791
 
792
+ # if (current_user_can($this->view_history_capability)) {
793
+ # wp_add_dashboard_widget("simple_history_dashboard_widget", __("History", 'simple-history'), "simple_history_dashboard");
794
+ # }
795
  msgid "History"
796
  msgstr "التاريخ"
797
 
798
  # $dummy = __("logged in", "simple-history");
799
  # $dummy = __("logged out", "simple-history");
800
+ # $dummy = __("added", "simple-history");
801
  msgid "logged out"
802
  msgstr "سجّل الخروج"
803
 
813
  msgid "comment"
814
  msgstr "تعليق"
815
 
816
+ # 'new' => __('created', 'sh-extender'),
817
+ # 'edit' => __('edited', 'sh-extender'),
818
+ # 'delete' => __('deleted', 'sh-extender'),
819
  msgid "edited"
820
  msgstr "تم التحرير"
821
 
825
  msgid "settings page"
826
  msgstr "صفحة الإعدادات"
827
 
828
+ # 'action' => $action,
829
+ # 'type' => __('User'),
830
+ # 'name' => apply_filters( 'she_extend_user_name', $user->user_login ),
831
  msgid "user"
832
  msgstr "المستخدم"
833
 
834
+ # $dummy = __("nav_menu_item", "simple-history");
835
+ # $dummy = __("attachment", "simple-history");
836
+ # $dummy = __("user", "simple-history");
837
  msgid "attachment"
838
  msgstr "المرفق"
839
 
843
  msgid "nav_menu_item"
844
  msgstr "عنصر القائمة"
845
 
846
+ # $args = array(
847
+ # 'action' => isset( $r['action'] ) ? $r['action'] : __('updated'),
848
+ # 'object_type' => isset( $r['type'] ) ? $r['type'] : null,
849
  msgid "updated"
850
  msgstr "تم التحديث"
851
 
852
+ # 'edit' => __('edited', 'sh-extender'),
853
+ # 'delete' => __('deleted', 'sh-extender'),
854
+ # 'spam' => __('marked as spam', 'sh-extender'),
855
  msgid "deleted"
856
  msgstr "تم الحذف"
857
 
858
+ # $events = array(
859
+ # 'new' => __('created', 'sh-extender'),
860
+ # 'edit' => __('edited', 'sh-extender'),
861
  msgid "created"
862
  msgstr "تم الإنشاء"
863
 
864
+ # 'trash' => __('trashed', 'sh-extender'),
865
+ # 'untrash' => __('untrashed', 'sh-extender'),
866
+ # 'submit' => __('submitted', 'sh-extender')
867
  msgid "untrashed"
868
  msgstr "تم إلغاء الحذف"
869
 
870
+ # 'unspam' => __('unmarked as spam', 'sh-extender'),
871
+ # 'trash' => __('trashed', 'sh-extender'),
872
+ # 'untrash' => __('untrashed', 'sh-extender'),
873
  msgid "trashed"
874
  msgstr "تم الحذف"
875
 
876
+ # 'delete' => __('deleted', 'sh-extender'),
877
+ # 'spam' => __('marked as spam', 'sh-extender'),
878
+ # 'unspam' => __('unmarked as spam', 'sh-extender'),
879
  msgid "marked as spam"
880
  msgstr "تم التعليم كتعليق غير مرغوب فيه"
881
 
languages/simple-history.pot CHANGED
@@ -1,166 +1,182 @@
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-10-03 19:20:16+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:66
 
 
 
 
16
  msgid "approved"
17
  msgstr ""
18
 
19
- #: index.php:67
20
  msgid "unapproved"
21
  msgstr ""
22
 
23
- #: index.php:68
24
  msgid "marked as spam"
25
  msgstr ""
26
 
27
- #: index.php:69
28
  msgid "trashed"
29
  msgstr ""
30
 
31
- #: index.php:70
32
  msgid "untrashed"
33
  msgstr ""
34
 
35
- #: index.php:71
36
  msgid "created"
37
  msgstr ""
38
 
39
- #: index.php:72
40
  msgid "deleted"
41
  msgstr ""
42
 
43
- #: index.php:73
44
  msgid "updated"
45
  msgstr ""
46
 
47
- #: index.php:74
48
  msgid "nav_menu_item"
49
  msgstr ""
50
 
51
- #: index.php:75 index.php:1423
52
  msgid "attachment"
53
  msgstr ""
54
 
55
- #: index.php:76 index.php:1456
56
  msgid "user"
57
  msgstr ""
58
 
59
- #: index.php:77
60
  msgid "settings page"
61
  msgstr ""
62
 
63
- #: index.php:78
64
  msgid "edited"
65
  msgstr ""
66
 
67
- #: index.php:79
68
  msgid "comment"
69
  msgstr ""
70
 
71
- #: index.php:80
72
  msgid "logged in"
73
  msgstr ""
74
 
75
- #: index.php:81
76
  msgid "logged out"
77
  msgstr ""
78
 
79
- #: index.php:94 index.php:242 index.php:882
 
 
 
 
 
 
 
 
 
 
 
 
80
  msgid "History"
81
  msgstr ""
82
 
83
- #: index.php:154
84
  msgid "WordPress %1$s"
85
  msgstr ""
86
 
87
- #: index.php:167 index.php:257
88
  msgid "Donate"
89
  msgstr ""
90
 
91
- #: index.php:228 index.php:249
92
  msgid "Simple History Settings"
93
  msgstr ""
94
 
95
- #: index.php:254
96
  msgid "Show Simple History"
97
  msgstr ""
98
 
99
- #: index.php:255 index.php:1584
 
 
 
 
100
  msgid "RSS feed"
101
  msgstr ""
102
 
103
- #: index.php:256
104
  msgid "Clear log"
105
  msgstr ""
106
 
107
- #: index.php:297 index.php:340
108
  msgid "History for %s"
109
  msgstr ""
110
 
111
- #: index.php:298 index.php:341
112
  msgid "WordPress History for %s"
113
  msgstr ""
114
 
115
- #: index.php:310
116
  msgid "By %s"
117
  msgstr ""
118
 
119
- #: index.php:314
120
  msgid "%d occasions"
121
  msgstr ""
122
 
123
- #: index.php:345
124
  msgid "Wrong RSS secret"
125
  msgstr ""
126
 
127
- #: index.php:346
128
  msgid ""
129
  "Your RSS secret for Simple History RSS feed is wrong. Please see WordPress "
130
  "settings for current link to the RSS feed."
131
  msgstr ""
132
 
133
- #: index.php:366 index.php:1064
134
- msgid "By all users"
135
- msgstr ""
136
-
137
- #: index.php:415 index.php:1116
138
  msgid "One item"
139
  msgid_plural "%1$d items"
140
  msgstr[0] ""
141
  msgstr[1] ""
142
 
143
- #: index.php:456
144
  msgid "on the dashboard"
145
  msgstr ""
146
 
147
- #: index.php:461
148
  msgid "as a page under the dashboard menu"
149
  msgstr ""
150
 
151
- #: index.php:476
152
  msgid "Cleared database"
153
  msgstr ""
154
 
155
- #: index.php:484
156
  msgid "Items in the database are automatically removed after 60 days."
157
  msgstr ""
158
 
159
- #: index.php:486
160
  msgid "Clear it now."
161
  msgstr ""
162
 
163
- #: index.php:500
164
  msgid ""
165
  "\n"
166
  "\t\t\tPlease\n"
@@ -172,160 +188,513 @@ msgid ""
172
  "\t\t\t"
173
  msgstr ""
174
 
175
- #: index.php:536
176
- msgid "Created new secret RSS adress"
177
  msgstr ""
178
 
179
- #: index.php:547
180
  msgid ""
181
  "This is a secret RSS feed for Simple History. Only share the link with "
182
  "people you trust"
183
  msgstr ""
184
 
185
- #: index.php:550
186
  msgid ""
187
  "You can <a href='%s'>generate a new address</a> for the RSS feed. This is "
188
  "useful if you think that the address has fallen into the wrong hands."
189
  msgstr ""
190
 
191
- #: index.php:573 index.php:589 index.php:621
192
  msgid "From %1$s on %2$s"
193
  msgstr ""
194
 
195
- #: index.php:975
196
  msgid "All types"
197
  msgstr ""
198
 
199
- #: index.php:1083
 
 
 
 
200
  msgid "Search"
201
  msgstr ""
202
 
203
- #: index.php:1120
204
  msgid "Go to the first page"
205
  msgstr ""
206
 
207
- #: index.php:1121
208
  msgid "Go to the previous page"
209
  msgstr ""
210
 
211
- #: index.php:1122
212
  msgid "Current page"
213
  msgstr ""
214
 
215
- #: index.php:1123
216
  msgid "of"
217
  msgstr ""
218
 
219
- #: index.php:1124
220
  msgid "Go to the next page"
221
  msgstr ""
222
 
223
- #: index.php:1125
224
  msgid "Go to the last page"
225
  msgstr ""
226
 
227
- #: index.php:1385
228
  msgid "Unknown or deleted user"
229
  msgstr ""
230
 
231
- #: index.php:1506
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
  msgid "activated"
233
  msgstr ""
234
 
235
- #: index.php:1509
236
  msgid "deactivated"
237
  msgstr ""
238
 
239
- #: index.php:1512
240
  msgid "enabled"
241
  msgstr ""
242
 
243
- #: index.php:1515
244
  msgid "disabled"
245
  msgstr ""
246
 
247
- #: index.php:1530
248
  msgid "<span class=\"when\">%1$s ago</span> by %2$s"
249
  msgstr ""
250
 
251
- #: index.php:1532
252
  msgid "%s at %s"
253
  msgstr ""
254
 
255
- #: index.php:1539
256
  msgid "+ 1 occasion"
257
  msgstr ""
258
 
259
- #: index.php:1542
260
  msgid "+ %d occasions"
261
  msgstr ""
262
 
263
- #: index.php:1550
264
  msgid "%s ago (%s at %s)"
265
  msgstr ""
266
 
267
- #: index.php:1575
268
  msgid "Show 5 more"
269
  msgstr ""
270
 
271
- #: index.php:1576
272
  msgid "Show 15 more"
273
  msgstr ""
274
 
275
- #: index.php:1577
276
  msgid "Show 50 more"
277
  msgstr ""
278
 
279
- #: index.php:1578
280
  msgid "Show 100 more"
281
  msgstr ""
282
 
283
- #: index.php:1581
284
- msgid "Loading..."
285
- msgstr ""
286
-
287
- #: index.php:1583
288
  msgid "No matching items found."
289
  msgstr ""
290
 
291
- #: index.php:1586
292
  msgid "Show"
293
  msgstr ""
294
 
295
- #: index.php:1605
 
 
 
 
296
  msgid "No history items found."
297
  msgstr ""
298
 
299
- #: index.php:1606
300
  msgid ""
301
  "Please note that Simple History only records things that happen after this "
302
  "plugin have been installed."
303
  msgstr ""
304
 
305
- #: index.php:1619
306
  msgid "General Settings"
307
  msgstr ""
308
 
309
- #: index.php:1620
310
  msgid "Writing Settings"
311
  msgstr ""
312
 
313
- #: index.php:1621
314
  msgid "Reading Settings"
315
  msgstr ""
316
 
317
- #: index.php:1622
318
  msgid "Discussion Settings"
319
  msgstr ""
320
 
321
- #: index.php:1623
322
  msgid "Media Settings"
323
  msgstr ""
324
 
325
- #: index.php:1624
326
  msgid "Privacy Settings"
327
  msgstr ""
328
 
329
- #: index.php:1640
330
  msgid "Permalink Settings"
331
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2013
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: 2013-04-22 06:14:22+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: 2013-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:93 index.php:110
16
+ msgid "added"
17
+ msgstr ""
18
+
19
+ #: index.php:94
20
  msgid "approved"
21
  msgstr ""
22
 
23
+ #: index.php:95
24
  msgid "unapproved"
25
  msgstr ""
26
 
27
+ #: index.php:96 simple-history-extender/class.simple-history-extend.php:92
28
  msgid "marked as spam"
29
  msgstr ""
30
 
31
+ #: index.php:97 simple-history-extender/class.simple-history-extend.php:94
32
  msgid "trashed"
33
  msgstr ""
34
 
35
+ #: index.php:98 simple-history-extender/class.simple-history-extend.php:95
36
  msgid "untrashed"
37
  msgstr ""
38
 
39
+ #: index.php:99 simple-history-extender/class.simple-history-extend.php:89
40
  msgid "created"
41
  msgstr ""
42
 
43
+ #: index.php:100 simple-history-extender/class.simple-history-extend.php:91
44
  msgid "deleted"
45
  msgstr ""
46
 
47
+ #: index.php:101 simple-history-extender/class.simple-history-extend.php:239
48
  msgid "updated"
49
  msgstr ""
50
 
51
+ #: index.php:102
52
  msgid "nav_menu_item"
53
  msgstr ""
54
 
55
+ #: index.php:103 index.php:1715
56
  msgid "attachment"
57
  msgstr ""
58
 
59
+ #: index.php:104 index.php:1796
60
  msgid "user"
61
  msgstr ""
62
 
63
+ #: index.php:105
64
  msgid "settings page"
65
  msgstr ""
66
 
67
+ #: index.php:106 simple-history-extender/class.simple-history-extend.php:90
68
  msgid "edited"
69
  msgstr ""
70
 
71
+ #: index.php:107
72
  msgid "comment"
73
  msgstr ""
74
 
75
+ #: index.php:108
76
  msgid "logged in"
77
  msgstr ""
78
 
79
+ #: index.php:109
80
  msgid "logged out"
81
  msgstr ""
82
 
83
+ #: index.php:111
84
+ msgid "modified"
85
+ msgstr ""
86
+
87
+ #: index.php:112
88
+ msgid "upgraded it\\'s database"
89
+ msgstr ""
90
+
91
+ #: index.php:113
92
+ msgid "plugin"
93
+ msgstr ""
94
+
95
+ #: index.php:126 index.php:285 index.php:1027
96
  msgid "History"
97
  msgstr ""
98
 
99
+ #: index.php:186
100
  msgid "WordPress %1$s"
101
  msgstr ""
102
 
103
+ #: index.php:199 index.php:301
104
  msgid "Donate"
105
  msgstr ""
106
 
107
+ #: index.php:271 index.php:292
108
  msgid "Simple History Settings"
109
  msgstr ""
110
 
111
+ #: index.php:297
112
  msgid "Show Simple History"
113
  msgstr ""
114
 
115
+ #: index.php:298
116
+ msgid "Number of items per page"
117
+ msgstr ""
118
+
119
+ #: index.php:299 index.php:1938
120
  msgid "RSS feed"
121
  msgstr ""
122
 
123
+ #: index.php:300
124
  msgid "Clear log"
125
  msgstr ""
126
 
127
+ #: index.php:353 index.php:412
128
  msgid "History for %s"
129
  msgstr ""
130
 
131
+ #: index.php:354 index.php:413
132
  msgid "WordPress History for %s"
133
  msgstr ""
134
 
135
+ #: index.php:377
136
  msgid "By %s"
137
  msgstr ""
138
 
139
+ #: index.php:381
140
  msgid "%d occasions"
141
  msgstr ""
142
 
143
+ #: index.php:416
144
  msgid "Wrong RSS secret"
145
  msgstr ""
146
 
147
+ #: index.php:417
148
  msgid ""
149
  "Your RSS secret for Simple History RSS feed is wrong. Please see WordPress "
150
  "settings for current link to the RSS feed."
151
  msgstr ""
152
 
153
+ #: index.php:496 index.php:1397
 
 
 
 
154
  msgid "One item"
155
  msgid_plural "%1$d items"
156
  msgstr[0] ""
157
  msgstr[1] ""
158
 
159
+ #: index.php:559
160
  msgid "on the dashboard"
161
  msgstr ""
162
 
163
+ #: index.php:564
164
  msgid "as a page under the dashboard menu"
165
  msgstr ""
166
 
167
+ #: index.php:579
168
  msgid "Cleared database"
169
  msgstr ""
170
 
171
+ #: index.php:587
172
  msgid "Items in the database are automatically removed after 60 days."
173
  msgstr ""
174
 
175
+ #: index.php:589
176
  msgid "Clear it now."
177
  msgstr ""
178
 
179
+ #: index.php:603
180
  msgid ""
181
  "\n"
182
  "\t\t\tPlease\n"
188
  "\t\t\t"
189
  msgstr ""
190
 
191
+ #: index.php:637
192
+ msgid "Created new secret RSS address"
193
  msgstr ""
194
 
195
+ #: index.php:648
196
  msgid ""
197
  "This is a secret RSS feed for Simple History. Only share the link with "
198
  "people you trust"
199
  msgstr ""
200
 
201
+ #: index.php:651
202
  msgid ""
203
  "You can <a href='%s'>generate a new address</a> for the RSS feed. This is "
204
  "useful if you think that the address has fallen into the wrong hands."
205
  msgstr ""
206
 
207
+ #: index.php:702 index.php:718 index.php:750
208
  msgid "From %1$s on %2$s"
209
  msgstr ""
210
 
211
+ #: index.php:1144
212
  msgid "All types"
213
  msgstr ""
214
 
215
+ #: index.php:1305 index.php:1309
216
+ msgid "By all users"
217
+ msgstr ""
218
+
219
+ #: index.php:1363
220
  msgid "Search"
221
  msgstr ""
222
 
223
+ #: index.php:1401
224
  msgid "Go to the first page"
225
  msgstr ""
226
 
227
+ #: index.php:1402
228
  msgid "Go to the previous page"
229
  msgstr ""
230
 
231
+ #: index.php:1403
232
  msgid "Current page"
233
  msgstr ""
234
 
235
+ #: index.php:1404
236
  msgid "of"
237
  msgstr ""
238
 
239
+ #: index.php:1405
240
  msgid "Go to the next page"
241
  msgstr ""
242
 
243
+ #: index.php:1406
244
  msgid "Go to the last page"
245
  msgstr ""
246
 
247
+ #: index.php:1669
248
  msgid "Unknown or deleted user"
249
  msgstr ""
250
 
251
+ #: index.php:1764
252
+ msgid "File name:"
253
+ msgstr ""
254
+
255
+ #: index.php:1765
256
+ msgid "File size:"
257
+ msgstr ""
258
+
259
+ #: index.php:1767
260
+ msgid "Dimensions:"
261
+ msgstr ""
262
+
263
+ #: index.php:1768
264
+ msgid "Length:"
265
+ msgstr ""
266
+
267
+ #: index.php:1848 simple-history-extender/simple-history-extender.php:274
268
  msgid "activated"
269
  msgstr ""
270
 
271
+ #: index.php:1851 simple-history-extender/simple-history-extender.php:274
272
  msgid "deactivated"
273
  msgstr ""
274
 
275
+ #: index.php:1854
276
  msgid "enabled"
277
  msgstr ""
278
 
279
+ #: index.php:1857
280
  msgid "disabled"
281
  msgstr ""
282
 
283
+ #: index.php:1873
284
  msgid "<span class=\"when\">%1$s ago</span> by %2$s"
285
  msgstr ""
286
 
287
+ #: index.php:1875
288
  msgid "%s at %s"
289
  msgstr ""
290
 
291
+ #: index.php:1897
292
  msgid "+ 1 occasion"
293
  msgstr ""
294
 
295
+ #: index.php:1900
296
  msgid "+ %d occasions"
297
  msgstr ""
298
 
299
+ #: index.php:1908
300
  msgid "%s ago (%s at %s)"
301
  msgstr ""
302
 
303
+ #: index.php:1931
304
  msgid "Show 5 more"
305
  msgstr ""
306
 
307
+ #: index.php:1932
308
  msgid "Show 15 more"
309
  msgstr ""
310
 
311
+ #: index.php:1933
312
  msgid "Show 50 more"
313
  msgstr ""
314
 
315
+ #: index.php:1934
316
  msgid "Show 100 more"
317
  msgstr ""
318
 
319
+ #: index.php:1937
 
 
 
 
320
  msgid "No matching items found."
321
  msgstr ""
322
 
323
+ #: index.php:1940
324
  msgid "Show"
325
  msgstr ""
326
 
327
+ #: index.php:1946
328
+ msgid "Loading..."
329
+ msgstr ""
330
+
331
+ #: index.php:1965
332
  msgid "No history items found."
333
  msgstr ""
334
 
335
+ #: index.php:1966
336
  msgid ""
337
  "Please note that Simple History only records things that happen after this "
338
  "plugin have been installed."
339
  msgstr ""
340
 
341
+ #: index.php:1979
342
  msgid "General Settings"
343
  msgstr ""
344
 
345
+ #: index.php:1980
346
  msgid "Writing Settings"
347
  msgstr ""
348
 
349
+ #: index.php:1981
350
  msgid "Reading Settings"
351
  msgstr ""
352
 
353
+ #: index.php:1982
354
  msgid "Discussion Settings"
355
  msgstr ""
356
 
357
+ #: index.php:1983
358
  msgid "Media Settings"
359
  msgstr ""
360
 
361
+ #: index.php:1984
362
  msgid "Privacy Settings"
363
  msgstr ""
364
 
365
+ #: index.php:2000
366
  msgid "Permalink Settings"
367
  msgstr ""
368
+
369
+ #: simple-history-extender/class.simple-history-extend.php:68
370
+ msgid "Log events for the %s plugin."
371
+ msgstr ""
372
+
373
+ #: simple-history-extender/class.simple-history-extend.php:69
374
+ msgid "Log events for %s."
375
+ msgstr ""
376
+
377
+ #: simple-history-extender/class.simple-history-extend.php:93
378
+ msgid "unmarked as spam"
379
+ msgstr ""
380
+
381
+ #: simple-history-extender/class.simple-history-extend.php:96
382
+ msgid "submitted"
383
+ msgstr ""
384
+
385
+ #: simple-history-extender/class.simple-history-extend.php:150
386
+ msgid "The %s module logs the following events:"
387
+ msgstr ""
388
+
389
+ #: simple-history-extender/class.simple-history-extend.php:165
390
+ msgid "The %s module does not support the following events:"
391
+ msgstr ""
392
+
393
+ #: simple-history-extender/class.simple-history-extend.php:263
394
+ msgid "User"
395
+ msgstr ""
396
+
397
+ #: simple-history-extender/modules/bbpress.php:28
398
+ msgid "BBPress"
399
+ msgstr ""
400
+
401
+ #: simple-history-extender/modules/bbpress.php:32
402
+ msgid "Creating, editing and deleting a forum, topic, reply."
403
+ msgstr ""
404
+
405
+ #: simple-history-extender/modules/bbpress.php:33
406
+ msgid "Setting the type of a forum to category or forum."
407
+ msgstr ""
408
+
409
+ #: simple-history-extender/modules/bbpress.php:34
410
+ msgid "Setting the status of a forum, topic to open or closed."
411
+ msgstr ""
412
+
413
+ #: simple-history-extender/modules/bbpress.php:35
414
+ msgid "Setting the forum visibility to public, private or hidden."
415
+ msgstr ""
416
+
417
+ #: simple-history-extender/modules/bbpress.php:36
418
+ msgid "Trashing and untrashing a forum, topic, reply."
419
+ msgstr ""
420
+
421
+ #: simple-history-extender/modules/bbpress.php:37
422
+ msgid "Marking and unmarking a topic, reply as spam."
423
+ msgstr ""
424
+
425
+ #: simple-history-extender/modules/bbpress.php:38
426
+ msgid "Marking and unmarking a topic as sticky."
427
+ msgstr ""
428
+
429
+ #: simple-history-extender/modules/bbpress.php:39
430
+ msgid "Merging and splitting a topic."
431
+ msgstr ""
432
+
433
+ #: simple-history-extender/modules/bbpress.php:40
434
+ msgid "Updating, merging and deleting a topic tag."
435
+ msgstr ""
436
+
437
+ #: simple-history-extender/modules/bbpress.php:41
438
+ msgid "A user (un)favoriting and (un)subscribing to a topic."
439
+ msgstr ""
440
+
441
+ #: simple-history-extender/modules/bbpress.php:42
442
+ msgid "A user saving his/her profile."
443
+ msgstr ""
444
+
445
+ #: simple-history-extender/modules/bbpress.php:53
446
+ msgid "closed"
447
+ msgstr ""
448
+
449
+ #: simple-history-extender/modules/bbpress.php:54
450
+ msgid "opened"
451
+ msgstr ""
452
+
453
+ #: simple-history-extender/modules/bbpress.php:55
454
+ msgid "marked as sticky"
455
+ msgstr ""
456
+
457
+ #: simple-history-extender/modules/bbpress.php:56
458
+ msgid "marked as super sticky"
459
+ msgstr ""
460
+
461
+ #: simple-history-extender/modules/bbpress.php:57
462
+ msgid "unmarked as sticky"
463
+ msgstr ""
464
+
465
+ #: simple-history-extender/modules/bbpress.php:58
466
+ msgid "set to category type"
467
+ msgstr ""
468
+
469
+ #: simple-history-extender/modules/bbpress.php:59
470
+ msgid "set to forum type"
471
+ msgstr ""
472
+
473
+ #: simple-history-extender/modules/bbpress.php:60
474
+ msgid "set to public"
475
+ msgstr ""
476
+
477
+ #: simple-history-extender/modules/bbpress.php:61
478
+ msgid "set to private"
479
+ msgstr ""
480
+
481
+ #: simple-history-extender/modules/bbpress.php:62
482
+ msgid "set to hidden"
483
+ msgstr ""
484
+
485
+ #: simple-history-extender/modules/bbpress.php:63
486
+ msgid "in forum %s merged into %s"
487
+ msgstr ""
488
+
489
+ #: simple-history-extender/modules/bbpress.php:64
490
+ msgid "in forum %s split from reply %s by %s into %s in forum %s"
491
+ msgstr ""
492
+
493
+ #: simple-history-extender/modules/bbpress.php:131
494
+ msgid "Forum"
495
+ msgstr ""
496
+
497
+ #: simple-history-extender/modules/bbpress.php:141
498
+ msgid "Topic"
499
+ msgstr ""
500
+
501
+ #: simple-history-extender/modules/bbpress.php:150
502
+ msgid "Topic Tag"
503
+ msgstr ""
504
+
505
+ #: simple-history-extender/modules/bbpress.php:161
506
+ msgid "by %s"
507
+ msgstr ""
508
+
509
+ #: simple-history-extender/modules/bbpress.php:162
510
+ msgid "Reply"
511
+ msgstr ""
512
+
513
+ #: simple-history-extender/modules/bbpress.php:174
514
+ msgid "as child of %s"
515
+ msgstr ""
516
+
517
+ #: simple-history-extender/modules/bbpress.php:235
518
+ #: simple-history-extender/modules/bbpress.php:245
519
+ msgid "in forum %s"
520
+ msgstr ""
521
+
522
+ #: simple-history-extender/modules/bbpress.php:358
523
+ msgid "favorited"
524
+ msgstr ""
525
+
526
+ #: simple-history-extender/modules/bbpress.php:362
527
+ msgid "unfavorited"
528
+ msgstr ""
529
+
530
+ #: simple-history-extender/modules/bbpress.php:366
531
+ msgid "subscribed"
532
+ msgstr ""
533
+
534
+ #: simple-history-extender/modules/bbpress.php:370
535
+ msgid "unsubscribed"
536
+ msgstr ""
537
+
538
+ #: simple-history-extender/modules/bbpress.php:374
539
+ msgid "profile updated"
540
+ msgstr ""
541
+
542
+ #: simple-history-extender/modules/bbpress.php:378
543
+ msgid "registered"
544
+ msgstr ""
545
+
546
+ #: simple-history-extender/modules/bbpress.php:390
547
+ msgid "changed forum role to %s"
548
+ msgstr ""
549
+
550
+ #: simple-history-extender/modules/bbpress.php:390
551
+ msgid "none"
552
+ msgstr ""
553
+
554
+ #: simple-history-extender/modules/gravityforms.php:28
555
+ msgid "Gravity Forms"
556
+ msgstr ""
557
+
558
+ #: simple-history-extender/modules/gravityforms.php:32
559
+ msgid "Creating, editing and deleting a form."
560
+ msgstr ""
561
+
562
+ #: simple-history-extender/modules/gravityforms.php:33
563
+ msgid "Deleting a field from an existing form."
564
+ msgstr ""
565
+
566
+ #: simple-history-extender/modules/gravityforms.php:34
567
+ msgid "Submitting, editing and deleting an entry."
568
+ msgstr ""
569
+
570
+ #: simple-history-extender/modules/gravityforms.php:35
571
+ msgid "Changing the status of an entry, including read/unread and star/unstar."
572
+ msgstr ""
573
+
574
+ #: simple-history-extender/modules/gravityforms.php:38
575
+ msgid "Duplicating a form."
576
+ msgstr ""
577
+
578
+ #: simple-history-extender/modules/gravityforms.php:39
579
+ msgid "Setting a form to active/inactive."
580
+ msgstr ""
581
+
582
+ #: simple-history-extender/modules/gravityforms.php:48
583
+ msgid "starred"
584
+ msgstr ""
585
+
586
+ #: simple-history-extender/modules/gravityforms.php:49
587
+ msgid "unstarred"
588
+ msgstr ""
589
+
590
+ #: simple-history-extender/modules/gravityforms.php:50
591
+ msgid "marked as read"
592
+ msgstr ""
593
+
594
+ #: simple-history-extender/modules/gravityforms.php:51
595
+ msgid "marked as unread"
596
+ msgstr ""
597
+
598
+ #: simple-history-extender/modules/gravityforms.php:110
599
+ msgid "from %s"
600
+ msgstr ""
601
+
602
+ #: simple-history-extender/modules/gravityforms.php:112
603
+ msgid "from unknown"
604
+ msgstr ""
605
+
606
+ #: simple-history-extender/modules/gravityforms.php:120
607
+ msgid "Form"
608
+ msgstr ""
609
+
610
+ #: simple-history-extender/modules/gravityforms.php:129
611
+ msgid "Form entry"
612
+ msgstr ""
613
+
614
+ #: simple-history-extender/modules/gravityforms.php:150
615
+ msgid "without entries deleted"
616
+ msgstr ""
617
+
618
+ #: simple-history-extender/modules/gravityforms.php:151
619
+ msgid "with %d entries deleted"
620
+ msgstr ""
621
+
622
+ #: simple-history-extender/modules/gravityforms.php:160
623
+ msgid "field %s deleted"
624
+ msgstr ""
625
+
626
+ #: simple-history-extender/modules/gravityforms.php:201
627
+ msgid "restored"
628
+ msgstr ""
629
+
630
+ #: simple-history-extender/modules/gravityforms.php:206
631
+ msgid "changed status"
632
+ msgstr ""
633
+
634
+ #: simple-history-extender/modules/widgets.php:25
635
+ msgid "Widgets"
636
+ msgstr ""
637
+
638
+ #: simple-history-extender/modules/widgets.php:27
639
+ msgid "Log events for the Widgets section of your WP install."
640
+ msgstr ""
641
+
642
+ #: simple-history-extender/modules/widgets.php:30
643
+ msgid "Adding, updating and deleting widgets in/from a sidebar."
644
+ msgstr ""
645
+
646
+ #: simple-history-extender/modules/widgets.php:33
647
+ msgid "Moving widgets between sidebars."
648
+ msgstr ""
649
+
650
+ #: simple-history-extender/modules/widgets.php:34
651
+ msgid "Setting a widget to active/inactive."
652
+ msgstr ""
653
+
654
+ #: simple-history-extender/modules/widgets.php:86
655
+ msgid "removed from sidebar %s"
656
+ msgstr ""
657
+
658
+ #: simple-history-extender/modules/widgets.php:88
659
+ msgid "updated in sidebar %s"
660
+ msgstr ""
661
+
662
+ #: simple-history-extender/modules/widgets.php:90
663
+ msgid "added to sidebar %s"
664
+ msgstr ""
665
+
666
+ #: simple-history-extender/modules/widgets.php:95
667
+ msgid "Widget"
668
+ msgstr ""
669
+
670
+ #: simple-history-extender/simple-history-extender.php:139
671
+ msgid "Settings"
672
+ msgstr ""
673
+
674
+ #: simple-history-extender/simple-history-extender.php:162
675
+ msgid ""
676
+ "The Simple History Extender plugin was deactivated because the Simple "
677
+ "History plugin was not found installed or active."
678
+ msgstr ""
679
+
680
+ #: simple-history-extender/simple-history-extender.php:163
681
+ msgid "The Simple History Extender plugin was deactivated."
682
+ msgstr ""
683
+
684
+ #: simple-history-extender/simple-history-extender.php:167
685
+ msgid "Return"
686
+ msgstr ""
687
+
688
+ #: simple-history-extender/simple-history-extender.php:226
689
+ msgid "Simple History Extender Modules"
690
+ msgstr ""
691
+
692
+ #: simple-history-extender/simple-history-extender.php:236
693
+ msgid ""
694
+ "Activate or deactivate the events you want to log. Read the Help tab if you "
695
+ "want to know which actions are supported and which aren't."
696
+ msgstr ""
697
+
698
+ #: simple-history-extender/simple-history-extender.php:275
699
+ msgid "Simple History Extender Module"
700
+ msgstr ""
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Simple History ===
2
  Contributors: eskapism, MarsApril, offereins
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.5.1
6
  Tested up to: 3.5.1
7
- Stable tag: 1.1
8
 
9
  View changes made by users within WordPress. See who created a page, uploaded an attachment or approved an comment, and more.
10
 
@@ -16,7 +16,7 @@ The plugin works as a log/history/audit log/version history of the most importan
16
 
17
  Out of the box Simple History has support for:
18
 
19
- * **Posts and pages - see who added, updated or deleted a post or page
20
  * **Attachments** - see who added, updated or deleted an attachment
21
  * **Comments** - see who edited, approved or removed a comment
22
  * **Widgets** - get info when someone adds, updates or removes a widget in a sidebar
@@ -26,6 +26,8 @@ Out of the box Simple History has support for:
26
  * **bbPress** - view changes to forums and topics and view user changes
27
  * **Gravity Forms** - see who created, edited or deleted a form, field, or entry
28
 
 
 
29
  There is also a **RSS feed of changes** available, so you can keep track of the changes made
30
  via your favorite RSS reader on your phone, on your iPad, or on your computer.
31
 
@@ -91,7 +93,22 @@ add_action("simple_history_allow_db_purge", function($bool) {
91
  ?>
92
  `
93
 
94
- #### Translations/Languages
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
 
96
  This plugin is available in the following languages:
97
 
@@ -104,6 +121,10 @@ This plugin is available in the following languages:
104
 
105
  Lots of thanks to the translators!
106
 
 
 
 
 
107
  #### Donation and more plugins
108
  * If you like this plugin don't forget to [donate to support further development](http://eskapism.se/sida/donate/).
109
  * More [WordPress CMS plugins](http://wordpress.org/extend/plugins/profile/eskapism) by the same author.
@@ -117,10 +138,12 @@ Lots of thanks to the translators!
117
  Now Simple History will be visible in a submenu under the dashboard main menu. You can also show it directly on the dashboard by modified Simple History's settings page.
118
 
119
  == Feedback ==
 
120
  Like the plugin? Dislike it? Got bugs or feature request?
121
- Great! Contact me at par.thernstrom@gmail.com or at twitter.com/eskapism and hopefully
122
  I can do something about it.
123
 
 
124
  == Screenshots ==
125
 
126
  1. Simple History showing som recent changes to my posts, users and attachments.
@@ -132,8 +155,19 @@ to only use the secret RSS feed to keep track of the changes on you web site/Wor
132
 
133
  4. Widgets can be tracked too!
134
 
 
135
  == Changelog ==
136
 
 
 
 
 
 
 
 
 
 
 
137
  = 1.1 =
138
  - Added the Simple History Extender-module/plugin. With this great addon to Simple History it is very easy for other developers to add their own actions to simple history, including a settings panel to check actions on/off. All work on this module was made by Laurens Offereins (lmoffereins@gmail.com). Super thanks!
139
  - With the help of Simple History Extender this plugin also tracks changes made in bbPress, Gravity Forms and in Widges. Awesome!
@@ -292,3 +326,5 @@ by admin (John Doe), just now
292
 
293
  = 0.1 =
294
  * First public version. It works!
 
 
1
  === Simple History ===
2
  Contributors: eskapism, MarsApril, offereins
3
  Donate link: http://eskapism.se/sida/donate/
4
+ Tags: history, log, changes, changelog, audit, trail, pages, attachments, users, cms, dashboard, admin, syslog
5
  Requires at least: 3.5.1
6
  Tested up to: 3.5.1
7
+ Stable tag: 1.2
8
 
9
  View changes made by users within WordPress. See who created a page, uploaded an attachment or approved an comment, and more.
10
 
16
 
17
  Out of the box Simple History has support for:
18
 
19
+ * **Posts and pages** - see who added, updated or deleted a post or page
20
  * **Attachments** - see who added, updated or deleted an attachment
21
  * **Comments** - see who edited, approved or removed a comment
22
  * **Widgets** - get info when someone adds, updates or removes a widget in a sidebar
26
  * **bbPress** - view changes to forums and topics and view user changes
27
  * **Gravity Forms** - see who created, edited or deleted a form, field, or entry
28
 
29
+ With it's easy to use Extender system, developers can add their own settings and items to track.
30
+
31
  There is also a **RSS feed of changes** available, so you can keep track of the changes made
32
  via your favorite RSS reader on your phone, on your iPad, or on your computer.
33
 
93
  ?>
94
  `
95
 
96
+ #### Filters
97
+
98
+ Available filters if you want to modify any behavior
99
+
100
+ * simple_history_rss_item_title
101
+ * simple_history_view_history_capability
102
+ * simple_history_show_settings_page
103
+ * simple_history_rss_item_description
104
+ * simple_history_rss_item_title
105
+ * simple_history_show_on_dashboard
106
+ * simple_history_show_as_page
107
+ * simple_history_allow_db_purge
108
+ * simple_history_db_purge_days_interval
109
+
110
+
111
+ #### Translations/Languages
112
 
113
  This plugin is available in the following languages:
114
 
121
 
122
  Lots of thanks to the translators!
123
 
124
+ #### Contribute at GitHub
125
+ Development of this plugin takes place at GitHub. Please join in with feature requests, bug reports, or even pull requests!
126
+ https://github.com/bonny/WordPress-Simple-History
127
+
128
  #### Donation and more plugins
129
  * If you like this plugin don't forget to [donate to support further development](http://eskapism.se/sida/donate/).
130
  * More [WordPress CMS plugins](http://wordpress.org/extend/plugins/profile/eskapism) by the same author.
138
  Now Simple History will be visible in a submenu under the dashboard main menu. You can also show it directly on the dashboard by modified Simple History's settings page.
139
 
140
  == Feedback ==
141
+
142
  Like the plugin? Dislike it? Got bugs or feature request?
143
+ Great! Contact me at par.thernstrom@gmail.com or at https://twitter.com/eskapism and hopefully
144
  I can do something about it.
145
 
146
+
147
  == Screenshots ==
148
 
149
  1. Simple History showing som recent changes to my posts, users and attachments.
155
 
156
  4. Widgets can be tracked too!
157
 
158
+
159
  == Changelog ==
160
 
161
+ = 1.2 =
162
+ - Fixed: Plugin name is included when plugins is activated or deactivated. Previosuly only folder name and name of php file was included.
163
+ - Added: Attachment thumbnails are now visible if history item is an attachment. Also includes some metadata.
164
+ - Changed: Filters now use dropdowns for type and user. When a site had lots of users and lots of post types, the filter section could be way to big.
165
+ - Added keyboard navigation. Use right and left arrow when you are on Simple History's own page to navigation between next and previous history page.
166
+ - Added loading indicator, so you know it's grabbing your history, even if it's taking a while
167
+ - Misc JS and CSS fixes
168
+ - Arabic translation updated
169
+ - POT-file updated
170
+
171
  = 1.1 =
172
  - Added the Simple History Extender-module/plugin. With this great addon to Simple History it is very easy for other developers to add their own actions to simple history, including a settings panel to check actions on/off. All work on this module was made by Laurens Offereins (lmoffereins@gmail.com). Super thanks!
173
  - With the help of Simple History Extender this plugin also tracks changes made in bbPress, Gravity Forms and in Widges. Awesome!
326
 
327
  = 0.1 =
328
  * First public version. It works!
329
+
330
+
scripts.js CHANGED
@@ -1,8 +1,101 @@
1
 
2
  /**
3
- * load history items via ajax
4
  */
5
- var simple_history_current_page = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
  // search on enter
8
  jQuery(document).on("keyup", ".simple-history-filter-search input[type='text'], .simple-history-tablenav .current-page", function(e) {
@@ -20,9 +113,9 @@ jQuery(document).on("keyup", ".simple-history-filter-search input[type='text'],
20
  }
21
  });
22
 
23
- // click on filter-link = load new via ajax
24
  // begin at position 0 unless click on pagination then check pagination page
25
- jQuery(".simple-history-filter a, .simple-history-filter input[type='button'], .simple-history-tablenav a").live("click", function(e, extraParams) {
26
 
27
  var $t = jQuery(this),
28
  $ol = jQuery("ol.simple-history"),
@@ -30,6 +123,7 @@ jQuery(".simple-history-filter a, .simple-history-filter input[type='button'], .
30
  num_added = $ol.find("> li").length,
31
  search = jQuery("p.simple-history-filter-search input[type='text']").val(),
32
  $target = jQuery(e.target),
 
33
  $tablenav = jQuery("div.simple-history-tablenav"),
34
  $current_page = $tablenav.find(".current-page"),
35
  $total_pages = $tablenav.find(".total-pages"),
@@ -37,23 +131,25 @@ jQuery(".simple-history-filter a, .simple-history-filter input[type='button'], .
37
  $prev_page = $tablenav.find(".prev-page"),
38
  $first_page = $tablenav.find(".first-page"),
39
  $last_page = $tablenav.find(".last-page"),
40
- $displaying_num = $tablenav.find(".displaying-num");
 
 
41
 
42
  e.preventDefault();
43
 
44
  // if target is a child of simple-history-tablenav then this is a click in pagination
45
  if ($t.closest("div.simple-history-tablenav").length > 0) {
46
-
47
- if ($target.hasClass("disabled")) {
48
  return;
49
- } else if ($target.hasClass("first-page")) {
50
  simple_history_current_page = 0;
51
- } else if ($target.hasClass("last-page")) {
52
- simple_history_current_page = $total_pages.text()-1;
53
- } else if ($target.hasClass("prev-page")) {
54
- simple_history_current_page = simple_history_current_page-1;
55
- } else if ($target.hasClass("next-page")) {
56
- simple_history_current_page = simple_history_current_page+1;
57
  }
58
 
59
  } else {
@@ -62,7 +158,7 @@ jQuery(".simple-history-filter a, .simple-history-filter input[type='button'], .
62
 
63
  if (extraParams && extraParams.enterType && extraParams.enterType == "goToPage") {
64
  // pressed enter on go to page-input
65
- simple_history_current_page = parseInt($current_page.val())-1; // -1 because we add one later on. feels kinda wierd, I know.
66
  if (isNaN(simple_history_current_page)) {
67
  simple_history_current_page = 0;
68
  }
@@ -73,58 +169,50 @@ jQuery(".simple-history-filter a, .simple-history-filter input[type='button'], .
73
  }
74
  }
75
 
76
- // so dashboard widget does not collapse when loading new items
77
- $wrapper.height($wrapper.height());
78
-
79
- $t.closest("ul").find("li").removeClass("selected");
80
- $t.closest("li").addClass("selected");
81
-
82
- jQuery(".simple-history-load-more").hide("fast");
83
- jQuery(".simple-history-no-more-items").hide();
84
- $ol.fadeOut("fast");
85
 
86
  // update current page
87
  $current_page.val(simple_history_current_page+1);
88
-
89
- var type = jQuery("ul.simple-history-filter-type li.selected").data("simple-history-filter-type");
90
- var subtype = jQuery("ul.simple-history-filter-type li.selected").data("simple-history-filter-subtype");
91
-
92
  var data = {
93
  "action": "simple_history_ajax",
94
- "type": type,
95
- "subtype" : subtype,
96
- "user": jQuery("ul.simple-history-filter-user li.selected a").text(),
97
  "search": search,
98
  "num_added": num_added,
99
  "page": simple_history_current_page
100
  };
101
- jQuery.post(ajaxurl, data, function(data, textStatus, XMLHttpRequest){
 
 
 
 
 
 
102
 
 
103
  if (data.error == "noMoreItems") {
104
- // jQuery(".simple-history-load-more,.simple-history-load-more-loading").hide();
105
- jQuery(".simple-history-no-more-items").show();
106
  jQuery(".simple-history-ol-wrapper").height("auto");
 
107
 
108
  $displaying_num.html(0);
109
  $total_pages.text(1);
110
-
111
- $tablenav.hide();
112
 
113
  } else {
114
 
 
 
115
  // update number of existing items and total pages
116
  $displaying_num.html(data.filtered_items_total_count_string);
117
  $total_pages.text(data.filtered_items_total_pages);
118
-
119
- $tablenav.show();
120
-
121
  $ol.html(data.items_li);
122
- $wrapper.animate({
123
- height: $ol.height()
124
- }, "fast", "swing", function() {
125
- $ol.fadeIn("fast");
126
- jQuery(".simple-history-ol-wrapper").height("auto");
127
- });
128
 
129
  }
130
 
@@ -149,70 +237,20 @@ jQuery(".simple-history-filter a, .simple-history-filter input[type='button'], .
149
  }
150
 
151
  // if we are at first then disable first + prev
152
- if (simple_history_current_page == 0) {
153
  $prev_page.addClass("disabled");
154
  $first_page.addClass("disabled");
155
  }
156
 
 
157
 
158
  });
159
 
160
  });
161
 
162
- /**
163
- * Click on load more = load more items via AJAX
164
- */
165
- jQuery(".simple-history-load-more a, .simple-history-load-more input[type='button']").live("click", function() {
166
-
167
- simple_history_current_page++;
168
-
169
- // the number of new history items to get
170
- var num_to_get = jQuery(this).prev("select").find(":selected").val();
171
-
172
- // the number of added li-items = the number of added history items
173
- var num_added = jQuery("ol.simple-history > li").length;
174
-
175
- jQuery(".simple-history-load-more,.simple-history-load-more-loading").toggle();
176
-
177
- var search = jQuery("p.simple-history-filter-search input[type='text']").val();
178
-
179
- $ol = jQuery("ol.simple-history:last");
180
- var data = {
181
- "action": "simple_history_ajax",
182
- "type": jQuery(".simple-history-filter-type li.selected a").text(),
183
- "user": jQuery(".simple-history-filter-user li.selected a").text(),
184
- "page": simple_history_current_page,
185
- "items": num_to_get,
186
- "num_added": num_added,
187
- "search": search
188
- };
189
- jQuery.post(ajaxurl, data, function(data, textStatus, XMLHttpRequest){
190
-
191
- // if data = simpleHistoryNoMoreItems then no more items found, so hide load-more-link
192
- if (data == "simpleHistoryNoMoreItems") {
193
- jQuery(".simple-history-load-more,.simple-history-load-more-loading").hide();
194
- jQuery(".simple-history-no-more-items").show();
195
- } else {
196
- var $new_lis = jQuery(data);
197
- $new_lis.hide();
198
- $ol.append($new_lis);
199
- $new_lis.fadeIn("fast");
200
- jQuery(".simple-history-load-more,.simple-history-load-more-loading").toggle();
201
- }
202
-
203
- });
204
- return false;
205
- });
206
-
207
  jQuery("ol.simple-history .when").live("mouseover", function() {
208
  jQuery(this).closest("li").find(".when_detail").fadeIn("fast");
209
  });
210
  jQuery("ol.simple-history .when").live("mouseout", function() {
211
  jQuery(this).closest("li").find(".when_detail").fadeOut("fast");
212
  });
213
-
214
- // show occasions
215
- jQuery("a.simple-history-occasion-show").live("click", function() {
216
- jQuery(this).closest("li").find("ul.simple-history-occasions").toggle("fast");
217
- return false;
218
- });
1
 
2
  /**
3
+ * Object for Simple History
4
  */
5
+ var simple_history = (function($) {
6
+
7
+ var elms = {};
8
+
9
+ function init() {
10
+
11
+ // Only add JS things if Simple History exists on page
12
+ if (! $("div.simple-history-ol-wrapper").length) {
13
+ return;
14
+ }
15
+
16
+ // setup elements
17
+ elms.wrap = $(".simple-history-wrap");
18
+ elms.ol_wrapper = elms.wrap.find(".simple-history-ol-wrapper");
19
+
20
+ // so wrapper does not collapse when loading new items
21
+ elms.ol_wrapper.height( elms.ol_wrapper.height() );
22
+
23
+ addListeners();
24
+
25
+ elms.wrap.addClass("simple-history-is-ready simple-history-has-items");
26
+ }
27
+
28
+ function addListeners() {
29
+
30
+ /*
31
+ Character codes:
32
+ 37 - left
33
+ 38 - up
34
+ 39 - right
35
+ 40 - down
36
+ */
37
+
38
+ // Enable keyboard navigation if we are on Simple Historys own page
39
+ if ( $(".dashboard_page_simple_history_page").length ) {
40
+
41
+ $(document).keydown(function(e) {
42
+
43
+ var link_to_click = null;
44
+
45
+ if (e.keyCode == 37) {
46
+ link_to_click = ".prev-page";
47
+ } else if (e.keyCode == 39) {
48
+ link_to_click = ".next-page";
49
+ }
50
+
51
+ if (link_to_click) {
52
+ $(".simple-history-tablenav").find(link_to_click).trigger("click");
53
+ }
54
+
55
+ });
56
+
57
+ }
58
+
59
+ // show occasions
60
+ $("a.simple-history-occasion-show").live("click", function(e) {
61
+ $(this).closest("li").find("ul.simple-history-occasions").toggle("fast");
62
+ e.preventDefault();
63
+ });
64
+
65
+
66
+ } // function
67
+
68
+ /**
69
+ * Get currently selected filters
70
+ * @return object with type, subtype, user_id
71
+ */
72
+ function get_selected_filters() {
73
+
74
+ var obj = {
75
+ type: $("select.simple-history-filter-type option:selected").data("simple-history-filter-type"),
76
+ subtype: $("select.simple-history-filter-type option:selected").data("simple-history-filter-subtype"),
77
+ user_id: $("select.simple-history-filter-user option:selected").data("simple-history-filter-user-id")
78
+ };
79
+
80
+ return obj;
81
+
82
+ }
83
+
84
+ return {
85
+ "init": init,
86
+ "get_selected_filters": get_selected_filters
87
+ };
88
+
89
+ })(jQuery);
90
+
91
+ jQuery(function() {
92
+ simple_history.init();
93
+ });
94
+
95
+
96
+ // the current page
97
+ var simple_history_current_page = 0,
98
+ simple_history_jqXHR = null;
99
 
100
  // search on enter
101
  jQuery(document).on("keyup", ".simple-history-filter-search input[type='text'], .simple-history-tablenav .current-page", function(e) {
113
  }
114
  });
115
 
116
+ // click on filter-link/change value is filter dropdowns = load new via ajax
117
  // begin at position 0 unless click on pagination then check pagination page
118
+ jQuery("select.simple-history-filter, .simple-history-filter a, .simple-history-filter input[type='button'], .simple-history-tablenav a").live("click change", function(e, extraParams) {
119
 
120
  var $t = jQuery(this),
121
  $ol = jQuery("ol.simple-history"),
123
  num_added = $ol.find("> li").length,
124
  search = jQuery("p.simple-history-filter-search input[type='text']").val(),
125
  $target = jQuery(e.target),
126
+ $target_link = $target.closest("a"),
127
  $tablenav = jQuery("div.simple-history-tablenav"),
128
  $current_page = $tablenav.find(".current-page"),
129
  $total_pages = $tablenav.find(".total-pages"),
131
  $prev_page = $tablenav.find(".prev-page"),
132
  $first_page = $tablenav.find(".first-page"),
133
  $last_page = $tablenav.find(".last-page"),
134
+ $displaying_num = $tablenav.find(".displaying-num"),
135
+ filters = simple_history.get_selected_filters(),
136
+ $simple_history_wrap = jQuery(".simple-history-wrap");
137
 
138
  e.preventDefault();
139
 
140
  // if target is a child of simple-history-tablenav then this is a click in pagination
141
  if ($t.closest("div.simple-history-tablenav").length > 0) {
142
+
143
+ if ($target_link.hasClass("disabled")) {
144
  return;
145
+ } else if ($target_link.hasClass("first-page")) {
146
  simple_history_current_page = 0;
147
+ } else if ($target_link.hasClass("last-page")) {
148
+ simple_history_current_page = parseInt($total_pages.text(), 10) - 1;
149
+ } else if ($target_link.hasClass("prev-page")) {
150
+ simple_history_current_page = simple_history_current_page - 1;
151
+ } else if ($target_link.hasClass("next-page")) {
152
+ simple_history_current_page = simple_history_current_page + 1;
153
  }
154
 
155
  } else {
158
 
159
  if (extraParams && extraParams.enterType && extraParams.enterType == "goToPage") {
160
  // pressed enter on go to page-input
161
+ simple_history_current_page = parseInt($current_page.val(), 10)-1; // -1 because we add one later on. feels kinda wierd, I know.
162
  if (isNaN(simple_history_current_page)) {
163
  simple_history_current_page = 0;
164
  }
169
  }
170
  }
171
 
172
+ $simple_history_wrap.addClass("simple-history-is-loading simple-history-has-items");
 
 
 
 
 
 
 
 
173
 
174
  // update current page
175
  $current_page.val(simple_history_current_page+1);
176
+
 
 
 
177
  var data = {
178
  "action": "simple_history_ajax",
179
+ "type": filters.type,
180
+ "subtype" : filters.subtype,
181
+ "user_id": filters.user_id,
182
  "search": search,
183
  "num_added": num_added,
184
  "page": simple_history_current_page
185
  };
186
+
187
+ // If a previous ajax call is ongoing: cancel it
188
+ if (simple_history_jqXHR) {
189
+ simple_history_jqXHR.abort();
190
+ }
191
+
192
+ simple_history_jqXHR = jQuery.post(ajaxurl, data, function(data, textStatus, XMLHttpRequest){
193
 
194
+ // If no more can be loaded show message about that
195
  if (data.error == "noMoreItems") {
196
+
 
197
  jQuery(".simple-history-ol-wrapper").height("auto");
198
+ $simple_history_wrap.removeClass("simple-history-has-items simple-history-is-loading");
199
 
200
  $displaying_num.html(0);
201
  $total_pages.text(1);
 
 
202
 
203
  } else {
204
 
205
+ // Items found, add and show
206
+
207
  // update number of existing items and total pages
208
  $displaying_num.html(data.filtered_items_total_count_string);
209
  $total_pages.text(data.filtered_items_total_pages);
210
+
 
 
211
  $ol.html(data.items_li);
212
+
213
+ // set wrapper to the height required to show items
214
+ $wrapper.height( $ol.height() );
215
+ $simple_history_wrap.removeClass("simple-history-is-loading");
 
 
216
 
217
  }
218
 
237
  }
238
 
239
  // if we are at first then disable first + prev
240
+ if (simple_history_current_page === 0) {
241
  $prev_page.addClass("disabled");
242
  $first_page.addClass("disabled");
243
  }
244
 
245
+ $wrapper.removeClass("simple-history-is-loading");
246
 
247
  });
248
 
249
  });
250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
  jQuery("ol.simple-history .when").live("mouseover", function() {
252
  jQuery(this).closest("li").find(".when_detail").fadeIn("fast");
253
  });
254
  jQuery("ol.simple-history .when").live("mouseout", function() {
255
  jQuery(this).closest("li").find(".when_detail").fadeOut("fast");
256
  });
 
 
 
 
 
 
styles.css CHANGED
@@ -1,18 +1,14 @@
1
 
 
 
 
 
 
2
  .simple-history-filter {
3
  margin-bottom: .5em;
4
  margin-top: .5em;
5
- }
6
- .simple-history-filter li {
7
- display: inline;
8
- }
9
- .simple-history-filter a {
10
- text-decoration: none;
11
- }
12
- .simple-history-filter .selected a {
13
- font-weight: bold;
14
- text-decoration: none;
15
- color: black;
16
  }
17
 
18
  ol.simple-history {
@@ -67,16 +63,6 @@ ol.simple-history .third ul {
67
  margin-top: .5em;
68
  }
69
 
70
- li.simple-history-has-attachment-thumnbail {
71
- /*min-height: 50px;*/
72
- }
73
- ol.simple-history .simple-history-has-attachment-thumnbail .first,
74
- ol.simple-history .simple-history-has-attachment-thumnbail .second,
75
- ol.simple-history .simple-history-has-attachment-thumnbail .third
76
- {
77
- /*margin-left: 60px;*/
78
- }
79
-
80
  .simple-history-who-avatar {
81
  position: absolute;
82
  top: 10px;
@@ -90,22 +76,54 @@ ol.simple-history .when {
90
  }
91
  ol.simple-history .when_detail {
92
  display: none;
93
- position: relative;
94
- top: 1.75em;
95
- left: -2em;
96
- padding: .5ex;
97
  background-color: #fffdb5;
98
  border: 1px solid #eee;
99
  color: black;
100
  z-index: 1;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  }
102
 
103
  .simple-history-attachment-thumbnail {
104
- position: absolute;
105
- left: 10px;
106
- top: 10px;
107
- display: none;;
 
 
 
 
 
 
 
 
108
  }
 
 
109
  .simple-history-title {
110
  font-weight: bold;
111
  }
@@ -131,16 +149,6 @@ ul.simple-history-occasions li {
131
  line-height: 1.5;
132
  }
133
 
134
- .simple-history-load-more-loading {
135
- height: 26px;
136
- line-height: 26px;
137
- }
138
- .simple-history-load-more-loading img {
139
- display: inline-block;
140
- position: relative;
141
- top: 3px;
142
- margin-right: .5em;
143
- }
144
  .simple-history-no-more-items {
145
  padding: .5em;
146
  background-color: #FFFFE0;
@@ -159,10 +167,10 @@ ul.simple-history-occasions li {
159
  margin: 0;
160
  display: block;
161
  }
 
162
  .simple-history-rss-feed-dashboard a,
163
- .simple-history-rss-feed-page span
164
- {
165
- background: transparent url(http://jquery-ui.googlecode.com/svn/trunk/themes/base/images/ui-icons_888888_256x240.png) no-repeat -17px -176px;
166
  display: block;
167
  width: 16px;
168
  height: 16px;
@@ -206,6 +214,13 @@ ul.simple-history-occasions li {
206
  cursor: pointer;
207
  }
208
 
 
 
 
 
 
 
 
209
  .simple-history-tablenav .tablenav-pages {
210
  float: none;
211
  }
@@ -214,3 +229,90 @@ ul.simple-history-occasions li {
214
  display: inline-block;
215
  }
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
2
+
3
+ .simple-history-ol-wrapper {
4
+ margin-top: .75em;
5
+ }
6
+
7
  .simple-history-filter {
8
  margin-bottom: .5em;
9
  margin-top: .5em;
10
+ margin-right: 1em;
11
+ display: inline-block;
 
 
 
 
 
 
 
 
 
12
  }
13
 
14
  ol.simple-history {
63
  margin-top: .5em;
64
  }
65
 
 
 
 
 
 
 
 
 
 
 
66
  .simple-history-who-avatar {
67
  position: absolute;
68
  top: 10px;
76
  }
77
  ol.simple-history .when_detail {
78
  display: none;
79
+ position: absolute;
80
+ top: .4em;
81
+ left: 5.5em;
82
+ padding: .75ex;
83
  background-color: #fffdb5;
84
  border: 1px solid #eee;
85
  color: black;
86
  z-index: 1;
87
+ box-shadow: 3px 3px 10px -3px rgba(0,0, 0, .25);
88
+ }
89
+
90
+
91
+ li.simple-history-has-attachment-thumnbail {
92
+ /*min-height: 50px;*/
93
+ }
94
+ ol.simple-history .simple-history-has-attachment-thumnbail .first,
95
+ ol.simple-history .simple-history-has-attachment-thumnbail .second,
96
+ ol.simple-history .simple-history-has-attachment-thumnbail .third
97
+ {
98
+ /*margin-left: 60px;*/
99
+ }
100
+
101
+
102
+ .simple-history-object-image {
103
+ margin: 1em 0 0 0;
104
+ overflow: hidden;
105
+ }
106
+ .simple-history-object-image img {
107
+ max-width: 80px;
108
+ max-height: 60px;
109
  }
110
 
111
  .simple-history-attachment-thumbnail {
112
+ float: left;
113
+ margin-right: 1em;
114
+ /*min-width: 60px;*/
115
+ }
116
+
117
+ .simple-history-attachment-meta {
118
+ float: left;
119
+ color: #666;
120
+ }
121
+
122
+ .simple-history-attachment-meta p {
123
+ margin: 0 0 .5em 0;
124
  }
125
+
126
+
127
  .simple-history-title {
128
  font-weight: bold;
129
  }
149
  line-height: 1.5;
150
  }
151
 
 
 
 
 
 
 
 
 
 
 
152
  .simple-history-no-more-items {
153
  padding: .5em;
154
  background-color: #FFFFE0;
167
  margin: 0;
168
  display: block;
169
  }
170
+
171
  .simple-history-rss-feed-dashboard a,
172
+ .simple-history-rss-feed-page span {
173
+ background: transparent url(./img/ui-icons_888888_256x240.png) no-repeat -17px -176px;
 
174
  display: block;
175
  width: 16px;
176
  height: 16px;
214
  cursor: pointer;
215
  }
216
 
217
+ .simple-history-tablenav {
218
+ visibility: hidden;
219
+ }
220
+ .simple-history-has-items .simple-history-tablenav {
221
+ visibility: visible;
222
+ }
223
+
224
  .simple-history-tablenav .tablenav-pages {
225
  float: none;
226
  }
229
  display: inline-block;
230
  }
231
 
232
+
233
+ .simple-history-tablenav .tablenav-pages a {
234
+ background: #eee;
235
+ display: inline-block;
236
+ }
237
+
238
+ .simple-history-tablenav .tablenav-pages a:hover {
239
+ background-color: #e4e4e4;
240
+ }
241
+
242
+ .simple-history-tablenav .tablenav-pages a span {
243
+ background: transparent url(./img/ui-icons_888888_256x240.png) no-repeat -240px -48px;
244
+ display: block;
245
+ text-indent: -30px;
246
+ line-height: 1;
247
+ overflow: hidden;
248
+ padding: 2px 9px;
249
+ }
250
+
251
+ .simple-history-tablenav .tablenav-pages a.disabled {
252
+ opacity: .5;
253
+ }
254
+
255
+ .simple-history-tablenav .tablenav-pages .prev-page span {
256
+ background-position: -96px -16px;
257
+ }
258
+
259
+ .simple-history-tablenav .tablenav-pages .next-page span {
260
+ background-position: -32px -16px;
261
+ }
262
+
263
+ .simple-history-tablenav .tablenav-pages .last-page span {
264
+ background-position: -208px -48px;
265
+ }
266
+
267
+
268
+ .simple-history-loading {
269
+ position: absolute;
270
+ top: 55%;
271
+ left: 10%;
272
+ opacity: 0;
273
+ }
274
+ #simple_history_dashboard_widget .simple-history-loading {
275
+ left: 40%;
276
+ }
277
+ .simple-history-loading img {
278
+ vertical-align: text-bottom;
279
+ }
280
+
281
+ .simple-history-is-loading {
282
+
283
+ }
284
+
285
+ /* show loading indicator after a short while */
286
+ .simple-history-is-loading .simple-history-loading {
287
+ transition: all .25s ease-out;
288
+ transition-delay: .75s;
289
+ opacity: .75;
290
+ }
291
+
292
+
293
+ .simple-history-ol-wrapper {
294
+ overflow: hidden;
295
+ }
296
+
297
+ .simple-history-wrap,
298
+ .simple-history-ol-wrapper,
299
+ ol.simple-history,
300
+ .simple-history-tablenav
301
+ {
302
+ transition: all .15s ease-out;
303
+ }
304
+
305
+ .simple-history-is-loading ol.simple-history {
306
+ opacity: 0;
307
+ }
308
+ .simple-history-is-loading .simple-history-tablenav {
309
+ opacity: .75;
310
+ }
311
+
312
+ .simple-history-wrap {
313
+ visibility: hidden;
314
+ }
315
+
316
+ .simple-history-is-ready {
317
+ visibility: visible;
318
+ }