ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
FormMailCodesGUI.php
Go to the documentation of this file.
1<?php
2/*
3 +-----------------------------------------------------------------------------+
4 | ILIAS open source |
5 +-----------------------------------------------------------------------------+
6 | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7 | |
8 | This program is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU General Public License |
10 | as published by the Free Software Foundation; either version 2 |
11 | of the License, or (at your option) any later version. |
12 | |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | GNU General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software |
20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 +-----------------------------------------------------------------------------+
22*/
23
24
35include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
36
38{
39 private $lng;
40 private $guiclass;
41 private $subject;
42 private $messagetype;
43 private $sendtype;
45 private $mailmessage;
46 private $savemessage;
48
50 {
51 parent::__construct();
52
53 global $lng;
54 global $ilAccess;
55 global $ilSetting;
56 global $ilUser;
57 global $rbacsystem;
58
59 $this->lng = $lng;
60 $this->guiclass = $guiclass;
61
62 $this->setFormAction($guiclass->ctrl->getFormAction($this->guiclass));
63 $this->setTitle($this->lng->txt('compose'));
64
65 $this->subject = new ilTextInputGUI($this->lng->txt('subject'), 'm_subject');
66 $this->subject->setSize(50);
67 $this->subject->setRequired(true);
68 $this->addItem($this->subject);
69
70 $this->sendtype = new ilRadioGroupInputGUI($this->lng->txt('recipients'), "m_notsent");
71 $this->sendtype->addOption(new ilCheckboxOption($this->lng->txt("send_to_all"), 0, ''));
72 $this->sendtype->addOption(new ilCheckboxOption($this->lng->txt("not_sent_only"), 1, ''));
73 $this->sendtype->addOption(new ilCheckboxOption($this->lng->txt("send_to_unanswered"), 3, ''));
74 $this->sendtype->addOption(new ilCheckboxOption($this->lng->txt("send_to_answered"), 2, ''));
75 $this->addItem($this->sendtype);
76
77 $existingdata = $this->guiclass->getObject()->getExternalCodeRecipients();
78
79 $existingcolumns = array();
80 if (count($existingdata))
81 {
82 $first = array_shift($existingdata);
83 foreach ($first as $key => $value)
84 {
85 if (strcmp($key, 'code') != 0 && strcmp($key, 'email') != 0 && strcmp($key, 'sent') != 0) array_push($existingcolumns, '[' . $key . ']');
86 }
87 }
88
89 $settings = $this->guiclass->getObject()->getUserSettings($ilUser->getId(), 'savemessage');
90 if (count($settings))
91 {
92 $options = array(0 => $this->lng->txt('please_select'));
93 foreach ($settings as $setting)
94 {
95 $options[$setting['settings_id']] = $setting['title'];
96 }
97 $this->savedmessages = new ilSelectInputGUI($this->lng->txt("saved_messages"), "savedmessage");
98 $this->savedmessages->setOptions($options);
99 $this->addItem($this->savedmessages);
100 }
101
102 $this->mailmessage = new ilTextAreaInputGUI($this->lng->txt('message_content'), 'm_message');
103 $this->mailmessage->setRequired(true);
104 $this->mailmessage->setCols(80);
105 $this->mailmessage->setRows(10);
106 $this->mailmessage->setInfo(sprintf($this->lng->txt('message_content_info'), join($existingcolumns, ', ')));
107 $this->addItem($this->mailmessage);
108
109 // save message
110 $this->savemessage = new ilCheckboxInputGUI('', "savemessage");
111 $this->savemessage->setOptionTitle($this->lng->txt("save_reuse_message"));
112 $this->savemessage->setValue(1);
113
114 $this->savemessagetitle = new ilTextInputGUI($this->lng->txt('save_reuse_title'), 'savemessagetitle');
115 $this->savemessagetitle->setSize(60);
116 $this->savemessage->addSubItem($this->savemessagetitle);
117
118 $this->addItem($this->savemessage);
119
120 if (count($settings))
121 {
122 if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) $this->addCommandButton("deleteSavedMessage", $this->lng->txt("delete_saved_message"));
123 if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) $this->addCommandButton("insertSavedMessage", $this->lng->txt("insert_saved_message"));
124 }
125
126 if ($ilAccess->checkAccess("write", "", $_GET["ref_id"]) && $rbacsystem->checkAccess('smtp_mail', ilMailGlobalServices::getMailObjectRefId()))
127 {
128 if(!(int)$ilSetting->get('prevent_smtp_globally'))
129 {
130 $this->addCommandButton("sendCodesMail", $this->lng->txt("send"));
131 }
132 else
133 {
134 ilUtil::sendInfo($lng->txt("cant_send_email_smtp_disabled"));
135 }
136 }
137 else
138 {
139 ilUtil::sendInfo($lng->txt("cannot_send_emails"));
140
141 }
142 }
143
144 public function getSavedMessages()
145 {
147 }
148
149 public function getMailMessage()
150 {
151 return $this->mailmessage;
152 }
153}
154
155?>
sprintf('%.4f', $callTime)
$_GET["client_id"]
An exception for terminatinating execution or to throw for unit testing.
Class FormMailCodesGUI.
__construct($guiclass)
This class represents a checkbox property in a property form.
This class represents an option in a checkbox group.
setFormAction($a_formaction)
Set FormAction.
static getMailObjectRefId()
Determines the reference id of the mail object and stores this information in a local cache variable.
This class represents a property form user interface.
addItem($a_item)
Add Item (Property, SectionHeader).
addCommandButton($a_cmd, $a_text, $a_id="")
Add Command button.
setTitle($a_title)
Set Title.
This class represents a property in a property form.
This class represents a selection list property in a property form.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
global $ilSetting
Definition: privfeed.php:17
if(!is_array($argv)) $options
$ilUser
Definition: imgupload.php:18