From: moodler Date: Fri, 26 Sep 2008 02:43:39 +0000 (+0000) Subject: MDL-16267 More cleanups, simplifications X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=305a014f8c3b0742debca0f989d97a660d56fb31;p=moodle.git MDL-16267 More cleanups, simplifications --- diff --git a/message/edit.php b/message/edit.php index 1e159f47f1..8a52ea6449 100644 --- a/message/edit.php +++ b/message/edit.php @@ -26,238 +26,244 @@ /** * Edit user message preferences * - * @author Luis Rodrigues + * @author Luis Rodrigues and Martin Dougiamas * @version $Id$ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License * @package */ -require_once('../config.php'); -require_once($CFG->libdir.'/messagelib.php'); + require_once('../config.php'); + require_once($CFG->libdir.'/messagelib.php'); + $userid = optional_param('id', $USER->id, PARAM_INT); // user id + $course = optional_param('course', SITEID, PARAM_INT); // course id (defaults to Site) -httpsrequired(); - -$userid = optional_param('id', $USER->id, PARAM_INT); // user id -$course = optional_param('course', SITEID, PARAM_INT); // course id (defaults to Site) + if (!$course = $DB->get_record('course', array('id' => $course))) { + print_error('invalidcourseid'); + } -if (!$course = $DB->get_record('course', array('id' => $course))) { - print_error('invalidcourseid'); -} + if ($course->id != SITEID) { + require_login($course); -if ($course->id != SITEID) { - require_login($course); -} else { - if (!isloggedin()) { - if (empty($SESSION->wantsurl)) { - $SESSION->wantsurl = $CFG->httpswwwroot.'/message/edit.php'; + } else { + if (!isloggedin()) { + if (empty($SESSION->wantsurl)) { + $SESSION->wantsurl = $CFG->httpswwwroot.'/message/edit.php'; + } + redirect($CFG->httpswwwroot.'/login/index.php'); } - redirect($CFG->httpswwwroot.'/login/index.php'); } -} -if (isguestuser()) { - print_error('guestnoeditmessage', 'message'); -} + if (isguestuser()) { + print_error('guestnoeditmessage', 'message'); + } -if (!$user = $DB->get_record('user', array('id' => $userid))) { - print_error('invaliduserid'); -} + if (!$user = $DB->get_record('user', array('id' => $userid))) { + print_error('invaliduserid'); + } -$systemcontext = get_context_instance(CONTEXT_SYSTEM); -$personalcontext = get_context_instance(CONTEXT_USER, $user->id); -$coursecontext = get_context_instance(CONTEXT_COURSE, $course->id); + $systemcontext = get_context_instance(CONTEXT_SYSTEM); + $personalcontext = get_context_instance(CONTEXT_USER, $user->id); + $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id); -// check access control -if ($user->id == $USER->id) { - //editing own message profile - require_capability('moodle/user:editownmessageprofile', $systemcontext); + // check access control + if ($user->id == $USER->id) { + //editing own message profile + require_capability('moodle/user:editownmessageprofile', $systemcontext); -} else { - // teachers, parents, etc. - require_capability('moodle/user:editmessageprofile', $personalcontext); - // no editing of guest user account - if (isguestuser($user->id)) { - print_error('guestnoeditmessageother', 'message'); - } - // no editing of primary admin! - $mainadmin = get_admin(); - if ($user->id == $mainadmin->id) { - print_error('adminprimarynoedit'); + } else { + // teachers, parents, etc. + require_capability('moodle/user:editmessageprofile', $personalcontext); + // no editing of guest user account + if (isguestuser($user->id)) { + print_error('guestnoeditmessageother', 'message'); + } + // no editing of primary admin! + $mainadmin = get_admin(); + if ($user->id == $mainadmin->id) { + print_error('adminprimarynoedit'); + } } -} -//save new preferences if data was submited -if ( ($form = data_submitted()) && confirm_sesskey()) { - $preferences = array(); +/// Save new preferences if data was submited + + if (($form = data_submitted()) && confirm_sesskey()) { + $preferences = array(); /// Set all the preferences for all the message providers + $providers = message_get_my_providers(); + foreach ( $providers as $providerid => $provider){ + foreach (array('loggedin', 'loggedoff') as $state){ + $linepref = ''; + foreach ($form->{$provider->component.'_'.$provider->name.'_'.$state} as $process=>$one){ + if ($linepref == ''){ + $linepref = $process; + } else { + $linepref .= ','.$process; + } + } + $preferences['message_provider_'.$provider->component.'_'.$provider->name.'_'.$state] = $linepref; + } + } + + /// Set all the processor options as well + $processors = $DB->get_records('message_processors'); + foreach ( $processors as $processorid => $processor){ + $processorfile = $CFG->dirroot. '/message/output/'.$processor->name.'/message_output_'.$processor->name.'.php'; + if ( is_readable($processorfile) ) { + include_once( $processorfile ); + + $processclass = 'message_output_' . $processor->name; + if ( class_exists($processclass) ){ + $pclass = new $processclass(); + $pclass->process_form($form, $preferences); + } else{ + print_error('errorcallingprocessor', 'message'); + } + } + } + + /// Save all the new preferences to the database + if (!set_user_preferences( $preferences, $user->id ) ){ + print_error('cannotupdateusermsgpref'); + } + + redirect("$CFG->wwwroot/message/edit.php?id=$user->id&course=$course->id"); + } + +/// Load preferences + $preferences = new object(); + +/// Get providers preferences $providers = message_get_my_providers(); foreach ( $providers as $providerid => $provider){ foreach (array('loggedin', 'loggedoff') as $state){ - $linepref = ''; - foreach ($form->{$provider->component.'_'.$provider->name.'_'.$state} as $process=>$one){ - if ($linepref == ''){ - $linepref = $process; - } else { - $linepref .= ','.$process; - } + $linepref = get_user_preferences('message_provider_'.$provider->component.'_'.$provider->name.'_'.$state, '', $user->id); + if ($linepref == ''){ + continue; + } + $lineprefarray = explode(',', $linepref); + $preferences->{$provider->component.'_'.$provider->name.'_'.$state} = array(); + foreach ($lineprefarray as $pref){ + $preferences->{$provider->component.'_'.$provider->name.'_'.$state}[$pref] = 1; } - $preferences['message_provider_'.$provider->component.'_'.$provider->name.'_'.$state] = $linepref; } } - /// Set all the processor options as well +/// For every processors put its options on the form (need to get function from processor's lib.php) $processors = $DB->get_records('message_processors'); - foreach ( $processors as $processorid => $processor){ + foreach ( $processors as $processorid => $processor){ $processorfile = $CFG->dirroot. '/message/output/'.$processor->name.'/message_output_'.$processor->name.'.php'; if ( is_readable($processorfile) ) { - include_once( $processorfile ); - + include_once( $processorfile ); $processclass = 'message_output_' . $processor->name; if ( class_exists($processclass) ){ $pclass = new $processclass(); - $pclass->process_form($form, $preferences); + $pclass->load_data($preferences, $user->id); } else{ print_error('errorcallingprocessor', 'message'); } } } - /// Save all the new preferences to the database - if (!set_user_preferences( $preferences, $user->id ) ){ - print_error('cannotupdateusermsgpref'); - } - - redirect("$CFG->wwwroot/message/edit.php?id=$user->id&course=$course->id"); -} - -//load preferences so show -$preferences = new object(); - -//get providers preferences -$providers = message_get_my_providers(); -foreach ( $providers as $providerid => $provider){ - foreach (array('loggedin', 'loggedoff') as $state){ - $linepref = get_user_preferences('message_provider_'.$provider->component.'_'.$provider->name.'_'.$state, '', $user->id); - if ($linepref == ''){ - continue; - } - $lineprefarray = explode(',', $linepref); - $preferences->{$provider->component.'_'.$provider->name.'_'.$state} = array(); - foreach ($lineprefarray as $pref){ - $preferences->{$provider->component.'_'.$provider->name.'_'.$state}[$pref] = 1; - } + +/// Display page header + $streditmymessage = get_string('editmymessage', 'message'); + $strparticipants = get_string('participants'); + $userfullname = fullname($user, true); + + $navlinks = array(); + if (has_capability('moodle/course:viewparticipants', $coursecontext) || + has_capability('moodle/site:viewparticipants', $systemcontext)) { + $navlinks[] = array('name' => $strparticipants, 'link' => "index.php?id=$course->id", 'type' => 'misc'); } -} - -//for every processors put its options on the form (need to get funcion from processor's lib.php) -$processors = $DB->get_records('message_processors'); -foreach ( $processors as $processorid => $processor){ - $processorfile = $CFG->dirroot. '/message/output/'.$processor->name.'/message_output_'.$processor->name.'.php'; - if ( is_readable($processorfile) ) { - include_once( $processorfile ); - $processclass = 'message_output_' . $processor->name; - if ( class_exists($processclass) ){ - $pclass = new $processclass(); - $pclass->load_data($preferences, $user->id); - } else{ - print_error('errorcallingprocessor', 'message'); - } + $navlinks[] = array('name' => $userfullname, + 'link' => "view.php?id=$user->id&course=$course->id", + 'type' => 'misc'); + $navlinks[] = array('name' => $streditmymessage, 'link' => null, 'type' => 'misc'); + $navigation = build_navigation($navlinks); + + if ($course->id != SITEID) { + print_header("$course->shortname: $streditmymessage", "$course->fullname: $streditmymessage", $navigation); + } else { + print_header("$course->shortname: $streditmymessage", $course->fullname, $navigation); } -} -/// Display page header -$streditmymessage = get_string('editmymessage', 'message'); -$strparticipants = get_string('participants'); -$userfullname = fullname($user, true); - -$navlinks = array(); -if (has_capability('moodle/course:viewparticipants', $coursecontext) || - has_capability('moodle/site:viewparticipants', $systemcontext)) { - $navlinks[] = array('name' => $strparticipants, 'link' => "index.php?id=$course->id", 'type' => 'misc'); -} -$navlinks[] = array('name' => $userfullname, - 'link' => "view.php?id=$user->id&course=$course->id", - 'type' => 'misc'); -$navlinks[] = array('name' => $streditmymessage, 'link' => null, 'type' => 'misc'); -$navigation = build_navigation($navlinks); - -if ($course->id != SITEID) { - print_header("$course->shortname: $streditmymessage", "$course->fullname: $streditmymessage", $navigation); -} else { - print_header("$course->shortname: $streditmymessage", $course->fullname, $navigation); -} /// Print tabs at the top -$showroles = 1; -$currenttab = 'editmessage'; -require('../user/tabs.php'); - -echo '
'; - -//output settings table -echo '
'; -echo ''.get_string('providers_config', 'message').''; -$providers = message_get_my_providers(); -$processors = $DB->get_records('message_processors'); -$number_procs = count($processors); -echo ''."\n"; -foreach ( $processors as $processorid => $processor){ - echo ''; -} -echo ''; - -/// TODO: (from martin) -/// 1) Can we show the popuyp first (it's the default and always there) -/// 2) Can we perhaps NOT show plugins here unless they have been configured in the section below - -foreach ( $providers as $providerid => $provider){ - $providername = get_string('messageprovider:'.$provider->name, $provider->component); - $helpbtn = helpbutton(str_replace('/', '_', $provider->component).'_'.$provider->name, $providername, "messaging", true, false, '', true); - echo ''."\n"; - foreach (array('loggedin', 'loggedoff') as $state){ - $state_res = get_string($state, 'message'); - echo ''."\n"; - foreach ( $processors as $processorid => $processor) { - if (!isset($preferences->{$provider->component.'_'.$provider->name.'_'.$state})) { - $checked = ''; - } else if (!isset($preferences->{$provider->component.'_'.$provider->name.'_'.$state}[$processor->name])) { - $checked = ''; - } else { - $checked = $preferences->{$provider->component.'_'.$provider->name.'_'.$state}[$processor->name]==1?" checked=\"checked\"":""; + $showroles = 1; + $currenttab = 'editmessage'; + require('../user/tabs.php'); + +/// Start the form. We're not using mform here because of our special formatting needs ... + echo ''; + +/// Settings table... + echo '
'; + echo ''.get_string('providers_config', 'message').''; + $providers = message_get_my_providers(); + $processors = $DB->get_records('message_processors'); + $number_procs = count($processors); + echo '
 '.get_string($processor->name, 'messageprocessor_'.$processor->name).'
