case 'label_message':
 case 'unlabel_message':
     $messageids = required_param('messageids', PARAM_SEQUENCE);
     $labelid = required_param('labelid', PARAM_ALPHANUM);
     if ($messages = explode(',', $messageids)) {
         foreach ($messages as $messageid) {
             if ($action == 'label_message') {
                 $data = $mailbox->label_message($messageid, $labelid);
             } else {
                 $data = $mailbox->unlabel_message($messageid, $labelid);
             }
         }
     }
     break;
 case 'get_labels':
     $data = $mailbox->get_labels();
     break;
 case 'delete_label':
     $labelid = required_param('labelid', PARAM_INT);
     $data = $mailbox->delete_label($labelid);
     break;
 case 'rename_label':
     $labelid = required_param('labelid', PARAM_INT);
     $name = required_param('name', PARAM_TEXT);
     $data = $mailbox->delete_label($labelid, $name);
     break;
 case 'create_label':
     $name = required_param('name', PARAM_TEXT);
     $global = optional_param('global', false, PARAM_BOOL);
     $data = $mailbox->create_label($name, $global);
     break;