Created
March 4, 2025 08:13
-
-
Save amirhmoradi/a0ce7af23c9ace850a70e1a8b3941ab7 to your computer and use it in GitHub Desktop.
Updated Full Perfex Hook List - For Perfex CRM Developers - Perfex CRM v3.2.1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Updated Full Perfex Hook List - For Perfex CRM Developers - Perfex CRM v3.2.1 | |
## File: <perfexcrm_root>/application/controllers/Authentication.php: | |
10: hooks()->do_action('clients_authentication_constructor', $this); | |
61: hooks()->do_action('after_contact_login'); | |
217: hooks()->do_action('after_client_register', $clientid); | |
239: hooks()->do_action('after_client_register_logged_in', $clientid); | |
307: hooks()->do_action('before_user_reset_password', [ | |
320: hooks()->do_action('after_user_reset_password', [ | |
341: hooks()->do_action('after_client_logout'); | |
## File: <perfexcrm_root>/application/controllers/Clients.php: | |
19: hooks()->do_action('after_clients_area_init', $this); | |
356: $total_tasks = hooks()->apply_filters('client_project_total_tasks', $total_tasks, $id); | |
363: $data['tasks_not_completed'] = hooks()->apply_filters('client_project_tasks_not_completed', $data['tasks_not_completed'], $id); | |
370: $data['tasks_completed'] = hooks()->apply_filters('client_project_tasks_completed', $data['tasks_completed'], $id); | |
534: $files_where = hooks()->apply_filters('customers_area_files_where', $files_where); | |
637: $defaultStatuses = hooks()->apply_filters('customers_area_list_default_ticket_statuses', [1, 2, 3, 4]); | |
1176: hooks()->do_action('before_remove_contact_profile_image', $id); | |
1226: $sessionData = hooks()->apply_filters('stripe_update_credit_card_session_data', $sessionData, $contact); | |
## File: <perfexcrm_root>/application/controllers/Contacts.php: | |
30: hooks()->do_action('after_clients_area_init', $this); | |
## File: <perfexcrm_root>/application/controllers/Contract.php: | |
56: $data['contract'] = hooks()->apply_filters('contract_html_pdf_data', $contract); | |
64: hooks()->do_action('contract_html_viewed', $id); | |
66: $data = hooks()->apply_filters('contract_customers_area_view_data', $data); | |
## File: <perfexcrm_root>/application/controllers/Cron.php: | |
17: $seconds = hooks()->apply_filters('cron_functions_execute_seconds', 300); | |
## File: <perfexcrm_root>/application/controllers/Download.php: | |
39: hooks()->do_action('before_output_preview_video'); | |
83: hooks()->do_action('before_output_preview_image'); | |
234: $path = hooks()->apply_filters('download_file_path', $path, [ | |
## File: <perfexcrm_root>/application/controllers/Estimate.php: | |
67: $filename = hooks()->apply_filters('customers_area_download_estimate_filename', mb_strtoupper(slug_it($estimate_number), 'UTF-8') . '.pdf', $estimate); | |
83: $data['estimate'] = hooks()->apply_filters('estimate_html_pdf_data', $estimate); | |
92: hooks()->do_action('estimate_html_viewed', $id); | |
## File: <perfexcrm_root>/application/controllers/Forms.php: | |
182: hooks()->do_action('estimate_requests_created', [ | |
246: hooks()->do_action('estimate_request_form_submitted', [ | |
463: $task_data = hooks()->apply_filters('before_add_task', $task_data); | |
479: hooks()->do_action('after_add_task', $task_id); | |
505: hooks()->do_action('lead_created', [ | |
581: hooks()->do_action('web_to_lead_form_submitted', [ | |
681: hooks()->do_action('view_public_ticket', $ticket); | |
718: hooks()->add_action('app_customers_footer', 'ticket_public_form_customers_footer'); | |
721: $navigationDisabled = hooks()->apply_filters('disable_navigation_on_public_ticket_view', true); | |
747: $form = hooks()->apply_filters('ticket_form_settings', $form); | |
805: $post_data = hooks()->apply_filters('ticket_external_form_insert_data', $post_data); | |
813: hooks()->do_action('ticket_form_submitted', [ | |
## File: <perfexcrm_root>/application/controllers/Invoice.php: | |
12: $invoice = hooks()->apply_filters('before_client_view_invoice', $invoice); | |
72: $data['invoice'] = hooks()->apply_filters('invoice_html_pdf_data', $invoice); | |
77: hooks()->do_action('invoice_html_viewed', $id); | |
## File: <perfexcrm_root>/application/controllers/Knowledge_base.php: | |
15: hooks()->do_action('customers_area_knowledge_base_construct'); | |
62: hooks()->add_action('app_customers_head', function () { | |
## File: <perfexcrm_root>/application/controllers/Migration.php: | |
212: $tables = hooks()->apply_filters('migration_tables_to_replace_old_links', $tables); | |
## File: <perfexcrm_root>/application/controllers/Proposal.php: | |
94: $data['proposal'] = hooks()->apply_filters('proposal_html_pdf_data', $proposal); | |
106: hooks()->do_action('proposal_html_viewed', $id); | |
108: $data = hooks()->apply_filters('proposal_customers_area_view_data', $data); | |
## File: <perfexcrm_root>/application/controllers/Subscription.php: | |
143: $sessionData = hooks()->apply_filters('stripe_subscription_session_data', $sessionData, $subscription_hash); | |
## File: <perfexcrm_root>/application/controllers/Verification.php: | |
51: hooks()->do_action('contact_email_verified_but_requires_admin_confirmation', $contact); | |
55: hooks()->do_action('contact_email_verified', $contact); | |
## File: <perfexcrm_root>/application/controllers/admin/Authentication.php: | |
28: hooks()->do_action('admin_auth_init'); | |
87: hooks()->do_action('after_staff_login'); | |
121: hooks()->do_action('after_staff_login'); | |
132: hooks()->do_action('after_staff_login'); | |
180: hooks()->do_action('before_user_reset_password', [ | |
188: hooks()->do_action('after_user_reset_password', [ | |
237: hooks()->do_action('after_user_logout'); | |
## File: <perfexcrm_root>/application/controllers/admin/Auto_update.php: | |
14: hooks()->do_action('before_perform_update', $latest_version); | |
## File: <perfexcrm_root>/application/controllers/admin/Clients.php: | |
157: $data['vault_entries'] = hooks()->apply_filters('check_vault_entries_visibility', $this->clients_model->get_vault_entries($id)); | |
648: hooks()->do_action('after_contact_login'); | |
876: hooks()->do_action('before_do_bulk_action_for_customers'); | |
## File: <perfexcrm_root>/application/controllers/admin/Dashboard.php: | |
55: $data['projects_activity'] = $this->projects_model->get_activity('', hooks()->apply_filters('projects_activity_dashboard_limit', 20)); | |
86: $data = hooks()->apply_filters('before_dashboard_render', $data); | |
## File: <perfexcrm_root>/application/controllers/admin/Emails.php: | |
240: hooks()->do_action('before_send_test_smtp_email'); | |
272: hooks()->do_action('smtp_test_email_success'); | |
276: hooks()->do_action('smtp_test_email_failed'); | |
## File: <perfexcrm_root>/application/controllers/admin/Estimates.php: | |
541: $fileNameHookData = hooks()->apply_filters('estimate_file_name_admin_area', [ | |
## File: <perfexcrm_root>/application/controllers/admin/Expenses.php: | |
164: hooks()->do_action('before_do_bulk_action_for_expenses'); | |
## File: <perfexcrm_root>/application/controllers/admin/Invoice_items.php: | |
172: hooks()->do_action('before_do_bulk_action_for_items'); | |
## File: <perfexcrm_root>/application/controllers/admin/Invoices.php: | |
309: if (hooks()->apply_filters('validate_invoice_number', true)) { | |
341: if (hooks()->apply_filters('validate_invoice_number', true) && isset($invoice_data['number'])) { | |
682: $invoice = hooks()->apply_filters('before_admin_view_invoice_pdf', $invoice); | |
## File: <perfexcrm_root>/application/controllers/admin/Leads.php: | |
179: $data = hooks()->apply_filters('lead_view_data', $data); | |
605: hooks()->do_action('lead_converted_to_customer', ['lead_id' => $data['leadid'], 'customer_id' => $id]); | |
813: $fields = hooks()->apply_filters('lead_form_available_database_fields', $fields); | |
1269: hooks()->do_action('before_do_bulk_action_for_leads'); | |
## File: <perfexcrm_root>/application/controllers/admin/Misc.php: | |
494: hooks()->do_action('before_change_maximum_number_of_digits_to_decimal_fields'); | |
536: hooks()->do_action('before_change_decimal_places'); | |
## File: <perfexcrm_root>/application/controllers/admin/Newsfeed.php: | |
371: hooks()->do_action('before_pin_post', $id); | |
381: hooks()->do_action('before_unpin_post', $id); | |
458: hooks()->do_action('before_delete_post', $postid); | |
## File: <perfexcrm_root>/application/controllers/admin/Projects.php: | |
266: $__total_where_tasks = hooks()->apply_filters('admin_total_project_tasks_where', $__total_where_tasks, $id); | |
350: $data['default_tickets_list_statuses'] = hooks()->apply_filters('default_tickets_list_statuses', [1, 2, 4]); | |
728: hooks()->do_action('before_do_bulk_action_for_project_files'); | |
## File: <perfexcrm_root>/application/controllers/admin/Proposals.php: | |
358: hooks()->do_action('proposal_converted_to_estimate', ['proposal_id' => $id, 'estimate_id' => $estimate_id]); | |
390: hooks()->do_action('after_proposal_converted_to_invoice', ['proposal_id' => $id, 'invoice_id' => $invoice_id]); | |
## File: <perfexcrm_root>/application/controllers/admin/Settings.php: | |
34: hooks()->do_action('before_update_system_options', $post_data); | |
193: hooks()->do_action('before_remove_company_logo'); | |
215: hooks()->do_action('before_remove_favicon'); | |
## File: <perfexcrm_root>/application/controllers/admin/Staff.php: | |
31: hooks()->do_action('staff_member_edit_view_profile', $id); | |
123: hooks()->do_action('before_save_dashboard_widgets_order'); | |
136: hooks()->do_action('before_save_dashboard_widgets_visibility'); | |
152: hooks()->do_action('before_save_hidden_table_columns'); | |
161: hooks()->do_action('before_staff_change_language', $lang); | |
209: hooks()->do_action('edit_logged_in_staff_profile'); | |
247: hooks()->do_action('before_remove_staff_profile_image'); | |
289: hooks()->do_action('staff_profile_access', $id); | |
443: hooks()->do_action('before_save_completed_checklist_visibility'); | |
## File: <perfexcrm_root>/application/controllers/admin/Tasks.php: | |
146: $data = hooks()->apply_filters('before_update_task', [ | |
153: hooks()->do_action('after_update_task', $id); | |
580: hooks()->do_action('task_checklist_item_finished', $listid); | |
882: $data = hooks()->apply_filters('before_update_task', ['priority' => $priority_id], $id); | |
889: hooks()->do_action('after_update_task', $id); | |
931: $data = hooks()->apply_filters('before_update_task', [ | |
938: hooks()->do_action('after_update_task', $task_id); | |
1106: $data = hooks()->apply_filters('before_update_task', [ | |
1112: hooks()->do_action('after_update_task', $id); | |
1118: hooks()->do_action('before_do_bulk_action_for_tasks'); | |
## File: <perfexcrm_root>/application/controllers/admin/Tickets.php: | |
62: $data['default_tickets_list_statuses'] = hooks()->apply_filters('default_tickets_list_statuses', [1, 2, 4]); | |
729: hooks()->do_action('before_do_bulk_action_for_tickets'); | |
## File: <perfexcrm_root>/application/controllers/admin/Utilities.php: | |
272: $opts = hooks()->apply_filters('before_init_media', $opts); | |
365: $data['bulk_pdf_export_available_features'] = hooks()->apply_filters( | |
## File: <perfexcrm_root>/application/controllers/gateways/Stripe.php: | |
213: hooks()->do_action('customer_subscribed_to_subscription', $dbSubscription); | |
## File: <perfexcrm_root>/application/core/AdminController.php: | |
13: hooks()->do_action('pre_upgrade_database'); | |
21: hooks()->do_action('pre_admin_init'); | |
73: hooks()->do_action('admin_init'); | |
90: $vars = hooks()->apply_filters('admin_area_auto_loaded_vars', $vars); | |
## File: <perfexcrm_root>/application/core/App_Controller.php: | |
93: hooks()->do_action('app_init'); | |
## File: <perfexcrm_root>/application/core/App_Loader.php: | |
22: $hook_data = hooks()->apply_filters('app_view_data', ['data' => $_ci_vars, 'path' => $_ci_view]); | |
## File: <perfexcrm_root>/application/core/App_Model.php: | |
22: hooks()->do_action('model_init', $this); | |
## File: <perfexcrm_root>/application/core/App_Security.php: | |
19: $exclude_uris = hooks()->apply_filters( | |
## File: <perfexcrm_root>/application/helpers/admin_helper.php: | |
10: hooks()->do_action('app_admin_head'); | |
25: hooks()->do_action('app_admin_footer'); | |
155: return hooks()->apply_filters('staff_can', $retVal, $capability, $feature, $staff_id); | |
161: return hooks()->apply_filters('staff_can', true, $capability, $feature, $staff_id); | |
165: return hooks()->apply_filters('staff_can', false, $capability, $feature, $staff_id); | |
238: hooks()->do_action('after_load_admin_language', $language); | |
337: $classes = hooks()->apply_filters('admin_body_class', $classes); | |
577: hooks()->add_action('ticket_created', [new PopupMessage('app\services\messages\FirstTicketCreated'), 'check']); | |
578: hooks()->add_action('lead_created', [new PopupMessage('app\services\messages\FirstLeadCreated'), 'check']); | |
579: hooks()->add_action('new_tag_created', [new PopupMessage('app\services\messages\FirstTagCreated'), 'check']); | |
580: hooks()->add_action('task_timer_started', [new PopupMessage('app\services\messages\StartTimersWithNoTasks'), 'check']); | |
581: hooks()->add_action('task_checklist_item_created', [new PopupMessage('app\services\messages\ReOrderTaskChecklistItems'), 'check']); | |
582: hooks()->add_action('smtp_test_email_success', [new PopupMessage('app\services\messages\MailConfigured'), 'check']); | |
586: hooks()->add_action('before_start_render_dashboard_content', '_maybe_show_just_updated_message'); | |
588: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\ModSecurityEnabled'), 'check']); | |
590: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\StaticIndexHtml'), 'check']); | |
592: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\DevelopmentEnvironment'), 'check']); | |
594: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\IsCronSetupRequired'), 'check']); | |
596: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\IsBaseUrlChangeRequired'), 'check']); | |
598: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\Timezone'), 'check']); | |
600: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\CloudFlare'), 'check']); | |
602: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\Iconv'), 'check']); | |
604: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\DatabaseNameHasDot'), 'check']); | |
606: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\TcpdfFileMissing'), 'check']); | |
608: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\CronJobFailure'), 'check']); | |
610: hooks()->add_action('before_start_render_dashboard_content', [new Message('app\services\messages\PhpVersionNotice'), 'check']); | |
## File: <perfexcrm_root>/application/helpers/assets_helper.php: | |
5: hooks()->add_action('admin_auth_init', 'init_admin_auth_assets'); | |
6: hooks()->add_action('app_admin_assets', '_init_admin_assets'); | |
10: hooks()->do_action('app_admin_assets'); | |
16: hooks()->do_action('app_client_assets'); | |
18: hooks()->do_action('app_client_assets_added'); | |
98: hooks()->do_action('app_admin_assets_added'); | |
## File: <perfexcrm_root>/application/helpers/clients_helper.php: | |
83: return hooks()->apply_filters('is_client_id_used', $total > 0 ? true : false, $id); | |
94: return hooks()->apply_filters('customer_has_subscriptions', total_rows(db_prefix() . 'subscriptions', ['clientid' => $id]) > 0); | |
167: return hooks()->apply_filters('client_filtered_visible_tabs', $newTabs); | |
437: return hooks()->apply_filters('is_client_using_multiple_currencies', $retVal, [ | |
776: hooks()->do_action('after_load_client_language', $language); | |
807: return hooks()->apply_filters('customer_have_transactions', $total > 0, $id); | |
850: return hooks()->apply_filters('get_contact_permissions', $permissions); | |
1242: return hooks()->apply_filters('all_client_attachments', $attachments, $id); | |
1363: return hooks()->apply_filters('automatic_calling_codes_enabled', true); | |
## File: <perfexcrm_root>/application/helpers/core_hooks_helper.php: | |
8: hooks()->add_filter('check_vault_entries_visibility', '_check_vault_entries_visibility'); | |
9: hooks()->add_filter('register_merge_fields', 'core_merge_fields'); | |
14: hooks()->add_action('clients_init', '_maybe_add_estimate_request_link_in_customers_area'); | |
15: hooks()->add_action('non_existent_user_login_attempt', '_maybe_user_is_trying_to_login_into_the_clients_area_as_staff'); | |
16: hooks()->add_action('clients_login_form_start', '_maybe_mistaken_login_area_check_performed'); | |
18: hooks()->add_action('new_ticket_admin_page_loaded', 'ticket_message_save_as_predefined_reply_javascript'); | |
19: hooks()->add_action('ticket_admin_single_page_loaded', 'ticket_message_save_as_predefined_reply_javascript'); | |
21: hooks()->add_action('database_updated', 'app_set_update_message_info'); | |
22: hooks()->add_action('before_update_database', 'app_set_pipe_php_permissions'); | |
23: hooks()->add_action('admin_init', 'app_init_admin_sidebar_menu_items'); | |
24: hooks()->add_action('admin_init', 'app_init_customer_profile_tabs'); | |
25: hooks()->add_action('admin_init', 'app_init_project_tabs'); | |
26: hooks()->add_action('admin_init', 'app_init_settings_tabs'); | |
27: hooks()->add_action('admin_init', '_maybe_set_identification_key'); | |
30: hooks()->add_action('app_admin_head', 'csrf_jquery_token'); | |
31: hooks()->add_action('app_customers_head', 'csrf_jquery_token'); | |
32: hooks()->add_action('app_external_form_head', 'csrf_jquery_token'); | |
33: hooks()->add_action('elfinder_tinymce_head', 'csrf_jquery_token'); | |
88: $link = hooks()->apply_filters( | |
## File: <perfexcrm_root>/application/helpers/countries_helper.php: | |
11: return hooks()->apply_filters('all_countries', get_instance()->db->order_by('short_name', 'asc')->get(db_prefix().'countries')->result_array()); | |
## File: <perfexcrm_root>/application/helpers/credit_notes_helper.php: | |
52: return hooks()->apply_filters('invoices_statuses_available_for_credits', [ | |
108: return hooks()->apply_filters('format_credit_note_number', $number, [ | |
## File: <perfexcrm_root>/application/helpers/custom_fields_helper.php: | |
68: && (!defined('CLIENTS_AREA') || hooks()->apply_filters('show_custom_fields_edit_link_on_clients_area', false))) { | |
498: $whereSQL = hooks()->apply_filters('items_custom_fields_for_table_sql', $whereSQL); | |
508: $where = hooks()->apply_filters('custom_fields_where_items_table_add_edit_preview', []); | |
## File: <perfexcrm_root>/application/helpers/database_helper.php: | |
94: $data = hooks()->apply_filters('notification_data', $data); | |
108: hooks()->do_action('notification_created', $notification_id); | |
## File: <perfexcrm_root>/application/helpers/datatables_helper.php: | |
82: $sOrder .= hooks()->apply_filters('datatables_query_order_column', 'CAST(' . $columnName . ' as DECIMAL(10, ' . get_decimal_places() . '))', $sTable); | |
84: $sOrder .= hooks()->apply_filters('datatables_query_order_column', 'CAST(' . $columnName . ' as DATE)', $sTable); | |
86: $sOrder .= hooks()->apply_filters('datatables_query_order_column', 'CAST(' . $columnName . ' as DATETIME)', $sTable); | |
88: $sOrder .= hooks()->apply_filters('datatables_query_order_column', $columnName, $sTable); | |
134: $useMatchForCustomFieldsTableSearch = hooks()->apply_filters('use_match_for_custom_fields_table_search', 'false'); | |
257: $rResult = hooks()->apply_filters( | |
310: return hooks()->apply_filters('null_columns_sort_as_last', $columns); | |
407: return hooks()->apply_filters('datatables_language_array', $lang); | |
## File: <perfexcrm_root>/application/helpers/deprecated_helper.php: | |
14: hooks()->do_action('deprecated_function_run', $function, $replacement, $version); | |
23: if (ENVIRONMENT != 'production' && hooks()->apply_filters('deprecated_function_trigger_error', true)) { | |
36: hooks()->do_action('deprecated_hook_run', $hook, $replacement, $version, $message); | |
43: if (ENVIRONMENT != 'production' && hooks()->apply_filters('deprecated_hook_trigger_error', true)) { | |
67: if (hooks()->has_filter('admin_body_class', '_add_has_deprecated_errors_admin_body_class')) { | |
71: hooks()->add_filter('admin_body_class', '_add_has_deprecated_errors_admin_body_class'); | |
141: return hooks()->apply_filters('project_status_color_class', $class, $id); | |
171: $hook_data = hooks()->apply_filters('project_status_label', ['id' => $id, 'label' => $label]); | |
461: return hooks()->apply_filters('client_email_templates', $templates); | |
508: return hooks()->apply_filters('staff_email_templates', $templates); | |
575: return hooks()->apply_filters('email_template_language', $language, ['template_slug' => $template_slug, 'email' => $email]); | |
697: $rate = hooks()->apply_filters( | |
740: $itemHTML .= hooks()->apply_filters('item_tax_table_row', $item_tax, [ | |
748: $itemHTML .= hooks()->apply_filters('item_tax_table_row', '0%', [ | |
764: $item_amount_with_quantity = hooks()->apply_filters( | |
805: return hooks()->apply_filters('before_return_table_items_html_and_taxes', $result, [ | |
916: return hooks()->apply_filters('money_after_format_with_currency', $formattedWithCurrency, [ | |
1058: return hooks()->apply_filters('staff_permissions_conditions', [ | |
1237: hooks()->add_filter('get_option', '_check_deprecated_calendar_view_name_option', 10, 2); | |
1238: hooks()->add_filter('get_option', '_check_removed_number_padding_option_name', 10, 2); | |
## File: <perfexcrm_root>/application/helpers/email_templates_helper.php: | |
72: return hooks()->apply_filters('email_template_parsed', $template); | |
## File: <perfexcrm_root>/application/helpers/emails_tracking_helper.php: | |
5: hooks()->add_filter('after_parse_email_template_message', 'email_tracking_inject_in_body'); | |
18: hooks()->add_action('email_template_sent', 'add_email_tracking'); | |
76: return hooks()->apply_filters('available_tracking_templates', $slugs); | |
## File: <perfexcrm_root>/application/helpers/estimates_helper.php: | |
116: return hooks()->apply_filters('estimate_status_pdf_color', $statusColor, $status_id); | |
165: return hooks()->apply_filters('estimate_status_label', $status, $id); | |
202: return hooks()->apply_filters('estimate_status_color_class', $class, $id); | |
246: return hooks()->apply_filters('format_estimate_number', $number, [ | |
## File: <perfexcrm_root>/application/helpers/files_helper.php: | |
123: return hooks()->apply_filters( | |
488: $extensions = hooks()->apply_filters('markdown_extensions', $extensions); | |
507: $markDownSafeMode = hooks()->apply_filters('mark_down_safe_mode', 'true'); | |
617: return hooks()->apply_filters('delete_old_temporary_files_older_than', 1800); // 30 minutes is default | |
## File: <perfexcrm_root>/application/helpers/func_helper.php: | |
133: return hooks()->apply_filters('sec2qty_formatted', $qty, $sec); | |
## File: <perfexcrm_root>/application/helpers/general_helper.php: | |
42: hooks()->do_action('before_generate_short_link', $data); | |
85: hooks()->do_action('before_archive_short_link', $link); | |
318: $format = hooks()->apply_filters('get_current_date_format', $format, $php); | |
527: return hooks()->apply_filters('available_date_formats', $date_formats); | |
579: $hook_data = hooks()->apply_filters('before_get_language_text', ['line' => $line, 'label' => $label]); | |
598: $hook_data = hooks()->apply_filters('after_get_language_text', ['line' => $line, 'formatted_line' => $_line]); | |
646: return hooks()->apply_filters('after_format_date', $formatted, $date); | |
691: return hooks()->apply_filters('after_format_datetime', $date, ['original' => $original, 'is_timesheet' => $is_timesheet]); | |
711: $date = hooks()->apply_filters('before_sql_date_format', $date, [ | |
722: return hooks()->apply_filters( | |
749: return hooks()->apply_filters('to_sql_date_formatted', $d); | |
800: return hooks()->apply_filters('before_get_locales', $locales); | |
813: return hooks()->apply_filters('before_get_locale', $locale); | |
836: hooks()->do_action('before_pusher_trigger_notification', $users); | |
959: $regex = hooks()->apply_filters('app_happy_text_regex', '\b(congratulations!?|congrats!?|happy!?|feel happy!?|awesome!?|yay!?)\b'); | |
962: $app_happy_color = hooks()->apply_filters('app_happy_text_color', 'rgb(255, 59, 0)'); | |
## File: <perfexcrm_root>/application/helpers/invoices_helper.php: | |
293: return hooks()->apply_filters('invoice_status_pdf_color', $statusColor, $status_id); | |
390: hooks()->do_action('invoice_status_changed', ['invoice_id' => $id, 'status' => $status]); | |
467: return hooks()->apply_filters('format_invoice_number', $number, [ | |
## File: <perfexcrm_root>/application/helpers/leads_helper.php: | |
5: hooks()->add_action('app_admin_head', 'leads_app_admin_head_data'); | |
## File: <perfexcrm_root>/application/helpers/misc_helper.php: | |
68: return hooks()->apply_filters('system_favourite_colors', $colors); | |
123: return hooks()->apply_filters('acceptance_info_array', $data, $empty); | |
203: return hooks()->apply_filters('alert_class', $alert_class); | |
428: return hooks()->apply_filters('scheduled_email_default_date', date('Y-m-d 08:00', strtotime('+1 day'))); | |
## File: <perfexcrm_root>/application/helpers/modules_helper.php: | |
14: hooks()->add_action('activate_' . $module . '_module', $function); | |
26: hooks()->add_action('deactivate_' . $module . '_module', $function); | |
38: hooks()->add_action('uninstall_' . $module . '_module', $function); | |
89: hooks()->add_action('after_cron_run', $function); | |
120: hooks()->add_filter('staff_permissions', function ($permissions) use ($feature_id, $config, $name) { | |
178: if (hooks()->has_action('app_client_assets', $function)) { | |
182: return hooks()->add_action('app_client_assets', $function, 1); | |
272: hooks()->add_action('after_load_admin_language', $languageLoader); | |
273: hooks()->add_action('after_load_client_language', $languageLoader); | |
290: * When an action hook is deprecated, the hooks()->do_action() call is replaced with hooks()->do_action_deprecated(), | |
293: * @param array $args Array of additional function arguments to be passed to hooks()->do_action(). | |
300: if (!hooks()->has_action($tag)) { | |
306: hooks()->do_action_ref_array($tag, $args); | |
311: * When a filter hook is deprecated, the hooks()->apply_filters() call is replaced with hooks()->apply_filters_deprecated(), | |
313: * Note: the value and extra arguments passed to the original hooks()->apply_filters() call must be passed here to $args as an array. For example: | |
319: * @param array $args Array of additional function arguments to be passed to hooks()->apply_filters(). | |
326: if (!hooks()->has_filter($tag)) { | |
332: return hooks()->apply_filters_ref_array($tag, $args); | |
## File: <perfexcrm_root>/application/helpers/payment_gateways_helper.php: | |
13: $width = hooks()->apply_filters('payment_gateway_logo_width', 'auto'); | |
14: $height = hooks()->apply_filters('payment_gateway_logo_height', '34px'); | |
32: $logoURL = hooks()->apply_filters('payment_gateway_logo_url', $logoURL); | |
81: $html .= hooks()->apply_filters('payment_gateway_head', '') . PHP_EOL; | |
104: $html .= hooks()->apply_filters('payment_gateway_scripts', '') . PHP_EOL; | |
114: $html = hooks()->apply_filters('payment_gateway_footer', '') . PHP_EOL; | |
## File: <perfexcrm_root>/application/helpers/pdf_helper.php: | |
34: hooks()->do_action('load_pdf_language', ['language' => $language]); | |
70: return hooks()->apply_filters('pdf_logo_url', $logoImage); | |
99: return hooks()->apply_filters('pdf_fonts_list', $fontlist); | |
140: return hooks()->apply_filters('pdf_format_array', $data, $option_name); | |
232: $path = hooks()->apply_filters("{$type}_pdf_class_path", $path, ...$params); | |
## File: <perfexcrm_root>/application/helpers/pre_query_data_formatters_helper.php: | |
5: hooks()->add_filter('before_update_invoice', '_format_data_sales_feature'); | |
6: hooks()->add_filter('before_invoice_added', '_format_data_sales_feature'); | |
8: hooks()->add_filter('before_estimate_updated', '_format_data_sales_feature'); | |
9: hooks()->add_filter('before_estimate_added', '_format_data_sales_feature'); | |
11: hooks()->add_filter('before_create_credit_note', '_format_data_sales_feature'); | |
12: hooks()->add_filter('before_update_credit_note', '_format_data_sales_feature'); | |
14: hooks()->add_filter('before_create_proposal', '_format_data_sales_feature'); | |
15: hooks()->add_filter('before_proposal_updated', '_format_data_sales_feature'); | |
17: hooks()->add_filter('before_client_added', '_format_data_client'); | |
18: hooks()->add_filter('before_client_updated', '_format_data_client', 10, 2); | |
19: hooks()->add_filter('before_update_contact', '_format_data_client', 10, 2); | |
20: hooks()->add_filter('before_create_contact', '_format_data_client'); | |
## File: <perfexcrm_root>/application/helpers/projects_helper.php: | |
5: hooks()->add_action('app_admin_assets', '_maybe_init_admin_project_assets', 5); | |
228: return hooks()->apply_filters('project_filtered_visible_tabs', $newTabs); | |
## File: <perfexcrm_root>/application/helpers/proposals_helper.php: | |
154: return hooks()->apply_filters('proposal_number_format', $format, $id); | |
## File: <perfexcrm_root>/application/helpers/relation_helper.php: | |
145: $data = hooks()->apply_filters('get_relation_data', $data, compact('type', 'rel_id', 'extra')); | |
331: return hooks()->apply_filters('relation_values', [ | |
413: $_data = hooks()->apply_filters('init_relation_options', $_data, compact('data', 'type', 'rel_id')); | |
## File: <perfexcrm_root>/application/helpers/sales_helper.php: | |
69: return hooks()->apply_filters('number_after_format', $formatted, [ | |
145: return hooks()->apply_filters('app_format_money', $formattedWithCurrency, [ | |
188: return hooks()->apply_filters('ajax_on_total_items', 200); | |
272: return hooks()->apply_filters('info_format_custom_field', $result, [ | |
338: $companyName = hooks()->apply_filters('customer_info_format_company_name', $companyName, $filterData); | |
416: return hooks()->apply_filters('customer_info_text', $format, $filterData); | |
489: return hooks()->apply_filters('proposal_info_text', $format, ['proposal' => $proposal, 'for' => $for]); | |
527: return hooks()->apply_filters('organization_info_text', $format); | |
538: return hooks()->apply_filters('app_decimal_places', 2); | |
812: $class = hooks()->apply_filters('items_table_class', $class, $transaction, $type, $for, $admin_preview); | |
840: return hooks()->apply_filters('sales_number_format', $number, [ | |
## File: <perfexcrm_root>/application/helpers/sms_helper.php: | |
5: hooks()->add_action('admin_init', 'maybe_test_sms_gateway'); | |
36: hooks()->add_action('admin_init', '_maybe_sms_gateways_settings_group'); | |
54: hooks()->add_action('app_init', 'app_init_sms_gateways'); | |
66: $gateways = hooks()->apply_filters('sms_gateways', $gateways); | |
## File: <perfexcrm_root>/application/helpers/staff_helper.php: | |
178: return hooks()->apply_filters('staff_permissions', $corePermissions, $data); | |
358: $totalRecentSearches = hooks()->apply_filters('total_recent_searches', 5); | |
## File: <perfexcrm_root>/application/helpers/subscriptions_helper.php: | |
94: $new_invoice_data = hooks()->apply_filters('subscription_invoice_data', $new_invoice_data); | |
173: return hooks()->apply_filters('subscription_statuses', [ | |
## File: <perfexcrm_root>/application/helpers/table_helper.php: | |
5: hooks()->add_action('admin_init', function () { | |
## File: <perfexcrm_root>/application/helpers/tasks_helper.php: | |
19: $status_name = e(hooks()->apply_filters('task_status_name', $status_name, $status)); | |
43: return hooks()->apply_filters('tasks_priorities', [ | |
323: $table_data = hooks()->apply_filters('tasks_related_table_columns', $table_data); | |
555: return hooks()->apply_filters('before_get_task_timer_round_off_options', $options); | |
567: return hooks()->apply_filters('before_get_task_timer_round_off_times', [5, 10, 15, 20, 25, 30, 35, 40, 45]); | |
## File: <perfexcrm_root>/application/helpers/template_helper.php: | |
14: if (empty($content) || hooks()->apply_filters('html_purify_content', true) === false) { | |
34: // $regex = hooks()->apply_filters('html_purify_safe_iframe_regexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/)%'); | |
47: hooks()->apply_filters('html_purifier_config', $config); | |
306: hooks()->do_action('app_external_form_head'); | |
324: $logoURL = hooks()->apply_filters('logo_href', $logoURL); | |
336: $logo = hooks()->apply_filters('company_logo', $logo); | |
417: return hooks()->apply_filters('admin_header_logo_url', $url); | |
## File: <perfexcrm_root>/application/helpers/themes_helper.php: | |
16: hooks()->add_action('app_customers_head', '_inject_no_index'); | |
136: hooks()->do_action('app_customers_footer'); | |
154: hooks()->do_action('app_customers_head'); | |
162: return hooks()->apply_filters('customers_theme_assets_url', base_url('assets/themes/' . get_option('clients_default_theme'))) . '/'; | |
171: return hooks()->apply_filters('customers_theme_assets_path', 'assets/themes/' . get_option('clients_default_theme')); | |
180: return hooks()->apply_filters('terms_and_condition_url', site_url('terms-and-conditions')); | |
188: return hooks()->apply_filters('privacy_policy_url', site_url('privacy-policy')); | |
## File: <perfexcrm_root>/application/helpers/tickets_helper.php: | |
137: return hooks()->apply_filters('show_ticket_submitter_on_clients_area_table', $show_submitter_on_table); | |
168: return hooks()->apply_filters('clients_area_tickets_summary', $statuses); | |
192: $forbidden = hooks()->apply_filters('forbidden_ticket_statuses_to_change_in_clients_area', [3, 4]); | |
## File: <perfexcrm_root>/application/helpers/upload_helper.php: | |
13: $hookData = hooks()->apply_filters('before_handle_estimate_request_attachment', [ | |
51: hooks()->do_action('before_upload_estimate_request_attachment', $estimateRequestId); | |
121: $hookData = hooks()->apply_filters('before_handle_newsfeed_post_attachments', [ | |
145: hooks()->do_action('before_upload_newsfeed_attachment', $postid); | |
188: $hookData = hooks()->apply_filters('before_handle_project_file_uploads', [ | |
205: hooks()->do_action('before_upload_project_attachment', $project_id); | |
311: $hookData = hooks()->apply_filters('before_handle_contract_attachment', [ | |
329: hooks()->do_action('before_upload_contract_attachment', $id); | |
362: $hookData = hooks()->apply_filters('before_handle_lead_attachment', [ | |
430: $hookData = hooks()->apply_filters('before_handle_task_attachments_array', [ | |
500: $hookData = hooks()->apply_filters('before_handle_sales_attachments', [ | |
584: $hookData = hooks()->apply_filters('before_handle_client_attachment', [ | |
614: hooks()->do_action('before_upload_client_attachment', $id); | |
667: $hookData = hooks()->apply_filters('before_handle_expense_attachment', [ | |
684: hooks()->do_action('before_upload_expense_attachment', $id); | |
713: $hookData = hooks()->apply_filters('before_handle_ticket_attachment', [ | |
732: hooks()->do_action('before_upload_ticket_attachment', $ticketid); | |
788: $hookData = hooks()->apply_filters('before_handle_company_logo_upload', [ | |
797: hooks()->do_action('before_upload_company_logo_attachment'); | |
815: hooks()->apply_filters('company_logo_upload_allowed_extensions', $allowed_extensions) | |
854: $hookData = hooks()->apply_filters('before_handle_company_signature_upload', [ | |
866: hooks()->do_action('before_upload_signature_image_attachment'); | |
908: $hookData = hooks()->apply_filters('before_handle_favicon_upload', [ | |
920: hooks()->do_action('before_upload_favicon_attachment'); | |
957: $hookData = hooks()->apply_filters('before_handle_staff_profile_image_upload', [ | |
970: hooks()->do_action('before_upload_staff_profile_image'); | |
984: $allowed_extensions = hooks()->apply_filters('staff_profile_image_upload_allowed_extensions', $allowed_extensions); | |
1002: $config['width'] = hooks()->apply_filters('staff_profile_image_thumb_width', 320); | |
1003: $config['height'] = hooks()->apply_filters('staff_profile_image_thumb_height', 320); | |
1011: $config['width'] = hooks()->apply_filters('staff_profile_image_small_width', 96); | |
1012: $config['height'] = hooks()->apply_filters('staff_profile_image_small_height', 96); | |
1037: $hookData = hooks()->apply_filters('before_handle_contact_profile_image_upload', [ | |
1050: hooks()->do_action('before_upload_contact_profile_image'); | |
1068: $allowed_extensions = hooks()->apply_filters('contact_profile_image_upload_allowed_extensions', $allowed_extensions); | |
1086: $config['width'] = hooks()->apply_filters('contact_profile_image_thumb_width', 320); | |
1087: $config['height'] = hooks()->apply_filters('contact_profile_image_thumb_height', 320); | |
1095: $config['width'] = hooks()->apply_filters('contact_profile_image_small_width', 32); | |
1096: $config['height'] = hooks()->apply_filters('contact_profile_image_small_height', 32); | |
1130: $hookData = hooks()->apply_filters('before_handle_project_discussion_comment_attachment', [ | |
1145: hooks()->do_action('before_upload_project_discussion_comment_attachment'); | |
1357: return hooks()->apply_filters('get_upload_path_by_type', $path, $type); | |
## File: <perfexcrm_root>/application/helpers/widgets_helper.php: | |
68: return hooks()->apply_filters('get_dashboard_widgets', $widgets); | |
## File: <perfexcrm_root>/application/hooks/InitHook.php: | |
55: hooks()->do_action('modules_loaded'); | |
## File: <perfexcrm_root>/application/hooks/InitModules.php: | |
23: hooks()->add_filter('csrf_exclude_uris', function ($current) use ($uris) { | |
## File: <perfexcrm_root>/application/language/bulgarian/bulgarian_num_words_lang.php: | |
128: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/catalan/catalan_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/chinese/chinese_num_words_lang.php: | |
137: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/czech/czech_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/dutch/dutch_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/english/english_num_words_lang.php: | |
142: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/finnish/finnish_num_words_lang.php: | |
132: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/francais_canada/francais_canada_num_words_lang.php: | |
139: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/french/french_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/german/german_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/greek/greek_num_words_lang.php: | |
127: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies',$currencies); | |
## File: <perfexcrm_root>/application/language/indonesia/indonesia_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/italian/italian_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/japanese/japanese_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/norwegian/norwegian_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/persian/persian_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/polish/polish_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/portuguese/portuguese_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/portuguese_br/portuguese_br_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/romanian/romanian_num_words_lang.php: | |
135: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/russian/russian_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/slovak/slovak_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/spanish/spanish_num_words_lang.php: | |
133: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/swedish/swedish_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/turkish/turkish_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/ukrainian/ukrainian_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/language/vietnamese/vietnamese_num_words_lang.php: | |
134: $currencies = hooks()->apply_filters('before_number_format_render_languge_currencies', $currencies); | |
## File: <perfexcrm_root>/application/libraries/App_bulk_pdf_export.php: | |
182: if (!hooks()->has_filter('bulk_pdf_export_class')) { | |
185: $class = hooks()->apply_filters('bulk_pdf_export_class', null, $this->type); | |
## File: <perfexcrm_root>/application/libraries/App_clients_area_constructor.php: | |
49: hooks()->do_action('clients_init'); | |
62: $vars = hooks()->apply_filters('customers_area_autoloaded_vars', $vars); | |
## File: <perfexcrm_root>/application/libraries/App_items_table_template.php: | |
205: $itemHTML .= hooks()->apply_filters('item_tax_table_row', $item_tax, $item); | |
208: $itemHTML .= hooks()->apply_filters('item_tax_table_row', '0%', $item); | |
478: return hooks()->apply_filters('items_table_amounts_exclude_currency_symbol', $exclude, [ | |
486: return $this->tax_per_item && hooks()->apply_filters('show_tax_per_item', true, [ | |
## File: <perfexcrm_root>/application/libraries/App_items_table.php: | |
100: $rate = hooks()->apply_filters( | |
118: $item_amount_with_quantity = hooks()->apply_filters( | |
236: $item_width = hooks()->apply_filters('item_description_td_width', 38); | |
## File: <perfexcrm_root>/application/libraries/App_menu.php: | |
102: $items = hooks()->apply_filters('nav_user_menu_items', $this->user_menu_items); | |
155: $items = hooks()->apply_filters("{$group}_menu_items", $items); | |
164: $children = hooks()->apply_filters("{$group}_menu_child_items", $children, $parent_slug); | |
## File: <perfexcrm_root>/application/libraries/App_module_installer.php: | |
30: hooks()->do_action('pre_upload_module', $_FILES['module']); | |
48: hooks()->do_action('module_installed', $_FILES['module']); | |
## File: <perfexcrm_root>/application/libraries/App_modules.php: | |
86: hooks()->do_action('pre_activate_module', $module); | |
91: hooks()->do_action("activate_{$name}_module"); | |
102: hooks()->do_action('module_activated', $module); | |
123: hooks()->do_action('pre_deactivate_module', $module); | |
128: hooks()->do_action("deactivate_{$name}_module"); | |
140: hooks()->do_action('module_deactivated', $module); | |
168: hooks()->do_action('pre_uninstall_module', $module); | |
183: hooks()->do_action("uninstall_{$name}_module"); | |
197: hooks()->do_action('module_uninstalled', $module); | |
356: hooks()->add_action('module_' . $name . '_update_handler', $retVal['update_handler']); | |
365: hooks()->do_action('module_' . $name . '_update_handler', $data['update_handler']); | |
## File: <perfexcrm_root>/application/libraries/App_number_to_word.php: | |
165: return hooks()->apply_filters('before_return_num_word', $final_val, [ | |
## File: <perfexcrm_root>/application/libraries/App_pusher.php: | |
31: $pusher_options = hooks()->apply_filters('pusher_options', []); | |
## File: <perfexcrm_root>/application/libraries/App_table.php: | |
222: $rulesMap = hooks()->apply_filters('table_custom_field_rules_map', $this->customFieldsToRuleMap); | |
285: $rule = hooks()->apply_filters('table_' . $this->id() . '_custom_field_rule', $rule, $field); | |
343: return hooks()->apply_filters( | |
617: $params = hooks()->apply_filters('table_' . $this->id() . '_output_params', $params); | |
## File: <perfexcrm_root>/application/libraries/App_tabs.php: | |
119: hooks()->do_action('before_get_tabs', $group); | |
128: $tabs = hooks()->apply_filters("{$group}_tabs", $tabs); | |
143: $children = hooks()->apply_filters("{$group}_tabs_child_items", $children, $parent_slug); | |
## File: <perfexcrm_root>/application/libraries/App_tags.php: | |
85: hooks()->do_action('new_tag_created', $tag_id); | |
## File: <perfexcrm_root>/application/libraries/App.php: | |
95: hooks()->do_action('app_base_after_construct_action'); | |
267: return hooks()->apply_filters('before_get_languages', $this->available_languages); | |
300: $params = hooks()->apply_filters('table_params', $params, $table); | |
359: return hooks()->apply_filters('get_option', $val, $name); | |
383: return hooks()->apply_filters('quick_actions_links', app_sort_by_position($this->quick_actions)); | |
403: return hooks()->apply_filters('show_setup_menu', $this->show_setup_menu); | |
413: return hooks()->apply_filters('tables_with_currency', $this->tables_with_currency); | |
423: return hooks()->apply_filters('get_media_folder', $this->media_folder); | |
447: hooks()->do_action('before_update_database', $updateToVersion); | |
459: hooks()->do_action('database_updated', $updateToVersion); | |
498: $this->media_folder = hooks()->apply_filters('before_set_media_folder', 'media'); | |
## File: <perfexcrm_root>/application/libraries/Stripe_core.php: | |
118: return hooks()->apply_filters('stripe_webhook_events', $events); | |
## File: <perfexcrm_root>/application/libraries/assets/App_css.php: | |
44: hooks()->do_action('before_compile_css_assets', $group); | |
## File: <perfexcrm_root>/application/libraries/assets/App_scripts.php: | |
43: hooks()->do_action('before_compile_scripts_assets', $group); | |
## File: <perfexcrm_root>/application/libraries/gateways/App_gateway.php: | |
53: hooks()->add_action('before_get_payment_gateways', [$this, 'tryToAutoRegisterPaymentGateway'], 11, 1); | |
## File: <perfexcrm_root>/application/libraries/gateways/Authorize_acceptjs_gateway.php: | |
73: hooks()->add_action('before_render_payment_gateway_settings', 'authorize_acceptjs_notice'); | |
## File: <perfexcrm_root>/application/libraries/gateways/Paypal_checkout_gateway.php: | |
96: $data = hooks()->apply_filters('paypal_checkout_button_style_params', [ | |
132: $data = hooks()->apply_filters('paypal_checkout_order_create_data', $data); | |
221: $data = hooks()->apply_filters('paypal_checkout_payer_data', $payer, $invoice); | |
## File: <perfexcrm_root>/application/libraries/gateways/Paypal_gateway.php: | |
90: $gateway->setlogoImageUrl(hooks()->apply_filters('paypal_logo_url', $logoURL)); | |
## File: <perfexcrm_root>/application/libraries/gateways/Stripe_gateway.php: | |
65: hooks()->add_action('before_render_payment_gateway_settings', 'stripe_gateway_webhook_check'); | |
## File: <perfexcrm_root>/application/libraries/gateways/Stripe_ideal_gateway.php: | |
72: hooks()->add_action('before_render_payment_gateway_settings', 'stripe_ideal_gateway_webhook_check'); | |
73: hooks()->add_action('before_render_payment_gateway_settings', 'stripe_ideal_gateway_depreciation_notice'); | |
## File: <perfexcrm_root>/application/libraries/gateways/Two_checkout_gateway.php: | |
62: hooks()->add_action('before_render_payment_gateway_settings', 'two_checkout_gateway_webhook_notice'); | |
## File: <perfexcrm_root>/application/libraries/import/Import_customers.php: | |
16: $this->notImportableFields = hooks()->apply_filters('not_importable_clients_fields', ['userid', 'id', 'is_primary', 'password', 'datecreated', 'last_ip', 'last_login', 'last_password_change', 'active', 'new_pass_key', 'new_pass_key_requested', 'leadid', 'default_currency', 'profile_image', 'default_language', 'direction', 'show_primary_contact', 'invoice_emails', 'estimate_emails', 'project_emails', 'task_emails', 'contract_emails', 'credit_note_emails', 'ticket_emails', 'addedfrom', 'registration_confirmed', 'last_active_time', 'email_verified_at', 'email_verification_key', 'email_verification_sent_at']); | |
## File: <perfexcrm_root>/application/libraries/import/Import_expenses.php: | |
23: $this->notImportableFields = hooks()->apply_filters('not_importable_expense_fields', [ | |
## File: <perfexcrm_root>/application/libraries/import/Import_leads.php: | |
20: $this->notImportableFields = hooks()->apply_filters('not_importable_leads_fields', ['id', 'assigned', 'dateadded', 'last_status_change', 'addedfrom', 'leadorder', 'date_converted', 'lost', 'junk', 'is_imported_from_email_integration', 'email_integration_uid', 'is_public', 'dateassigned', 'client_id', 'lastcontact', 'last_lead_status', 'from_form_id', 'default_language', 'hash']); | |
## File: <perfexcrm_root>/application/libraries/mails/App_mail_template.php: | |
104: $this->send_to = hooks()->apply_filters('send_email_template_to', $this->send_to); | |
127: hooks()->do_action('failed_to_send_email_template', [ | |
138: $this->template = hooks()->apply_filters('before_parse_email_template_message', $this->template); | |
142: $this->template = hooks()->apply_filters('after_parse_email_template_message', $this->template); | |
167: $hook_data = hooks()->apply_filters('before_email_template_send', $hook_data); | |
209: hooks()->do_action('email_template_sent', [ | |
291: if (hooks()->apply_filters('use_deprecated_from_email_header_template_field', false)) { | |
310: return hooks()->apply_filters('email_template_from_headers', [ | |
518: return hooks()->apply_filters('email_template_language', $language, ['template' => $this, 'email' => $email]); | |
## File: <perfexcrm_root>/application/libraries/merge_fields/App_merge_fields.php: | |
53: $this->registered = hooks()->apply_filters('register_merge_fields', []); | |
210: return hooks()->apply_filters('available_merge_fields', $available); | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Client_merge_fields.php: | |
495: return hooks()->apply_filters('client_contact_merge_fields', $fields, [ | |
519: return hooks()->apply_filters('client_statement_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Contract_merge_fields.php: | |
120: return hooks()->apply_filters('contract_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Credit_note_merge_fields.php: | |
95: return hooks()->apply_filters('credit_note_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Estimate_merge_fields.php: | |
117: return hooks()->apply_filters('estimate_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Estimate_request_merge_fields.php: | |
130: return hooks()->apply_filters('estimate_request_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Event_merge_fields.php: | |
71: return hooks()->apply_filters('event_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Invoice_batch_payments_merge_fields.php: | |
40: return hooks()->apply_filters('invoice_batch_payments_merge_fields', $fields); | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Invoice_merge_fields.php: | |
217: return hooks()->apply_filters('invoice_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Leads_merge_fields.php: | |
262: return hooks()->apply_filters('lead_merge_fields', $fields, ['id' => $lead->id, 'lead' => $lead]); | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Notifications_merge_fields.php: | |
42: return hooks()->apply_filters('notifications_merge_fields', $fields); | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Other_merge_fields.php: | |
27: $available_for = hooks()->apply_filters('other_merge_fields_available_for', $available_for); | |
98: $logo_width = hooks()->apply_filters('merge_field_logo_img_width', ''); | |
132: return hooks()->apply_filters('other_merge_fields', $fields); | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Projects_merge_fields.php: | |
234: return hooks()->apply_filters('project_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Proposals_merge_fields.php: | |
188: return hooks()->apply_filters('proposal_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Staff_merge_fields.php: | |
189: return hooks()->apply_filters('staff_merge_fields', $fields, [ | |
212: return hooks()->apply_filters('staff_reminder_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Subscriptions_merge_fields.php: | |
84: return hooks()->apply_filters('subscription_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Tasks_merge_fields.php: | |
200: return hooks()->apply_filters('task_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/merge_fields/Ticket_merge_fields.php: | |
208: return hooks()->apply_filters('ticket_merge_fields', $fields, [ | |
## File: <perfexcrm_root>/application/libraries/pdf/App_pdf.php: | |
78: hooks()->do_action('pdf_construct', ['pdf_instance' => $this, 'type' => $this->type()]); | |
174: if (hooks()->apply_filters('process_pdf_signature_on_close', true)) { | |
178: hooks()->do_action('pdf_close', ['pdf_instance' => $this, 'type' => $this->type()]); | |
187: hooks()->do_action('pdf_header', ['pdf_instance' => $this, 'type' => $this->type()]); | |
197: hooks()->do_action('pdf_footer', ['pdf_instance' => $this, 'type' => $this->type()]); | |
253: return hooks()->apply_filters($this->type() . '_pdf_build_path', $this->file_path()); | |
## File: <perfexcrm_root>/application/libraries/pdf/Contract_pdf.php: | |
14: $contract = hooks()->apply_filters('contract_html_pdf_data', $contract); | |
## File: <perfexcrm_root>/application/libraries/pdf/Estimate_pdf.php: | |
17: $estimate = hooks()->apply_filters('estimate_html_pdf_data', $estimate); | |
## File: <perfexcrm_root>/application/libraries/pdf/Invoice_pdf.php: | |
16: $invoice = hooks()->apply_filters('invoice_html_pdf_data', $invoice); | |
## File: <perfexcrm_root>/application/libraries/pdf/PDF_Signature.php: | |
49: hooks()->apply_filters('pdf_signature_break_lines', 1) | |
65: hooks()->do_action('before_customer_pdf_signature', $hookData); | |
70: $customerSignatureSize = hooks()->apply_filters('customer_pdf_signature_size', 0); | |
74: hooks()->do_action('after_customer_pdf_signature', $hookData); | |
90: $blankSignatureLine = hooks()->apply_filters('blank_signature_line', '_________________________'); | |
100: $blankSignatureLine .= str_repeat('<br />', hooks()->apply_filters('pdf_signature_break_lines', 1)) . '<img src="@' . $imageData . '" / />'; | |
119: return hooks()->apply_filters( | |
## File: <perfexcrm_root>/application/libraries/pdf/Proposal_pdf.php: | |
26: $proposal = hooks()->apply_filters('proposal_html_pdf_data', $proposal); | |
## File: <perfexcrm_root>/application/libraries/sms/App_sms.php: | |
88: return hooks()->apply_filters('get_sms_gateways', self::$gateways); | |
110: $triggers = hooks()->apply_filters('sms_gateway_available_triggers', $this->triggers); | |
144: hooks()->do_action('sms_trigger_triggered', ['message' => $message, 'trigger' => $trigger, 'phone' => $phone]); | |
414: $this->triggers = hooks()->apply_filters('sms_triggers', $triggers); | |
## File: <perfexcrm_root>/application/libraries/sms/Sms_msg91.php: | |
51: hooks()->add_action('after_sms_trigger_textarea_content', [$this, 'addDltTemplateIdField']); | |
199: return hooks()->apply_filters('msg91_common_options', array_filter([ | |
## File: <perfexcrm_root>/application/models/Announcements_model.php: | |
99: $data = hooks()->apply_filters('before_announcement_added', $data); | |
104: hooks()->do_action('announcement_created', $insert_id); | |
125: $data = hooks()->apply_filters('before_announcement_updated', $data, $id); | |
130: hooks()->do_action('announcement_updated', $id); | |
148: hooks()->do_action('before_delete_announcement', $id); | |
156: hooks()->do_action('announcement_deleted', $id); | |
## File: <perfexcrm_root>/application/models/Authentication_model.php: | |
40: hooks()->do_action('failed_login_attempt', [ | |
51: hooks()->do_action('non_existent_user_login_attempt', [ | |
62: hooks()->do_action('inactive_user_login_attempt', [ | |
78: hooks()->do_action('before_staff_login', [ | |
95: hooks()->do_action('before_client_login', [ | |
134: hooks()->do_action('before_contact_logout', get_client_user_id()); | |
139: hooks()->do_action('before_staff_logout', get_staff_user_id()); | |
288: hooks()->do_action('set_password_email_sent', ['is_staff_member' => false, 'user' => $user]); | |
350: hooks()->do_action('forgot_password_email_sent', ['is_staff_member' => $staff, 'user' => $user]); | |
546: hooks()->do_action('before_staff_login', [ | |
## File: <perfexcrm_root>/application/models/Client_groups_model.php: | |
93: hooks()->do_action('customer_group_deleted', $id); | |
## File: <perfexcrm_root>/application/models/Client_vault_entries_model.php: | |
99: hooks()->do_action('customer_vault_entry_deleted', ['vault_id' => $id, 'customer_id' => $vault->customer_id]); | |
## File: <perfexcrm_root>/application/models/Clients_model.php: | |
15: $this->contact_columns = hooks()->apply_filters('contact_columns', ['firstname', 'lastname', 'email', 'phonenumber', 'title', 'password', 'send_set_password_email', 'donotsendwelcomeemail', 'permissions', 'direction', 'invoice_emails', 'estimate_emails', 'credit_note_emails', 'contract_emails', 'task_emails', 'project_emails', 'ticket_emails', 'is_primary']); | |
131: $data = hooks()->apply_filters('before_client_added', $data); | |
209: hooks()->do_action('after_client_created', [ | |
235: $data = hooks()->apply_filters('before_client_updated', $data, $id); | |
302: hooks()->do_action('client_updated', [ | |
366: $data = hooks()->apply_filters('before_update_contact', $data, $id); | |
430: hooks()->do_action('contact_updated', $id, $data); | |
527: $data = hooks()->apply_filters('before_create_contact', $data); | |
616: hooks()->do_action('contact_created', $contact_id); | |
653: $data = hooks()->apply_filters('before_create_contact', $data); | |
690: hooks()->do_action('contact_created', $contact_id); | |
736: $data = hooks()->apply_filters('customer_update_company_info', $data, $id); | |
744: hooks()->do_action('customer_updated_company_info', $id); | |
856: hooks()->do_action('before_client_deleted', $id); | |
1023: hooks()->do_action('after_client_deleted', $id); | |
1046: hooks()->do_action('before_delete_contact', $id); | |
1212: hooks()->do_action('contact_deleted', $id, $result); | |
1325: $status = hooks()->apply_filters('change_contact_status', $status, $id); | |
1332: hooks()->do_action('contact_status_changed', [ | |
1359: hooks()->do_action('client_status_changed', [ | |
1680: hooks()->do_action('before_remove_contact_profile_image'); | |
## File: <perfexcrm_root>/application/models/Contracts_model.php: | |
119: $data = hooks()->apply_filters('before_contract_added', $data); | |
128: hooks()->do_action('after_contract_added', $insert_id); | |
174: $data = hooks()->apply_filters('before_contract_updated', $data, $id); | |
188: hooks()->do_action('after_contract_updated', $id); | |
445: hooks()->do_action('before_contract_deleted', $id); | |
485: hooks()->do_action('after_contract_deleted', $id); | |
## File: <perfexcrm_root>/application/models/Credit_notes_model.php: | |
17: return hooks()->apply_filters('before_get_credit_notes_statuses', [ | |
124: hooks()->do_action('credit_note_sent', $id); | |
196: $hook = hooks()->apply_filters('before_create_credit_note', ['data' => $data, 'items' => $items]); | |
225: hooks()->do_action('after_create_credit_note', $insert_id); | |
270: $hook = hooks()->apply_filters('before_update_credit_note', [ | |
355: hooks()->do_action('after_update_credit_note', $id); | |
411: hooks()->do_action('before_credit_note_deleted', $id); | |
458: hooks()->do_action('after_credit_note_deleted', $id); | |
472: hooks()->do_action('credit_note_status_changed', $id, ['status' => $status]); | |
643: hooks()->do_action('created_credit_note_from_invoice', ['invoice_id' => $invoice_id, 'credit_note_id' => $id]); | |
674: hooks()->do_action('credit_note_refund_created', ['data' => $data, 'credit_note_id' => $id]); | |
703: hooks()->do_action('credit_note_refund_updated', ['data' => $data, 'refund_id' => $refund->credit_note_id]); | |
752: hooks()->do_action('credit_note_refund_deleted', ['refund_id' => $refund_id, 'credit_note_id' => $credit_note_id]); | |
810: hooks()->do_action('credits_applied', ['data' => $data, 'credit_note_id' => $id]); | |
## File: <perfexcrm_root>/application/models/Cron_model.php: | |
57: hooks()->do_action('before_cron_run', $manually); | |
103: $retryQueue = hooks()->apply_filters('cron_retry_email_queue_seconds', 600); | |
114: hooks()->do_action('after_cron_run', $manually); | |
180: $older_than_days = hooks()->apply_filters('delete_two_checkout_log_older_than_days', 40); | |
205: $eventNotifications = hooks()->apply_filters('event_notifications', true); | |
247: $eventNotifications = hooks()->apply_filters('event_notifications', true); | |
313: hooks()->do_action('after_ticket_status_changed', [ | |
470: hooks()->do_action('before_check_recurring_tasks'); | |
501: 'status' => hooks()->apply_filters('recurring_task_status', 1), | |
547: hooks()->do_action('after_check_recurring_tasks'); | |
660: hooks()->do_action('after_recurring_expense_created', ['original_expense' => $expense, 'new_expense_id' => $insert_id]); | |
663: $send_recurring_expenses_email = hooks()->apply_filters('send_recurring_system_expenses_email', 'true'); | |
894: hooks()->do_action('after_recurring_invoice_created', ['original_invoice' => $invoice, 'new_invoice_id' => $id]); | |
899: $send_recurring_invoices_email = hooks()->apply_filters('send_recurring_invoices_system_email', 'true'); | |
1406: $body = hooks()->apply_filters( | |
1434: $task_data = hooks()->apply_filters('before_add_task', $task_data); | |
1446: hooks()->do_action('after_add_task', $task_id); | |
1466: $lead = hooks()->apply_filters('leads_email_integration_lead_check', $lead, $message); | |
1510: hooks()->do_action('existing_lead_email_inserted_from_email_integration', [ | |
1534: $lead_data = hooks()->apply_filters('before_insert_lead_from_email_integration', $lead_data); | |
1596: hooks()->do_action('lead_created', $insert_id); | |
1598: hooks()->do_action('lead_created_from_email_integration', $insert_id); | |
1732: if (hooks()->apply_filters('imap_fetch_from_email_by_reply_to_header', true)) { | |
1754: $data = hooks()->apply_filters('imap_auto_import_ticket_data', $data, $message); | |
## File: <perfexcrm_root>/application/models/Departments_model.php: | |
67: $data = hooks()->apply_filters('before_department_added', $data); | |
71: hooks()->do_action('after_department_added', $insert_id); | |
125: $data = hooks()->apply_filters('before_department_updated', $data, $id); | |
153: hooks()->do_action('before_delete_department', $id); | |
## File: <perfexcrm_root>/application/models/Emails_model.php: | |
199: $cnf = hooks()->apply_filters('before_send_simple_email', $cnf); | |
281: $email = hooks()->apply_filters('send_email_template_to', $email); | |
342: $template = hooks()->apply_filters('before_parse_email_template_message', $template); | |
346: $template = hooks()->apply_filters('after_parse_email_template_message', $template); | |
412: $hook_data = hooks()->apply_filters('before_email_template_send', $hook_data); | |
491: hooks()->do_action('email_template_sent', ['template' => $template, 'email' => $email]); | |
## File: <perfexcrm_root>/application/models/Estimate_request_model.php: | |
31: hooks()->do_action('estimate_request_assigned_changed', [ | |
87: hooks()->do_action('estimate_request_status_changed', [ | |
257: hooks()->do_action('before_estimate_request_deleted', $id); | |
320: $data['color'] = hooks()->apply_filters('default_estimate_request_status_color', '#757575'); | |
## File: <perfexcrm_root>/application/models/Estimates_model.php: | |
18: $this->statuses = hooks()->apply_filters('before_set_estimate_statuses', [ | |
283: hooks()->do_action('estimate_converted_to_invoice', ['invoice_id' => $id, 'estimate_id' => $_estimate->id]); | |
510: $hook = hooks()->apply_filters('before_estimate_added', [ | |
553: hooks()->do_action('after_estimate_added', $insert_id); | |
633: $hook = hooks()->apply_filters('before_estimate_updated', [ | |
781: hooks()->do_action('after_estimate_updated', $id); | |
853: hooks()->do_action('estimate_accepted', $id); | |
880: hooks()->do_action('estimate_declined', $id); | |
978: hooks()->do_action('before_estimate_deleted', $id); | |
1073: hooks()->do_action('after_estimate_deleted', $id); | |
1258: $hook = hooks()->apply_filters('send_estimate_to_customer_file_name', [ | |
1282: hooks()->do_action('estimate_sent', $id); | |
## File: <perfexcrm_root>/application/models/Expenses_model.php: | |
126: $data = hooks()->apply_filters('before_expense_added', $data); | |
152: hooks()->do_action('after_expense_added', $insert_id); | |
393: $data = hooks()->apply_filters('before_expense_updated', $data, $id); | |
409: hooks()->do_action('expense_updated', [ | |
469: hooks()->do_action('after_expense_deleted', $id); | |
628: hooks()->do_action('expense_converted_to_invoice', ['expense_id' => $expense->expenseid, 'invoice_id' => $invoiceid]); | |
## File: <perfexcrm_root>/application/models/Invoice_items_model.php: | |
63: hooks()->do_action('item_coppied', $insert_id); | |
169: $data = hooks()->apply_filters('before_item_created', $data); | |
179: hooks()->do_action('item_created', $insert_id); | |
227: $data = hooks()->apply_filters('before_update_item', $data, $itemid); | |
243: hooks()->do_action('after_item_updated', [ | |
289: hooks()->do_action('item_deleted', $id); | |
## File: <perfexcrm_root>/application/models/Invoices_model.php: | |
131: return hooks()->apply_filters('get_invoice', $invoice); | |
164: hooks()->do_action('invoice_marked_as_cancelled', $id); | |
182: hooks()->do_action('invoice_unmarked_as_cancelled', $id); | |
384: $hook = hooks()->apply_filters('before_invoice_added', [ | |
537: hooks()->do_action('after_invoice_added', $insert_id); | |
591: $invoices = hooks()->apply_filters('invoices_ids_available_for_merging', $invoices); | |
713: hooks()->do_action('invoice_copied', ['copy_from' => $_invoice->id, 'copy_id' => $id]); | |
830: $hook = hooks()->apply_filters('before_update_invoice', $hookData, $id); | |
917: hooks()->do_action('invoice_updated', array_merge($hookData, ['updated' => &$updated])); | |
1203: hooks()->do_action('before_invoice_deleted', $id); | |
1353: hooks()->do_action('after_invoice_deleted', $id); | |
1425: $attach_pdf = hooks()->apply_filters('invoice_overdue_notice_attach_pdf', true); | |
1483: hooks()->do_action('invoice_overdue_reminder_sent', [ | |
1511: if ($attach_pdf = hooks()->apply_filters('invoice_due_notice_attach_pdf', true) === true) { | |
1567: hooks()->do_action('invoice_due_reminder_sent', [ | |
1596: $invoice = hooks()->apply_filters( | |
1606: $template_name = hooks()->apply_filters('after_invoice_sent_template_statement', $template_name); | |
1701: hooks()->do_action('invoice_sent', $id); | |
## File: <perfexcrm_root>/application/models/Knowledge_base_model.php: | |
47: $total_related_articles = hooks()->apply_filters('total_related_articles', 5); | |
91: $data = hooks()->apply_filters('before_add_kb_article', $data); | |
## File: <perfexcrm_root>/application/models/Leads_model.php: | |
96: $data = hooks()->apply_filters('before_lead_added', $data); | |
126: hooks()->do_action('lead_created', $insert_id); | |
191: hooks()->do_action('after_lead_assigned_member_notification_sent', $lead_id); | |
286: hooks()->do_action('lead_status_changed', [ | |
308: hooks()->do_action('after_lead_updated', $id); | |
313: hooks()->do_action('after_lead_updated', $id); | |
329: hooks()->do_action('before_lead_deleted', $id); | |
391: hooks()->do_action('after_lead_deleted', $id); | |
423: hooks()->do_action('lead_marked_as_lost', $id); | |
484: hooks()->do_action('lead_marked_as_junk', $id); | |
735: $data['color'] = hooks()->apply_filters('default_lead_status_color', '#757575'); | |
835: hooks()->do_action('lead_status_changed', [ | |
873: $sorting = hooks()->apply_filters('lead_activity_log_default_sort', 'ASC'); | |
## File: <perfexcrm_root>/application/models/Misc_model.php: | |
19: return hooks()->apply_filters('notifications_limit', $this->notifications_limit); | |
283: return hooks()->apply_filters('get_notes', $notes, ['rel_id' => $rel_id, 'rel_type' => $rel_type]); | |
294: $data = hooks()->apply_filters('create_note_data', $data, $rel_type, $rel_id); | |
300: hooks()->do_action('note_created', $insert_id, $data); | |
310: hooks()->do_action('before_update_note', [ | |
321: hooks()->do_action('note_updated', $id, $data); | |
339: hooks()->do_action('before_delete_note', $note_id); | |
351: hooks()->do_action('note_deleted', $note_id, $note); | |
799: $result = hooks()->apply_filters('global_search_result_query', $result, $q, $limit); | |
## File: <perfexcrm_root>/application/models/Payment_modes_model.php: | |
104: $data = hooks()->apply_filters('before_paymentmode_added', $data); | |
121: hooks()->do_action('after_paymentmode_added', [ | |
162: hooks()->do_action('after_update_paymentmode', [ | |
215: hooks()->do_action('before_get_payment_gateways'); | |
223: $this->gateways = hooks()->apply_filters('app_payment_gateways', $this->payment_gateways); | |
330: if (hooks()->has_filter('app_payment_gateways', [ $class, 'initMode']) === false) { | |
331: hooks()->add_filter('app_payment_gateways', [$class, 'initMode']); | |
## File: <perfexcrm_root>/application/models/Payments_model.php: | |
131: $data = hooks()->apply_filters('before_process_gateway_func', $data); | |
215: $data = hooks()->apply_filters('before_payment_recorded', $data); | |
377: hooks()->do_action('after_payment_added', $insert_id); | |
398: $data = hooks()->apply_filters('before_payment_updated', $data, $id); | |
411: hooks()->do_action('after_payment_updated', [ | |
435: hooks()->do_action('before_payment_deleted', [ | |
449: hooks()->do_action('after_payment_deleted', [ | |
475: $data = hooks()->apply_filters('before_payment_recorded', $data); | |
512: hooks()->do_action('after_payment_added', $insert_id); | |
## File: <perfexcrm_root>/application/models/Projects_model.php: | |
39: $this->project_settings = hooks()->apply_filters('project_settings', $project_settings); | |
44: $statuses = hooks()->apply_filters('before_get_project_statuses', [ | |
271: $project = hooks()->apply_filters('project_get', $project); | |
369: $orderByString = hooks()->apply_filters('project_tasks_array_default_order', 'FIELD(status, 5), duedate IS NULL ASC, duedate'); | |
383: $tasks = hooks()->apply_filters('get_projects_tasks', $tasks, [ | |
479: hooks()->do_action('before_remove_project_file', $id); | |
758: $data = hooks()->apply_filters('before_add_project', $data); | |
851: hooks()->do_action('after_add_project', $insert_id); | |
1021: $data = hooks()->apply_filters('before_update_project', $data, $id); | |
1049: hooks()->do_action('project_status_changed', [ | |
1067: hooks()->do_action('after_update_project', $id); | |
1092: hooks()->do_action('after_project_customer_email_sent', [ | |
1112: hooks()->do_action('project_status_changed', [ | |
1320: hooks()->do_action('after_project_staff_added_as_member', [ | |
1604: $_data = hooks()->apply_filters('before_add_project_discussion_comment', $_data, $discussion_id); | |
1691: hooks()->do_action('after_add_discussion_comment', $insert_id); | |
2088: hooks()->do_action('project_copied', [ | |
2146: hooks()->do_action('before_project_deleted', $project_id); | |
2241: hooks()->do_action('after_project_deleted', $project_id); | |
2323: $data = hooks()->apply_filters('before_log_project_activity', $data); | |
## File: <perfexcrm_root>/application/models/Proposals_model.php: | |
17: $this->statuses = hooks()->apply_filters('before_set_proposal_statuses', [ | |
96: $hook = hooks()->apply_filters('before_create_proposal', [ | |
162: hooks()->do_action('proposal_created', $insert_id); | |
225: $hook = hooks()->apply_filters('before_proposal_updated', [ | |
324: hooks()->do_action('after_proposal_updated', $id); | |
513: hooks()->do_action('after_proposal_client_add_comment', $proposal->id); | |
521: hooks()->do_action('after_proposal_staff_add_comment', $proposal->id); | |
764: hooks()->do_action('proposal_accepted', $id); | |
772: hooks()->do_action('proposal_declined', $id); | |
800: hooks()->do_action('before_proposal_deleted', $id); | |
866: hooks()->do_action('after_proposal_deleted', $id); | |
967: hooks()->do_action('after_proposal_expiry_reminder_sent', $id); | |
992: hooks()->do_action('proposal_sent', $id); | |
1166: hooks()->do_action('after_proposal_converted_to_invoice', ['proposal_id' => $id, 'invoice_id' => $invoice_id]); | |
## File: <perfexcrm_root>/application/models/Settings_model.php: | |
35: $data = hooks()->apply_filters('before_settings_updated', $data); | |
75: $hook_data = hooks()->apply_filters('before_single_setting_updated_in_loop', $hook_data); | |
## File: <perfexcrm_root>/application/models/Staff_model.php: | |
17: hooks()->do_action('before_delete_staff_member', [ | |
326: hooks()->do_action('staff_member_deleted', [ | |
405: $data = hooks()->apply_filters('before_create_staff_member', $data); | |
500: hooks()->do_action('staff_member_created', $staffid); | |
523: $data = hooks()->apply_filters('before_update_staff_member', $data, $id); | |
651: hooks()->do_action('staff_member_updated', $id); | |
684: $data = hooks()->apply_filters('before_staff_update_profile', $data, $id); | |
700: hooks()->do_action('staff_member_profile_updated', $id); | |
717: $data = hooks()->apply_filters('before_staff_change_password', $data, $userid); | |
761: $status = hooks()->apply_filters('before_staff_status_change', $status, $id); | |
769: hooks()->do_action('after_staff_status_change', $id); | |
## File: <perfexcrm_root>/application/models/Statement_model.php: | |
234: return hooks()->apply_filters('statement', $result); | |
## File: <perfexcrm_root>/application/models/Tasks_model.php: | |
39: $statuses = hooks()->apply_filters('before_get_task_statuses', [ | |
133: return hooks()->apply_filters('get_task', $task); | |
210: $_new_task_data = hooks()->apply_filters('before_add_task', $_new_task_data); | |
255: hooks()->do_action('after_add_task', $insert_id); | |
532: $data = hooks()->apply_filters('before_add_task', $data); | |
659: hooks()->do_action('after_add_task', $insert_id); | |
759: $data = hooks()->apply_filters('before_update_task', $data, $id); | |
795: hooks()->do_action('after_update_task', $id); | |
868: hooks()->do_action('task_checklist_item_created', ['task_id' => $data['taskid'], 'checklist_id' => $insert_id]); | |
1016: hooks()->do_action('task_comment_added', ['task_id' => $data['taskid'], 'comment_id' => $insert_id]); | |
1073: hooks()->do_action('task_follower_added', [ | |
1158: hooks()->do_action('task_assignee_added', [ | |
1294: $task_attachment_as_comment = hooks()->apply_filters('add_task_attachment_as_comment', 'true'); | |
1352: $task_comments_order = hooks()->apply_filters('task_comments_order', 'DESC'); | |
1400: hooks()->do_action('task_comment_updated', [ | |
1449: hooks()->do_action('task_comment_deleted', ['task_id' => $comment->taskid, 'comment_id' => $id]); | |
1575: hooks()->do_action('task_status_changed', ['status' => $status, 'task_id' => $task_id]); | |
1623: hooks()->do_action('task_status_changed', ['status' => $status, 'task_id' => $id]); | |
1700: hooks()->do_action('task_deleted', $id); | |
1911: hooks()->do_action('task_timer_started', ['task_id' => $task_id, 'timer_id' => $_new_timer_id]); | |
1922: $end_time = hooks()->apply_filters('before_task_timer_stopped', time(), [ | |
2204: hooks()->do_action('task_timer_deleted', $timesheet); | |
2283: return hooks()->apply_filters('should_staff_receive_task_notification', ($this->is_task_assignee($staffid, $taskid) | |
## File: <perfexcrm_root>/application/models/Taxes_model.php: | |
40: $data = hooks()->apply_filters('before_tax_created', $data); | |
48: hooks()->do_action('after_tax_created', [ | |
82: $data = hooks()->apply_filters('before_update_tax', $data, $taxid); | |
105: hooks()->do_action('after_update_tax', [ | |
## File: <perfexcrm_root>/application/models/Templates_model.php: | |
16: $data = hooks()->apply_filters('before_template_added', $data); | |
25: hooks()->do_action('new_template_added', $template_id); | |
72: $data = hooks()->apply_filters('before_template_updated', $data, $id); | |
80: hooks()->do_action('after_template_updated', $id); | |
96: hooks()->do_action('before_template_deleted', $id); | |
105: hooks()->do_action('after_template_deleted', $id); | |
## File: <perfexcrm_root>/application/models/Tickets_model.php: | |
51: $data = hooks()->apply_filters('piped_ticket_data', $data); | |
471: hooks()->apply_filters('ticket_message_without_html_for_non_admin', true) | |
482: $data = hooks()->apply_filters('before_ticket_reply_add', $data, $id, $admin); | |
499: $newStatus = hooks()->apply_filters( | |
534: hooks()->do_action('after_ticket_status_changed', [ | |
608: hooks()->do_action('after_ticket_reply_added', [ | |
629: hooks()->do_action('before_delete_ticket_reply', ['ticket_id' => $ticket_id, 'reply_id' => $reply_id]); | |
726: $ticket_replies_order = hooks()->apply_filters('ticket_replies_order', $ticket_replies_order); | |
819: hooks()->apply_filters('ticket_message_without_html_for_non_admin', true) | |
841: $data = hooks()->apply_filters('before_ticket_created', $data, $admin); | |
935: hooks()->do_action('ticket_created', $ticketid); | |
974: hooks()->do_action('before_ticket_deleted', $ticketid); | |
1035: hooks()->do_action('after_ticket_deleted', $ticketid); | |
1051: $data = hooks()->apply_filters('before_ticket_settings_updated', $data); | |
1100: hooks()->do_action( | |
1184: hooks()->do_action('after_ticket_status_changed', [ | |
## File: <perfexcrm_root>/application/models/Todo_model.php: | |
12: $this->todo_limit = hooks()->apply_filters('todos_limit', 10); | |
## File: <perfexcrm_root>/application/models/Utilities_model.php: | |
44: $data = hooks()->apply_filters('event_update_data', $data, $data['eventid']); | |
55: $data = hooks()->apply_filters('event_create_data', $data); | |
142: $data = hooks()->apply_filters('before_fetch_events', $data, $hook); | |
512: return hooks()->apply_filters('calendar_data', $data, [ | |
## File: <perfexcrm_root>/application/services/CustomerProfileBadges.php: | |
36: $hook = hooks()->apply_filters('customers_profile_tab_badge', [ | |
## File: <perfexcrm_root>/application/services/LeadProfileBadges.php: | |
28: $count = hooks()->apply_filters('lead_tab_badge_count', $count, [ | |
## File: <perfexcrm_root>/application/services/ViewsTracking.php: | |
47: hooks()->do_action('before_insert_views_tracking', [ | |
## File: <perfexcrm_root>/application/services/messages/IsCronSetupRequired.php: | |
87: $using_cron_features = hooks()->apply_filters('numbers_of_features_using_cron_job', $using_cron_features); | |
88: $used_features = hooks()->apply_filters('used_cron_features', $used_features); | |
## File: <perfexcrm_root>/application/services/upgrade/Response.php: | |
11: hooks()->do_action('auto_upgrade_failed_to_extract_zip_file', $zipFile); | |
## File: <perfexcrm_root>/application/third_party/action_hooks.php: | |
7: * Use hooks()->do_action, hooks()->apply_filters, hooks()->add_action, hooks()->add_filter | |
218: _deprecated_function('add_action','2.3.0','hooks()->add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1)'); | |
220: return hooks()->add_filter($name, $function, $priority); | |
233: _deprecated_function('do_action','2.3.0','hooks()->do_action($tag, $arg = \'\')'); | |
235: return hooks()->apply_filters($name, $arguments); | |
248: _deprecated_function('remove_action','2.3.0','hooks()->remove_action($tag, $function_to_remove, $priority = 10)'); | |
250: return hooks()->remove_action($name, $function, $priority); | |
261: _deprecated_function('has_action','2.3.0','hooks()->has_action($tag, $function_to_check = false)'); | |
263: return hooks()->has_action($name); | |
## File: <perfexcrm_root>/application/views/admin/search.php: | |
84: <li><?php echo hooks()->apply_filters('global_search_result_output', $output, ['result'=>$_result, 'type'=>$data['type']]); ?></li> | |
## File: <perfexcrm_root>/application/views/admin/clients/client_js.php: | |
182: <?php echo hooks()->apply_filters('projects_table_default_order', json_encode([5, 'asc'])); ?>); | |
292: <?php if (hooks()->apply_filters('contact_email_required', 'true') === 'true') { ?> | |
297: <?php if (hooks()->apply_filters('contact_email_unique', 'true') === 'true') { ?> | |
## File: <perfexcrm_root>/application/views/admin/clients/manage.php: | |
211: $table_data = hooks()->apply_filters('customers_table_columns', $table_data); | |
232: <?= hooks()->apply_filters('customers_table_default_order', json_encode([2, 'asc'])); ?> | |
## File: <perfexcrm_root>/application/views/admin/clients/groups/profile.php: | |
31: <?= hooks()->apply_filters('customer_profile_tab_custom_fields_text', _l('custom_fields')); ?> | |
41: <?php hooks()->do_action('after_customer_billing_and_shipping_tab', $client ?? false); ?> | |
52: <?php hooks()->do_action('after_customer_admins_tab', $client); ?> | |
58: <?php hooks()->do_action('after_custom_profile_tab_content', $client ?? false); ?> | |
87: <?php hooks()->do_action('before_customer_profile_company_field', $client ?? null); ?> | |
92: <?php hooks()->do_action('after_customer_profile_company_field', $client ?? null); ?> | |
97: <?php hooks()->do_action('before_customer_profile_phone_field', $client ?? null); ?> | |
100: <?php hooks()->do_action('after_customer_profile_company_phone', $client ?? null); ?> | |
## File: <perfexcrm_root>/application/views/admin/clients/groups/proposals.php: | |
42: $table_data = hooks()->apply_filters('proposals_relation_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/clients/groups/statement.php: | |
116: <?php hooks()->add_action('app_admin_footer', 'parse_customer_statement_html'); | |
## File: <perfexcrm_root>/application/views/admin/clients/groups/vault.php: | |
158: <?php hooks()->add_action('app_admin_footer', 'vault_form_validate'); | |
## File: <perfexcrm_root>/application/views/admin/clients/modals/contact.php: | |
311: <?php hooks()->do_action('after_contact_modal_content_loaded'); ?> | |
## File: <perfexcrm_root>/application/views/admin/contracts/contract.php: | |
95: <?php hooks()->do_action('after_contract_view_as_client_link', $contract); ?> | |
399: <?= hooks()->apply_filters('new_contract_default_content', '<span class="text-danger text-uppercase mtop15 editor-add-content-notice"> ' . _l('click_to_add_content') . '</span>') ?> | |
## File: <perfexcrm_root>/application/views/admin/contracts/manage.php: | |
117: <?= hooks()->apply_filters('contracts_table_default_order', json_encode([6, 'asc'])); ?> | |
## File: <perfexcrm_root>/application/views/admin/contracts/table_html.php: | |
31: $table_data = hooks()->apply_filters('contracts_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/credit_notes/credit_note_preview_template.php: | |
143: <?php hooks()->do_action('credit_note_menu_links_start', $credit_note); ?> | |
## File: <perfexcrm_root>/application/views/admin/credit_notes/credit_note.php: | |
239: $credit_note_currency_attr = hooks()->apply_filters('credit_note_currency_attributes', $credit_note_currency_attr); | |
## File: <perfexcrm_root>/application/views/admin/custom_fields/customfield.php: | |
101: <?php hooks()->do_action('after_custom_fields_select_options', $custom_field ?? null); ?> | |
## File: <perfexcrm_root>/application/views/admin/dashboard/dashboard.php: | |
19: <?php hooks()->do_action('before_start_render_dashboard_content'); ?> | |
27: <?php hooks()->do_action('after_dashboard_top_container'); ?> | |
36: <?php hooks()->do_action('after_dashboard_half_container'); ?> | |
57: <?php hooks()->do_action('after_dashboard'); ?> | |
## File: <perfexcrm_root>/application/views/admin/dashboard/widgets/user_data.php: | |
68: <?php hooks()->do_action('after_user_data_widget_tabs'); ?> | |
156: <?php hooks()->do_action('after_user_data_widge_tabs_content'); ?> | |
## File: <perfexcrm_root>/application/views/admin/emails/email_templates.php: | |
14: <?php hooks()->do_action('before_tickets_email_templates'); ?> | |
57: <?php hooks()->do_action('before_estimates_email_templates'); ?> | |
101: <?php hooks()->do_action('before_contracts_email_templates'); ?> | |
144: <?php hooks()->do_action('before_invoices_email_templates'); ?> | |
189: <?php hooks()->do_action('before_subscriptions_email_templates'); ?> | |
234: <?php hooks()->do_action('before_credit_notes_email_templates'); ?> | |
279: <?php hooks()->do_action('before_tasks_email_templates'); ?> | |
323: <?php hooks()->do_action('before_customers_email_templates'); ?> | |
371: <?php hooks()->do_action('before_proposals_email_templates'); ?> | |
415: <?php hooks()->do_action('before_projects_email_templates'); ?> | |
458: <?php hooks()->do_action('before_staff_email_templates'); ?> | |
502: <?php hooks()->do_action('before_leads_email_templates'); ?> | |
546: <?php hooks()->do_action('before_estimate_request_email_templates'); ?> | |
591: <?php hooks()->do_action('before_notifications_email_templates'); ?> | |
636: <?php hooks()->do_action('before_gdpr_email_templates'); ?> | |
682: <?php hooks()->do_action('after_email_templates'); ?> | |
## File: <perfexcrm_root>/application/views/admin/emails/template.php: | |
18: <div style="<?= hooks()->apply_filters('show_deprecated_from_email_header_template_field', false) === false | |
## File: <perfexcrm_root>/application/views/admin/estimate_request/estimate_request.php: | |
280: <?php if (hooks()->apply_filters('contact_email_required', 'true') === 'true') { ?> | |
284: <?php if (hooks()->apply_filters('contact_email_unique', 'true') === 'true') { ?> | |
## File: <perfexcrm_root>/application/views/admin/estimate_request/forms.php: | |
16: <?php hooks()->do_action('forms_table_start'); ?> | |
## File: <perfexcrm_root>/application/views/admin/estimate_request/manage_request.php: | |
51: $table_data = hooks()->apply_filters('estimate_request_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/estimates/estimate_preview_template.php: | |
93: <?php hooks()->do_action('after_admin_estimate_preview_template_tab_menu_last_item', $estimate); ?> | |
172: <?php hooks()->do_action('after_estimate_view_as_client_link', $estimate); ?> | |
634: <?php hooks()->do_action('after_admin_estimate_preview_template_tab_content_last_item', $estimate); ?> | |
## File: <perfexcrm_root>/application/views/admin/estimates/estimate_template.php: | |
247: $currency_attr = hooks()->apply_filters('estimate_currency_attributes', $currency_attr); | |
## File: <perfexcrm_root>/application/views/admin/estimates/table_html.php: | |
31: $table_data = hooks()->apply_filters('estimates_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/expenses/expense_preview_template.php: | |
301: <?php hooks()->do_action('after_left_panel_expense_preview_template', $expense); ?> | |
335: <?php hooks()->do_action('after_right_panel_expense_preview_template', $expense); ?> | |
## File: <perfexcrm_root>/application/views/admin/expenses/expense.php: | |
65: <?php hooks()->do_action('before_expense_form_name', $expense ?? null); ?> | |
178: $currency_attr = hooks()->apply_filters('expense_currency_attributes', $currency_attr); | |
417: <?php hooks()->do_action('before_expense_form_template_close', $expense ?? null); ?> | |
## File: <perfexcrm_root>/application/views/admin/expenses/manage.php: | |
133: <?= hooks()->apply_filters('expenses_table_default_order', json_encode([6, 'desc'])); ?> | |
## File: <perfexcrm_root>/application/views/admin/expenses/table_html.php: | |
49: $table_data = hooks()->apply_filters('expenses_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/gdpr/index.php: | |
65: <?php hooks()->do_action('before_admin_gdpr_settings'); ?> | |
## File: <perfexcrm_root>/application/views/admin/includes/alerts.php: | |
44: <?php hooks()->do_action('before_start_render_content'); ?> | |
## File: <perfexcrm_root>/application/views/admin/includes/aside.php: | |
65: hooks()->do_action('before_render_aside_menu'); | |
123: <?php hooks()->do_action('after_render_single_aside_menu', $item); ?> | |
142: <?php hooks()->do_action('after_render_aside_menu'); ?> | |
## File: <perfexcrm_root>/application/views/admin/includes/elfinder_tinymce.php: | |
26: <?php hooks()->do_action('elfinder_tinymce_head'); ?> | |
## File: <perfexcrm_root>/application/views/admin/includes/head.php: | |
37: <?php hooks()->do_action('after_body_start'); ?> | |
## File: <perfexcrm_root>/application/views/admin/includes/header.php: | |
18: href="<?= hooks()->apply_filters('admin_header_logo_href', admin_url()); ?>"> | |
23: href="<?= hooks()->apply_filters('admin_header_logo_href', admin_url()); ?>"> | |
172: <?php hooks()->do_action('admin_navbar_start'); ?> | |
243: <?php hooks()->do_action('admin_navbar_end'); ?> | |
## File: <perfexcrm_root>/application/views/admin/includes/scripts.php: | |
4: <?php hooks()->do_action('before_js_scripts_render'); ?> | |
27: <?php $pusher_options = hooks()->apply_filters('pusher_options', [['disableStats' => true]]); | |
## File: <perfexcrm_root>/application/views/admin/includes/setup_menu.php: | |
76: <?php hooks()->do_action('after_render_single_setup_menu', $item); ?> | |
81: <a href="<?= hooks()->apply_filters('help_menu_item_link', 'https://help.perfexcrm.com'); ?>" | |
83: <?= hooks()->apply_filters('help_menu_item_text', _l('setup_help')); ?> | |
## File: <perfexcrm_root>/application/views/admin/includes/modals/newsfeed_form.php: | |
39: <?= form_hidden('total_pages_newsfeed', hooks()->apply_filters('total_pages_newsfeed', total_rows(db_prefix() . 'newsfeed_posts') / 10)); ?> | |
## File: <perfexcrm_root>/application/views/admin/invoice_items/item.php: | |
88: <?php hooks()->do_action('before_invoice_item_modal_form_close'); ?> | |
## File: <perfexcrm_root>/application/views/admin/invoice_items/manage.php: | |
44: <?php hooks()->do_action('before_items_page_content'); ?> | |
## File: <perfexcrm_root>/application/views/admin/invoices/invoice_preview_html.php: | |
105: <?php hooks()->do_action('after_left_panel_invoice_preview_template', $invoice); ?> | |
162: <?php hooks()->do_action('after_right_panel_invoice_preview_template', $invoice); ?> | |
## File: <perfexcrm_root>/application/views/admin/invoices/invoice_preview_template.php: | |
152: <?php hooks()->do_action('after_admin_invoice_preview_template_tab_menu_last_item', $invoice); ?> | |
229: <?php hooks()->do_action('after_invoice_view_as_client_link', $invoice); ?> | |
299: <?php hooks()->do_action('after_invoice_preview_more_menu'); ?> | |
519: <?php hooks()->do_action('after_admin_invoice_preview_template_tab_content_last_item', $invoice); ?> | |
540: <?php hooks()->do_action('after_invoice_preview_template_rendered', $invoice); ?> | |
## File: <perfexcrm_root>/application/views/admin/invoices/invoice_template.php: | |
27: <?php hooks()->do_action('before_render_invoice_template', $invoice ?? null); ?> | |
330: $currency_attr = hooks()->apply_filters('invoice_currency_attributes', $currency_attr); | |
808: <?php hooks()->do_action('after_admin_invoice_form_total_field', $invoice ?? null); ?> | |
829: <?php hooks()->do_action('after_render_invoice_template', $invoice ?? false); ?> | |
## File: <perfexcrm_root>/application/views/admin/invoices/record_payment_template.php: | |
93: hooks()->do_action('after_admin_last_record_payment_form_field', $invoice); | |
103: <?php hooks()->do_action('before_admin_add_payment_form_submit', $invoice); ?> | |
## File: <perfexcrm_root>/application/views/admin/invoices/table_html.php: | |
27: $table_data = hooks()->apply_filters('invoices_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/leads/_kan_ban_card.php: | |
63: <?php hooks()->do_action('before_leads_kanban_card_icons', $lead); ?> | |
74: <?php hooks()->do_action('after_leads_kanban_card_icons', $lead); ?> | |
## File: <perfexcrm_root>/application/views/admin/leads/email_integration.php: | |
18: <?php hooks()->do_action('before_leads_email_integration_form'); ?> | |
100: <?= render_input('check_every', 'leads_email_integration_check_every', $mail->check_every, 'number', ['min' => hooks()->apply_filters('leads_email_integration_check_every', 10), 'data-ays-ignore' => true]); ?> | |
## File: <perfexcrm_root>/application/views/admin/leads/forms.php: | |
15: <?php hooks()->do_action('forms_table_start'); ?> | |
## File: <perfexcrm_root>/application/views/admin/leads/lead.php: | |
67: <?= hooks()->apply_filters('lead_email_activity_subject', _l('lead_email_activity')); ?> | |
142: <?php hooks()->do_action('after_lead_lead_tabs', $lead ?? null); ?> | |
157: <?php hooks()->do_action('before_lead_email_activity', ['lead' => $lead, 'email_activity' => $mail_activity]); ?> | |
179: <?php hooks()->do_action('after_lead_email_activity', ['lead_id' => $lead->id, 'emails' => $mail_activity]); ?> | |
290: $table_data = hooks()->apply_filters('proposals_relation_table_columns', $table_data); | |
428: <?php hooks()->do_action('after_lead_tabs_content', $lead ?? null); ?> | |
433: <?php hooks()->do_action('lead_modal_profile_bottom', (isset($lead) ? $lead->id : '')); ?> | |
## File: <perfexcrm_root>/application/views/admin/leads/manage_leads.php: | |
275: $table_data = hooks()->apply_filters('leads_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/modules/list.php: | |
51: $action_links = hooks()->apply_filters("module_{$system_name}_action_links", $action_links); | |
105: hooks()->apply_filters("module_{$system_name}_description_info", $module_description_info); | |
## File: <perfexcrm_root>/application/views/admin/paymentmodes/paymentmode.php: | |
48: <?php hooks()->do_action('before_paymentmode_modal_form_close'); ?> | |
## File: <perfexcrm_root>/application/views/admin/payments/manage.php: | |
18: <?= hooks()->apply_filters('payments_table_default_order', json_encode([0, 'desc'])); ?> | |
## File: <perfexcrm_root>/application/views/admin/payments/payment.php: | |
210: <?php hooks()->do_action('before_admin_edit_payment_form_submit', $payment); ?> | |
## File: <perfexcrm_root>/application/views/admin/projects/manage.php: | |
60: <?= hooks()->apply_filters('projects_table_default_order', json_encode([5, 'asc'])); ?> | |
## File: <perfexcrm_root>/application/views/admin/projects/project_overview.php: | |
15: <?php hooks()->do_action('admin_area_after_project_progress') ?> | |
35: <?php hooks()->do_action('admin_project_overview_end_of_project_overview_left', $project) ?> | |
165: <?php hooks()->do_action('admin_project_overview_end_of_project_overview_right', $project) ?> | |
## File: <perfexcrm_root>/application/views/admin/projects/project_proposals.php: | |
15: <?php hooks()->add_action('app_admin_footer', function () { ?> | |
## File: <perfexcrm_root>/application/views/admin/projects/project_timesheets.php: | |
45: $table_data = hooks()->apply_filters('projects_timesheets_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/projects/table_html.php: | |
27: $table_data = hooks()->apply_filters('projects_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/projects/view.php: | |
195: <?php hooks()->do_action('before_render_project_view', $project->id); ?> | |
271: '<?= hooks()->apply_filters('admin_project_progress_color', '#84c529'); ?>'; | |
## File: <perfexcrm_root>/application/views/admin/proposals/list_template.php: | |
83: $table_data = hooks()->apply_filters('proposals_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/proposals/proposal.php: | |
148: $currency_attr = hooks()->apply_filters('proposal_currency_attributes', $currency_attr); | |
## File: <perfexcrm_root>/application/views/admin/proposals/proposals_preview_template.php: | |
117: <?php hooks()->do_action('after_admin_proposal_preview_template_tab_menu_last_item', $proposal); ?> | |
173: <?php hooks()->do_action('after_proposal_view_as_client_link', $proposal); ?> | |
520: <?php hooks()->do_action('after_admin_invoice_proposal_template_tab_content_last_item', $proposal); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/all.php: | |
94: <?php hooks()->do_action('before_settings_group_view', $group); ?> | |
96: <?php hooks()->do_action('after_settings_group_view', $group); ?> | |
315: <?php hooks()->do_action('settings_group_end', $group); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/cronjob.php: | |
40: <?php hooks()->do_action('after_cron_settings_last_tab'); ?> | |
264: <?php hooks()->do_action('after_cron_settings_last_tab_content'); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/e_sign.php: | |
9: <?php hooks()->do_action('after_settings_e_sign_fields'); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/info.php: | |
1: <?php hooks()->do_action('before_system_info'); ?> | |
538: hooks()->do_action('after_system_info_files_permissions'); | |
540: $permissionsIssues = hooks()->apply_filters('system_info_files_permissions_issue', $permissionsIssues); | |
548: <?php hooks()->do_action('after_system_last_info_row'); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/leads.php: | |
2: <?php hooks()->do_action('before_leads_settings'); ?> | |
36: $validationFields = hooks()->apply_filters('lead_available_dupicate_validation_fields_option', $validationFields); | |
88: <?php hooks()->do_action('after_leads_settings'); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/localization.php: | |
38: $subtext = hooks()->apply_filters('settings_language_subtext', '', $availableLanguage); | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/misc.php: | |
50: <?php hooks()->do_action('after_misc_settings'); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/payment_gateways.php: | |
40: <?php hooks()->do_action('before_render_payment_gateway_settings', $gateway); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/pdf.php: | |
95: <?php hooks()->do_action('after_pdf_signature_settings_fields'); ?> | |
216: <?php hooks()->do_action('after_pdf_document_formats'); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/pusher.php: | |
8: <?php hooks()->do_action('after_pusher_cluster_option'); ?> | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/sms.php: | |
2: hooks()->do_action('before_sms_gateways_settings'); | |
119: hooks()->do_action('after_sms_trigger_textarea_content', ['name' => $trigger_name, 'options' => $trigger_opts]); | |
## File: <perfexcrm_root>/application/views/admin/settings/includes/tickets.php: | |
68: <code><?= hooks()->apply_filters('cpanel_tickets_forwarder_path', FCPATH . 'pipe.php'); ?></code> | |
89: <code><?= hooks()->apply_filters('ticket_form_file_location_settings', VIEWPATH . 'forms/ticket.php'); ?></code> | |
## File: <perfexcrm_root>/application/views/admin/staff/member.php: | |
298: hooks()->do_action('staff_render_permissions'); | |
## File: <perfexcrm_root>/application/views/admin/staff/myprofile.php: | |
10: <?php hooks()->do_action('before_staff_myprofile'); ?> | |
## File: <perfexcrm_root>/application/views/admin/subscriptions/manage.php: | |
50: <?php hooks()->do_action('before_subscriptions_table'); ?> | |
## File: <perfexcrm_root>/application/views/admin/subscriptions/table_html.php: | |
49: hooks()->add_action('app_admin_footer', function () { | |
55: <?php echo hooks()->apply_filters('subscriptions_table_default_order', json_encode([6, 'desc'])); ?> | |
## File: <perfexcrm_root>/application/views/admin/tables/all_contacts.php: | |
131: $row = hooks()->apply_filters('all_contacts_table_row', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/clients.php: | |
45: $join = hooks()->apply_filters('customers_table_sql_join', $join); | |
51: $aColumns = hooks()->apply_filters('customers_table_sql_columns', $aColumns); | |
164: $row = hooks()->apply_filters('customers_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/contacts.php: | |
105: $row = hooks()->apply_filters('admin_customer_contacts_table_row', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/contracts.php: | |
67: $aColumns = hooks()->apply_filters('contracts_table_sql_columns', $aColumns); | |
143: $row = hooks()->apply_filters('contracts_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/estimate_request.php: | |
49: $aColumns = hooks()->apply_filters('estimate_request_table_sql_columns', $aColumns); | |
51: $additionalColumns = hooks()->apply_filters('estimate_request_table_additional_columns_sql', [ | |
138: $row = hooks()->apply_filters('estimate_request_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/estimates.php: | |
65: $aColumns = hooks()->apply_filters('estimates_table_sql_columns', $aColumns); | |
150: $row = hooks()->apply_filters('estimates_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/expenses.php: | |
60: $aColumns = hooks()->apply_filters('expenses_table_sql_columns', $aColumns); | |
186: $row = hooks()->apply_filters('expenses_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/invoices.php: | |
63: $aColumns = hooks()->apply_filters('invoices_table_sql_columns', $aColumns); | |
144: $row = hooks()->apply_filters('invoices_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/leads.php: | |
132: $aColumns = hooks()->apply_filters('leads_table_sql_columns', $aColumns); | |
139: $additionalColumns = hooks()->apply_filters('leads_table_additional_columns_sql', [ | |
280: $row = hooks()->apply_filters('leads_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/projects.php: | |
55: $aColumns = hooks()->apply_filters('projects_table_sql_columns', $aColumns); | |
140: $row = hooks()->apply_filters('projects_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/proposals_relations.php: | |
50: $aColumns = hooks()->apply_filters('proposals_relation_table_sql_columns', $aColumns); | |
## File: <perfexcrm_root>/application/views/admin/tables/proposals.php: | |
60: $aColumns = hooks()->apply_filters('proposals_table_sql_columns', $aColumns); | |
134: $row = hooks()->apply_filters('proposals_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/staff.php: | |
36: $where = hooks()->apply_filters('staff_table_sql_where', []); | |
103: $row = hooks()->apply_filters('staff_table_row', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/tasks_relations.php: | |
88: $aColumns = hooks()->apply_filters('tasks_related_table_sql_columns', $aColumns); | |
237: $row = hooks()->apply_filters('tasks_related_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/tasks.php: | |
54: $aColumns = hooks()->apply_filters('tasks_table_sql_columns', $aColumns); | |
222: $row = hooks()->apply_filters('tasks_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/tickets.php: | |
247: $row = hooks()->apply_filters('admin_tickets_table_row_data', $row, $aRow); | |
## File: <perfexcrm_root>/application/views/admin/tables/timesheets.php: | |
18: $aColumns = hooks()->apply_filters('projects_timesheets_table_sql_columns', $aColumns); | |
25: $join = hooks()->apply_filters('projects_timesheets_table_sql_join', $join); | |
## File: <perfexcrm_root>/application/views/admin/tables/includes/tasks_filter.php: | |
68: $where = hooks()->apply_filters('tasks_table_sql_where', $where); | |
## File: <perfexcrm_root>/application/views/admin/tasks/_table.php: | |
35: $table_data = hooks()->apply_filters('tasks_table_columns', $table_data); | |
## File: <perfexcrm_root>/application/views/admin/tasks/task.php: | |
52: $task_copy_statuses = hooks()->apply_filters('task_copy_statuses', $task_statuses); | |
54: $copy_template .= "<div class='radio radio-primary'><input type='radio' value='" . $copy_status['id'] . "' name='copy_task_status' id='copy_task_status_" . $copy_status['id'] . "'" . ($copy_status['id'] == hooks()->apply_filters('copy_task_default_status', 1) ? ' checked' : '') . "><label for='copy_task_status_" . $copy_status['id'] . "'>" . $copy_status['name'] . '</label></div>'; | |
200: <?php hooks()->do_action('task_priorities_select', (isset($task) ? $task : 0)); ?> | |
365: hooks()->do_action('task_modal_rel_type_select', ['task' => (isset($task) ? $task : 0), 'rel_type' => $rel_type]); | |
## File: <perfexcrm_root>/application/views/admin/tasks/tasks_filter_by.php: | |
5: hooks()->do_action('tasks_filters_hidden_html'); | |
## File: <perfexcrm_root>/application/views/admin/tasks/view_task_template.php: | |
425: <?php hooks()->do_action('before_task_description_section', $task); ?> | |
526: $show_more_link_task_attachments = hooks()->apply_filters('show_more_link_task_attachments', 2); | |
784: $task_copy_statuses = hooks()->apply_filters('task_copy_statuses', $task_statuses); | |
787: $copy_template .= "<div class='radio'><input type='radio' value='" . $copy_status['id'] . "' name='copy_task_status' id='copy_task_status_" . $copy_status['id'] . "'" . ($copy_status['id'] == hooks()->apply_filters('copy_task_default_status', 1) ? ' checked' : '') . "><label for='copy_task_status_" . $copy_status['id'] . "'>" . e($copy_status['name']) . '</label></div>'; | |
836: $task_single_mark_as_statuses = hooks()->apply_filters('task_single_mark_as_statuses', $task_statuses); | |
## File: <perfexcrm_root>/application/views/admin/taxes/manage.php: | |
52: <?php hooks()->do_action('before_taxes_modal_form_close'); ?> | |
## File: <perfexcrm_root>/application/views/admin/tickets/add.php: | |
99: echo render_select('priority', $priorities, ['priorityid', 'name'], 'ticket_settings_priority', hooks()->apply_filters('new_ticket_priority_selected', 2), ['required' => 'true']); ?> | |
234: <?php hooks()->do_action('new_ticket_admin_page_loaded'); ?> | |
## File: <perfexcrm_root>/application/views/admin/tickets/list.php: | |
68: <?php hooks()->do_action('before_render_tickets_list_table'); ?> | |
## File: <perfexcrm_root>/application/views/admin/tickets/single.php: | |
171: <?php hooks()->do_action('after_admin_single_ticket_tab_menu_last_item', $ticket); ?> | |
185: <?php hooks()->do_action('after_admin_single_ticket_tab_menu_last_content', $ticket); ?> | |
264: <?php hooks()->do_action('ticket_admin_single_page_loaded', $ticket); ?> | |
## File: <perfexcrm_root>/application/views/admin/tickets/partials/ticket-tabpanel-add-reply.php: | |
5: <?php hooks()->do_action('before_admin_ticket_addreply_tabpanel_content', $ticket); ?> | |
165: <?= hooks()->apply_filters('ticket_add_response_and_back_to_list_default', 'checked'); ?> | |
## File: <perfexcrm_root>/application/views/admin/utilities/bulk_pdf_exporter.php: | |
124: <?php hooks()->do_action('after_bulk_pdf_export_options'); ?> | |
## File: <perfexcrm_root>/application/views/admin/utilities/calendar_filters.php: | |
7: <?php hooks()->do_action('before_calendar_filters'); ?> | |
104: <?php hooks()->do_action('after_calendar_filters'); ?> | |
## File: <perfexcrm_root>/application/views/admin/utilities/calendar.php: | |
19: <?php hooks()->do_action('after_calendar_loaded');?> | |
## File: <perfexcrm_root>/application/views/authentication/login_admin.php: | |
29: <?php hooks()->do_action('after_admin_login_form_start'); ?> | |
72: <?php hooks()->do_action('before_admin_login_form_close'); ?> | |
## File: <perfexcrm_root>/application/views/authentication/includes/head.php: | |
58: <?php hooks()->do_action('app_admin_authentication_head'); ?> | |
## File: <perfexcrm_root>/application/views/forms/estimate_request.php: | |
11: <?php hooks()->do_action('app_estimate_request_form_head'); ?> | |
33: <?php hooks()->do_action('estimate_request_form_start'); ?> | |
72: <?php hooks()->do_action('estimate_request_form_end'); ?> | |
166: <?php hooks()->do_action('app_estimate_request_form_footer'); ?> | |
## File: <perfexcrm_root>/application/views/forms/public_ticket.php: | |
2: <?php hooks()->do_action('public_ticket_start', $ticket); ?> | |
9: <?php hooks()->do_action('public_ticket_end', $ticket); ?> | |
## File: <perfexcrm_root>/application/views/forms/ticket.php: | |
9: <title><?php echo hooks()->apply_filters('ticket_form_title', _l('new_ticket')); ?></title> | |
16: <?php hooks()->do_action('app_ticket_form_head'); ?> | |
32: <?php hooks()->do_action('ticket_form_start'); ?> | |
35: <?php hooks()->do_action('ticket_form_after_subject'); ?> | |
40: <?php hooks()->do_action('ticket_form_after_name'); ?> | |
44: <?php hooks()->do_action('ticket_form_after_email'); ?> | |
56: <?php hooks()->do_action('ticket_form_after_department'); ?> | |
58: <?php echo render_select('priority', $priorities, ['priorityid', 'name'], 'ticket_form_priority', hooks()->apply_filters('new_ticket_priority_selected', 2), ['required' => 'true']); ?> | |
59: <?php hooks()->do_action('ticket_form_after_priority'); ?> | |
66: hooks()->do_action('ticket_form_after_service'); | |
71: <?php hooks()->do_action('ticket_form_after_custom_fields'); ?> | |
74: <?php hooks()->do_action('ticket_form_after_message'); ?> | |
95: <?php hooks()->do_action('ticket_form_after_attachments'); ?> | |
131: <?php hooks()->do_action('ticket_form_after_submit_button'); ?> | |
133: <?php hooks()->do_action('ticket_form_end'); ?> | |
217: <?php hooks()->do_action('app_ticket_form_footer'); ?> | |
## File: <perfexcrm_root>/application/views/forms/web_to_lead.php: | |
11: <?php hooks()->do_action('app_web_to_lead_form_head'); ?> | |
32: <?php hooks()->do_action('web_to_lead_form_start'); ?> | |
67: <?php hooks()->do_action('web_to_lead_form_end'); ?> | |
154: <?php hooks()->do_action('app_web_to_lead_form_footer'); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/functions.php: | |
8: hooks()->add_action('app_customers_head', 'app_theme_head_hook'); | |
14: hooks()->add_action('clients_init', 'add_default_theme_menu_items'); | |
## File: <perfexcrm_root>/application/views/themes/perfex/head.php: | |
21: <?php hooks()->do_action('customers_after_body_start'); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/index.php: | |
15: <?php hooks()->do_action('customers_content_container_start'); ?> | |
23: <?php hooks()->do_action('before_customers_area_sub_menu_start'); ?> | |
50: <?php hooks()->do_action('after_customers_area_sub_menu_end'); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/template_parts/identity_confirmation_form.php: | |
15: <?php hooks()->do_action('before_confirmation_identity_fields'); ?> | |
70: <?php hooks()->do_action('after_confirmation_identity_fields'); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/template_parts/navigation.php: | |
18: <?php hooks()->do_action('customers_navigation_start'); ?> | |
33: <?php hooks()->do_action('customers_navigation_end'); ?> | |
120: <?= hooks()->do_action('customers_navigation_before_logout'); ?> | |
130: <?php hooks()->do_action('customers_navigation_after_profile'); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/template_parts/projects/edit_task.php: | |
34: <?php hooks()->apply_filters('task_priorities_select', $task); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/template_parts/projects/new_task.php: | |
36: <?php hooks()->apply_filters('task_priorities_select', 0); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/template_parts/projects/project_tabs.php: | |
15: <?php hooks()->do_action('after_customers_area_project_overview_tab', $project); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/template_parts/projects/project_task.php: | |
144: $show_more_link_task_attachments = hooks()->apply_filters('show_more_link_task_attachments_customers_area', 3); | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/consent.php: | |
12: <?= e(hooks()->apply_filters('consent_public_page_heading', get_option('companyname'))); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/credit_note_pdf.php: | |
43: $credit_note_info = hooks()->apply_filters('credit_note_pdf_header_after_shipping_info', $credit_note_info, $credit_note); | |
47: $credit_note_info = hooks()->apply_filters('credit_note_pdf_header_after_date', $credit_note_info, $credit_note); | |
51: $credit_note_info = hooks()->apply_filters('credit_note_pdf_header_after_reference_no', $credit_note_info, $credit_note); | |
56: $credit_note_info = hooks()->apply_filters('credit_note_pdf_header_after_project', $credit_note_info, $credit_note); | |
59: $credit_note_info = hooks()->apply_filters('credit_note_pdf_header_before_custom_fields', $credit_note_info, $credit_note); | |
69: $credit_note_info = hooks()->apply_filters('credit_note_pdf_header_after_custom_fields', $credit_note_info, $credit_note); | |
77: $pdf->Ln(hooks()->apply_filters('pdf_info_and_table_separator', 6)); | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/estimatehtml.php: | |
226: <?php hooks()->do_action('after_total_summary_estimatehtml', $estimate); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/estimatepdf.php: | |
68: $organization_info = hooks()->apply_filters('estimatepdf_organization_info', $organization_info, $estimate); | |
76: $pdf->Ln(hooks()->apply_filters('pdf_info_and_table_separator', 6)); | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/files.php: | |
5: <?php hooks()->do_action('after_customers_area_files_heading'); ?> | |
11: <?php hooks()->do_action('after_customers_area_files_dropzone'); ?> | |
102: <?php hooks()->do_action('after_customers_area_files'); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/home.php: | |
11: <?php hooks()->do_action('client_area_after_project_overview'); ?> | |
85: <?php hooks()->do_action('client_area_dashboard_end'); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/invoicehtml.php: | |
75: <?php hooks()->do_action('after_left_panel_invoicehtml', $invoice); ?> | |
136: <?php hooks()->do_action('after_right_panel_invoicehtml', $invoice); ?> | |
242: <?php hooks()->do_action('after_total_summary_invoicehtml', $invoice); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/invoicepdf.php: | |
52: $invoice_info = hooks()->apply_filters('invoice_pdf_header_after_date', $invoice_info, $invoice); | |
56: $invoice_info = hooks()->apply_filters('invoice_pdf_header_after_due_date', $invoice_info, $invoice); | |
61: $invoice_info = hooks()->apply_filters('invoice_pdf_header_after_sale_agent', $invoice_info, $invoice); | |
66: $invoice_info = hooks()->apply_filters('invoice_pdf_header_after_project_name', $invoice_info, $invoice); | |
69: $invoice_info = hooks()->apply_filters('invoice_pdf_header_before_custom_fields', $invoice_info, $invoice); | |
79: $invoice_info = hooks()->apply_filters('invoice_pdf_header_after_custom_fields', $invoice_info, $invoice); | |
80: $organization_info = hooks()->apply_filters('invoicepdf_organization_info', $organization_info, $invoice); | |
81: $invoice_info = hooks()->apply_filters('invoice_pdf_info', $invoice_info, $invoice); | |
89: $pdf->Ln(hooks()->apply_filters('pdf_info_and_table_separator', 6)); | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/knowledge_base_article.php: | |
31: <?php hooks()->do_action('after_single_knowledge_base_article_customers_area', $article->articleid); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/knowledge_base.php: | |
19: hooks()->do_action('after_kb_groups_customers_area'); | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/login.php: | |
11: <?php hooks()->do_action('clients_login_form_start'); ?> | |
80: <?php hooks()->do_action('clients_login_form_end'); ?> | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/open_ticket.php: | |
8: <?php hooks()->do_action('before_client_open_ticket_form_start'); ?> | |
70: <?= set_select('priority', $priority['priorityid'], hooks()->apply_filters('new_ticket_priority_selected', 2) == $priority['priorityid']); ?>> | |
## File: <perfexcrm_root>/application/views/themes/perfex/views/profile.php: | |
6: <?php hooks()->do_action('before_client_profile_form_loaded'); ?> | |
156: <?php hooks()->do_action('after_client_profile_form_loaded'); ?> | |
206: <?php hooks()->do_action('after_client_profile_password_form_loaded'); ?> | |
## File: <perfexcrm_root>/modules/backup/backup.php: | |
21: hooks()->add_action('after_cron_run', 'backup_perform'); | |
22: hooks()->add_action('after_system_last_info_row', 'backup_set_info_manager'); | |
23: hooks()->add_filter('module_backup_action_links', 'module_backup_action_links'); | |
24: hooks()->add_action('admin_init', 'backup_module_init_menu_items'); | |
26: hooks()->add_filter('numbers_of_features_using_cron_job', 'backup_numbers_of_features_using_cron_job'); | |
27: hooks()->add_filter('used_cron_features', 'backup_used_cron_features'); | |
## File: <perfexcrm_root>/modules/backup/controllers/Backup.php: | |
39: hooks()->do_action('before_make_backup'); | |
57: hooks()->do_action('before_update_backup_options'); | |
## File: <perfexcrm_root>/modules/exports/exports.php: | |
13: hooks()->add_action('admin_init', 'export_module_init_menu_items'); | |
## File: <perfexcrm_root>/modules/exports/libraries/Exports_module.php: | |
30: $this->features = hooks()->apply_filters('csv_export_features', [ | |
## File: <perfexcrm_root>/modules/exports/services/CSVExport.php: | |
37: $this->batchSize = hooks()->apply_filters('csv_export_batch_size', 100); | |
## File: <perfexcrm_root>/modules/goals/goals.php: | |
14: hooks()->add_action('after_cron_run', 'goals_notification'); | |
15: hooks()->add_action('admin_init', 'goals_module_init_menu_items'); | |
16: hooks()->add_action('staff_member_deleted', 'goals_staff_member_deleted'); | |
17: hooks()->add_action('admin_init', 'goals_permissions'); | |
19: hooks()->add_filter('migration_tables_to_replace_old_links', 'goals_migration_tables_to_replace_old_links'); | |
20: hooks()->add_filter('global_search_result_query', 'goals_global_search_result_query', 10, 3); | |
21: hooks()->add_filter('global_search_result_output', 'goals_global_search_result_output', 10, 2); | |
22: hooks()->add_filter('get_dashboard_widgets', 'goals_add_dashboard_widget'); | |
225: return hooks()->apply_filters('get_goal_types', $types); | |
## File: <perfexcrm_root>/modules/goals/models/Goals_model.php: | |
274: $sql = hooks()->apply_filters('calculate_goal_achievement_sql', '', $goal); | |
## File: <perfexcrm_root>/modules/ideal/ideal.php: | |
86: hooks()->add_action('before_update_system_options', 'prevent_activate_ideal_gateway'); | |
## File: <perfexcrm_root>/modules/ideal/libraries/Ideal_gateway.php: | |
52: hooks()->add_action('before_render_payment_gateway_settings', 'idealModuleWebhookCheck'); | |
## File: <perfexcrm_root>/modules/menu_setup/menu_setup.php: | |
16: hooks()->add_filter('sidebar_menu_items', 'app_admin_sidebar_custom_options', 999); | |
17: hooks()->add_filter('sidebar_menu_items', 'app_admin_sidebar_custom_positions', 998); | |
19: hooks()->add_filter('setup_menu_items', 'app_admin_setup_menu_custom_options', 999); | |
20: hooks()->add_filter('setup_menu_items', 'app_admin_setup_menu_custom_positions', 998); | |
21: hooks()->add_filter('module_menu_setup_action_links', 'module_menu_setup_action_links'); | |
22: hooks()->add_action('admin_init', 'menu_setup_init_menu_items'); | |
## File: <perfexcrm_root>/modules/menu_setup/controllers/Menu_setup.php: | |
18: hooks()->remove_filter('sidebar_menu_items', 'app_admin_sidebar_custom_options', 999); | |
30: hooks()->do_action('before_update_aside_menu'); | |
37: hooks()->do_action('aside_menu_resetted'); | |
43: hooks()->remove_filter('setup_menu_items', 'app_admin_setup_menu_custom_options', 999); | |
49: $data['no_disable'] = hooks()->apply_filters('setup_menu_no_disable_items', [ | |
62: hooks()->do_action('before_update_setup_menu'); | |
70: hooks()->do_action('setup_menu_resetted'); | |
## File: <perfexcrm_root>/modules/surveys/surveys.php: | |
16: hooks()->add_action('after_cron_run', 'surveys_send'); | |
17: hooks()->add_action('admin_init', 'surveys_module_init_menu_items'); | |
18: hooks()->add_action('admin_init', 'surveys_permissions'); | |
19: hooks()->add_action('after_cron_settings_last_tab', 'survey_cron_settings_tab'); | |
20: hooks()->add_action('after_cron_settings_last_tab_content', 'survey_cron_settings_tab_content'); | |
21: hooks()->add_action('contact_deleted', 'survey_contact_deleted_hook', 10, 2); | |
23: hooks()->add_filter('numbers_of_features_using_cron_job', 'surveys_numbers_of_features_using_cron_job'); | |
24: hooks()->add_filter('used_cron_features', 'surveys_used_cron_features'); | |
25: hooks()->add_filter('migration_tables_to_replace_old_links', 'surveys_migration_tables_to_replace_old_links'); | |
26: hooks()->add_filter('global_search_result_query', 'surveys_global_search_result_query', 10, 3); | |
27: hooks()->add_filter('global_search_result_output', 'surveys_global_search_result_output', 10, 2); | |
## File: <perfexcrm_root>/modules/surveys/controllers/Participate.php: | |
46: set_alert('success', hooks()->apply_filters('survey_success_message', 'Thank you for participating in this survey. Your answers are very important to us.')); | |
48: redirect(hooks()->apply_filters('survey_default_redirect', site_url('surveys/survey/' . $id . '/' . $hash . '?participated=yes'))); | |
## File: <perfexcrm_root>/modules/theme_style/theme_style.php: | |
39: hooks()->add_action('app_admin_head', 'theme_style_admin_head'); | |
40: hooks()->add_action('app_admin_authentication_head', 'theme_style_admin_head'); | |
41: hooks()->add_action('app_customers_head', 'theme_style_clients_area_head'); | |
42: hooks()->add_action('app_admin_authentication_head', 'theme_style_general_and_buttons'); | |
43: hooks()->add_action('app_external_form_head', 'theme_style_general_and_buttons'); | |
44: hooks()->add_filter('module_theme_style_action_links', 'module_theme_style_action_links'); | |
45: hooks()->add_action('admin_init', 'theme_style_init_menu_items'); | |
46: hooks()->add_filter('admin_header_logo_url', 'determine_header_logo_url_based_on_background_color'); | |
## File: <perfexcrm_root>/modules/theme_style/controllers/Theme_style.php: | |
30: hooks()->do_action('before_save_theme_style'); | |
## File: <perfexcrm_root>/modules/theme_style/helpers/theme_style_helper.php: | |
364: $areas = hooks()->apply_filters('get_styling_areas', $areas); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment