XNova

Советы от Green4el:

1) Отключить уведомление о регистрации по e-mail можно так:

Найти в файле reg.php и удалить:
Код:
        if (sendpassemail($_POST['email'], "$newpass")) {
            $Message .= " (" . htmlentities($_POST["email"]) . ")";
        } else {
            $Message .= " (" . htmlentities($_POST["email"]) . ")";
            $Message .= "

". $lang['error_mailsend'] ." [b]" . $newpass . "[/b]";
        }

2) В статистике при упорядочивании по альянсам не открывается страница с описанием альянса:

В файле stat_alliancetable.tpl найти и заменить:

Код:
<th>[url="alliance.php?mode=ainfo&allytag={ally_tag}"]{ally_name}[/url]</th>
на

Код:
<th>[url="alliance.php?mode=ainfo&tag={ally_tag}"]{ally_name}[/url]</th>

3) Отключение добавления офицерских очков при получении нового уровня:

В файле overview.php найти и заменить:

Код:
$QryUpdateUser .= "`rpg_points` = `rpg_points` + 1 ";
на

Код:
$QryUpdateUser .= "`rpg_points` = `rpg_points` + 0 ";

4) Смена размера шрифта в стандартном скине (спасибо alexpro):

В файле formate.css найти и заменить:

Код:
font-size : 60%;
на

Код:
font-size : 11px;
Операцию необходимо проделать со всеми строками в файле.

5) Прокрутка в галактике:

В файле galaxy.php найти и заменить:

Код:
$page .= "<body style=\"overflow: hidden;\" onUnload=\"\">

";
на

Код:
$page .= "<body style=\"overflow: auto;\">

";

6) Русская кодировка в чате:

В файле chat_msg.php найти и заменить:

Код:
$nick=htmlentities(utf8_decode($v->user));
$msg=htmlentities(utf8_decode($v->message));
на

Код:
$nick=htmlentities($v->user, ENT_QUOTES, cp1251);
$msg=htmlentities($v->message, ENT_QUOTES, cp1251);

В файле chat_add.php найти:

Код:
$nick = addslashes ($user['username']);
после этой строки вставить:

Код:
$msg = iconv('UTF-8', 'CP1251', $msg);

----------------------------------------------------------------

Советы от Simmer:

1) Одну из проблем с MySQL можно решить так:

Код:
Merci pour l'aide mais j'ai trouver d'ou venait mon probleme

Pour ceux qui aurait comme moi un probleme une fois arriver a la creation de l'utilisateur.
MySQL Error: Field 'user_agent' doesn't have a default value
ou lorsqu'il creer un utilisateur cela leur ecrit erreur contacter l'administrateur

Cela vien enfaite de mysql donc pour remedier a cela faite :
=> editer my.ini
=> remplacer
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Par
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Voila peut etre que sa en aidera certain
Merci et c'est du tres bon travail

2) Делаем русский язык:

Код:
1 - Создать каталог с русскими файлами... предположим RU
2 - в этом каталоге найти файл lang_info.cfg в нем поменять

[code]$langInfos['ENCODING']   = "UTF-8";

на

$langInfos['ENCODING']   = "windows-1251";

3 - в файле common.php поменять

define('DEFAULT_LANG'     , 'fr');

на

define('DEFAULT_LANG'     , 'ru');

3) Активируем прокрутку меню:

В файле frames.php найти и заменить:

Код:
$page .= "<frame name=\"LeftMenu\" target=\"Mainframe\" src=\"leftmenu.php\" noresize scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\">";
на

Код:
$page .= "<frame name=\"LeftMenu\" target=\"Mainframe\" src=\"leftmenu.php\" noresize scrolling=\"yes\" marginwidth=\"0\" marginheight=\"0\">";

4) Меняем шанс появления луны:

В файле MissionCaseAttack.php найти и заменить:

Код:
$FleetDebris > 2000000
на

Код:
100% = $FleetDebris > 10000000
90% = $FleetDebris > 9000000
80% = $FleetDebris > 8000000
70% = $FleetDebris > 7000000
60% = $FleetDebris > 6000000
50% = $FleetDebris > 5000000
40% = $FleetDebris > 4000000
30% = $FleetDebris > 3000000
20% = $FleetDebris > 2000000 (стоит по умолчанию)
 
Инсталяция игры с помощью стандартных средств скрипта.

Перед началом инсталяции необходимо внести изменения в файлы.

1. Файл: /db/mysql.php

Найти:
Код:
mysql_query("SET NAMES latin2");
Заменить на:
Код:
mysql_query("SET NAMES cp1251");

