Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mahara
mahara
Commits
02c2a424
Commit
02c2a424
authored
Feb 26, 2018
by
Robert Lyon
Committed by
Gerrit Code Review
Feb 26, 2018
Browse files
Merge "Bug 1729079: Create a mechanism to build manual links"
parents
853f1b43
dbf1ef2b
Changes
20
Hide whitespace changes
Inline
Side-by-side
htdocs/admin/groups/manage.php
View file @
02c2a424
...
...
@@ -12,6 +12,7 @@
define
(
'INTERNAL'
,
1
);
define
(
'ADMIN'
,
1
);
define
(
'MENUITEM'
,
'managegroups/groups'
);
define
(
'SECTION_PAGE'
,
'manage'
);
require
(
dirname
(
dirname
(
dirname
(
__FILE__
)))
.
'/init.php'
);
$group
=
get_record_select
(
'group'
,
'id = ? AND deleted = 0'
,
array
(
param_integer
(
'id'
)));
...
...
htdocs/admin/users/bulk.php
View file @
02c2a424
...
...
@@ -11,7 +11,8 @@
define
(
'INTERNAL'
,
1
);
define
(
'INSTITUTIONALADMIN'
,
1
);
define
(
'MENUITEM'
,
'configusers'
);
define
(
'MENUITEM'
,
'configusers/usersearch'
);
define
(
'SECTION_PAGE'
,
'bulkedit'
);
require
(
dirname
(
dirname
(
dirname
(
__FILE__
)))
.
'/init.php'
);
require_once
(
get_config
(
'docroot'
)
.
'lib/antispam.php'
);
...
...
htdocs/admin/users/edit.php
View file @
02c2a424
...
...
@@ -16,6 +16,7 @@ require(dirname(dirname(dirname(__FILE__))) . '/init.php');
define
(
'TITLE'
,
get_string
(
'accountsettings'
,
'admin'
));
define
(
'SECTION_PLUGINTYPE'
,
'core'
);
define
(
'SECTION_PLUGINNAME'
,
'admin'
);
define
(
'SECTION_PAGE'
,
'edit'
);
require_once
(
'activity.php'
);
require_once
(
get_config
(
'docroot'
)
.
'lib/antispam.php'
);
...
...
htdocs/admin/users/institutions.php
View file @
02c2a424
...
...
@@ -14,7 +14,7 @@ require(dirname(dirname(dirname(__FILE__))) . '/init.php');
define
(
'TITLE'
,
get_string
(
'Institutions'
,
'admin'
));
define
(
'SECTION_PLUGINTYPE'
,
'core'
);
define
(
'SECTION_PLUGINNAME'
,
'admin'
);
define
(
'SECTION_PAGE'
,
'institutions'
);
require_once
(
'license.php'
);
define
(
'MENUITEM'
,
'manageinstitutions/institutions'
);
...
...
@@ -54,7 +54,7 @@ if (!$USER->get('admin')) {
}
if
(
$institution
||
$add
)
{
define
(
'SECTION_PAGE'
,
'institutionedit'
);
$authinstances
=
auth_get_auth_instances_for_institution
(
$institution
);
if
(
false
==
$authinstances
)
{
$authinstances
=
array
();
...
...
@@ -655,6 +655,7 @@ if ($institution || $add) {
}
else
{
// Get a list of institutions
define
(
'SECTION_PAGE'
,
'institutions'
);
require_once
(
get_config
(
'libroot'
)
.
'institution.php'
);
if
(
!
$USER
->
get
(
'admin'
))
{
// Filter the list for institutional admins
$filter
=
$USER
->
get
(
'admininstitutions'
);
...
...
htdocs/artefact/blog/new/index.php
View file @
02c2a424
...
...
@@ -55,6 +55,7 @@ else if ($groupid = param_alphanum('group', null)) {
}
else
{
define
(
'TITLE'
,
get_string
(
'newblog'
,
'artefact.blog'
)
.
': '
.
get_string
(
'blogsettings'
,
'artefact.blog'
));
PluginArtefactBlog
::
set_blog_nav
();
}
$form
=
array
(
...
...
htdocs/artefact/plans/new.php
View file @
02c2a424
...
...
@@ -22,6 +22,7 @@ if (!PluginArtefactPlans::is_active()) {
$id
=
param_integer
(
'id'
,
0
);
if
(
$id
)
{
define
(
'SECTION_PAGE'
,
'newtask'
);
$plan
=
new
ArtefactTypePlan
(
$id
);
if
(
!
$USER
->
can_edit_artefact
(
$plan
))
{
throw
new
AccessDeniedException
(
get_string
(
'accessdenied'
,
'error'
));
...
...
@@ -30,6 +31,7 @@ if ($id) {
$form
=
ArtefactTypeTask
::
get_form
(
$id
);
}
else
{
define
(
'SECTION_PAGE'
,
'newplan'
);
define
(
'TITLE'
,
get_string
(
'newplan'
,
'artefact.plans'
));
$form
=
ArtefactTypePlan
::
get_form
();
}
...
...
htdocs/init.php
View file @
02c2a424
...
...
@@ -108,6 +108,7 @@ foreach ($CFG as $key => $option) {
require
(
'dml.php'
);
require
(
'web.php'
);
require
(
'user.php'
);
require
(
'manualhelp.php'
);
// Optional local/lib.php file
$locallib
=
get_config
(
'docroot'
)
.
'local/lib.php'
;
if
(
file_exists
(
$locallib
))
{
...
...
htdocs/lang/en.utf8/mahara.php
View file @
02c2a424
...
...
@@ -726,6 +726,7 @@ $string['privacystatement'] = 'Privacy statement';
$string
[
'about'
]
=
'About'
;
$string
[
'contactus'
]
=
'Contact us'
;
$string
[
'legal'
]
=
'Legal'
;
$string
[
'externalmanual'
]
=
'External manual'
;
// my account
$string
[
'account'
]
=
'Settings'
;
...
...
htdocs/lib/db/upgrade.php
View file @
02c2a424
...
...
@@ -5759,5 +5759,16 @@ function xmldb_core_upgrade($oldversion=0) {
execute_sql
(
"UPDATE
{
block_instance
}
SET title = '' WHERE blocktype IN ('myviews', 'mygroups', 'myfriends', 'wall')"
);
}
if
(
$oldversion
<
2018022300
)
{
log_debug
(
'Add "manualhelp" as a default footer link'
);
$footerlinkstr
=
get_config
(
'footerlinks'
);
$footerlinks
=
unserialize
(
$footerlinkstr
);
if
(
!
in_array
(
'manualhelp'
,
$footerlinks
))
{
$footerlinks
[]
=
'manualhelp'
;
}
$footerlinkstr
=
serialize
(
$footerlinks
);
set_config
(
'footerlinks'
,
$footerlinkstr
);
}
return
$status
;
}
htdocs/lib/manualhelp.php
0 → 100644
View file @
02c2a424
<?php
/**
*
* @package mahara
* @subpackage core
* @author Catalyst IT Ltd
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL version 3 or later
* @copyright For copyright information on Mahara, please see the README file distributed with this software.
* @copyright (C) portions from Moodle, (C) Martin Dougiamas http://dougiamas.com
*/
defined
(
'INTERNAL'
)
||
die
();
/**
* Create the help link to the manual
*
* @param array $keys The array of the keys to generate the link from
*
* @return string The HTML link
*/
function
get_manual_help_link
(
$keys
)
{
if
(
!
is_array
(
$keys
))
{
$keys
=
(
array
)
$keys
;
}
$activeurls
=
get_config
(
'footercustomlinks'
);
$activeurls
=
$activeurls
?
unserialize
(
$activeurls
)
:
null
;
if
(
isset
(
$activeurls
[
'manualhelp'
])
&&
!
empty
(
$activeurls
[
'manualhelp'
]))
{
$prefix
=
$activeurls
[
'manualhelp'
];
}
else
{
$prefix
=
_get_manual_link_prefix
();
}
$manuallink
=
sprintf
(
'<a rel="noopener" target="_blank" href="%s/%s/%s/%s">'
.
get_string
(
'Help'
)
.
'</a>'
,
$prefix
,
_get_manual_language
(),
_get_mahara_version
(),
_get_manual_help_link_suffix
(
$keys
)
);
return
$manuallink
;
}
/**
* For the given keys finds the most specific manual link.
*
* @return string
*/
function
_get_manual_help_link_suffix
(
$keys
)
{
for
(
$i
=
sizeof
(
$keys
);
$i
>
0
;
$i
--
)
{
$link
=
_get_manual_link
(
$i
,
$keys
);
if
(
$link
!=
NULL
)
{
return
$link
;
}
}
return
""
;
}
function
_get_manual_link
(
$length
,
$keys
)
{
global
$manual_link_map
;
$key
=
""
;
for
(
$i
=
0
;
$i
<
$length
;
$i
++
)
{
if
(
$i
>
0
)
{
$key
.
=
"|"
;
}
$key
.
=
$keys
[
$i
];
}
if
(
isset
(
$manual_link_map
[
$key
]))
{
return
$manual_link_map
[
$key
];
}
return
""
;
}
/**
* Get the best language for the manual.
*
* The best language would be the current users language if the manual exists in
* that language.
*
* The fallback in all other cases in en.
*
* @return string
*/
function
_get_manual_language
()
{
$user_lang
=
current_language
();
$manual_langs
=
array
(
"de"
,
"en"
,
"fr"
,
"nl"
);
foreach
(
$manual_langs
as
$lang
)
{
if
(
strpos
(
$user_lang
,
$lang
)
===
0
)
{
return
$lang
;
}
}
return
"en"
;
}
/**
* Get the current version of Mahara so we can point to the corresponding version of the manual.
* If current version is master/release candidate we use the most current stable version
*
* @return string
*/
function
_get_mahara_version
()
{
$release
=
get_config
(
"release"
);
$series
=
get_config
(
"series"
);
if
(
preg_match
(
'/dev$/'
,
$release
)
||
preg_match
(
'/rc/'
,
$release
))
{
list
(
$year
,
$month
)
=
explode
(
'.'
,
$series
);
if
(
$month
==
'04'
)
{
$month
=
'10'
;
$year
=
(
int
)
$year
-
1
;
}
else
{
$month
=
'04'
;
}
$series
=
$year
.
'.'
.
$month
;
}
return
$series
;
}
function
_get_manual_link_prefix
()
{
return
"http://manual.mahara.org"
;
}
$manual_link_map
=
array
(
""
=>
""
,
// default - means go to manual homepage
"adminhome|home"
=>
"administration/overview.html#admin-home"
,
"adminhome|registersite"
=>
"administration/overview.html#register-your-mahara-site"
,
"configextensions|cleanurls"
=>
"administration/extensions.html#clean-urls"
,
"configextensions|filters"
=>
"administration/extensions.html#html-filters"
,
"configextensions|frameworks"
=>
"administration/smartevidence.html#smartevidence-admin"
,
"configextensions|frameworks|frameworkmanager"
=>
"administration/smartevidence.html#smartevidence-admin"
,
// Need to point to new place once created
"configextensions|iframesites"
=>
"administration/extensions.html#allowed-iframe-sources"
,
"configextensions|pluginadmin|plugins"
=>
"administration/extensions.html"
,
"configextensions|pluginadmin|pluginconfig|artefact|comment"
=>
"administration/extensions.html#artefact-type-comments"
,
"configextensions|pluginadmin|pluginconfig|artefact|file"
=>
"administration/extensions.html#artefact-type-file"
,
"configextensions|pluginadmin|pluginconfig|artefact|internal"
=>
"administration/extensions.html#artefact-type-profile"
,
"configextensions|pluginadmin|pluginconfig|auth|saml"
=>
"administration/extensions.html#authentication-saml"
,
"configextensions|pluginadmin|pluginconfig|blocktype|file/folder"
=>
"administration/extensions.html#blocktype-file-folder"
,
"configextensions|pluginadmin|pluginconfig|blocktype|file/gallery"
=>
"administration/extensions.html#blocktype-file-gallery"
,
"configextensions|pluginadmin|pluginconfig|blocktype|file/internalmedia"
=>
"administration/extensions.html#blocktype-file-internalmedia"
,
"configextensions|pluginadmin|pluginconfig|blocktype|file/text"
=>
"administration/extensions.html#blocktype-text"
,
"configextensions|pluginadmin|pluginconfig|blocktype|file/wall"
=>
"administration/extensions.html#blocktype-wall"
,
"configextensions|pluginadmin|pluginconfig|interaction|forum"
=>
"administration/extensions.html#interaction-forum"
,
"configextensions|pluginadmin|pluginconfig|module|lti"
=>
"administration/extensions.html#module-lti"
,
"configextensions|pluginadmin|pluginconfig|module|mobileapi"
=>
"administration/extensions.html#module-mobile-api"
,
"configextensions|pluginadmin|pluginconfig|search|elasticsearch"
=>
"administration/extensions.html#search-elasticsearch"
,
"configextensions|pluginadmin|pluginconfig|search|internal"
=>
"administration/extensions.html#search-internal"
,
"configsite|blogs"
=>
"administration/config_site.html#site-journals"
,
"configsite|cookieconsent"
=>
"administration/config_site.html#cookie-consent"
,
"configsite|networking"
=>
"administration/config_site.html#networking"
,
"configsite|share"
=>
"administration/config_site.html#share"
,
"configsite|sitefiles"
=>
"administration/config_site.html#files"
,
"configsite|sitefonts"
=>
"administration/config_site.html#fonts"
,
"configsite|sitefonts|install"
=>
"administration/config_site.html#install-a-local-font"
,
"configsite|sitefonts|installgwf"
=>
"administration/config_site.html#install-google-font-s"
,
"configsite|sitelicenses"
=>
"administration/config_site.html#licenses"
,
"configsite|sitemenu"
=>
"administration/config_site.html#menus"
,
"configsite|siteoptions"
=>
"administration/config_site.html"
,
"configsite|sitepages"
=>
"administration/config_site.html#static-pages"
,
"configsite|siteskins"
=>
"administration/config_site.html#site-skins"
,
"configsite|siteviews"
=>
"administration/config_site.html#site-pages-and-collections"
,
"configusers|adduser"
=>
"administration/users.html#add-user"
,
"configusers|adminusers"
=>
"administration/users.html#site-administrators"
,
"configusers|exportqueue"
=>
"administration/users.html#export-queue"
,
"configusers|staffusers"
=>
"administration/users.html#site-staff"
,
"configusers|suspendedusers"
=>
"administration/users.html#suspended-and-expired-users"
,
"configusers|uploadcsv"
=>
"administration/users.html#add-and-update-users-by-csv"
,
"configusers|usersearch"
=>
"administration/users.html#user-search"
,
"configusers|usersearch|bulkedit"
=>
"administration/users.html#user-bulk-actions"
,
"configusers|usersearch|edit"
=>
"administration/users.html#user-account-settings"
,
"content|blogs|index"
=>
"content/journal.html#work-with-multiple-journals"
,
"content|blogs|new"
=>
"content/journal.html#change-your-journal-settings"
,
"content|blogs|post"
=>
"content/journal.html#add-a-journal-entry"
,
"content|blogs|settings"
=>
"content/journal.html#change-your-journal-settings"
,
"content|blogs|view"
=>
"content/journal.html"
,
"content|files|index"
=>
"content/files.html"
,
"content|notes"
=>
"content/notes.html"
,
"content|plans|index"
=>
"content/plans.html"
,
"content|plans|newplan"
=>
"content/plans.html#create-a-new-plan"
,
"content|plans|newtask"
=>
"content/plans.html#add-tasks-to-a-plan"
,
"content|plans|plans"
=>
"content/plans.html#view-all-tasks-of-a-plan"
,
"content|profile|index"
=>
"content/profile.html"
,
"content|profileicons"
=>
"content/profile_pictures.html"
,
"content|resume|index|index"
=>
"content/resume.html#introduction"
,
"content|resume|index|employment"
=>
"content/resume.html#education-and-employment"
,
"content|resume|index|achievements"
=>
"content/resume.html#achievements"
,
"content|resume|index|goalsandskills"
=>
"content/resume.html#goals-and-skills"
,
"content|resume|index|interests"
=>
"content/resume.html#interests"
,
"content|resume|index|license"
=>
"content/resume.html#license"
,
"forgotpass"
=>
"intro/dashboard.html#login"
,
"groups|blocks|group"
=>
"groups/inside_group.html#id3"
,
"groups|groups"
=>
"groups/inside_group.html#set-up-a-new-forum"
,
"groups|groupsiown"
=>
"groups/create_group.html"
,
"groups|find"
=>
"groups/find_group.html"
,
"groups|findfriends"
=>
"groups/find_friends.html#send-a-friend-request"
,
"groups|findfriends|find"
=>
"groups/find_friends.html"
,
"groups|findfriends|removefriend"
=>
"groups/my_friends.html#remove-a-friend"
,
"groups|forums|index"
=>
"groups/inside_group.html#forums"
,
"groups|forums|view"
=>
"groups/inside_group.html#add-a-forum-topic"
,
"groups|forums|edittopic"
=>
"groups/inside_group.html#add-a-forum-topic"
,
"groups|forums|editpost"
=>
"groups/inside_group.html#reply-to-a-topic-or-subsequent-post"
,
"groups|forums|topic"
=>
"groups/inside_group.html#add-a-forum-topic"
,
"groups|info"
=>
"groups/inside_group.html"
,
"groups|institutions"
=>
"groups/institution_membership.html"
,
"groups|members"
=>
"groups/inside_group.html#members"
,
"groups|myfriends"
=>
"groups/my_friends.html"
,
"groups|mygroups"
=>
"groups/my_groups.html"
,
"groups|topics"
=>
"groups/topics.html"
,
"groups|views|groupviews"
=>
"groups/inside_group.html#pages-and-collections"
,
"home"
=>
"intro/dashboard.html#overview"
,
"inbox"
=>
"account/notifications.html#send-a-message"
,
"inbox|inbox"
=>
"account/notifications.html"
,
"inbox|outbox"
=>
"account/notifications.html#sent"
,
"loggedouthome"
=>
"intro/dashboard.html"
,
"managegroups|archives"
=>
"administration/groups.html#archived-submissions"
,
"managegroups|categories"
=>
"administration/groups.html#group-categories"
,
"managegroups|groups"
=>
"administration/groups.html#administer-groups"
,
"managegroups|groups|manage"
=>
"administration/groups.html#group-file-quota"
,
"managegroups|uploadcsv"
=>
"administration/groups.html#add-and-update-groups-by-csv"
,
"managegroups|uploadmemberscsv"
=>
"administration/groups.html#update-group-members-by-csv"
,
"manageinstitutions|adminnotifications"
=>
"administration/institutions.html#admin-notifications"
,
"manageinstitutions|blogs"
=>
"administration/institutions.html#institution-journals"
,
"manageinstitutions|institutions"
=>
"administration/institutions.html#overview"
,
"manageinstitutions|institutions|institutionedit"
=>
"administration/institutions.html#add-an-institution"
,
"manageinstitutions|institutionadmins"
=>
"administration/institutions.html#institution-administrators"
,
"manageinstitutions|institutionfiles"
=>
"administration/institutions.html#files"
,
"manageinstitutions|institutionstaff"
=>
"administration/institutions.html#institution-staff"
,
"manageinstitutions|institutionusers"
=>
"administration/institutions.html#members"
,
"manageinstitutions|institutionviews"
=>
"administration/institutions.html#institution-pages-and-collections"
,
"manageinstitutions|pendingregistrations"
=>
"administration/institutions.html#review-pending-registrations"
,
"manageinstitutions|progressbar"
=>
"administration/institutions.html#profile-completion"
,
"manageinstitutions|share"
=>
"administration/institutions.html#share-institution-pages-and-collections"
,
"manageinstitutions|sitepages|institutionstaticpages"
=>
"administration/institutions.html#institution-static-pages"
,
"myportfolio|export"
=>
"portfolio/export.html"
,
"myportfolio|import"
=>
"portfolio/import.html"
,
"myportfolio|share|accessurl"
=>
"portfolio/page_editor.html#edit-access"
,
"myportfolio|share|editaccess"
=>
"portfolio/share.html#edit-access-for-users-with-an-account"
,
"myportfolio|share|share"
=>
"portfolio/share.html"
,
"myportfolio|share|urls"
=>
"portfolio/share.html#edit-access-for-users-without-an-account"
,
"myportfolio|sharedviews"
=>
"portfolio/shared.html"
,
"myportfolio|myskins"
=>
"portfolio/skins.html"
,
"myportfolio|skins"
=>
"portfolio/skins.html"
,
"myportfolio|skins|design"
=>
"portfolio/skins.html#create-a-skin"
,
"myportfolio|views"
=>
"portfolio/pages.html#overview-page"
,
"myportfolio|views|add"
=>
"portfolio/pages.html#add-a-page"
,
"myportfolio|views|blocks"
=>
"portfolio/page_editor.html"
,
"register"
=>
"administration/institutions.html#self-register-for-an-internal-account"
,
"reports"
=>
"administration/reports.html"
,
"reports|content|content"
=>
"administration/reports.html#content-report"
,
"reports|groups|groups"
=>
"administration/reports.html#groups-report"
,
"reports|information|comparisons"
=>
"administration/reports.html#institution-comparison-report"
,
"reports|information|information"
=>
"administration/reports.html#overview-report"
,
"reports|information|logins"
=>
"administration/reports.html#logins-report"
,
"reports|users|collaboration"
=>
"administration/reports.html#new-in-mahara-17-10-collaboration-report"
,
"reports|users|masquerading"
=>
"administration/reports.html#masquerading-sessions-report"
,
"reports|users|pageactivity"
=>
"administration/reports.html#new-in-mahara-17-10-page-activity-report"
,
"reports|users|useractivity"
=>
"administration/reports.html#new-in-mahara-17-10-user-activity-report"
,
"reports|users|userdetails"
=>
"administration/reports.html#user-details-report"
,
"reports|users|users"
=>
"administration/reports.html#people-overview-report"
,
"reports|users|accesslist"
=>
"administration/reports.html#portfolio-access-report"
,
"settings|account|preferences"
=>
"account/account_settings.html"
,
"settings|notifications"
=>
"account/notification_settings.html"
,
"settings|webservice"
=>
"account/apps.html"
,
"view"
=>
"portfolio/pages.html#view-a-page"
,
"view|profile"
=>
"portfolio/pages.html#profile-page"
,
"webservices|apps"
=>
"administration/web_services.html#application-connections"
,
"webservices|config"
=>
"administration/web_services.html#configuration"
,
"webservices|conections"
=>
"administration/web_services.html#connection-manager"
,
"webservices|oauthconfig"
=>
"administration/web_services.html#registration-of-external-apps"
,
"webservices|logs"
=>
"administration/web_services.html#web-services-logs"
,
"webservices|testclient"
=>
"administration/web_services.html#web-services-test-client"
,
);
htdocs/lib/upgrade.php
View file @
02c2a424
...
...
@@ -856,7 +856,7 @@ function core_install_firstcoredata_defaults() {
set_config
(
'anonymouscomments'
,
1
);
set_config
(
'homepageinfo'
,
1
);
set_config
(
'showonlineuserssideblock'
,
1
);
set_config
(
'footerlinks'
,
serialize
(
array
(
'legal'
,
'about'
,
'contactus'
)));
set_config
(
'footerlinks'
,
serialize
(
array
(
'legal'
,
'about'
,
'contactus'
,
'manualhelp'
)));
set_config
(
'nousernames'
,
0
);
set_config
(
'onlineuserssideblockmaxusers'
,
10
);
set_config
(
'loggedinprofileviewaccess'
,
1
);
...
...
htdocs/lib/version.php
View file @
02c2a424
...
...
@@ -16,7 +16,7 @@ $config = new stdClass();
// See https://wiki.mahara.org/wiki/Developer_Area/Version_Numbering_Policy
// For upgrades on stable branches, increment the version by one. On master, use the date.
$config
->
version
=
2018022
2
00
;
$config
->
version
=
2018022
3
00
;
$config
->
series
=
'18.04'
;
$config
->
release
=
'18.04dev'
;
$config
->
minupgradefrom
=
2015030409
;
...
...
htdocs/lib/web.php
View file @
02c2a424
...
...
@@ -3107,6 +3107,58 @@ function footer_menu($all=false) {
'title'
=>
get_string
(
'contactus'
),
),
);
$helpkeys
=
null
;
if
(
defined
(
'MENUITEM'
))
{
$helpkey
=
(
$USER
->
is_logged_in
()
?
''
:
'loggedout'
)
.
MENUITEM
;
$helpkeys
=
explode
(
'/'
,
$helpkey
);
}
if
(
defined
(
'SECTION_PAGE'
))
{
$helpkeys
[]
=
SECTION_PAGE
;
}
if
(
defined
(
'VIEW_TYPE'
))
{
$helpkeys
[]
=
VIEW_TYPE
;
}
// To handle the 'Report' pages where type/subtype are passed in as params
if
(
defined
(
'MENUITEM'
)
&&
MENUITEM
==
'reports'
)
{
if
(
param_exists
(
'type'
))
{
$helpkeys
[]
=
param_alpha
(
'type'
);
}
if
(
param_exists
(
'subtype'
))
{
$helpkeys
[]
=
param_variable
(
'subtype'
);
}
}
// To handle the configmanager page where plugintye/pluginname are
// passed in as params (not when defined as part of php file)
if
(
param_exists
(
'plugintype'
))
{
$helpkeys
[]
=
param_alpha
(
'plugintype'
);
}
if
(
param_exists
(
'pluginname'
))
{
$helpkeys
[]
=
param_variable
(
'pluginname'
);
}
// If we are in resume section
if
(
defined
(
'RESUME_SUBPAGE'
))
{
$helpkeys
[]
=
RESUME_SUBPAGE
;
}
// If group is set
if
(
param_exists
(
'group'
))
{
$helpkeys
[]
=
'group'
;
}
// If institution is set
if
(
param_exists
(
'institution'
)
||
param_exists
(
'i'
))
{
$helpkeys
[]
=
'institution'
;
}
// To handle when things have a 'new' state vs edit state
if
(
param_exists
(
'id'
))
{
if
(
param_exists
(
'new'
))
{
$helpkeys
[]
=
'new'
;
}
}
$menu
[
'manualhelp'
]
=
array
(
'fullurl'
=>
get_manual_help_link
(
$helpkeys
),
'title'
=>
get_string
(
'externalmanual'
),
'url'
=>
_get_manual_link_prefix
(),
);
if
(
$all
)
{
return
$menu
;
}
...
...
@@ -3126,6 +3178,7 @@ function footer_menu($all=false) {
}
}
}
return
$menu
;
}
...
...
htdocs/module/framework/frameworkmanager.php
View file @
02c2a424
...
...
@@ -14,7 +14,7 @@ define('ADMIN', 1);
define
(
'MENUITEM'
,
'configextensions/frameworks'
);
define
(
'SECTION_PLUGINTYPE'
,
'module'
);
define
(
'SECTION_PLUGINNAME'
,
'framework'
);
define
(
'SECTION_PAGE'
,
'framework
s
'
);
define
(
'SECTION_PAGE'
,
'framework
manager
'
);
require
(
dirname
(
dirname
(
dirname
(
__FILE__
)))
.
'/init.php'
);
define
(
'TITLE'
,
get_string
(
'Framework'
,
'module.framework'
));
...
...
htdocs/testing/frameworks/behat/classes/BehatGeneral.php
View file @
02c2a424
...
...
@@ -161,12 +161,28 @@ class BehatGeneral extends BehatBase {
}
/**
* Switches to the main Moodle window. Useful when you finish interacting with popup windows.
* Switches to the newly opened tab/window. Useful when you do not know name of window/tab.
*
* @Given /^I switch to the new window$/
*/
public
function
switch_to_the_new_window
()
{
$windowNames
=
$this
->
getSession
()
->
getWindowNames
();
if
(
count
(
$windowNames
)
>
1
)
{
$this
->
getSession
()
->
switchToWindow
(
end
(
$windowNames
));
}
else
{
throw
new
Exception
(
'Only one tab/window available.'
);
}
}
/**
* Switches to the main window. Useful when you finish interacting with other windows/tabs.
*
* @Given /^I switch to the main window$/
*/
public
function
switch_to_the_main_window
()
{
$this
->
getSession
()
->
switchToWindow
();
$windowNames
=
$this
->
getSession
()
->
getWindowNames
();
$this
->
getSession
()
->
switchToWindow
(
$windowNames
[
0
]);
}
/**
...
...
htdocs/theme/raw/sass/layout/_footer.scss
View file @
02c2a424
...
...
@@ -2,6 +2,9 @@
background-color
:
rgba
(
255
,
255
,
255
,
0
.7
);
.footer-nav
{
font-size
:
$font-size-small
;
.icon-stack
{
font-size
:
0
.75em
;
}
}
.footer-performance-info
{
...
...
htdocs/theme/raw/templates/footer.tpl
View file @
02c2a424
...
...
@@ -38,7 +38,11 @@
<ul
class=
"nav nav-pills footer-nav pull-left"
>
{
foreach
from
=
$FOOTERMENU
item
=
item
name
=
footermenu
}
<li>
{
if
$item.fullurl
}
{
$item.fullurl
|
safe
}
{
else
}
<a
href=
"
{
$item.url
}
"
>
{
$item.title
}
</a>
{/
if
}
</li>
{/
foreach
}
</ul>
...
...
htdocs/user/removefriend.php
View file @
02c2a424
...
...
@@ -11,6 +11,7 @@
define
(
'INTERNAL'
,
1
);
define
(
'MENUITEM'
,
'groups/findfriends'
);
define
(
'SECTION_PAGE'
,
'removefriend'
);
require
(
dirname
(
dirname
(
__FILE__
))
.
'/init.php'
);
$id
=
param_integer
(
'id'
);
...
...
htdocs/user/view.php
View file @
02c2a424
...
...
@@ -15,6 +15,7 @@ define('PUBLIC', 1);
define
(
'SECTION_PLUGINTYPE'
,
'artefact'
);
define
(
'SECTION_PLUGINNAME'
,
'internal'
);
define
(
'SECTION_PAGE'
,
'view'
);
define
(
'VIEW_TYPE'
,
'profile'
);
require
(
dirname
(
dirname
(
__FILE__
))
.
'/init.php'
);
require_once
(
'group.php'
);
...
...
test/behat/features/site_content/help_icon.feature
View file @
02c2a424
...
...
@@ -10,14 +10,18 @@ Background:
|
UserA
|
Kupuhipa1
|
test01@example.com
|
Angela
|
User
|
mahara
|
internal
|
member
|
# Skins need to be enabled
Given
the following site settings are set
:
And
the following site settings are set
:
|
field
|
value
|
|
skins
|
1
|
Given
the following "pages" exist
:
And
the following "pages" exist
:
|
title
|
description
|
ownertype
|
ownername
|
|
Page
01
|
UserA's
page
01
|
user
|
UserA
|
And the following "groups" exist
:
|
name
|
owner
|
description
|
grouptype
|
open
|
invitefriends
|
editroles
|
submittableto
|
allowarchives
|
members
|
staff
|
|
GroupA
|
admin
|
GroupA
owned
by
admin
|
standard
|
ON
|
ON
|
all
|
ON
|
ON
|
UserA
|
|
Scenario
:
Showing contextual help for pages under menu "Portfolio" (Bug 809297).
When
I log in as
"UserA"
with password
"Kupuhipa1"
# Test pages and collections help
...
...
@@ -81,3 +85,31 @@ Scenario: Showing contextual help for pages under menu "Portfolio" (Bug 809297).
And
I choose
"Import"
in
"Portfolio"
from main menu
And
I click on
"Help"
Then
I should see
"You can import your (or any valid Leap2a) portfolio from another Mahara site yourself."
Scenario
:
Showing correct external manual help file for mahara page
# Test by going to pages and collections help for user / institution / site / group
When
I log in as
"admin"
with password
"Kupuhipa1"
And
I choose
"Pages and collections"
in
"Portfolio"
from main menu
And
I follow
"Help"
in the
".footer-nav"
"css_element"
And
I switch to the new window
And
I should see
"5.1.1. Overview page"
And
I switch to the main window
When
I am on homepage
And
I choose
"Pages and collections"
in
"Institutions"
from administration menu
And
I follow
"Help"
in the
".footer-nav"
"css_element"
And
I switch to the new window
And
I should see
"10.6.11. Institution pages and collections"
And
I switch to the main window
When
I am on homepage
And
I choose
"Pages and collections"
in
"Configure site"
from administration menu
And
I follow
"Help"
in the
".footer-nav"
"css_element"
And
I switch to the new window
And
I should see
"10.3.6. Site pages and collections"
And
I switch to the main window
When
I am on homepage
And
I follow
"GroupA"