/**
  * 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();
     }
 }
예제 #2
0
 /**
  * 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);
 }