4 include_once
'Services/Block/classes/class.ilBlockGUI.php';
5 include_once
'Services/Mail/classes/class.ilMailUserCache.php';
59 $this->lng = $DIC->language();
60 $this->
user = $DIC->user();
61 $this->ctrl = $DIC->ctrl();
62 $this->setting = $DIC->settings();
63 $this->rbacsystem = $DIC->rbac()->system();
65 include_once
'Services/User/classes/class.ilObjUser.php';
66 include_once
'Services/Mail/classes/class.ilMailbox.php';
67 include_once
'Services/Mail/classes/class.ilMail.php';
69 parent::__construct();
73 $this->
setTitle($this->lng->txt(
'mail'));
83 return self::$block_type;
100 switch (
$_GET[
'cmd']) {
116 $cmd = $this->ctrl->getCmd(
'getHTML');
118 return $this->$cmd();
124 if (!$this->rbacsystem->checkAccess(
'internal_mail', $umail->getMailObjectReferenceId())) {
131 $html = parent::getHTML();
141 require_once
'Services/Mail/classes/class.ilObjMail.php';
144 $mbox =
new ilMailBox($this->
user->getId());
145 $this->inbox = $mbox->getInboxFolder();
150 'status' =>
'unread',
169 parent::fillDataSection();
172 if (count($this->mails) == 0) {
187 $this->tpl->touchBlock(
'usr_image_space');
188 if (
$user &&
$user->getId() != ANONYMOUS_USER_ID) {
189 $this->tpl->setVariable(
'PUBLIC_NAME_LONG',
$user->getPublicName());
190 $this->tpl->setVariable(
'IMG_SENDER',
$user->getPersonalPicturePath(
'xxsmall'));
191 $this->tpl->setVariable(
'ALT_SENDER', htmlspecialchars(
$user->getPublicName()));
193 $this->tpl->setVariable(
'PUBLIC_NAME_LONG', $mail[
'import_name'] .
' (' . $this->lng->txt(
'user_deleted') .
')');
195 $this->tpl->setCurrentBlock(
'image_container');
196 $this->tpl->touchBlock(
'image_container');
197 $this->tpl->parseCurrentBlock();
199 $this->tpl->setVariable(
'PUBLIC_NAME_LONG', ilMail::_getIliasMailerName());
201 $this->tpl->setVariable(
'ALT_SENDER', htmlspecialchars(ilMail::_getIliasMailerName()));
206 if (
$user &&
$user->getId() != ANONYMOUS_USER_ID) {
207 $this->tpl->setVariable(
'PUBLIC_NAME_SHORT',
$user->getPublicName());
209 $this->tpl->setVariable(
'PUBLIC_NAME_SHORT', $mail[
'import_name'] .
' (' . $this->lng->txt(
'user_deleted') .
')');
211 $this->tpl->setVariable(
'PUBLIC_NAME_SHORT', ilMail::_getIliasMailerName());
215 $this->tpl->setVariable(
'NEW_MAIL_SUBJ', htmlentities($mail[
'm_subject'], ENT_NOQUOTES,
'UTF-8'));
216 $this->ctrl->setParameter($this,
'mobj_id', $this->inbox);
217 $this->ctrl->setParameter($this,
'mail_id', $mail[
'mail_id']);
218 $this->ctrl->setParameter($this,
'mail_mode', $this->mail_mode);
219 $this->tpl->setVariable(
'NEW_MAIL_LINK_READ', $this->ctrl->getLinkTarget($this,
'showMail'));
220 $this->ctrl->clearParameters($this);
228 return '<div class="small">' . ((int) count($this->mails)) .
" " . $this->lng->txt(
"mails_pl") .
"</div>";
236 include_once(
"./Services/Mail/classes/class.ilPDMailGUI.php");
239 include_once(
"./Services/PersonalDesktop/classes/class.ilPDContentBlockGUI.php");
241 $content_block->setContent($mail_gui->getPDMailHTML(
245 $content_block->setTitle($this->lng->txt(
"message"));
246 $content_block->setColSpan(2);
248 $content_block->addHeaderCommand(
249 $this->ctrl->getLinkTargetByClass(
"ilpersonaldesktopgui",
"show"),
250 $this->lng->txt(
"selected_items_back")
253 if (
$_GET[
"mail_mode"] !=
"system") {
254 $content_block->addBlockCommand(
255 "ilias.php?baseClass=ilMailGUI&mail_id=" .
256 $_GET[
"mail_id"] .
"&mobj_id=" .
$_GET[
"mobj_id"] .
"&type=reply",
257 $this->lng->txt(
"reply")
259 $content_block->addBlockCommand(
260 "ilias.php?baseClass=ilMailGUI&mail_id=" .
261 $_GET[
"mail_id"] .
"&mobj_id=" . $_GET[
"mobj_id"] .
"&type=read",
262 $this->lng->txt(
"inbox")
265 $this->ctrl->setParameter($this,
'mail_id', (
int) $_GET[
'mail_id']);
266 $content_block->addBlockCommand($this->ctrl->getLinkTarget($this,
'deleteMail'), $this->lng->txt(
'delete'));
268 $this->ctrl->setParameter($this,
"mail_id",
$_GET[
"mail_id"]);
269 $this->ctrl->setParameter($this,
"mobj_id",
$_GET[
"mobj_id"]);
270 $content_block->addBlockCommand(
271 $this->ctrl->getLinkTarget($this,
"deleteMail"),
272 $this->lng->txt(
"delete")
274 $this->ctrl->clearParameters($this);
277 return $content_block->getHTML();
285 $this->lng->loadLanguageModule(
'mail');
288 $mbox =
new ilMailBox($this->
user->getId());
290 if (!
$_GET[
'mobj_id']) {
291 $_GET[
'mobj_id'] = $mbox->getInboxFolder();
294 if ($umail->moveMailsToFolder(
296 $mbox->getTrashFolder()
303 $this->ctrl->redirectByClass(
'ilpersonaldesktopgui',
'show');
313 foreach ($data as $mail) {
314 if ($mail[
'sender_id'] && $mail[
'sender_id'] != ANONYMOUS_USER_ID) {
315 $usr_ids[$mail[
'sender_id']] = $mail[
'sender_id'];
setDataSection($a_content)
Call this from overwritten fillDataSection(), if standard row based data is not used.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
BlockGUI class for Personal Desktop Mail block.
static getScreenMode()
Get Screen Mode for current command.
setEnableNumInfo($a_enablenuminfo)
Set Enable Item Number Info.
fillDataSection()
Fill data section.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
setColSpan($a_colspan)
Set Columns Span.
Mail User Interface class.
setImage($a_image)
Set Image.
fillRow($mail)
get flat bookmark list for personal desktop
setTitle($a_title)
Set Title.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
setData($a_data)
Set Data.
This class handles base functions for mail handling.
setAvailableDetailLevels($a_max, $a_min=0)
Set Available Detail Levels.
static getBlockType()
Get block type.
static preloadUserObjects(array $usr_ids)
static getUserObjectById($usr_id)
__construct()
Constructor.
static isRepositoryObject()
Get block type.
Create styles array
The data for the language used.
getMailsOfFolder($a_folder_id, $filter=array())
setLimit($a_limit)
Set Limit.
executeCommand()
execute command
This class represents a block method of a block.
BlockGUI class for (centered) Content on Personal Desktop.
setRowTemplate($a_rowtemplatename, $a_rowtemplatedir="")
Set Row Template Name.
setEnableDetailRow($a_enabledetailrow)
Set EnableDetailRow.
const PD_SYS_MSG_MAIL_BLOCK
getCurrentDetailLevel()
Get Current Detail Level.
getOverview()
Get overview.