static function form($object = null) { $form = new form(); if (!isset($object->id)) { $object->name = ''; $object->active = 1; $object->public = 1; $object->subtheme = ''; $object->page_title = SITE_TITLE; $object->keywords = SITE_KEYWORDS; $object->description = SITE_DESCRIPTION; if (!isset($object->parent)) { $object->parent = 0; } // NOT IMPLEMENTED YET //$object->subtheme=''; } else { $form->meta('id', $object->id); } $form->meta('parent', $object->parent); $form->register('name', gt('Name'), new textcontrol($object->name)); if (!isset($object->id) && $object->parent != 0) { // Add the 'Add' drop down if not a top level global $db; $sections = $db->selectObjects('section_template', 'parent=' . $object->parent); if (count($sections)) { $sections = expSorter::sort(array('array' => $sections, 'sortby' => 'rank', 'order' => 'ASC')); $dd = array(gt('At the Top')); foreach ($sections as $s) { $dd[] = sprintf(gt('After') . " %s", $s->name); } $form->register('rank', gt('Position'), new dropdowncontrol(count($dd) - 1, $dd)); } else { $form->meta('rank', 0); } } else { $form->meta('rank', 0); } if (is_readable(THEME_ABSOLUTE . 'subthemes')) { // grab sub themes $form->register('subtheme', gt('Theme Variation'), new dropdowncontrol($object->subtheme, expTheme::getSubThemes())); } $form->register('active', gt('Active'), new checkboxcontrol($object->active)); $form->register('public', gt('Public'), new checkboxcontrol($object->public)); // Register the Page Meta Data controls. $form->register('page_title', gt('Page Title'), new textcontrol($object->page_title)); $form->register('keywords', gt('keywords'), new texteditorcontrol($object->keywords, 5, 25)); $form->register('description', gt('Page Description'), new texteditorcontrol($object->keywords, 5, 25)); $form->register('submit', '', new buttongroupcontrol(gt('Save'), '', gt('Cancel'))); return $form; }
/** * Content Page Form method * * This method returns a Form object to be used when allowing the user * to create a new normal Content Page or edit an existing one. * * @param Object $object The section object to build the form from. * * @return Form A form object that can be used to create a new section, or * edit an existing one. */ static function form($object = null) { // Initialize the forms subsystem for use. // Grab the basic form that all page types share // This has the name and positional dropdowns registered. // This call also initializes the section object, if it is not an existing section. $form = section::_commonForm($object); // Register the 'Active?' and 'Public?' checkboxes. $form->register('active', gt('Active'), new checkboxcontrol($object->active)); $form->register('public', gt('Public'), new checkboxcontrol($object->public)); // Register the sub themes dropdown. $form->register('subtheme', gt('Theme Variation'), new dropdowncontrol($object->subtheme, expTheme::getSubThemes())); // Register the 'Secured?' checkboxes for SSL pages if (ENABLE_SSL) { $form->register('secured', "Secured?", new checkboxcontrol($object->secured)); } $form->register(null, '', new htmlcontrol('<h2>SEO Information</h2>')); // Register the Page Meta Data controls. $form->register('page_title', gt('Page Title'), new textcontrol($object->page_title)); $form->register('keywords', gt('Keywords'), new texteditorcontrol($object->keywords, 5)); $form->register('description', gt('Page Description'), new texteditorcontrol($object->description, 5)); // Add a Submit / Cancel button. $form->register('submit', '', new buttongroupcontrol(gt('Save'), '', gt('Cancel'))); // Return the form to the calling scope (usually an action in the navigation module). return $form; }