Skype extension: Difference between revisions

From Meta, a Wikimedia project coordination wiki
Content deleted Content added
No edit summary
TheBigGuy (talk | contribs)
Beta
Line 33: Line 33:


==Future==
==Future==
Allow the "balloon" or "Classic" design to be used using <skype>Skype-Username|style</skype>
Allow the "balloon" or "Classic" design to be used using:
*<skype>Skype-Username|style</skype>
*<skype style="style_name">Skype-Username</skype> (Beta)

==Beta==
<pre>
<?php
$wgExtensionFunctions[] = "wfskype";
function wfSkype() {
global $wgParser;
$wgParser->setHook( "skype", "renderSkype" );
}
# The callback function for converting the input text to HTML output
function renderSkype( $input, $argv ) {
# $argv is an array containing any arguments passed to the extension like <example argument="foo" bar>..

if( !issent( $argv["style"] OR !$argv["style"] = "bigclassic" OR !$argv["style"] = "balloon" ){
$style = "bigclassic"
} else {
$style = $argv["style"]
}

$output = '<!-- Skype "My status" button http://www.skype.com/go/skypebuttons -->';
$output .= '<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>';
$output .= '<a href="skype:';
$output .= $input ;
$output .= '?call">';
$output .= '<img src="http://mystatus.skype.com/'.$style.'/';
$output .= $input ;

switch( $style ){
case "balloon":
$output .= '" style="border: none;" width="150" height="60" alt="My status" /></a>';
break;
case "bigclassic":
$output .= '" style="border: none;" width="182" height="44" alt="My status" /></a>';
break;
}

return $output;
}
?>
</pre>


[[Category:MediaWiki extensions]]
[[Category:MediaWiki extensions]]

Revision as of 19:12, 11 May 2006

Skype Button

My first extension so sorry if there are errors. It will only get better with feedback

<?php
  $wgExtensionFunctions[] = "wfskype";
 
 function wfSkype() {
     global $wgParser;
     $wgParser->setHook( "skype", "renderSkype" );
 }
 
 # The callback function for converting the input text to HTML output
 function renderSkype( $input, $argv ) {
     # $argv is an array containing any arguments passed to the extension like <example argument="foo" bar>..
     $output = '<!-- Skype "My status" button http://www.skype.com/go/skypebuttons -->';
     $output .= '<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>';
     $output .= '<a href="skype:';
     $output .= $input ;
     $output .= '?call">';
     $output .= '<img src="http://mystatus.skype.com/bigclassic/';
     $output .= $input ;
     $output .= '" style="border: none;" width="182" height="44" alt="My status" /></a>';

     return $output;
 }
?>

Installation

  1. Copy the code into a file (e.g. skype.php)
  2. Save the file in the extensions directory of your mediawiki folder
  3. Add the line include('extensions/skype.php'); to the end of your LocalSettings.php file

Now you can use the extension with <skype>Skype-Username</skype> in the wiki

Future

Allow the "balloon" or "Classic" design to be used using:

  • <skype>Skype-Username|style</skype>
  • <skype style="style_name">Skype-Username</skype> (Beta)

Beta

<?php
  $wgExtensionFunctions[] = "wfskype";
 
 function wfSkype() {
     global $wgParser;
     $wgParser->setHook( "skype", "renderSkype" );
 }
 
 # The callback function for converting the input text to HTML output
 function renderSkype( $input, $argv ) {
     # $argv is an array containing any arguments passed to the extension like <example argument="foo" bar>..

     if( !issent( $argv["style"] OR !$argv["style"] = "bigclassic" OR !$argv["style"] = "balloon" ){
          $style = "bigclassic"
     } else {
          $style = $argv["style"]
     }

     $output = '<!-- Skype "My status" button http://www.skype.com/go/skypebuttons -->';
     $output .= '<script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>';
     $output .= '<a href="skype:';
     $output .= $input ;
     $output .= '?call">';
     $output .= '<img src="http://mystatus.skype.com/'.$style.'/';
     $output .= $input ;

     switch( $style ){
          case "balloon":
               $output .= '" style="border: none;" width="150" height="60" alt="My status" /></a>';
          break;
          case "bigclassic":
               $output .= '" style="border: none;" width="182" height="44" alt="My status" /></a>';
          break;
     }

     return $output;
 }
?>