. * * @package mahara * @subpackage form-element * @author Catalyst IT Ltd * @license http://www.gnu.org/copyleft/gpl.html GNU GPL * @copyright (C) 2006,2007 Catalyst IT Ltd http://catalyst.net.nz * */ /** * Provides a tag input field * * @param Pieform $form The form to render the element for * @param array $element The element to render * @return string The HTML for the element */ function pieform_element_tags(Pieform $form, $element) { $smarty = smarty(); $value = array(); if (isset($element['defaultvalue']) && is_array($element['defaultvalue'])) { $value = $element['defaultvalue']; } if ($form->get_value($element)) { $value = $form->get_value($element); } if (isset($element['value']) && is_array($element['value'])) { $value = $element['value']; } if (!is_array($value)) { $value = array(); } if (!isset($element['size'])) { $element['size'] = 70; } $smarty->assign('name', $element['name']); $smarty->assign('size', $element['size']); $smarty->assign('id', $form->get_name() . '_' . $element['id']); $smarty->assign('value', join(', ', $value)); $smarty->left_delimiter = '{{'; $smarty->right_delimiter = '}}'; return $smarty->fetch('form/tags.tpl'); } function pieform_element_tags_get_value(Pieform $form, $element) { $name = $element['name']; $global = ($form->get_property('method') == 'get') ? $_GET : $_POST; if (!isset($global[$name])) { return null; } $value = preg_split("/\s*,\s*/", trim($global[$name])); $value = array_unique(array_filter($value, create_function('$v', 'return !empty($v);'))); return $value; } ?>