33 include_once
'Modules/Chatroom/classes/class.ilChatroom.php';
37 $this->gui->switchToVisibleMode();
74 foreach ($smilies as $smiley) {
75 copy(
"templates/default/images/emoticons/$smiley",
$path .
"/$smiley");
84 if (!is_writable(
$path)) {
97 $path =
'chatroom/smilies';
109 array(
"icon_smile.gif",
":)\n:-)\n:smile:"),
110 array(
"icon_wink.gif",
";)\n;-)\n:wink:"),
111 array(
"icon_laugh.gif",
":D\n:-D\n:laugh:\n:grin:\n:biggrin:"),
112 array(
"icon_sad.gif",
":(\n:-(\n:sad:"),
113 array(
"icon_shocked.gif",
":o\n:-o\n:shocked:"),
114 array(
"icon_tongue.gif",
":p\n:-p\n:tongue:"),
115 array(
"icon_cool.gif",
":cool:"),
116 array(
"icon_eek.gif",
":eek:"),
117 array(
"icon_angry.gif",
":||\n:-||\n:angry:"),
118 array(
"icon_flush.gif",
":flush:"),
119 array(
"icon_idea.gif",
":idea:"),
120 array(
"icon_thumbup.gif",
":thumbup:"),
121 array(
"icon_thumbdown.gif",
":thumbdown:"),
124 require_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
125 foreach ($values as $val) {
126 ilChatroomSmilies::_storeSmiley($val[1], $val[0]);
141 if (!$rbacsystem->checkAccess(
'read', $this->gui->ref_id)) {
142 $this->
ilias->raiseError(
143 $lng->txt(
'msg_no_perm_read'),
144 $this->gui->ilias->error_obj->MESSAGE
148 include_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
152 if (!$this->form_gui) {
158 include_once
"Modules/Chatroom/classes/class.ilChatroomSmiliesGUI.php";
163 "tpl.chatroom_edit_smilies.html",
168 $tpl_smilies->setVariable(
"SMILEY_TABLE",
$table);
169 $tpl_smilies->setVariable(
"SMILEY_FORM",
$form->getHtml());
171 $tpl->setContent($tpl_smilies->get());
184 include_once(
'./Services/Form/classes/class.ilPropertyFormGUI.php');
188 $table_nav = $_REQUEST[
"_table_nav"] ?
"&_table_nav=" . $_REQUEST[
"_table_nav"] :
"";
189 $this->form_gui->setFormAction(
190 $ilCtrl->getFormAction($this->gui,
'smiley-uploadSmileyObject') . $table_nav
196 $sec_l->setTitle(
$lng->txt(
'chatroom_add_smiley'));
197 $this->form_gui->addItem($sec_l);
200 $lng->txt(
'chatroom_image_path'),
201 'chatroom_image_path'
203 $inp->setSuffixes(array(
"jpg",
"jpeg",
"png",
"gif",
"svg"));
205 $inp->setRequired(
true);
206 $this->form_gui->addItem($inp);
209 $lng->txt(
'chatroom_smiley_keywords'),
210 'chatroom_smiley_keywords'
213 $inp->setRequired(
true);
214 $inp->setUseRte(
false);
215 $inp->setInfo(
$lng->txt(
'chatroom_smiley_keywords_one_per_line_note'));
216 $this->form_gui->addItem($inp);
217 $this->form_gui->addCommandButton(
218 'smiley-uploadSmileyObject',
219 $lng->txt(
'chatroom_upload_smiley')
235 $this->gui->switchToVisibleMode();
237 if (!$rbacsystem->checkAccess(
'read', $this->gui->ref_id)) {
238 $this->
ilias->raiseError(
239 $lng->txt(
'msg_no_perm_read'),
240 $this->ilias->error_obj->MESSAGE
244 if (!$this->form_gui) {
251 "tpl.chatroom_edit_smilies.html",
257 $tpl_form->setVariable(
"SMILEY_FORM",
$form->getHTML());
259 $tpl->setContent($tpl_form->get());
269 require_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
270 $smiley = ilChatroomSmilies::_getSmiley($smileyId);
273 'chatroom_smiley_id' => $smiley[
'smiley_id'],
274 'chatroom_smiley_keywords' => $smiley[
'smiley_keywords'],
275 'chatroom_current_smiley_image_path' => $smiley[
'smiley_fullpath'],
291 include_once(
'./Services/Form/classes/class.ilPropertyFormGUI.php');
295 $this->form_gui->setValuesByArray($form_data);
297 $table_nav = $_REQUEST[
"_table_nav"] ?
"&_table_nav=" . $_REQUEST[
"_table_nav"] :
"";
299 $ilCtrl->saveParameter($this->gui,
'smiley_id');
301 $this->form_gui->setFormAction(
302 $ilCtrl->getFormAction($this->gui,
'smiley-updateSmiliesObject') . $table_nav
307 $sec_l->setTitle(
$lng->txt(
'chatroom_edit_smiley'));
308 $this->form_gui->addItem($sec_l);
310 include_once
"Modules/Chatroom/classes/class.ilChatroomSmiliesCurrentSmileyFormElement.php";
313 $lng->txt(
'chatroom_current_smiley_image_path'),
314 'chatroom_current_smiley_image_path'
317 $inp->setValue($form_data[
'chatroom_current_smiley_image_path']);
318 $this->form_gui->addItem($inp);
321 $lng->txt(
'chatroom_image_path'),
322 'chatroom_image_path'
324 $inp->setSuffixes(array(
"jpg",
"jpeg",
"png",
"gif",
"svg"));
326 $inp->setRequired(
false);
327 $inp->setInfo(
$lng->txt(
'chatroom_smiley_image_only_if_changed'));
328 $this->form_gui->addItem($inp);
331 $lng->txt(
'chatroom_smiley_keywords'),
332 'chatroom_smiley_keywords'
335 $inp->setValue($form_data[
'chatroom_smiley_keywords']);
336 $inp->setUseRte(
false);
337 $inp->setRequired(
true);
338 $inp->setInfo(
$lng->txt(
'chatroom_smiley_keywords_one_per_line_note'));
339 $this->form_gui->addItem($inp);
343 $this->form_gui->addItem($inp);
344 $this->form_gui->addCommandButton(
345 'smiley-updateSmiliesObject',
348 $this->form_gui->addCommandButton(
'smiley',
$lng->txt(
'cancel'));
356 public function showDeleteSmileyFormObject()
366 $this->gui->switchToVisibleMode();
368 if (!$rbacsystem->checkAccess(
'write', $this->gui->ref_id)) {
369 $this->
ilias->raiseError(
370 $lng->txt(
'msg_no_perm_write'),
371 $this->ilias->error_obj->MESSAGE
375 include_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
376 $smiley = ilChatroomSmilies::_getSmiley((
int) $_REQUEST[
'smiley_id']);
378 require_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
380 $confirmation->setFormAction(
$ilCtrl->getFormAction($this->gui,
'smiley'));
381 $confirmation->setHeaderText(
$lng->txt(
'chatroom_confirm_delete_smiley'));
382 $confirmation->addButton(
$lng->txt(
'confirm'),
'smiley-deleteSmileyObject');
383 $confirmation->addButton(
$lng->txt(
'cancel'),
'smiley');
384 $confirmation->addItem(
'chatroom_smiley_id', $smiley[
'smiley_id'],
ilUtil::img($smiley[
'smiley_fullpath'], $smiley[
'smiley_keywords']) .
' ' . $smiley[
'smiley_keywords']);
386 $tpl->setContent($confirmation->getHTML());
398 if (!$rbacsystem->checkAccess(
'write', $this->gui->ref_id)) {
399 $this->
ilias->raiseError(
400 $lng->txt(
'msg_no_perm_write'),
401 $this->ilias->error_obj->MESSAGE
405 include_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
407 ilChatroomSmilies::_deleteSmiley($_REQUEST[
"chatroom_smiley_id"]);
409 $ilCtrl->redirect($this->gui,
"smiley");
417 public function updateSmiliesObject()
421 if (!$rbacsystem->checkAccess(
'write', $this->gui->ref_id)) {
422 $this->
ilias->raiseError(
423 $lng->txt(
'msg_no_perm_write'),
424 $this->ilias->error_obj->MESSAGE
430 require_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
435 $keywordscheck = count($keywords) > 0;
437 if (!($isFormValid = $this->form_gui->checkInput()) || !$keywordscheck) {
442 $this->form_gui->setValuesByPost();
448 $data[
"smiley_keywords"] = join(
"\n", $keywords);
449 $data[
"smiley_id"] = (int) $_REQUEST[
'smiley_id'];
451 if ($this->upload->hasUploads() && !$this->upload->hasBeenProcessed()) {
452 $this->upload->process();
455 $result = array_values($this->upload->getResults())[0];
457 $this->upload->moveOneFileTo(
460 \
ILIAS\FileUpload\Location::WEB,
469 \ilChatroomSmilies::_updateSmiley(
$data);
472 $ilCtrl->redirect($this->gui,
"smiley");
479 public function deleteMultipleObject()
489 $this->gui->switchToVisibleMode();
491 if (!$rbacsystem->checkAccess(
'write', $this->gui->ref_id)) {
492 $this->
ilias->raiseError(
493 $this->lng->txt(
'msg_no_perm_write'),
494 $this->ilias->error_obj->MESSAGE
498 $items = (array) $_REQUEST[
'smiley_id'];
499 if (count($items) == 0) {
501 $ilCtrl->redirect($this->gui,
'smiley');
504 include_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
505 $smilies = ilChatroomSmilies::_getSmiliesById($items);
506 if (count($smilies) == 0) {
508 $ilCtrl->redirect($this->gui,
'smiley');
511 require_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
513 $confirmation->setFormAction(
$ilCtrl->getFormAction($this->gui,
'smiley'));
514 $confirmation->setHeaderText(
$lng->txt(
'chatroom_confirm_delete_smiley'));
515 $confirmation->addButton(
$lng->txt(
'confirm'),
'smiley-confirmedDeleteMultipleObject');
516 $confirmation->addButton(
$lng->txt(
'cancel'),
'smiley');
518 foreach ($smilies as
$s) {
519 $confirmation->addItem(
'sel_ids[]',
$s[
'smiley_id'],
ilUtil::img(
$s[
'smiley_fullpath'],
$s[
'smiley_keywords']) .
' ' .
$s[
'smiley_keywords']);
522 $tpl->setContent($confirmation->getHTML());
528 public function confirmedDeleteMultipleObject()
536 if (!$rbacsystem->checkAccess(
'write', $this->gui->ref_id)) {
537 $this->
ilias->raiseError(
538 $this->lng->txt(
'msg_no_perm_write'),
539 $this->ilias->error_obj->MESSAGE
543 $parts =
$_POST[
"sel_ids"];
544 if (count($parts) == 0) {
545 $ilCtrl->redirect($this->gui,
"smiley");
548 include_once
"Modules/Chatroom/classes/class.ilChatroomSmilies.php";
551 $ilCtrl->redirect($this->gui,
"smiley");
558 public function uploadSmileyObject()
562 if (!$rbacsystem->checkAccess(
'write', $this->gui->ref_id)) {
563 $this->
ilias->raiseError(
564 $lng->txt(
'msg_no_perm_write'),
565 $this->ilias->error_obj->MESSAGE
571 require_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
576 $keywordscheck = count($keywords) > 0;
578 if (!($isFormValid = $this->form_gui->checkInput()) || !$keywordscheck) {
583 $this->form_gui->setValuesByPost();
585 return $this->
view();
588 $pathinfo = pathinfo($_FILES[
"chatroom_image_path"][
"name"]);
589 $target_file = md5(time() + $pathinfo[
'basename']) .
"." . $pathinfo[
'extension'];
591 if ($this->upload->hasUploads() && !$this->upload->hasBeenProcessed()) {
592 $this->upload->process();
595 $result = array_values($this->upload->getResults())[0];
597 $this->upload->moveOneFileTo(
600 \
ILIAS\FileUpload\Location::WEB,
605 ilChatroomSmilies::_storeSmiley(join(
"\n", $keywords), $target_file);
610 $ilCtrl->redirect($this->gui,
"smiley");
An exception for terminatinating execution or to throw for unit testing.
Class ilChatroomSmileyGUI Provides methods to show, add, edit and delete smilies consisting of icon a...
initSmiliesForm()
Initializes smilies form and returns it.
deleteSmileyObject()
Deletes a smiley by $_REQUEST["chatroom_smiley_id"] @global ilRbacSystem $rbacsystem @global ilCtrl $...
static _insertDefaultValues()
executeDefault($requestedMethod)
{mixed}
static _getSmileyDir($withBaseDir=true)
initSmiliesEditForm($form_data)
Initializes SmiliesEditForm and returns it.
showEditSmileyEntryFormObject()
Shows EditSmileyEntryForm Prepares EditSmileyEntryForm and displays it.
view()
Switches GUI to visible mode and calls editSmiliesObject method which prepares and displays the table...
editSmiliesObject()
Shows existing smilies table Prepares existing smilies table and displays it.
getSmileyFormDataById($smileyId)
Class ilChatroomGUIHandler.
static _getExistingSmiliesTable($a_ref)
Constructor @access public.
static _checkSetup()
Checks if smiley folder is available; if not it will try to create folder and performs actions for an...
static _deleteMultipleSmilies($ids=array())
Deletes multiple smilies by given id array.
static getSmiliesBasePath()
Returns smilies basepath.
static _prepareKeywords($words)
Trims given keywords and returns them in one array.
static checkUserPermissions($permissions, $ref_id, $send_info=true)
Checks user permissions by given array and ref_id.
Confirmation screen class.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
static getWebspaceDir($mode="filesystem")
get webspace directory
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static makeDirParents($a_dir)
Create a new directory and all parent directories.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
redirection script todo: (a better solution should control the processing via a xml file)
if(empty($password)) $table
if(isset($_POST['submit'])) $form