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