[Req] Admins Module

knif3r

Active Member
Joined
Jan 29, 2012
Messages
349
Reaction score
97
Много се извинявам предполагам, че вече има такава тема но не я намирам в търсачката.. Трябва ми admin.php и по-точно при Server Staff менюто да ми излиза колко време е минало от последното влизане на ГМ/Админите...
Предварително ви благодаря :)
 
Last edited:
От на дамян уеба(неговите са заслугите)
Code:
<div align="center">
						<table border="0"  cellspacing="0" cellpadding="0">

							<tr>
								<td>
			<font size="2" face="Verdana" style="font-size: 10pt">
			<?
require("config.php");
$time=time();
$query = "Select Name,adminlevel,color,customcolor from Character where ctlcode ='8' and name !='Damian' order by adminlevel desc,color desc";
$result = mssql_query($query);
echo '<TABLE border=0 cellPadding=2 cellSpacing=2 align=center>
<br><span class="normal_text"><b>Администратори</b></span>
<br></br>
<table id="mutable" width="540" class="alt5" height=30 border="1" bordercolor="333333" cellpadding="0" cellspacing="1" align=center>                
<tr>
<td align=left><font color=#666666><center>ID</center></font></td>
<td align=left><font color=#666666><center>Name</center></font></td>
<td align=left><font color=#666666><center>Rank</center></font></td>
<td align=left><font color=#666666><center>Status</center></font></td>
<td align=left><font color=#666666><center>Online Before</center></font></td>
<td align=left><font color=#666666><center>Skype</center></font></td>
</tr>';


if(!char_online('Damian')){ $status[0] ='<img src=./images/Offline.gif width=12 height=12 >';
}
if(char_online('Damian')){ $status[0] ='<img src=./images/Online.gif width=12 height=12 >'; 
}
echo "
<tr>
<td align=left><font size=1 color=#666666><b><center>1</center></b></font></td>
<td class=link_chars align=left><center><b><font size='1'>Damian</center></b></font></a></div></td>
<td align=left><font size=1 color=#005825><b><center>Собственик на сървъра</center></b></td>
<td align=left><font size=1 ><b><center>$status[0]</center></b></td>
<td align=left><font size=1 ><b><center> - </center></b></td>
<td align=left><font size=1 ><b><center><a href='skype:damian0328'>damian0328</a></center></b></td>
</tr>
";



$rank = 1;
for($i=0;$i < mssql_num_rows($result);++$i)
{

$row = mssql_fetch_row($result);
if($row[1]==-1){$row[1]='GameMaster';}
elseif($row[1]==0){$row[1]='GameMaster';}
else{$row[1]="GameMaster";}

if($row[3]!="0")$color="#$row[3]"; 
else{
if($row[2]==0){$color="#666666";}
if($row[2]==1){$color="Red";}
if($row[2]==2){$color="Blue";}
if($row[2]==3){$color="Yellow";}
if($row[2]==4){$color="Orange";}
if($row[2]==5){$color="Green";}
if($row[2]==6){$color="White";}
if($row[2]==7){$color="Purple";}
if($row[2]==8){$color="Pink";}
}
$account=mssql_fetch_row(mssql_query("select accountid from character where name='$row[0]'"));

$rank = 1+$rank;

$status_check="Select ConnectStat from MEMB_STAT where memb___id='$account[0]'";
$status_reults = mssql_query($status_check);
$status = mssql_fetch_row($status_reults);
$skype=mssql_fetch_row(mssql_query("select skype from memb_info where memb___id='$account[0]'"));
$prava="<font size=1 color=$color><b><center>$row[1]</center></b>";


if(!char_online($row[0])){ $status[0] ='<img src=./images/Offline.gif width=12 height=12 >'; $online_before=online_before($account[0]);
}
if(char_online($row[0])){ $status[0] ='<img src=./images/Online.gif width=12 height=12 >'; $online_before="Онлайн сега";
}

echo "
<tr>
<td align=left><font size=1 color=#666666><b><center>$rank</center></b></font></td>
<td class=link_chars align=left><center><b><font size='1'>$row[0]</center></b></font></a></div></td>
<td align=left>$prava</td>
<td align=left><font size=1 ><b><center>$status[0]</center></b></td>
<td align=left><font size=1 ><b><center>$online_before</center></b></td>
<td align=left><font size=1 ><b><center><a href='skype:$skype[0]'>$skype[0]</a></center></b></td>
</tr>
";
}