'.$providername.$helpbtn.'
'.$state_res.'
'."\n"; + foreach ( $processors as $processorid => $processor){ + echo ''; + } + echo ''; + + foreach ( $providers as $providerid => $provider){ + $providername = get_string('messageprovider:'.$provider->name, $provider->component); + $helpbtn = helpbutton(str_replace('/', '_', $provider->component).'_'.$provider->name, $providername, "messaging", true, false, '', true); + echo ''."\n"; + foreach (array('loggedin', 'loggedoff') as $state){ + $state_res = get_string($state, 'message'); + echo ''."\n"; + foreach ( $processors as $processorid => $processor) { + if (!isset($preferences->{$provider->component.'_'.$provider->name.'_'.$state})) { + $checked = ''; + } else if (!isset($preferences->{$provider->component.'_'.$provider->name.'_'.$state}[$processor->name])) { + $checked = ''; + } else { + $checked = $preferences->{$provider->component.'_'.$provider->name.'_'.$state}[$processor->name]==1?" checked=\"checked\"":""; + } + echo ''."\n"; } - echo ''."\n"; + echo ''."\n"; } - echo ''."\n"; } -} -echo '
 '.get_string($processor->name, 'messageprocessor_'.$processor->name).'
'.$providername.$helpbtn.'
'.$state_res.'
'; -echo '
'; - -//get a listing of all the message processors -$processors = $DB->get_records('message_processors'); - -foreach ( $processors as $processorid => $processor){ - $processorfile = $CFG->dirroot. '/message/output/'.$processor->name.'/message_output_'.$processor->name.'.php'; - if ( is_readable($processorfile) ) { - include_once( $processorfile ); - $processclass = 'message_output_' . $processor->name; - if (class_exists($processclass)) { - $pclass = new $processclass(); - $pclass->config_form($preferences); - } else{ - print_error('errorcallingprocessor', 'message'); + echo ''; + echo ''; + +/// Show all the message processors + $processors = $DB->get_records('message_processors'); + + foreach ($processors as $processorid => $processor) { + $processorfile = $CFG->dirroot. '/message/output/'.$processor->name.'/message_output_'.$processor->name.'.php'; + if (is_readable($processorfile)) { + include_once($processorfile); + $processclass = 'message_output_' . $processor->name; + + if (class_exists($processclass)) { + $pclass = new $processclass(); + echo '
'; + echo ''.get_string($processor->name, 'messageprocessor_'.$processor->name).''; + + echo $pclass->config_form($preferences); + + echo '
'; + + } else{ + print_error('errorcallingprocessor', 'message'); + } } } -} -echo '

