aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt30
-rw-r--r--engine/lib/metadata.php13
-rw-r--r--engine/lib/relationships.php9
-rw-r--r--languages/en.php1
-rw-r--r--mod/externalpages/views/default/expages/wrapper.php2
-rw-r--r--mod/groups/lib/discussion.php2
-rw-r--r--mod/tinymce/README.txt10
-rw-r--r--mod/tinymce/activate.php14
-rw-r--r--mod/tinymce/languages/en.php3
-rw-r--r--mod/tinymce/start.php12
-rw-r--r--mod/tinymce/views/default/js/tinymce.php3
-rw-r--r--version.php4
-rw-r--r--views/default/css/admin.php15
13 files changed, 103 insertions, 15 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index b502b8411..45f561ab5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,33 @@
+Version 1.8.7
+(July 10, 2012 from https://github.com/Elgg/Elgg/tree/1.8)
+
+ Contributing Developers:
+ * Cash Costello
+ * Evan Winslow
+ * Ismayil Khayredinov
+ * Jeroen Dalsem
+ * Jerome Bakker
+ * Matt Beckett
+ * Miguel Rodriguez
+ * Paweł Sroka
+ * Sem
+ * Steve Clay
+
+ Enhancements:
+ * Better support for search engine friendly URLs
+ * Upgraded htmlawed (XSS filtering)
+ * Internationalization support for TinyMCE
+ * Public access not available for walled gardens
+ * Better forwarding and messages when they cannot view content because logged out
+
+ Bugfixes:
+ * Fatal errors due to type hints downgraded to warnings
+ * Group discussion reply notifications work again
+ * Sending user to inbox when deleting a message
+ * Fixed location profile information when it is an array
+ * Over 30 other bug fixes.
+
+
Version 1.8.6
(June 18, 2012 from https://github.com/Elgg/Elgg/tree/1.8)
diff --git a/engine/lib/metadata.php b/engine/lib/metadata.php
index 0ff3a43dc..77fa30e41 100644
--- a/engine/lib/metadata.php
+++ b/engine/lib/metadata.php
@@ -361,13 +361,24 @@ function elgg_enable_metadata(array $options) {
* options available to elgg_get_entities(). Supports
* the singular option shortcut.
*
- * NB: Using metadata_names and metadata_values results in a
+ * @note Using metadata_names and metadata_values results in a
* "names IN (...) AND values IN (...)" clause. This is subtly
* differently than default multiple metadata_name_value_pairs, which use
* "(name = value) AND (name = value)" clauses.
*
* When in doubt, use name_value_pairs.
*
+ * To ask for entities that do not have a metadata value, use a custom
+ * where clause like this:
+ *
+ * $options['wheres'][] = "NOT EXISTS (
+ * SELECT 1 FROM {$dbprefix}metadata md
+ * WHERE md.entity_guid = e.guid
+ * AND md.name_id = $name_metastring_id
+ * AND md.value_id = $value_metastring_id)";
+ *
+ * Note the metadata name and value has been denormalized in the above example.
+ *
* @see elgg_get_entities
*
* @param array $options Array in format:
diff --git a/engine/lib/relationships.php b/engine/lib/relationships.php
index f50c4a485..09d541e22 100644
--- a/engine/lib/relationships.php
+++ b/engine/lib/relationships.php
@@ -239,6 +239,15 @@ function get_entity_relationships($guid, $inverse_relationship = FALSE) {
* Also accepts all options available to elgg_get_entities() and
* elgg_get_entities_from_metadata().
*
+ * To ask for entities that do not have a particulat relationship to an entity,
+ * use a custom where clause like the following:
+ *
+ * $options['wheres'][] = "NOT EXISTS (
+ * SELECT 1 FROM {$db_prefix}entity_relationships
+ * WHERE guid_one = e.guid
+ * AND relationship = '$relationship'
+ * )";
+ *
* @see elgg_get_entities
* @see elgg_get_entities_from_metadata
*
diff --git a/languages/en.php b/languages/en.php
index 7b4bc9771..01b4d5d6b 100644
--- a/languages/en.php
+++ b/languages/en.php
@@ -877,6 +877,7 @@ $english = array(
'down' => 'Down',
'top' => 'Top',
'bottom' => 'Bottom',
+ 'back' => 'Back',
'invite' => "Invite",
diff --git a/mod/externalpages/views/default/expages/wrapper.php b/mod/externalpages/views/default/expages/wrapper.php
index 8eb0b2f84..c579da1ba 100644
--- a/mod/externalpages/views/default/expages/wrapper.php
+++ b/mod/externalpages/views/default/expages/wrapper.php
@@ -9,7 +9,7 @@ echo $vars['content'];
echo '<div class="mtm">';
echo elgg_view('output/url', array(
- 'text' => 'Back',
+ 'text' => elgg_echo('back'),
'href' => $_SERVER['HTTP_REFERER'],
'class' => 'float-alt'
));
diff --git a/mod/groups/lib/discussion.php b/mod/groups/lib/discussion.php
index 02ab27fdc..ab2fe4849 100644
--- a/mod/groups/lib/discussion.php
+++ b/mod/groups/lib/discussion.php
@@ -15,7 +15,7 @@ function discussion_handle_all_page() {
'type' => 'object',
'subtype' => 'groupforumtopic',
'order_by' => 'e.last_action desc',
- 'limit' => 40,
+ 'limit' => 20,
'full_view' => false,
));
diff --git a/mod/tinymce/README.txt b/mod/tinymce/README.txt
new file mode 100644
index 000000000..2814e9390
--- /dev/null
+++ b/mod/tinymce/README.txt
@@ -0,0 +1,10 @@
+Adding a language
+======================
+1. Download the language pack from [TinyMCE][1]
+2. Extract the files from the zip file.
+3. Copy the langs, plugins, and themes directories into mod/tinymce/vendor/tinymce/jscripts/tiny_mce/.
+There are already directories with those names. You do not want to delete those directories.
+Instead, copy the new directories on top of the old ones.
+4. Flush the Elgg caches.
+
+[1]: http://www.tinymce.com/i18n/index.php?ctrl=lang&act=download "TinyMCE"
diff --git a/mod/tinymce/activate.php b/mod/tinymce/activate.php
new file mode 100644
index 000000000..6f5cc8d50
--- /dev/null
+++ b/mod/tinymce/activate.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Prompt the user to install a tinymce language after activating
+ */
+
+if (elgg_get_config('language') != tinymce_get_site_language()) {
+ $message = elgg_echo('tinymce:lang_notice', array(
+ elgg_echo(elgg_get_config('language')),
+ "http://www.tinymce.com/i18n/index.php?ctrl=lang&act=download",
+ elgg_get_plugins_path() . "tinymce/vendor/tinymce/jscripts/tiny_mce/",
+ elgg_add_action_tokens_to_url(elgg_normalize_url('action/admin/site/flush_cache')),
+ ));
+ elgg_add_admin_notice('tinymce_admin_notice_no_lang', $message);
+}
diff --git a/mod/tinymce/languages/en.php b/mod/tinymce/languages/en.php
index 811e93492..b2702549c 100644
--- a/mod/tinymce/languages/en.php
+++ b/mod/tinymce/languages/en.php
@@ -9,6 +9,7 @@ $english = array(
'tinymce:remove' => "Remove editor",
'tinymce:add' => "Add editor",
'tinymce:word_count' => 'Word count: ',
+ 'tinymce:lang_notice' => "Your site language is %s but it isn't installed for TinyMCE. Get it <a target=\"_blank\" href=\"%s\">here</a> and copy it to %s. Then, <a href=\"%s\">flush the caches</a>. See the TinyMCE README for more details.",
);
-add_translation("en", $english); \ No newline at end of file
+add_translation("en", $english);
diff --git a/mod/tinymce/start.php b/mod/tinymce/start.php
index 48625f456..6aba837e0 100644
--- a/mod/tinymce/start.php
+++ b/mod/tinymce/start.php
@@ -33,3 +33,15 @@ function tinymce_longtext_menu($hook, $type, $items, $vars) {
return $items;
}
+
+function tinymce_get_site_language() {
+
+ if ($site_language = elgg_get_config('language')) {
+ $path = elgg_get_plugins_path() . "tinymce/vendor/tinymce/jscripts/tiny_mce/langs";
+ if (file_exists("$path/$site_language.js")) {
+ return $site_language;
+ }
+ }
+
+ return 'en';
+}
diff --git a/mod/tinymce/views/default/js/tinymce.php b/mod/tinymce/views/default/js/tinymce.php
index e6e2865a5..51e99c223 100644
--- a/mod/tinymce/views/default/js/tinymce.php
+++ b/mod/tinymce/views/default/js/tinymce.php
@@ -38,6 +38,7 @@ elgg.tinymce.init = function() {
mode : "specific_textareas",
editor_selector : "elgg-input-longtext",
theme : "advanced",
+ language : "<?php echo tinymce_get_site_language(); ?>",
plugins : "lists,spellchecker,autosave,fullscreen,paste",
relative_urls : false,
remove_script_host : false,
@@ -86,4 +87,4 @@ elgg.tinymce.init = function() {
}
}
-elgg.register_hook_handler('init', 'system', elgg.tinymce.init); \ No newline at end of file
+elgg.register_hook_handler('init', 'system', elgg.tinymce.init);
diff --git a/version.php b/version.php
index 0fb757b9c..a867f1625 100644
--- a/version.php
+++ b/version.php
@@ -11,7 +11,7 @@
// YYYYMMDD = Elgg Date
// XX = Interim incrementer
-$version = 2012061800;
+$version = 2012070900;
// Human-friendly version name
-$release = '1.8.6';
+$release = '1.8.7';
diff --git a/views/default/css/admin.php b/views/default/css/admin.php
index 0f5c1f677..78ec95c26 100644
--- a/views/default/css/admin.php
+++ b/views/default/css/admin.php
@@ -25,7 +25,6 @@ table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
- outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
@@ -41,9 +40,6 @@ img {
border-width: 0;
border-color: transparent;
}
-:focus {
- outline: 0 none;
-}
ol, ul {
list-style: none;
}
@@ -359,6 +355,8 @@ p {
.elgg-table td, .elgg-table th {
background: white;
border: 1px solid #ccc;
+ padding: 4px 8px;
+ vertical-align: middle;
}
.elgg-table th {
background-color: #ddd;
@@ -366,10 +364,10 @@ p {
.elgg-table .alt td {
background: #eee;
}
-.elgg-table td {
- padding: 4px 8px;
- border-bottom: 1px solid #ccc;
+.elgg-table input[type=checkbox] {
+ margin-top: 3px;
}
+
.elgg-table-alt {
width: 100%;
border-top: 1px solid #ccc;
@@ -441,7 +439,9 @@ input {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
+ margin: 0;
}
+
/* default elgg core input field classes */
.elgg-input-text,
.elgg-input-tags,
@@ -471,7 +471,6 @@ textarea {
width: auto;
padding: 2px 4px;
cursor: pointer;
- outline: none;
}
a.elgg-button {
padding: 3px 6px;