more module updates
This commit is contained in:
@@ -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);
|
||||
|
@@ -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"
|
||||
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
@@ -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 );
|
||||
|
@@ -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']);
|
||||
|
Reference in New Issue
Block a user