2. Файл: /install/ug2xn.php

Найти:
Код:
utf8
Заменить на:
Код:
cp1251

2. Файл /includes/databaseinfos.php

Найти все:
Код:
utf8
заменить на:
Код:
cp1251
Также в этом файле можна изменить начальные установки игры.

3. Файл /includes/migrateinfo.php
Код:
utf8 и utf8
заменить на:
Код:
cp1251

4. \includes\functions\ElementBuildListQueue.php
Код:
utf8
заменить на:
Код:
cp1251

5. Инталяция игры: ***/install/index.php

В результате: имеер базу данных работающую с русс кодировкой

PS: все работы с *.php файлами рекомендуется проводить с помощью специализированых php-редакторов
 
Закрываем уязвимости в игре:
1) Во все папки пихаем index-файл с переадресацией на login.php
2) Во все php-файлы в главной директории после строки
Код:
include($ugamela_root_path . 'common.' . $phpEx);
добавляем строку
Код:
if ($user['username']==""){header("Location: login.php"); exit;}
3) В папке admin желательно создать .htaccess-файл и прописать там:
Код:
deny from all
allow from ваш_ip
4) В папку language тоже добавить .htaccess-файл и прописать:
Код:
deny from all

Ставим правильно время:

Во всех php-файлах добавляем строку
Код:
date_default_timezone_set('Europe/Moscow');
 
исправление бага с возможностью построки нескольких защитных куполов, например 5 малых и 10 больших...

файл: \includes\functions\DefensesBuildingPage.php

Найти:
Код:
            if ($Count != 0) {
                // Cas particulier (Petit Bouclier et Grand Bouclier
                // ne peuvent exister qu'une seule et unique fois
                if ($Element == 407 || $Element == 408) {
                    $Count = 1;
                }

Заменить на:
Код:
            if ($Count != 0) {
                // Cas particulier (Petit Bouclier et Grand Bouclier
                // ne peuvent exister qu'une seule et unique fois
                $InQueue = strpos ( $CurrentPlanet['b_hangar_id'], $Element.",");
                $IsBuild = ($CurrentPlanet[$resource[407]] >= 1) ? true : false;
                if ($Element == 407 || $Element == 408) {
                    if ($InQueue === false && !$IsBuild) {
                        $Count = 1;
                    }
                }

Найти:
Код:
                if ($CanBuildOne) {
                    if ( ($Element == 407 && $CurrentPlanet[$resource[407]] == "1") ||
                           ($Element == 407 && $CurrentPlanet['b_hangar_id'] == "407,1;") ||
                           ($Element == 408 && $CurrentPlanet[$resource[408]] == "1") ||
                           ($Element == 408 && $CurrentPlanet['b_hangar_id'] == "408,1;") ||
               ($Element == 409 && $CurrentPlanet[$resource[409]] == "1") ||
                           ($Element == 409 && $CurrentPlanet['b_hangar_id'] == "409,1;")) {
                        $PageTable .= "<font color=\"red\">".$lang['only_one']."</font>";
                    } else {
                        $TabIndex++;
                        $PageTable .= "<input type=text name=fmenge[".$Element."] alt='".$lang['tech'][$Element]."' size=9 maxlength=20 value=0 tabindex=".$TabIndex.">";
                        $PageTable .= "</td>";
                    }

Заменить:
Код:
                if ($CanBuildOne) {
                    $InQueue = strpos ( $CurrentPlanet['b_hangar_id'], $Element.",");
                    $IsBuild = ($CurrentPlanet[$resource[407]] >= 1) ? true : false;
                    $BuildIt = true;
                    if ($Element == 407 || $Element == 408) {
                        $BuildIt = false;
                        if ( $InQueue === false && !$IsBuild) {
                            $BuildIt = true;
                        }
                    }

                    if ( !$BuildIt ) {
                        $PageTable .= "<font color=\"red\">".$lang['only_one']."</font>";
                    } else {
                        $TabIndex++;
                        $PageTable .= "<input type=text name=fmenge[".$Element."] alt='".$lang['tech'][$Element]."' size=5 maxlength=5 value=0 tabindex=".$TabIndex.">";
                        $PageTable .= "</th>";
                    }

PS: выколупано из 0.8b
 
Исправляем sql-уязвимость:

В файле BatimentBuildingPage.php

Ищем строку
Код:
        $Element    = $_GET['building'];

Перед ней вставляем
Код:
        If(!preg_match("|^[\d]*$|", $_GET['building'])) {
            echo("Зафиксирована попытка взлома");
            die; }
 

Похожие темы

Сверху