/** * Primary init of WP_CRM_Core, gets called by after_setup_theme. * * Register scripts. * Register styles. * Load premium features. * * @since 0.01 * * @uses $wp_crm WP-CRM configuration array * */ function init() { global $wpdb, $wp_crm, $wp_roles; /** Loads all the class for handling all plugin tables */ include_once WP_CRM_Path . '/core/class_list_table.php'; if ($wp_crm['configuration']['track_detailed_user_activity'] == 'true') { WP_CRM_F::track_detailed_user_activity(); } wp_register_script('google-jsapi', 'https://www.google.com/jsapi'); wp_register_script('jquery-cookie', WP_CRM_URL . '/third-party/jquery.smookie.js', array('jquery'), '1.7.3'); wp_register_script('swfobject', WP_CRM_URL . '/third-party/swfobject.js', array('jquery')); wp_register_script('jquery-uploadify', WP_CRM_URL . '/third-party/uploadify/jquery.uploadify.v2.1.4.min.js', array('jquery', 'swfobject')); wp_register_script('jquery-position', WP_CRM_URL . '/third-party/jquery.ui.position.min.js', array('jquery-ui-core')); wp_register_script('jquery-slider', WP_CRM_URL . '/third-party/jquery.ui.slider.min.js', array('jquery-ui-core')); wp_register_script('jquery-widget', WP_CRM_URL . '/third-party/jquery.ui.widget.min.js', array('jquery-ui-core')); wp_register_script('jquery-datepicker', WP_CRM_URL . '/third-party/jquery.ui.datepicker.js', array('jquery-ui-core')); wp_register_script('jquery-autocomplete', WP_CRM_URL . '/third-party/jquery.ui.autocomplete.min.js', array('jquery-widget', 'jquery-position')); wp_register_script('wp-crm-data-tables', WP_CRM_URL . '/third-party/dataTables/jquery.dataTables.min.js', array('jquery')); wp_register_script('wp_crm_global', WP_CRM_URL . '/js/wp_crm_global.js', array('jquery'), WP_CRM_Version, true); wp_register_script('wp_crm_profile_editor', WP_CRM_URL . '/js/wp_crm_profile_editor.js', array('wp_crm_global'), WP_CRM_Version, true); // Find and register theme-specific style if a custom wp_properties.css does not exist in theme $theme_slug = get_option('stylesheet'); if (file_exists(WP_CRM_Templates . "/theme-specific/{$theme_slug}.css")) { wp_register_style('wp-crm-theme-specific', WP_CRM_URL . "/templates/theme-specific/{$theme_slug}.css", array('wp-crm-default-styles'), WP_CRM_Version); } //** Load default styles */ if (file_exists(WP_CRM_Path . "/templates/wp-crm-default-styles.css")) { wp_register_style('wp-crm-default-styles', WP_CRM_URL . "/templates/wp-crm-default-styles.css", array(), WP_CRM_Version); } if (file_exists(WP_CRM_Path . "/css/wp_crm_global.css")) { wp_register_style('wp_crm_global', WP_CRM_URL . "/css/wp_crm_global.css", array(), WP_CRM_Version); } wp_register_style('wp-crm-data-tables', WP_CRM_URL . "/css/crm-data-tables.css", array(), WP_CRM_Version); // Plug page actions -> Add Settings Link to plugin overview page add_filter('plugin_action_links', array('WP_CRM_Core', 'plugin_action_links'), 10, 2); // Setup pages and overview columns add_action("admin_menu", array('WP_CRM_Core', "admin_menu"), 100); add_filter("retrieve_password_message", array('WP_CRM_F', "retrieve_password_message")); //** Modify default WP password reset message */ add_filter("admin_body_class", create_function('', "return WP_CRM_Core::admin_body_class(); ")); //** Load back-end scripts */ add_action("admin_enqueue_scripts", array('WP_CRM_Core', "admin_enqueue_scripts")); add_action("wp_ajax_wp_crm_csv_export", create_function('', ' WP_CRM_F::csv_export($_REQUEST["wp_crm_search"]); die();')); add_action("wp_ajax_wp_crm_visualize_results", create_function('', ' WP_CRM_F::visualize_results($_REQUEST["filters"]); die();')); add_action('wp_ajax_wp_crm_check_plugin_updates', create_function("", ' echo WP_CRM_F::check_plugin_updates(); die();')); add_action("wp_ajax_wp_crm_user_object", create_function('', ' echo "CRM Object Report: \\n" . print_r(wp_crm_get_user($_REQUEST[user_id]), true) . "\\nRaw Meta Report: \\n" . print_r(WP_CRM_F::show_user_meta_report($_REQUEST[user_id]), true); ')); add_action("wp_ajax_wp_crm_show_meta_report", create_function('', ' die(print_r(WP_CRM_F::show_user_meta_report(), true)); ')); add_action("wp_ajax_wp_crm_get_user_activity_stream", create_function('', ' echo WP_CRM_F::get_user_activity_stream("user_id={$_REQUEST[user_id]}"); die; ')); add_action("wp_ajax_wp_crm_insert_activity_message", create_function('', ' echo WP_CRM_F::insert_event("time={$_REQUEST[time]}&attribute=note&object_id={$_REQUEST[user_id]}&text={$_REQUEST[content]}&ajax=true"); die; ')); add_action("wp_ajax_wp_crm_get_notification_template", create_function('', ' echo WP_CRM_F::get_notification_template($_REQUEST["template_slug"]); die; ')); add_action("wp_ajax_wp_crm_do_fake_users", create_function('', ' echo WP_CRM_F::do_fake_users("number={$_REQUEST[number]}&do_what={$_REQUEST[do_what]}"); die; ')); add_action("wp_ajax_wp_crm_list_table", create_function('', ' echo WP_CRM_F::ajax_table_rows(); die; ')); add_action("wp_ajax_wp_crm_quick_action", create_function('', ' echo WP_CRM_F::quick_action(); die; ')); add_action("admin_init", array('WP_CRM_Core', "admin_init")); add_action("admin_head", array('WP_CRM_Core', "admin_head")); //* Init action hook */ do_action('wp_crm_init'); add_action('load-toplevel_page_wp_crm', array('WP_CRM_Core', 'toplevel_page_wp_crm')); add_action('load-crm_page_wp_crm_settings', array('WP_CRM_Core', 'crm_page_wp_crm_settings')); add_action('load-crm_page_wp_crm_add_new', array('WP_CRM_Core', 'crm_page_wp_crm_add_new')); //** Take over traditional user pages if option is enabled */ add_action('load-user-edit.php', array('WP_CRM_Core', 'crm_page_traditional_user_page')); add_action('load-users.php', array('WP_CRM_Core', 'crm_page_traditional_user_page')); add_action('load-user-new.php', array('WP_CRM_Core', 'crm_page_traditional_user_page')); add_action("template_redirect", array('WP_CRM_Core', "template_redirect")); add_action("deleted_user", array('WP_CRM_F', "deleted_user")); //** Check if installed DB version is older than THIS version */ if (is_admin()) { if (!get_option('wp_crm_caps_set')) { WP_CRM_F::manual_activation('update_caps=true&auto_redirect=true'); } //** Load defaults */ WP_CRM_F::manual_activation(); } }
/** * Primary init of WP_CRM_Core, gets called by after_setup_theme. * * Register scripts. * Register styles. * Load premium features. * * @since 0.01 * * @uses $wp_crm WP-CRM configuration array * */ function init() { global $wp_crm; if (!empty($wp_crm['configuration']['replace_default_user_page']) && $wp_crm['configuration']['replace_default_user_page'] == 'true') { $current_user = wp_get_current_user(); if ($wp_crm['configuration']['replace_default_user_page'] == 'true' && basename($_SERVER['SCRIPT_NAME']) == 'profile.php' && !empty($current_user->ID) && current_user_can('edit_users')) { die(wp_redirect("admin.php?page=wp_crm_add_new&user_id={$current_user->ID}")); } add_filter('edit_profile_url', array('WP_CRM_F', 'edit_profile_url'), 10, 3); } /** Loads all the class for handling all plugin tables */ include_once WP_CRM_Path . '/core/class_list_table.php'; if (!empty($wp_crm['configuration']['track_detailed_user_activity']) && $wp_crm['configuration']['track_detailed_user_activity'] == 'true') { WP_CRM_F::track_detailed_user_activity(); } wp_register_script('google-jsapi', 'https://www.google.com/jsapi'); wp_register_script('jquery-cookie', WP_CRM_URL . '/third-party/jquery.smookie.js', array('jquery'), '1.7.3'); wp_register_script('swfobject', WP_CRM_URL . '/third-party/swfobject.js', array('jquery')); wp_register_script('jquery-uploadify', WP_CRM_URL . '/third-party/uploadify/jquery.uploadify.v2.1.4.min.js', array('jquery', 'swfobject')); wp_register_script('wp-crm-data-tables', WP_CRM_URL . '/third-party/dataTables/jquery.dataTables.min.js', array('jquery')); wp_register_script('wp_crm_global', WP_CRM_URL . '/js/wp_crm_global.js', array('jquery'), WP_CRM_Version, true); wp_register_script('wp_crm_profile_editor', WP_CRM_URL . '/js/wp_crm_profile_editor.js', array('wp_crm_global'), WP_CRM_Version, true); // Find and register theme-specific style if a custom wp_properties.css does not exist in theme $theme_slug = get_option('stylesheet'); if (file_exists(WP_CRM_Templates . "/theme-specific/{$theme_slug}.css")) { wp_register_style('wp-crm-theme-specific', WP_CRM_URL . "/templates/theme-specific/{$theme_slug}.css", array('wp-crm-default-styles'), WP_CRM_Version); } //** Load default styles */ if (file_exists(WP_CRM_Path . "/templates/wp-crm-default-styles.css")) { wp_register_style('wp-crm-default-styles', WP_CRM_URL . "/templates/wp-crm-default-styles.css", array(), WP_CRM_Version); } if (file_exists(WP_CRM_Path . "/css/wp_crm_global.css")) { wp_register_style('wp_crm_global', WP_CRM_URL . "/css/wp_crm_global.css", array(), WP_CRM_Version); } wp_register_style('wp-crm-data-tables', WP_CRM_URL . "/css/crm-data-tables.css", array(), WP_CRM_Version); //** Attribute grouping options */ if (!empty($wp_crm['configuration']['allow_attributes_grouping']) && $wp_crm['configuration']['allow_attributes_grouping'] == 'true') { //** Add Group selector */ add_action('wp_crm_attributes_before_advanced_list', array('WP_CRM_F', 'attribute_grouping_options')); //** Add Groups table */ add_action('wp_crm_after_tab_user_data', array('WP_CRM_F', 'add_grouping_settings')); //** Filter Primary Information */ add_filter('wp_crm_primary_information_attributes', array('WP_CRM_F', 'filter_primary_metabox')); } // Plug page actions -> Add Settings Link to plugin overview page add_filter('plugin_action_links', array('WP_CRM_Core', 'plugin_action_links'), 10, 2); // Setup pages and overview columns add_action("admin_menu", array('WP_CRM_Core', "admin_menu"), 100); add_filter("retrieve_password_message", array('WP_CRM_F', "retrieve_password_message")); //** Modify default WP password reset message */ add_filter("admin_body_class", create_function('', "return WP_CRM_Core::admin_body_class(); ")); add_filter('wp_crm_entry_type_label', array('WP_CRM_F', 'wp_crm_entry_type_label'), 10, 2); //** Load back-end scripts */ add_action("admin_enqueue_scripts", array('WP_CRM_Core', "admin_enqueue_scripts")); add_action("wp_ajax_wp_crm_csv_export", array('WP_CRM_AJAX', 'csv_export')); add_action("wp_ajax_wp_crm_visualize_results", array('WP_CRM_AJAX', 'visualize_results')); add_action('wp_ajax_wp_crm_check_plugin_updates', array('WP_CRM_AJAX', 'check_plugin_updates')); add_action("wp_ajax_wp_crm_user_object", array('WP_CRM_AJAX', 'user_object')); add_action("wp_ajax_wp_crm_show_meta_report", array('WP_CRM_AJAX', 'show_meta_report')); add_action("wp_ajax_wp_crm_get_user_activity_stream", array('WP_CRM_AJAX', 'get_user_activity_stream')); add_action("wp_ajax_wp_crm_insert_activity_message", array('WP_CRM_AJAX', 'insert_activity_message')); add_action("wp_ajax_wp_crm_get_notification_template", array('WP_CRM_AJAX', 'get_notification_template')); add_action("wp_ajax_wp_crm_do_fake_users", array('WP_CRM_AJAX', 'do_fake_users')); add_action("wp_ajax_wp_crm_list_table", array('WP_CRM_AJAX', 'list_table')); add_action("wp_ajax_wp_crm_quick_action", array('WP_CRM_AJAX', 'quick_action')); add_action("wp_ajax_wp_crm_check_email_for_duplicates", array('WP_CRM_AJAX', 'check_email_for_duplicates')); add_action("admin_init", array('WP_CRM_Core', "admin_init")); add_action("current_screen", array('WP_CRM_Core', "current_screen")); add_action("admin_head", array('WP_CRM_Core', "admin_head")); //* Init action hook */ do_action('wp_crm_init'); add_action('admin_notices', array('WP_CRM_F', 'wp_crm_admin_notice')); add_action('wp_crm_contextual_help', array('WP_CRM_Core', 'wp_crm_contextual_help')); add_action('load-toplevel_page_wp_crm', array('WP_CRM_Core', 'toplevel_page_wp_crm')); add_action('load-crm_page_wp_crm_settings', array('WP_CRM_Core', 'crm_page_wp_crm_settings')); add_action('load-crm_page_wp_crm_add_new', array('WP_CRM_Core', 'crm_page_wp_crm_add_new')); add_action('load-crm_page_wp_crm_my_profile', array('WP_CRM_Core', 'crm_page_wp_crm_add_new')); //** Take over traditional user pages if option is enabled */ add_action('load-user-edit.php', array('WP_CRM_Core', 'crm_page_traditional_user_page')); add_action('load-users.php', array('WP_CRM_Core', 'crm_page_traditional_user_page')); add_action('load-user-new.php', array('WP_CRM_Core', 'crm_page_traditional_user_page')); add_action("template_redirect", array('WP_CRM_Core', "template_redirect"), 0); add_action("deleted_user", array('WP_CRM_F', "deleted_user")); add_filter('set-screen-option', array('WP_CRM_F', "crm_set_option"), 10, 3); }