Jump to content
  • entries
    222
  • comments
    606
  • views
    591124

Useful script?

Sign in to follow this  
benryves

917 views

If you have a website of your own, you might want to have your journal on it. (I do [wink]).
This script can be used to generate a simple HTML document (such as this one!) containing a brief description of your recent entries, a title and a link to the item itself.

# UPDATE_JOURNAL.PHP
# Ben Ryves 2005.

# CONFIG:
$journal_id = 273102; # ID number of your journal.
$items = 8; # How many recent journal entries do you want?
$saved_page = 'journal.htm'; # Which page do you want to save the journal to?
$password = 'password'; # What's the password required to fire off an update?


if (isset($_POST['submit'])) {
if ($_POST['password']==$password) {
# Run the update script:
$url='http://www.gamedev.net/community/forums/lib/rss.asp?mode=journal&jn='.$journal_id;
$handle = fopen($url,'r');
$writer = fopen($saved_page,'w');
if (!$handle) {
echo "

The RSS feed is not available at the moment - sorry.

"
;
} else {
global $cur_pos, $buffer;
$buffer = '';
while (!feof ($handle)) {
$buffer .= fgets($handle, 4096);
}
fclose($handle);
$cur_pos = strpos($buffer,"");
for ($i=0; $i<$items; ++$i) {
$title = get_between_text(""</span>,<span class="cpp-literal">"");
if ($title===false) break;
$link = get_between_text("","");
$description = html_entity_decode(preg_replace("#<(.*?)>#i","",get_between_text("","")),ENT_QUOTES);
$description = preg_replace("#<(.*)#i","...",$description);
fwrite($writer,"

$link\" target=\"_blank\">$title
$description

"
);
}
fclose($writer);
echo "

$saved_page has been updated!

"
;
return;
}
} else {
echo "

Invalid password: sorry!

"
;
unset($_POST['submit']);
}
}

?>
"post">

Please enter your password:
"password" name="password" />
"submit" value="Go!" name="submit" />





function get_between_text($before, $after) {
global $buffer, $cur_pos;
$cur_pos = strpos($buffer, $before, $cur_pos);
if ($cur_pos===false) {
return false;
} else {
$cur_pos+=strlen($before);
$e = strpos($buffer, $after, $cur_pos);
return substr($buffer, $cur_pos, $e-$cur_pos);
}
}

?>

You need to set a password just to stop people from running the script (it's a pretty basic system). You'll also need to set the correct ID number. It's a very quick-and-dirty script, so if you have any problems with it give me a shout!
Sign in to follow this  


1 Comment


Recommended Comments

Brilliant! I didn't think of using the GameDev RSS as a method of publishing data on an the site... Good one benny.

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!