public static function init($pluginFilePath) { register_activation_hook($pluginFilePath, array(__CLASS__, 'install')); register_uninstall_hook($pluginFilePath, array(__CLASS__, 'uninstall')); add_action('init', array('CMA_Update', 'run'), 0); add_action('widgets_init', array('CMA_AnswerController', 'registerSidebars')); // Check licensing API before controller init $licensingApi = new CMA_Cminds_Licensing_API('CM Answers Pro', CMA_Thread::ADMIN_MENU, 'CM Answers Pro', CMA_PLUGIN_FILE, array('release-notes' => 'http://answers.cminds.com/release-notes/'), '', array('CM Answers Pro')); self::$isLicenseOk = $licensingApi->isLicenseOk(); CMA_Labels::bootstrap(); CMA_Thread::init(); add_action('plugins_loaded', array('CMA_BuddyPress', 'bootstrap')); add_action('init', array('CMA_BaseController', 'bootstrap')); add_action('wp_enqueue_scripts', array(__CLASS__, 'enable_scripts')); add_action('admin_enqueue_scripts', array(__CLASS__, 'enable_admin_scripts')); add_action('wp_head', array(__CLASS__, 'add_base_url')); add_filter('bp_blogs_record_comment_post_types', array(get_class(), 'bp_record_my_custom_post_type_comments')); add_filter('plugin_action_links_' . CMA_PLUGINNAME, array(__CLASS__, 'cma_settings_link')); add_filter('cm_micropayments_integrations', function ($a = array()) { if (!is_array($a)) { $a = array(); } $a[] = 'CM Answers Pro'; return $a; }); add_action('plugins_loaded', array(__CLASS__, 'cm_lang_init')); }
public static function initialize() { if (!CMA::isLicenseOk()) { return; } self::addAjaxHandler('cma-follow-new-threads', array(__CLASS__, 'ajaxHandler')); }
public static function init() { if (!CMA::isLicenseOk()) { return; } add_shortcode('CMA-question-form', array(__CLASS__, 'shortcode')); add_shortcode('cma-question-form', array(__CLASS__, 'shortcode')); }
public static function initialize() { if (!CMA::isLicenseOk()) { return; } add_action('cma_index_question_form', array(__CLASS__, 'indexQuestionForm'), 1000, 2); add_filter('template_include', array(__CLASS__, 'overrideTemplate'), PHP_INT_MAX); // add_filter('the_content', array(__CLASS__, 'the_content'), PHP_INT_MAX); }
public static function initialize() { add_action('wp_set_comment_status', array(__CLASS__, 'hookSetStatus'), 10, 2); if (!CMA::isLicenseOk()) { return; } add_action('CMA_comments_question', array(get_class(), 'displayQuestionComments'), 20, 1); add_action('CMA_comments_single', array(get_class(), 'displayCommentSingle'), 20, 1); add_action('CMA_comments_form_add', array(get_class(), 'displayCommentFormAdd'), 20, 2); add_action('CMA_comments_answer', array(get_class(), 'displayAnswerComments'), 20, 2); add_filter('template_include', array(get_class(), 'overrideTemplate')); }
public static function init() { if (!CMA::isLicenseOk()) { return; } add_action('init', array(__CLASS__, 'add_rewrite_endpoint')); add_shortcode('cma-my-questions', array(__CLASS__, 'shortcode_my_questions')); add_shortcode('cma-my-answers', array(__CLASS__, 'shortcode_my_answers')); add_shortcode('cma-answers', array(__CLASS__, 'shortcode_answers')); add_shortcode('cma-questions', array(__CLASS__, 'shortcode_questions')); add_shortcode('cma-comments', array(__CLASS__, 'shortcode_comments')); add_shortcode('cma-categories', array(__CLASS__, 'shortcode_categories')); add_shortcode('cma-categories-list', array(__CLASS__, 'shortcode_categories_list')); add_shortcode('cma-index', array(__CLASS__, 'shortcode_index')); // add_action('wp_enqueue_scripts', array(__CLASS__,'addStyles')); }
public static function initialize() { add_action('cma_category_edit_form_fields', array(__CLASS__, 'categoryEditFormAccess')); add_action('cma_category_add_form_fields', array(__CLASS__, 'categoryEditFormAccess')); add_action('cma_category_edit_form_fields', array(__CLASS__, 'categoryEditFormExperts')); add_action('cma_category_add_form_fields', array(__CLASS__, 'categoryEditFormExperts')); add_action('cma_category_edit_form_fields', array(__CLASS__, 'categoryEditFormFields')); add_action('cma_category_add_form_fields', array(__CLASS__, 'categoryEditFormFields')); add_action('edited_cma_category', array(__CLASS__, 'categoryAfterSave'), 10, 2); add_action('created_cma_category', array(__CLASS__, 'categoryAfterSave'), 10, 2); add_action('cma_question_form_category_custom_fields', array(__CLASS__, 'questionForm'), 10, 2); add_action('cma_question_post_after', array(__CLASS__, 'threadSaveAfter'), 10, 2); add_action('cma_question_update_after', array(__CLASS__, 'threadSaveAfter'), 10, 1); self::addAjaxHandler('cma_load_category_custom_fields', array(__CLASS__, 'loadCustomFields')); if (!CMA::isLicenseOk()) { return; } }
public static function registerPages() { if (CMA::isLicenseOk()) { add_action('generate_rewrite_rules', array(get_class(), 'registerRewriteRules')); add_filter('query_vars', array(get_class(), 'registerQueryVars')); add_filter('wp_title', array(get_class(), '_showPageTitle'), 1, 3); add_action('pre_get_posts', array(get_class(), 'setQueryVars'), 1, 1); add_filter('the_posts', array(get_class(), 'editQuery'), 10, 2); add_filter('the_content', array(get_class(), 'showPageContent'), 10, 1); } }
public static function initialize() { add_filter('manage_edit-' . CMA_Thread::POST_TYPE . '_columns', array(get_class(), 'registerAdminColumns')); add_filter('manage_edit-' . CMA_Thread::POST_TYPE . '_sortable_columns', array(get_class(), 'registerAdminSortableColumns')); add_filter('manage_' . CMA_Thread::POST_TYPE . '_posts_custom_column', array(get_class(), 'adminColumnDisplay'), 10, 2); do_action('CMA_custom_post_type_nav', CMA_Thread::POST_TYPE); add_filter('CMA_admin_settings', array(get_class(), 'addAdminSettings')); add_action('pre_get_posts', array(get_class(), 'fixPostType'), 1, 1); add_action('pre_get_posts', array(get_class(), 'registerCustomOrder'), 9999, 1); add_action('pre_get_posts', array(get_class(), 'registerTagFilter'), 9999, 1); add_action('pre_get_posts', array(get_class(), 'registerCustomFilter'), 9999, 1); add_action('pre_get_posts', array(get_class(), 'registerPageCount'), 9999, 1); add_action('pre_get_posts', array(get_class(), 'registerAsHomepage'), 99, 1); add_action('pre_get_posts', array(get_class(), 'checkIfDisabled'), 98, 1); // add_action('pre_get_posts', array(get_class(), 'registerAdminCustomOrder'), 98, 1); add_filter('the_posts', array(__CLASS__, 'thePostsFilter')); add_action('cma_index_header_after', array(__CLASS__, 'indexHeaderAfter')); add_filter('posts_where', array(get_class(), 'registerCommentsFiltering'), 1, 1); add_action('added_term_relationship', array(__CLASS__, 'addedTermRelationship'), 10, 2); add_filter('cma_thread_meta_keys', array('CMA_Thread', 'getMetaKeys'), 1, 1); add_filter('cma_answer_meta_keys', array('CMA_Answer', 'getMetaKeys'), 1, 1); add_filter('cma_comment_meta_keys', array('CMA_Comment', 'getMetaKeys'), 1, 1); add_filter('cma_restore_widget_options', array(__CLASS__, 'restoreWidgetOptions')); add_action('admin_notices', array(__CLASS__, 'printAdminWarnings')); add_filter('cma_video_helper_process_content', array('CMA_VideoHelper', 'processContent')); if (!CMA::isLicenseOk()) { return; } add_filter('posts_search', array(get_class(), 'alterSearchQuery'), 9999, 2); add_action('template_redirect', array(get_class(), 'processQueryVars'), 1); add_filter('template_include', array(get_class(), 'overrideTemplate'), PHP_INT_MAX); add_action('parse_query', array(get_class(), 'processStatusChange')); add_filter('wp_nav_menu_items', array(get_class(), 'addMenuItem'), 1, 1); add_action('wp_enqueue_scripts', array(__CLASS__, 'addDisclaimer')); add_filter('cma_is_thread_visible', array(__CLASS__, 'isThreadVisible'), 10, 3); add_filter('cma_is_answer_visible', array(__CLASS__, 'isAnswerVisible'), 10, 3); add_filter('cma_is_category_visible', array(__CLASS__, 'isCategoryVisible'), 10, 3); add_filter('cma_email_headers', array(__CLASS__, 'registerEmailContentType')); add_filter('cma_email_body', array(__CLASS__, 'filterEmailBody')); add_action('cma_thread_set_best_answer', array(__CLASS__, 'bestAnswerNotification'), 10, 1); /* add_action('pre_get_posts', array(get_class(), 'registerStickyPosts'), 1, 1); */ add_action('transition_post_status', array(get_class(), 'processPostStatusChange'), 10, 3); add_action('before_delete_post', array(get_class(), 'processBeforePostDelete')); add_action('wp_set_comment_status', array(get_class(), 'processAnwserStatusChange'), 999, 2); add_action('delete_comment', array(get_class(), 'processBeforeCommentDelete')); add_action('CMA_display_question_form_upload', array(get_class(), 'displayQuestionFormUpload'), 98, 1); add_action('CMA_display_answer_form_upload', array(get_class(), 'displayAnswerFormUpload'), 98, 1); add_action('CMA_form_tags', array(__CLASS__, 'displayFormTags')); add_action('CMA_breadcrumbs', array(get_class(), 'displayBreadcrumbs'), 98, 1); add_action('CMA_questions_table_before', array('CMA_Ads', 'display')); add_action('CMA_questions_table_after', array('CMA_Ads', 'display')); add_action('CMA_thread_before', array('CMA_Ads', 'display')); add_action('CMA_thread_answers_before', array('CMA_Ads', 'display')); add_action('CMA_thread_answers_after', array('CMA_Ads', 'display')); add_action('CMA_thread_answers_form_after', array('CMA_Ads', 'display')); add_action('cma_question_snippet', array(__CLASS__, 'showQuestionSnippet'), 10, 2); add_action('wp_head', array(__CLASS__, 'wp_head_inline_styles')); add_action('wp_head', array(__CLASS__, 'wp_head_noindex')); add_filter('the_permalink', array(__CLASS__, 'filterThePermalink')); self::initThreadPage(); // AJAX actions self::addAjaxHandler('cma_vote', array(get_class(), 'processVote')); self::addAjaxHandler('cma_tag_autocomplete', array(get_class(), 'processTagAutocomplete')); if (is_admin()) { add_filter('post_row_actions', array(get_class(), 'pageRowActions'), 10, 2); } if (CMA_Settings::getOption(CMA_Settings::OPTION_SHOW_LOGIN_WIDGET)) { add_action('CMA_login_form', array(get_class(), 'showLoginForm')); } add_shortcode('cma-followed', array(__CLASS__, 'shortcodeFollowed')); // Function runs only once on script install or update self::postsStickyReset(); }