public function init() { if (self::isMicroPaymentsAvailable()) { // Setup backend hooks add_filter('cma_settings_pages', function ($pages) { $lastVal = end($pages); $lastKey = key($pages); array_pop($pages); $pages['micropayments'] = 'MicroPayments'; $pages[$lastKey] = $lastVal; return $pages; }); add_filter('cma_settings_pages_groups', function ($subcategories) { $subcategories['micropayments']['general'] = 'General'; return $subcategories; }); CMA_Labels::loadLabelFile(dirname(__FILE__) . '/labels.tsv'); if (self::isMicroPaymentsConfigured()) { // Setup frontend hooks add_action('cma_question_post_before', array($this, 'questionPostBefore'), 10, 1); add_action('cma_answer_post_before', array($this, 'answerPostBefore'), 10, 2); add_action('cma_frontend_question_form_bottom', array($this, 'questionFormBottom')); add_action('cma_question_post_msg_success', array($this, 'questionPostMessageSuccess')); add_action('cma_frontend_answer_form_bottom', array($this, 'answerFormBottom')); add_action('cma_answer_post_msg_success', array($this, 'answerPostMessageSuccess')); add_action('cma_thread_resolved', array($this, 'threadResolved'), 10, 1); add_action('cma_thread_set_best_answer', array($this, 'threadResolved'), 10, 1); } else { add_action('admin_notices', function () { if (CMA_MicroPayments::instance()->getAnswerPoints() != 0 or CMA_MicroPayments::instance()->getQuestionPoints() != 0) { CMA_MicroPayments::displayAdminWarning(); } }); } } }