$adres&alias_page = preg_replace('правильный список', 'грамотный код');

Раздел для тех кто знает слово: декомпиляция, все тонкости, коды, баги, дополнения и т.д.
Ответить
Аватара пользователя
glGizma
Site Admin
Сообщения: 214
Зарегистрирован: Ср сен 27, 2017 2:20 pm

$adres&alias_page = preg_replace('правильный список', 'грамотный код');

Сообщение glGizma » Чт сен 19, 2019 3:54 pm

Для пользователей моей сборки - это не особо вкусное обновление!, но для функционала сборочки - самое то!
Суть темы такова:
Есть 2 файла -> "groups.php", "settings.php" (расположены они в: system\modules\) именно в этих файлах есть выражение preg_replace, которое отвечает за ограничение уникальных адресов групп/страниц юзера. Если Вы откроете или "groups.php" или "settings.php", то найдёте вот такою строчку (выражение):

Код: Выделить всё

$adres_page = preg_replace('/\b(u([0-9]+)|friends|editmypage|albums|photo([0-9]+)_([0-9]+)|photo([0-9]+)_([0-9]+)_([0-9]+)|fave|notes|videos|video([0-9]+)_([0-9]+)|news|messages|wall([0-9]+)|settings|support|restore|blog|balance|nonsense|reg([0-9]+)|gifts([0-9]+)|groups|wallgroups([0-9]+)_([0-9]+)|audio|audio([0-9]+)|docs|apps|app([0-9]+)|public|forum([0-9]+)|public([0-9]+))\b/i', '', $adres_page);
Единственное отличие - это то, что в:
[*] groups.php - эт выражение начинается с $adres_page.
[*] settings.php - эт выражение начинается с $alias

Была поставлена для себя задача дополнить список ограничений при присвоении уникального адреса, но для этого необходимо вносить изменения и в "groups.php" и в"settings.php", чтобы эти файлы постоянно не насиловать было принято решение царапать список с отдельного файла! Поехали:
1) в файле groups.php ищем:

Код: Выделить всё

$adres_page = preg_replace('/\b(u([0-9]+)|friends|editmypage|albums|photo([0-9]+)_([0-9]+)|photo([0-9]+)_([0-9]+)_([0-9]+)|fave|notes|videos|video([0-9]+)_([0-9]+)|news|messages|wall([0-9]+)|settings|support|restore|blog|balance|nonsense|reg([0-9]+)|gifts([0-9]+)|groups|wallgroups([0-9]+)_([0-9]+)|audio|audio([0-9]+)|docs|apps|app([0-9]+)|public|forum([0-9]+)|public([0-9]+))\b/i', '', $adres_page);
Заменяем на:

Код: Выделить всё

// Подгружаем словарь запрещённых адресов ...
$all_alias = @file(ENGINE_DIR.'/alias.php');
$adres_page = preg_replace($all_alias, '', $adres_page);
2) в файле settings.php ищем:

Код: Выделить всё

$alias = preg_replace('/\b(u([0-9]+)|durov|friends|editmypage|albums|photo([0-9]+)_([0-9]+)|photo([0-9]+)_([0-9]+)_([0-9]+)|fave|notes|videos|video([0-9]+)_([0-9]+)|news|messages|wall([0-9]+)|settings|support|restore|blog|balance|nonsense|reg([0-9]+)|gifts([0-9]+)|groups|wallgroups([0-9]+)_([0-9]+)|audio|audio([0-9]+)|docs|apps|app([0-9]+)|public|forum([0-9]+)|public([0-9]+))\b/i', '', $alias);
Заменяем на:

Код: Выделить всё

// Подгружаем словарь запрещённых адресов ...
$all_alias = @file(ENGINE_DIR.'/alias.php');
$alias = preg_replace($all_alias, '', $alias);
3) Создаём файл alias.php (открыть) и забиваем:

Код: Выделить всё

