Post to Twitter using SMF RSS and small php file

Started by markd, August 17, 2009, 04:00:45 PM

Previous topic - Next topic

markd

Couldn't start a new topic in tips and tricks, so this might come in handy for those looking to update twitter with recent topic titles from your forum.

Understand, this isn't a mod to SMF, but something that runs independent of SMF and could require a little more programming knowledge (and access to your web server), but nonetheless, it's a start.

anyway.. here u guys go in a nutshell, RSS topics feed from SMF to Twitter from your forum:
(this script will only send the topic title and url of the most recent updated topic on your forum from the boards you tell it to check in the RSS feed line)

(save this to whatever-you-want.php)

<?php
include('parse.php');
$uname 'xxxxxx' // your twitter login here
$pwd 'xxxxxx'// your twitter password here
$twitter_url 'http://twitter.com/statuses/update.xml';


// only grab most recent from the the boards I want to show up on twitter
$feed =  
"http://www.yourdomain.com/index.php?action=.xml;sa=recent;boards=21,22;limit=1;type=rss2";  // your SMF RSS url feed here


// parse thru lastRSS to strip out only the most recently changed topic in one of those boards
// just want title and url to thread
$rss = new lastRSS;
if (
$rs $rss->get($feed)){
    
$title $rs[items][0][title];
        
$url $rs[items][0][link];
} else { die(
'Error: RSS file not found.'); }


// if rss comes back with an "Re:" in front of the thread title, strip that out
if ((substr($title03)) == "Re:") { $realtit substr($title3); }  
else { 
$realtit $title; }


// who cares about tinyurl or bt.ly, custom made SEO style - twitter likey - doesn't force tiny rewrite
// i only want the topic ID which using http://yourdomain.com/index.php?topic= is 42 characters in and is 5 long,  then append a .0 to the end
// the 42 and the 5 will change with the length of your url and how many topics you have currently.  simply count how many characters in your url to the beginning of the topic id number, and then how many characters the topic id is.  Twitter will accept a url up to 28 characters long before forcing a tiny rewrite.
$newurl "http://yourdomain.com/t/" substr($url42,5) . ".0";  


// do not append the url yet because we have some cleanup to do to pass it thru curl, but append a twitter happy space to get ready for url
$status $realtit "\n";


// in order for curl to not ignore characters, have to replace buggy chars from thread titles


// no double quotes
$status str_replace('&quot;'' '$status);


// pass the & symbol thru curl
$status str_replace('&amp;''%26'$status);


// now append the dluv tiny type url
$status $status $newurl;



// echo $status; // (only turn on when calling from web - running from  cron for now)


// push it to twitter thru curl
$curl_handle curl_init();
curl_setopt($curl_handle,CURLOPT_URL,"$twitter_url");
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_POST,1);
curl_setopt($curl_handle,CURLOPT_POSTFIELDS,"status=$status");
curl_setopt($curl_handle,CURLOPT_USERPWD,"$uname:$pwd");
$buffer curl_exec($curl_handle);
curl_close($curl_handle);
if (empty(
$buffer)){echo '<br/>message';}else{echo '<br/>success';}
?>



see it in action here: www.twitter.com/detroitluv

now, updating and the tinyurl thing:

auto-updating:
if you have shell to your server, or your host allows you to set cron jobs, set a cron to update twitter, probably every 15 mins:

*/15 * * * * /usr/bin/php -f /path/to/whatever-u-called-thisscript.php

Every 15 minutes, the script will run and look for the one most recent topic in whatever boards you specified to look in your RSS feed, and dump it on Twitter.  If your host doesn't allow crontabs or shells, then you'll have to update manually by calling the script from your web browser whenever you get the chance.  You probably don't want to increase the cron job's frequency because if your board is very active, you could cause your script to try and update twitter with the same thread repetitively.  While twitter has methods in place to not post the same tweet over and over again, if your script is hammering Twitter, it'll ban your server's IP from using their service.  If you're on shared hosting, this could cause potential problems with your host.


