annotate sites/all/modules/quicktabs/plugins/QuickNodeContent.inc @ 2:b74b41bb73f0

-- Google analytics module
author danieleb <danielebarchiesi@me.com>
date Thu, 22 Aug 2013 17:22:54 +0100
parents
children a75ead649730
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@2 24 $form['node']['teaser'] = array(
danielebarchiesi@2 25 '#type' => 'checkbox',
danielebarchiesi@2 26 '#title' => t('Teaser view'),
danielebarchiesi@2 27 '#default_value' => isset($tab['teaser']) ? $tab['teaser'] : 0,
danielebarchiesi@2 28 );
danielebarchiesi@2 29 $form['node']['hide_title'] = array(
danielebarchiesi@2 30 '#type' => 'checkbox',
danielebarchiesi@2 31 '#title' => t('Hide the title of this node'),
danielebarchiesi@2 32 '#default_value' => isset($tab['hide_title']) ? $tab['hide_title'] : 1,
danielebarchiesi@2 33 );
danielebarchiesi@2 34 return $form;
danielebarchiesi@2 35 }
danielebarchiesi@2 36
danielebarchiesi@2 37 public function render($hide_empty = FALSE, $args = array()) {
danielebarchiesi@2 38 if ($this->rendered_content) {
danielebarchiesi@2 39 return $this->rendered_content;
danielebarchiesi@2 40 }
danielebarchiesi@2 41 $item = $this->settings;
danielebarchiesi@2 42 if (!empty($args)) {
danielebarchiesi@2 43 // The args have been passed in from an ajax request.
danielebarchiesi@2 44 // The first element of the args array is the qt_name, which we don't need
danielebarchiesi@2 45 // for this content type.
danielebarchiesi@2 46 array_shift($args);
danielebarchiesi@2 47 list($item['nid'], $item['teaser'], $item['hide_title']) = $args;
danielebarchiesi@2 48 }
danielebarchiesi@2 49 $output = array();
danielebarchiesi@2 50 if (isset($item['nid'])) {
danielebarchiesi@2 51 $node = node_load($item['nid']);
danielebarchiesi@2 52 if (!empty($node)) {
danielebarchiesi@2 53 if (node_access('view', $node)) {
danielebarchiesi@2 54 $buildmode = $item['teaser'] ? 'teaser' : 'full';
danielebarchiesi@2 55 $nstruct = node_view($node, $buildmode);
danielebarchiesi@2 56 if ($item['hide_title']) {
danielebarchiesi@2 57 $nstruct['#node']->title = NULL;
danielebarchiesi@2 58 }
danielebarchiesi@2 59 $output = $nstruct;
danielebarchiesi@2 60 }
danielebarchiesi@2 61 elseif (!$hide_empty) {
danielebarchiesi@2 62 $output = array('#markup' => theme('quicktabs_tab_access_denied', array('tab' => $item)));
danielebarchiesi@2 63 }
danielebarchiesi@2 64 }
danielebarchiesi@2 65 }
danielebarchiesi@2 66 return $output;
danielebarchiesi@2 67 }
danielebarchiesi@2 68
danielebarchiesi@2 69 public function getAjaxKeys() {
danielebarchiesi@2 70 return array('nid', 'teaser', 'hide_title');
danielebarchiesi@2 71 }
danielebarchiesi@2 72 }