Holod
Участник
- Сообщения
- 326
- Реакции
- 24
Магазин активировали?Reset написал(а):Да там тупо написано что магазин платежи не принимает, но это походу у паера загон по моему магазину потому что я даже делаю тестирование магазина и он тестовый платёж в такую же хрень вгоняет. Отписал им в поддержку, вот жду ответ
Reset
Участник
- Сообщения
- 212
- Реакции
- 16
да)Holod написал(а):Магазин активировали?
Holod
Участник
- Сообщения
- 326
- Реакции
- 24
Тогда может не туда мерчант идёт, проверь. site.ru/payeer_result.phpReset написал(а):
Reset
Участник
- Сообщения
- 212
- Реакции
- 16
Viktor
Участник
- Сообщения
- 734
- Реакции
- 113
Holod
Участник
- Сообщения
- 326
- Реакции
- 24
При пополнении баланса нету, есть при покупке животных/загонов и так далее.Viktor написал(а):Народ, подскажите, есть ли реферальные проценты при пополнении баланса рефералом или нет? В скрипте не могу найти где это прописано.
Viktor
Участник
- Сообщения
- 734
- Реакции
- 113
Так надо бы сделать. А то хитрицы рефералку накручивают, мульты регистрируют и на кредитные деньги покупают животных, а рефералку на вывод ставят без собственных вложений. Надо сделать рефералку с пополнения именно, и убрать нахрен с покупок рефку.Holod написал(а):При пополнении баланса нету, есть при покупке животных/загонов и так далее.
mixey06
Участник
- Сообщения
- 4
- Реакции
- 0
Reset
Участник
- Сообщения
- 212
- Реакции
- 16
mixey06
Участник
- Сообщения
- 4
- Реакции
- 0
На этом скрипте ферм очень мало ты что то путаешь а вот скрипт фруктовой фермы очень много даже перебор потамучто такой скрипт кому не лень ставят каждый школьник а на скрипте ферма соседи максимум только насчитала 10 токReset написал(а):Нормальный рабочий скрипт, есть небольшие косячки конечно, но ферму впринципе уже запускать смысла нет, уж очень их много и всё одно и тоже, разве что какуюто бомбу придумать...
Holod
Участник
- Сообщения
- 326
- Реакции
- 24
Верно, запустить можете, покапаться. Но открывать ферму, вообще не рекомендую!!!mixey06 написал(а):Скрипт на сколько я знаю с багами, запускать его темы наверное нет
AA21AA
Участник
- Сообщения
- 24
- Реакции
- 1
Все баги имеют смысл правится.
Да и не так уж их много было. За трое суток все исправил, с перекуром на сон и вечерние пострелушки World of Tanks.
Осталось на дизом чутка поколдовать, а то это раскрывающееся и самозакрывающее меню прям бесит.
Да и не так уж их много было. За трое суток все исправил, с перекуром на сон и вечерние пострелушки World of Tanks.
Осталось на дизом чутка поколдовать, а то это раскрывающееся и самозакрывающее меню прям бесит.
Конкурентов боитесь? Или новую версию плохо берут?Holod написал(а):Верно, запустить можете, покапаться. Но открывать ферму, вообще не рекомендую!!!
Помогите почему у меня в блинной фабрики продукты на мину уходят особенно тесто
Код:
<?php
session_start();
error_reporting (1);
$login = $_SESSION['login'];
$usid = $_SESSION['id'];
header('Content-type: application/json');
Header("Content-Type: text/html;charset=UTF-8");
require($_SERVER['DOCUMENT_ROOT']."/data/conn_file.php");
require($_SERVER['DOCUMENT_ROOT']."/data/func.php");
if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' ) { exit();}
if($_POST['func'] == 'success') {
if(!isset($_SESSION['id'])) {echo json_encode($result = array("typeu" => "error", "message" => "Сессия устарела! Обновите страницу!")); exit();}
$pole = valideint($_POST["pole"]);
$semena = valideint($_POST["type"]);
//цены
$sql = mysql_query("SELECT `f1`, `f2`, `f3` FROM `tb_price`") or die(mysql_error());
$row = mysql_fetch_assoc($sql);
switch($semena) {
case 1:
$price_s = $row["f1"];
break;
case 2:
$price_s = $row["f2"];
break;
case 3:
$price_s = $row["f3"];
break;
default:
$price_s = $row["f1"];
break;
}
unset($sql, $row);
// данные пользователя
$sql = mysql_query("SELECT `money`, `ref_id`, `level`, `energy`, `testo_per`, `farsh_per`, `sir_per`, `smetana_per`, `varezhki_per` FROM `tb_users` WHERE `username` = '$login'") or die(mysql_error());
$row = mysql_fetch_assoc($sql);
$money = $row["money"];
$ref_id = $row['ref_id'];
$level = $row["level"];
$energy = $row['energy'];
$yaco = $row['testo_per'];
$farsh = $row['farsh_per'];
$sir = $row['sir_per'];
$smet = $row['smetana_per'];
$varezh = $row['varezhki_per'];
unset($sql, $row);
$date = time();
$ener = mysql_fetch_assoc(mysql_query("SELECT * FROM tb_energy WHERE id = 1")) or die(mysql_error());
// данные поля
$sql = mysql_query("SELECT * FROM `tb_fabrika_blin` WHERE `num` = '$pole' AND `username` = '$login'") or die(mysql_error());
if(mysql_num_rows($sql) > 0) {
$row = mysql_fetch_assoc($sql);
$fin_time = time_type_fab_b($row["type"]);
$endtime = ($row["time"]+$fin_time) - time();
// если поле есть то обробатывает
if($row["time"] == 0) {
// засажываем поле
$fin_time = time_type_fab_b($semena);
switch($row["type"]) {
case 1:
$tip_sem1 = "testo_per";
$tip_sem2 = "farsh_per";
$kol1 = 200;
$kol2 = 100;
$kol_sem_user1 = $testo;
$kol_sem_user2 = $farsh;
break;
case 2:
$tip_sem1 = "testo_per";
$tip_sem2 = "sir_per";
$kol1 = 200;
$kol2 = 100;
$kol_sem_user1 = $testo;
$kol_sem_user2 = $sir;
break;
case 3:
$tip_sem1 = "testo_per";
$tip_sem2 = "smetana_per";
$kol1 = 200;
$kol2 = 100;
$kol_sem_user1 = $testo;
$kol_sem_user2 = $smet;
break;
}
//Энергия и опыт за установку фабрики а так же необходимые продукты
switch($row["type"]) {
case 1:
$opit1 = $ener['p43'];
$ener1 = $ener['p16'];
break;
case 2:
$opit1 = $ener['p44'];
$ener1 = $ener['p17'];
break;
case 3:
$opit1 = $ener['p45'];
$ener1 = $ener['p18'];
break;
}
if($energy < 1) { echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно энергии! Покушайте блинчик!")); exit();}
if($kol_sem_user1 < $kol1 and $kol_sem_user2 < $kol2) { echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно продукции для переработки!")); exit();}
mysql_query("UPDATE `tb_users` SET `$tip_sem1` = `$tip_sem1` - '$kol1', `$tip_sem2` = `$tip_sem2` - '$kol2', energy = energy - '$ener1', `reyting` = `reyting` + '$opit1' WHERE `username` = '$login'") or die(mysql_error());
mysql_query("UPDATE `tb_fabrika_blin` SET `time` = '".time()."' WHERE `num` = '$pole' AND `username` = '$login'") or die(mysql_error());
mysql_query("INSERT INTO tb_history (user_id, summa, date, comment, type) VALUES ('$usid', '0', '$date', 'Поставил блинчики на переработку', 'fabrika_blincik')") or die(mysql_error());
echo json_encode($result = array("typeu" => "success", "typeclick" => "posadil", "type" => $semena, "id" => $pole, "message" => "Вы поставили продукты на переработку"));exit();
}elseif($row["time"] > 0 and $row["time"] > (time()-$fin_time)) {
switch($row["type"]) {
case 1:
$tip_sem11 = "мясом";
break;
case 2:
$tip_sem11 = "сыром";
break;
case 3:
$tip_sem11 = "сметаной";
break;
}
// время до сбора урожая
$endtime = ($row["time"]+$fin_time) - time();
echo json_encode($result = array("typeu" => "none", "message" => "Перерабатываются блинчики с ".$tip_sem11."! <span id='timer_$pole'></span><script type='text/javascript'>pole_timer($endtime, 'timer_$pole');</script>"));exit();
}elseif($row["time"] <= (time()-$fin_time)) {
switch($row['type']) {
case 1:
$sbor = 'blin_myaso_by';
$kol_sbor = 100;
break;
case 2:
$sbor = 'blin_sir_by';
$kol_sbor = 100;
break;
case 3:
$sbor = 'blin_smetana_by';
$kol_sbor = 100;
break;
default:
$sbor = 'blin_myaso_by';
$kol_sbor = 100;
break;
}
switch($row["type"]) {
case 1: $tip_sem12 = "мясом"; break;
case 2: $tip_sem12 = "сыром"; break;
case 3: $tip_sem12 = "сметаной"; break;
}
//Энергия и опыт за установку фабрики а так же необходимые продукты
switch($row["type"]) {
case 1:
$opit2 = $ener['p52'];
$ener2 = $ener['p25'];
$varez = 2;
break;
case 2:
$opit2 = $ener['p53'];
$ener2 = $ener['p26'];
$varez = 5;
break;
case 3:
$opit2 = $ener['p54'];
$ener2 = $ener['p27'];
$varez = 10;
break;
}
if($varezh < $varez) { echo json_encode($result = array("typeu" => "error", "message" => "Для сбора необходимы варежки!")); exit();}
if($energy < $ener2) { echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно энергии! Покушайте блинчик!")); exit();}
mysql_query("UPDATE `tb_users` SET `$sbor` = `$sbor` + '$kol_sbor', energy = energy - '$ener2', `reyting` = `reyting` + '$opit2', `varezhki_per` = `varezhki_per` - '$varez' WHERE `username` = '$login'") or die(mysql_error());
mysql_query("UPDATE `tb_fabrika_blin` SET `time` = '0' WHERE `num` = '$pole' AND `username` = '$login'") or die(mysql_error());
mysql_query("INSERT INTO tb_history (user_id, summa, date, comment, type) VALUES ('$usid', '0', '$date', 'Собрал блинчики $tip_sem12', 'fabrika_blincik')") or die(mysql_error());
echo json_encode($result = array("typeu" => "success", "typeclick" => "sobrat", "type" => $row['type'], "message" => "Поздравляем Вы собрали блинчики с ".$tip_sem12.""));exit();exit();
}
// если завода нет то покупаем
} else {
switch($semena) {
case 1:
$op = 30;
$ener = 100;
$opit = 100;
break;
case 2:
$op = 35;
$ener = 100;
$opit = 100;
break;
case 3:
$op = 40;
$ener = 100;
$opit = 100;
break;
}
if($level >= $op) {
if($energy < $ener) { echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно энергии! Покушайте блинчик!")); exit();}
if($money < $price_s){ echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно денег на счету"));exit();}
switch($semena) {
case 1: $zav = 'мясом'; break;
case 2: $zav = 'сыром'; break;
case 3: $zav = 'сметаной'; break;
}
mysql_query("INSERT INTO `tb_fabrika_blin` (`username`, `num`, `type`, `time`, `udob`, `pay`) VALUES ('$login', '$pole', '$semena', '0', '0', '1') ") or die(mysql_error());
mysql_query("UPDATE `tb_users` SET `money` = `money` - '$price_s', energy = energy - '$ener', `reyting` = `reyting` + '$opit' WHERE `username` = '$login'") or die(mysql_error());
$ref_sum = $price_s * 0.1;
mysql_query("UPDATE `tb_users` SET `money` = `money` + '$ref_sum' WHERE id = '$ref_id' LIMIT 1") or die(mysql_error());
$rez_lavka = $price_s * 0.01;
$rez = $price_s - ($ref_sum + $rez_lavka);
mysql_query("UPDATE `tb_lavka` SET `rezerv` = `rezerv` + '$rez' WHERE id = 1") or die(mysql_error());
mysql_query("INSERT INTO tb_history (user_id, summa, date, comment, type) VALUES ('$usid', '$price_s', '$date', 'Купил фабррику по переработке блинчиков с $zav', 'fabrika_blincik')") or die(mysql_error());
echo json_encode($result = array("typeu" => "success", "typeclick" => "pole_kupite", "message" => "Поздравляем Вы купили завод по переработке блинчиков с ".$zav.""));exit();
}else{
echo json_encode($result = array("typeu" => "error", "message" => "Рейтинг меньше нужного"));exit();
}
}
} else {echo json_encode($result = array("typeu" => "error", "message" => "Ошибочка!!!"));exit(); }
if (!function_exists('json_encode')) {
function json_encode($value)
{
if (is_int($value)) {
return (string)$value;
} elseif (is_string($value)) {
$value = str_replace(array('\\', '/', '"', "\r", "\n", "\b", "\f", "\t"),
array('\\\\', '\/', '\"', '\r', '\n', '\b', '\f', '\t'), $value);
$convmap = array(0x80, 0xFFFF, 0, 0xFFFF);
$result = "";
for ($i = mb_strlen($value) - 1; $i >= 0; $i--) {
$mb_char = mb_substr($value, $i, 1);
if (mb_ereg("&#(\\d+);", mb_encode_numericentity($mb_char, $convmap, "UTF-8"), $match)) {
$result = sprintf("\\u%04x", $match[1]) . $result;
} else {
$result = $mb_char . $result;
}
}
return '"' . $result . '"';
} elseif (is_float($value)) {
return str_replace(",", ".", $value);
} elseif (is_null($value)) {
return 'null';
} elseif (is_bool($value)) {
return $value ? 'true' : 'false';
} elseif (is_array($value)) {
$with_keys = false;
$n = count($value);
for ($i = 0, reset($value); $i < $n; $i++, next($value)) {
if (key($value) !== $i) {
$with_keys = true;
break;
}
}
} elseif (is_object($value)) {
$with_keys = true;
} else {
return '';
}
$result = array();
if ($with_keys) {
foreach ($value as $key => $v) {
$result[] = json_encode((string)$key) . ':' . json_encode($v);
}
return '{' . implode(',', $result) . '}';
} else {
foreach ($value as $key => $v) {
$result[] = json_encode($v);
}
return '[' . implode(',', $result) . ']';
}
}
}
?>
GLookin
Участник
- Сообщения
- 296
- Реакции
- 62
Они все у него криво написаны, и везде есть огромное количество багов. Тот, который стоит 25к - не исключение.ZLODEY написал(а):Тот который стоит 25к он чистый и рабочий, его ни кто не станет выкладывать в паблик, а этот скрипт лучше не устанавливать все кому не лень будут ломать сайт, а чистить самому много вермени уйдет в нем файлов много
GLookin
Участник
- Сообщения
- 296
- Реакции
- 62
Яна написал(а):Есть програмисты знающие скипт ферма соседи заплачу за работу
Написал тебе в лс.Яна написал(а):Помогите почему у меня в блинной фабрики продукты на мину уходят особенно тесто
Код:<?php session_start(); error_reporting (1); $login = $_SESSION['login']; $usid = $_SESSION['id']; header('Content-type: application/json'); Header("Content-Type: text/html;charset=UTF-8"); require($_SERVER['DOCUMENT_ROOT']."/data/conn_file.php"); require($_SERVER['DOCUMENT_ROOT']."/data/func.php"); if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' ) { exit();} if($_POST['func'] == 'success') { if(!isset($_SESSION['id'])) {echo json_encode($result = array("typeu" => "error", "message" => "Сессия устарела! Обновите страницу!")); exit();} $pole = valideint($_POST["pole"]); $semena = valideint($_POST["type"]); //цены $sql = mysql_query("SELECT `f1`, `f2`, `f3` FROM `tb_price`") or die(mysql_error()); $row = mysql_fetch_assoc($sql); switch($semena) { case 1: $price_s = $row["f1"]; break; case 2: $price_s = $row["f2"]; break; case 3: $price_s = $row["f3"]; break; default: $price_s = $row["f1"]; break; } unset($sql, $row); // данные пользователя $sql = mysql_query("SELECT `money`, `ref_id`, `level`, `energy`, `testo_per`, `farsh_per`, `sir_per`, `smetana_per`, `varezhki_per` FROM `tb_users` WHERE `username` = '$login'") or die(mysql_error()); $row = mysql_fetch_assoc($sql); $money = $row["money"]; $ref_id = $row['ref_id']; $level = $row["level"]; $energy = $row['energy']; $yaco = $row['testo_per']; $farsh = $row['farsh_per']; $sir = $row['sir_per']; $smet = $row['smetana_per']; $varezh = $row['varezhki_per']; unset($sql, $row); $date = time(); $ener = mysql_fetch_assoc(mysql_query("SELECT * FROM tb_energy WHERE id = 1")) or die(mysql_error()); // данные поля $sql = mysql_query("SELECT * FROM `tb_fabrika_blin` WHERE `num` = '$pole' AND `username` = '$login'") or die(mysql_error()); if(mysql_num_rows($sql) > 0) { $row = mysql_fetch_assoc($sql); $fin_time = time_type_fab_b($row["type"]); $endtime = ($row["time"]+$fin_time) - time(); // если поле есть то обробатывает if($row["time"] == 0) { // засажываем поле $fin_time = time_type_fab_b($semena); switch($row["type"]) { case 1: $tip_sem1 = "testo_per"; $tip_sem2 = "farsh_per"; $kol1 = 200; $kol2 = 100; $kol_sem_user1 = $testo; $kol_sem_user2 = $farsh; break; case 2: $tip_sem1 = "testo_per"; $tip_sem2 = "sir_per"; $kol1 = 200; $kol2 = 100; $kol_sem_user1 = $testo; $kol_sem_user2 = $sir; break; case 3: $tip_sem1 = "testo_per"; $tip_sem2 = "smetana_per"; $kol1 = 200; $kol2 = 100; $kol_sem_user1 = $testo; $kol_sem_user2 = $smet; break; } //Энергия и опыт за установку фабрики а так же необходимые продукты switch($row["type"]) { case 1: $opit1 = $ener['p43']; $ener1 = $ener['p16']; break; case 2: $opit1 = $ener['p44']; $ener1 = $ener['p17']; break; case 3: $opit1 = $ener['p45']; $ener1 = $ener['p18']; break; } if($energy < 1) { echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно энергии! Покушайте блинчик!")); exit();} if($kol_sem_user1 < $kol1 and $kol_sem_user2 < $kol2) { echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно продукции для переработки!")); exit();} mysql_query("UPDATE `tb_users` SET `$tip_sem1` = `$tip_sem1` - '$kol1', `$tip_sem2` = `$tip_sem2` - '$kol2', energy = energy - '$ener1', `reyting` = `reyting` + '$opit1' WHERE `username` = '$login'") or die(mysql_error()); mysql_query("UPDATE `tb_fabrika_blin` SET `time` = '".time()."' WHERE `num` = '$pole' AND `username` = '$login'") or die(mysql_error()); mysql_query("INSERT INTO tb_history (user_id, summa, date, comment, type) VALUES ('$usid', '0', '$date', 'Поставил блинчики на переработку', 'fabrika_blincik')") or die(mysql_error()); echo json_encode($result = array("typeu" => "success", "typeclick" => "posadil", "type" => $semena, "id" => $pole, "message" => "Вы поставили продукты на переработку"));exit(); }elseif($row["time"] > 0 and $row["time"] > (time()-$fin_time)) { switch($row["type"]) { case 1: $tip_sem11 = "мясом"; break; case 2: $tip_sem11 = "сыром"; break; case 3: $tip_sem11 = "сметаной"; break; } // время до сбора урожая $endtime = ($row["time"]+$fin_time) - time(); echo json_encode($result = array("typeu" => "none", "message" => "Перерабатываются блинчики с ".$tip_sem11."! <span id='timer_$pole'></span><script type='text/javascript'>pole_timer($endtime, 'timer_$pole');</script>"));exit(); }elseif($row["time"] <= (time()-$fin_time)) { switch($row['type']) { case 1: $sbor = 'blin_myaso_by'; $kol_sbor = 100; break; case 2: $sbor = 'blin_sir_by'; $kol_sbor = 100; break; case 3: $sbor = 'blin_smetana_by'; $kol_sbor = 100; break; default: $sbor = 'blin_myaso_by'; $kol_sbor = 100; break; } switch($row["type"]) { case 1: $tip_sem12 = "мясом"; break; case 2: $tip_sem12 = "сыром"; break; case 3: $tip_sem12 = "сметаной"; break; } //Энергия и опыт за установку фабрики а так же необходимые продукты switch($row["type"]) { case 1: $opit2 = $ener['p52']; $ener2 = $ener['p25']; $varez = 2; break; case 2: $opit2 = $ener['p53']; $ener2 = $ener['p26']; $varez = 5; break; case 3: $opit2 = $ener['p54']; $ener2 = $ener['p27']; $varez = 10; break; } if($varezh < $varez) { echo json_encode($result = array("typeu" => "error", "message" => "Для сбора необходимы варежки!")); exit();} if($energy < $ener2) { echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно энергии! Покушайте блинчик!")); exit();} mysql_query("UPDATE `tb_users` SET `$sbor` = `$sbor` + '$kol_sbor', energy = energy - '$ener2', `reyting` = `reyting` + '$opit2', `varezhki_per` = `varezhki_per` - '$varez' WHERE `username` = '$login'") or die(mysql_error()); mysql_query("UPDATE `tb_fabrika_blin` SET `time` = '0' WHERE `num` = '$pole' AND `username` = '$login'") or die(mysql_error()); mysql_query("INSERT INTO tb_history (user_id, summa, date, comment, type) VALUES ('$usid', '0', '$date', 'Собрал блинчики $tip_sem12', 'fabrika_blincik')") or die(mysql_error()); echo json_encode($result = array("typeu" => "success", "typeclick" => "sobrat", "type" => $row['type'], "message" => "Поздравляем Вы собрали блинчики с ".$tip_sem12.""));exit();exit(); } // если завода нет то покупаем } else { switch($semena) { case 1: $op = 30; $ener = 100; $opit = 100; break; case 2: $op = 35; $ener = 100; $opit = 100; break; case 3: $op = 40; $ener = 100; $opit = 100; break; } if($level >= $op) { if($energy < $ener) { echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно энергии! Покушайте блинчик!")); exit();} if($money < $price_s){ echo json_encode($result = array("typeu" => "error", "message" => "Недостаточно денег на счету"));exit();} switch($semena) { case 1: $zav = 'мясом'; break; case 2: $zav = 'сыром'; break; case 3: $zav = 'сметаной'; break; } mysql_query("INSERT INTO `tb_fabrika_blin` (`username`, `num`, `type`, `time`, `udob`, `pay`) VALUES ('$login', '$pole', '$semena', '0', '0', '1') ") or die(mysql_error()); mysql_query("UPDATE `tb_users` SET `money` = `money` - '$price_s', energy = energy - '$ener', `reyting` = `reyting` + '$opit' WHERE `username` = '$login'") or die(mysql_error()); $ref_sum = $price_s * 0.1; mysql_query("UPDATE `tb_users` SET `money` = `money` + '$ref_sum' WHERE id = '$ref_id' LIMIT 1") or die(mysql_error()); $rez_lavka = $price_s * 0.01; $rez = $price_s - ($ref_sum + $rez_lavka); mysql_query("UPDATE `tb_lavka` SET `rezerv` = `rezerv` + '$rez' WHERE id = 1") or die(mysql_error()); mysql_query("INSERT INTO tb_history (user_id, summa, date, comment, type) VALUES ('$usid', '$price_s', '$date', 'Купил фабррику по переработке блинчиков с $zav', 'fabrika_blincik')") or die(mysql_error()); echo json_encode($result = array("typeu" => "success", "typeclick" => "pole_kupite", "message" => "Поздравляем Вы купили завод по переработке блинчиков с ".$zav.""));exit(); }else{ echo json_encode($result = array("typeu" => "error", "message" => "Рейтинг меньше нужного"));exit(); } } } else {echo json_encode($result = array("typeu" => "error", "message" => "Ошибочка!!!"));exit(); } if (!function_exists('json_encode')) { function json_encode($value) { if (is_int($value)) { return (string)$value; } elseif (is_string($value)) { $value = str_replace(array('\\', '/', '"', "\r", "\n", "\b", "\f", "\t"), array('\\\\', '\/', '\"', '\r', '\n', '\b', '\f', '\t'), $value); $convmap = array(0x80, 0xFFFF, 0, 0xFFFF); $result = ""; for ($i = mb_strlen($value) - 1; $i >= 0; $i--) { $mb_char = mb_substr($value, $i, 1); if (mb_ereg("&#(\\d+);", mb_encode_numericentity($mb_char, $convmap, "UTF-8"), $match)) { $result = sprintf("\\u%04x", $match[1]) . $result; } else { $result = $mb_char . $result; } } return '"' . $result . '"'; } elseif (is_float($value)) { return str_replace(",", ".", $value); } elseif (is_null($value)) { return 'null'; } elseif (is_bool($value)) { return $value ? 'true' : 'false'; } elseif (is_array($value)) { $with_keys = false; $n = count($value); for ($i = 0, reset($value); $i < $n; $i++, next($value)) { if (key($value) !== $i) { $with_keys = true; break; } } } elseif (is_object($value)) { $with_keys = true; } else { return ''; } $result = array(); if ($with_keys) { foreach ($value as $key => $v) { $result[] = json_encode((string)$key) . ':' . json_encode($v); } return '{' . implode(',', $result) . '}'; } else { foreach ($value as $key => $v) { $result[] = json_encode($v); } return '[' . implode(',', $result) . ']'; } } } ?>