From 538a4c24bd9c942d8e0e9a58a650a29188fbd2ce Mon Sep 17 00:00:00 2001 From: Sem Date: Sun, 8 Jul 2012 10:42:17 +0200 Subject: Fixes #4004. elgg_logging when a language key is missing. --- engine/lib/languages.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'engine/lib') diff --git a/engine/lib/languages.php b/engine/lib/languages.php index 15c48f902..e8e3d31af 100644 --- a/engine/lib/languages.php +++ b/engine/lib/languages.php @@ -50,8 +50,10 @@ function elgg_echo($message_key, $args = array(), $language = "") { $string = $CONFIG->translations[$language][$message_key]; } else if (isset($CONFIG->translations["en"][$message_key])) { $string = $CONFIG->translations["en"][$message_key]; + elgg_log(sprintf('Missing %s translation for "%s" language key', $language, $message_key), WARNING); } else { $string = $message_key; + elgg_log(sprintf('Missing %s translation for "%s" language key', $language, $message_key), ERROR); } // only pass through if we have arguments to allow backward compatibility -- cgit v1.2.3 From 0b00af1e77d7ffc5c739f7fa21f61886b5480e62 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Thu, 12 Jul 2012 07:51:54 -0400 Subject: Fixes #4702 better actions logic --- engine/lib/actions.php | 44 ++++++++++++++------------------------------ 1 file changed, 14 insertions(+), 30 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/actions.php b/engine/lib/actions.php index 3a7c02488..53b185dea 100644 --- a/engine/lib/actions.php +++ b/engine/lib/actions.php @@ -82,44 +82,28 @@ function action($action, $forwarder = "") { $forwarder = str_replace(elgg_get_site_url(), "", $forwarder); $forwarder = str_replace("http://", "", $forwarder); $forwarder = str_replace("@", "", $forwarder); - if (substr($forwarder, 0, 1) == "/") { $forwarder = substr($forwarder, 1); } - if (isset($CONFIG->actions[$action])) { - if (elgg_is_admin_logged_in() || ($CONFIG->actions[$action]['access'] !== 'admin')) { - if (elgg_is_logged_in() || ($CONFIG->actions[$action]['access'] === 'public')) { - - // Trigger action event - // @todo This is only called before the primary action is called. - $event_result = true; - $event_result = elgg_trigger_plugin_hook('action', $action, null, $event_result); - - // Include action - // Event_result being false doesn't produce an error - // since i assume this will be handled in the hook itself. - // @todo make this better! - if ($event_result) { - if (!include($CONFIG->actions[$action]['file'])) { - register_error(elgg_echo('actionnotfound', array($action))); - } - } - } else { - register_error(elgg_echo('actionloggedout')); + if (!isset($CONFIG->actions[$action])) { + register_error(elgg_echo('actionundefined', array($action))); + } elseif (!elgg_is_admin_logged_in() && ($CONFIG->actions[$action]['access'] === 'admin')) { + register_error(elgg_echo('actionunauthorized')); + } elseif (!elgg_is_logged_in() && ($CONFIG->actions[$action]['access'] !== 'public')) { + register_error(elgg_echo('actionloggedout')); + } else { + // Returning falsy doesn't produce an error + // We assume this will be handled in the hook itself. + if (elgg_trigger_plugin_hook('action', $action, null, true)) { + if (!include($CONFIG->actions[$action]['file'])) { + register_error(elgg_echo('actionnotfound', array($action))); } - } else { - register_error(elgg_echo('actionunauthorized')); } - } else { - register_error(elgg_echo('actionundefined', array($action))); } - if (!empty($forwarder)) { - forward($forwarder); - } else { - forward(REFERER); - } + $forwarder = empty($forwarder) ? REFERER : $forwarder; + forward($forwarder); } /** -- cgit v1.2.3 From 25c324f5bf0f8737268c34626455a302b819651e Mon Sep 17 00:00:00 2001 From: Sem Date: Fri, 13 Jul 2012 01:32:44 +0200 Subject: Refs #4004. Downgraded to notice and warning. It also returns the complete language name. --- engine/lib/languages.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/languages.php b/engine/lib/languages.php index e8e3d31af..77128202f 100644 --- a/engine/lib/languages.php +++ b/engine/lib/languages.php @@ -50,10 +50,11 @@ function elgg_echo($message_key, $args = array(), $language = "") { $string = $CONFIG->translations[$language][$message_key]; } else if (isset($CONFIG->translations["en"][$message_key])) { $string = $CONFIG->translations["en"][$message_key]; - elgg_log(sprintf('Missing %s translation for "%s" language key', $language, $message_key), WARNING); + $lang = elgg_echo($language, array(), 'en'); + elgg_log(sprintf('Missing %s translation for "%s" language key', $lang, $message_key), 'NOTICE'); } else { $string = $message_key; - elgg_log(sprintf('Missing %s translation for "%s" language key', $language, $message_key), ERROR); + elgg_log(sprintf('Missing English translation for "%s" language key', $message_key), 'WARNING'); } // only pass through if we have arguments to allow backward compatibility -- cgit v1.2.3 From 185b73174fbd39e4b47c27f19839329438b8f3c2 Mon Sep 17 00:00:00 2001 From: Sem Date: Fri, 13 Jul 2012 14:39:32 +0300 Subject: Refs #4004. Used $CONFIG->translations instead of elgg_echo() --- engine/lib/languages.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engine/lib') diff --git a/engine/lib/languages.php b/engine/lib/languages.php index 77128202f..219917b29 100644 --- a/engine/lib/languages.php +++ b/engine/lib/languages.php @@ -50,7 +50,7 @@ function elgg_echo($message_key, $args = array(), $language = "") { $string = $CONFIG->translations[$language][$message_key]; } else if (isset($CONFIG->translations["en"][$message_key])) { $string = $CONFIG->translations["en"][$message_key]; - $lang = elgg_echo($language, array(), 'en'); + $lang = $CONFIG->translations["en"][$language]; elgg_log(sprintf('Missing %s translation for "%s" language key', $lang, $message_key), 'NOTICE'); } else { $string = $message_key; -- cgit v1.2.3 From 0a54cabfe75fb0261fff12ee48cd868bfa8f06fb Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sat, 14 Jul 2012 20:42:31 -0400 Subject: Refs #4004 decided to downgrage missing language keys to NOTICE for all languages. The plugin categories were causing problems at the WARNING level. This will be more useful when we move db queries off NOTICE --- engine/lib/languages.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/languages.php b/engine/lib/languages.php index 219917b29..98006f7cd 100644 --- a/engine/lib/languages.php +++ b/engine/lib/languages.php @@ -50,11 +50,11 @@ function elgg_echo($message_key, $args = array(), $language = "") { $string = $CONFIG->translations[$language][$message_key]; } else if (isset($CONFIG->translations["en"][$message_key])) { $string = $CONFIG->translations["en"][$message_key]; - $lang = $CONFIG->translations["en"][$language]; + $lang = $CONFIG->translations["en"][$language]; elgg_log(sprintf('Missing %s translation for "%s" language key', $lang, $message_key), 'NOTICE'); } else { $string = $message_key; - elgg_log(sprintf('Missing English translation for "%s" language key', $message_key), 'WARNING'); + elgg_log(sprintf('Missing English translation for "%s" language key', $message_key), 'NOTICE'); } // only pass through if we have arguments to allow backward compatibility -- cgit v1.2.3 From b164c39ac5c82b311e9ef07fa01fcc464bab86b1 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Mon, 16 Jul 2012 22:30:20 -0400 Subject: Fixes #4621 adds warning to remove_subtype() --- engine/lib/entities.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'engine/lib') diff --git a/engine/lib/entities.php b/engine/lib/entities.php index abfe07276..66c1475b7 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -313,6 +313,10 @@ function add_subtype($type, $subtype, $class = "") { /** * Removes a registered ElggEntity type, subtype, and classname. * + * @warning You do not want to use this function. If you want to unregister + * a class for a subtype, use update_subtype(). Using this function will + * permanently orphan all the objects created with the specified subtype. + * * @param string $type Type * @param string $subtype Subtype * -- cgit v1.2.3