<?php
$shipments = json_encode(json_decode(file_get_contents("https://www.site.ru/api.php?query=getconsole&token=token"), true));
echo $shipments;
?>
<?php
# Source RCON by William Ruckman (http://ruckman.net)
require_once("rcon_code.php");
# Set Defaults
$OUTPUT = "privet";
# GET and SEND Post data
if ($_POST)
{
$IP = $_POST["IP"] = "ip iz bd";
$PORT = $_POST["PORT"] = "port iz bd";
$PASSWORD = $_POST["PASSWORD"] = "rcon pass";
$COMMAND = $_POST["COMMAND"];
$srcds_rcon = new srcds_rcon();
$OUTPUT = $srcds_rcon->rcon_command($IP, $PORT, $PASSWORD, $COMMAND);
}
# Display Form
print ("
<!doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
</head>
<body>
<form method='post' id='ajax_form' name'CUSTOMCOMMAND' action='/' >
<textarea rows='30' cols='110'>$OUTPUT</textarea> <br>
<input type='text' name='COMMAND' />
<input type='submit' id='btn' value='Отправить'><br>
</form>
<div id='result_form'><div>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js'></script>
<script src='ajax.js'></script>
</body>
</html>
");
?>
<?php
define('PACKET_SIZE', '1400');
define('SERVERQUERY_INFO', "\xFF\xFF\xFF\xFFTSource Engine Query");
define ('REPLY_INFO', "\x49");
define('SERVERQUERY_GETCHALLENGE', "\xFF\xFF\xFF\xFF\x57");
define ('REPLY_GETCHALLENGE', "\x41");
define('SERVERDATA_AUTH', 3) ;
define ('SERVERDATA_EXECCOMMAND', 2) ;
class srcds_rcon
{
private function getByte(&$string)
{
$data = substr($string, 0, 1);
$string = substr($string, 1);
$data = unpack('Cvalue', $data);
return $data['value'];
}
private function getShortUnsigned(&$string)
{
$data = substr($string, 0, 2);
$string = substr($string, 2);
$data = unpack('nvalue', $data);
return $data['value'];
}
private function getShortSigned(&$string)
{
$data = substr($string, 0, 2);
$string = substr($string, 2);
$data = unpack('svalue', $data);
return $data['value'];
}
private function getLong(&$string)
{
$data = substr($string, 0, 4);
$string = substr($string, 4);
$data = unpack('Vvalue', $data);
return $data['value'];
}
private function getFloat(&$string)
{
$data = substr($string, 0, 4);
$string = substr($string, 4);
$array = unpack("fvalue", $data);
return $array['value'];
}
private function getString(&$string)
{
$data = "";
$byte = substr($string, 0, 1);
$string = substr($string, 1);
while (ord($byte) != "0")
{
$data .= $byte;
$byte = substr($string, 0, 1);
$string = substr($string, 1);
}
return $data;
}
public function rcon_command($ip, $port, $password, $command)
{
$requestId = 1;
$s2 = '';
$socket = @fsockopen ('tcp://'.$ip, $port, $errno, $errstr, 30);
if (!$socket)
return 'Unable to connect!';
$data = pack("VV", $requestId, SERVERDATA_AUTH).$password.chr(0).$s2.chr(0);
$data = pack("V",strlen($data)).$data;
fwrite ($socket, $data, strlen($data));
$requestId++ ;
$junk = fread ($socket, PACKET_SIZE);
$string = fread ($socket, PACKET_SIZE);
$size = $this->getLong($string);
$id = $this->getLong($string) ;
if ($id == -1)
{
return 'Authentication Failed!';
}
$data = pack ("VV", $requestId, SERVERDATA_EXECCOMMAND).$command.chr(0).$s2.chr(0) ;
$data = pack ("V", strlen ($data)).$data ;
fwrite ($socket, $data, strlen($data)) ;
$requestId++ ;
$i = 0 ;
$text = '' ;
while ($string = fread($socket, 4))
{
$info[$i]['size'] = $this->getLong($string) ;
$string = fread($socket, $info[$i]['size']) ;
$info[$i]['id'] = $this->getLong ($string) ;
$info[$i]['type'] = $this->getLong ($string) ;
$info[$i]['s1'] = $this->getString ($string) ;
$info[$i]['s2'] = $this->getString ($string) ;
$text .= $info[$i]['s1'];
$i++ ;
return $text;
}
}
}
?>
<?php
if (isset($_POST["CUSTOMCOMMAND"]) ) {
// Формируем массив для JSON ответа
$result = array(
'CUSTOMCOMMAND' => $_POST["COMMAND"],
);
// Переводим массив в JSON
echo json_encode($result);
}
?>
/* Article FructCode.com */
$( document ).ready(function() {
$("#btn").click(
function(){
sendAjaxForm('result_form', 'ajax_form', 'action_ajax_form.php');
return false;
$("#btn").click(
function(event){
event.preventDefault();
}
);
});
function sendAjaxForm(result_form, ajax_form, url) {
$.ajax({
url: url, //url страницы (action_ajax_form.php)
type: "POST", //метод отправки
dataType: "html", //формат данных
data: $("#"+ajax_form).serialize(), // Сеарилизуем объект
success: function(response) { //Данные отправлены успешно
result = $.parseJSON(response);
$('#result_form').html('Имя: '+result.CUSTOMCOMMAND);
},
error: function(response) { // Данные не отправлены
$('#result_form').html('Ошибка. Данные не отправлены.');
}
});
}
/* Article FructCode.com */
$( document ).ready(function() {
$("#btn").click(
function(){
sendAjaxForm('result_form', 'ajax_form', 'action_ajax_form.php');
return false;
}
);
});
function sendAjaxForm(result_form, ajax_form, url) {
$.ajax({
url: url, //url страницы (action_ajax_form.php)
type: "POST", //метод отправки
dataType: "html", //формат данных
data: $("#"+ajax_form).serialize(), // Сеарилизуем объект
success: function(response) { //Данные отправлены успешно
result = $.parseJSON(response);
$('#result_form').html('Имя: '+result.CUSTOMCOMMAND);
},
error: function(response) { // Данные не отправлены
$('#result_form').html('Ошибка. Данные не отправлены.');
}
});
}
<?php
if (isset($_POST["CUSTOMCOMMAND"]) ) {
// Формируем массив для JSON ответа
$result = array(
'CUSTOMCOMMAND' => $_POST["CUSTOMCOMMAND"],
);
// Переводим массив в JSON
echo json_encode($result);
}
?>
<!doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>Article FRUCTCODE.COM. How to send html-form with Ajax.</title>
<meta name='description' content='Article FRUCTCODE.COM. How to send ajax form.'>
<meta name='author' content='fructcode.com'>
</head>
<body>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js'></script>
<script src='ajax.js'></script>
</head>
<body>
<form method='post' id='ajax_form' name'CUSTOMCOMMAND' action='/' >
<textarea rows='30' cols='110'>$OUTPUT</textarea>
<input type='text' name='CUSTOMCOMMAND' placeholder='NAME' />
<input type='button' id='btn' value='No' /><br>
<input type='text' name='COMMAND' />
<input type='submit' id='btn' value='yes'><br>
</form>
<br>
<div id='result_form'><div>
</body>
</html>
print ("<html>
<head>
<title>Source RCON by William Ruckman (http://ruckman.net)</title>
<link rel='stylesheet' type='text/css' href='style.css'>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js'></script>
<script>
/* Article FructCode.com */
$( document ).ready(function() {
$('#btn').click(
function(){
sendAjaxForm('OUTPUT', 'consoleform', 'consoleform.php');
return false;
}
);
});
function sendAjaxForm(OUTPUT, consoleform, url) {
$.ajax({
url: url, //url страницы (consoleform.php)
type: 'POST', //метод отправки
dataType: 'html', //формат данных
data: $('#'+consoleform).serialize(), // Сеарилизуем объект
success: function(response) { //Данные отправлены успешно
result = $.parseJSON(response);
$('#OUTPUT').html('Имя: '+result.CUSTOMCOMMAND);
},
error: function(response) { // Данные не отправлены
$('#OUTPUT').html('Ошибка. Данные не отправлены.');
}
});
}
</script>
<form method='POST' action='' id='consoleform' name='CUSTOMCOMMAND'>
<textarea rows='30' cols='110' id='result_form'>$OUTPUT #OUTPUT</textarea>
<input type='text' name='COMMAND' />
<input class='consoleform_btn' tabindex='4' type='submit' name='sndbtn' value='Отправить' />
</form>
");
?>
Делаю bbcode не через панель администраторскую, ибо она не дает тех функций что нужно, а через сам движок, на примере уже встроенных bbcode по типу url, flash
Вот что находится в bbcode.php
по дизайну и прочее не менял пока, просто добавил свой ббкод и проверил на работоспособность.
Пытался сам сделать меняя код " . $user->lang['IMAGE'] " но у меня ничего не вышло.