/\b(u([0-9]+)|aleksandra|alexandra|sasha|alisa|alina|alya|lina|alla|albina|alya|anastasia|anastasiya|nastya|angelina|anzhela|angela|anna|anya|antonina|tonya|valentina|valya|valeria|valeriya|lera|varvara|varya|vera|veronika|veronica|viktoria|viktoriya|victoria|vika|galina|galya|darya|daria|dasha|diana|dina|yevgenia|yevgeniya|evgenia|zhenya|yekaterina|ekaterina|katya|yelena|elena|lena|yelizaveta|elizaveta|liza|zhanna|zinaida|zina|zoya|inna|irina|ira|kamilla|karina|kira|klara|clara|kristina|ksenia|kseniya|ksyusha|larisa|lara|lora|leila|leyla|lidia|lidiya|lida|lilia|liliya|lilya|lia|liya|lyubov|liubov|lyuba|luba|lyudmila|liudmila|lyuda|mila|maya|maia|margarita|rita|marianna|marina|maria|mariya|masha|maryam|mariam|nadezhda|nadya|natalya|natalia|nataliya|natasha|nina|oksana|oxana|olesya|olesia|lesya|olga|olya|polina|polya|raisa|raya|regina|rimma|rosa|sabina|svetlana|sveta|snezhana|sofya|sofia|sonya|tamara|toma|tatyana|tatiana|tanya|ulyana|uliana|ulya|ella|elya|elvira|elya|emma|yulia|yuliya|yulya|yana|aleksandr|alexander|sasha|aleksey|alexey|alyosha|anatoly|anatoliy|anatoli|tolya|andrey|andrei|andryusha|anton|antosha|arkady|arkadiy|arkasha|artem|artyom|tyoma|artur|boris|borya|vadim|valentin|valya|valeriy|valera|vasily|vasiliy|vasili|vasya|viktor|victor|vitya|vitaly|vitaliy|vitali|vitya|vladimir|volodya|vova|vladislav|vlad|slava|vyacheslav|viacheslav|slava|gennady|gennadiy|gennadi|gena|georgy|georgiy|georgi|gosha|gleb|grigory|grigoriy|grigori|grisha|daniil|danila|danya|denis|dmitry|dmitriy|dmitri|dima|mitya|yevgeny|yevgeniy|evgeny|zhenya|yegor|egor|gosha|zakhar|zahar|ivan|vanya|igor|ilya|ilia|ilyusha|innokenty|innokentiy|innokenti|kesha|iosif|kirill|kira|konstantin|kostya|lev|lyova|leonid|lyonya|maksim|maxim|max|matvey|matvei|mikhail|misha|moisey|nikita|nikolay|nikolai|kolya|oleg|pavel|pasha|pyotr|petr|petya|roman|roma|ruslan|svyatoslav|sviatoslav|slava|semyon|syoma|senya|sergey|sergei|seryozha|stanislav|stas|slava|stepan|styopa|timofey|timofei|tima|timur|timour|tikhon|tihon|tisha|fedor|fyodor|fedya|filipp|philipp|filya|eduard|edward|edik|eldar|emil|erik|eric|yuri|yuriy|yury|yura|yakov|iakov|yasha|yan|ian|yaroslav|slava|durov|putin|navalny|friends|editmypage|albums|photo([0-9]+)_([0-9]+)|photo([0-9]+)_([0-9]+)_([0-9]+)|fave|notes|videos|video([0-9]+)_([0-9]+)|news|messages|wall([0-9]+)|settings|support|restore|blog|balance|nonsense|reg([0-9]+)|gifts([0-9]+)|groups|wallgroups([0-9]+)_([0-9]+)|audio|audio([0-9]+)|docs|apps|app([0-9]+)|public|forum([0-9]+)|public([0-9]+))\b/i
В моём случае alias.php расположен в папке system, Вы можете его запихать куды угодно.

???**************???
Что нужно знать:
1) Что такое ENGINE_DIR и с чем его хавают можно узнать файла forward.php (он в корне сборки)
2) Посмотреть файл alias.php можно тут открывать
3) Данный способ подходит для сборок: Оси 2.5, Оси 3.0, Оси 3.5 (beta). На остальных я не пробовал.
4) Не долбите мне личку, если не получается (хотя такого не бывает) пишите тут, если всёже не хотите палить свои файлы, пишите тут, но файлы отправляете в л/с - далее я отвечу тут в чём была трабла, но файлы также в л/с верну.
5) Я установил адрес navalny, пишет Адрес персональной страницы был успешно установлен, но в итоге адрес не прилипает - эт я спецом отключил:

Код: Выделить всё

echo 'err_adres';
!!!Если хочешь заработать!!! Дополни код, напиши в эту тему и получишь гарантировано 200р.
* Для особо умных и рукастых. Я отключил вывод сообщения, хочу дать Вам возможность блеснуть знаниями :)
Вложения
3.jpg
3.jpg (329.14 КБ) 6992 просмотра
2.jpg
2.jpg (17.18 КБ) 6992 просмотра
1.jpg
1.jpg (34.66 КБ) 6992 просмотра

Ответить