mirror of
https://github.com/itflow-org/itflow
synced 2026-08-10 17:47:16 +00:00
More sweeps to replace select * with actual returned column names dramatically reduces php memory usage and speeds up processing dramatically especially in the crons since they run all the time
This commit is contained in:
@@ -18,7 +18,7 @@ require_once "../config.php";
|
||||
require_once "../includes/inc_set_timezone.php";
|
||||
require_once "../functions.php";
|
||||
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT * FROM settings WHERE settings.company_id = 1");
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT config_backup_cron_type, config_enable_cron FROM settings WHERE settings.company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql_settings);
|
||||
|
||||
$config_enable_cron = intval($row['config_enable_cron']);
|
||||
|
||||
@@ -19,7 +19,7 @@ require_once "../includes/inc_set_timezone.php";
|
||||
require_once "../functions.php";
|
||||
|
||||
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT * FROM settings WHERE settings.company_id = 1");
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT config_enable_cron FROM settings WHERE settings.company_id = 1");
|
||||
|
||||
$row = mysqli_fetch_assoc($sql_settings);
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ function cronJobClaim($mysqli, array $job): bool
|
||||
cron_job_interval_minutes = $default_interval,
|
||||
cron_job_daily_at = $default_daily_at");
|
||||
|
||||
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT * FROM cron_jobs WHERE cron_job_name = '$name' LIMIT 1"));
|
||||
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT cron_job_daily_at, cron_job_enabled, cron_job_interval_minutes, cron_job_schedule FROM cron_jobs WHERE cron_job_name = '$name' LIMIT 1"));
|
||||
|
||||
if (!$row) {
|
||||
return false;
|
||||
|
||||
@@ -18,7 +18,7 @@ require_once "../config.php";
|
||||
require_once "../includes/inc_set_timezone.php";
|
||||
require_once "../functions.php";
|
||||
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT * FROM settings WHERE settings.company_id = 1");
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT config_enable_cron FROM settings WHERE settings.company_id = 1");
|
||||
|
||||
$row = mysqli_fetch_assoc($sql_settings);
|
||||
|
||||
|
||||
@@ -54,7 +54,11 @@ class StaticTokenProvider implements OAuthTokenProvider {
|
||||
/** =======================================================================
|
||||
* Load settings
|
||||
* ======================================================================= */
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT * FROM settings WHERE company_id = 1");
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT config_enable_cron, config_mail_oauth_access_token,
|
||||
config_mail_oauth_access_token_expires_at, config_mail_oauth_client_id,
|
||||
config_mail_oauth_client_secret, config_mail_oauth_refresh_token,
|
||||
config_mail_oauth_tenant_id, config_smtp_encryption, config_smtp_host,
|
||||
config_smtp_password, config_smtp_port, config_smtp_provider, config_smtp_username FROM settings WHERE company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql_settings);
|
||||
|
||||
$config_enable_cron = intval($row['config_enable_cron']);
|
||||
|
||||
@@ -26,7 +26,20 @@ require_once "../config.php";
|
||||
require_once "../includes/inc_set_timezone.php";
|
||||
require_once "../functions.php";
|
||||
|
||||
$sql_companies = mysqli_query($mysqli, "SELECT * FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1");
|
||||
$sql_companies = mysqli_query($mysqli, "SELECT company_city, company_country, company_currency, company_email, company_locale,
|
||||
company_name, company_phone, company_phone_country_code, company_state, company_website,
|
||||
config_enable_alert_domain_expire, config_enable_cron, config_invoice_from_email,
|
||||
config_invoice_from_name, config_invoice_late_fee_enable, config_invoice_late_fee_percent,
|
||||
config_invoice_prefix, config_log_retention, config_login_remember_me_expire,
|
||||
config_mail_from_email, config_mail_from_name, config_module_enable_accounting,
|
||||
config_module_enable_itdoc, config_module_enable_ticketing,
|
||||
config_recurring_auto_send_invoice, config_send_invoice_reminders, config_smtp_encryption,
|
||||
config_smtp_host, config_smtp_password, config_smtp_port, config_smtp_provider,
|
||||
config_smtp_username, config_telemetry, config_theme, config_ticket_autoclose_hours,
|
||||
config_ticket_client_general_notifications, config_ticket_email_parse,
|
||||
config_ticket_from_email, config_ticket_from_name,
|
||||
config_ticket_new_ticket_notification_email, config_ticket_prefix,
|
||||
config_whitelabel_enabled, config_whitelabel_key FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1");
|
||||
|
||||
$row = mysqli_fetch_assoc($sql_companies);
|
||||
|
||||
@@ -739,7 +752,8 @@ while ($row = mysqli_fetch_assoc($sql_recurring_invoices)) {
|
||||
// Get details of the newly generated invoice
|
||||
$sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM invoices
|
||||
"SELECT client_id, client_name, contact_email, contact_name, invoice_amount, invoice_date,
|
||||
invoice_due, invoice_number, invoice_prefix, invoice_scope, invoice_url_key FROM invoices
|
||||
LEFT JOIN clients ON invoice_client_id = client_id
|
||||
LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1
|
||||
WHERE invoice_id = $new_invoice_id"
|
||||
@@ -868,7 +882,8 @@ while ($row = mysqli_fetch_assoc($sql_recurring_payments)) {
|
||||
if ($recurring_payment_saved_payment_id) {
|
||||
// Get the saved payment method and provider details
|
||||
$saved_payment = mysqli_fetch_assoc(mysqli_query($mysqli, "
|
||||
SELECT * FROM client_saved_payment_methods
|
||||
SELECT payment_provider_account, payment_provider_id, payment_provider_name,
|
||||
payment_provider_private_key, saved_payment_description, saved_payment_provider_method FROM client_saved_payment_methods
|
||||
LEFT JOIN payment_providers ON saved_payment_provider_id = payment_provider_id
|
||||
WHERE saved_payment_id = $recurring_payment_saved_payment_id
|
||||
AND saved_payment_client_id = $client_id
|
||||
|
||||
@@ -37,7 +37,7 @@ $config_ticket_from_name = escapeSql($config_ticket_from_name);
|
||||
$config_ticket_email_parse_unknown_senders = intval($row['config_ticket_email_parse_unknown_senders']);
|
||||
|
||||
// Get company name & phone & timezone
|
||||
$sql = mysqli_query($mysqli, "SELECT * FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1");
|
||||
$sql = mysqli_query($mysqli, "SELECT company_name, company_phone, company_phone_country_code FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
$company_name = escapeSql($row['company_name']);
|
||||
$company_phone = escapeSql(formatPhoneNumber($row['company_phone'], $row['company_phone_country_code']));
|
||||
@@ -764,7 +764,7 @@ foreach ($messages as $message) {
|
||||
} else {
|
||||
// Else: check if sender domain is registered
|
||||
$from_domain_esc = mysqli_real_escape_string($mysqli, $from_domain);
|
||||
$domain_sql = mysqli_query($mysqli, "SELECT * FROM domains WHERE domain_name = '$from_domain_esc' AND domain_archived_at IS NULL LIMIT 1");
|
||||
$domain_sql = mysqli_query($mysqli, "SELECT domain_client_id, domain_name FROM domains WHERE domain_name = '$from_domain_esc' AND domain_archived_at IS NULL LIMIT 1");
|
||||
$domain_row = mysqli_fetch_assoc($domain_sql);
|
||||
|
||||
if ($domain_row && $from_domain == $domain_row['domain_name']) {
|
||||
@@ -816,7 +816,7 @@ foreach ($messages as $message) {
|
||||
// 4. A known domain?
|
||||
if (!$email_processed) {
|
||||
$from_domain_esc = mysqli_real_escape_string($mysqli, $from_domain);
|
||||
$domain_sql = mysqli_query($mysqli, "SELECT * FROM domains WHERE domain_name = '$from_domain_esc' AND domain_archived_at IS NULL LIMIT 1");
|
||||
$domain_sql = mysqli_query($mysqli, "SELECT domain_client_id, domain_name FROM domains WHERE domain_name = '$from_domain_esc' AND domain_archived_at IS NULL LIMIT 1");
|
||||
$rowd = mysqli_fetch_assoc($domain_sql);
|
||||
|
||||
if ($rowd && $from_domain == $rowd['domain_name']) {
|
||||
|
||||
Reference in New Issue
Block a user