You are here

boxes_simple.inc in Boxes 7

Same filename and directory in other branches
  1. 6 plugins/boxes_simple.inc

File

plugins/boxes_simple.inc
View source
<?php

/**
 * Simple custom text box.
 */
class boxes_simple extends boxes_box {

  /**
   * Implements boxes_box::options_defaults().
   */
  public function options_defaults() {
    return array(
      'body' => array(
        'value' => '',
        'format' => filter_default_format(),
      ),
    );
  }

  /**
   * Implements boxes_box::options_form().
   */
  public function options_form(&$form_state) {
    $format = filter_format_load($this->options['body']['format']);
    if (filter_access($format)) {
      $form = array();
      $form['body'] = array(
        '#type' => 'text_format',
        '#base_type' => 'textarea',
        '#title' => t('Box body'),
        '#default_value' => $this->options['body']['value'],
        '#rows' => 6,
        '#format' => $this->options['body']['format'] ? $this->options['body']['format'] : NULL,
        '#description' => t('The content of the block as shown to the user.'),
      );
      return $form;
    }
  }

  /**
   * Implements boxes_box::render().
   */
  public function render() {
    $content = '';
    if (!empty($this->options['body']['value']) && isset($this->options['body']['format'])) {
      $content = check_markup($this->options['body']['value'], $this->options['body']['format'], $langcode = '', FALSE);
    }
    $title = isset($this->title) ? $this->title : NULL;
    return array(
      'delta' => $this->delta,
      // Crucial.
      'title' => $title,
      'subject' => check_plain($title),
      'content' => $content,
    );
  }

}

Classes

Namesort descending Description
boxes_simple Simple custom text box.