get( 'users', '*', [ 'id' => $user[ 'id' ] ] ); \S::set_session( 'user', $user ); \S::alert( 'Ustawienia zostały zapisane.' ); } header( 'Location: /settings' ); exit; } public static function settings() { global $user; if ( !$user ) { header( 'Location: /login' ); exit; } return \view\Users::settings( $user ); } public static function settings_save_google_ads() { $fields = [ 'google_ads_developer_token', 'google_ads_client_id', 'google_ads_client_secret', 'google_ads_refresh_token', 'google_ads_manager_account_id', ]; foreach ( $fields as $field ) { \services\GoogleAdsApi::set_setting( $field, \S::get( $field ) ); } // wyczyść cached token przy zmianie credentials \services\GoogleAdsApi::set_setting( 'google_ads_access_token', null ); \services\GoogleAdsApi::set_setting( 'google_ads_access_token_expires', null ); \S::alert( 'Ustawienia Google Ads zostały zapisane.' ); header( 'Location: /settings' ); exit; } public static function settings_save_openai() { \services\GoogleAdsApi::set_setting( 'openai_enabled', \S::get( 'openai_enabled' ) ? '1' : '0' ); \services\GoogleAdsApi::set_setting( 'openai_api_key', \S::get( 'openai_api_key' ) ); \services\GoogleAdsApi::set_setting( 'openai_model', \S::get( 'openai_model' ) ); \S::alert( 'Ustawienia OpenAI zostały zapisane.' ); header( 'Location: /settings' ); exit; } public static function settings_save_claude() { \services\GoogleAdsApi::set_setting( 'claude_enabled', \S::get( 'claude_enabled' ) ? '1' : '0' ); \services\GoogleAdsApi::set_setting( 'claude_api_key', \S::get( 'claude_api_key' ) ); \services\GoogleAdsApi::set_setting( 'claude_model', \S::get( 'claude_model' ) ); \S::alert( 'Ustawienia Claude zostały zapisane.' ); header( 'Location: /settings' ); exit; } public static function login() { if ( $user = \factory\Users::login( \S::get( 'email' ), md5( \S::get( 'password' ) ) ) ) { // zapamiętaj logowanie if ( \S::get( 'remember' ) ) { $domain = preg_replace( '#^(http(s)?://)?w{3}\.#', '$1', $_SERVER['SERVER_NAME'] ); $cookie_name = str_replace( '.', '-', $domain ); $value = [ 'email' => \S::get( 'email' ), 'hash' => md5( \S::get( 'password' ) ) ]; $value = json_encode( $value ); setcookie( $cookie_name, $value, strtotime( "+1 year" ), "/", $domain ); } \S::set_session( 'user', $user ); echo json_encode( [ 'result' => 'true', 'msg' => 'Właśnie zostałeś zalogowany. Za chwilę nastąpi przekierowanie.', 'default_project' => $user[ 'default_project' ] ] ); } else { echo json_encode( [ 'result' => 'false', 'msg' => 'Podany login i hasło są nieprawidłowe.' ] ); } exit; } public static function login_form() { return \Tpl::view( 'users/login-form' ); } }