summaryrefslogtreecommitdiff
path: root/sites/all/modules/ds/modules/ds_devel/ds_devel.module
diff options
context:
space:
mode:
Diffstat (limited to 'sites/all/modules/ds/modules/ds_devel/ds_devel.module')
-rw-r--r--sites/all/modules/ds/modules/ds_devel/ds_devel.module46
1 files changed, 46 insertions, 0 deletions
diff --git a/sites/all/modules/ds/modules/ds_devel/ds_devel.module b/sites/all/modules/ds/modules/ds_devel/ds_devel.module
new file mode 100644
index 000000000..fcc60826a
--- /dev/null
+++ b/sites/all/modules/ds/modules/ds_devel/ds_devel.module
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * @file
+ * Display Suite Devel
+ */
+
+/**
+ * Implements hook_menu().
+ */
+function ds_devel_menu() {
+ $items = array();
+
+ $items['node/%node/devel/markup'] = array(
+ 'title' => 'Markup',
+ 'page callback' => 'ds_devel_render_object',
+ 'page arguments' => array('node', 1),
+ 'access arguments' => array('access devel information'),
+ 'type' => MENU_LOCAL_TASK,
+ 'weight' => 101,
+ );
+
+ return $items;
+}
+
+/**
+ * Renders the markup of a node in HTML entities.
+ */
+function ds_devel_render_object($type, $node, $view_mode = 'full') {
+
+ $build = node_view($node, $view_mode);
+ $markup = drupal_render($build);
+
+ $links = array();
+ $links[] = l('Default', 'node/' . $node->nid . '/devel/markup/');
+ $view_modes = ds_entity_view_modes('node');
+ foreach ($view_modes as $key => $info) {
+ if (!empty($info['custom settings'])) {
+ $links[] = l($info['label'], 'node/' . $node->nid . '/devel/markup/' . $key);
+ }
+ }
+
+ return array(
+ '#markup' => '<div>' . implode(' - ', $links) . '</div><hr /><code><pre>' . check_plain($markup) . '</pre></code>'
+ );
+}