'; -echo '
'; + echo '
'; + echo '
'; + + echo "
"; -echo ""; -/// and proper footer -print_footer($course); +/// Finish with a footer + print_footer($course); ?> diff --git a/message/output/email/message_output_email.php b/message/output/email/message_output_email.php index 5956f4757b..e3a8bc66cc 100644 --- a/message/output/email/message_output_email.php +++ b/message/output/email/message_output_email.php @@ -84,13 +84,11 @@ class message_output_email extends message_output { */ function config_form($preferences){ global $USER; - echo '
'; - echo ''.get_string('email', 'messageprocessor_email').''; - echo get_string('email').': '; - if (!isset($preferences->email_email) || $preferences->email_email==''){ - echo ' default: '.$USER->email; + $string = get_string('email').': '; + if (empty($preferences->email_email)) { + $string .= ' ('.get_string('default').': '.$USER->email.')'; } - echo '
'; + return $string; } /** diff --git a/message/output/jabber/message_output_jabber.php b/message/output/jabber/message_output_jabber.php index 766d504a22..817f9603af 100644 --- a/message/output/jabber/message_output_jabber.php +++ b/message/output/jabber/message_output_jabber.php @@ -83,10 +83,7 @@ class message_output_jabber extends message_output { * @param object $mform preferences form class */ function config_form($preferences){ - echo '
'; - echo ''.get_string('jabber', 'messageprocessor_jabber').''; - echo get_string('jabberid', 'messageprocessor_jabber').': '; - echo '
'; + return get_string('jabberid', 'messageprocessor_jabber').': '; } /** diff --git a/message/output/popup/message_output_popup.php b/message/output/popup/message_output_popup.php index 8e281451a5..16986d99de 100644 --- a/message/output/popup/message_output_popup.php +++ b/message/output/popup/message_output_popup.php @@ -63,15 +63,12 @@ class message_output_popup extends message_output{ } function config_form($preferences) { - echo '
'; - echo ''.get_string('popup', 'messageprocessor_popup').''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo '
'.get_string('showmessagewindow', 'message').'showmessagewindow==1?" checked=\"checked\"":"").' />
'.get_string('blocknoncontacts', 'message').'blocknoncontacts==1?" checked=\"checked\"":"").' />
'.get_string('beepnewmessage', 'message').'beepnewmessage==1?" checked=\"checked\"":"").' />
'.get_string('noframesjs', 'message').'noframesjs==1?" checked=\"checked\"":"").' />
'; - echo '
'; + return ''. + ''. + ''. + ''. + ''. + '
'.get_string('showmessagewindow', 'message').':showmessagewindow==1?" checked=\"checked\"":"").' />
'.get_string('blocknoncontacts', 'message').':blocknoncontacts==1?" checked=\"checked\"":"").' />
'.get_string('beepnewmessage', 'message').':beepnewmessage==1?" checked=\"checked\"":"").' />
'.get_string('noframesjs', 'message').':noframesjs==1?" checked=\"checked\"":"").' />
'; } public function process_form($form, &$preferences) {