annotate sites/all/modules/quicktabs/plugins/QuickNodeContent.inc @ 6:a75ead649730

added biblio, admin_menu and reference modules
author danieleb <danielebarchiesi@me.com>
date Fri, 20 Sep 2013 11:18:21 +0100
parents b74b41bb73f0
children
rev   line source
danielebarchiesi@2 1 <?php
danielebarchiesi@2 2
danielebarchiesi@2 3 /**
danielebarchiesi@2 4 * Class for tab content of type "node" - this is for rendering a node as tab
danielebarchiesi@2 5 * content.
danielebarchiesi@2 6 */
danielebarchiesi@2 7 class QuickNodeContent extends QuickContent {
danielebarchiesi@2 8
danielebarchiesi@2 9 public static function getType() {
danielebarchiesi@2 10 return 'node';
danielebarchiesi@2 11 }
danielebarchiesi@2 12
danielebarchiesi@2 13 public function optionsForm($delta, $qt) {
danielebarchiesi@2 14 $tab = $this->settings;
danielebarchiesi@2 15 $form = array();
danielebarchiesi@2 16 $form['node']['nid'] = array(
danielebarchiesi@2 17 '#type' => 'textfield',
danielebarchiesi@2 18 '#title' => t('Node'),
danielebarchiesi@2 19 '#description' => t('The node ID of the node.'),
danielebarchiesi@2 20 '#maxlength' => 10,
danielebarchiesi@2 21 '#size' => 20,
danielebarchiesi@2 22 '#default_value' => isset($tab['nid']) ? $tab['nid'] : '',
danielebarchiesi@2 23 );
danielebarchiesi@6 24 $entity_info = entity_get_info('node');
danielebarchiesi@6 25 $view_modes = array();
danielebarchiesi@6 26 foreach ($entity_info['view modes'] as $view_mode_name => $view_mode) {
danielebarchiesi@6 27 $view_modes[$view_mode_name] = $view_mode['label'];
danielebarchiesi@6 28 }
danielebarchiesi@6 29 $form['node']['view_mode'] = array(
danielebarchiesi@6 30 '#type' => 'select',
danielebarchiesi@6 31 '#title' => t('View mode'),
danielebarchiesi@6 32 '#options' => $view_modes,
danielebarchiesi@6 33 '#default_value' => isset($tab['view_mode']) ? $tab['view_mode'] : 'full',
danielebarchiesi@6 34 );
danielebarchiesi@6 35 $form['node']['hide_title'] = array(
danielebarchiesi@2 36 '#type' => 'checkbox',
danielebarchiesi@2 37 '#title' => t('Hide the title of this node'),
danielebarchiesi@2 38 '#default_value' => isset($tab['hide_title']) ? $tab['hide_title'] : 1,
danielebarchiesi@2 39 );
danielebarchiesi@2 40 return $form;
danielebarchiesi@2 41 }
danielebarchiesi@2 42
danielebarchiesi@2 43 public function render($hide_empty = FALSE, $args = array()) {
danielebarchiesi@2 44 if ($this->rendered_content) {
danielebarchiesi@2 45 return $this->rendered_content;
danielebarchiesi@2 46 }
danielebarchiesi@2 47 $item = $this->settings;
danielebarchiesi@2 48 if (!empty($args)) {
danielebarchiesi@2 49 // The args have been passed in from an ajax request.
danielebarchiesi@2 50 // The first element of the args array is the qt_name, which we don't need
danielebarchiesi@2 51 // for this content type.
danielebarchiesi@2 52 array_shift($args);
danielebarchiesi@6 53 list($item['nid'], $item['view_mode'], $item['hide_title']) = $args;
danielebarchiesi@2 54 }
danielebarchiesi@2 55 $output = array();
danielebarchiesi@2 56 if (isset($item['nid'])) {
danielebarchiesi@2 57 $node = node_load($item['nid']);
danielebarchiesi@2 58 if (!empty($node)) {
danielebarchiesi@2 59 if (node_access('view', $node)) {
danielebarchiesi@6 60 $buildmode = $item['view_mode'];
danielebarchiesi@2 61 $nstruct = node_view($node, $buildmode);
danielebarchiesi@2 62 if ($item['hide_title']) {
danielebarchiesi@2 63 $nstruct['#node']->title = NULL;
danielebarchiesi@2 64 }
danielebarchiesi@2 65 $output = $nstruct;
danielebarchiesi@2 66 }
danielebarchiesi@2 67 elseif (!$hide_empty) {
danielebarchiesi@2 68 $output = array('#markup' => theme('quicktabs_tab_access_denied', array('tab' => $item)));
danielebarchiesi@2 69 }
danielebarchiesi@2 70 }
danielebarchiesi@2 71 }
danielebarchiesi@2 72 return $output;
danielebarchiesi@2 73 }
danielebarchiesi@2 74
danielebarchiesi@2 75 public function getAjaxKeys() {
danielebarchiesi@6 76 return array('nid', 'view_mode', 'hide_title');
danielebarchiesi@2 77 }
danielebarchiesi@2 78 }