Skip to content

Commit

Permalink
Add tsdisplay php script for displaying teamspeak server on a web page
Browse files Browse the repository at this point in the history
I was adding this to my local teamspeak server, so I thought it would be awesome to include it in the opscode/cookbooks for all those people out there using the teamspeak recipe.
  • Loading branch information
jtimberman committed Jun 7, 2009
1 parent 184b160 commit 828056b
Show file tree
Hide file tree
Showing 3 changed files with 168 additions and 1 deletion.
45 changes: 44 additions & 1 deletion teamspeak/recipes/default.rb
Expand Up @@ -17,6 +17,49 @@
# limitations under the License.

package "teamspeak-server"

service "teamspeak-server" do
action :enable
end
end

ts_server = "teamspeak.#{domain}"

include_recipe "php::php5"
include_recipe "apache2::mod_php5"

directory "/srv/www/tsdisplay" do
action :create
recursive true
owner "www-data"
group "www-data"
mode "755"
end

bash "install tsdisplay" do
cwd "/srv/www/tsdisplay"
code <<-EOH
wget http://softlayer.dl.sourceforge.net/sourceforge/tsdisplay/TeamspeakDisplay-PR3.zip
unzip TeamSpeakDisplay-PR3.zip
EOH
not_if { File.exists?("/srv/www/tsdisplay/TeamspeakDisplay-PR3.zip") }
end

template "/srv/www/tsdisplay/demo.php" do
source "demo.php.erb"
owner "www-data"
group "www-data"
mode "644"
variables :ts_server => ts_server
end

template "/etc/apache2/sites-available/teamspeak.conf" do
source "teamspeak.conf.erb"
owner "root"
group "root"
mode "644"
variables :virtual_host_name => ts_server, :docroot => "/srv/www/tsdisplay"
end

apache_site "teamspeak.conf" do
enable :true
end
94 changes: 94 additions & 0 deletions teamspeak/templates/default/demo.php.erb
@@ -0,0 +1,94 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Teamspeak Display Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="demo.css" rel="stylesheet" type="text/css">
<link href="teamspeakdisplay/teamspeakdisplay.css" rel="stylesheet" type="text/css">
<?php
if (isset($_GET['autorefresh'])) {
$autorefresh = $_GET['autorefresh'];
} else {
$autorefresh = 0;
}
if ($autorefresh == 1) {
echo(" <meta http-equiv=\"refresh\" content=\"10; URL=" . $_SERVER["PHP_SELF"] . "?autorefresh=1\">\n");
}
?>
</head>
<body>
<h1>Demo:</h1>
<?php
// The code between the 2 lines below turns on PHPs error handlers.
// Uncomment it for debugging purposes, but leave commented in live
// environments. Having your script running in a live environment with the
// error handlers turned on, decreases your sites security as a warning may
// reveal information used to exploit security holes in your site.
//================== BEGIN OF ERROR REPORTING CODE ====================
//echo("<span style=\"color: #dd0000; font-weight: bold\">Error reporting ");
//echo("is currently on. Turn it off in live environments !</span><br><br>\n");
//error_reporting(E_ALL);
//ini_set("display_errors", "1");
//ini_set("display_startup_errors", "1");
//ini_set("ignore_repeated_errors", "0");
//ini_set("ignore_repeated_source", "0");
//ini_set("report_memleaks", "1");
//ini_set("track_errors", "1");
//ini_set("html_errors", "1");
//ini_set("warn_plus_overloading", "1");
//================== END OF ERROR REPORTING CODE ======================

// Load the Teamspeak Display:
require("teamspeakdisplay/teamspeakdisplay.php");

// Get the default settings
$settings = $teamspeakDisplay->getDefaultSettings();

//================== BEGIN OF CONFIGURATION CODE ======================

// Set the teamspeak server IP or Hostname below (DO NOT INCLUDE THE
// PORT NUMBER):
$settings["serveraddress"] = "<%= @ts_server %>";

// If your you use another port than 8767 to connect to your teamspeak
// server using a teamspeak client, then uncomment the line below and
// set the correct teamspeak port:
//$settings["serverudpport"] = 8767;

// If your teamspeak server uses another query port than 51234, then
// uncomment the line below and set the teamspeak query port of your
// server (look in the server.ini of your teamspeak server for this
// portnumber):
//$settings["serverqueryport"] = 51234;

// If you want to limit the display to only one channel including it's
// players and subchannels, uncomment the following line and set the
// exact name of the channel. This feature is case-sensitive!
//$settings["limitchannel"] = "";

// If your teamspeak server uses another set of forbidden nickname
// characters than "()[]{}" (look in your server.ini for this setting),
// then uncomment the following line and set the correct set of
// forbidden nickname characters:
//$settings["forbiddennicknamechars"] = "()[]{}";

//================== END OF CONFIGURATION CODE ========================

// Is the script improperly configured?
if ($settings["serveraddress"] == "") { die("You need to configure this script as described inside the CONFIGURATION CODE block in " . $_SERVER["PHP_SELF"] . "<br>\n"); }

// Display the Teamspeak server
$teamspeakDisplay->displayTeamspeakEx($settings);

// Display autorefresh status and control link:
echo("<br>\n");
if ($autorefresh == 0) {
echo("Autorefresh: Off (<a href=\"" . $_SERVER["PHP_SELF"] . "?autorefresh=1\">Turn on</a>)<br>\n");
} else if ($autorefresh == 1) {
echo("Autorefresh: On (<a href=\"" . $_SERVER["PHP_SELF"] . "?autorefresh=0\">Turn off</a>)<br>\n");
}
?>
<br>
Powered by <a class="nolink" target="_blank" href="http://tsdisplay.sourceforge.net">Teamspeak Display</a><br>
</body>
</html>
30 changes: 30 additions & 0 deletions teamspeak/templates/default/teamspeak.conf.erb
@@ -0,0 +1,30 @@
<VirtualHost *:80>

DocumentRoot <%= @docroot %>

ServerName <%= @virtual_host_name %>
ServerAlias <%= @virtual_host_name.split('.')[0] %>

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

LogLevel info
ErrorLog /var/log/apache2/teamspeak-error.log
CustomLog /var/log/apache2/teamspeak-access.log combined

RewriteEngine On
RewriteLog /var/log/apache2/teamspeak-rewrite.log
RewriteLogLevel 0

<Directory <%= @docroot %>>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

AddOutputFilterByType DEFLATE text/html text/plain text/xml

</VirtualHost>

0 comments on commit 828056b

Please sign in to comment.