updated to 7.x-2.x-dev (2013-Mar-04)
This commit is contained in:
Regular → Executable
+56
-40
@@ -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.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user