?>
</table>
</td>
							</tr>
						</table>
						</div>
	<table width="100" align="center"><tr><td><br><br><font color=white style="font-size: 10pt; font-weight: 700"><? echo text_legend; ?>:</font></td></tr></table>
Query (сложи това в Query Analizer)
Code:
CREATE TABLE [dbo].[admins] (
	[account] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
	[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
	[dstm] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
	[realtm] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
	
) ON [PRIMARY]
 
  • Like
Reactions: knif3r
Мерси Много :)

Благодариш, ама явно не си го използвал още в кода липсва една функция с име online_before() без нея няма да ти тръгне скрипта или освен, ако не я премахнеш, но тогава няма да знаеш преди колко време е имало ADMIN/GM на линия.
 
  • Like
Reactions: Advanter and knif3r
Прав си още не съм го изпробвал но това е защото работя върху нов сайт и още не съм стигнал до Staff List но ще съм ти благодарен ако едитнеш кода защото хич не ги вдявам тези неща...
 
http://darksteam.net/104791-post10.html
като се предполага, че в config.php трябва да имаш връзка с mssql сървъра
и ми е чудно как работиш върху "нов сайт" след като хич не ги вдяваш тея неща, ама твоя си работа :D
 
  • Like
Reactions: knif3r and mi7aka
Пробвах го ама нещо не бачка :(
 
function days($y,$m){
switch($m){
case 1: $d=31; break;
case 2: $d=28+vis($y); break;
case 3: $d=31; break;
case 4: $d=30; break;
case 5: $d=31; break;
case 6: $d=30; break;
case 7: $d=31; break;
case 8: $d=31; break;
case 9: $d=30; break;
case 10: $d=31; break;
case 11: $d=30; break;
case 12: $d=31; break;
}
return $d;
}

function days_from_beginning($y,$m,$d){
for($i=1;$i<$m;$i++)$days+=days($y,$i);
return $days+$d;
}

function days_between($y,$m,$d,$y_d,$m_d,$d_d){
for($i=$y_d;$i<$y;$i++)$days+=365+vis($i);
return $days-days_from_beginning($y_d,$m_d,$d_d)+days_from_beginning($y,$m,$d);
}

function online_before($account){
require "config.php";
$row=mssql_fetch_row(mssql_query("select disconnecttm from memb_stat where memb___id='$account'"));
$row[0]=str_replace(" "," ",$row[0]);
$result=explode(" ",$row[0]);
switch($result[1]){
case Jan: $result[1]=1; break;
case Feb: $result[1]=2; break;
case Mar: $result[1]=3; break;
case Apr: $result[1]=4; break;
case May: $result[1]=5; break;
case Jun: $result[1]=6; break;
case Jul: $result[1]=7; break;
case Aug: $result[1]=8; break;
case Sep: $result[1]=9; break;
case Oct: $result[1]=10; break;
case Nov: $result[1]=11; break;
case Dec: $result[1]=12; break;
}

$result2=explode(":",$result[3]);
$m_d=$result[1];
$y_d=$result[2];
$d_d=$result[0];
$h_d=$result2[0];
$i_d=$result2[1];
$m=date("m");
$y=date("Y");
$d=date("d");
$h=date("H");
$i=date("i");
$minuti=$h*60+$i-$h_d*60-$i_d;
$dni=days_between($y,$m,$d,$y_d,$m_d,$d_d);
if($minuti<0){$dni-=1;$minuti=1440-$h_d*60-$i_d+$h*60+$i;}

if((int)($minuti/60)>0){if((int)($minuti/60)==1)$hours="".(int)($minuti/60)." час";else $hours="".(int)($minuti/60)." часа";} else $hours="";
if($dni>0){
if($dni==1)$days="$dni ден";
else $days="$dni дни";}else $days="";
if($minuti%60>0){if($minuti%60==1)$minutes="".($minuti%60)." минута"; else $minutes="".($minuti%60)." минути";} else $minutes="";
return "$days $hours $minutes";


някой може ли да каже нещо повече за тоя код как що каде ?
 
Това са ти функциите преди колко време е бил онлайн акаунта. Можеш да ги сложиш най-отгоре във файла admins.php примерно. Другият вариант е да си ги сложиш в includes.php и после в admins.php да напишеш
include "functions.php";