<?php
/* This file is part of Madcollector.
* Madcollector created by Thomas Andrieu,
* Developped by Mickael Jardet and Thomas Andrieu.
* Madcollector is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* Madcollector is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
require_once LIBS.('classes/user.class.php');
require_once LIBS.('classes/publisher.class.php');
require_once LIBS.('classes/series.class.php');
require_once LIBS.('classes/issue.class.php');
$idUser = $_GET['id_user'];
$page = $_GET['page'];
$nbrEnregPage = $_GET['enreg'];
if(($page == "")||(!isset($page)))
$page = "1";
if(($_SESSION['NbrEnregPage']=="")||(!isset($_SESSION['NbrEnregPage'])))
$_SESSION['NbrEnregPage'] = 50;
if(($nbrEnregPage == "")||(!isset($nbrEnregPage)))
$nbrEnregPage = $_SESSION['NbrEnregPage'];
else $_SESSION['NbrEnregPage'] = $nbrEnregPage;
$requete_user = 'SELECT id_user,login,email,level,allow,language FROM mc_users where id_user=\''.$idUser.'\';';
$envoi_requete_user = $myDB->send_query($requete_user);
$nb_occur = $myDB->num_rows();
if(($nb_occur == 0)||($nb_occur == ""))
{
$header_title = "Invalid User";
require_once DATA.('header.inc.php');
echo "<p>Invalid User.</p>";
}
else
{
$myUser = new User($myDB->get_array($envoi_requete_user, 'NUMERIC'));
$header_title = "Profile : ".$myUser->login;
require_once DATA.('header.inc.php');
//Display DATA
echo "<h1>Profile : <a href=\"index.php?rub=profile&id_user=".$idUser."\">".$myUser->login."</a></h1>";
if(($myUser->allow=="yes")||($_SESSION["level"]>2))
{
if($_GET["action"]=="")
{
//GENERAL PROFIL PAGE
echo "<h2><a href=\"index.php?rub=profile&id_user=".$idUser."&action=collec\">".$lc_Collection."</a></h2>";
echo "<h2><a href=\"index.php?rub=profile&id_user=".$idUser."&action=search\">".$lc_Searchlist."</a></h2>";
echo "<h2><a href=\"index.php?rub=profile&id_user=".$idUser."&action=sell\">".$lc_Selllist."</a></h2>";
}
else
{
//Display n items per page
echo '<div id="form_nb_page"><form method="GET" action="index.php">'.$lc_Items_Per_Page.' : <input type="hidden" name="rub" value="profile"/><input type="hidden" name="id_user" value="'.$idUser.'"/><input type="hidden" name="action" value="'.$_GET["action"].'"/><input type="text" name="enreg" value="'.$nbrEnregPage.'" size="3"/></form></div>';
//SPECIFIC VIEW
switch($_GET["action"])
{
case "collec" :
echo "<h2>".$lc_Collection."</h2>";
//Pagination
$requete_count_possessions = "SELECT count(distinct mc_publishers.id_publisher,mc_publishers.publisher,mc_series.name,mc_series.id_series,mc_series.volume,mc_series.year, mc_possess.issue) FROM mc_possess, mc_series, mc_publishers WHERE mc_possess.id_user='$idUser' AND mc_possess.id_series=mc_series.id_series AND mc_series.company=mc_publishers.id_publisher ORDER BY mc_publishers.publisher,mc_series.name,mc_series.volume, (mc_possess.issue+0)";
$envoi_requete_count = $myDB->send_query($requete_count_possessions);
$total = $myDB->get_array($envoi_requete_count, 'NUMERIC');
//pagine
$nbPagesPagination = ($total[0] / $nbrEnregPage);
$urlPagination = "index.php?rub=profile&id_user=".$idUser."&action=collec";
pagination($page,$urlPagination,$nbPagesPagination);
$requete = "SELECT distinct mc_publishers.id_publisher,mc_publishers.publisher,mc_series.name,mc_series.id_series,mc_series.volume,mc_series.year, mc_possess.issue FROM mc_possess, mc_series, mc_publishers WHERE mc_possess.id_user='$idUser' AND mc_possess.id_series=mc_series.id_series AND mc_series.company=mc_publishers.id_publisher ORDER BY mc_publishers.publisher,mc_series.name,mc_series.volume, (mc_possess.issue+0) ASC LIMIT ".($page*50-50).",50";
$envoi_requete = $myDB->send_query($requete);
$nb_occur = $myDB->num_rows();
if(($nb_occur != 0)&&($nb_occur!=""))
{
$compteur = 0;
while ($table_resultats = $myDB->get_array($envoi_requete, 'NUMERIC'))
{
$newPublisher = new Publisher(array($table_resultats[0],$table_resultats[1]));
$newseries = new Series(array($table_resultats[3],$table_resultats[2],$table_resultats[4],$table_resultats[5]));
if(($oldseries !="")&&($newseries->id_series != $oldseries->id_series))
{
$compteur = 0;
}
if(($oldPublisher->id_publisher =="")||($newPublisher->id_publisher != $oldPublisher->id_publisher)) $retour .= "<h2>".$newPublisher->name."</h2>\n";
$oldPublisher = $newPublisher;
$oldseries = $newseries;
$issue = new Issue(array($newseries->id_series,$table_resultats[6]));
$retour .= "<div";
if(($compteur%2)!=0) $retour .= " class=\"alternee\"";
$compteur++;
$retour .= "><a href=\"index.php?rub=series&id_series=".$newseries->id_series."\">".$newseries->name."</a> vol.".$newseries->volume;
if($newseries->year != 0) $retour .= " (".$newseries->year.") ";
$retour .=" issue #".$issue->number;
$retour .= "</div>\n";
}
}
echo $retour;
break;
case "search":
echo "<h2>".$lc_Searchlist."</h2>";
//Pagination
$requete_count_search = "SELECT count(distinct mc_publishers.id_publisher,mc_publishers.publisher,mc_series.name,mc_series.id_series,mc_series.volume,mc_series.year, mc_search.issue) FROM mc_search, mc_series, mc_publishers WHERE mc_search.id_user='$idUser' AND mc_search.id_series=mc_series.id_series AND mc_series.company=mc_publishers.id_publisher ORDER BY mc_publishers.publisher,mc_series.name,mc_series.volume, (mc_search.issue+0)";
$envoi_requete_count = $myDB->send_query($requete_count_search);
$total = $myDB->get_array($envoi_requete_count, 'NUMERIC');
//pagine
$nbPagesPagination = ($total[0] / $nbrEnregPage);
$urlPagination = "index.php?rub=profile&id_user=".$idUser."&action=search";
pagination($page,$urlPagination,$nbPagesPagination);
$requete = "SELECT distinct mc_publishers.id_publisher,mc_publishers.publisher,mc_series.name,mc_series.id_series,mc_series.volume,mc_series.year, mc_search.issue FROM mc_search, mc_series, mc_publishers WHERE mc_search.id_user='$idUser' AND mc_search.id_series=mc_series.id_series AND mc_series.company=mc_publishers.id_publisher ORDER BY mc_publishers.publisher,mc_series.name,mc_series.volume, (mc_search.issue+0) ASC LIMIT ".($page*50-50).",50";
$envoi_requete = $myDB->send_query($requete);
$nb_occur = $myDB->num_rows();
if(($nb_occur != 0)&&($nb_occur!=""))
{
$compteur = 0;
while ($table_resultats = $myDB->get_array($envoi_requete, 'NUMERIC'))
{
$newPublisher = new Publisher(array($table_resultats[0],$table_resultats[1]));
$newseries = new Series(array($table_resultats[3],$table_resultats[2],$table_resultats[4],$table_resultats[5]));
if(($oldseries !="")&&($newseries->id_series != $oldseries->id_series))
{
$compteur = 0;
}
if(($oldPublisher->id_publisher =="")||($newPublisher->id_publisher != $oldPublisher->id_publisher)) $retour .= "<h2>".$newPublisher->name."</h2>\n";
$oldPublisher = $newPublisher;
$oldseries = $newseries;
$issue = new Issue(array($newseries->id_series,$table_resultats[6]));
$retour .= "<div";
if(($compteur%2)!=0) $retour .= " class=\"alternee\"";
$compteur++;
$retour .= "><a href=\"index.php?rub=series&id_series=".$newseries->id_series."\">".$newseries->name."</a> vol.".$newseries->volume;
if($newseries->year != 0) $retour .= " (".$newseries->year.") ";
$retour .=" issue #".$issue->number;
$retour .= "</div>\n";
}
}
echo $retour;
break;
case "sell" :
echo "<h2>".$lc_Selllist."</h2>";
//Get currencies and conditions
$requete = "SELECT * FROM mc_currencies";
$envoi_requete = $myDB->send_query($requete);
$table_currencies = array();
while($temp = $myDB->get_array($envoi_requete, 'NUMERIC'))
// array_push($table_currencies,array($temp[0],$temp[1]));
$table_currencies[$temp[0]]=$temp[1];
$requete = "SELECT * FROM mc_conditions";
$envoi_requete = $myDB->send_query($requete);
$table_conditions = array();
while($temp = $myDB->get_array($envoi_requete, 'NUMERIC'))
array_push($table_conditions,array($temp[0],$temp[1]));
//Pagination
$requete_count_selling = "SELECT count(distinct mc_publishers.id_publisher,mc_publishers.publisher,mc_series.name,mc_series.id_series,mc_series.volume,mc_series.year, mc_forsale.issue) FROM mc_forsale, mc_series, mc_publishers WHERE mc_forsale.id_user='$idUser' AND mc_forsale.id_series=mc_series.id_series AND mc_series.company=mc_publishers.id_publisher ORDER BY mc_publishers.publisher,mc_series.name,mc_series.volume, (mc_forsale.issue+0)";
$envoi_requete_count = $myDB->send_query($requete_count_selling);
$total = $myDB->get_array($envoi_requete_count, 'NUMERIC');
//pagine
$nbPagesPagination = ($total[0] / $nbrEnregPage);
$urlPagination = "index.php?rub=profile&action=sell&id_user=".$idUser;
pagination($page,$urlPagination,$nbPagesPagination);
//Display
$requete = "SELECT distinct mc_publishers.id_publisher,mc_publishers.publisher,mc_series.name,mc_series.id_series,mc_series.volume,mc_series.year, mc_forsale.issue, mc_forsale.price,mc_forsale.currency,mc_forsale.condition FROM mc_forsale, mc_series, mc_publishers WHERE mc_forsale.id_user='$idUser' AND mc_forsale.id_series=mc_series.id_series AND mc_series.company=mc_publishers.id_publisher ORDER BY mc_publishers.publisher,mc_series.name,mc_series.volume, (mc_forsale.issue+0) ASC LIMIT ".($page*50-50).",50";
$envoi_requete = $myDB->send_query($requete);
$nb_occur = $myDB->num_rows();
if(($nb_occur != 0)&&($nb_occur!=""))
{
$compteur = 0;
while ($table_resultats = $myDB->get_array($envoi_requete, 'NUMERIC'))
{
$newPublisher = new Publisher(array($table_resultats[0],$table_resultats[1]));
$newseries = new Series(array($table_resultats[3],$table_resultats[2],$table_resultats[4],$table_resultats[5]));
if(($oldseries !="")&&($newseries->id_series != $oldseries->id_series))
{
$compteur = 0;
}
if(($oldPublisher->id_publisher =="")||($newPublisher->id_publisher != $oldPublisher->id_publisher)) $retour .= "<h2>".$newPublisher->name."</h2>\n";
$oldPublisher = $newPublisher;
$oldseries = $newseries;
$issue = new Issue(array($newseries->id_series,$table_resultats[6]));
$retour .= "<div";
if(($compteur%2)!=0) $retour .= " class=\"alternee\"";
$compteur++;
$retour .= "><a href=\"index.php?rub=series&id_series=".$newseries->id_series."\">".$newseries->name."</a> vol.".$newseries->volume;
if($newseries->year != 0) $retour .= " (".$newseries->year.") ";
$retour .=" issue #".$issue->number;
$retour .= "<br/><strong>Condition :</strong> ";
for($i=0;$i<sizeOf($table_conditions);$i++)
if($table_conditions[$i][0]==$table_resultats[9])
$retour.= " - ".$table_conditions[$i][1];
$retour.= " - <strong>Price :</strong> ".$table_resultats[8]." ".$table_resultats[7];
$retour .= "</div>\n";
}
}
echo $retour;
break;
}
}
}
}
?>