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:
@@ -31,7 +31,8 @@ if (isset($_GET['stripe_create_pi'])) {
|
||||
// Query invoice details
|
||||
$invoice_sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM invoices
|
||||
"SELECT client_id, client_name, invoice_amount, invoice_currency_code, invoice_number,
|
||||
invoice_prefix FROM invoices
|
||||
LEFT JOIN clients ON invoice_client_id = client_id
|
||||
WHERE invoice_id = $invoice_id
|
||||
AND invoice_url_key = '$url_key'
|
||||
@@ -63,7 +64,7 @@ if (isset($_GET['stripe_create_pi'])) {
|
||||
}
|
||||
|
||||
// Setup Stripe from payment_providers
|
||||
$stripe_provider = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT * FROM payment_providers WHERE payment_provider_name = 'Stripe' LIMIT 1"));
|
||||
$stripe_provider = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT payment_provider_private_key FROM payment_providers WHERE payment_provider_name = 'Stripe' LIMIT 1"));
|
||||
if (!$stripe_provider) {
|
||||
exit("Stripe not enabled / configured");
|
||||
}
|
||||
|
||||
@@ -38,7 +38,8 @@ $approval_id = intval($_GET['task_approval_id']);
|
||||
$url_key = escapeSql($_GET['url_key']);
|
||||
|
||||
$task_row = mysqli_fetch_assoc(mysqli_query($mysqli,
|
||||
"SELECT * FROM task_approvals
|
||||
"SELECT approval_scope, approval_status, approval_type, task_id, task_name, ticket_details,
|
||||
ticket_number, ticket_prefix, ticket_priority, ticket_status_name, ticket_subject FROM task_approvals
|
||||
LEFT JOIN tasks ON approval_task_id = task_id
|
||||
LEFT JOIN tickets on task_ticket_id = ticket_id
|
||||
LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id
|
||||
|
||||
@@ -45,7 +45,7 @@ $feed_key = escapeSql($_GET['key']);
|
||||
|
||||
$sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM calendars
|
||||
"SELECT calendar_id, calendar_name FROM calendars
|
||||
WHERE calendar_feed_key = '$feed_key'
|
||||
AND calendar_feed_key IS NOT NULL
|
||||
AND calendar_archived_at IS NULL
|
||||
|
||||
@@ -15,7 +15,7 @@ if (isset($_GET['id']) && isset($_GET['key'])) {
|
||||
$item_id = intval($_GET['id']);
|
||||
$item_key = escapeSql($_GET['key']);
|
||||
|
||||
$sql = mysqli_query($mysqli, "SELECT * FROM shared_items WHERE item_id = $item_id AND item_key = '$item_key' AND item_expire_at > NOW() LIMIT 1");
|
||||
$sql = mysqli_query($mysqli, "SELECT item_active, item_client_id, item_related_id, item_type, item_view_limit, item_views FROM shared_items WHERE item_id = $item_id AND item_key = '$item_key' AND item_expire_at > NOW() LIMIT 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
|
||||
$item_active = intval($row['item_active']);
|
||||
@@ -49,7 +49,7 @@ if (isset($_GET['id']) && isset($_GET['key'])) {
|
||||
}
|
||||
}
|
||||
|
||||
$file_sql = mysqli_query($mysqli, "SELECT * FROM files WHERE file_id = $item_related_id AND file_client_id = $client_id LIMIT 1");
|
||||
$file_sql = mysqli_query($mysqli, "SELECT file_client_id, file_name, file_reference_name FROM files WHERE file_id = $item_related_id AND file_client_id = $client_id LIMIT 1");
|
||||
$file_row = mysqli_fetch_assoc($file_sql);
|
||||
|
||||
if (mysqli_num_rows($file_sql) !== 1 || !$file_row) {
|
||||
|
||||
@@ -5,7 +5,7 @@ require_once 'includes/inc_all_guest.php';
|
||||
DEFINE("WORDING_PAYMENT_FAILED", "<br><h2>There was an error verifying your payment. Please contact us for more information before attempting payment again.</h2>");
|
||||
|
||||
// --- Get Stripe config from payment_providers table ---
|
||||
$stripe_provider = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT * FROM payment_providers"));
|
||||
$stripe_provider = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT payment_provider_account, payment_provider_private_key, payment_provider_public_key FROM payment_providers"));
|
||||
|
||||
|
||||
$stripe_publishable = escapeHtml($stripe_provider['payment_provider_public_key']);
|
||||
@@ -21,7 +21,9 @@ if (isset($_GET['invoice_id'], $_GET['url_key']) && !isset($_GET['payment_intent
|
||||
// Query invoice details
|
||||
$sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM invoices
|
||||
"SELECT client_id, client_name, invoice_amount, invoice_currency_code, invoice_date,
|
||||
invoice_discount_amount, invoice_due, invoice_id, invoice_number, invoice_prefix,
|
||||
invoice_status FROM invoices
|
||||
LEFT JOIN clients ON invoice_client_id = client_id
|
||||
WHERE invoice_id = $invoice_id
|
||||
AND invoice_url_key = '$invoice_url_key'
|
||||
@@ -182,7 +184,8 @@ if (isset($_GET['invoice_id'], $_GET['url_key']) && !isset($_GET['payment_intent
|
||||
// Get/Check invoice (& client/primary contact)
|
||||
$invoice_sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM invoices
|
||||
"SELECT client_id, client_name, contact_email, contact_name, invoice_amount, invoice_currency_code,
|
||||
invoice_id, invoice_number, invoice_prefix, 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 = $pi_invoice_id
|
||||
@@ -206,7 +209,7 @@ if (isset($_GET['invoice_id'], $_GET['url_key']) && !isset($_GET['payment_intent
|
||||
$contact_name = escapeSql($row['contact_name']);
|
||||
$contact_email = escapeSql($row['contact_email']);
|
||||
|
||||
$sql_company = mysqli_query($mysqli, "SELECT * FROM companies WHERE company_id = 1");
|
||||
$sql_company = mysqli_query($mysqli, "SELECT company_locale, company_name, company_phone FROM companies WHERE company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql_company);
|
||||
$company_name = escapeSql($row['company_name']);
|
||||
$company_phone = escapeSql(formatPhoneNumber($row['company_phone']));
|
||||
@@ -252,7 +255,8 @@ if (isset($_GET['invoice_id'], $_GET['url_key']) && !isset($_GET['payment_intent
|
||||
mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Payment', log_action = 'Create', log_description = 'Stripe payment of $pi_currency $pi_amount_paid against invoice $invoice_prefix$invoice_number - $pi_id $extended_log_desc', log_ip = '$ip', log_user_agent = '$user_agent', log_client_id = $pi_client_id");
|
||||
|
||||
// Email Receipt
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT * FROM settings WHERE company_id = 1");
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT config_invoice_from_email, config_invoice_from_name,
|
||||
config_invoice_paid_notification_email, config_smtp_host FROM settings WHERE company_id = 1");
|
||||
$settings = mysqli_fetch_assoc($sql_settings);
|
||||
|
||||
$config_smtp_host = $settings['config_smtp_host'];
|
||||
|
||||
@@ -48,7 +48,9 @@ if (isset($_GET['accept_quote'], $_GET['url_key'])) {
|
||||
$row = mysqli_fetch_assoc($sql_company);
|
||||
$company_name = escapeSql($row['company_name']);
|
||||
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT * FROM settings WHERE company_id = 1");
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT config_quote_from_email, config_quote_from_name, config_quote_notification_email,
|
||||
config_smtp_encryption, config_smtp_host, config_smtp_password, config_smtp_port,
|
||||
config_smtp_username FROM settings WHERE company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql_settings);
|
||||
$config_smtp_host = $row['config_smtp_host'];
|
||||
$config_smtp_port = intval($row['config_smtp_port']);
|
||||
@@ -121,7 +123,9 @@ if (isset($_GET['decline_quote'], $_GET['url_key'])) {
|
||||
$row = mysqli_fetch_assoc($sql_company);
|
||||
$company_name = escapeSql($row['company_name']);
|
||||
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT * FROM settings WHERE company_id = 1");
|
||||
$sql_settings = mysqli_query($mysqli, "SELECT config_quote_from_email, config_quote_from_name, config_quote_notification_email,
|
||||
config_smtp_encryption, config_smtp_host, config_smtp_password, config_smtp_port,
|
||||
config_smtp_username FROM settings WHERE company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql_settings);
|
||||
$config_smtp_host = $row['config_smtp_host'];
|
||||
$config_smtp_port = intval($row['config_smtp_port']);
|
||||
@@ -253,7 +257,8 @@ if (isset($_GET['approve_ticket_task'])) {
|
||||
$approval_id = intval($_GET['approval_id']);
|
||||
$url_key = escapeSql($_GET['approval_url_key']);
|
||||
|
||||
$approval_row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT * FROM task_approvals LEFT JOIN tasks on task_id = approval_task_id WHERE approval_id = $approval_id AND approval_task_id = $task_id AND approval_url_key = '$url_key' AND approval_status = 'pending'"));
|
||||
$approval_row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT approval_created_by, approval_required_user_id, approval_scope, approval_type, task_name,
|
||||
task_ticket_id FROM task_approvals LEFT JOIN tasks on task_id = approval_task_id WHERE approval_id = $approval_id AND approval_task_id = $task_id AND approval_url_key = '$url_key' AND approval_status = 'pending'"));
|
||||
|
||||
$task_name = escapeHtml($approval_row['task_name']);
|
||||
$scope = escapeHtml($approval_row['approval_scope']);
|
||||
@@ -287,7 +292,12 @@ if (isset($_GET['export_quote_pdf'])) {
|
||||
|
||||
$sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM quotes
|
||||
"SELECT client_currency_code, client_id, client_name, client_net_terms, client_website,
|
||||
contact_email, contact_extension, contact_mobile, contact_mobile_country_code,
|
||||
contact_phone, contact_phone_country_code, location_address, location_city,
|
||||
location_country, location_state, location_zip, quote_amount, quote_category_id,
|
||||
quote_created_at, quote_currency_code, quote_date, quote_discount_amount, quote_expire,
|
||||
quote_id, quote_note, quote_number, quote_prefix, quote_scope, quote_status, quote_url_key FROM quotes
|
||||
LEFT JOIN clients ON quote_client_id = client_id
|
||||
LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1
|
||||
LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1
|
||||
@@ -332,7 +342,9 @@ if (isset($_GET['export_quote_pdf'])) {
|
||||
$client_net_terms = $config_default_net_terms;
|
||||
}
|
||||
|
||||
$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_address, company_city, company_country, company_email, settings.company_id,
|
||||
company_locale, company_logo, company_name, company_phone, company_phone_country_code,
|
||||
company_state, company_website, company_zip FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
|
||||
$company_id = intval($row['company_id']);
|
||||
@@ -488,7 +500,13 @@ if (isset($_GET['export_invoice_pdf'])) {
|
||||
|
||||
$sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM invoices
|
||||
"SELECT client_currency_code, client_id, client_name, client_net_terms, client_website,
|
||||
contact_email, contact_extension, contact_mobile, contact_mobile_country_code,
|
||||
contact_phone, contact_phone_country_code, invoice_amount, invoice_category_id,
|
||||
invoice_created_at, invoice_currency_code, invoice_date, invoice_discount_amount,
|
||||
invoice_due, invoice_id, invoice_note, invoice_number, invoice_prefix, invoice_scope,
|
||||
invoice_status, invoice_url_key, location_address, location_city, location_country,
|
||||
location_state, location_zip 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
|
||||
LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1
|
||||
@@ -533,7 +551,9 @@ if (isset($_GET['export_invoice_pdf'])) {
|
||||
$client_net_terms = $config_default_net_terms;
|
||||
}
|
||||
|
||||
$sql = mysqli_query($mysqli, "SELECT * FROM companies WHERE company_id = 1");
|
||||
$sql = mysqli_query($mysqli, "SELECT company_address, company_city, company_country, company_email, company_id, company_locale,
|
||||
company_logo, company_name, company_phone, company_phone_country_code, company_state,
|
||||
company_tax_id, company_website, company_zip FROM companies WHERE company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
$company_id = intval($row['company_id']);
|
||||
$company_name = escapeHtml($row['company_name']);
|
||||
@@ -757,7 +777,7 @@ if (isset($_POST['guest_quote_upload_file'])) {
|
||||
$dest_path = $upload_file_dir . $file_reference_name;
|
||||
|
||||
// Get/Create a top-level folder called Client Uploads
|
||||
$folder_sql = mysqli_query($mysqli, "SELECT * FROM folders WHERE folder_name = 'Client Uploads' AND parent_folder = 0 AND folder_client_id = $client_id LIMIT 1");
|
||||
$folder_sql = mysqli_query($mysqli, "SELECT folder_id FROM folders WHERE folder_name = 'Client Uploads' AND parent_folder = 0 AND folder_client_id = $client_id LIMIT 1");
|
||||
if (mysqli_num_rows($folder_sql) == 1) {
|
||||
// Get
|
||||
$row = mysqli_fetch_assoc($folder_sql);
|
||||
|
||||
@@ -14,7 +14,12 @@ $invoice_id = intval($_GET['invoice_id']);
|
||||
|
||||
$sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM invoices
|
||||
"SELECT client_currency_code, client_id, client_name, client_net_terms, client_website,
|
||||
contact_email, contact_extension, contact_mobile, contact_mobile_country_code,
|
||||
contact_phone, contact_phone_country_code, invoice_amount, invoice_category_id,
|
||||
invoice_currency_code, invoice_date, invoice_discount_amount, invoice_due, invoice_id,
|
||||
invoice_note, invoice_number, invoice_prefix, invoice_status, location_address,
|
||||
location_city, location_country, location_state, location_zip FROM invoices
|
||||
LEFT JOIN clients ON invoice_client_id = client_id
|
||||
LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1
|
||||
LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1
|
||||
@@ -61,7 +66,9 @@ $client_website = escapeHtml($row['client_website']);
|
||||
$client_currency_code = escapeHtml($row['client_currency_code']);
|
||||
$client_net_terms = intval($row['client_net_terms']);
|
||||
|
||||
$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_address, company_city, company_country, company_email, company_locale,
|
||||
company_logo, company_name, company_phone, company_phone_country_code, company_state,
|
||||
company_tax_id, company_website, company_zip, config_invoice_footer FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
|
||||
$company_name = escapeHtml($row['company_name']);
|
||||
@@ -88,7 +95,7 @@ $company_locale = escapeHtml($row['company_locale']);
|
||||
$config_invoice_footer = escapeHtml($row['config_invoice_footer']);
|
||||
|
||||
// Get Payment Provide Details
|
||||
$sql = mysqli_query($mysqli, "SELECT * FROM payment_providers WHERE payment_provider_active = 1 LIMIT 1");
|
||||
$sql = mysqli_query($mysqli, "SELECT payment_provider_id, payment_provider_name, payment_provider_threshold FROM payment_providers WHERE payment_provider_active = 1 LIMIT 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
$payment_provider_id = intval($row['payment_provider_id']);
|
||||
$payment_provider_name = escapeHtml($row['payment_provider_name']);
|
||||
|
||||
@@ -15,7 +15,9 @@ $purifier_config->set('Cache.DefinitionImpl', null); // Disable cache by setting
|
||||
$purifier_config->set('URI.AllowedSchemes', ['data' => true, 'src' => true, 'http' => true, 'https' => true]);
|
||||
$purifier = new HTMLPurifier($purifier_config);
|
||||
|
||||
$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_address, company_city, company_email, company_locale, company_logo, company_name,
|
||||
company_phone, company_phone_country_code, company_state, company_website, company_zip,
|
||||
config_invoice_footer FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
|
||||
$company_name = escapeHtml($row['company_name']);
|
||||
@@ -47,7 +49,9 @@ if (!isset($_GET['id']) || !isset($_GET['key'])) {
|
||||
$item_id = intval($_GET['id']);
|
||||
$item_key = escapeSql($_GET['key']);
|
||||
|
||||
$sql = mysqli_query($mysqli, "SELECT * FROM shared_items WHERE item_id = $item_id AND item_key = '$item_key' AND item_expire_at > NOW() LIMIT 1");
|
||||
$sql = mysqli_query($mysqli, "SELECT item_active, item_client_id, item_created_at, item_encrypted_credential,
|
||||
item_encrypted_username, item_expire_at, item_note, item_recipient, item_related_id,
|
||||
item_type, item_view_limit, item_views FROM shared_items WHERE item_id = $item_id AND item_key = '$item_key' AND item_expire_at > NOW() LIMIT 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
|
||||
// Check we got a result
|
||||
@@ -171,7 +175,7 @@ if ($item_type == "Document") {
|
||||
} elseif ($item_type == "Credential") {
|
||||
$encryption_key = $_GET['ek'];
|
||||
|
||||
$credential_sql = mysqli_query($mysqli, "SELECT * FROM credentials WHERE credential_id = $item_related_id AND credential_client_id = $client_id LIMIT 1");
|
||||
$credential_sql = mysqli_query($mysqli, "SELECT credential_id, credential_name, credential_note, credential_otp_secret, credential_uri FROM credentials WHERE credential_id = $item_related_id AND credential_client_id = $client_id LIMIT 1");
|
||||
$credential_row = mysqli_fetch_assoc($credential_sql);
|
||||
if (mysqli_num_rows($credential_sql) !== 1 || !$credential_row) {
|
||||
echo "<div class='alert alert-danger'>Error retrieving login.</div>";
|
||||
|
||||
@@ -16,7 +16,12 @@ $quote_id = intval($_GET['quote_id']);
|
||||
|
||||
$sql = mysqli_query(
|
||||
$mysqli,
|
||||
"SELECT * FROM quotes
|
||||
"SELECT client_currency_code, client_id, client_name, client_website, contact_email,
|
||||
contact_extension, contact_mobile, contact_mobile_country_code, contact_phone,
|
||||
contact_phone_country_code, location_address, location_city, location_country,
|
||||
location_state, location_zip, quote_amount, quote_currency_code, quote_date,
|
||||
quote_discount_amount, quote_expire, quote_id, quote_note, quote_number, quote_prefix,
|
||||
quote_status FROM quotes
|
||||
LEFT JOIN clients ON quote_client_id = client_id
|
||||
LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1
|
||||
LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1
|
||||
@@ -61,7 +66,9 @@ $contact_mobile = escapeHtml(formatPhoneNumber($row['contact_mobile'], $contact_
|
||||
$client_website = escapeHtml($row['client_website']);
|
||||
$client_currency_code = escapeHtml($row['client_currency_code']);
|
||||
|
||||
$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_address, company_city, company_country, company_email, company_locale,
|
||||
company_logo, company_name, company_phone, company_phone_country_code, company_state,
|
||||
company_website, company_zip, config_quote_footer FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1");
|
||||
$row = mysqli_fetch_assoc($sql);
|
||||
$company_name = escapeHtml($row['company_name']);
|
||||
$company_address = escapeHtml($row['company_address']);
|
||||
|
||||
Reference in New Issue
Block a user