more module updates

This commit is contained in:
Bachir Soussi Chiadmi
2015-04-20 18:13:58 +02:00
parent 55b23a2cec
commit 2121a356b3
51 changed files with 1638 additions and 851 deletions

View File

@@ -171,7 +171,13 @@ function better_messages_admin() {
'#default_value' => $settings['extra']['pages'],
'#description' => $description,
);
$form['vis_settings']['admin'] = array(
'#type' => 'checkbox',
'#title' => t('Use Better Messages popup for the admin user (UID 1)'),
'#default_value' => $settings['extra']['admin'],
);
$form['jquery_ui'] = array(
'#type' => 'fieldset',
'#title' => t('jQuery UI enhancements'),
@@ -218,7 +224,7 @@ function better_messages_admin_submit($form, &$form_state) {
'popin' => array('effect' => $form_state['values']['popin_effect'], 'duration' => $form_state['values']['popin_duration']),
'popout' => array('effect' => $form_state['values']['popout_effect'], 'duration' => $form_state['values']['popout_duration']),
'jquery_ui' => array('draggable' => $form_state['values']['draggable'], 'resizable' => $form_state['values']['resizable']),
'extra' => array('pages' => $form_state['values']['pages'], 'visibility' => $form_state['values']['visibility'],
'extra' => array('pages' => $form_state['values']['pages'], 'visibility' => $form_state['values']['visibility'], 'admin' => $form_state['values']['admin']
)
);
variable_set('better_messages', $settings);

View File

@@ -2,10 +2,11 @@ name = Better Messages
description = This module adds simple functions to make Drupal messages look and act better.
core = 7.x
package = User interface
configure = admin/config/user-interface/better-messages
; Information added by drupal.org packaging script on 2012-03-25
version = "7.x-1.x-dev"
; Information added by Drupal.org packaging script on 2014-12-11
version = "7.x-1.0-alpha1"
core = "7.x"
project = "better_messages"
datestamp = "1332677109"
datestamp = "1418319316"

View File

@@ -4,7 +4,7 @@
* Implementaton of hook_install
*/
function better_messages_install() {
drupal_set_message(t("Better Messages is installed successfully.<br />Click here to visit the <a href=@href>settings page</a>!", array('@href' => base_path() . 'admin/settings/better-messages')));
drupal_set_message(t("Better Messages is installed successfully.<br />Click here to visit the <a href=@href>settings page</a>!", array('@href' => base_path() . 'admin/config/user-interface/better-messages')));
}
/**
@@ -12,6 +12,7 @@ function better_messages_install() {
*/
function better_messages_uninstall() {
db_query("DELETE FROM {variable} WHERE name LIKE 'better_messages_%'");
db_query("DELETE FROM {variable} WHERE name = 'better_messages'");
db_query("DELETE FROM {system} WHERE name = 'better_messages'");
}
@@ -32,4 +33,4 @@ function better_messages_update_6000() {
db_query("DELETE FROM {variable} WHERE name LIKE 'better_messages_%'");
variable_set('better_messages', $settings_new);
return array();
}
}

View File

@@ -39,7 +39,7 @@
if(seconds > 0) {
seconds--;
if (betterMessages.show_countdown == '1') {
$('.message-timer').text(Drupal.t('Closing in' + ' ' + seconds + ' ' + Drupal.t('seconds')));
$('.message-timer').text(Drupal.t('Closing in !seconds seconds', {'!seconds': seconds}));
}
if(seconds > 0) {
betterMessages.countDown = setTimeout( function() {betterMessages.countDownClose(seconds);}, 1000 );

View File

@@ -5,6 +5,7 @@ Implementation of hook_init
*/
function better_messages_init() {
drupal_add_css(drupal_get_path('module', 'better_messages') . '/better_messages_admin.css');
drupal_add_css(drupal_get_path('module', 'better_messages') . '/skins/default/better_messages.css');
}
/*
@@ -29,11 +30,11 @@ function better_messages_menu() {
function better_messages_permission() {
return array(
'access better messages' => array(
'title' => t('access better messages'),
'title' => t('access better messages'),
'description' => t('access better messages.'),
),
'administer better messages' => array(
'title' => t('administer better messages'),
'title' => t('administer better messages'),
'description' => t('administer better messages.'),
),
);
@@ -45,11 +46,11 @@ Implementation of hook_theme
function better_messages_theme($existing, $type, $theme, $path) {
return array(
'better_messages_content' => array(
'arguments' => array('display' => NULL),
'variables' => array('messages_drupal' => array()),
),
'better_messages' => array(
'template' => 'better_messages',
'arguments' => array('content' => NULL),
'variables' => array('content' => NULL),
),
);
}
@@ -65,26 +66,29 @@ function theme_better_messages($display = NULL) {
$output = '';
$better_messages = better_messages_process_visibility();
$access = user_access('access better messages');
$message = drupal_get_messages($display['display'], FALSE);
$message = drupal_get_messages($display['display']);
if ($better_messages && $access && !empty($message)) {
$disable_autoclose = array_key_exists('error', $message);
$disable_autoclose = better_messages_process_autoclose($message);
better_messages_add_files($disable_autoclose);
$message = theme('better_messages_content', $display['display']);
// We save the intial output to SESSION so we can put it in <noscript> on page_preprocess
$message = theme('better_messages_content', array('messages_drupal' => $message));
// We save the initial output to SESSION so we can put it in <noscript> on page_preprocess
$_SESSION['original_messages'] = $message;
$message_skin = theme('better_messages', array('content' => $message));
// We add a special ID so that JavaScript knows what to handle. Changing the ID will break JavaScript handling code.
$output = "<div id=\"better-messages-wrapper\" style=\"display:none;overflow:visible;position:absolute;z-index:9999;\">\n".
$output = "<div id=\"better-messages-wrapper\" style=\"display:none;overflow:visible;position:absolute;z-index:9999;\">\n".
$message_skin ."\n</div>\n";
}
else { $output = theme('better_messages_content', $display['display']);}
else {
$output = theme('better_messages_content', array('messages_drupal' => $message));
}
return $output;
}
function theme_better_messages_content($display = NULL) {
function theme_better_messages_content($variables) {
$messages_drupal = $variables['messages_drupal'];
$output = '';
$first = TRUE;
foreach (drupal_get_messages($display) as $type => $messages) {
foreach ($messages_drupal as $type => $messages) {
$class = $first ? 'first' : '';
$first = FALSE;
$output .= "<h2 class=\"messages-label $type\">" . t(drupal_ucfirst($type)) . "</h2>\n";
@@ -92,24 +96,31 @@ function theme_better_messages_content($display = NULL) {
if (count($messages) > 1) {
$output .= " <ul>\n";
foreach ($messages as $k => $message) {
if ($k == 0) { $output .= "<li class='message-item first'>$message</li>"; }
else if ($k == count($messages) - 1) { $output .= "<li class='message-item last'>$message</li>"; }
else { $output .= "<li class='message-item'>$message</li>"; }
if ($k == 0) {
$output .= "<li class='message-item first'>$message</li>";
}
elseif ($k == count($messages) - 1) {
$output .= "<li class='message-item last'>$message</li>";
}
else {
$output .= "<li class='message-item'>$message</li>";
}
}
$output .= " </ul>\n";
}
else { $output .= $messages[0]; }
else {
$output .= $messages[0];
}
$output .= "</div>\n";
}
return $output;
}
/*
Preprocess the default status_messages so we add our template file here
*/
function better_messages_preprocess_page(&$vars) {
if (isset($vars['messages'])) {
$settings = better_messages_get_settings();
// Check if path Better Messages is enabled for this path
$better_messages = better_messages_process_visibility();
$access = user_access('access better messages');
@@ -137,6 +148,7 @@ function better_messages_get_settings() {
'extra' => array(
'pages' => '',
'visibility' => 0,
'admin' => TRUE,
)
);
return variable_get('better_messages', $settings);
@@ -147,6 +159,12 @@ Helper function to check where to popup Better Messages relative to path
*/
function better_messages_process_visibility() {
$settings = better_messages_get_settings();
global $user;
if (!$settings['extra']['admin'] && $user->uid == 1) {
return FALSE;
}
if ($settings['extra']['pages']) {
$path = drupal_get_path_alias($_GET['q']);
$page_match = drupal_match_path($path, $settings['extra']['pages']);
@@ -155,26 +173,48 @@ function better_messages_process_visibility() {
}
$page_match = !($settings['extra']['visibility'] xor $page_match);
}
else { $page_match = TRUE; }
else {
$page_match = TRUE;
}
return $page_match;
}
/*
Helper function to add required JS and CSS only when required
/**
* Helper function to process auto close
* @return bool
*/
function better_messages_process_autoclose($message){
$settings = better_messages_get_settings();
if (array_key_exists('error', $message) ){
if ($settings['disable_autoclose']) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
/**
* Helper function to add required JS and CSS only when required
*/
function better_messages_add_files($disable_autoclose){
$settings = better_messages_get_settings();
drupal_add_css(drupal_get_path('module', 'better_messages') . '/skins/default/better_messages.css');
drupal_add_js(drupal_get_path('module', 'better_messages') . '/better_messages.js');
// Remove extra info from JS
if (!module_exists('jquery_ui')) {
unset($settings['jquery_ui']);
if (!module_exists('jquery_ui')) {
unset($settings['jquery_ui']);
}
else {
foreach ($settings['jquery_ui'] as $jquery_ui_setting => $value) {
if ($value == 1) {
jquery_ui_add(array('ui.' . $jquery_ui_setting));
}
}
}
}
unset($settings['extra']);