updated to 7.x-2.x-dev (2013-Mar-04)

This commit is contained in:
Bachir Soussi Chiadmi
2013-10-12 13:24:57 +02:00
parent a2b9816e52
commit ca63b9bbca
23 changed files with 201 additions and 185 deletions
Regular → Executable
+56 -40
View File
@@ -63,6 +63,14 @@ function feedback_entity_info() {
'label' => t('Full feedback entry'),
'custom settings' => FALSE,
),
'teaser' => array(
'label' => t('Teaser'),
'custom settings' => FALSE,
),
'widget' => array(
'label' => t('Widget'),
'custom settings' => FALSE,
),
),
// Disable Metatags (metatag) module's entity form additions.
'metatags' => FALSE,
@@ -72,6 +80,49 @@ function feedback_entity_info() {
return $return;
}
/**
* Implements hook_field_extra_fields().
*/
function feedback_field_extra_fields() {
$extras['feedback']['feedback']['form']['help'] = array(
'label' => t('Help'),
'description' => t('Feedback submission guidelines'),
'weight' => -10,
);
$extras['feedback']['feedback']['form']['messages'] = array(
'label' => t('Entries'),
'description' => t('Existing feedback entries for the current page'),
'weight' => -5,
);
$extras['feedback']['feedback']['form']['message'] = array(
'label' => t('Message'),
'description' => t('Feedback message form text field'),
'weight' => 0,
);
$extras['feedback']['feedback']['display']['location'] = array(
'label' => t('Location'),
'description' => t('The URL of the page the message was submitted on'),
'weight' => -15,
);
$extras['feedback']['feedback']['display']['date'] = array(
'label' => t('Date'),
'description' => t('The submission date of the message'),
'weight' => -10,
);
$extras['feedback']['feedback']['display']['user'] = array(
'label' => t('User'),
'description' => t('The name of the user who submitted the message'),
'weight' => -5,
);
$extras['feedback']['feedback']['display']['message'] = array(
'label' => t('Message'),
'description' => t('The main feedback message'),
'weight' => 0,
);
return $extras;
}
/**
* Entity uri callback.
*/
@@ -157,17 +208,6 @@ function feedback_menu() {
return $items;
}
/**
* Implements hook_init().
*/
function feedback_init() {
if (user_access('access feedback form')) {
$path = drupal_get_path('module', 'feedback');
drupal_add_css($path . '/feedback.css');
drupal_add_js($path . '/feedback.js');
}
}
/**
* Implements hook_page_build().
*/
@@ -178,6 +218,9 @@ function feedback_page_build(&$page) {
'#title' => t('Feedback'),
'#content' => drupal_get_form('feedback_form'),
);
$path = drupal_get_path('module', 'feedback');
$page['page_bottom']['feedback']['#attached']['css'][] = $path . '/feedback.css';
$page['page_bottom']['feedback']['#attached']['js'][] = $path . '/feedback.js';
}
}
@@ -238,6 +281,7 @@ function feedback_form($form, &$form_state) {
$feedbacks = feedback_load_multiple(array(), array('status' => FEEDBACK_OPEN, 'location' => $_GET['q']));
}
if ($feedbacks) {
form_load_include($form_state, 'inc', 'feedback', 'feedback.admin');
$form['messages'] = array(
'#prefix' => '<div class="feedback-messages">',
'#suffix' => '</div>',
@@ -247,7 +291,7 @@ function feedback_form($form, &$form_state) {
$form['messages'][$fid]['submitted'] = array('#markup' => t('@feedback-author !feedback-date:', array('@feedback-author' => format_username($feedback), '!feedback-date' => format_date($feedback->timestamp, 'small'))));
$form['messages'][$fid]['submitted']['#prefix'] = '<div class="feedback-submitted">';
$form['messages'][$fid]['submitted']['#suffix'] = '</div>';
$form['messages'][$fid]['body'] = feedback_format_message($feedback);
$form['messages'][$fid]['body'] = feedback_build_content($feedback, 'widget');
$form['messages'][$fid]['body']['#prefix'] = '<div class="feedback-body">';
$form['messages'][$fid]['body']['#suffix'] = '</div>';
}
@@ -340,34 +384,6 @@ function feedback_form_ajax_callback($form, &$form_state) {
return $build;
}
/**
* Returns HTML for a feedback entry.
*
* @param $entry
* A feedback object.
*/
function feedback_format_message($entry) {
$message = check_plain($entry->message);
if (!empty($entry->useragent)) {
if (module_exists('browscap')) {
$browserinfo = browscap_get_browser($entry->useragent);
// Browscap returns useragent but not always parent info.
$browser = (isset($browserinfo['parent']) ? $browserinfo['parent'] . ' / ' . $browserinfo['platform'] : $browserinfo['useragent']);
$message .= '<div class="browserinfo">(' . check_plain($browser) . ')</div>';
}
else {
$message .= '<div class="browserinfo">(' . check_plain($entry->useragent) . ')</div>';
}
}
$elements['message'] = array('#markup' => $message);
$uri = entity_uri('feedback', $entry);
if ($uri['path'] != $_GET['q']) {
$links['view'] = array('title' => t('view'), 'href' => $uri['path']);
$elements['links'] = array('#theme' => 'links__feedback_message', '#links' => $links);
}
return $elements;
}
/**
* Loads a feedback entry from the database.
*