add('MSG','
Thank you for voting on the Poll of the Week!
Click here to visit the page for this poll.');
$template->display();
} else if (!isset($_GET['id']))
{
$template = new FITemplate('pollIndex');
if (isset($_GET['start']))
{
$start = $_GET['start'] * 10;
} else {
$start = 0;
}
$getpolls = "SELECT * FROM polloftheweek ORDER BY id DESC LIMIT " . $start . ",10";
$getpolls2 = mysql_query($getpolls);
$i=0;
while ($getpolls3[$i] = mysql_fetch_array($getpolls2))
{
$question = strip_tags($getpolls3[$i]['question']);
if (strlen($question) > 50)
{
$question = substr($question, 0, 50);
while (substr($question, strlen($question)-1) != ' ')
{
$question = substr($question, 0, strlen($question)-1);
}
$question = substr($question, 0, strlen($question)-1);
$question .= '....';
}
$template->adds_block('POLL', array( 'ID' => $getpolls3[$i]['id'],
'QUESTION' => $question,
'WEEK' => date('F jS Y', strtotime($getpolls3[$i]['week'])),
'EVEN' => (($i % 2 == 1) ? ' CLASS="even"' : '')));
$i++;
}
if ($i==0)
{
generateError('404');
exit;
}
$start /= 10;
if ($start > 0)
{
$template->adds_block('PREVIOUS', array('ID' => ($start-1)));
}
$cntpolls = "SELECT COUNT(*) FROM polloftheweek";
$cntpolls2 = mysql_query($cntpolls);
$cntpolls3 = mysql_fetch_array($cntpolls2);
if ($start < floor($cntpolls3['COUNT(*)'] / 10))
{
$template->adds_block('NEXT', array('ID' => ($start+1)));
}
include('pages/polloftheweek.php');
$template->display();
} else {
$template = new FITemplate('poll');
$getpoll = "SELECT * FROM polloftheweek WHERE id = " . $_GET['id'];
$getpoll2 = mysql_query($getpoll);
$getpoll3 = mysql_fetch_array($getpoll2);
$template->add('QUESTION', $getpoll3['question']);
$getrss = "SELECT * FROM pollrss WHERE id = " . $_GET['id'];
$getrss2 = mysql_query($getrss);
$getrss3 = mysql_fetch_array($getrss2);
if ($getrss3['id'] == $_GET['id'])
{
$template->adds_block('COMPLETE', array( 'RSS' => parseText($getrss3['rss']),
'AUTHOR' => $getrss3['author'],
'DATE' => date("F dS Y \a\\t g:i:s a",strtotime($getrss3['date'])),
'OPTION1' => $getpoll3['option1'],
'OPTION2' => $getpoll3['option2'],
'OPTION3' => $getpoll3['option3'],
'OPTION4' => $getpoll3['option4'],
'CLICKS1' => $getpoll3['clicks1'],
'CLICKS2' => $getpoll3['clicks2'],
'CLICKS3' => $getpoll3['clicks3'],
'CLICKS4' => $getpoll3['clicks4']));
} else {
$template->adds_block('INCOMPLETE', array('exi'=>1));
}
$forceDisplay = $_GET['id'];
include('pages/polloftheweek.php');
unset($forceDisplay);
$template->display();
$page_id = 'polloftheweek-' . $getpoll3['id'];
include('includes/comments.php');
displayRelated($getpoll3['question']);
}
?>
href='#n45'>45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
/*
444444444
4::::::::4
4:::::::::4
4::::44::::4
4::::4 4::::4 Four Island
4::::4 4::::4
4::::4 4::::4 Written and maintained by Starla Insigna
4::::444444::::444
4::::::::::::::::4 xmlrpc.php
4444444444:::::444
4::::4 Please do not use, reproduce or steal the
4::::4 contents of this file without explicit
4::::4 permission from Hatkirby.
44::::::44
4::::::::4
4444444444
*/
require('headerproc.php');
include('../security/config.php');
include('includes/db.php');
include('includes/xmlrpc/xmlrpc.inc');
include('includes/xmlrpc/xmlrpcs.inc');
include('includes/functions.php');
function ping($xmlrpcmsg)
{
$from = $xmlrpcmsg->getParam(0)->scalarVal();
$to = $xmlrpcmsg->getParam(1)->scalarVal();
if (preg_match('/^http:\/\/w?w?w?\.?fourisland\.com\/blog\/([-a-z0-9]+)\/$/',$to))
{
$slug = preg_replace('/^http:\/\/w?w?w?\.?fourisland\.com\/blog\/([-a-z0-9]+)\/$/','$1',$to);
$getpost = "SELECT * FROM updates WHERE slug = \"" . $slug . "\"";
$getpost2 = mysql_query($getpost);
$getpost3 = mysql_fetch_array($getpost2);
if ($getpost3['slug'] == $slug)
{
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $from);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$page_data = curl_exec($c);
curl_close($c);
if (stripos($page_data,$to) !== FALSE)
{
if (preg_match('/<TITLE>([^>]+)<\/TITLE>/i',$page_data,$matches))
{
$title = $matches[1];
} else {
$title = $from;
}
$getping = "SELECT * FROM pingbacks WHERE post_id = " . $getpost3['id'] . " AND url = \"" . mysql_real_escape_string($from) . "\"";
$getping2 = mysql_query($getping);
$getping3 = mysql_fetch_array($getping2);
if ($getping3['url'] == $from)
{
return new xmlrpcresp(0, 48, "Target uri cannot be used as target");
} else {
$insping = "INSERT INTO pingbacks (post_id,title,url) VALUES (" . $getpost3['id'] . ",\"" . mysql_real_escape_string($title) . "\",\"" . mysql_real_escape_string($from) . "\")";
$insping2 = mysql_query($insping);
recalcPop($getpost3['id']);
return new xmlrpcresp(new xmlrpcval("YAY! Your Pingback has been registered!", "string"));
}
} else {
return new xmlrpcresp(0, 17, "Source uri does have link to target uri");
}
} else {
return new xmlrpcresp(0, 32, "Target uri does not exist");
}
} else {
return new xmlrpcresp(0, 33, "Target uri cannot be used as target");
}
}
$s = new xmlrpc_server(array(
"pingback.ping" => array("function" => "ping")));
?>