Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
integration
prechecker
Commits
ef467fff
Commit
ef467fff
authored
Sep 12, 2017
by
Marina Glancy
Browse files
MDL-59495 registration: register site on moodle.net only
Remove support for alternative hubs
parent
da48baa2
Changes
13
Hide whitespace changes
Inline
Side-by-side
admin/index.php
View file @
ef467fff
...
...
@@ -857,7 +857,7 @@ if ($updateschecker->enabled()) {
$buggyiconvnomb
=
(
!
function_exists
(
'mb_convert_encoding'
)
and
@
iconv
(
'UTF-8'
,
'UTF-8//IGNORE'
,
'100'
.
chr
(
130
)
.
'€'
)
!==
'100€'
);
//check if the site is registered on Moodle.org
$registered
=
$DB
->
count_records
(
'registration_hubs'
,
array
(
'huburl'
=>
HUB_MOODLEORGHUBURL
,
'confirmed'
=>
1
)
);
$registered
=
\
core\hub\registration
::
is_registered
(
);
// Check if there are any cache warnings.
$cachewarnings
=
cache_helper
::
warnings
();
// Check if there are events 1 API handlers.
...
...
admin/registration/confirmregistration.php
View file @
ef467fff
...
...
@@ -20,7 +20,7 @@
// //
///////////////////////////////////////////////////////////////////////////
/*
/*
*
* @package moodle
* @subpackage registration
* @author Jerome Mouneyrac <jerome@mouneyrac.com>
...
...
@@ -36,7 +36,6 @@
require
(
'../../config.php'
);
require_once
(
$CFG
->
libdir
.
'/adminlib.php'
);
require_once
(
$CFG
->
dirroot
.
'/'
.
$CFG
->
admin
.
'/registration/lib.php'
);
$newtoken
=
optional_param
(
'newtoken'
,
''
,
PARAM_ALPHANUM
);
$url
=
optional_param
(
'url'
,
''
,
PARAM_URL
);
...
...
@@ -44,7 +43,11 @@ $hubname = optional_param('hubname', '', PARAM_TEXT);
$token
=
optional_param
(
'token'
,
''
,
PARAM_TEXT
);
$error
=
optional_param
(
'error'
,
''
,
PARAM_ALPHANUM
);
admin_externalpage_setup
(
'registrationhubs'
);
admin_externalpage_setup
(
'registrationmoodleorg'
);
if
(
$url
!==
HUB_MOODLEORGHUBURL
)
{
throw
new
moodle_exception
(
'errorotherhubsnotsupported'
,
'hub'
);
}
if
(
!
empty
(
$error
)
and
$error
==
'urlalreadyexist'
)
{
throw
new
moodle_exception
(
'urlalreadyregistered'
,
'hub'
,
...
...
@@ -52,38 +55,20 @@ if (!empty($error) and $error == 'urlalreadyexist') {
}
//check that we are waiting a confirmation from this hub, and check that the token is correct
$registrationmanager
=
new
registration_manager
();
$registeredhub
=
$registrationmanager
->
get_unconfirmedhub
(
$url
);
if
(
!
empty
(
$registeredhub
)
and
$registeredhub
->
token
==
$token
)
{
echo
$OUTPUT
->
header
();
echo
$OUTPUT
->
heading
(
get_string
(
'registrationconfirmed'
,
'hub'
),
3
,
'main'
);
core\hub\registration
::
confirm_registration
(
$token
,
$newtoken
,
$hubname
);
$registeredhub
->
token
=
$newtoken
;
$registeredhub
->
confirmed
=
1
;
$registeredhub
->
hubname
=
$hubname
;
$registrationmanager
->
update_registeredhub
(
$registeredhub
);
echo
$OUTPUT
->
header
();
echo
$OUTPUT
->
heading
(
get_string
(
'registrationconfirmed'
,
'hub'
),
3
,
'main'
);
// Display notification message.
echo
$OUTPUT
->
notification
(
get_string
(
'registrationconfirmedon'
,
'hub'
),
'notifysuccess'
);
// Display notification message.
echo
$OUTPUT
->
notification
(
get_string
(
'registrationconfirmedon'
,
'hub'
),
'notifysuccess'
);
//d
isplay continue button
$registrationpage
=
new
moodle_url
(
'/admin/registration/index.php'
);
$continuebutton
=
$OUTPUT
->
render
(
new
single_button
(
$registrationpage
,
get_string
(
'continue'
,
'hub'
)));
$continuebutton
=
html_writer
::
tag
(
'div'
,
$continuebutton
,
array
(
'class'
=>
'mdl-align'
));
echo
$continuebutton
;
// D
isplay continue button
.
$registrationpage
=
new
moodle_url
(
'/admin/registration/index.php'
);
$continuebutton
=
$OUTPUT
->
render
(
new
single_button
(
$registrationpage
,
get_string
(
'continue'
)));
$continuebutton
=
html_writer
::
tag
(
'div'
,
$continuebutton
,
array
(
'class'
=>
'mdl-align'
));
echo
$continuebutton
;
if
(
!
extension_loaded
(
'xmlrpc'
))
{
//display notice about xmlrpc
$xmlrpcnotification
=
$OUTPUT
->
doc_link
(
'admin/environment/php_extension/xmlrpc'
,
''
);
$xmlrpcnotification
.
=
get_string
(
'xmlrpcdisabledregistration'
,
'hub'
);
echo
$OUTPUT
->
notification
(
$xmlrpcnotification
);
}
echo
$OUTPUT
->
footer
();
}
else
{
throw
new
moodle_exception
(
'wrongtoken'
,
'hub'
,
$CFG
->
wwwroot
.
'/'
.
$CFG
->
admin
.
'/registration/index.php'
);
}
echo
$OUTPUT
->
footer
();
admin/registration/forms.php
View file @
ef467fff
...
...
@@ -33,4 +33,4 @@
defined
(
'MOODLE_INTERNAL'
)
||
die
();
debugging
(
'Support for alternative hubs has been removed from Moodle in 3.4. For communication with moodle.net '
.
'see lib/classes/
moodlenet
/ .'
,
DEBUG_DEVELOPER
);
'see lib/classes/
hub
/ .'
,
DEBUG_DEVELOPER
);
admin/registration/index.php
View file @
ef467fff
...
...
@@ -15,194 +15,97 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/*
/*
*
* @package moodle
* @subpackage registration
* @author Jerome Mouneyrac <jerome@mouneyrac.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL
* @copyright (C) 1999 onwards Martin Dougiamas http://dougiamas.com
*
*
On t
his page
the administrator selects which hub he wants to register (except for m
oodle.net
)
*
Admins can register with moodle.net via the site admin menu "Registration" link
.
*
On this page the administrator can also unregister from any hubs including moodle.net
.
*
T
his page
displays the site registration form for M
oodle.net
.
*
It handles redirection to the hub to continue the registration workflow process
.
*
It also handles update operation by web service
.
*/
require
(
'../../config.php'
);
require_once
(
'../../config.php'
);
require_once
(
$CFG
->
libdir
.
'/adminlib.php'
);
require_once
(
$CFG
->
dirroot
.
'/'
.
$CFG
->
admin
.
'/registration/lib.php'
);
require_once
(
$CFG
->
dirroot
.
'/'
.
$CFG
->
admin
.
'/registration/forms.php'
);
require_once
(
$CFG
->
dirroot
.
'/course/publish/lib.php'
);
require_once
(
$CFG
->
dirroot
.
"/webservice/xmlrpc/lib.php"
);
admin_externalpage_setup
(
'registrationhubs'
);
$renderer
=
$PAGE
->
get_renderer
(
'core'
,
'register
'
);
admin_externalpage_setup
(
'registrationmoodleorg
'
);
$unregistration
=
optional_param
(
'unregistration'
,
0
,
PARAM_INT
);
$cleanregdata
=
optional_param
(
'cleanregdata'
,
0
,
PARAM_BOOL
);
$confirm
=
optional_param
(
'confirm'
,
0
,
PARAM_INT
);
$huburl
=
optional_param
(
'huburl'
,
''
,
PARAM_URL
);
$cancel
=
optional_param
(
'cancel'
,
null
,
PARAM_ALPHA
);
$registrationmanager
=
new
registration_manager
();
$publicationmanager
=
new
course_publish_manager
();
$errormessage
=
''
;
if
(
empty
(
$cancel
)
and
$unregistration
and
$confirm
and
confirm_sesskey
())
{
$hub
=
$registrationmanager
->
get_registeredhub
(
$huburl
);
//unpublish course and unregister the site by web service
if
(
!
$cleanregdata
)
{
//check if we need to unpublish courses
//enrollable courses
$unpublishalladvertisedcourses
=
optional_param
(
'unpublishalladvertisedcourses'
,
0
,
PARAM_INT
);
$hubcourseids
=
array
();
if
(
$unpublishalladvertisedcourses
)
{
$enrollablecourses
=
$publicationmanager
->
get_publications
(
$huburl
,
null
,
1
);
if
(
!
empty
(
$enrollablecourses
))
{
foreach
(
$enrollablecourses
as
$enrollablecourse
)
{
$hubcourseids
[]
=
$enrollablecourse
->
hubcourseid
;
}
}
}
//downloadable courses
$unpublishalluploadedcourses
=
optional_param
(
'unpublishalluploadedcourses'
,
0
,
PARAM_INT
);
if
(
$unpublishalluploadedcourses
)
{
$downloadablecourses
=
$publicationmanager
->
get_publications
(
$huburl
,
null
,
0
);
if
(
!
empty
(
$downloadablecourses
))
{
foreach
(
$downloadablecourses
as
$downloadablecourse
)
{
$hubcourseids
[]
=
$downloadablecourse
->
hubcourseid
;
}
}
}
//unpublish the courses by web service
if
(
!
empty
(
$hubcourseids
))
{
$function
=
'hub_unregister_courses'
;
$params
=
array
(
'courseids'
=>
$hubcourseids
);
$serverurl
=
$huburl
.
"/local/hub/webservice/webservices.php"
;
$xmlrpcclient
=
new
webservice_xmlrpc_client
(
$serverurl
,
$hub
->
token
);
try
{
$result
=
$xmlrpcclient
->
call
(
$function
,
$params
);
//delete the published courses
if
(
!
empty
(
$enrollablecourses
))
{
$publicationmanager
->
delete_hub_publications
(
$huburl
,
1
);
}
if
(
!
empty
(
$downloadablecourses
))
{
$publicationmanager
->
delete_hub_publications
(
$huburl
,
0
);
}
}
catch
(
Exception
$e
)
{
$errormessage
=
$e
->
getMessage
();
$errormessage
.
=
html_writer
::
empty_tag
(
'br'
)
.
get_string
(
'errorunpublishcourses'
,
'hub'
);
$confirm
=
false
;
$cleanregdata
=
1
;
}
}
}
if
(
$unregistration
&&
\
core\hub\registration
::
is_registered
())
{
$siteunregistrationform
=
new
\
core\hub\site_unregistration_form
();
//course unpublish went ok, unregister the site now
if
(
$confirm
)
{
$function
=
'hub_unregister_site'
;
$params
=
array
();
$serverurl
=
$huburl
.
"/local/hub/webservice/webservices.php"
;
$xmlrpcclient
=
new
webservice_xmlrpc_client
(
$serverurl
,
$hub
->
token
);
try
{
$result
=
$xmlrpcclient
->
call
(
$function
,
$params
);
}
catch
(
Exception
$e
)
{
if
(
!
$cleanregdata
)
{
$errormessage
=
$e
->
getMessage
();
$confirm
=
false
;
$cleanregdata
=
1
;
}
if
(
$siteunregistrationform
->
is_cancelled
())
{
redirect
(
new
moodle_url
(
'/admin/registration/index.php'
));
}
else
if
(
$data
=
$siteunregistrationform
->
get_data
())
{
if
(
\
core\hub\registration
::
unregister
(
$data
->
unpublishalladvertisedcourses
,
$data
->
unpublishalluploadedcourses
))
{
redirect
(
new
moodle_url
(
'/admin/registration/index.php'
));
}
}
//check that we are still processing the unregistration,
//it could have been unset if an exception were p
re
v
is
ouly catched
if
(
$c
onf
i
rm
)
{
$registrationmanager
->
delete_registeredhub
(
$huburl
);
}
echo
$OUTPUT
->
header
();
echo
$OUTPUT
->
heading
(
get_string
(
'un
re
g
is
terfrom'
,
'hub'
,
'Moodle.net'
),
3
,
'main'
);
$siteunregistrati
onf
o
rm
->
display
();
echo
$OUTPUT
->
footer
(
);
exit
;
}
if
(
empty
(
$cancel
)
and
$unregistration
and
!
$confirm
)
{
echo
$OUTPUT
->
header
();
$siteregistrationform
=
new
\
core\hub\site_registration_form
();
if
(
$fromform
=
$siteregistrationform
->
get_data
())
{
//do not check sesskey if confirm = false because this script is linked into email message
if
(
!
empty
(
$errormessage
))
{
echo
$OUTPUT
->
notification
(
get_string
(
'unregistrationerror'
,
'hub'
,
$errormessage
));
}
// Save the settings.
\
core\hub\registration
::
save_site_info
(
$fromform
);
$hub
=
$registrationmanager
->
get_registeredhub
(
$huburl
);
echo
$OUTPUT
->
heading
(
get_string
(
'unregisterfrom'
,
'hub'
,
$hub
->
hubname
),
3
,
'main'
);
if
(
$cleanregdata
)
{
$siteunregistrationform
=
new
site_clean_registration_data_form
(
''
,
array
(
'huburl'
=>
$huburl
,
'hubname'
=>
$hub
->
hubname
));
if
(
\
core\hub\registration
::
is_registered
())
{
\
core\hub\registration
::
update_manual
();
redirect
(
new
moodle_url
(
'/admin/registration/index.php'
));
}
else
{
$siteun
registration
form
=
new
site_unregistration_form
(
''
,
array
(
'huburl'
=>
$huburl
,
'hubname'
=>
$hub
->
hubname
));
\
core\hub\
registration
::
register
();
// This method will redirect away.
}
$siteunregistrationform
->
display
();
}
else
{
$registeredonmoodleorg
=
false
;
$moodleorghub
=
$registrationmanager
->
get_registeredhub
(
HUB_MOODLEORGHUBURL
);
if
(
!
empty
(
$moodleorghub
))
{
$registeredonmoodleorg
=
true
;
}
// load the hub selector form
$hubselectorform
=
new
hub_selector_form
();
$fromform
=
$hubselectorform
->
get_data
();
$selectedhuburl
=
optional_param
(
'publichub'
,
false
,
PARAM_URL
);
$unlistedhuburl
=
optional_param
(
'unlistedurl'
,
false
,
PARAM_TEXT
);
$password
=
optional_param
(
'password'
,
''
,
PARAM_RAW
);
$registeringhuburl
=
null
;
if
(
!
empty
(
$unlistedhuburl
))
{
if
(
clean_param
(
$unlistedhuburl
,
PARAM_URL
)
!==
''
)
{
$registeringhuburl
=
$unlistedhuburl
;
}
}
else
if
(
!
empty
(
$selectedhuburl
))
{
$registeringhuburl
=
$selectedhuburl
;
}
}
// a hub has been selected, redirect to the hub registration page
if
(
empty
(
$cancel
)
and
!
empty
(
$registeringhuburl
)
and
confirm_sesskey
())
{
$hubname
=
optional_param
(
clean_param
(
$registeringhuburl
,
PARAM_ALPHANUMEXT
),
''
,
PARAM_TEXT
);
$params
=
array
(
'sesskey'
=>
sesskey
(),
'huburl'
=>
$registeringhuburl
,
'password'
=>
$password
,
'hubname'
=>
$hubname
);
redirect
(
new
moodle_url
(
$CFG
->
wwwroot
.
"/"
.
$CFG
->
admin
.
"/registration/register.php"
,
$params
));
}
// OUTPUT SECTION.
echo
$OUTPUT
->
header
();
echo
$OUTPUT
->
header
();
//check if the site is registered on Moodle.org and display a message about registering on MOOCH
$adminrenderer
=
$PAGE
->
get_renderer
(
'core'
,
'admin'
);
echo
$adminrenderer
->
warn_if_not_registered
();
// Current status of registration on Moodle.net.
//do not check sesskey if confirm = false because this script is linked into email message
if
(
!
empty
(
$errormessage
))
{
echo
$OUTPUT
->
notification
(
get_string
(
'unregistrationerror'
,
'hub'
,
$errormessage
));
$notificationtype
=
\
core\output\notification
::
NOTIFY_ERROR
;
if
(
\
core\hub\registration
::
is_registered
())
{
$lastupdated
=
\
core\hub\registration
::
get_last_updated
();
if
(
$lastupdated
==
0
)
{
$registrationmessage
=
get_string
(
'pleaserefreshregistrationunknown'
,
'admin'
);
}
else
{
$lastupdated
=
userdate
(
$lastupdated
,
get_string
(
'strftimedate'
,
'langconfig'
));
$registrationmessage
=
get_string
(
'pleaserefreshregistration'
,
'admin'
,
$lastupdated
);
$notificationtype
=
\
core\output\notification
::
NOTIFY_INFO
;
}
echo
$OUTPUT
->
notification
(
$registrationmessage
,
$notificationtype
);
}
else
{
$registrationmessage
=
get_string
(
'registrationwarning'
,
'admin'
);
echo
$OUTPUT
->
notification
(
$registrationmessage
,
$notificationtype
);
}
echo
$OUTPUT
->
heading
(
get_string
(
'registerwith'
,
'hub'
));
// Heading.
if
(
\
core\hub\registration
::
is_registered
())
{
echo
$OUTPUT
->
heading
(
get_string
(
'updatesite'
,
'hub'
,
'Moodle.net'
));
}
else
{
echo
$OUTPUT
->
heading
(
get_string
(
'registerwithmoodleorg'
,
'admin'
));
}
$hubselectorform
->
display
();
$renderer
=
$PAGE
->
get_renderer
(
'core'
,
'register'
);
echo
$renderer
->
moodleorg_registration_message
();
if
(
extension_loaded
(
'xmlrpc'
))
{
$hubs
=
$registrationmanager
->
get_registered_on_hubs
();
if
(
!
empty
(
$hubs
))
{
echo
$OUTPUT
->
heading
(
get_string
(
'registeredon'
,
'hub'
),
3
,
'main'
);
echo
$renderer
->
registeredonhublisting
(
$hubs
);
}
}
else
{
//display notice about xmlrpc
$xmlrpcnotification
=
$OUTPUT
->
doc_link
(
'admin/environment/php_extension/xmlrpc'
,
''
);
$xmlrpcnotification
.
=
get_string
(
'xmlrpcdisabledregistration'
,
'hub'
);
echo
$OUTPUT
->
notification
(
$xmlrpcnotification
);
}
$siteregistrationform
->
display
();
if
(
\
core\hub\registration
::
is_registered
())
{
// Unregister link.
$unregisterhuburl
=
new
moodle_url
(
"/admin/registration/index.php"
,
[
'unregistration'
=>
1
]);
echo
html_writer
::
div
(
html_writer
::
link
(
$unregisterhuburl
,
get_string
(
'unregister'
,
'hub'
)),
'unregister'
);
}
echo
$OUTPUT
->
footer
();
admin/registration/register.php
View file @
ef467fff
...
...
@@ -20,7 +20,7 @@
// //
///////////////////////////////////////////////////////////////////////////
/*
/*
*
* @package moodle
* @subpackage registration
* @author Jerome Mouneyrac <jerome@mouneyrac.com>
...
...
@@ -34,179 +34,5 @@
require_once
(
'../../config.php'
);
require_once
(
$CFG
->
libdir
.
'/adminlib.php'
);
require_once
(
$CFG
->
dirroot
.
'/'
.
$CFG
->
admin
.
'/registration/forms.php'
);
require_once
(
$CFG
->
dirroot
.
'/webservice/lib.php'
);
require_once
(
$CFG
->
dirroot
.
'/'
.
$CFG
->
admin
.
'/registration/lib.php'
);
require_sesskey
();
$huburl
=
required_param
(
'huburl'
,
PARAM_URL
);
$huburl
=
rtrim
(
$huburl
,
"/"
);
if
(
$huburl
==
HUB_MOODLEORGHUBURL
)
{
// register to Moodle.org
admin_externalpage_setup
(
'registrationmoodleorg'
);
}
else
{
//register to a hub
admin_externalpage_setup
(
'registrationhub'
);
}
$password
=
optional_param
(
'password'
,
''
,
PARAM_TEXT
);
$hubname
=
optional_param
(
'hubname'
,
''
,
PARAM_TEXT
);
$registrationmanager
=
new
registration_manager
();
$registeredhub
=
$registrationmanager
->
get_registeredhub
(
$huburl
);
$siteregistrationform
=
new
site_registration_form
(
''
,
array
(
'alreadyregistered'
=>
!
empty
(
$registeredhub
->
token
),
'huburl'
=>
$huburl
,
'hubname'
=>
$hubname
,
'password'
=>
$password
));
$fromform
=
$siteregistrationform
->
get_data
();
if
(
!
empty
(
$fromform
)
and
confirm_sesskey
())
{
// Set to -1 all optional data marked as "don't send" by the admin.
// The function get_site_info() will not calculate the optional data if config is set to -1.
$inputnames
=
array
(
'courses'
,
'users'
,
'roleassignments'
,
'posts'
,
'questions'
,
'resources'
,
'badges'
,
'issuedbadges'
,
'modulenumberaverage'
,
'participantnumberaverage'
,
'mobileservicesenabled'
,
'mobilenotificationsenabled'
,
'registereduserdevices'
,
'registeredactiveuserdevices'
);
foreach
(
$inputnames
as
$inputname
)
{
if
(
empty
(
$fromform
->
{
$inputname
}))
{
$fromform
->
{
$inputname
}
=
-
1
;
}
}
// Save the settings.
$cleanhuburl
=
clean_param
(
$huburl
,
PARAM_ALPHANUMEXT
);
set_config
(
'site_name_'
.
$cleanhuburl
,
$fromform
->
name
,
'hub'
);
set_config
(
'site_description_'
.
$cleanhuburl
,
$fromform
->
description
,
'hub'
);
set_config
(
'site_contactname_'
.
$cleanhuburl
,
$fromform
->
contactname
,
'hub'
);
set_config
(
'site_contactemail_'
.
$cleanhuburl
,
$fromform
->
contactemail
,
'hub'
);
set_config
(
'site_contactphone_'
.
$cleanhuburl
,
$fromform
->
contactphone
,
'hub'
);
set_config
(
'site_imageurl_'
.
$cleanhuburl
,
$fromform
->
imageurl
,
'hub'
);
set_config
(
'site_privacy_'
.
$cleanhuburl
,
$fromform
->
privacy
,
'hub'
);
set_config
(
'site_address_'
.
$cleanhuburl
,
$fromform
->
address
,
'hub'
);
set_config
(
'site_region_'
.
$cleanhuburl
,
$fromform
->
regioncode
,
'hub'
);
set_config
(
'site_country_'
.
$cleanhuburl
,
$fromform
->
countrycode
,
'hub'
);
set_config
(
'site_language_'
.
$cleanhuburl
,
$fromform
->
language
,
'hub'
);
set_config
(
'site_geolocation_'
.
$cleanhuburl
,
$fromform
->
geolocation
,
'hub'
);
set_config
(
'site_contactable_'
.
$cleanhuburl
,
$fromform
->
contactable
,
'hub'
);
set_config
(
'site_emailalert_'
.
$cleanhuburl
,
$fromform
->
emailalert
,
'hub'
);
set_config
(
'site_coursesnumber_'
.
$cleanhuburl
,
$fromform
->
courses
,
'hub'
);
set_config
(
'site_usersnumber_'
.
$cleanhuburl
,
$fromform
->
users
,
'hub'
);
set_config
(
'site_roleassignmentsnumber_'
.
$cleanhuburl
,
$fromform
->
roleassignments
,
'hub'
);
set_config
(
'site_postsnumber_'
.
$cleanhuburl
,
$fromform
->
posts
,
'hub'
);
set_config
(
'site_questionsnumber_'
.
$cleanhuburl
,
$fromform
->
questions
,
'hub'
);
set_config
(
'site_resourcesnumber_'
.
$cleanhuburl
,
$fromform
->
resources
,
'hub'
);
set_config
(
'site_badges_'
.
$cleanhuburl
,
$fromform
->
badges
,
'hub'
);
set_config
(
'site_issuedbadges_'
.
$cleanhuburl
,
$fromform
->
issuedbadges
,
'hub'
);
set_config
(
'site_modulenumberaverage_'
.
$cleanhuburl
,
$fromform
->
modulenumberaverage
,
'hub'
);
set_config
(
'site_participantnumberaverage_'
.
$cleanhuburl
,
$fromform
->
participantnumberaverage
,
'hub'
);
set_config
(
'site_mobileservicesenabled_'
.
$cleanhuburl
,
$fromform
->
mobileservicesenabled
,
'hub'
);
set_config
(
'site_mobilenotificationsenabled_'
.
$cleanhuburl
,
$fromform
->
mobilenotificationsenabled
,
'hub'
);
set_config
(
'site_registereduserdevices_'
.
$cleanhuburl
,
$fromform
->
registereduserdevices
,
'hub'
);
set_config
(
'site_registeredactiveuserdevices_'
.
$cleanhuburl
,
$fromform
->
registeredactiveuserdevices
,
'hub'
);
}
/////// UPDATE ACTION ////////
// update the hub registration
$update
=
optional_param
(
'update'
,
0
,
PARAM_INT
);
if
(
$update
and
confirm_sesskey
())
{
//update the registration
$function
=
'hub_update_site_info'
;
$siteinfo
=
$registrationmanager
->
get_site_info
(
$huburl
);
$params
=
array
(
'siteinfo'
=>
$siteinfo
);
$serverurl
=
$huburl
.
"/local/hub/webservice/webservices.php"
;
require_once
(
$CFG
->
dirroot
.
"/webservice/xmlrpc/lib.php"
);
$xmlrpcclient
=
new
webservice_xmlrpc_client
(
$serverurl
,
$registeredhub
->
token
);
try
{
$result
=
$xmlrpcclient
->
call
(
$function
,
$params
);
$registrationmanager
->
update_registeredhub
(
$registeredhub
);
// To update timemodified.
}
catch
(
Exception
$e
)
{
$error
=
$OUTPUT
->
notification
(
get_string
(
'errorregistration'
,
'hub'
,
$e
->
getMessage
()));
}
}
/////// FORM REGISTRATION ACTION //////
if
(
!
empty
(
$fromform
)
and
empty
(
$update
)
and
confirm_sesskey
())
{
if
(
!
empty
(
$fromform
)
and
confirm_sesskey
())
{
// if the register button has been clicked
// Retrieve the optional info (specially course number, user number, module number average...).
$siteinfo
=
$registrationmanager
->
get_site_info
(
$huburl
);
$fromform
->
courses
=
$siteinfo
[
'courses'
];
$fromform
->
users
=
$siteinfo
[
'users'
];
$fromform
->
enrolments
=
$siteinfo
[
'enrolments'
];
$fromform
->
posts
=
$siteinfo
[
'posts'
];
$fromform
->
questions
=
$siteinfo
[
'questions'
];
$fromform
->
resources
=
$siteinfo
[
'resources'
];
$fromform
->
badges
=
$siteinfo
[
'badges'
];
$fromform
->
issuedbadges
=
$siteinfo
[
'issuedbadges'
];
$fromform
->
modulenumberaverage
=
$siteinfo
[
'modulenumberaverage'
];
$fromform
->
participantnumberaverage
=
$siteinfo
[
'participantnumberaverage'
];
$fromform
->
street
=
$siteinfo
[
'street'
];
$fromform
->
mobileservicesenabled
=
$siteinfo
[
'mobileservicesenabled'
];
$fromform
->
mobilenotificationsenabled
=
$siteinfo
[
'mobilenotificationsenabled'
];
$fromform
->
registereduserdevices
=
$siteinfo
[
'registereduserdevices'
];
$fromform
->
registeredactiveuserdevices
=
$siteinfo
[
'registeredactiveuserdevices'
];
$params
=
(
array
)
$fromform
;
//we are using the form input as the redirection parameters (token, url and name)
$unconfirmedhub
=
$registrationmanager
->
get_unconfirmedhub
(
$huburl
);
if
(
empty
(
$unconfirmedhub
))
{
//we save the token into the communication table in order to have a reference
$unconfirmedhub
=
new
stdClass
();
$unconfirmedhub
->
token
=
$registrationmanager
->
get_site_secret_for_hub
(
$huburl
);
$unconfirmedhub
->
secret
=
$unconfirmedhub
->
token
;
$unconfirmedhub
->
huburl
=
$huburl
;
$unconfirmedhub
->
hubname
=
$hubname
;
$unconfirmedhub
->
confirmed
=
0
;
$unconfirmedhub
->
id
=
$registrationmanager
->
add_registeredhub
(
$unconfirmedhub
);
}
$params
[
'token'
]
=
$unconfirmedhub
->
token
;
$params
[
'url'
]
=
$CFG
->
wwwroot
;
redirect
(
new
moodle_url
(
$huburl
.
'/local/hub/siteregistration.php'
,
$params
));
}
}
/////// OUTPUT SECTION /////////////
echo
$OUTPUT
->
header
();
//Display update notification result
if
(
!
empty
(
$registeredhub
->
confirmed
))
{
if
(
!
empty
(
$result
))
{
echo
$OUTPUT
->
notification
(
get_string
(
'siteregistrationupdated'
,
'hub'
),
'notifysuccess'
);
}
}
if
(
!
empty
(
$error
))
{
echo
$error
;
}
// Some Moodle.org registration explanation.
if
(
$huburl
==
HUB_MOODLEORGHUBURL
)
{
$notificationtype
=
\
core\output\notification
::
NOTIFY_ERROR
;
if
(
!
empty
(
$registeredhub
->
token
))
{
if
(
$registeredhub
->
timemodified
==
0
)
{
$registrationmessage
=
get_string
(
'pleaserefreshregistrationunknown'
,
'admin'
);
}
else
{
$lastupdated
=
userdate
(
$registeredhub
->
timemodified
,
get_string
(
'strftimedate'
,
'langconfig'
));
$registrationmessage
=
get_string
(
'pleaserefreshregistration'
,
'admin'
,
$lastupdated
);
$notificationtype
=
\
core\output\notification
::
NOTIFY_INFO
;
}
}
else
{
$registrationmessage
=
get_string
(
'registrationwarning'
,
'admin'
);
}
echo
$OUTPUT
->
notification
(
$registrationmessage
,
$notificationtype
);
echo
$OUTPUT
->
heading
(
get_string
(
'registerwithmoodleorg'
,
'admin'
));
$renderer
=
$PAGE
->
get_renderer
(
'core'
,
'register'
);
echo
$renderer
->
moodleorg_registration_message
();
}
$siteregistrationform
->
display
();
echo
$OUTPUT
->
footer
();
redirect
(
new
moodle_url
(
'/admin/registration/index.php'
));
\ No newline at end of file
admin/registration/renderer.php
View file @
ef467fff
...
...
@@ -46,50 +46,4 @@ class core_register_renderer extends plugin_renderer_base {
$moodleorgregmsg
.
=
html_writer
::
alist
(
$items
);
return
$moodleorgregmsg
;
}
/**
* Display a box message confirming a site registration (add or update)
* @param string $confirmationmessage
* @return string
*/
public
function
registration_confirmation
(
$confirmationmessage
)
{
$linktositelist
=
html_writer
::
tag
(
'a'
,
get_string
(
'sitelist'
,
'hub'
),
array
(
'href'
=>
new
moodle_url
(
'/local/hub/index.php'
)));
$message
=
$confirmationmessage
.
html_writer
::
empty_tag
(
'br'
)
.
$linktositelist
;
return
$this
->
output
->
box
(
$message
);
}
/**
* Display the listing of registered on hub
*/
public
function
registeredonhublisting
(
$hubs
)
{
global
$CFG
;
$table
=
new
html_table
();
$table
->
head
=
array
(
get_string
(
'hub'
,
'hub'
),
get_string
(
'operation'
,
'hub'
));
$table
->
size
=
array
(
'80%'
,
'20%'
);
foreach
(
$hubs
as
$hub
)
{
if
(
$hub
->
huburl
==
HUB_MOODLEORGHUBURL
)
{
$hub
->
hubname
=
get_string
(
'registeredmoodleorg'
,
'hub'
,
$hub
->
hubname
);
}
$hublink
=
html_writer
::
tag
(
'a'
,
$hub
->
hubname
,
array
(
'href'
=>
$hub
->
huburl
));
$hublinkcell
=
html_writer
::
tag
(
'div'
,
$hublink
,
array
(
'class'
=>
'registeredhubrow'
));
$unregisterhuburl
=
new
moodle_url
(
"/"
.
$CFG
->
admin
.
"/registration/index.php"
,
array
(
'sesskey'
=>
sesskey
(),
'huburl'
=>
$hub
->
huburl
,
'unregistration'
=>
1
));
$unregisterbutton
=
new
single_button
(
$unregisterhuburl
,
get_string
(
'unregister'
,
'hub'
));
$unregisterbutton
->
class
=
'centeredbutton'
;
$unregisterbuttonhtml
=
$this
->
output
->
render
(
$unregisterbutton
);
//add button cells
$cells
=
array
(
$hublinkcell
,
$unregisterbuttonhtml
);
$row
=
new
html_table_row
(
$cells
);
$table
->
data
[]
=
$row
;
}
return
html_writer
::
table
(
$table
);
}
}
admin/registration/renewregistration.php
View file @
ef467fff
...
...
@@ -20,7 +20,7 @@
// //
///////////////////////////////////////////////////////////////////////////