private function missing_php_extensions() { $extensions = array(); if (ini_get('allow_url_fopen') !== '1') { $extensions['allow_url_fopen'] = array('type' => 'setting', 'type_description' => __('PHP Setting', 'wpml-translation-management'), 'value' => '1'); } if (!extension_loaded('openssl')) { $extensions['openssl'] = array('type' => 'extension', 'type_description' => __('PHP Extension', 'wpml-translation-management')); } if (class_exists('ICL_AdminNotifier') && (!defined('ICL_HIDE_TRANSLATION_SERVICES') || !ICL_HIDE_TRANSLATION_SERVICES)) { $wpml_wp_api_check = new WPML_WP_API(); if (count($extensions) > 0 && $wpml_wp_api_check->is_tm_page()) { $message = ''; $message .= '<p>'; $message .= __('WPML Translation Management requires the following PHP extensions and settings:', 'wpml-translation-management'); $message .= '</p>'; $message .= '<ul>'; foreach ($extensions as $id => $data) { $message .= '<li>'; if ('setting' === $data['type']) { $message .= $data['type_description'] . ': <code>' . $id . '=' . $data['value'] . '</code>'; } if ('extension' === $data['type']) { $message .= $data['type_description'] . ': <strong>' . $id . '</strong>'; } $message .= '</li>'; } $message .= '</ul>'; $args = array('id' => 'wpml-tm-missing-extensions', 'group' => 'wpml-tm-requirements', 'msg' => $message, 'type' => 'error', 'admin_notice' => true, 'hide' => true); ICL_AdminNotifier::add_message($args); } else { ICL_AdminNotifier::remove_message_group('wpml-tm-requirements'); } } }