SOAP API: do not try to parse invalid filters

Fixes #13103: Error when connecting to API via Mylin
Localisation updates from http://translatewiki.net.
Fix #13123: Reminder Bug notes display time tracking information

This was caused by a missing break statement at the end of the switch
case handling Reminder bug notes

Signed-off-by: Robert Munteanu <robert.munteanu@gmail.com>
Fix #13124: Getting time tracking info yields application error

Replace occurences of bug_view_page.php by view.php

Signed-off-by: David Hicks <d@hx.id.au>
Fix #12998: Password reset button should be hidden for HTTP_AUTH method

If MantisBT is configured with the HTTP_AUTH method for user
authentication, passwords cannot be reset by MantisBT. The passwords are
managed externally to MantisBT in this instance.

Therefore do not offer managers the ability to reset passwords when
HTTP_AUTH is set as the authentication mechanism.

Thanks to Tino Böhme for reporting this issue and providing a patch.
Fix #13007: Moving an issue to a sub-project - default category used

Assume project B is a sub-project of project A.

When moving an issue with category C (which is assigned to the project
A) to project B, the category gets changed to DEFAULT (configured
default category) and doesn't respect the fact, that project B is a
subproject of A and does inherit the category C.

Steps to reproduce this bug:
1. Create two projects: A and B. B is subproject of A
2. Create category C in project A so that B inherits the category.
3. Create issue I in project A
4. Move I to project B
5. Note that I has the default category instead of category C

Signed-off-by: David Hicks <d@hx.id.au>
Added new API function project_hierarchy_get_parent

Returns the id of the project's parent, or 0 (ALL_PROJECTS) if project is
top-level or not found

Also fix wrong type in comment for function project_hierarchy_is_toplevel,
parameter $p_project_id

Signed-off-by: David Hicks <d@hx.id.au>
Fix #12259: select user's default project when it's a subproject

Function helper_get_current_project_trace did not properly build the project
hierarchy when initializing the array from the user's preferences

Signed-off-by: David Hicks <d@hx.id.au>
Fix #13085: do not display "Create Tag" link when user can't edit tags

Signed-off-by: David Hicks <d@hx.id.au>
Fix #13085: Allow Manage Tags only for global level >= tag_edit_threshold

Previously the level check in function print_manage_menu was made at project
level, which is not consistent with globally managed Tags.

The access level check change in manage_tags_page.php is for consistency,
only to avoid users without the proper access level trying to reach the page
directly, even though it would only display a read-only list of tags.

Signed-off-by: David Hicks <d@hx.id.au>
Fix #12443: Moving bugs - check for reporter permissions in destination project

The user with enough rights to move a bug into another project, is
allowed to move it into a project in which he has only 'viewer' rights.

Steps to reproduce this bug:
1. User has full rights in project A (enough to report and move bugs)
2. User has 'viewer' right in project B
3. User creates a bug in project A and is allowed to move it into project B

Signed-off-by: David Hicks <d@hx.id.au>
Update documented canonical repo URLs to Github
Fix #0005926: Filter "None" for custom fields with blank value

Generate the correct where clause for custom fields of type Checkbox and
Multiselection list, to return both bugs having an empty value ('', as
opposed to NULL) in the field as well as those without matching record in
mantis_custom_field_string_table.
Revert "Fix #13124: Getting time tracking info yields application error"

This reverts commit d1d05b91dfecbf0b04d5bc373628aac0b6199d72.
Fix #13124: Getting time tracking info yields application error

Replace occurences of bug_view_page.php by view.php
Fixed incorrect/obsolete comment
Modified code indentation and layout to improve readability
Initialize the user summary array before calculating the billing total

When calculating the user's total time, the use of += operator in the for loop
causes the display of an E_NOTICE system error, due to access of an undefined
index during the first assignment for a given user.

This has no impact when using default values for $g_display_errors since
E_NOTICE is set to none.
Fix #13133: Time tracking shows entries for users without actual time spent

Modified the SQL used in the function, to filter out bugnote records having
time_tracking = 0. This makes the returned data set consistent with the one
produced by a similar query used in function bugnote_stats_get_project_array,
and bugnote_stats_get_events_array no longer returns records without time
tracking
Fix #13131: Time tracking prints user/real name depending on $g_show_realname

This makes the display of user's name consistent with the rest of MantisBT