- Utworzono autoload/autoloader.php (hybrydowy PSR-4 + legacy) - Zmigrowano 7 entry pointów do centralnego autoloadera - Dodano PSR-4 mapowanie w composer.json (Domain, Shared, Admin, Frontend) - Utworzono Shared\Email\Email (PHPMailer, migracja z Helpers) - Utworzono Shared\Security\CsrfToken (random_bytes + hash_equals) - Wrappery w Helpers delegują do nowych klas - Zaktualizowano docs/PROJECT_STRUCTURE.md - Inicjalizacja PAUL (.paul/) z roadmapą 19 faz refaktoryzacji Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
78 lines
2.2 KiB
PHP
78 lines
2.2 KiB
PHP
<?
|
|
if ( file_exists( 'ip.conf' ) )
|
|
{
|
|
$ips = file_get_contents( 'ip.conf' );
|
|
$ips = preg_split( "/\\r\\n|\\r|\\n/", $ips );
|
|
$ips = array_filter( $ips );
|
|
if ( is_array( $ips ) and !empty( $ips ) )
|
|
{
|
|
if ( !in_array( $_SERVER['REMOTE_ADDR'], $ips ) )
|
|
die( 'Brak dostępu.' );
|
|
}
|
|
}
|
|
|
|
error_reporting( E_ALL ^ E_NOTICE ^ E_STRICT ^ E_WARNING ^ E_DEPRECATED );
|
|
require_once __DIR__ . '/../autoload/autoloader.php';
|
|
|
|
require_once '../config.php';
|
|
require_once '../libraries/medoo/medoo.php';
|
|
require_once '../libraries/grid/config.php';
|
|
date_default_timezone_set( 'Europe/Warsaw' );
|
|
|
|
$settings = \front\factory\Settings::settings_details();
|
|
|
|
if ( file_exists( 'config.php' ) )
|
|
include 'config.php';
|
|
|
|
session_start();
|
|
|
|
if ( !isset( $_SESSION['check'] ) )
|
|
{
|
|
session_regenerate_id();
|
|
$_SESSION['check'] = true;
|
|
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
|
|
}
|
|
|
|
if ( $_SESSION['ip'] !== $_SERVER['REMOTE_ADDR'] )
|
|
{
|
|
session_destroy();
|
|
header( 'Location: /admin/' );
|
|
exit;
|
|
}
|
|
|
|
$mdb = new medoo( [
|
|
'database_type' => 'mysql',
|
|
'database_name' => $database['name'],
|
|
'server' => $database['host'],
|
|
'username' => $database['user'],
|
|
'password' => $database['password'],
|
|
'charset' => 'utf8'
|
|
] );
|
|
|
|
$user = \S::get_session( 'user' , true );
|
|
|
|
\admin\Site::special_actions();
|
|
|
|
$domain = preg_replace( '#^(http(s)?://)?w{3}\.#', '$1', $_SERVER['SERVER_NAME'] );
|
|
$cookie_name = str_replace( '.', '-', $domain );
|
|
|
|
if ( isset( $_COOKIE[$cookie_name] ) && !isset( $_SESSION['user'] ) )
|
|
{
|
|
$obj = json_decode( $_COOKIE[$cookie_name] );
|
|
$login = $obj -> {'login'};
|
|
$password = $obj -> {'hash'};
|
|
|
|
if ( $mdb -> get( 'pp_users', '*',
|
|
[ 'AND' =>
|
|
[ 'login' => $login, 'status' => 1, 'password' => $password,
|
|
'OR' => [ 'active_to[>=]' => date( 'Y-m-d' ), 'active_to' => null ]
|
|
]
|
|
] ) )
|
|
{
|
|
\S::set_session( 'user', \admin\factory\Users::details( $login ) );
|
|
header( 'Location: /admin/articles/view_list/' );
|
|
exit;
|
|
}
|
|
}
|
|
echo \admin\view\Page::show();
|
|
?>
|