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, '   '); } return $myfolders; }
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++;