Jonah::getBodyTypes PHP Method

getBodyTypes() public static method

Returns an array of configured body types from Jonah's $conf array.
public static getBodyTypes ( ) : array
return array An array of body types.
    public static function getBodyTypes()
    {
        static $types = array();
        if (!empty($types)) {
            return $types;
        }
        if (in_array('richtext', $GLOBALS['conf']['news']['story_types'])) {
            $types['richtext'] = _("Rich Text");
        }
        /* Other than checking if text is enabled, it is inserted by default if
         * no other body type has been enabled in the config. */
        if (in_array('text', $GLOBALS['conf']['news']['story_types']) || empty($types)) {
            $types['text'] = _("Text");
        }
        return $types;
    }

Usage Example

Ejemplo n.º 1
0
 /**
  */
 function __construct(&$vars)
 {
     parent::__construct($vars, $vars->get('id') ? _("Edit Story") : _("Add New Story"));
     $this->setButtons(_("Save"));
     $channel_id = $this->addHidden('', 'channel_id', 'int', false);
     $channel = $vars->get('channel_id');
     if ($channel) {
         $channel_id->setDefault($channel_id);
     }
     $this->addHidden('', 'id', 'int', false);
     $this->addHidden('', 'read', 'int', false);
     $this->addVariable(_("Story Title (Headline)"), 'title', 'text', true);
     $this->addVariable(_("Short Description"), 'description', 'longtext', true, false, null, array(2, 80));
     $this->addVariable(_("Publish Now?"), 'publish_now', 'boolean', false);
     $published = $vars->get('published');
     if ($published) {
         $date_params = array(min(date('Y', $published), date('Y')), max(date('Y', $published), date('Y') + 10));
     } else {
         $date_params = array();
     }
     $d =& $this->addVariable(_("Or publish on this date:"), 'publish_date', 'monthdayyear', false, false, null, $date_params);
     $d->setDefault($published);
     $t =& $this->addVariable('', 'publish_time', 'hourminutesecond', false);
     $t->setDefault($published);
     $v =& $this->addVariable(_("Story body type"), 'body_type', 'enum', false, false, null, array(Jonah::getBodyTypes()));
     $v->setAction(Horde_Form_Action::factory('submit'));
     $v->setOption('trackchange', true);
     /* If no body type specified, default to one. */
     $body_type = $vars->get('body_type');
     if (empty($body_type)) {
         $body_type = Jonah::getDefaultBodyType();
         $vars->set('body_type', $body_type);
     }
     /* Set up the fields according to what the type of body requested. */
     if ($body_type == 'text') {
         $this->addVariable(_("Full Story Text"), 'body', 'longtext', false, false, null, array(15, 80));
     } elseif ($body_type == 'richtext') {
         $this->addVariable(_("Full Story Text"), 'body', 'longtext', false, false, null, array(20, 80, array('rte')));
     }
     $this->addVariable(_("Tags"), 'tags', 'text', false, false, _("Enter keywords to tag this story, separated by commas"));
     /* Only show URL insertion if it has been enabled in config. */
     if (in_array('links', $GLOBALS['conf']['news']['story_types'])) {
         $this->addVariable(_("Story URL"), 'url', 'text', false, false, _("If you enter a URL without a full story text, clicking on the story will send the reader straight to the URL, otherwise it will be shown at the end of the full story."));
     }
 }
All Usage Examples Of Jonah::getBodyTypes