ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilMailAddressbookGUI Class Reference
+ Collaboration diagram for ilMailAddressbookGUI:

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

Detailed Description

Constructor & Destructor Documentation

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());
}

Member Function Documentation

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"] != "" &&
{
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(strlen($entry['login']) && !$this->umail->doesRecipientStillExists($entry['login'], $mail_data['rcp_to'])) {
$members[] = $entry['login'];
} else if(strlen($entry['email']) && !$this->umail->doesRecipientStillExists($entry['email'], $mail_data['rcp_to'])) {
$members[] = $entry['email'];
}
}
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 360 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 372 of file class.ilMailAddressbookGUI.php.

References $_SESSION, $lng, $result, 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, ilUtil\prepareFormOutput(), and ilTextInputGUI\setValue().

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 468 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:

Field Documentation

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
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.


The documentation for this class was generated from the following file: