Public Member Functions | |
| __construct () | |
| executeCommand () | |
| checkInput ($addr_id=0) | |
| Check user's input. | |
| saveEntry () | |
| Save/edit entry. | |
| confirmDelete () | |
| Confirm delete entry. | |
| performDelete () | |
| Delete entry. | |
| cancel () | |
| Cancel action. | |
| showAddressForm () | |
| mailToUsers () | |
| search () | |
| showAddressbook () | |
| Show user's addressbook. | |
| showSubTabs () | |
Private Attributes | |
| $tpl = null | |
| $ctrl = null | |
| $lng = null | |
| $tabs_gui = null | |
| $umail = null | |
| $abook = null | |
ilMailAddressbookGUI: ilMailSearchCoursesGUI, ilMailSearchGroupsGUI, ilMailingListsGUI
Definition at line 38 of file class.ilMailAddressbookGUI.php.
| ilMailAddressbookGUI::__construct | ( | ) |
Definition at line 48 of file class.ilMailAddressbookGUI.php.
References $ilCtrl, $lng, and $tpl.
{
global $tpl, $ilCtrl, $lng, $ilUser, $ilTabs;
$this->tpl = $tpl;
$this->ctrl = $ilCtrl;
$this->lng = $lng;
$this->tabs_gui =& $ilTabs;
$this->ctrl->saveParameter($this, "mobj_id");
$this->umail = new ilFormatMail($ilUser->getId());
$this->abook = new ilAddressbook($ilUser->getId());
}
| ilMailAddressbookGUI::cancel | ( | ) |
Cancel action.
Definition at line 261 of file class.ilMailAddressbookGUI.php.
References showAddressbook().
{
$this->showAddressbook();
}
Here is the call graph for this function:| ilMailAddressbookGUI::checkInput | ( | $ | addr_id = 0 |
) |
Check user's input.
Definition at line 120 of file class.ilMailAddressbookGUI.php.
References ilObjUser::_lookupId(), ilUtil::is_email(), ilUtil::sendInfo(), and ilUtil::stripSlashes().
Referenced by saveEntry().
{
// check if user login and e-mail-address are empty
if (!strcmp(trim($_POST["login"]), "") &&
!strcmp(trim($_POST["email"]), ""))
{
ilUtil::sendInfo($this->lng->txt("mail_enter_login_or_email_addr"));
$error = true;
}
else if ($_POST["login"] != "" &&
!(ilObjUser::_lookupId(ilUtil::stripSlashes($_POST["login"]))))
{
ilUtil::sendInfo($this->lng->txt("mail_enter_valid_login"));
$error = true;
}
else if ($_POST["email"] &&
!(ilUtil::is_email($_POST["email"])))
{
ilUtil::sendInfo($this->lng->txt("mail_enter_valid_email_addr"));
$error = true;
}
if (($this->existingEntry = $this->abook->checkEntryByLogin(ilUtil::stripSlashes($_POST["login"]))) > 0 &&
(($this->existingEntry != $addr_id && $addr_id > 0) || !$addr_id))
{
ilUtil::sendInfo($this->lng->txt("mail_entry_exists"));
$error = true;
}
return $error ? false : true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilMailAddressbookGUI::confirmDelete | ( | ) |
Confirm delete entry.
Definition at line 194 of file class.ilMailAddressbookGUI.php.
References $lng, ilUtil::sendInfo(), and showAddressbook().
{
global $lng;
if (!isset($_POST['addr_id']))
{
ilUtil::sendInfo($this->lng->txt('mail_select_one_entry'));
$this->showAddressbook();
return true;
}
include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
$c_gui = new ilConfirmationGUI();
// set confirm/cancel commands
$c_gui->setFormAction($this->ctrl->getFormAction($this, "performDelete"));
$c_gui->setHeaderText($this->lng->txt("mail_sure_delete_entry"));
$c_gui->setCancel($this->lng->txt("cancel"), "showAddressbook");
$c_gui->setConfirm($this->lng->txt("confirm"), "performDelete");
// add items to delete
foreach($_POST["addr_id"] as $addr_id)
{
$entry = $this->abook->getEntry($addr_id);
$c_gui->addItem("addr_id[]", $addr_id, $entry["login"] ? $entry["login"] : $entry["email"]);
}
$this->tpl->setVariable("HEADER", $this->lng->txt("mail"));
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.mail_addressbook.html", "Services/Mail");
$this->tpl->setVariable('DELETE_CONFIRMATION', $c_gui->getHTML());
$this->tpl->show();
return true;
}
Here is the call graph for this function:| ilMailAddressbookGUI::executeCommand | ( | ) |
Definition at line 63 of file class.ilMailAddressbookGUI.php.
References $cmd, and showSubTabs().
{
$this->showSubTabs();
$forward_class = $this->ctrl->getNextClass($this);
switch($forward_class)
{
case 'ilmailformgui':
include_once 'Services/Mail/classes/class.ilMailFormGUI.php';
$this->ctrl->forwardCommand(new ilMailFormGUI());
break;
case 'ilmailsearchcoursesgui':
include_once 'Services/Mail/classes/class.ilMailSearchCoursesGUI.php';
$this->tabs_gui->setSubTabActive('mail_my_courses');
$this->ctrl->setReturn($this, "showAddressbook");
$this->ctrl->forwardCommand(new ilMailSearchCoursesGUI());
break;
case 'ilmailsearchgroupsgui':
include_once 'Services/Mail/classes/class.ilMailSearchGroupsGUI.php';
$this->tabs_gui->setSubTabActive('mail_my_groups');
$this->ctrl->setReturn($this, "showAddressbook");
$this->ctrl->forwardCommand(new ilMailSearchGroupsGUI());
break;
case 'ilmailinglistsgui':
include_once 'Services/Mail/classes/class.ilMailingListsGUI.php';
$this->tabs_gui->setSubTabActive('mail_my_mailing_lists');
$this->ctrl->setReturn($this, "showAddressbook");
$this->ctrl->forwardCommand(new ilMailingListsGUI());
break;
default:
$this->tabs_gui->setSubTabActive('mail_my_entries');
if (!($cmd = $this->ctrl->getCmd()))
{
$cmd = "showAddressbook";
}
$this->$cmd();
break;
}
return true;
}
Here is the call graph for this function:| ilMailAddressbookGUI::mailToUsers | ( | ) |
Definition at line 311 of file class.ilMailAddressbookGUI.php.
References ilUtil::redirect(), ilUtil::sendInfo(), and showAddressbook().
{
global $ilUser;
if (!isset($_POST['addr_id']))
{
ilUtil::sendInfo($this->lng->txt('mail_select_one_entry'));
$this->showAddressbook();
return true;
}
$mail_data = $this->umail->getSavedData();
if(!is_array($mail_data))
{
$this->umail->savePostData($ilUser->getId(), array(), '', '', '', '', '', '', '', '');
}
$members = array();
foreach ($_POST['addr_id'] as $addr_id)
{
$entry = $this->abook->getEntry($addr_id);
if(!$this->umail->doesRecipientStillExists($entry['login'], $mail_data['rcp_to']))
{
$members[] = $entry['login'];
}
}
if(count($members))
{
$mail_data = $this->umail->appendSearchResult($members, 'to');
$this->umail->savePostData(
$mail_data['user_id'],
$mail_data['attachments'],
$mail_data['rcp_to'],
$mail_data['rcp_cc'],
$mail_data['rcp_bcc'],
$mail_data['m_type'],
$mail_data['m_email'],
$mail_data['m_subject'],
$mail_data['m_message'],
$mail_data['use_placeholders']
);
}
ilUtil::redirect('ilias.php?baseClass=ilMailGUI&type=search_res');
}
Here is the call graph for this function:| ilMailAddressbookGUI::performDelete | ( | ) |
Delete entry.
Definition at line 233 of file class.ilMailAddressbookGUI.php.
References $lng, ilUtil::sendInfo(), and showAddressbook().
{
global $lng;
if (is_array($_POST['addr_id']))
{
if ($this->abook->deleteEntries($_POST['addr_id']))
{
ilUtil::sendInfo($lng->txt("mail_deleted_entry"));
}
else
{
ilUtil::sendInfo($lng->txt("mail_delete_error"));
}
}
else
{
ilUtil::sendInfo($lng->txt("mail_delete_error"));
}
$this->showAddressbook();
return true;
}
Here is the call graph for this function:| ilMailAddressbookGUI::saveEntry | ( | ) |
Save/edit entry.
Definition at line 155 of file class.ilMailAddressbookGUI.php.
References $_GET, $_SESSION, $lng, checkInput(), ilUtil::sendInfo(), showAddressbook(), showAddressForm(), and ilUtil::stripSlashes().
{
global $lng;
if ($this->checkInput($_GET["addr_id"]))
{
if ($_GET["addr_id"])
{
$this->abook->updateEntry(ilUtil::stripSlashes($_GET["addr_id"]),
ilUtil::stripSlashes($_POST["login"]),
ilUtil::stripSlashes($_POST["firstname"]),
ilUtil::stripSlashes($_POST["lastname"]),
ilUtil::stripSlashes($_POST["email"]));
ilUtil::sendInfo($lng->txt("mail_entry_changed"));
}
else
{
$this->abook->addEntry(ilUtil::stripSlashes($_POST["login"]),
ilUtil::stripSlashes($_POST["firstname"]),
ilUtil::stripSlashes($_POST["lastname"]),
ilUtil::stripSlashes($_POST["email"]));
ilUtil::sendInfo($lng->txt("mail_entry_added"));
}
unset($_SESSION['addr_search']);
$this->showAddressbook();
}
else
{
$this->showAddressForm();
}
return true;
}
Here is the call graph for this function:| ilMailAddressbookGUI::search | ( | ) |
Definition at line 359 of file class.ilMailAddressbookGUI.php.
References $_SESSION, and showAddressbook().
{
$_SESSION['addr_search'] = $_POST['search_qry'];
$this->showAddressbook();
return true;
}
Here is the call graph for this function:| ilMailAddressbookGUI::showAddressbook | ( | ) |
Show user's addressbook.
Definition at line 371 of file class.ilMailAddressbookGUI.php.
References $_SESSION, $lng, $tbl, ilUtil::formCheckbox(), and ilUtil::prepareFormOutput().
Referenced by cancel(), confirmDelete(), mailToUsers(), performDelete(), saveEntry(), and search().
{
global $rbacsystem, $lng, $ilUser;
$this->tpl->setVariable("HEADER", $this->lng->txt("mail"));
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.mail_addressbook.html", "Services/Mail");
$this->tpl->setVariable('ACTION', $this->ctrl->getFormAction($this, "saveEntry"));
$this->tpl->setVariable("TXT_SEARCH_FOR",$this->lng->txt("search_for"));
$this->tpl->setVariable("BUTTON_SEARCH",$this->lng->txt("send"));
$this->tpl->setVariable("BUTTON_CANCEL",$this->lng->txt("reset"));
if (strlen(trim($_SESSION["addr_search"])) > 0)
{
$this->tpl->setVariable("VALUE_SEARCH_FOR", ilUtil::prepareFormOutput(trim($_SESSION["addr_search"]), true));
}
$this->ctrl->setParameter($this, "cmd", "post");
$tbl = new ilAddressbookTableGUI($this);
$tbl->setTitle($lng->txt("mail_addr_entries"));
$tbl->setRowTemplate("tpl.mail_addressbook_row.html", "Services/Mail");
$tbl->setDefaultOrderField('login');
$result = array();
$this->abook->setSearchQuery($_SESSION['addr_search']);
$entries = $this->abook->getEntries();
$tbl->addColumn('', 'check', '10%');
$tbl->addColumn($this->lng->txt('login'), 'login', '20%');
$tbl->addColumn($this->lng->txt('firstname'), 'firstname', '20%');
$tbl->addColumn($this->lng->txt('lastname'), 'lastname', '20%');
$tbl->addColumn($this->lng->txt('email'), 'email', '20%');
$tbl->addColumn('', 'edit', '10%');
if (count($entries))
{
$tbl->enable('select_all');
$tbl->setSelectAllCheckbox('addr_id');
$counter = 0;
foreach ($entries as $entry)
{
$result[$counter]['check'] = ilUtil::formCheckbox(0, 'addr_id[]', $entry["addr_id"]);
if ($entry["login"] != "")
{
$this->ctrl->setParameterByClass("ilmailformgui", "type", "address");
$this->ctrl->setParameterByClass("ilmailformgui", "rcp", urlencode($entry["login"]));
$result[$counter]['login'] = "<a class=\"navigation\" href=\"" . $this->ctrl->getLinkTargetByClass("ilmailformgui") . "\">" . $entry["login"] . "</a>";
$this->ctrl->clearParametersByClass("ilmailformgui");
}
$result[$counter]['firstname'] = $entry["firstname"];
$result[$counter]['lastname'] = $entry["lastname"];
if ($rbacsystem->checkAccess("smtp_mail", $this->umail->getMailObjectReferenceId()))
{
$this->ctrl->setParameterByClass("ilmailformgui", "type", "address");
$this->ctrl->setParameterByClass("ilmailformgui", "rcp", urlencode($entry["email"]));
$result[$counter]['email'] = "<a class=\"navigation\" href=\"" . $this->ctrl->getLinkTargetByClass("ilmailformgui") . "\">" . $entry["email"] . "</a>";
$this->ctrl->clearParametersByClass("ilmailformgui");
}
else
{
$result[$counter]['email'] = $entry["email"];
}
$this->ctrl->setParameter($this, 'addr_id', $entry['addr_id']);
$result[$counter]['edit_text'] = $this->lng->txt("edit");
$result[$counter]['edit_url'] = $this->ctrl->getLinkTarget($this, "showAddressForm");
++$counter;
}
$tbl->addMultiCommand('mailToUsers', $this->lng->txt('send_mail_to'));
$tbl->addMultiCommand('confirmDelete', $this->lng->txt('delete'));
}
else
{
$tbl->disable('header');
$tbl->disable('footer');
$tbl->setNoEntriesText($this->lng->txt('mail_search_no'));
}
$tbl->setData($result);
$tbl->addCommandButton('showAddressForm', $this->lng->txt('add'));
$this->tpl->setVariable('TABLE', $tbl->getHTML());
$this->tpl->show();
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilMailAddressbookGUI::showAddressForm | ( | ) |
Definition at line 266 of file class.ilMailAddressbookGUI.php.
References $_GET, $lng, and ilUtil::prepareFormOutput().
Referenced by saveEntry().
{
global $rbacsystem, $lng, $ilUser;
$this->tpl->setVariable("HEADER", $this->lng->txt("mail"));
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.mail_addressbook_form.html", "Services/Mail");
include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
$form = new ilPropertyFormGUI();
$form->setTitle($_GET['addr_id'] ? $lng->txt("mail_edit_entry") : $lng->txt("mail_new_entry"));
if ($_GET['addr_id'])
{
$this->ctrl->setParameter($this, 'addr_id', $_GET['addr_id']);
}
$entry = $this->abook->getEntry($_GET['addr_id']);
$form->setFormAction($this->ctrl->getFormAction($this, "saveEntry"));
$formItem = new ilTextInputGUI($this->lng->txt("username"), "login");
$formItem->setValue(isset($_POST['login']) ? ilUtil::prepareFormOutput($_POST['login'], true) : ilUtil::prepareFormOutput($entry['login']));
$form->addItem($formItem);
$formItem = new ilTextInputGUI($this->lng->txt("firstname"), "firstname");
$formItem->setValue(isset($_POST['firstname']) ? ilUtil::prepareFormOutput($_POST['firstname'], true) : ilUtil::prepareFormOutput($entry['firstname']));
$form->addItem($formItem);
$formItem = new ilTextInputGUI($this->lng->txt("lastname"), "lastname");
$formItem->setValue(isset($_POST['lastname']) ? ilUtil::prepareFormOutput($_POST['lastname'], true) : ilUtil::prepareFormOutput($entry['lastname']));
$form->addItem($formItem);
$formItem = new ilTextInputGUI($this->lng->txt("email"), "email");
$formItem->setValue(isset($_POST['email']) ? ilUtil::prepareFormOutput($_POST['email'], true) : ilUtil::prepareFormOutput($entry['email']));
$form->addItem($formItem);
$form->addCommandButton('saveEntry',$this->lng->txt('save'));
$form->addCommandButton('cancel',$this->lng->txt('cancel'));
$this->tpl->setVariable('FORM', $form->getHTML());
$this->tpl->show();
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilMailAddressbookGUI::showSubTabs | ( | ) |
Definition at line 467 of file class.ilMailAddressbookGUI.php.
Referenced by executeCommand().
{
$this->tabs_gui->addSubTabTarget('mail_my_entries',
$this->ctrl->getLinkTarget($this));
$this->tabs_gui->addSubTabTarget('mail_my_mailing_lists',
$this->ctrl->getLinkTargetByClass('ilmailinglistsgui'));
$this->tabs_gui->addSubTabTarget('mail_my_courses',
$this->ctrl->getLinkTargetByClass('ilmailsearchcoursesgui'));
$this->tabs_gui->addSubTabTarget('mail_my_groups',
$this->ctrl->getLinkTargetByClass('ilmailsearchgroupsgui'));
}
Here is the caller graph for this function:ilMailAddressbookGUI::$abook = null [private] |
Definition at line 46 of file class.ilMailAddressbookGUI.php.
ilMailAddressbookGUI::$ctrl = null [private] |
Definition at line 41 of file class.ilMailAddressbookGUI.php.
ilMailAddressbookGUI::$lng = null [private] |
Definition at line 42 of file class.ilMailAddressbookGUI.php.
Referenced by __construct(), confirmDelete(), performDelete(), saveEntry(), showAddressbook(), and showAddressForm().
ilMailAddressbookGUI::$tabs_gui = null [private] |
Definition at line 43 of file class.ilMailAddressbookGUI.php.
ilMailAddressbookGUI::$tpl = null [private] |
Definition at line 40 of file class.ilMailAddressbookGUI.php.
Referenced by __construct().
ilMailAddressbookGUI::$umail = null [private] |
Definition at line 45 of file class.ilMailAddressbookGUI.php.
1.7.1