Changeset 466

Show
Ignore:
Timestamp:
04/27/08 12:56:11 (5 years ago)
Author:
Tatzelwurm
Message:

Neues Gruppenrecht: kann IM an alle Onlineuser schicken
Neue Sprache: hr.xml
Anderes CHARSET als UTF-8 wird nach UTF-8 gewandelt um Probleme bei der Darstellung bei anderen Sprachen zu vermeiden.
Diverse kleinere Anpassungen.

Location:
instantMessenger
Files:
2 added
11 modified

Legend:

Unmodified
Added
Removed
  • instantMessenger/acptemplates/userIM.tpl

    r433 r466  
    3030                                                <fieldset> 
    3131                                                        <legend>{lang}wcf.acp.user.groups{/lang}</legend> 
    32                                                          
     32 
    3333                                                        <div class="formOptions"> 
    3434                                                                {htmlCheckboxes options=$groups name=groupIDs selected=$groupIDs} 
  • instantMessenger/de-informal.xml

    r433 r466  
    5454        </category> 
    5555        <category name="wcf.acp.group"> 
    56                 <item name="wcf.acp.group.option.category.user.board.instantmessenger"><![CDATA[Instant Messenger Optionen]]></item> 
    57                 <item name="wcf.acp.group.option.category.user.board.instantmessenger.description"><![CDATA[]]></item> 
    58                 <item name="wcf.acp.group.option.user.board.instantmessenger.canUseInstantMessenger"><![CDATA[Kann Instant Messenger verwenden]]></item> 
    59                 <item name="wcf.acp.group.option.user.board.instantmessenger.canUseInstantMessenger.description"><![CDATA[User dieser Gruppe können den Instant Messenger verwenden]]></item> 
     56                <item name="wcf.acp.group.option.category.user.instantmessenger"><![CDATA[IM]]></item> 
     57                <item name="wcf.acp.group.option.category.user.instantmessenger.description"><![CDATA[]]></item> 
     58                <item name="wcf.acp.group.option.category.user.instantmessenger.options"><![CDATA[Instant Messenger Optionen]]></item> 
     59                <item name="wcf.acp.group.option.category.user.instantmessenger.options.description"><![CDATA[]]></item> 
     60                <item name="wcf.acp.group.option.user.instantmessenger.canUseInstantMessenger"><![CDATA[Kann Instant Messenger verwenden]]></item> 
     61                <item name="wcf.acp.group.option.user.instantmessenger.canUseInstantMessenger.description"><![CDATA[User dieser Gruppe können den Instant Messenger verwenden]]></item> 
     62                <item name="wcf.acp.group.option.user.instantmessenger.canWriteToAllOnline"><![CDATA[Kurznachricht an Online User]]></item> 
     63                <item name="wcf.acp.group.option.user.instantmessenger.canWriteToAllOnline.description"><![CDATA[Benutzer dieser Gruppe können Kurznachrichten an alle Benutzer schicken die zu der Zeit Online sind.]]></item> 
    6064        </category> 
    6165        <category name="wcf.acp.user"> 
  • instantMessenger/de.xml

    r433 r466  
    5454        </category> 
    5555        <category name="wcf.acp.group"> 
    56                 <item name="wcf.acp.group.option.category.user.board.instantmessenger"><![CDATA[Instant Messenger Optionen]]></item> 
    57                 <item name="wcf.acp.group.option.category.user.board.instantmessenger.description"><![CDATA[]]></item> 
    58                 <item name="wcf.acp.group.option.user.board.instantmessenger.canUseInstantMessenger"><![CDATA[Kann Instant Messenger verwenden]]></item> 
    59                 <item name="wcf.acp.group.option.user.board.instantmessenger.canUseInstantMessenger.description"><![CDATA[User dieser Gruppe können den Instant Messenger verwenden]]></item> 
     56                <item name="wcf.acp.group.option.category.user.instantmessenger"><![CDATA[IM]]></item> 
     57                <item name="wcf.acp.group.option.category.user.instantmessenger.description"><![CDATA[]]></item> 
     58                <item name="wcf.acp.group.option.category.user.instantmessenger.options"><![CDATA[Instant Messenger Optionen]]></item> 
     59                <item name="wcf.acp.group.option.category.user.instantmessenger.options.description"><![CDATA[]]></item> 
     60                <item name="wcf.acp.group.option.user.instantmessenger.canUseInstantMessenger"><![CDATA[Kann Instant Messenger verwenden]]></item> 
     61                <item name="wcf.acp.group.option.user.instantmessenger.canUseInstantMessenger.description"><![CDATA[User dieser Gruppe können den Instant Messenger verwenden]]></item> 
     62                <item name="wcf.acp.group.option.user.instantmessenger.canWriteToAllOnline"><![CDATA[Kurznachricht an Online User]]></item> 
     63                <item name="wcf.acp.group.option.user.instantmessenger.canWriteToAllOnline.description"><![CDATA[Benutzer dieser Gruppe können Kurznachrichten an alle Benutzer schicken die zu der Zeit Online sind.]]></item> 
    6064        </category> 
    6165        <category name="wcf.acp.user"> 
  • instantMessenger/en.xml

    r433 r466  
    11<?xml version="1.0" encoding="UTF-8"?> 
    22<!DOCTYPE language SYSTEM "DTD/language.dtd"> 
     3<language languagecode="en"> 
     4  <category name="wcf.acp.menu"> 
     5    <item name="wcf.acp.menu.link.group.im"><![CDATA[Short message to groupmembers]]></item> 
     6    <item name="wcf.acp.menu.link.group.im.description"/> 
     7  </category> 
     8  <category name="wcf.acp.group"> 
     9    <item name="wcf.acp.group.option.admin.user.canIMUser"><![CDATA[can send short messages to user/groups]]></item> 
     10    <item name="wcf.acp.group.option.admin.user.canIMUser.description"/> 
     11  </category> 
     12  <category name="wcf.acp.package"> 
     13    <item name="wcf.acp.package.step.install.InstantMessengerPackageInstallationPlugin"><![CDATA[WCF Instant Messenger will be installed]]></item> 
     14  </category> 
     15  <category name="wcf.acp.InstantMessenger"> 
     16    <item name="wcf.acp.InstantMessenger.alleOnlineUser"><![CDATA[to all online-users]]></item> 
     17  </category> 
     18  <category name="wbb.usersOnline"> 
     19    <item name="wbb.usersOnline.location.instantmessenger"><![CDATA[<a href="index.php?form=instantMessenger&action=new{SID_ARG_2ND}">instant messenger</a>]]></item> 
     20  </category> 
     21  <category name="wcf.user.option"> 
     22    <item name="wcf.user.option.userCanIM"><![CDATA[Accept short messages from Members]]></item> 
     23    <item name="wcf.user.option.userCanIM.description"><![CDATA[Shall community members be allowed to send you short messages?]]></item> 
     24    <item name="wcf.user.option.onlyBuddyCanIM"><![CDATA[Accept short messages from friends only]]></item> 
     25    <item name="wcf.user.option.onlyBuddyCanIM.description"><![CDATA[When activated, only friends may send you short messages.]]></item> 
     26    <item name="wcf.user.option.adminCanIM"><![CDATA[Accept short messages from Admins]]></item> 
     27    <item name="wcf.user.option.adminCanIM.description"><![CDATA[Shall Admins be allowed to send you short messages?]]></item> 
     28    <item name="wcf.user.option.nutzeWYSIWYG"><![CDATA[Use WYSIWYG-editor?]]></item> 
     29    <item name="wcf.user.option.nutzeWYSIWYG.description"><![CDATA[(de)activate the WYSIWYG-editor for short messages.]]></item> 
     30    <item name="wcf.user.option.category.settings.communication.instant"><![CDATA[Instant Messages]]></item> 
     31  </category> 
     32  <category name="wcf.acp.option"> 
     33    <item name="wcf.acp.option.category.instantmessenger"><![CDATA[Instant Messenger]]></item> 
     34    <item name="wcf.acp.option.category.instantmessenger.description"/> 
     35    <item name="wcf.acp.option.category.instantmessenger.general.description"/> 
     36    <item name="wcf.acp.option.category.instantmessenger.general"><![CDATA[InstantMessenger general settings]]></item> 
     37    <item name="wcf.acp.option.instantmessenger_aktiv"><![CDATA[activate instant messenger?]]></item> 
     38    <item name="wcf.acp.option.instantmessenger_aktiv.description">Users may write instant messages</item> 
     39    <item name="wcf.acp.option.instantmessenger_sendHight"><![CDATA[hight of "IM-write" window]]></item> 
     40    <item name="wcf.acp.option.instantmessenger_sendHight.description"/> 
     41    <item name="wcf.acp.option.instantmessenger_sendWidth"><![CDATA[width of "IM-write" window]]></item> 
     42    <item name="wcf.acp.option.instantmessenger_sendWidth.description"/> 
     43    <item name="wcf.acp.option.instantmessenger_readHight"><![CDATA[hight of "IM-read" window]]></item> 
     44    <item name="wcf.acp.option.instantmessenger_readHight.description"/> 
     45    <item name="wcf.acp.option.instantmessenger_readWidth"><![CDATA[width of "IM-read" window]]></item> 
     46    <item name="wcf.acp.option.instantmessenger_readWidth.description"/> 
     47  </category> 
     48  <category name="wcf.acp.group"> 
     49    <item name="wcf.acp.group.option.category.user.instantmessenger"><![CDATA[IM]]></item> 
     50    <item name="wcf.acp.group.option.category.user.instantmessenger.description"/> 
     51    <item name="wcf.acp.group.option.category.user.instantmessenger.options"><![CDATA[Instant Messenger Options]]></item> 
     52    <item name="wcf.acp.group.option.category.user.instantmessenger.options.description"/> 
     53    <item name="wcf.acp.group.option.user.instantmessenger.canUseInstantMessenger"><![CDATA[May use Instant Messenger]]></item> 
     54    <item name="wcf.acp.group.option.user.instantmessenger.canUseInstantMessenger.description"><![CDATA[User of the group may use the Instant Messenger]]></item> 
     55    <item name="wcf.acp.group.option.user.instantmessenger.canWriteToAllOnline"><![CDATA[Short message to online user]]></item> 
     56    <item name="wcf.acp.group.option.user.instantmessenger.canWriteToAllOnline.description"><![CDATA[Members of this group can send short messges to all users beeing online.]]></item> 
     57  </category> 
     58  <category name="wcf.acp.user"> 
     59    <item name="wcf.acp.user.sendIM.group"><![CDATA[send IM to group]]></item> 
     60    <item name="wcf.acp.user.sendIM.groups"><![CDATA[send a IM to following Groups]]></item> 
     61    <item name="wcf.acp.user.sendIM.im"><![CDATA[Instant Message]]></item> 
     62    <item name="wcf.acp.user.sendIM.subject.description"><![CDATA[Enter subject for you IM here.]]></item> 
     63    <item name="wcf.acp.user.sendIM.from.description"><![CDATA[Define here name of sender. (Only valid usernames)]]></item> 
     64  </category> 
     65  <category name="wcf.instantmessenger"> 
     66    <item name="wcf.instantmessenger.error.recipient.canNotUseIm"><![CDATA[User &raquo;{$recipient}&laquo; cant receive short messages.]]></item> 
     67    <item name="wcf.instantmessenger.error.recipient.notFound"><![CDATA[User &raquo;{$recipient}&laquo; doesn't exist.]]></item> 
     68    <item name="wcf.instantmessenger.error.recipient.ignoresYou"><![CDATA[User &raquo;{$recipient}&laquo; ignores you.]]></item> 
     69    <item name="wcf.instantmessenger.error.recipient.doesNotAcceptIm"><![CDATA[User &raquo;{$recipient}&laquo; doesn't want to receive short messages.]]></item> 
     70    <item name="wcf.instantmessenger.error.recipient.onlyAcceptfromBuddys"><![CDATA[User &raquo;{$recipient}&laquo; only accepts short messages from friends.]]></item> 
     71    <item name="wcf.instantmessenger.newMessages"><![CDATA[There are {@$imcount} new short message(s)]]></item> 
     72    <item name="wcf.instantmessenger.noMessages"><![CDATA[No new short messages]]></item> 
     73    <item name="wcf.instantmessenger.noMessages.description"><![CDATA[auto refresh, every 60 sec.]]></item> 
     74    <item name="wcf.instantmessenger.sendIM"><![CDATA[send a short message]]></item> 
     75    <item name="wcf.instantmessenger.copynotice"><![CDATA[WCF Instant Messenger © 2007 by <a href="http://www.inside-das-hoerspiel.de">INSIDE das H&ouml;rspiel</a>]]></item> 
     76    <item name="wcf.instantmessenger.messageSend"><![CDATA[Your message(s) has/have been sent successfully.]]></item> 
     77    <item name="wcf.instantmessenger.recipient.name"><![CDATA[Recipient]]></item> 
     78    <item name="wcf.instantmessenger.recipient.description"><![CDATA[Add more usernames (comma separated)]]></item> 
     79    <item name="wcf.instantmessenger.betreff"><![CDATA[Subject]]></item> 
     80    <item name="wcf.instantmessenger.message"><![CDATA[Message]]></item> 
     81    <item name="wcf.instantmessenger.sendtime"><![CDATA[Sendtime]]></item> 
     82    <item name="wcf.instantmessenger.button.neu"><![CDATA[new message]]></item> 
     83    <item name="wcf.instantmessenger.button.next"><![CDATA[next message]]></item> 
     84    <item name="wcf.instantmessenger.button.answer"><![CDATA[reply]]></item> 
     85    <item name="wcf.instantmessenger.button.forward"><![CDATA[forward]]></item> 
     86    <item name="wcf.instantmessenger.sender.name"><![CDATA[sender]]></item> 
     87    <item name="wcf.instantmessenger.sendIM.im"><![CDATA[Instant Message]]></item> 
     88    <item name="wcf.instantmessenger.inactiv"><![CDATA[Instant Messaging has not been activated]]></item> 
     89  </category> 
     90</language> 
    391<!-- 
    492        /* 
     
    896        */ 
    997--> 
    10 <language languagecode="en"> 
    11         <category name="wcf.acp.menu"> 
    12                 <item name="wcf.acp.menu.link.group.im"><![CDATA[IM to groupmembers]]></item> 
    13                 <item name="wcf.acp.menu.link.group.im.description"><![CDATA[]]></item> 
    14         </category> 
    15         <category name="wcf.acp.group"> 
    16                 <item name="wcf.acp.group.option.admin.user.canIMUser"><![CDATA[can send IMs to user/groups]]></item> 
    17                 <item name="wcf.acp.group.option.admin.user.canIMUser.description"><![CDATA[]]></item> 
    18         </category> 
    19         <category name="wcf.acp.package"> 
    20                 <item name="wcf.acp.package.step.install.InstantMessengerPackageInstallationPlugin"><![CDATA[WCF Instant Messenger will be installed]]></item> 
    21         </category> 
    22         <category name="wcf.acp.InstantMessenger"> 
    23                 <item name="wcf.acp.InstantMessenger.alleOnlineUser"><![CDATA[to all online-users]]></item> 
    24         </category> 
    25         <category name="wbb.usersOnline"> 
    26                 <item name="wbb.usersOnline.location.instantmessenger"><![CDATA[<a href="index.php?form=instantMessenger&action=new{SID_ARG_2ND}">instant messenger</a>]]></item> 
    27         </category> 
    28         <category name="wcf.user.option"> 
    29                 <item name="wcf.user.option.userCanIM"><![CDATA[Accept Instant Messages from Members]]></item> 
    30                 <item name="wcf.user.option.userCanIM.description"><![CDATA[Shall community Members be allowed to send you Instant Messages?]]></item> 
    31                 <item name="wcf.user.option.onlyBuddyCanIM"><![CDATA[Accept Instant Messages from friends only]]></item> 
    32                 <item name="wcf.user.option.onlyBuddyCanIM.description"><![CDATA[When activated, only friends may send you Instant Messages.]]></item> 
    33                 <item name="wcf.user.option.adminCanIM"><![CDATA[Accept Instant Messages from Admins]]></item> 
    34                 <item name="wcf.user.option.adminCanIM.description"><![CDATA[Shall Admins be allowed to send you Instant Messages?]]></item> 
    35                 <item name="wcf.user.option.nutzeWYSIWYG"><![CDATA[Use WYSIWYG-editor?]]></item> 
    36                 <item name="wcf.user.option.nutzeWYSIWYG.description"><![CDATA[(de)activate the WYSIWYG-editor for Instant Messages.]]></item> 
    37                 <item name="wcf.user.option.category.settings.communication.instant"><![CDATA[Instant Messages]]></item> 
    38         </category> 
    39         <category name="wcf.acp.option"> 
    40                 <item name="wcf.acp.option.category.instantmessenger"><![CDATA[Instant Messenger]]></item> 
    41                 <item name="wcf.acp.option.category.instantmessenger.description"><![CDATA[]]></item> 
    42                 <item name="wcf.acp.option.category.instantmessenger.general.description"><![CDATA[]]></item> 
    43                 <item name="wcf.acp.option.category.instantmessenger.general"><![CDATA[InstantMessenger general settings]]></item> 
    44                 <item name="wcf.acp.option.instantmessenger_aktiv"><![CDATA[activate instant messenger?]]></item> 
    45                 <item name="wcf.acp.option.instantmessenger_aktiv.description">Users may write instant messages<![CDATA[]]></item> 
    46                 <item name="wcf.acp.option.instantmessenger_sendHight"><![CDATA[hight of "IM-write" window]]></item> 
    47                 <item name="wcf.acp.option.instantmessenger_sendHight.description"><![CDATA[]]></item> 
    48                 <item name="wcf.acp.option.instantmessenger_sendWidth"><![CDATA[width of "IM-write" window]]></item> 
    49                 <item name="wcf.acp.option.instantmessenger_sendWidth.description"><![CDATA[]]></item> 
    50                 <item name="wcf.acp.option.instantmessenger_readHight"><![CDATA[hight of "IM-read" window]]></item> 
    51                 <item name="wcf.acp.option.instantmessenger_readHight.description"><![CDATA[]]></item> 
    52                 <item name="wcf.acp.option.instantmessenger_readWidth"><![CDATA[width of "IM-read" window]]></item> 
    53                 <item name="wcf.acp.option.instantmessenger_readWidth.description"><![CDATA[]]></item> 
    54         </category> 
    55         <category name="wcf.acp.group"> 
    56                 <item name="wcf.acp.group.option.category.user.board.instantmessenger"><![CDATA[Instant Messenger Options]]></item> 
    57                 <item name="wcf.acp.group.option.category.user.board.instantmessenger.description"><![CDATA[]]></item> 
    58                 <item name="wcf.acp.group.option.user.board.instantmessenger.canUseInstantMessenger"><![CDATA[May use Instant Messenger]]></item> 
    59                 <item name="wcf.acp.group.option.user.board.instantmessenger.canUseInstantMessenger.description"><![CDATA[User of the group may use the Instant Messenger]]></item> 
    60         </category> 
    61         <category name="wcf.acp.user"> 
    62                 <item name="wcf.acp.user.sendIM.group"><![CDATA[send IM to group]]></item> 
    63                 <item name="wcf.acp.user.sendIM.groups"><![CDATA[send a IM to following Groups]]></item> 
    64                 <item name="wcf.acp.user.sendIM.im"><![CDATA[Instant Message]]></item> 
    65                 <item name="wcf.acp.user.sendIM.subject.description"><![CDATA[Enter subject for you IM here.]]></item> 
    66                 <item name="wcf.acp.user.sendIM.from.description"><![CDATA[Define here name of sender. (Only valid usernames)]]></item> 
    67         </category> 
    68         <category name="wcf.instantmessenger"> 
    69                 <item name="wcf.instantmessenger.error.recipient.canNotUseIm"><![CDATA[User &raquo;{$recipient}&laquo; cant receive Instant Messages.]]></item> 
    70                 <item name="wcf.instantmessenger.error.recipient.notFound"><![CDATA[User &raquo;{$recipient}&laquo; doesn't exist.]]></item> 
    71                 <item name="wcf.instantmessenger.error.recipient.ignoresYou"><![CDATA[User &raquo;{$recipient}&laquo; ignores you.]]></item> 
    72                 <item name="wcf.instantmessenger.error.recipient.doesNotAcceptIm"><![CDATA[User &raquo;{$recipient}&laquo; doesn't want to receive Instant Messages.]]></item> 
    73                 <item name="wcf.instantmessenger.error.recipient.onlyAcceptfromBuddys"><![CDATA[User &raquo;{$recipient}&laquo; only accepts Instant Messages from friends.]]></item> 
    74                 <item name="wcf.instantmessenger.newMessages"><![CDATA[There are {@$imcount} new instant message(s)]]></item> 
    75                 <item name="wcf.instantmessenger.noMessages"><![CDATA[No new instant messages]]></item> 
    76                 <item name="wcf.instantmessenger.noMessages.description"><![CDATA[auto refresh, every 60 sec.]]></item> 
    77                 <item name="wcf.instantmessenger.sendIM"><![CDATA[send an instant message]]></item> 
    78                 <item name="wcf.instantmessenger.copynotice"><![CDATA[WCF Instant Messenger © 2007 by <a href="http://www.inside-das-hoerspiel.de">INSIDE das H&ouml;rspiel</a>]]></item> 
    79                 <item name="wcf.instantmessenger.messageSend"><![CDATA[Your message(s) has/have been sent successfully.]]></item> 
    80                 <item name="wcf.instantmessenger.recipient.name"><![CDATA[Recipient]]></item> 
    81                 <item name="wcf.instantmessenger.recipient.description"><![CDATA[Add more usernames (comma separated)]]></item> 
    82                 <item name="wcf.instantmessenger.betreff"><![CDATA[Subject]]></item> 
    83                 <item name="wcf.instantmessenger.message"><![CDATA[Message]]></item> 
    84                 <item name="wcf.instantmessenger.sendtime"><![CDATA[Sendtime]]></item> 
    85                 <item name="wcf.instantmessenger.button.neu"><![CDATA[new message]]></item> 
    86                 <item name="wcf.instantmessenger.button.next"><![CDATA[next message]]></item> 
    87                 <item name="wcf.instantmessenger.button.answer"><![CDATA[reply]]></item> 
    88                 <item name="wcf.instantmessenger.button.forward"><![CDATA[forward]]></item> 
    89                 <item name="wcf.instantmessenger.sender.name"><![CDATA[sender]]></item> 
    90                 <item name="wcf.instantmessenger.sendIM.im"><![CDATA[Instant Message]]></item> 
    91                 <item name="wcf.instantmessenger.inactiv"><![CDATA[Instant Messaging has not been activated]]></item> 
    92         </category> 
    93 </language> 
  • instantMessenger/files/lib/data/InstantMessage/IM.class.php

    r451 r466  
    11<?php 
    2 require_once(WCF_DIR.'lib/data/message/pm/PMEditor.class.php'); 
     2//require_once(WCF_DIR.'lib/data/message/pm/PMEditor.class.php'); 
    33 
    44 /** 
  • instantMessenger/files/lib/form/InstantMessengerForm.class.php

    r451 r466  
    44require_once(WCF_DIR.'lib/data/InstantMessage/IM.class.php'); 
    55require_once(WCF_DIR.'lib/form/MessageForm.class.php'); 
     6require_once(WCF_DIR.'lib/data/user/UserProfile.class.php'); 
    67 
    78/** 
     
    4041                parent::readParameters(); 
    4142                // get action 
    42                 if (isset($_REQUEST['action']))         $this->action   = stringUtil::toLowerCase(escapeString($_REQUEST['action'])); 
     43                if (isset($_REQUEST['action']))         $this->action           = stringUtil::toLowerCase(escapeString($_REQUEST['action'])); 
    4344                // Falsche URLs abfangen 
    4445                if (!isset($_REQUEST['action']) || ($this->action != 'forward' && $this->action != 'reply' && $this->action != 'new')) { 
     
    4647                        throw new IllegalLinkException(); 
    4748                }  
    48                 if (isset($_REQUEST['imID']))           $this->imID     = intval($_REQUEST['imID']); 
     49                if (isset($_REQUEST['imID']))           $this->imID             = intval($_REQUEST['imID']); 
    4950                if (isset($_REQUEST['userID']))         $this->recipientID      = intval($_REQUEST['userID']); 
    5051        } 
     
    5657                parent::readFormParameters(); 
    5758 
    58                 if (isset($_POST['action']))    $this->action           = stringUtil::toLowerCase(escapeString($_POST['action'])); 
    59                 if (isset($_POST['recipient'])) $this->recipient        = StringUtil::trim($_POST['recipient']); 
    60                 if (isset($_POST['subject']))   $this->subject          = StringUtil::trim($_POST['subject']); 
    61                 if (isset($_POST['text']))              $this->text             = StringUtil::trim($_POST['text']); 
    62                 if (isset($_POST['RecipientType'])) $this->RecipientType = intval($_POST['RecipientType']); 
     59                if (isset($_POST['action']))            $this->action                   = StringUtil::toLowerCase(escapeString($_POST['action'])); 
     60                if (isset($_POST['recipient']))         $this->recipient                = escapeString($_POST['recipient']); 
     61                if (isset($_POST['subject']))           $this->subject                  = escapeString($_POST['subject']); 
     62                if (isset($_POST['text']))                      $this->text                     = escapeString($_POST['text']); 
     63                if (isset($_POST['RecipientType'])) $this->RecipientType        = intval($_POST['RecipientType']); 
    6364                if (!$this->RecipientType){ 
    64                         $this->recipientArray = explode(',', stripslashes($this->recipient)); 
     65                        $this->recipientArray = explode(',', escapeString($this->recipient)); 
    6566                        if (count($this->recipientArray) < 2) { 
    66                                 $this->recipientArray = $this->recipient = stripslashes($this->recipientArray[0]); 
     67                                $this->recipientArray = $this->recipient = escapeString($this->recipientArray[0]); 
    6768                        } 
    6869                }else{ 
    6970                        $this->recipient = $this->recipientArray = WCF::getLanguage()->get('wcf.acp.InstantMessenger.alleOnlineUser'); 
     71                } 
     72                if (CHARSET != 'UTF-8') { 
     73                        $this->test = StringUtil::convertEncoding('UTF-8', CHARSET, $this->text); 
     74                        $this->subject = StringUtil::convertEncoding('UTF-8', CHARSET, $this->subject); 
    7075                } 
    7176        } 
     
    127132                                $this->recipient = $this->recipientArray; 
    128133                        } 
     134                        // Check for UTF-8 
    129135                        // IM speichern 
    130                         $IM = new IM (WCF::getUser()->username, $this->recipient, $this->subject, StringUtil::trim($this->text)); 
     136                        $IM = new IM (WCF::getUser()->username, $this->recipient, $this->subject, $this->text); 
    131137                        $IM->sendIM(); 
    132138                        // forward to IM page 
     
    146152                        $this->recipient = $IMDatas['sender']; 
    147153                        $this->subject = "Fw: ".$IMDatas['subject']; 
    148                         $this->text = "[quote=".$IMDatas['sender'].",'']".stripslashes($IMDatas['message'])."[/quote]"; 
     154                        $this->text = "[quote=".$IMDatas['sender'].",'']".StringUtil::unescape($IMDatas['message'])."[/quote]"; 
    149155                        unset($IMData[$this->imID]); 
    150156                } 
     
    154160                        $this->recipient = $IMDatas['sender']; 
    155161                        $this->subject = "Fw: ".$IMDatas['subject']; 
    156                         $this->text = "[quote=".$IMDatas['sender'].",'']".stripslashes($IMDatas['message'])."[/quote]"; 
     162                        $this->text = "[quote=".$IMDatas['sender'].",'']".StringUtil::unescape($IMDatas['message'])."[/quote]"; 
    157163                        unset($IMData[$this->imID]); 
    158164                } 
  • instantMessenger/files/lib/page/InstantMessengerPage.class.php

    r451 r466  
    66 
    77/** 
    8  * Instant Messenger fÃŒr das wBB3 
     8 * Instant Messenger fÃŒr das WCF 
    99 * User können anderen Usern Kurznachrichten schicken 
    1010 * User können wÀhlen ob sie IMs empfangen wollen, verweigert ein 
    1111 * User den Empfang, erscheint ein entsprechender Hinweis. 
    12  * $LastChangedDate: 2008-04-13 23:33 (So, 13 April 2008) $ 
     12 * $LastChangedDate: 2008-04-23 23:33 
    1313 * @author              Robert "Tatzelwurm" Hempel 
    1414 * @copyright   2007/2008 INSIDE das Hörspiel 
     
    3737                // get action 
    3838                if (isset($_REQUEST['action']))         $this->action   = stringUtil::toLowerCase(escapeString($_REQUEST['action'])); 
     39                // wrong action? 
    3940                if (!isset($_REQUEST['action']) || ($this->action != 'read' && $this->action != 'send')) { 
    4041                        require_once(WCF_DIR.'lib/system/exception/IllegalLinkException.class.php'); 
     
    5051                        $this->templateName = 'instantMessengerSendOK'; 
    5152                }elseif ($this->action == 'read') { 
    52                 // IM auslesen und darstellen 
    53                         $this->templateName = 'instantMessengerRead'; 
    54                         $im = new IM; 
    55                         // IMs zÀhlen 
    56                         $this->count = $im->countNewIM(WCF::getUser()->userID); 
    57                         if ($this->count){ 
    58                                 // lesen der ersten ungelesenen IM 
    59                                 $this->im = $im->getFirstIM(WCF::getUser()->userID); 
    60                                 $this->sendtime = $this->im['sendtime']; 
    61                                 $this->subject = $this->im['subject']; 
    62                                 // Nachrichttext formatieren 
    63                                 $this->text = stripslashes(StringUtil::replace('\r\n','<br />',$this->getFormattedMessage($this->im['message']))); 
    64                                 // Absendernamen abrufen 
    65                                 $sender = new user($this->im['senderID']); 
    66                                 $this->sender = $sender->username; 
    67                                 // Will oder kann der Sender IMs empfangen? 
    68                                 $IM = new IM (null, $this->sender); 
    69                                 if($IM->permissionIM()) $this->noreply = true; 
    70                                 // save IM Data in session 
    71                                 $IMData = WCF::getSession()->getVar('IMData'); 
    72                                 if ($IMData === null) $IMData = array(); 
    73                                 //$IMData = array(); 
    74                                 $imID = $this->im['imID']; 
    75                                 $IMData[$imID] = array( 
    76                                         'sender' => $this->sender, 
    77                                         'sendtime' => $this->sendtime, 
    78                                         'subject' => $this->subject, 
    79                                         'message' => $this->im['message'], 
    80                                 ); 
    81                                 WCF::getSession()->register('IMData', $IMData); 
    82                                 // aktuelle IM löschen 
    83                                 $im->deleteIM($this->im['imID']); 
    84                                 //weil die aktuelle IM gelöscht wurde auch den ZÀhler anpassen 
    85                                 if ($this->count) $this->count = $this->count -1; 
    86                         }else{   
    87                                 // forward to page "no IMs" 
    88                                 $this->templateName = 'instantMessengerWait'; 
    89                         } 
     53                        $this->readIMMessage(); 
    9054                } 
    9155        } 
     
    141105        } 
    142106         
     107        protected function readIMMessage() { 
     108                // IM auslesen und darstellen 
     109                $this->templateName = 'instantMessengerRead'; 
     110                $im = new IM; 
     111                // IMs zÀhlen 
     112                $this->count = $im->countNewIM(WCF::getUser()->userID); 
     113                if ($this->count){ 
     114                        // lesen der ersten ungelesenen IM 
     115                        $this->im = $im->getFirstIM(WCF::getUser()->userID); 
     116                        $this->sendtime = $this->im['sendtime']; 
     117                        $this->subject  = StringUtil::unescape($this->im['subject']); 
     118                        // Nachrichttext formatieren 
     119                        $this->text = StringUtil::replace('\r\n','<br />',$this->getFormattedMessage(StringUtil::unescape($this->im['message']))); 
     120                        // Absendernamen abrufen 
     121                        $sender = new user($this->im['senderID']); 
     122                        $this->sender = $sender->username; 
     123                        // Will oder kann der Sender IMs empfangen? 
     124                        $IM = new IM (null, $this->sender); 
     125                        if($IM->permissionIM()) $this->noreply = true; 
     126                        // save IM Data in session 
     127                        $IMData = WCF::getSession()->getVar('IMData'); 
     128                        if ($IMData === null) $IMData = array(); 
     129                        //$IMData = array(); 
     130                        $imID = $this->im['imID']; 
     131                        $IMData[$imID] = array( 
     132                                'sender' => $this->sender, 
     133                                'sendtime' => $this->sendtime, 
     134                                'subject' => $this->subject, 
     135                                'message' => StringUtil::unescape($this->im['message']), 
     136                        ); 
     137                        WCF::getSession()->register('IMData', $IMData); 
     138                        // aktuelle IM löschen 
     139                        $im->deleteIM($this->im['imID']); 
     140                        //weil die aktuelle IM gelöscht wurde auch den ZÀhler anpassen 
     141                        if ($this->count) $this->count = $this->count -1; 
     142                }else{   
     143                        // forward to page "no IMs" 
     144                        $this->templateName = 'instantMessengerWait'; 
     145                } 
     146        } 
     147         
    143148        /** 
    144149         * @see ViewablePost::getFormattedMessage() 
  • instantMessenger/files/lib/system/event/listener/UserPageIMLinkListener.class.php

    r433 r466  
    55 * Shows the instant message link in user profiles. 
    66 *  
    7  * @author      Marcel Werk / Tatzelwurm 
    8  * @copyright   2001-2007 WoltLab GmbH / Inside das Hörspiel 
    9  * @license     WoltLab Burning Board License <http://www.woltlab.com/products/burning_board/license.php> 
     7 * @author      Tatzelwurm 
     8 * @copyright   2007-2008 Inside das Hörspiel 
    109 * @package     de.inside.wcf.instantmessenger 
    1110 */ 
  • instantMessenger/install.sql

    r433 r466  
     1DROP TABLE IF EXISTS `wcf1_im`; 
    12CREATE TABLE `wcf1_im` ( 
    23  `imID` int(11) NOT NULL auto_increment, 
     
    78  `sendtime` int(10) NOT NULL default '0', 
    89  PRIMARY KEY  (`imID`) 
    9 ) TYPE=MyISAM; 
     10) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
  • instantMessenger/package.xml

    r451 r466  
    11<?xml version="1.0"?> 
    2 <!DOCTYPE package SYSTEM "DTD/package.dtd"> 
    32 
    43<package name="de.inside.wcf.instantMessenger"> 
    54        <packageinformation> 
    6                 <packagename>WCF Instant Messenger</packagename> 
    7                 <packageDescription>WCF Plugin zur schnellen und sicheren Kommunikation</packageDescription> 
    8                 <packageurl><![CDATA[http://community.woltlab.com/db/index.php?page=Project&projectID=156]]></packageurl> 
    9                 <isUnique>1</isUnique> 
     5                <packagename>Instant Messenger (WCF)</packagename> 
     6                <packagename language="de-informal">Instant Messenger (WCF)</packagename> 
     7                <packagename language="en">Instant Messenger (WCF)</packagename> 
     8                <packagename language="hr">Instant Messenger (WCF)</packagename> 
     9                <packagedescription>Instant Messenger zur schnellen und sicheren Kommunikation</packagedescription> 
     10                <packagedescription language="de-informal">Dein Instant Messenger fÃŒr das WCF</packagedescription> 
     11                <packagedescription language="en">Fast and secure message system</packagedescription> 
     12                <packagedescription language="hr">Fast and secure message system</packagedescription> 
     13                <version>1.0.1</version> 
     14                <date>2008-04-26</date> 
     15                <packageurl>http://community.woltlab.com/db/index.php?page=Project&amp;projectID=156</packageurl> 
     16                <plugin>com.woltlab.wcf</plugin> 
    1017                <standalone>0</standalone> 
    11                 <version>1.0.0</version> 
    12                 <date>2008-04-20</date> 
    13                 <plugin>com.woltlab.wcf</plugin> 
     18                <isunique>1</isunique> 
    1419        </packageinformation> 
    1520 
    16         <authorInformation> 
    17                 <author>Robert "Tatelwurm" Hempel</author> 
    18                 <authorURL>http://www.inside-das-hoerspiel.de</authorURL> 
    19         </authorInformation> 
     21        <authorinformation> 
     22                <author>Robert "Tatzelwurm" Hempel</author> 
     23                <authorurl>http://www.inside-das-hoerspiel.de</authorurl> 
     24        </authorinformation> 
    2025 
    21         <requiredpackages> 
    22                 <requiredpackage>com.woltlab.wcf.data.page</requiredpackage> 
    23                 <requiredpackage>com.woltlab.wcf.page.user.profile</requiredpackage> 
    24                 <requiredpackage>com.woltlab.wcf.form.message</requiredpackage> 
    25         </requiredpackages> 
     26        <requiredpackages /> 
     27 
     28        <optionalpackages /> 
    2629 
    2730        <instructions type="install"> 
     
    2932                <languages languagecode="de-informal">de-informal.xml</languages> 
    3033                <languages languagecode="en">en.xml</languages> 
     34                <languages languagecode="hr">hr.xml</languages> 
    3135                <templates>templates.tar</templates> 
    3236                <acptemplates>acptemplates.tar</acptemplates> 
     
    4044                <pagelocation>pagelocation.xml</pagelocation> 
    4145        </instructions> 
    42         <instructions type="update" fromversion="0.1.2"> 
    43                 <languages languagecode="de">de.xml</languages> 
    44                 <languages languagecode="de-informal">de-informal.xml</languages> 
    45                 <languages languagecode="en">en.xml</languages> 
    46                 <templates>templates.tar</templates> 
    47                 <acptemplates>acptemplates.tar</acptemplates> 
    48                 <files>files.tar</files> 
    49                 <acpmenu>acpmenu.xml</acpmenu> 
    50                 <eventlistener>eventlistener.xml</eventlistener> 
    51                 <options>options.xml</options> 
    52                 <useroptions>useroptions.xml</useroptions> 
    53                 <groupoptions>groupoptions.xml</groupoptions> 
    54                 <pagelocation>pagelocation.xml</pagelocation> 
    55         </instructions> 
    5646</package> 
  • instantMessenger/templates/instantMessengerWrite.tpl

    r433 r466  
    6464                                        <div class="formElement{if $errorField == 'recipient'} formError{/if}"> 
    6565                                        {if $action == "forward" || $action == "new"} 
    66                                                 <div class="formFieldLabel"> 
    67                                                         <label for="alle">{lang}wcf.acp.InstantMessenger.alleOnlineUser{/lang}:&nbsp;&nbsp;</label> 
    68                                                 </div> 
    69                                                 <div class="formField"> 
    70                                                         <div class="formElement"> 
    71                                                                 <input type="checkbox" name="RecipientType" id="RecipientType" onclick="if (this.checked) hideOptions('reci'), $RecipientType=1; else showOptions('reci'), $RecipientType=0;" value="1" {if $RecipientType == 1}checked="checked" {/if} /> 
     66                                                {if $this->user->getPermission('user.instantmessenger.canWriteToAllOnline')} 
     67                                                        <div class="formFieldLabel"> 
     68                                                                <label for="alle">{lang}wcf.acp.InstantMessenger.alleOnlineUser{/lang}:&nbsp;&nbsp;</label> 
    7269                                                        </div> 
    73                                                 </div> 
     70                                                        <div class="formField"> 
     71                                                                <div class="formElement"> 
     72                                                                        <input type="checkbox" name="RecipientType" id="RecipientType" onclick="if (this.checked) hideOptions('reci'), $RecipientType=1; else showOptions('reci'), $RecipientType=0;" value="1" {if $RecipientType == 1}checked="checked" {/if} /> 
     73                                                                </div> 
     74                                                        </div> 
     75                                                {/if} 
    7476                                        {/if} 
    7577                                        <div id="reci">