Access Editor

Status
Zamknięty.

Karpio

Advanced User
Zarejestrowany
Dołączył
Kwiecień 11, 2008
Posty
369
Liczba reakcji
57
Witam,
Dzisiaj (za pomys?em GarQet'a) napisa?em skrypt umo?liwiaj?cy adminowi OTS zmieni? Rang? gracza (Player do God).

Rang? zmieniamy poprzez accmaker (by Gesior)

A wi?c zaczynamy:
tworzymy plik: access.php i wklejamy do niego:
PHP:
<?php
$groups = array(1 => "Player", 2 => "Tutor", 3 => "Senior Tutor", 4 => "Game Master", 5 => "Community Manager", 6 => "God");
$check = false;

if(!$logged)
	return $main_content = 'Musisz si? zalogowa?.';

if($account_logged->getCustomField("group_id") < $config['site']['access_admin_panel'])
	return $main_content = 'Nie masz uprawnie?.';


if(isset($_POST["submit"]))
{
	$player = addslashes(ucwords(strtolower(trim($_POST['nick']))));
	$spr = $SQL->query("SELECT * FROM players WHERE name='".$player."' LIMIT 1;")->fetch();
	if(!$spr)
		$main_content .= '<span style="color: red; font-weight: bold;">Nie ma takiego gracza.</span>';
	elseif($spr["online"] == 1)
		$main_content .= '<span style="color: red; font-weight: bold;">Ten gracz jest obecnie zalogowany.</span>';
	else
		{
		$SQL->query("UPDATE players SET group_id='".(int) $_POST["group"]."' WHERE name='".$spr["name"]."' LIMIT 1;");
		$main_content .= 'Gracz <i>'.$spr["name"].'</i> ma teraz rang? <i>'.$groups[((int) $_POST["group"])].'</i>.';
		$main_content .= '<br /><a href="javascript:history.back(1);">Powr?t</a>';
		$check = true;
		}
}
if($check == false)
{
$main_content .= '<form action="index.php?subtopic=access&action=set" method="post"><table><tr><td>Nazwa postaci:</td><td><input type="text" name="nick" /></td></tr>
<tr><td>Wybierz now? rang?:</td><td><select name="group">';
foreach($groups as $group_id => $group_name)
	$main_content .= '<option value="'.$group_id.'">'.$group_name.'</option>';
$main_content .= '</select></tr></table><br /><input type="submit" name="submit" value="Nadaj uprawnienia" /></form>';

}
$main_content .= '<br /><span style="float: right;">Code by <a target="_blank" href="http://tibia.net.pl/members/karpio.html">Karpio</a>.</span>';
?>

teraz do index.php po:
PHP:
case "polls";
		$topic = "Ankiety";
		$subtopic = "polls";
		include("polls.php");
	break;

dodajemy to:
PHP:
case "access";
		$subtopic = "access";
		$topic = "Access Editor";
		include("access.php");
	break;

Teraz wystarczy wej?? na strone http://TWOJEIP/?subtopic=access i mo?emy nadawa? rangi (tylko wylogowanym graczom).

Pzdr i prosz? o komentarze :)
 
Odp: Access Editor

Niepotrzebnie pisane zapytania do bazy danych. Dlaczego po prostu nie skorzystasz z prostych metod Pot'a?

Kod:
$player = $player->find($_POST['nick']);
if($player->isLoaded() && $player->isOnline() == 1)
{
$player->setGroup($_POST["group"]);
$player->save();
$main_content .= "Udalo sie";
}
else
{
$main_content = "Gracz nie znaleziony lub nie jest zalogowany."
}

Kod bardzo dobry tylko, tak jak m?wi?, jest bardziej czytelny je?eli korzysta si? z POT'a ;)
 
Status
Zamknięty.
Back
Do góry