<?PHP
/////////////////////////////////////
// My Links Manager v1.2.1
// (C) 2011-2013, Alexander Yanitsky
// Web site: janicky.com
// Email: janickiy@mail.ru
// skype: janickiy
/////////////////////////////////////
// Switch off the identifier of session
@ini_set('session.use_trans_sid', 0
);
// Check the variables received by the GET's method
// Require necessary classes
require_once "class/class.exception_mysql.php";
require_once "class/class.exception_object.php";
require_once "class/class.exception_member.php";
require_once 'class/PEAR/PEAR.php';
require_once 'class/Sigma.php';
try
{
// Require necessary libs
require_once "lib/function.inc";
require_once "lib/connect.inc";
// Shield a special characters
$_GET['search'] = $dbh->real_escape_string($_GET['search']);
$_GET['id_cat'] = $dbh->real_escape_string($_GET['id_cat']);
$_GET['logic'] = $dbh->real_escape_string($_GET['logic']);
$_GET['url'] = $dbh->real_escape_string($_GET['url']);
$_GET['id_catalog'] = $dbh->real_escape_string($_GET['id_catalog']);
// Get a settings of catalogue
$query = "SELECT * FROM ".DB_SETTING."";
$result = $dbh->query($query);
if(!$result) { throw new ExceptionMySQL($dbh->error,$query,"Error executing SQL query!"); }
$settings = $result->fetch_array();
$result->close();
// interface modules, the description of pages and meta tags
require "templates/language/".$settings['language']."/index.inc";
require "templates/language/".$settings['language']."/language.inc";
$order = ($settings['view_order'] == 1 ? "time" : "count");
$desc = ($settings['order_link'] == 1 ? "" : "DESC");
if($_GET['id_cat'])
{
$arraypathway=topbarmenu($_GET['id_cat'],'');
if($settings['static'] == 1)
$pathway = '<a href="index.html">'.STR_HOME.'</a> ';
else
$pathway = '<a href="index.php">'.STR_HOME.'</a> ';
for($i=0; $i<count($arraypathway); $i++)
{
if($settings['static'] == "1")
$pathway .= '» <a href="'.root().'page_'.$arraypathway[$i][0].'_1.html">'.$arraypathway[$i][1].'</a>';
else
$pathway .= '» <a href="http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'].'?id_cat='.$arraypathway[$i][0].'">'.$arraypathway[$i][1].'</a>';
}
}
if(!empty($_GET['id_link'])) {
// include template
$tpl = new HTML_Template_Sigma('.');
$tpl->loadTemplateFile("templates/info.html");
$query = "SELECT * FROM ".DB_LINK." WHERE hide = 'show' AND id_link = ".$_GET['id_link'];
$result = $dbh->query($query);
if(!$result) { throw new ExceptionMySQL($dbh->error,$query,"Error executing SQL query!"); }
$links = $result->fetch_array();
$result->close();
$query = "SELECT * FROM ".DB_CATALOG." WHERE id_cat = ".$links['id_cat'];
$result = $dbh->query($query);
if(!$result) { throw new ExceptionMySQL($dbh->error,$query,"Error executing SQL query!"); }
$row = $result->fetch_array();
$result->close();
$description = $links['description_link'];
$keywords = $links['kwdlink'];
$title = "".$titlepage." ".$version." - ".$row['name']."";
if(empty($title)) { $title = "".$titlepage." ".$version.""; } if(empty($keywords)) { $keywords = ""; } if(empty($description)) { $description = $descriptionpage; }
// Header
$tpl->setVariable(array('title' => $title, 'description' => $description,
'keywords' => $keywords,
'version' => $version));
$query = "SELECT COUNT(*) FROM ".DB_LINK." WHERE hide = 'show'";
$result = $dbh->query($query);
$total = $result->fetch_assoc();
$result->close();
$tpl->setVariable(array('name_title' => $name_title, 'name' => $row['name']));
$links['full_description_link'] = preg_replace("/\\r\\n/s","<br />", $links['full_description_link']);
if($settings['static'] == 1)
{
$link_go_back = "".root()."page_".$links['id_cat']."_1.html";
}
else
{
$link_go_back = "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?id_cat=".$links['id_cat'];
}
$tpl->setVariable(array('link_go_back' => $link_go_back)); $url_to_site = "".$_SERVER['PHP_SELF']."?id_link=".$links['id_link']."&url=".$links['url']."";
$tpl->setVariable(array('url' => $links['url'], 'name_url' => $links['name'],
'full_description_link' => $links['full_description_link'],
'url_to_site' => $url_to_site,
'GO_BACK' => STR_GO_BACK,
'GO_TO_WEBSITE' => GO_TO_WEBSITE));
if($total['COUNT(*)']>3)
{
$tpl->setVariable(array('show_inc' => '')); $tpl->parse('int');
}
if($_GET['url'])
{
// If there is a URL then count one click
$update = "UPDATE ".DB_LINK." SET count=COUNT+1 WHERE id_link = ".$_GET['id_link'];
if($dbh->query($update))
{
// Make a redirect
$tpl->setVariable(array('redirect_url' => $links['url'])); $tpl->parse('redirect');
}
}
// footer
$tpl->setVariable(array('LOGO' => LOGO
, 'AUTHOR' => AUTHOR));
// print html page
$tpl->show();
}
else
{
// include template
$tpl = new HTML_Template_Sigma('.');
$tpl->loadTemplateFile("templates/index.html");
if(!empty($_GET['id_cat']) and
$_GET['id_cat'] !=0) {
// Get the meta tags of catalogue
$query = "SELECT description,keywords,name FROM ".DB_CATALOG." WHERE id_cat = ".$_GET['id_cat'];
$result = $dbh->query($query);
if(!$result) { throw new ExceptionMySQL($dbh->error,$query,"Error executing SQL query!"); }
$row = $result->fetch_assoc();
$description = $row['description'];
$keywords = $row['keywords'];
$title = "".$titlepage." ".$version." - ".$row['name'];
$result->close();
}
if(empty($title)) { $title = "".$titlepage." ".$version.""; } if(empty($keywords)) { $keywords = ""; } if(empty($description)) { $description = $descriptionpage; }
// Elements of the pagination
if(empty($settings['all_number_link'])) $all_number_link = 5;
else
$all_number_link = $settings['all_number_link'];
$page = $_GET['page'];
if(empty($page)) $page = 1; $begin = ($page - 1)*$all_number_link;
if(!$_GET['id_cat']) $id_cat = 0;
else $id_cat =$_GET['id_cat'];
$query = "SELECT * FROM ".DB_CATALOG." WHERE id_parent=".$id_cat." ORDER BY name";
$result = $dbh->query($query);
if(!$result) { throw new ExceptionMySQL($dbh->error,$query,"Error executing SQL query!"); }
while($row = $result->fetch_array())
{
$arraycat[] = array($row['name'],$row['id_cat']); }
$result->close();
$total = count($arraycat);
$number = (int)($total/$settings['stl']);
if((float)($total/$settings['stl']) - $number != 0) $number++;
// Form an array
for($i=0; $i<$number; $i++)
{
for($j=0; $j<$settings['stl']; $j++)
{
$arr[$i][$j] = $arraycat[$j*$number + $i];
}
}
$print_cat = '<table width="100%" border="0">';
for($i = 0; $i < $number; $i++)
{
$print_cat .= '<tr>';
for($j = 0; $j < $settings['stl']; $j++)
{
if($arr[$i][$j][0])
{
if($settings['static'] == "1")
$tlink = "".root()."page_".$arr[$i][$j][1]."_1.html";
else
$tlink = "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?id_cat=".$arr[$i][$j][1];
$query = "SELECT * FROM ".DB_CATALOG." WHERE image != '' and id_cat=".$arr[$i][$j][1];
$result = $dbh->query($query);
if(!$result) { throw new ExceptionMySQL($dbh->error,$query,"Error executing SQL query!"); }
if($result->num_rows>0)
$imagefolder = "img.php?id_cat=".$arr[$i][$j][1];
else
$imagefolder = 'images/folder.gif';
$print_cat .= '<td width="'.(int)(100/$settings['stl']).'%"><table border="0" class="folder"><tr>
<td><img border="0" src="'.$imagefolder.'"></td>
<td><a href="'.$tlink.'">'.$arr[$i][$j][0].'</a> <span>('.ShowNumbersLinks($arr[$i][$j][1],0).')</span><br><div class="subcat">'.ShowSubCat($arr[$i][$j][1],$settings['static']).'</div></td></tr>';
$result->close();
$print_cat .= '</table></td>';
}
}
$print_cat .= '</tr>';
}
$print_cat .= '</table>';
$searchform['search'] = urldecode($_GET['search']);
// Print the list of catalogues and subcatalogues
$query = "SELECT * FROM ".DB_CATALOG." ORDER BY name";
$result = $dbh->query($query);
if(!$result) { throw new ExceptionMySQL($dbh->error,$query,"Error executing SQL query!"); }
$slct = ($_GET['id_catalog'] == 0 ? 'checked="checked"' : "");
$searchform['print_option'] = ShowCatalogList(0,0);
if($_GET['logic'] == 0 OR
empty($_GET['logic'])) $searchform['logic0'] = 'checked="checked"';
else
$searchform['logic0'] = '';
$searchform['logic1'] = ($_GET['logic'] == 1 ? 'checked="checked"' : "");
// Header
$tpl->setVariable(array('title' => $title, 'description' => $description,
'keywords' => $keywords,
'version' => $version));
$tpl->setVariable(array('print_cat' => $print_cat, 'topbarmenu' => $pathway,
'slct' => $slct,
'CATALOG_SEARCH' => CATALOG_SEARCH,
'KEYWORDS' => KEYWORDS,
'SEARCH' => SEARCH,
'IT_DOESNT_MATTER' => IT_DOESNT_MATTER,
'MEETINGS_OF_KEYWORDS' => MEETINGS_OF_KEYWORDS,
'AT_LEAST_ONCE' => AT_LEAST_ONCE,
'ALL_WORDS_TOGETHER' => ALL_WORDS_TOGETHER,
'FIND' => FIND));
$tpl->setVariable(array('search' => $searchform['search'], 'option' => $searchform['print_option'],
'logic0' => $searchform['logic0'],
'logic1' => $searchform['logic1']));
if(empty($_GET['id_cat']) AND
empty($_GET['search']) AND
empty($_GET['id_link'])) {
$tpl->setVariable(array('NEW_LINKS' => NEW_LINKS
, 'ADD_URL' => ADD_URL));
// Print a last added links
$query = "SELECT * FROM ".DB_LINK."
WHERE hide = 'show'
ORDER BY time DESC
LIMIT ".$settings['all_number_new'];
$result = $dbh->query($query);
if(!$result) { throw new ExceptionMySQL($dbh->error,$query,"Error executing SQL query!"); }
if($result->num_rows > 0)
{
$no_links = '';
while($links = $result->fetch_array())
{
if($settings['static'] == "1")
{
if($_GET['page'])
$dlink = "".root()."link_".$links['id_link']."_".$_GET['page'].".html";
else
$dlink = "".root()."link_".$links['id_link'].".html";
}
else
{
if($_GET['page'])
$dlink = "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?id_link=".$links['id_link']."&page=".$_GET['page'];
else
$dlink = "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?id_link=".$links['id_link'];
}
// Print links
$query2 = "SELECT name FROM ".DB_CATALOG." WHERE id_cat = ".$links['id_cat'];
$result2 = $dbh->query($query2);
$catalog = $result2->fetch_array();
if(!empty($links['htmlcode_banner'])) $htmlcode_banner = $links['htmlcode_banner'];
else
$htmlcode_banner = '<a href=http://'.$links['url'].' target=_blank><img border="0" width="49" height="19" src="images/notimage.gif"></a>';
if(!empty($links['htmlcode_link'])) $description_link = $links['description_link'];
else
$description_link = '<a href=http://'.$links['url'].' target=_blank>' .$links['name'].' - ' .nl2br($links['description_link']).'</a>';
if($settings['show_pr'] == "yes")
$show_pr = '<iframe src="show_pr.php?url='.$links['url'].'" frameborder="0" scrolling="no" width="125" height="50"></iframe> ';
else
$show_pr = '';
if($settings['show_cy'] == "yes")
$show_cy = '<iframe src="show_cy.php?url='.$links['url'].'" frameborder="0" scrolling="no" width="125" height="50"></iframe>';
else
$show_cy = '';