tinyurl thing:
Twitter allows for up to 28 characters (after the http://) in whatever url you want to pass to it.  if your domain name (truncated without the 'www') can fit with the topic id into this range, you can do your own in-house tiny url'ing and not force through tinyurl or bt.ly.

In order for the above to work, you need to create a directory under your domain root called "t".  inside that directory, put an .htaccess file with the following contents:

(save this as .htaccess - there's a period before 'htaccess')

RewriteEngine On
RewriteRule ^(.*) http://www.yourdomain.com/index.php?topic=$1


Also, about the 42 & 5 numbers.  http://www.yourdomain.com/index.php?topic= is 42 characters long before the actual topic id. Sure, i probably could have used a different string manipulation command, but substr was quick and easy to code, and then I just had to count how long my url was before the topic id was there. On my domain, our topics are in the 10000 range (around 55,000 right now).  If your forum is in the 100s or 1000s, or 100000s, those numbers need to be changed to accommodate your forum's returned url from the RSS feed.   Here's some examples:


// domain name = theforum.org, SMF is in the root, and topics are in the 1000 range
// original url = http://www.theforum.org/index.php?topic=2222(ignore everything else from here, i.e. #msgxxxxx - you just want the topic id)
$newurl = "http://theforum.org/t/" . substr($url, 40,4) . ".0";
// will result in http://theforum.org/t/2222.0

// domain name = theforum.org, SMF is in /board/ and are in the 10000 range
// original url = http://www.theforum.org/board/index.php?topic=33333
$newurl = "http://theforum.org/t/" . substr($url, 46,5) . ".0";
// will result in http://theforum.org/t/33333.0


Of course, you don't have to do the tiny url rewrite thing if you don't want.  Simply "comment" it out by placing comment tags around that part of the script, and give the $newurl variable an empty set:


/*
// who cares about tinyurl or bt.ly, custom made SEO style - twitter likey - doesn't 
force tiny rewrite
// i only want the topic ID which is 42 characters in and is 5 long, 
then append a .0 to the end
// the 42 and the 5 will change with the length of your url and how many topics you have currently.  simply count how many characters in your url to the beginning of the topic id number, and then how many characters the topic id is.  Twitter will accept a url up to 28 characters long before forcing a tiny rewrite.
$newurl = "http://yourdomain.com/t/" . substr($url, 42,5) . ".0"; 
*/
$newurl = '';


CURL (the process routine that actually sends the data to twitter) doesn't allow for certain characters to be passed.  The most common ones that your users will use in topic titles are the double-quotes and the ampersand.  The above script will strip the quotes out, and replace the ampersand with a CURL friendly ampersand, of the topic title before passing it through CURL.  If you find that other characters are causing your tweet to not appear right, or stops before it passes the entire thread title and url to the thread, you will need to replace those characters too by adding more replacement routines, for example:


// no forward slashes - make em hyphens
$status = str_replace('/', '- ', $status);



That's it.  No hacks to SMF.  Basically using SMF's built in RSS and some php to send it to Twitter.  The only advantage of another member's registered mod is that is does the updating for you without manual intervention or crontabs, but there's some disadvantages to using that mod too.

Of course, this might be a bit too technical for those not used to php programming, but i'd be happy to assist you.  You can also customize it so it will only put new topics on Twitter and not links to replied to topics.  Just ask me how.  Currently the above just looks for the most recent updated topic in the boards you specify, whether new or replied to, and posts the topic title and short url to it.

The standard php RSS parser is attached (parse.php).  I would recommend placing these two scripts inside a subdirectory outside of your live web root, but if you can't do cron jobs, then it will have to go in a subdirectory inside your web root so you can call it from your browser.

enjoy.
-markd

Dzonny


InfoStrides

Thank you for this great mod. I have tried it and it works.

Please, I need more help! The link created on Twitter redirrect to homepage instead of the appropriate topic.

Regards,


Quote from: markd on August 17, 2009, 04:00:45 PM
Couldn't start a new topic in tips and tricks, so this might come in handy for those looking to update twitter with recent topic titles from your forum.

Understand, this isn't a mod to SMF, but something that runs independent of SMF and could require a little more programming knowledge (and access to your web server), but nonetheless, it's a start.

anyway.. here u guys go in a nutshell, RSS topics feed from SMF to Twitter from your forum:
(this script will only send the topic title and url of the most recent updated topic on your forum from the boards you tell it to check in the RSS feed line)

(save this to whatever-you-want.php)

<?php
include('parse.php');
$uname 'xxxxxx' // your twitter login here
$pwd 'xxxxxx'// your twitter password here
$twitter_url 'http://twitter.com/statuses/update.xml';


// only grab most recent from the the boards I want to show up on twitter
$feed =  
"http://www.yourdomain.com/index.php?action=.xml;sa=recent;boards=21,22;limit=1;type=rss2";  // your SMF RSS url feed here


// parse thru lastRSS to strip out only the most recently changed topic in one of those boards
// just want title and url to thread
$rss = new lastRSS;
if (
$rs $rss->get($feed)){
    
$title $rs[items][0][title];
        
$url $rs[items][0][link];
} else { die(
'Error: RSS file not found.'); }


// if rss comes back with an "Re:" in front of the thread title, strip that out
if ((substr($title03)) == "Re:") { $realtit substr($title3); }  
else { 
$realtit $title; }


// who cares about tinyurl or bt.ly, custom made SEO style - twitter likey - doesn't force tiny rewrite
// i only want the topic ID which using http://yourdomain.com/index.php?topic= is 42 characters in and is 5 long,  then append a .0 to the end
// the 42 and the 5 will change with the length of your url and how many topics you have currently.  simply count how many characters in your url to the beginning of the topic id number, and then how many characters the topic id is.  Twitter will accept a url up to 28 characters long before forcing a tiny rewrite.
$newurl "http://yourdomain.com/t/" substr($url42,5) . ".0";  


// do not append the url yet because we have some cleanup to do to pass it thru curl, but append a twitter happy space to get ready for url
$status $realtit "\n";


// in order for curl to not ignore characters, have to replace buggy chars from thread titles


// no double quotes
$status str_replace('&quot;'' '$status);


// pass the & symbol thru curl
$status str_replace('&amp;''%26'$status);


// now append the dluv tiny type url
$status $status $newurl;



// echo $status; // (only turn on when calling from web - running from  cron for now)


// push it to twitter thru curl
$curl_handle curl_init();
curl_setopt($curl_handle,CURLOPT_URL,"$twitter_url");
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_POST,1);
curl_setopt($curl_handle,CURLOPT_POSTFIELDS,"status=$status");
curl_setopt($curl_handle,CURLOPT_USERPWD,"$uname:$pwd");
$buffer curl_exec($curl_handle);
curl_close($curl_handle);
if (empty(
$buffer)){echo '<br/>message';}else{echo '<br/>success';}
?>



see it in action here: www.twitter.com/detroitluv

now, updating and the tinyurl thing:

auto-updating:
if you have shell to your server, or your host allows you to set cron jobs, set a cron to update twitter, probably every 15 mins:

*/15 * * * * /usr/bin/php -f /path/to/whatever-u-called-thisscript.php

Every 15 minutes, the script will run and look for the one most recent topic in whatever boards you specified to look in your RSS feed, and dump it on Twitter.  If your host doesn't allow crontabs or shells, then you'll have to update manually by calling the script from your web browser whenever you get the chance.  You probably don't want to increase the cron job's frequency because if your board is very active, you could cause your script to try and update twitter with the same thread repetitively.  While twitter has methods in place to not post the same tweet over and over again, if your script is hammering Twitter, it'll ban your server's IP from using their service.  If you're on shared hosting, this could cause potential problems with your host.


tinyurl thing:
Twitter allows for up to 28 characters (after the http://) in whatever url you want to pass to it.  if your domain name (truncated without the 'www') can fit with the topic id into this range, you can do your own in-house tiny url'ing and not force through tinyurl or bt.ly.

In order for the above to work, you need to create a directory under your domain root called "t".  inside that directory, put an .htaccess file with the following contents:

(save this as .htaccess - there's a period before 'htaccess')

RewriteEngine On
RewriteRule ^(.*) http://www.yourdomain.com/index.php?topic=$1


Also, about the 42 & 5 numbers.  http://www.yourdomain.com/index.php?topic= is 42 characters long before the actual topic id. Sure, i probably could have used a different string manipulation command, but substr was quick and easy to code, and then I just had to count how long my url was before the topic id was there. On my domain, our topics are in the 10000 range (around 55,000 right now).  If your forum is in the 100s or 1000s, or 100000s, those numbers need to be changed to accommodate your forum's returned url from the RSS feed.   Here's some examples:


// domain name = theforum.org, SMF is in the root, and topics are in the 1000 range
// original url = http://www.theforum.org/index.php?topic=2222(ignore everything else from here, i.e. #msgxxxxx - you just want the topic id)
$newurl = "http://theforum.org/t/" . substr($url, 40,4) . ".0";
// will result in http://theforum.org/t/2222.0

// domain name = theforum.org, SMF is in /board/ and are in the 10000 range
// original url = http://www.theforum.org/board/index.php?topic=33333
$newurl = "http://theforum.org/t/" . substr($url, 46,5) . ".0";
// will result in http://theforum.org/t/33333.0


Of course, you don't have to do the tiny url rewrite thing if you don't want.  Simply "comment" it out by placing comment tags around that part of the script, and give the $newurl variable an empty set:


/*
// who cares about tinyurl or bt.ly, custom made SEO style - twitter likey - doesn't 
force tiny rewrite
// i only want the topic ID which is 42 characters in and is 5 long, 
then append a .0 to the end
// the 42 and the 5 will change with the length of your url and how many topics you have currently.  simply count how many characters in your url to the beginning of the topic id number, and then how many characters the topic id is.  Twitter will accept a url up to 28 characters long before forcing a tiny rewrite.
$newurl = "http://yourdomain.com/t/" . substr($url, 42,5) . ".0"; 
*/
$newurl = '';


CURL (the process routine that actually sends the data to twitter) doesn't allow for certain characters to be passed.  The most common ones that your users will use in topic titles are the double-quotes and the ampersand.  The above script will strip the quotes out, and replace the ampersand with a CURL friendly ampersand, of the topic title before passing it through CURL.  If you find that other characters are causing your tweet to not appear right, or stops before it passes the entire thread title and url to the thread, you will need to replace those characters too by adding more replacement routines, for example:


// no forward slashes - make em hyphens
$status = str_replace('/', '- ', $status);



That's it.  No hacks to SMF.  Basically using SMF's built in RSS and some php to send it to Twitter.  The only advantage of another member's registered mod is that is does the updating for you without manual intervention or crontabs, but there's some disadvantages to using that mod too.

Of course, this might be a bit too technical for those not used to php programming, but i'd be happy to assist you.  You can also customize it so it will only put new topics on Twitter and not links to replied to topics.  Just ask me how.  Currently the above just looks for the most recent updated topic in the boards you specify, whether new or replied to, and posts the topic title and short url to it.

The standard php RSS parser is attached (parse.php).  I would recommend placing these two scripts inside a subdirectory outside of your live web root, but if you can't do cron jobs, then it will have to go in a subdirectory inside your web root so you can call it from your browser.

enjoy.
-markd

juliegreen

Can you do this for facebook as well?
it would be great!

thank you very much for the codes.

Quote from: markd on August 17, 2009, 04:00:45 PM
Couldn't start a new topic in tips and tricks, so this might come in handy for those looking to update twitter with recent topic titles from your forum.

Understand, this isn't a mod to SMF, but something that runs independent of SMF and could require a little more programming knowledge (and access to your web server), but nonetheless, it's a start.

anyway.. here u guys go in a nutshell, RSS topics feed from SMF to Twitter from your forum:
(this script will only send the topic title and url of the most recent updated topic on your forum from the boards you tell it to check in the RSS feed line)

(save this to whatever-you-want.php)

<?php
include('parse.php');
$uname 'xxxxxx' // your twitter login here
$pwd 'xxxxxx'// your twitter password here
$twitter_url 'http://twitter.com/statuses/update.xml';


// only grab most recent from the the boards I want to show up on twitter
$feed =  
"http://www.yourdomain.com/index.php?action=.xml;sa=recent;boards=21,22;limit=1;type=rss2";  // your SMF RSS url feed here


// parse thru lastRSS to strip out only the most recently changed topic in one of those boards
// just want title and url to thread
$rss = new lastRSS;
if (
$rs $rss->get($feed)){
    
$title $rs[items][0][title];
        
$url $rs[items][0][link];
} else { die(
'Error: RSS file not found.'); }


// if rss comes back with an "Re:" in front of the thread title, strip that out
if ((substr($title03)) == "Re:") { $realtit substr($title3); }  
else { 
$realtit $title; }


// who cares about tinyurl or bt.ly, custom made SEO style - twitter likey - doesn't force tiny rewrite
// i only want the topic ID which using http://yourdomain.com/index.php?topic= is 42 characters in and is 5 long,  then append a .0 to the end
// the 42 and the 5 will change with the length of your url and how many topics you have currently.  simply count how many characters in your url to the beginning of the topic id number, and then how many characters the topic id is.  Twitter will accept a url up to 28 characters long before forcing a tiny rewrite.
$newurl "http://yourdomain.com/t/" substr($url42,5) . ".0";  


// do not append the url yet because we have some cleanup to do to pass it thru curl, but append a twitter happy space to get ready for url
$status $realtit "\n";


// in order for curl to not ignore characters, have to replace buggy chars from thread titles


// no double quotes
$status str_replace('&quot;'' '$status);


// pass the & symbol thru curl
$status str_replace('&amp;''%26'$status);


// now append the dluv tiny type url
$status $status $newurl;



// echo $status; // (only turn on when calling from web - running from  cron for now)


// push it to twitter thru curl
$curl_handle curl_init();
curl_setopt($curl_handle,CURLOPT_URL,"$twitter_url");
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_POST,1);
curl_setopt($curl_handle,CURLOPT_POSTFIELDS,"status=$status");
curl_setopt($curl_handle,CURLOPT_USERPWD,"$uname:$pwd");
$buffer curl_exec($curl_handle);
curl_close($curl_handle);
if (empty(
$buffer)){echo '<br/>message';}else{echo '<br/>success';}
?>



see it in action here: www.twitter.com/detroitluv

now, updating and the tinyurl thing:

auto-updating:
if you have shell to your server, or your host allows you to set cron jobs, set a cron to update twitter, probably every 15 mins:

*/15 * * * * /usr/bin/php -f /path/to/whatever-u-called-thisscript.php

Every 15 minutes, the script will run and look for the one most recent topic in whatever boards you specified to look in your RSS feed, and dump it on Twitter.  If your host doesn't allow crontabs or shells, then you'll have to update manually by calling the script from your web browser whenever you get the chance.  You probably don't want to increase the cron job's frequency because if your board is very active, you could cause your script to try and update twitter with the same thread repetitively.  While twitter has methods in place to not post the same tweet over and over again, if your script is hammering Twitter, it'll ban your server's IP from using their service.  If you're on shared hosting, this could cause potential problems with your host.


tinyurl thing:
Twitter allows for up to 28 characters (after the http://) in whatever url you want to pass to it.  if your domain name (truncated without the 'www') can fit with the topic id into this range, you can do your own in-house tiny url'ing and not force through tinyurl or bt.ly.

In order for the above to work, you need to create a directory under your domain root called "t".  inside that directory, put an .htaccess file with the following contents:

(save this as .htaccess - there's a period before 'htaccess')

RewriteEngine On
RewriteRule ^(.*) http://www.yourdomain.com/index.php?topic=$1


Also, about the 42 & 5 numbers.  http://www.yourdomain.com/index.php?topic= is 42 characters long before the actual topic id. Sure, i probably could have used a different string manipulation command, but substr was quick and easy to code, and then I just had to count how long my url was before the topic id was there. On my domain, our topics are in the 10000 range (around 55,000 right now).  If your forum is in the 100s or 1000s, or 100000s, those numbers need to be changed to accommodate your forum's returned url from the RSS feed.   Here's some examples:


// domain name = theforum.org, SMF is in the root, and topics are in the 1000 range
// original url = http://www.theforum.org/index.php?topic=2222(ignore everything else from here, i.e. #msgxxxxx - you just want the topic id)
$newurl = "http://theforum.org/t/" . substr($url, 40,4) . ".0";
// will result in http://theforum.org/t/2222.0

// domain name = theforum.org, SMF is in /board/ and are in the 10000 range
// original url = http://www.theforum.org/board/index.php?topic=33333
$newurl = "http://theforum.org/t/" . substr($url, 46,5) . ".0";
// will result in http://theforum.org/t/33333.0


Of course, you don't have to do the tiny url rewrite thing if you don't want.  Simply "comment" it out by placing comment tags around that part of the script, and give the $newurl variable an empty set:


/*
// who cares about tinyurl or bt.ly, custom made SEO style - twitter likey - doesn't 
force tiny rewrite
// i only want the topic ID which is 42 characters in and is 5 long, 
then append a .0 to the end
// the 42 and the 5 will change with the length of your url and how many topics you have currently.  simply count how many characters in your url to the beginning of the topic id number, and then how many characters the topic id is.  Twitter will accept a url up to 28 characters long before forcing a tiny rewrite.
$newurl = "http://yourdomain.com/t/" . substr($url, 42,5) . ".0"; 
*/
$newurl = '';


CURL (the process routine that actually sends the data to twitter) doesn't allow for certain characters to be passed.  The most common ones that your users will use in topic titles are the double-quotes and the ampersand.  The above script will strip the quotes out, and replace the ampersand with a CURL friendly ampersand, of the topic title before passing it through CURL.  If you find that other characters are causing your tweet to not appear right, or stops before it passes the entire thread title and url to the thread, you will need to replace those characters too by adding more replacement routines, for example:


// no forward slashes - make em hyphens
$status = str_replace('/', '- ', $status);



That's it.  No hacks to SMF.  Basically using SMF's built in RSS and some php to send it to Twitter.  The only advantage of another member's registered mod is that is does the updating for you without manual intervention or crontabs, but there's some disadvantages to using that mod too.

Of course, this might be a bit too technical for those not used to php programming, but i'd be happy to assist you.  You can also customize it so it will only put new topics on Twitter and not links to replied to topics.  Just ask me how.  Currently the above just looks for the most recent updated topic in the boards you specify, whether new or replied to, and posts the topic title and short url to it.

The standard php RSS parser is attached (parse.php).  I would recommend placing these two scripts inside a subdirectory outside of your live web root, but if you can't do cron jobs, then it will have to go in a subdirectory inside your web root so you can call it from your browser.

enjoy.
-markd

dkharp

Great! Does this work with 2.0? before I did in.

supahben

#5
you can use this code so it will not matter if your on the 10s or 100s or 1000s of topic numbers..
$newurl = "http://domain.co.uk/t/" . substr($url, strripos($url,"=")+1,strripos($url,".")-strripos($url,"=")-1) . ".0";

Note: im using the rss feed of the recent topics here, not just comments

Mr. Jinx

Great mod!
But there is even an easier way to do this using your RSS feeds and a free interface like twitterfeed.
You can publish it to Twitter, but also facebook.
Take a look at this tutorial

markd

#7
I know this is a dead topic, but if anyone is interested, I've recoded the above to work with Twitter's forced OAuth schema now. 

The above doesn't work now because it uses basic authentication to post the tweet, but as of September 1, 2010, Twitter disabled the ability to use outside APIs using credentials passed through non-OAuth based CURL routines or basic xml.  Now you have to register your API with them (it's free and takes about 20 seconds), generate pre-auth tokens, pin numbers, and post-auth tokens.  Once you get it going though, it works like a champ again.

Lemmie know.   It doesn't require you to make any changes to php.ini or install any rpms/pecls.  Comes with it's own OAuth php class which is called by the script itself, so it doesn't rely on any oauth Apache/PHP modules/libraries to be loaded with the httpd daemon.

I see that these guys from Twitterfeed are blowing up every Twitter-related thread in the SMF forum promoting their product, but if you want to keep it in house (and best of all, impress people by having your Tweets followed by the name of whatever you want to call your own API, and not "Twitterfeed" or "2by2Host", etc), take the extra time, learn some coding, and do it yourself.  :)

-mark

hsimpson

Just read this thread due your bump mark, when I'm home Ill take a closer look at might message you.
I'm in no condition to drive...wait! I shouldn't listen to myself, I'm drunk!

minos

#9
you can use an external cronjob if you cant use shell

http://www.easycron.com


btw im using nginx on my forum but i can make it work.. :(

Advertisement: