Skip to content

Commit

Permalink
feat: adequação para usar variáveis de ambiente via arquivo .env e aj…
Browse files Browse the repository at this point in the history
…ustado instalação e seus scripts
  • Loading branch information
Pr3d4dor committed Apr 3, 2024
1 parent a6ae21e commit 5cd7673
Show file tree
Hide file tree
Showing 15 changed files with 764 additions and 472 deletions.
74 changes: 74 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
APP_NAME="Map-OS"
APP_SUBNAME="Sistema de Controle de Ordens de Serviço"
APP_TIMEZONE=America/Sao_Paulo
APP_BASEURL="enter_baseurl"
APP_CHARSET=UTF-8
APP_ENCRYPTION_KEY="enter_encryption_key"
APP_ENVIRONMENT="pre_installation"

APP_SESS_DRIVER=database
APP_SESS_COOKIE_NAME=MAPOS_SESSION
APP_SESS_EXPIRATION=7200
APP_SESS_SAVE_PATH=ci_sessions
APP_SESS_MATCH_IP=false
APP_SESS_TIME_TO_UPDATE=300
APP_SESS_REGENERATE_DESTROY=false

APP_COOKIE_PREFIX=
APP_COOKIE_DOMAIN=
APP_COOKIE_PATH=/
APP_COOKIE_SECURE=false
APP_COOKIE_HTTPONLY=false

APP_CSRF_PROTECTION=true
APP_CSRF_TOKEN_NAME="MAPOS_CSRF_TOKEN"
APP_CSRF_COOKIE_NAME="MAPOS_CSRF_COOKIE"
APP_CSRF_EXPIRE=7200
APP_CSRF_REGENERATE=true

APP_COMPRESS_OUTPUT=false
APP_PROXY_IPS=

DB_DSN=
DB_HOSTNAME=enter_hostname
DB_USERNAME=enter_db_username
DB_PASSWORD=enter_db_password
DB_DATABASE=enter_database_name
DB_DRIVER=mysqli
DB_PREFIX=
DB_CHARSET=utf8
DB_COLLATION=utf8_general_ci

EMAIL_PROTOCOL=smtp
EMAIL_SMTP_HOST=smtp.gmail.com
EMAIL_SMTP_CRYPTO=tls
EMAIL_SMTP_PORT=587
EMAIL_SMTP_USER=[email protected]
EMAIL_SMTP_PASS=senhadoemail
EMAIL_VALIDATE=true
EMAIL_MAILTYPE=html
EMAIL_CHARSET=utf-8
EMAIL_NEWLINE="\r\n"
EMAIL_BCC_BATCH_MODE=false
EMAIL_WORDWRAP=false
EMAIL_PRIORITY=3

PAYMENT_GATEWAYS_EFI_PRODUCTION=false
PAYMENT_GATEWAYS_EFI_CREDENTIAIS_CLIENT_ID=
PAYMENT_GATEWAYS_EFI_CREDENTIAIS_CLIENT_SECRET=
PAYMENT_GATEWAYS_EFI_TIMEOUT=30
PAYMENT_GATEWAYS_EFI_BOLETO_EXPIRATION=P3D

PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_ACCESS_TOKEN=
PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_PUBLIC_KEY=
PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_CLIENT_ID=
PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_CLIENT_SECRET=
PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_INTEGRATOR_ID=
PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_PLATFORM_ID=
PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_CORPORATION_ID=
PAYMENT_GATEWAYS_MERCADO_PAGO_BOLETO_EXPIRATION=P3D

PAYMENT_GATEWAYS_ASAAS_PRODUCTION=false
PAYMENT_GATEWAYS_ASAAS_NOTIFY=false
PAYMENT_GATEWAYS_ASAAS_CREDENTIAIS_API_KEY=
PAYMENT_GATEWAYS_ASAAS_BOLETO_EXPIRATION=P3D
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,4 @@ application/logs/*
ci_sessions/

uploads
.env
92 changes: 46 additions & 46 deletions application/config/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@
/**
* Nome do sistema
*/
$config['app_name'] = 'Map-OS';
$config['app_name'] = $_ENV['APP_NAME'] ?? 'Map-OS';

/**
* Descrição do sistema
*/
$config['app_subname'] = 'Sistema de Controle de Ordens de Serviço';
$config['app_subname'] = $_ENV['APP_SUBNAME'] ?? 'Sistema de Controle de Ordens de Serviço';

/**
* Definição da hora local.
*/
date_default_timezone_set('America/Sao_Paulo');
date_default_timezone_set($_ENV['APP_TIMEZONE'] ?? 'America/Sao_Paulo');

/*
|--------------------------------------------------------------------------
Expand All @@ -43,7 +43,7 @@
| a PHP script and you can easily do that on your own.
|
*/
$config['base_url'] = 'enter_baseurl';
$config['base_url'] = $_ENV['APP_BASEURL'] ?? 'http://localhost:8000/';

/*
|--------------------------------------------------------------------------
Expand Down Expand Up @@ -72,7 +72,7 @@
|
| WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded!
*/
$config['uri_protocol'] = 'REQUEST_URI';
$config['uri_protocol'] = 'REQUEST_URI';

/*
|--------------------------------------------------------------------------
Expand Down Expand Up @@ -109,7 +109,7 @@
| See http://php.net/htmlspecialchars for a list of supported charsets.
|
*/
$config['charset'] = 'UTF-8';
$config['charset'] = $_ENV['APP_CHARSET'] ?? 'UTF-8';

/*
|--------------------------------------------------------------------------
Expand Down Expand Up @@ -345,7 +345,7 @@
| https://codeigniter.com/user_guide/libraries/encryption.html
|
*/
$config['encryption_key'] = '40ad83e080dc2a7';
$config['encryption_key'] = $_ENV['APP_ENCRYPTION_KEY'];

/*
|--------------------------------------------------------------------------
Expand Down Expand Up @@ -398,13 +398,13 @@
| except for 'cookie_prefix' and 'cookie_httponly', which are ignored here.
|
*/
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'app_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = false;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = false;
$config['sess_driver'] = $_ENV['APP_SESS_DRIVER'] ?? 'database';
$config['sess_cookie_name'] = $_ENV['APP_SESS_COOKIE_NAME'] ?? 'app_session';
$config['sess_expiration'] = $_ENV['APP_SESS_EXPIRATION'] ?? 7200;
$config['sess_save_path'] = $_ENV['APP_SESS_SAVE_PATH'] ?? 'ci_sessions';
$config['sess_match_ip'] = isset($_ENV['APP_SESS_MATCH_IP']) ? filter_var($_ENV['APP_SESS_MATCH_IP'], FILTER_VALIDATE_BOOLEAN) : false;
$config['sess_time_to_update'] = $_ENV['APP_SESS_TIME_TO_UPDATE'] ?? 300;
$config['sess_regenerate_destroy'] = isset($_ENV['APP_SESS_REGENERATE_DESTROY']) ? filter_var($_ENV['APP_SESS_REGENERATE_DESTROY'], FILTER_VALIDATE_BOOLEAN) : false;

/*
|--------------------------------------------------------------------------
Expand All @@ -421,11 +421,11 @@
| 'cookie_httponly') will also affect sessions.
|
*/
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = false;
$config['cookie_httponly'] = false;
$config['cookie_prefix'] = $_ENV['APP_COOKIE_PREFIX'] ?? '';
$config['cookie_domain'] = $_ENV['APP_COOKIE_DOMAIN'] ?? '';
$config['cookie_path'] = $_ENV['APP_COOKIE_PATH'] ?? '/';
$config['cookie_secure'] = isset($_ENV['APP_COOKIE_SECURE']) ? filter_var($_ENV['APP_COOKIE_SECURE'], FILTER_VALIDATE_BOOLEAN) : false;
$config['cookie_httponly'] = isset($_ENV['APP_COOKIE_HTTPONLY']) ? filter_var($_ENV['APP_COOKIE_HTTPONLY'], FILTER_VALIDATE_BOOLEAN) : false;

/*
|--------------------------------------------------------------------------
Expand All @@ -441,31 +441,31 @@
| 'csrf_regenerate' = Regenerate token on every submission
| 'csrf_exclude_uris' = Array of URIs which ignore CSRF checks
*/
$config['csrf_protection'] = true;
$config['csrf_token_name'] = 'MAPOS_TOKEN';
$config['csrf_cookie_name'] = 'MAPOS_COOKIE';
$config['csrf_expire'] = 7200;
$config['csrf_regenerate'] = true;
$config['csrf_protection'] = isset($_ENV['APP_CSRF_PROTECTION']) ? filter_var($_ENV['APP_CSRF_PROTECTION'], FILTER_VALIDATE_BOOLEAN) : true;
$config['csrf_token_name'] = $_ENV['APP_CSRF_TOKEN_NAME'] ?? 'MAPOS_TOKEN';
$config['csrf_cookie_name'] = $_ENV['APP_CSRF_COOKIE_NAME'] ?? 'MAPOS_COOKIE';
$config['csrf_expire'] = $_ENV['APP_CSRF_EXPIRE'] ?? 7200;
$config['csrf_regenerate'] = isset($_ENV['APP_CSRF_REGENERATE']) ? filter_var($_ENV['APP_CSRF_REGENERATE'], FILTER_VALIDATE_BOOLEAN) : true;
$config['csrf_exclude_uris'] = [
"os.*+",
"servicos.*+",
"produtos.*+",
"clientes.*+",
"vendas.*+",
"garantias.*+",
"arquivos.*+",
"lancamentos.*+",
"cobrancas.*+",
"configurar.*+",
"relatorios.*+",
"mapos.*+",
"configurar.*+",
"usuarios.*+",
"financeiro.*+",
"email.*+",
"permissoes.*+",
"auditoria.*+",
"tools.*+"
"os.*+",
"servicos.*+",
"produtos.*+",
"clientes.*+",
"vendas.*+",
"garantias.*+",
"arquivos.*+",
"lancamentos.*+",
"cobrancas.*+",
"configurar.*+",
"relatorios.*+",
"mapos.*+",
"configurar.*+",
"usuarios.*+",
"financeiro.*+",
"email.*+",
"permissoes.*+",
"auditoria.*+",
"tools.*+"
];

/*
Expand All @@ -488,7 +488,7 @@
| by the output class. Do not 'echo' any values with compression enabled.
|
*/
$config['compress_output'] = false;
$config['compress_output'] = isset($_ENV['APP_COMPRESS_OUTPUT']) ? filter_var($_ENV['APP_COMPRESS_OUTPUT'], FILTER_VALIDATE_BOOLEAN) : false;

/*
|--------------------------------------------------------------------------
Expand All @@ -501,7 +501,7 @@
| helper' page of the user guide for information regarding date handling.
|
*/
$config['time_reference'] = 'local';
$config['time_reference'] = $_ENV['APP_TIMEZONE'] ?? 'America/Sao_Paulo';

/*
|--------------------------------------------------------------------------
Expand All @@ -519,4 +519,4 @@
| Comma-separated: '10.0.1.200,192.168.5.0/24'
| Array: array('10.0.1.200', '192.168.5.0/24')
*/
$config['proxy_ips'] = '';
$config['proxy_ips'] = $_ENV['APP_PROXY_IPS'] ?? '';
19 changes: 10 additions & 9 deletions application/config/database.php
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
<?php
defined('BASEPATH') or exit('No direct script access allowed');

$active_group = 'default';
$query_builder = true;
$db['default'] = [
'dsn' => '',
'hostname' => 'enter_hostname',
'username' => 'enter_db_username',
'password' => 'enter_db_password',
'database' => 'enter_database_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'dsn' => $_ENV['DB_DSN'] ?? '',
'hostname' => $_ENV['DB_HOSTNAME'] ?? 'enter_hostname',
'username' => $_ENV['DB_USERNAME'] ?? 'enter_db_username',
'password' => $_ENV['DB_PASSWORD'] ?? 'enter_db_password',
'database' => $_ENV['DB_DATABASE'] ?? 'enter_database_name',
'dbdriver' => $_ENV['DB_DRIVER'] ?? 'mysqli',
'dbprefix' => $_ENV['DB_PREFIX'] ?? '',
'pconnect' => false,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => false,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'char_set' => $_ENV['DB_CHARSET'] ?? 'utf8',
'dbcollat' => $_ENV['DB_COLLATION'] ?? 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => false,
'compress' => false,
Expand Down
26 changes: 13 additions & 13 deletions application/config/email.php
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<?php

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_crypto'] = 'tls'; // tls or ssl
$config['smtp_port'] = 587;
$config['smtp_user'] = '[email protected]';
$config['smtp_pass'] = 'senhadoemail';
$config['validate'] = true; // validar email
$config['mailtype'] = 'html'; // text ou html
$config['charset'] = 'utf-8';
$config['newline'] = "\r\n";
$config['bcc_batch_mode'] = false;
$config['wordwrap'] = false;
$config['priority'] = 3; // 1, 2, 3, 4, 5 | Email Priority. 1 = highest. 5 = lowest. 3 = normal.
$config['protocol'] = $_ENV['EMAIL_PROTOCOL'] ?? 'smtp';
$config['smtp_host'] = $_ENV['EMAIL_SMTP_HOST'] ?? 'smtp.gmail.com';
$config['smtp_crypto'] = $_ENV['EMAIL_SMTP_CRYPTO'] ?? 'tls'; // tls or ssl
$config['smtp_port'] = $_ENV['EMAIL_SMTP_PORT'] ?? 587;
$config['smtp_user'] = $_ENV['EMAIL_SMTP_USER'] ?? '[email protected]';
$config['smtp_pass'] = $_ENV['EMAIL_SMTP_PASS'] ?? 'senhadoemail';
$config['validate'] = isset($_ENV['EMAIL_VALIDATE']) ? filter_var($_ENV['EMAIL_VALIDATE'], FILTER_VALIDATE_BOOLEAN) : true; // validar email
$config['mailtype'] = $_ENV['EMAIL_MAILTYPE'] ?? 'html'; // text ou html
$config['charset'] = $_ENV['EMAIL_CHARSET'] ?? 'utf-8';
$config['newline'] = $_ENV['EMAIL_NEWLINE'] ?? "\r\n";
$config['bcc_batch_mode'] = isset($_ENV['EMAIL_BCC_BATCH_MODE']) ? filter_var($_ENV['EMAIL_BCC_BATCH_MODE'], FILTER_VALIDATE_BOOLEAN) : false;
$config['wordwrap'] = isset($_ENV['EMAIL_WORDWRAP']) ? filter_var($_ENV['EMAIL_WORDWRAP'], FILTER_VALIDATE_BOOLEAN) : false;
$config['priority'] = $_ENV['EMAIL_PRIORITY'] ?? 3; // 1, 2, 3, 4, 5 | Email Priority. 1 = highest. 5 = lowest. 3 = normal.
1 change: 0 additions & 1 deletion application/config/hooks.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,5 @@
'params' => []
];


/* End of file hooks.php */
/* Location: ./application/config/hooks.php */
34 changes: 17 additions & 17 deletions application/config/payment_gateways.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
'GerencianetSdk' => [
'name' => 'GerenciaNet (Efí)',
'library_name' => 'GerencianetSdk',
'production' => false,
'production' => isset($_ENV['PAYMENT_GATEWAYS_EFI_PRODUCTION']) ? filter_var($_ENV['PAYMENT_GATEWAYS_EFI_PRODUCTION'], FILTER_VALIDATE_BOOLEAN) : false,
'credentials' => [
'client_id' => '',
'client_secret' => ''
'client_id' => $_ENV['PAYMENT_GATEWAYS_EFI_CREDENTIAIS_CLIENT_ID'] ?? '',
'client_secret' => $_ENV['PAYMENT_GATEWAYS_EFI_CREDENTIAIS_CLIENT_SECRET'] ?? ''
],
'timeout' => 30,
'boleto_expiration' => 'P3D',
'timeout' => $_ENV['PAYMENT_GATEWAYS_EFI_TIMEOUT'] ?? 30,
'boleto_expiration' => $_ENV['PAYMENT_GATEWAYS_EFI_BOLETO_EXPIRATION'] ?? 'P3D',
'payment_methods' => [
[
'name' => 'Boleto',
Expand Down Expand Up @@ -44,15 +44,15 @@
'name' => 'MercadoPago',
'library_name' => 'MercadoPago',
'credentials' => [
'access_token' => '',
'public_key' => '',
'client_secret' => '',
'client_id' => '',
'integrator_id' => '',
'platform_id' => '',
'corporation_id' => ''
'access_token' => $_ENV['PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_ACCESS_TOKEN'] ?? '',
'public_key' => $_ENV['PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_PUBLIC_KEY'] ?? '',
'client_secret' => $_ENV['PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_CLIENT_ID'] ?? '',
'client_id' => $_ENV['PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_CLIENT_SECRET'] ?? '',
'integrator_id' => $_ENV['PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_INTEGRATOR_ID'] ?? '',
'platform_id' => $_ENV['PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_PLATFORM_ID'] ?? '',
'corporation_id' => $_ENV['PAYMENT_GATEWAYS_MERCADO_PAGO_CREDENTIALS_CORPORATION_ID'] ?? ''
],
'boleto_expiration' => 'P3D',
'boleto_expiration' => $_ENV['PAYMENT_GATEWAYS_MERCADO_PAGO_BOLETO_EXPIRATION'] ?? 'P3D',
'payment_methods' => [
[
'name' => 'Boleto',
Expand All @@ -74,12 +74,12 @@
'Asaas' => [
'name' => 'Asaas',
'library_name' => 'Asaas',
'production' => false,
'notify' => false,
'production' => isset($_ENV['PAYMENT_GATEWAYS_ASAAS_PRODUCTION']) ? filter_var($_ENV['PAYMENT_GATEWAYS_ASAAS_PRODUCTION'], FILTER_VALIDATE_BOOLEAN) : false,
'notify' => isset($_ENV['PAYMENT_GATEWAYS_ASAAS_NOTIFY']) ? filter_var($_ENV['PAYMENT_GATEWAYS_ASAAS_NOTIFY'], FILTER_VALIDATE_BOOLEAN) : false,
'credentials' => [
'api_key' => '',
'api_key' => $_ENV['PAYMENT_GATEWAYS_ASAAS_CREDENTIAIS_API_KEY'] ?? '',
],
'boleto_expiration' => 'P3D',
'boleto_expiration' => $_ENV['PAYMENT_GATEWAYS_ASAAS_BOLETO_EXPIRATION'] ?? 'P3D',
'payment_methods' => [
[
'name' => 'Boleto',
Expand Down
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
"mpdf/qrcode": "^1.1",
"phpoffice/phpword": "^0.18.0",
"piggly/php-pix": "^2.0",
"codephix/asaas-sdk": "dev-master"
"codephix/asaas-sdk": "dev-master",
"vlucas/phpdotenv": "^5.6"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.0",
Expand Down
Loading

0 comments on commit 5cd7673

Please sign in to comment.