diff --git a/modules/mimemail_compress/mimemail_compress.install b/modules/mimemail_compress/mimemail_compress.install old mode 100644 new mode 100755 index 77fcbc5..22051f3 --- a/modules/mimemail_compress/mimemail_compress.install +++ b/modules/mimemail_compress/mimemail_compress.install @@ -13,21 +13,6 @@ function mimemail_compress_requirements($phase) { // Ensure translations don't break at install time. $t = get_t(); - // Test PHP DOM extension. - if (extension_loaded('dom')) { - $requirements['dom']['value'] = $t('Enabled'); - } - else { - $requirements['dom'] = array( - 'description' => $t('Mime Mail Compress requires the PHP DOM extension to be enabled.'), - 'severity' => REQUIREMENT_ERROR, - 'value' => $t('Disabled'), - ); - } - - $requirements['dom']['title'] = $t('PHP DOM extension'); - - // Check to see if the emogrifier library is available if ($phase == 'runtime') { $library = libraries_detect('emogrifier'); @@ -36,11 +21,27 @@ function mimemail_compress_requirements($phase) { if (empty($library['installed'])) { $requirements['emogrifier'] = array( - 'title' => $t('emogrifier'), + 'title' => $t('Emogrifier library'), 'severity' => REQUIREMENT_ERROR, - 'description' => $t('!error You need to download the !emogrifier, extract the archive and place the emogrifier directory in the %path directory on your server.', array('!error' => $error_message, '!emogrifier' => l($t('Emogrifier library'), $library['download url']), '%path' => 'sites/all/libraries')), + 'description' => $t('!error You need to download the !emogrifier, extract the archive and place the emogrifier directory in the %path directory on your server.', array('!error' => $error_message, '!emogrifier' => l($t('Emogrifier library'), $library['download url']), '%path' => $library['library path'])), + ); + } + elseif (version_compare($library['version'], EMOGRIFIER_MIN_VERSION, '>=')) { + $requirements['emogrifier'] = array( + 'title' => $t('Emogrifier library'), + 'severity' => REQUIREMENT_OK, + 'value' => $library['version'], ); } + else { + $requirements['emogrifier'] = array( + 'title' => $t('Emogrifier library'), + 'value' => $t('At least @a', array('@a' => EMOGRIFIER_MIN_VERSION)), + 'severity' => REQUIREMENT_ERROR, + 'description' => $t('You need to download a later version of the !emogrifier and replace the old version located in the %path directory on your server.', array('!emogrifier' => l($t('Emogrifier library'), $library['download url']), '%path' => $library['library path'])), + ); + } + } return $requirements; diff --git a/modules/mimemail_compress/mimemail_compress.module b/modules/mimemail_compress/mimemail_compress.module old mode 100644 new mode 100755 index bf8b81e..adc2a79 --- a/modules/mimemail_compress/mimemail_compress.module +++ b/modules/mimemail_compress/mimemail_compress.module @@ -5,6 +5,8 @@ * Component module for sending Mime-encoded emails. */ +define('EMOGRIFIER_MIN_VERSION', '0.1.1'); + /** * Implements hook_libraries_info(). */ @@ -13,9 +15,10 @@ function mimemail_compress_libraries_info() { 'name' => 'emogrifier', 'vendor url' => 'https://github.com/jjriv/emogrifier', 'download url' => 'https://github.com/jjriv/emogrifier/archive/master.zip', - // version: TODO replace by a proper parsing of version number in the emogrifier lib - // (using version arguments...) when this information is made available by the emogrifier developer - 'version' => 'V0.1', + 'version arguments' => array( + 'file' => 'Classes/Emogrifier.php', // Could be any file with version info + 'pattern' => '@version\s+([0-9a-zA-Z\.-]+)@',// currently: @version 0.1.1 + ), 'files' => array( 'php' => array('Classes/Emogrifier.php'), ),