Changeset 269

Show
Ignore:
Timestamp:
03/02/08 22:12:01 (5 years ago)
Author:
d0nut
Message:

first working release of groupapplymail

Location:
groupapplymail
Files:
7 added
1 removed
6 modified

Legend:

Unmodified
Added
Removed
  • groupapplymail/de-informal.xml

    r267 r269  
    22<!DOCTYPE language SYSTEM "http://www.woltlab.com/DTDs/language.dtd"> 
    33<language languagecode="de-informal"> 
    4         <category name="wcf.user.option"> 
    5                 <item name="wcf.user.option.enableGroupApplyEmailNotification"><![CDATA[]]></item> 
    6                 <item name="wcf.user.option.enableGroupApplyEmailNotification.description"><![CDATA[]]></item> 
     4        <category name="wcf.groupapplymail"> 
     5                <item name="wcf.groupapplymail.options"><![CDATA[Gruppen-Optionen]]></item> 
     6                <item name="wcf.groupapplymail.mail.subject.5"><![CDATA[{$author} ist der Gruppe {$group->groupname} beigetreten]]></item> 
     7                <item name="wcf.groupapplymail.mail.subject.6"><![CDATA[{$author} möchte der Gruppe {$group->groupname} beitreten]]></item> 
     8                <item name="wcf.groupapplymail.mail.body.5"><![CDATA[Hallo {$recipient}! 
     9{$author} ist der Gruppe {$group->groupname} beigetreten. 
     10 
     11Um alle aktuellen Mitglieder einzusehen, wechseln Sie in die Gruppenverwaltung: 
     12{$pageurl}index.php?form=UserGroupAdministrate&groupID={$group->groupID} 
     13 
     14Sie erhalten diese E-Mail, weil Sie eingestellt haben ÃŒber Neuaufnahmen in Ihrer Gruppe benachrichtigt zu werden. 
     15 
     16Vielen Dank! 
     17Ihr {PAGE_TITLE} Team]]></item> 
     18                <item name="wcf.groupapplymail.mail.body.6"><![CDATA[Hallo {$recipient}! 
     19{$author} bittet um Aufnahme in die Gruppe {$group->groupname}. 
     20 
     21Er hat dazu die folgende BegrÃŒndung formuliert: 
     22--------------------------------- 
     23{$reason} 
     24--------------------------------- 
     25 
     26Um die Bewerbung einzusehen, wechseln Sie in die Gruppenverwaltung: 
     27{$pageurl}index.php?form=UserGroupAdministrate&groupID={$group->groupID} 
     28 
     29Sie erhalten diese E-Mail, weil Sie eingestellt haben ÃŒber Bewerbungen in Ihrer Gruppe benachrichtigt zu werden. 
     30 
     31Vielen Dank! 
     32Ihr {PAGE_TITLE} Team]]></item> 
     33                <item name="wcf.groupapplymail.enableEmailNotification.5"><![CDATA[E-Mail-Benachrichtigung bei Neuaufnahmen]]></item> 
     34                <item name="wcf.groupapplymail.enableEmailNotification.5.description"><![CDATA[]]></item> 
     35                <item name="wcf.groupapplymail.enableEmailNotification.6"><![CDATA[E-Mail-Benachrichtigung bei Bewerbungen]]></item> 
     36                <item name="wcf.groupapplymail.enableEmailNotification.6.description"><![CDATA[]]></item> 
    737        </category> 
    838</language> 
  • groupapplymail/de.xml

    r267 r269  
    22<!DOCTYPE language SYSTEM "http://www.woltlab.com/DTDs/language.dtd"> 
    33<language languagecode="de"> 
    4         <category name="wcf.user.option"> 
    5                 <item name="wcf.user.option.enableGroupApplyEmailNotification"><![CDATA[]]></item> 
    6                 <item name="wcf.user.option.enableGroupApplyEmailNotification.description"><![CDATA[]]></item> 
     4        <category name="wcf.groupapplymail"> 
     5                <item name="wcf.groupapplymail.options"><![CDATA[Gruppen-Optionen]]></item> 
     6                <item name="wcf.groupapplymail.mail.subject.5"><![CDATA[{$author} ist der Gruppe {$group->groupname} beigetreten]]></item> 
     7                <item name="wcf.groupapplymail.mail.subject.6"><![CDATA[{$author} möchte der Gruppe {$group->groupname} beitreten]]></item> 
     8                <item name="wcf.groupapplymail.mail.body.5"><![CDATA[Hallo {$recipient}! 
     9{$author} ist der Gruppe {$group->groupname} beigetreten. 
     10 
     11Um alle aktuellen Mitglieder einzusehen, wechseln Sie in die Gruppenverwaltung: 
     12{$pageurl}index.php?form=UserGroupAdministrate&groupID={$group->groupID} 
     13 
     14Sie erhalten diese E-Mail, weil Sie eingestellt haben ÃŒber Neuaufnahmen in Ihrer Gruppe benachrichtigt zu werden. 
     15 
     16Vielen Dank! 
     17Ihr {PAGE_TITLE} Team]]></item> 
     18                <item name="wcf.groupapplymail.mail.body.6"><![CDATA[Hallo {$recipient}! 
     19{$author} bittet um Aufnahme in die Gruppe {$group->groupname}. 
     20 
     21Er hat dazu die folgende BegrÃŒndung formuliert: 
     22--------------------------------- 
     23{$reason} 
     24--------------------------------- 
     25 
     26Um die Bewerbung einzusehen, wechseln Sie in die Gruppenverwaltung: 
     27{$pageurl}index.php?form=UserGroupAdministrate&groupID={$group->groupID} 
     28 
     29Sie erhalten diese E-Mail, weil Sie eingestellt haben ÃŒber Bewerbungen in Ihrer Gruppe benachrichtigt zu werden. 
     30 
     31Vielen Dank! 
     32Ihr {PAGE_TITLE} Team]]></item> 
     33                <item name="wcf.groupapplymail.enableEmailNotification.5"><![CDATA[E-Mail-Benachrichtigung bei Neuaufnahmen]]></item> 
     34                <item name="wcf.groupapplymail.enableEmailNotification.5.description"><![CDATA[]]></item> 
     35                <item name="wcf.groupapplymail.enableEmailNotification.6"><![CDATA[E-Mail-Benachrichtigung bei Bewerbungen]]></item> 
     36                <item name="wcf.groupapplymail.enableEmailNotification.6.description"><![CDATA[]]></item> 
    737        </category> 
    838</language> 
  • groupapplymail/en.xml

    r267 r269  
    22<!DOCTYPE language SYSTEM "http://www.woltlab.com/DTDs/language.dtd"> 
    33<language languagecode="en"> 
    4         <category name="wcf.user.option"> 
    5                 <item name="wcf.user.option.enableGroupApplyEmailNotification"><![CDATA[]]></item> 
    6                 <item name="wcf.user.option.enableGroupApplyEmailNotification.description"><![CDATA[]]></item> 
     4        <category name="wcf.groupapplymail"> 
     5                <item name="wcf.groupapplymail.options"><![CDATA[Gruppen-Optionen]]></item> 
     6                <item name="wcf.groupapplymail.mail.subject.5"><![CDATA[{$author} joined the group: {$group->groupname}]]></item> 
     7                <item name="wcf.groupapplymail.mail.subject.6"><![CDATA[{$author} wants to join the group: {$group->groupname}]]></item> 
     8                <item name="wcf.groupapplymail.mail.body.5"><![CDATA[Hello {$recipient}! 
     9{$author} joined the group: {$group->groupname}. 
     10 
     11To see all of your groupmembers, change to the group administration 
     12{$pageurl}index.php?form=UserGroupAdministrate&groupID={$group->groupID} 
     13 
     14You receive this mail, because of your configuration to be informed about new memberships in this group. 
     15 
     16Thanks! 
     17Your {PAGE_TITLE} Team]]></item> 
     18                <item name="wcf.groupapplymail.mail.body.6"><![CDATA[Hello {$recipient}! 
     19{$author} asks you for confirmation about group-entrance {$group->groupname}. 
     20 
     21For this he gave the following reason: 
     22--------------------------------- 
     23{$reason} 
     24--------------------------------- 
     25 
     26To see and accept the application, please switch to the group administration: 
     27{$pageurl}index.php?form=UserGroupAdministrate&groupID={$group->groupID} 
     28 
     29You receive this mail, because of your configuration to be informed about new applications to this group. 
     30 
     31Thanks! 
     32Your {PAGE_TITLE} Team]]></item> 
     33                <item name="wcf.groupapplymail.enableEmailNotification.5"><![CDATA[E-Mail-Notification after join]]></item> 
     34                <item name="wcf.groupapplymail.enableEmailNotification.5.description"><![CDATA[]]></item> 
     35                <item name="wcf.groupapplymail.enableEmailNotification.6"><![CDATA[E-Mail-Notification after application]]></item> 
     36                <item name="wcf.groupapplymail.enableEmailNotification.6.description"><![CDATA[]]></item> 
    737        </category> 
    838</language> 
  • groupapplymail/eventlistener.xml

    r267 r269  
    88                        <listenerclassfile>lib/system/event/listener/UserGroupApplyMailListener.class.php</listenerclassfile> 
    99                </eventlistener> 
     10                <eventlistener> 
     11                        <eventclassname>UserGroupJoinAction</eventclassname> 
     12                        <eventname>executed</eventname> 
     13                        <listenerclassfile>lib/system/event/listener/UserGroupApplyMailListener.class.php</listenerclassfile> 
     14                </eventlistener> 
     15                <eventlistener> 
     16                        <eventclassname>UserGroupAdministrateForm</eventclassname> 
     17                        <eventname>readData</eventname> 
     18                        <listenerclassfile>lib/system/event/listener/UserGroupAdministrateMailListener.class.php</listenerclassfile> 
     19                </eventlistener> 
     20                <eventlistener> 
     21                        <eventclassname>UserGroupAdministrateForm</eventclassname> 
     22                        <eventname>assignVariables</eventname> 
     23                        <listenerclassfile>lib/system/event/listener/UserGroupAdministrateMailListener.class.php</listenerclassfile> 
     24                </eventlistener> 
    1025        </import> 
    1126</data> 
  • groupapplymail/files/lib/system/event/listener/UserGroupApplyMailListener.class.php

    r267 r269  
    1616         */ 
    1717        public function execute($eventObj, $className, $eventName) { 
     18                require_once(WCF_DIR.'lib/data/mail/Mail.class.php'); 
     19                require_once(WCF_DIR.'lib/system/language/Language.class.php'); 
    1820                 
     21                // send notifications 
     22                $languages = array(); 
     23                $languages[WCF::getLanguage()->getLanguageID()] = WCF::getLanguage(); 
     24                $languages[0] = WCF::getLanguage(); 
     25                $sql = "SELECT          user.* 
     26                        FROM            wcf".WCF_N."_groupapplymail 
     27                        NATURAL JOIN    wcf".WCF_N."_user user 
     28                        WHERE           groupID = ".intval($eventObj->group->groupID); 
     29                $result = WCF::getDB()->sendQuery($sql); 
     30                while ($row = WCF::getDB()->fetchArray($result)) { 
     31                        if ($row['userID'] == WCF::getUser()->userID) { 
     32                                //continue; 
     33                        } 
     34                         
     35                        // get language 
     36                        if (!isset($languages[$row['languageID']])) { 
     37                                $languages[$row['languageID']] = new Language($row['languageID']);       
     38                        } 
     39                 
     40                        // enable language 
     41                        $languages[$row['languageID']]->setLocale(); 
     42 
     43                        // send mail 
     44                        $subjectData = array( 
     45                                '$author' => WCF::getUser()->username, 
     46                                '$group' => $eventObj->group, 
     47                                'PAGE_TITLE' => PAGE_TITLE 
     48                        ); 
     49                        $messageData = array( 
     50                                '$author' => WCF::getUser()->username, 
     51                                '$group' => $eventObj->group, 
     52                                'PAGE_TITLE' => PAGE_TITLE, 
     53                                '$pageurl' => FileUtil::addTrailingSlash(PAGE_URL), 
     54                                '$recipient' => $row['username'], 
     55                                '$reason' => isset($eventObj->reason) ? $eventObj->reason : '' 
     56                        ); 
     57 
     58                        $mail = new Mail(array($row['username'] => $row['email']), $languages[$row['languageID']]->get('wcf.groupapplymail.mail.subject.'.$eventObj->group->groupType, $subjectData), $languages[$row['languageID']]->get('wcf.groupapplymail.mail.body.'.$eventObj->group->groupType, $messageData)); 
     59                        $mail->send(); 
     60                } 
     61                 
     62                // enable user language 
     63                WCF::getLanguage()->setLocale(); 
    1964        } 
    2065} 
  • groupapplymail/package.xml

    r267 r269  
    33<package name="de.easy-coding.wcf.groupapplymail"> 
    44        <packageinformation> 
    5                 <packagename>GroupApplyMail</packagename> 
    6                 <packagedescription>Notifies GroupLeaders about applications.</packagedescription> 
    7                 <packagedescription language="de">Benachrichtigt Gruppenleiter ÃŒber Bewerbungen.</packagedescription> 
    8                 <version>0.9.0</version> 
     5                <packagename>Group Apply Mailer</packagename> 
     6                <packagename language="de"><![CDATA[Gruppen Bewerbungs Mailer]]></packagename> 
     7                <packagedescription>Notifies GroupLeaders about applications and joins.</packagedescription> 
     8                <packagedescription language="de"><![CDATA[Benachrichtigt Gruppenleiter ÃŒber Bewerbungen und Neuaufnahmen.]]></packagedescription> 
     9                <version>1.0.0 RC 1</version> 
    910                <date>DATE</date> 
    1011                <plugin>com.woltlab.wcf</plugin> 
     
    1819        <requiredpackages> 
    1920                <requiredpackage minversion="1.0.0">com.woltlab.wcf</requiredpackage> 
     21                <requiredpackage minversion="1.0.0">com.woltlab.wcf.form.user.group</requiredpackage> 
    2022        </requiredpackages> 
    2123 
    2224        <instructions type="install"> 
    2325                <files>files.tar</files> 
     26                <templates>templates.tar</templates> 
     27                <sql>install.sql</sql> 
    2428                <eventlistener>eventlistener.xml</eventlistener> 
    2529                <languages languagecode="de">de.xml</languages> 
    2630                <languages languagecode="de-informal">de-informal.xml</languages> 
    2731                <languages languagecode="en">en.xml</languages> 
    28                 <useroptions>useroptions.xml</useroptions> 
     32                <templatepatch>templates.diff</templatepatch> 
    2933        </instructions> 
    3034</package>