= time())
{
return('');
} else {
return;
}
}
function getpercent($getpoll3,$num)
{
$maxper = ($getpoll3['clicks1'] + $getpoll3['clicks2'] + $getpoll3['clicks3'] + $getpoll3['clicks4']);
if ($maxper == 0)
{
return 0;
} else {
$percent = round(($getpoll3['clicks' . $num] / $maxper) * 100);
}
return($percent);
}
function generateSlug($title,$table)
{
$title = preg_replace('/[^A-Za-z0-9]/','-',$title);
$title = preg_replace('/-{2,}/','-',$title);
if (substr($title,0,1) == '-')
{
$title = substr($title,1);
}
if (substr($title,strlen($title)-1,1) == '-')
{
$title = substr($title,0,strlen($title)-1);
}
$title = strtolower($title);
if (empty($title))
{
$title = 'special-characters';
}
$getprevs = "SELECT COUNT(*) FROM " . $table . " WHERE slug = \"" . $title . "\" OR slug LIKE \"" . $title . "-%\"";
$getprevs2 = mysql_query($getprevs);
@$getprevs3 = mysql_fetch_array($getprevs2);
if ($getprevs3[0] > 0)
{
$title .= '-' . ($getprevs3[0]+1);
}
return($title);
}
function postBlogPost($title,$author,$tags,$content)
{
$slug = generateSlug($title,'updates');
$inspost = "INSERT INTO updates (title,slug,author,text) VALUES (\"" . $title . "\",\"" . $slug . "\",\"" . $author . "\",\"" . mysql_real_escape_string($content) . "\")";
$inspost2 = mysql_query($inspost);
$id = mysql_insert_id();
addTags($id, $tags);
$upconf = "UPDATE config SET value = \"" . date('md') . "\" WHERE name = \"lastUpdate\"";
$upconf2 = mysql_query($upconf);
preg_match_all('|]*href="([^"]+)"|i', parseText($content), $matches);
foreach ($matches[1] as $link)
{
if ($all_links[$link])
{
continue;
}
$all_links[$link] = true;
if (preg_match('/^https{0,1}:/i', $link))
{
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $link);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$page_data = curl_exec($c);
curl_close($c);
if (preg_match('/send($msg);
}
}
}
$client = new xmlrpc_client('http://rpc.pingomatic.com');
$msg = new xmlrpcmsg("weblogUpdates.ping", array( new xmlrpcval('Four Island', 'string'),
new xmlrpcval('http://fourisland.com/', 'string')));
$client->send($msg);
return $id;
}
function recalcPop($id)
{
$getpost = "SELECT * FROM updates WHERE id = " . $id;
$getpost2 = mysql_query($getpost);
$getpost3 = mysql_fetch_array($getpost2);
$popularity = $getpost3['home_views'];
$popularity += ($getpost3['views']*2);
$popularity += ($getpost3['rating']*5);
$getcomments = "SELECT COUNT(*) FROM comments WHERE page_id = \"updates-" . $id . "\"";
$getcomments2 = mysql_query($getcomments);
$getcomments3 = mysql_fetch_array($getcomments2);
$popularity += ($getcomments3[0] * 10);
$getpings = "SELECT COUNT(*) FROM pingbacks WHERE post_id = " . $id;
$getpings2 = mysql_query($getpings);
$getpings3 = mysql_fetch_array($getpings2);
$popularity += ($getpings3[0] * 25);
$setpost = "UPDATE updates SET popularity = " . $popularity . " WHERE id = " . $id;
$setpost2 = mysql_query($setpost);
}
function updatePop($id, $area, $plus=1)
{
$gettrack = "SELECT * FROM tracking WHERE ip = \"" . $_SERVER['REMOTE_ADDR'] . "\"";
$gettrack2 = mysql_query($gettrack);
$gettrack3 = mysql_fetch_array($gettrack2);
$trackArr = explode(',',$gettrack3[$area]);
if (($gettrack3['ip'] != $_SERVER['REMOTE_ADDR']) || (array_search($id,$trackArr) === FALSE))
{
$setpost = "UPDATE updates SET " . $area . " = " . $area . "+" . $plus . " WHERE id = " . $id;
$setpost2 = mysql_query($setpost);
recalcPop($id);
if ($gettrack3['ip'] == $_SERVER['REMOTE_ADDR'])
{
$settrack = "UPDATE tracking SET " . $area . " = \"" . $gettrack3[$area] . "," . $id . "\" WHERE id = " . $gettrack3['id'];
} else {
$settrack = "INSERT INTO tracking (ip," . $area . ") VALUES (\"" . $_SERVER['REMOTE_ADDR'] . "\",\"" . $id . "\")";
}
$settrack2 = mysql_query($settrack) or die($settrack);
return 1;
} else {
return 0;
}
}
function getTags($id, $type = 'published')
{
$gettags = "SELECT * FROM tags WHERE post_id = " . $id . " AND post_type = \"" . $type . "\"";
$gettags2 = mysql_query($gettags);
$i=0;
$tags = array();
while ($gettags3[$i] = mysql_fetch_array($gettags2))
{
$tags[] = $gettags3[$i]['tag'];
$i++;
}
return $tags;
}
function addTags($id, $tags, $type = 'published')
{
foreach ($tags as $tag)
{
$instag = "INSERT INTO tags (post_id,post_type,tag) VALUES (" . $id . ",\"" . $type . "\",\"" . $tag . "\")";
$instag2 = mysql_query($instag);
}
}
function removeTags($id, $type = 'published')
{
$deltags = "DELETE FROM tags WHERE post_id = " . $id . " AND post_type = \"" . $type . "\"";
$deltags2 = mysql_query($deltags);
}
if (!function_exists('unique_id'))
{
function unique_id()
{
static $dss_seeded = false;
$getconfig = "SELECT * FROM config WHERE name = \"rand_seed\"";
$getconfig2 = mysql_query($getconfig);
$getconfig3 = mysql_fetch_array($getconfig2);
$val = $getconfig3['value'] . microtime();
$val = md5($val);
$rand_seed = md5($getconfig3['value'] . $val . $extra);
$getconfig = "SELECT * FROM config WHERE name = \"rand_seed_last_update\"";
$getconfig2 = mysql_query($getconfig);
$getconfig3 = mysql_fetch_array($getconfig2);
if ($dss_seeded !== true && ($getconfig3['value'] < time() - rand(1,10)))
{
$setconfig = "UPDATE config SET value = \"" . $rand_seed . "\" WHERE name = \"rand_seed\"";
$setconfig2 = mysql_query($setconfig);
$setconfig = "UPDATE config SET value = \"" . time() . "\" WHERE name = \"rand_seed_last_update\"";
$setconfig2 = mysql_query($setconfig);
$dss_seeded = true;
}
return substr($val, 4, 16);
}
}
function displayRelated($title, $avoid = 0)
{
$getrelated = "SELECT *, MATCH (title, text) AGAINST (\"" . mysql_real_escape_string($title) . "\") AS score FROM updates WHERE MATCH (title, text) AGAINST (\"" . mysql_real_escape_string($title) . "\") AND id <> " . $avoid . " LIMIT 0,5";
$getrelated2 = mysql_query($getrelated);
$i=0;
while ($getrelated3[$i] = mysql_fetch_array($getrelated2))
{
if ($i==0)
{
$template = new FITemplate('related');
}
$template->adds_block('POST', array( 'TITLE' => doAprilFoolsDay(htmlentities(stripslashes($getrelated3[$i]['title']))),
'CODED' => $getrelated3[$i]['slug'],
'AUTHOR' => $getrelated3[$i]['author'],
'DATE' => date('F jS Y',strtotime($getrelated3[$i]['pubDate']))));
$i++;
}
if ($i > 0)
{
$template->display();
}
}
function getCommentUrl($getcomment3)
{
$page_id = $getcomment3['page_id'];
$comType = substr($page_id,0,strpos($page_id,'-'));
$comID = substr($page_id,strpos($page_id,'-')+1);
if ($comType == 'updates')
{
$getupdate = "SELECT * FROM updates WHERE id = " . $comID;
$getupdate2 = mysql_query($getupdate);
$getupdate3 = mysql_fetch_array($getupdate2);
return '/blog/' . $getupdate3['slug'] . '/';
} else if ($comType == 'polloftheweek')
{
return '/poll/' . $comID . '.php';
} else if ($comType == 'quote')
{
return '/quotes/' . $comID . '.php';
}
}
function getPollOfTheWeek($id = -1)
{
static $showed_form = false;
$potw = new FITemplate('polloftheweek');
if ($id == -1)
{
$getpoll = "SELECT * FROM polloftheweek ORDER BY id DESC LIMIT 0,1";
} else {
$getpoll = "SELECT * FROM polloftheweek WHERE id = " . $id;
}
$getpoll2 = mysql_query($getpoll);
$getpoll3 = mysql_fetch_array($getpoll2);
$potw->add('ID', $getpoll3['id']);
$potw->add('QUESTION', doAprilFoolsDay(stripslashes(htmlentities($getpoll3['question']))));
$potw->add('OPTION1', doAprilFoolsDay(stripslashes(htmlentities($getpoll3['option1']))));
$potw->add('OPTION2', doAprilFoolsDay(stripslashes(htmlentities($getpoll3['option2']))));
$potw->add('OPTION3', doAprilFoolsDay(stripslashes(htmlentities($getpoll3['option3']))));
$potw->add('OPTION4', doAprilFoolsDay(stripslashes(htmlentities($getpoll3['option4']))));
$getip = "SELECT * FROM didpollalready WHERE ip = \"" . $_SERVER['REMOTE_ADDR'] . "\"";
$getip2 = mysql_query($getip);
$getip3 = mysql_fetch_array($getip2);
if (($getip3['ip'] != $_SERVER['REMOTE_ADDR']) && ($id == -1) && ($showed_form == false))
{
$potw->adds_block('FORM',array('exi'=>1));
$showed_form = true;
} else {
$potw->adds_block('DISPLAY',array('exi'=>1));
$potw->add('PERCENT1', getpercent($getpoll3,'1'));
$potw->add('PERCENT2', getpercent($getpoll3,'2'));
$potw->add('PERCENT3', getpercent($getpoll3,'3'));
$potw->add('PERCENT4', getpercent($getpoll3,'4'));
}
ob_start();
$potw->display();
$result = ob_get_contents();
ob_end_clean();
return $result;
}
function getTagColor($i)
{
switch ($i % 7)
{
case 0: return 'blue';
case 1: return 'green';
case 2: return 'orange';
case 3: return 'pink';
case 4: return 'purple';
case 5: return 'red';
case 6: return 'yellow';
}
}
function getLayout()
{
if (!isset($_COOKIE['layout']))
{
return '7';
} else {
return $_COOKIE['layout'];
}
}
function getRewriteURL()
{
if (!isset($_GET['area']))
{
if (strpos($_SERVER['PHP_SELF'], 'wiki') !== false)
{
return $_SERVER['PHP_SELF'];
} else {
return '/';
}
} else {
if ($_GET['area'] == 'blog')
{
if (isset($_GET['post']))
{
return '/blog/' . $_GET['post'] . '/';
} else {
return '/';
}
} else if ($_GET['area'] == 'archive')
{
if (isset($_GET['author']))
{
return '/blog/author/' . $_GET['author'] . '.php';
} else if (isset($_GET['tag']))
{
return '/blog/tag/' . $_GET['tag'] . '.php';
} else {
return '/blog/';
}
} else if ($_GET['area'] == 'poll')
{
if (isset($_GET['id']))
{
return '/poll/' . $_GET['id'] . '.php';
} else {
return '/poll/';
}
} else if ($_GET['area'] == 'quotes')
{
if (isset($_GET['act']))
{
return '/quotes/' . $_GET['act'] . '.php';
} else {
return '/quotes/';
}
} else if ($_GET['area'] == 'error')
{
if (isset($_GET['id']))
{
return '/error/' . $_GET['id'] . '.php';
} else {
return '/error/';
}
} else {
return '/' . $_GET['area'] . '/';
}
}
}
?>