Changeset 1160

Show
Ignore:
Timestamp:
02/21/10 01:08:46 (3 years ago)
Author:
GneX
Message:

SkypeButton? wird durch neuen SkypeButton? ersetzt

Location:
org.gnex.skypeStatusSidebar
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • org.gnex.skypeStatusSidebar/de-informal.xml

    r1159 r1160  
    33<language languagecode="de-informal"> 
    44        <category name="org.gnex.skypeStatusSidebar"> 
    5                 <item name="org.gnex.skypeStatusSidebar.status"><![CDATA[SkypeStatus von &raquo;{$username}&laquo; - SkypeName: {$skypeName}]]></item> 
     5                <item name="org.gnex.skypeStatusSidebar.status"><![CDATA[&raquo;{$username}&laquo; ({$skypeName}) ÃŒber Skype kontaktieren]]></item> 
    66        </category> 
    77</language> 
  • org.gnex.skypeStatusSidebar/de.xml

    r1159 r1160  
    33<language languagecode="de"> 
    44        <category name="org.gnex.skypeStatusSidebar"> 
    5                 <item name="org.gnex.skypeStatusSidebar.status"><![CDATA[SkypeStatus von &raquo;{$username}&laquo; - SkypeName: {$skypeName}]]></item> 
     5                <item name="org.gnex.skypeStatusSidebar.status"><![CDATA[&raquo;{$username}&laquo; ({$skypeName}) ÃŒber Skype kontaktieren]]></item> 
    66        </category> 
    77</language> 
  • org.gnex.skypeStatusSidebar/files/lib/system/event/listener/MessageSidebarSkypeStatusListener.class.php

    r1159 r1160  
    11<?php 
    22require_once(WCF_DIR.'lib/system/event/EventListener.class.php'); 
     3require_once(WCF_DIR.'lib/data/user/option/UserOptions.class.php'); 
    34 
    45class MessageSidebarSkypeStatusListener implements EventListener { 
     
    910        public function execute($eventObj, $className, $eventName) { 
    1011                foreach ($eventObj->messageSidebars as $id => $sidebar) { 
    11                   $skypeValue = $sidebar->getUser()->getUserOption('Skype'); 
    12                    
    13             if(isset($skypeValue) && !empty($skypeValue)) { 
    14               if($skypeStatus) $sidebar->addUserContact($this->getButton($sidebar->getUser()->username, $skypeValue)); 
    15             } 
     12                        $userOptions = new UserOptions('short', explode(',', MESSAGE_SIDEBAR_SHOW_USER_OPTIONS)); 
     13                        $categories = $userOptions->getOptionTree('profile', $sidebar->getUser()); 
     14                        foreach ($categories as $category) { 
     15                          if($category['categoryName'] == 'profile.messenger') { 
     16                            foreach ($category['options'] as $userOption) { 
     17                                    if($userOption['optionName'] == 'skype') { 
     18                                      $skypeName = $userOption['outputData']['value']; 
     19                                      $optionValue = $userOption['optionValue']; 
     20            } 
     21                            } 
     22        } 
     23      } 
     24       
     25      $userContacts = $sidebar->getUserContacts(); 
     26                        foreach ($userContacts as $userContact => $value) { 
     27                          if($value['value'] == $optionValue) { 
     28                            $arrayKey = $userContact; 
     29        } 
     30                        } 
     31                         
     32                        $userContacts[$arrayKey] = array('value' => $this->getLink($sidebar->getUser()->userID, $this->getImage($sidebar->getUser()->username, $skypeName))); 
     33                        $sidebar->userContacts = $userContacts; 
    1634                } 
    1735        } 
    1836         
    19         public function getButton($username, $skypeName) { 
    20           return '<a href="skype:'.$skypeName.'?call"><img src="http://mystatus.skype.com/smallicon/'.$skypeName.'" style="border: none" width="16" height="16" alt="'.WCF::getLanguage()->get('org.gnex.skypeStatusSidebar.status', array('$username' => $username, '$skypeName' => $skypeName)).'" title="'.WCF::getLanguage()->get('org.gnex.skypeStatusSidebar.status', array('$username' => $username, '$skypeName' => $skypeName)).'" /></a>'; 
     37        public function getImage($username, $skypeName) { 
     38                $title = WCF::getLanguage()->get('org.gnex.skypeStatusSidebar.status', array('$username' => $username, '$skypeName' => $skypeName)); 
     39                return '<img src="http://mystatus.skype.com/smallicon/'.$skypeName.'" alt="" title="'.$title.'" />'; 
     40        } 
     41         
     42        public function getLink($userID, $title) { 
     43                return '<a href="index.php?page=Messenger&amp;userID='.$userID.'&amp;action=skype'.SID_ARG_2ND.'" onclick="return !window.open(this.href, \'skype\', \'width=350,height=400,scrollbars=yes,resizable=yes\')">'.$title.'</a>'; 
    2144        } 
    2245} 
  • org.gnex.skypeStatusSidebar/package.xml

    r1159 r1160  
    66                <packagedescription><![CDATA[Zeigt in der MessageSidebar an, welchen Status der Benutzer bei Skype hat.]]></packagedescription> 
    77                <isunique>1</isunique> 
    8                 <version>1.1.0</version> 
     8                <version>1.2.0</version> 
    99                <date>2010-02-20</date> 
    1010                <plugin>com.woltlab.wcf</plugin> 
     
    3939                <languages languagecode="de-informal">de-informal.xml</languages> 
    4040        </instructions> 
     41        <instructions type="update" fromversion="1.1.0"> 
     42                <files>files.tar</files> 
     43        </instructions> 
    4144</package>