define('FORUM_ROOT', './pun/');
require_once FORUM_ROOT.'include/common.php';
$_POST['req_username']='vuler';
$_POST['req_password']='11111';
$link='/../pun';
$_POST["redirect_url"]=forum_htmlencode($link);
$_POST["csrf_token"]=generate_form_token($link);
require_once "/../pun/login.php";
Делаю интеграцию форума punbb с системой сайта. Пользователь вводит пароль и логин, нужно чтобы он одновременно залогинивался и на форуме и на сайте. Немоного покапавшись нашел неплохой вариант, но он работает через перезагрузку страницы. Хочу сделать все в одном месте. Проблема в том, что для формирования кодировок надо вызвать 2 функции forum_htmlencode и generate_form_token. т.е. приходится 2 раза делать require 'include/common.php' и второй раз из "/../pun/login.php"; . В результате идет - Cannot redeclare function.
require_once - не помогает. Скопировать эти функции и переименовать, тоже нельзя, т.к. там очень много разных функций разбросаных по разным файлам. Править код самого форума нежелательно.
Можно сделать так, чтобы после вызова require_once FORUM_ROOT.'include/common.php'; и проведения необходимых манипуляцый (generate_form_token),он напрочь забывал все функции которые были объявлены в 'include/common.php' и заново объявлял их. Либо просто не ругался на повторные объявления функций, а просто запоминал поверх?