Файл: adm/SearchingPage.php
Строк: 463
<?php
##############################################################################
# * #
# * XG PROYECT #
# * #
# * @copyright Copyright (C) 2008 - 2009 By Neko from xgproyect.net #
# * #
# * #
# * This program 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 3 of the License, or #
# * (at your option) any later version. #
# * #
# * This program 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. #
# * #
##############################################################################
define('INSIDE' , true);
define('INSTALL' , false);
define('IN_ADMIN', true);
$xgp_root = './../';
include($xgp_root . 'extension.inc.php');
include($xgp_root . 'common.' . $phpEx);
if ($Observation != 1) die(message ($lang['404_page']));
$Micro = explode(" ", microtime());
$Time_One = ($Micro[1] + $Micro[0]);
$parse = $lang;
function MyCrazyLittleSearch($SpecifyItems, $WhereItem, $SpecifyWhere, $SpecialSpecify, $Order, $OrderBY, $Limit, $Table, $Page, $NameLang, $ArrayOSec, $Minimize, $SName)
{
global $user, $phpEx, $xgp_root, $lang, $EditUsers;
$parse = $lang;
if (!$Page)
{
$INI = 0;
$Page = 1;
}
else
$INI = ($Page - 1) * $Limit;
$ArrayEx = explode(",", $SpecifyItems);
if (!$Order || !in_array($Order, $ArrayOSec))
$Order = $ArrayEx[0];
$CountArray = count($ArrayEx);
$QuerySearch = "SELECT ".$SpecifyItems." FROM {{table}} ";
$QuerySearch .= $WhereItem." ";
$QuerySearch .= $SpecifyWhere." ".$SpecialSpecify." ";
$QuerySearch .= "ORDER BY ".$Order." ".$OrderBY." ";
$QuerySearch .= "LIMIT ".$INI.",".$Limit;
$FinalQuery = doquery($QuerySearch, $Table);
$QueryCSearch = "SELECT COUNT(".$ArrayEx[0].") AS `total` FROM {{table}} ";
$QueryCSearch .= $WhereItem." ";
$QueryCSearch .= $SpecifyWhere." ".$SpecialSpecify." ";
$CountQuery = doquery($QueryCSearch, $Table, true);
if ($CountQuery['total'] > 0)
{
$NumberOfPages = ceil($CountQuery['total'] / $Limit);
$UrlForPage = "SearchingPage.php?search=".$_GET['search']."
&search_in=".$_GET['search_in']."
&fuki=".$_GET['fuki']."
&key_user=".$_GET['key_user']."
&key_order=".$_GET['key_order']."
&key_acc=".$_GET['key_acc']."
&Limit=".$_GET['Limit'];
if($NumberOfPages > 1)
{
$BeforePage = ($Page - 1);
$NextPage = ($Page + 1);
for ($i = 1; $i <= $NumberOfPages; $i++)
{
if ($Page == $i)
$PAGEE .= " ".$Page." ";
else
$PAGEE .= " <a href='".$UrlForPage."&Page=".$i.$Minimize."'>".$i."</a> ";
}
if(($Page - 1) > 0)
$BEFORE = "<a href='".$UrlForPage."&Page=".$BeforePage.$Minimize."'>
<img src="../styles/images/Adm/arrowleft.png" title=".$lang['se__before']." height=10 width=14></a> ";
if(($Page + 1) <= $NumberOfPages)
$NEXT = "<a href='".$UrlForPage."&Page=".$NextPage.$Minimize."'>
<img src="../styles/images/Adm/arrowright.png" title=".$lang['se__next']." height=10 width=14></a>";
$Search['PAGES'] =
"<tr>
<td colspan=3 style="color:#00CC33;border: 1px lime solid;">".$BEFORE." ".$PAGEE." ".$NEXT."</td>
</tr>";
}
$Search['LIST'] = "<table width="100%">";
$Search['LIST'] .= "<tr>";
for ($i = 0; $i < $CountArray; $i++)
$Search['LIST'] .= "<td class=c>".$NameLang[$i]."</td>";
if ($Table == "users")
{
$Search['LIST'] .= "<td class=c>".$lang['se_search_info']."</td>";
if ($user['authlevel'] == '3')
$Search['LIST'] .= "<td class=c>".$lang['button_delete']."</td>";
}
if ($Table == "planets")
{
if($_GET['search'] == 'planet')
$Search['LIST'] .= "<td class=c>".$lang['se_input_have_moon']."</td>";
if ($EditUsers == '1')
$Search['LIST'] .= "<td class=c>".$lang['se_search_edit']."</td>";
if ($user['authlevel'] == '3')
$Search['LIST'] .= "<td class=c>".$lang['button_delete']."</td>";
}
$Search['LIST'] .= "</tr>";
while ($WhileResult = mysql_fetch_array($FinalQuery))
{
$Search['LIST'] .= "<tr>";
if ($Table == "users"){
if ($_GET['search'] == "online")
$WhileResult[3] = pretty_time( time() - $WhileResult[3] );
else
$WhileResult[3] = date("d-m-Y H:i:s", $WhileResult[3] );
$WhileResult[4] = date("d-m-Y H:i:s", $WhileResult[4]);
$WhileResult[6] = $lang['rank'][$WhileResult[6]];
(($WhileResult[7] == '1') ? $WhileResult[7] = "<font color=lime>".$lang['one_is_yes'][1]."</font>" : $WhileResult[7] = $lang['one_is_yes'][0]);
(($WhileResult[8] == '1') ? $WhileResult[8] = "<font color=lime>".$lang['one_is_yes'][1]."</font>" : $WhileResult[8] = $lang['one_is_yes'][0]);
}
if ($Table == "banned"){
$WhileResult[2] = date("d-m-Y H:i:s", $WhileResult[2]);
$WhileResult[3] = date("d-m-Y H:i:s", $WhileResult[3]);
}
if ($Table == "alliance")
$WhileResult[4] = date("d-m-Y H:i:s", $WhileResult[4]);
if ($Table == "planets")
$WhileResult[3] = pretty_time(time() - $WhileResult[3]);
for ($i = 0; $i < $CountArray; $i++)
$Search['LIST'] .= "<th>".$WhileResult[$i]."</th>";
if ($Table == "users")
{
$Search['LIST'] .= "<th><a href=AccountDataPage.php?id_u=".$WhileResult[0]."><img title=".$WhileResult[1]." src=../styles/images/Adm/GO.png></a></th>";
if ($user['authlevel'] == '3')
{
if ($WhileResult[0] != $user['id'])
$DELETEBUTTON = "<a href="SearchingPage.php?delete=user&user=".$WhileResult[0]."" border="0" onclick="return confirm('".$lang['ul_sure_you_want_dlte']." $WhileResult[1]?');"><img src="../styles/images/r1.png" title=".$WhileResult[1]."></a>";
else
$DELETEBUTTON = "-";
$Search['LIST'] .= "<th>".$DELETEBUTTON."</th>";
}
}
if ($Table == "planets"){
if($_GET['search'] == 'planet')
{
$QueryForMoons = doquery("SELECT id_luna FROM {{table}} WHERE id_planet = '".$WhileResult[0]."'", "galaxy", true);
(($QueryForMoons['id_luna'] > '0') ? $QueryForMoons2 = "<font color=lime>".$lang['one_is_yes'][1]."</font>" : $QueryForMoons2 = $lang['one_is_yes'][0]);
$Search['LIST'] .= "<th>".$QueryForMoons2."</th>";}
if ($EditUsers == '1')
$Search['LIST'] .= "<th><a href="AccountEditorPage.php" border="0"><img src="../styles/images/Adm/GO.png" title=".$lang['se_search_edit']."></a></th>";
if ($user['authlevel'] == '3')
$Search['LIST'] .= "<th><a href="SearchingPage.php?delete=planet&planet=".$WhileResult[0]."" border="0" onclick="return confirm('".$lang['se_confirm_planet']." $WhileResult[1]');"><img src="../styles/images/r1.png" title=".$lang['button_delete']."></a></th>";
}
$Search['LIST'] .= "</tr>";
}
$Search['LIST'] .= "<tr><th colspan=20>".$lang['se_input_hay']."<font color=lime>".$CountQuery['total']."</font>".$SName."</th></tr>";
$Search['LIST'] .= "</table>";
mysql_free_result($FinalQuery);
$Result .= parsetemplate(gettemplate('adm/SearchInDBRow'), $Search);
return $Result;
}
else
{
$Result = "<br><table border='0px' style='background:url(images/Adm/blank.gif);' width='100%'>";
$Result .= "<tr><th style='color:#00CC33;border: 2px red solid;' height='25px'><font color=red>".$lang['se_no_data']."</font></th></tr>";
$Result .= "</table>";
return $Result;
}
}
// BORRADO
include_once($xgp_root . 'includes/functions/DeleteSelectedUser.' . $phpEx);
if ($_GET['delete'] == 'user'){
DeleteSelectedUser ($_GET['user']);
$Log .= "n".$lang['log_searchindb_del1'].$_GET['user'].$lang['log_searchindb_del2'].$user['username']."n";
LogFunction($Log, "GeneralLog", $LogCanWork);
message($lang['se_delete_succes_p'], "SearchingPage.php?search=users&minimize=on", 2);}
elseif ($_GET['delete'] == 'planet'){
DeleteSelectedPlanet ($_GET['planet']);
$Log .= "n".$lang['log_searchindb_del3'].$_GET['planet'].$lang['log_searchindb_del2'].$user['username']."n";
LogFunction($Log, "GeneralLog", $LogCanWork);
message($lang['se_delete_succes_p'], "SearchingPage.php?search=planet&minimize=on", 2);
}
$SearchFile = $_GET['search'];
$SearchFor = $_GET['search_in'];
$SearchMethod = $_GET['fuki'];
$SpecifyWhere = $parse['Key'] = $_GET['key_user'];
$Page = $_GET['Page'];
$Order = $_GET['key_order'];
$OrderBY = $_GET['key_acc'];
((!$_GET['Limit']) ? $Limit = '25' : $Limit = $_GET['Limit']);
// TABLA DE BЪSQUEDA
$parse['OPT_LIST'] = '<option value="users"'.(($SearchFile == "users") ? " selected": "").'>'.$lang['se_users'].'</option>';
$parse['OPT_LIST'] .= '<option value="planet"'.(($SearchFile == "planet") ? " selected": "").'>'.$lang['se_planets'].'</option>';
$parse['OPT_LIST'] .= '<option value="moon"'.(($SearchFile == "moon") ? " selected": "").'>'.$lang['se_moons'].'</option>';
$parse['OPT_LIST'] .= '<option value="alliance"'.(($SearchFile == "alliance") ? " selected": "").'>'.$lang['se_allys'].'</option>';
$parse['OPT_LIST'] .= '<option value="vacation"'.(($SearchFile == "vacation") ? " selected": "").'>'.$lang['se_vacations'].'</option>';
$parse['OPT_LIST'] .= '<option value="banned"'.(($SearchFile == "banned") ? " selected": "").'>'.$lang['se_suspended'].'</option>';
$parse['OPT_LIST'] .= '<option value="admin"'.(($SearchFile == "admin") ? " selected": "").'>'.$lang['se_authlevels'].'</option>';
$parse['OPT_LIST'] .= '<option value="inactives"'.(($SearchFile == "inactives") ? " selected": "").'>'.$lang['se_inactives'].'</option>';
$parse['OPT_LIST'] .= '<option value="online"'.(($SearchFile == "online") ? " selected": "").'>'.$lang['online_users'].'</option>';
$parse['OPT_LIST'] .= '<option value="p_connect"'.(($SearchFile == "p_connect") ? " selected": "").'>'.$lang['se_planets_act'].'</option>';
// BЪSQUEDA POR ID O NOMBRE
$parse['OPT_SEARCH'] = '<option value="name"'.(($SearchFor == "name") ? " selected": "").((!$SearchFor) ? " selected": "").'>'.$lang['se_input_name'].'</option>';
$parse['OPT_SEARCH'] .= '<option value="id"'.(($SearchFor == "id") ? " selected": "").'>'.$lang['input_id'].'</option>';
// TIPO DE FILTRO: BЪSQUEDA EXACTA, NORMAL, ETC
$parse['EXT_LIST'] = '<option value="normal"'.(($SearchMethod == "normal") ? " selected": "").'>'.$lang['se_type_all'].'</option>';
$parse['EXT_LIST'] .= '<option value="exacto"'.(($SearchMethod == "exacto") ? " selected": "").'>'.$lang['se_type_exact'].'</option>';
$parse['EXT_LIST'] .= '<option value="last"'.(($SearchMethod == "last") ? " selected": "").'>'.$lang['se_type_last'].'</option>';
$parse['EXT_LIST'] .= '<option value="first"'.(($SearchMethod == "first") ? " selected": "").'>'.$lang['se_type_first'].'</option>';
// ASCENDIENTE / DESCENDIENTE
$parse['ORDER'] = '<option value="ASC"'.(($OrderBY == "ASC") ? " selected": "").'>'.$lang['se_input_asc'].'</option>';
$parse['ORDER'] .= '<option value="DESC"'.(($OrderBY == "DESC") ? " selected": "").'>'.$lang['se_input_desc'].'</option>';
// LIMITE DE USUARIOS A MOSTRAR
$parse['LIMIT'] .= '<option value="1"'.(($Limit == '1') ? " selected": "").'>1</option>';
$parse['LIMIT'] .= '<option value="5"'.(($Limit == '5') ? " selected": "").'>5</option>';
$parse['LIMIT'] .= '<option value="10"'.(($Limit == '10') ? " selected": "").'>10</option>';
$parse['LIMIT'] .= '<option value="15"'.(($Limit == '15') ? " selected": "").'>15</option>';
$parse['LIMIT'] .= '<option value="20"'.(($Limit == '20') ? " selected": "").'>20</option>';
$parse['LIMIT'] .= '<option value="25"'.(($Limit == '25') ? " selected": "").((!$Limit) ? " selected": "").'>25</option>';
$parse['LIMIT'] .= '<option value="50"'.(($Limit == '50') ? " selected": "").'>50</option>';
$parse['LIMIT'] .= '<option value="100"'.(($Limit == '100') ? " selected": "").'>100</option>';
$parse['LIMIT'] .= '<option value="200"'.(($Limit == '200') ? " selected": "").'>200</option>';
$parse['LIMIT'] .= '<option value="500"'.(($Limit == '500') ? " selected": "").'>500</option>';
// BUSCADOR DE PALABRA CLAVE
if ($SearchMethod == 'exacto' && $SpecifyWhere)
$SpecifyWhere = "= '".$SpecifyWhere."'";
elseif ($SearchMethod == 'last')
$SpecifyWhere = "LIKE '".$SpecifyWhere."%'";
elseif ($SearchMethod == 'first')
$SpecifyWhere = "LIKE '%".$SpecifyWhere."'";
else
$SpecifyWhere = "LIKE '%".$SpecifyWhere."%'";
// MINIMIZADOR
if ($_GET['minimize'] == 'on')
{
$Minimize = "&minimize=on";
$parse['minimize'] = 'checked = "checked"';
$parse['diisplaay'] = "none";
}
if ($_GET)
{
$ArrayUsers = array("users", "vacation", "admin", "inactives", "online");
$ArrayPlanets = array("planet", "moon", "p_connect");
$ArrayBanned = array("banned");
$ArrayAlliance = array("alliance");
if (in_array($SearchFile, $ArrayUsers))
{
$Table = "users";
$NameLang = $lang['se_search_users'];
$SpecifyItems = "id,username,email_2,onlinetime,register_time,user_lastip,authlevel,bana,urlaubs_modus";
$SName = $lang['se_input_userss'];
if ($SearchFile == "vacation"){
$SpecialSpecify = "AND urlaubs_modus = '1'";
$SName = $lang['se_input_vacatii'];}
if ($SearchFile == "online"){
$SpecialSpecify = "AND onlinetime >= '".(time() - 15 * 60)."'";
$SName = $lang['se_input_connect'];}
if ($SearchFile == "inactives"){
$SpecialSpecify = "AND onlinetime < '".(time() - 60 * 60 * 24 * 7)."'";
$SName = $lang['se_input_inact'];}
if ($SearchFile == "admin"){
$SpecialSpecify = "AND authlevel <= '".$user['authlevel']."' AND authlevel > '0'";
$SName = $lang['se_input_admm'];}
(($SearchFor == "name") ? $WhereItem = "WHERE username" : $WhereItem = "WHERE id");
$ArrayOSec = array("id", "username", "email_2", "onlinetime", "register_time", "user_lastip", "authlevel", "bana", "urlaubs_modus");
$Array0SecCount = count($ArrayOSec);
for ($OrderNum = 0; $OrderNum < $Array0SecCount; $OrderNum++)
$OrderBYParse .= '<option value="'.$ArrayOSec[$OrderNum].'"'.(($Order == $ArrayOSec[$OrderNum]) ? " selected": "").'>'.$lang['se_search_users'][$OrderNum].'</option>';
}
elseif (in_array($SearchFile, $ArrayPlanets))
{
$Table = "planets";
$TableUsers = "2";
$NameLang = $lang['se_search_planets'];
$SpecifyItems = "id,name,id_owner,last_update,galaxy,system,planet";
if ($SearchFile == "planet"){
$SpecialSpecify = "AND planet_type = '1'";
$SName = $lang['se_input_planett'];}
if ($SearchFile == "moon"){
$SpecialSpecify = "AND planet_type = '3'";
$SName = $lang['se_input_moonn'];}
if ($SearchFile == "p_connect"){
$SpecialSpecify = "AND last_update >= '".(time() - 60 * 60)."'";
$SName = $lang['se_input_act_pla'];}
(($SearchFor == "name") ? $WhereItem = "WHERE name" : $WhereItem = "WHERE id");
$ArrayOSec = array("id", "name", "id_owner", "last_update", "galaxy", "system", "planet");
$Array0SecCount = count($ArrayOSec);
for ($OrderNum = 0; $OrderNum < $Array0SecCount; $OrderNum++)
$OrderBYParse .= '<option value="'.$ArrayOSec[$OrderNum].'"'.(($Order == $ArrayOSec[$OrderNum]) ? " selected": "").'>'.$lang['se_search_planets'][$OrderNum].'</option>';
}
elseif (in_array($SearchFile, $ArrayBanned))
{
$Table = "banned";
$NameLang = $lang['se_search_banned'];
$SpecifyItems = "id,who,time,longer,theme,author";
$SName = $lang['se_input_susss'];
(($SearchFor == "name") ? $WhereItem = "WHERE who" : $WhereItem = "WHERE id");
$ArrayOSec = array("id", "who", "time", "longer", "theme", "author");
$Array0SecCount = count($ArrayOSec);
for ($OrderNum = 0; $OrderNum < $Array0SecCount; $OrderNum++)
$OrderBYParse .= '<option value="'.$ArrayOSec[$OrderNum].'"'.(($Order == $ArrayOSec[$OrderNum]) ? " selected": "").'>'.$lang['se_search_banned'][$OrderNum].'</option>';
}
elseif (in_array($SearchFile, $ArrayAlliance))
{
$Table = "alliance";
$NameLang = $lang['se_search_alliance'];
$SpecifyItems = "id,ally_name,ally_tag,ally_owner,ally_register_time,ally_members";
$SName = $lang['se_input_allyy'];
(($SearchFor == "name") ? $WhereItem = "WHERE ally_name" : $WhereItem = "WHERE id");
$ArrayOSec = array("id", "ally_name", "ally_tag", "ally_owner", "ally_register_time", "ally_members");
$Array0SecCount = count($ArrayOSec);
for ($OrderNum = 0; $OrderNum < $Array0SecCount; $OrderNum++)
$OrderBYParse .= '<option value="'.$ArrayOSec[$OrderNum].'"'.(($Order == $ArrayOSec[$OrderNum]) ? " selected": "").'>'.$lang['se_search_alliance'][$OrderNum].'</option>';
}
$parse['ORDER_BY_TITLE'] =
"<th>
".$lang['se_search_order']."
</th>";
$parse['ORDER_BY'] =
"<th>
<select name="key_order">
".$OrderBYParse."
</select>
</th>";
$parse['TPL_ROW'] = MyCrazyLittleSearch($SpecifyItems, $WhereItem, $SpecifyWhere, $SpecialSpecify, $Order, $OrderBY, $Limit, $Table, $Page, $NameLang, $ArrayOSec, $Minimize, $SName);
}
$Micro = explode(" ", microtime());
$Time_Two = (($Micro[1] + $Micro[0]) - $Time_One);
$parse['TimeToCreatePage'] = $lang['se_time_of_page'].$Time_Two." ".$lang['time_seconds'];
display(parsetemplate(gettemplate('adm/SearchInDBBody'), $parse), false, '', true, false);
?>