]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-16267 More cleanups, simplifications
authormoodler <moodler>
Fri, 26 Sep 2008 02:43:39 +0000 (02:43 +0000)
committermoodler <moodler>
Fri, 26 Sep 2008 02:43:39 +0000 (02:43 +0000)
message/edit.php
message/output/email/message_output_email.php
message/output/jabber/message_output_jabber.php
message/output/popup/message_output_popup.php

index 1e159f47f1b909a01462ada5e6fe2eabc7260af2..8a52ea6449b942e78b54c58791221efa7dfc70e8 100644 (file)
 /**
  * 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&amp;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&amp;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 '<form class="mform" method="post" action="'.$CFG->wwwroot.'/message/edit.php">';
-
-//output settings table
-echo '<fieldset id="providers" class="clearfix">';
-echo '<legend class="ftoggler">'.get_string('providers_config', 'message').'</legend>';
-$providers = message_get_my_providers();
-$processors = $DB->get_records('message_processors');
-$number_procs = count($processors);
-echo '<table cellpadding="2"><tr><td>&nbsp;</td>'."\n";
-foreach ( $processors as $processorid => $processor){
-    echo '<th align="center">'.get_string($processor->name, 'messageprocessor_'.$processor->name).'</th>';
-}
-echo '</tr>';
-
-///  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 '<tr><th align="right">'.$providername.$helpbtn.'</th><td colspan="'.$number_procs.'"></td></tr>'."\n";
-    foreach (array('loggedin', 'loggedoff') as $state){
-        $state_res = get_string($state, 'message');
-        echo '<tr><td align="right">'.$state_res.'</td>'."\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 '<form class="mform" method="post" action="'.$CFG->wwwroot.'/message/edit.php">';
+
+/// Settings table...
+    echo '<fieldset id="providers" class="clearfix">';
+    echo '<legend class="ftoggler">'.get_string('providers_config', 'message').'</legend>';
+    $providers = message_get_my_providers();
+    $processors = $DB->get_records('message_processors');
+    $number_procs = count($processors);
+    echo '<table cellpadding="2"><tr><td>&nbsp;</td>'."\n";
+    foreach ( $processors as $processorid => $processor){
+        echo '<th align="center">'.get_string($processor->name, 'messageprocessor_'.$processor->name).'</th>';
+    }
+    echo '</tr>';
+
+    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 '<tr><th align="right">'.$providername.$helpbtn.'</th><td colspan="'.$number_procs.'"></td></tr>'."\n";
+        foreach (array('loggedin', 'loggedoff') as $state){
+            $state_res = get_string($state, 'message');
+            echo '<tr><td align="right">'.$state_res.'</td>'."\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 '<td align="center"><input type="checkbox" name="'.$provider->component.'_'.$provider->name.'_'.$state.'['.$processor->name.']" '.$checked.' /></td>'."\n";
             }
-            echo '<td align="center"><input type="checkbox" name="'.$provider->component.'_'.$provider->name.'_'.$state.'['.$processor->name.']" '.$checked.' /></td>'."\n";
+            echo '</tr>'."\n";
         }
-        echo '</tr>'."\n";
     }
-}
-echo '</table>';
-echo '</fieldset>';
-
-//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 '</table>';
+    echo '</fieldset>';
+
+/// 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 '<fieldset id="messageprocessor_'.$processor->name.'" class="clearfix">';
+                echo '<legend class="ftoggler">'.get_string($processor->name, 'messageprocessor_'.$processor->name).'</legend>';
+
+                echo $pclass->config_form($preferences); 
+
+                echo '</fieldset>';
+
+            } else{ 
+                print_error('errorcallingprocessor', 'message');
+            }
         }
     }
-}
 
-echo '<p><input type="hidden" name="sesskey" value="'.sesskey().'" /> </p>';
-echo '<div style="text-align:center"><input name="submit" value="'. get_string('updatemyprofile') .'" type="submit" /></div>';
+    echo '<div><input type="hidden" name="sesskey" value="'.sesskey().'" /></div>';
+    echo '<div style="text-align:center"><input name="submit" value="'. get_string('updatemyprofile') .'" type="submit" /></div>';
+
+    echo "</form>";
 
-echo "</form>";
 
-/// and proper footer
-print_footer($course);
+/// Finish with a footer
+    print_footer($course);
 
 ?>
index 5956f4757bdff5d9615f6c9d96b23cceb8919679..e3a8bc66cce5e01f289ba18f91daad3179aec6db 100644 (file)
@@ -84,13 +84,11 @@ class message_output_email extends message_output {
      */
     function config_form($preferences){ 
         global $USER;
-        echo '<fieldset id="messageprocessor_email" class="clearfix">';
-        echo '<legend class="ftoggler">'.get_string('email', 'messageprocessor_email').'</legend>';
-        echo get_string('email').': <input name="email_email" value="'.$preferences->email_email.'" />';
-        if (!isset($preferences->email_email) || $preferences->email_email==''){
-            echo ' default: '.$USER->email;
+        $string = get_string('email').': <input size="30" name="email_email" value="'.$preferences->email_email.'" />';
+        if (empty($preferences->email_email)) {
+            $string .= ' ('.get_string('default').': '.$USER->email.')';
         }
-        echo '</fieldset>';
+        return $string;
     }
 
     /**
index 766d504a22785b1d81799d2fe9108f4bf3a9127e..817f9603af70f891157135ad8814127612df7da3 100644 (file)
@@ -83,10 +83,7 @@ class message_output_jabber extends message_output {
      * @param object $mform preferences form class
      */
     function config_form($preferences){
-        echo '<fieldset id="messageprocessor_email" class="clearfix">';
-        echo '<legend class="ftoggler">'.get_string('jabber', 'messageprocessor_jabber').'</legend>';
-        echo get_string('jabberid', 'messageprocessor_jabber').': <input name="jabber_jabberid" value="'.$preferences->jabber_jabberid.'" />';
-        echo '</fieldset>';
+        return get_string('jabberid', 'messageprocessor_jabber').': <input size="30" name="jabber_jabberid" value="'.$preferences->jabber_jabberid.'" />';
     }
 
     /**
index 8e281451a55fc81da3f88fd1547ca28a89bf1ec4..16986d99de098321594e5327ad708bff30c34a68 100644 (file)
@@ -63,15 +63,12 @@ class message_output_popup extends message_output{
     }
     
     function config_form($preferences) {
-        echo '<fieldset id="messageprocessor_popup" class="clearfix">';
-        echo '<legend class="ftoggler">'.get_string('popup', 'messageprocessor_popup').'</legend>';
-        echo '<table>';
-        echo '<tr><td>'.get_string('showmessagewindow', 'message').'</td><td><input type="checkbox" name="showmessagewindow" '.($preferences->showmessagewindow==1?" checked=\"checked\"":"").' /></td></tr>';
-        echo '<tr><td>'.get_string('blocknoncontacts', 'message').'</td><td><input type="checkbox" name="blocknoncontacts" '.($preferences->blocknoncontacts==1?" checked=\"checked\"":"").' /></td></tr>';
-        echo '<tr><td>'.get_string('beepnewmessage', 'message').'</td><td><input type="checkbox" name="beepnewmessage" '.($preferences->beepnewmessage==1?" checked=\"checked\"":"").' /></td></tr>';
-        echo '<tr><td>'.get_string('noframesjs', 'message').'</td><td><input type="checkbox" name="noframesjs" '.($preferences->noframesjs==1?" checked=\"checked\"":"").' /></td></tr>';
-        echo '</table>';
-        echo '</fieldset>';
+        return '<table>'.
+               '<tr><td align="right">'.get_string('showmessagewindow', 'message').':</td><td><input type="checkbox" name="showmessagewindow" '.($preferences->showmessagewindow==1?" checked=\"checked\"":"").' /></td></tr>'.
+               '<tr><td align="right">'.get_string('blocknoncontacts', 'message').':</td><td><input type="checkbox" name="blocknoncontacts" '.($preferences->blocknoncontacts==1?" checked=\"checked\"":"").' /></td></tr>'.
+               '<tr><td align="right">'.get_string('beepnewmessage', 'message').':</td><td><input type="checkbox" name="beepnewmessage" '.($preferences->beepnewmessage==1?" checked=\"checked\"":"").' /></td></tr>'.
+               '<tr><td align="right">'.get_string('noframesjs', 'message').':</td><td><input type="checkbox" name="noframesjs" '.($preferences->noframesjs==1?" checked=\"checked\"":"").' /></td></tr>'.
+               '</table>';
     }
     
     public function process_form($form, &$preferences) {