function definition()
 {
     global $CFG, $USER, $COURSE;
     $mform =& $this->_form;
     /// Print the required moodle fields first
     $mform->addElement('header', 'matches', get_string('messagematches', 'block_email_list'));
     // And or Or.
     $radiobuttons = array();
     $radiobuttons[] =& MoodleQuickForm::createElement('radio', 'connector', get_string('matchanyquery', 'block_email_list'), get_string('matchanyquery', 'block_email_list'), 'OR');
     $radiobuttons[] =& MoodleQuickForm::createElement('radio', 'connector', get_string('matchaallquery', 'block_email_list'), get_string('matchallquery', 'block_email_list'), 'AND');
     $mform->addGroup($radiobuttons, 'messagematches', '', '  ', false);
     $mform->setDefault('connector', 'AND');
     // Words
     $mform->addElement('header', 'words', get_string('search', 'search'));
     $mform->addElement('text', 'to', get_string('to', 'block_email_list'), 'maxlength="254" size="60"');
     $mform->setType('to', PARAM_TEXT);
     $mform->addElement('text', 'from', get_string('from', 'block_email_list'), 'maxlength="254" size="60"');
     $mform->setType('from', PARAM_TEXT);
     $mform->addElement('text', 'subject', get_string('subject', 'block_email_list'), 'maxlength="254" size="60"');
     $mform->setType('subject', PARAM_TEXT);
     $mform->addElement('text', 'body', get_string('body', 'block_email_list'), 'maxlength="254" size="60"');
     $mform->setType('body', PARAM_TEXT);
     // Folders
     $mform->addElement('header', 'folder', get_string('messagefolders', 'block_email_list'));
     // Get my root folders
     $folders = email_get_root_folders($USER->id, false);
     if (!empty($folders)) {
         $choose = array();
         // Get courses
         foreach ($folders as $folder) {
             $choose[] =& MoodleQuickForm::createElement('checkbox', $folder->id, $folder->name, $folder->name);
             // Now, get all subfolders it
             $subfolders = email_get_subfolders($folder->id);
             // If subfolders
             if ($subfolders) {
                 foreach ($subfolders as $subfolder) {
                     $choose[] =& MoodleQuickForm::createElement('checkbox', $subfolder->id, $subfolder->name, $subfolder->name);
                 }
             }
         }
         $mform->addGroup($choose, 'folders', get_string('folders', 'block_email_list'), ' <br /> ');
         $mform->setDefault('folders[' . $folders[0]->id . ']', true);
         $mform->addRule('folders', get_string('nosearchfolders', 'block_email_list'), 'required', null, 'server');
     }
     $mform->addElement('hidden', 'courseid', $COURSE->id);
     // buttons
     $this->add_action_buttons(true, get_string('search', 'search'));
 }
/**
 * This function return my folders
 *
 * @param int $userid User ID
 * @param int $courseid Course ID
 * @param boolean $excludetrash Exclude Trash
 * @param boolean $excludedraft Exclude Draft
 * @param boolean $excludesendbox Exclude Sendbox
 * @param boolean $excludeinbox Exclude Inbox
 * @return array Contain my folders
 * @todo Finish documenting this function
 */
function email_get_my_folders($userid, $courseid, $excludetrash, $excludedraft, $excludesendbox = false, $excludeinbox = false)
{
    // Save my folders in this variable
    $myfolders = array();
    // Get especific root folders
    $folders = email_get_root_folders($userid, !$excludedraft, !$excludetrash, !$excludesendbox, !$excludeinbox);
    // for every root folder
    foreach ($folders as $folder) {
        $myfolders[$folder->id] = $folder->name;
        $myfolders = email_my_folders($folder->id, $courseid, $myfolders, '&#160;&#160;&#160;');
    }
    return $myfolders;
}
Exemple #3
0
                debugging('Empty advanced search for next SQL stament: ' . $sql, DEBUG_DEVELOPER);
            }
            $advancedsearch->display();
            echo $OUTPUT->notification(get_string('searchword', 'block_email_list'), 'notifysuccess');
            // Show mails searched
            email_showmails($USER->id, '', $page, $perpage, $options, true, $searchmails);
        } else {
            // Simple search
            $select = 'SELECT m.*, u.firstname,u.lastname, m.userid as writer';
            $from = ' FROM {user} u,
					 {block_email_list_mail} m,
					 {block_email_list_send} s,
					 {block_email_list_foldermail} fm';
            // FOLDERS
            $wherefolders = '';
            $folders = email_get_root_folders($USER->id, false);
            if (!empty($folders)) {
                $wherefolders .= ' AND ( ';
                $i = 0;
                foreach ($folders as $folder) {
                    $wherefolders .= $i > 0 ? " OR fm.folderid = {$folder->id}" : " fm.folderid = {$folder->id} ";
                    // Select this folder
                    $i++;
                    // Now, get all subfolders it
                    $subfolders = email_get_subfolders($folder->id);
                    // If subfolders
                    if ($subfolders) {
                        foreach ($subfolders as $subfolder) {
                            $wherefolders .= $i > 0 ? " OR fm.folderid = {$subfolder->id}" : " fm.folderid = {$subfolder->id} ";
                            // Select this folder
                            $i++;