public static function select($id, $array, $selected = null, $head = true) { echo "<select id=\"{$id}\" name=\"{$id}\">\n"; if ($head) { echo "<option" . ($selected == null ? " selected=\"selected\"" : "") . " value=\"\">" . (is_string($head) ? $head : "") . "</option>\n"; } if (!PicnicUtils::isAssociativeArray($array)) { foreach ($array as $val) { echo "<option" . ($val == $selected ? " selected=\"selected\"" : "") . ">{$val}</option>\n"; } } else { foreach ($array as $key => $val) { echo "<option" . ($key == $selected ? " selected=\"selected\"" : "") . " value=\"{$key}\">{$val}</option>\n"; } } echo "</select>\n"; }
protected function writeNode($writer, $key, $node) { $writer->startElement($key); if (is_object($node)) { $writer->writeAttribute("class", get_class($node)); } else { if (is_array($node)) { $keys = array_keys($node); if (!PicnicUtils::isAssociativeArray($node)) { $writer->writeAttribute("class", "array"); } } } if (is_array($node) || is_object($node)) { foreach ($node as $key2 => $val) { if (($key2 == null || is_int($key2)) && !is_string($val) && !is_array($val) && $val != null) { $key2 = get_class($val); } else { if ((!is_string($key2) && is_string($val) || is_numeric($key2)) && $val != null) { $key2 = "string"; } } if ($key2 != null && $val != null) { $this->writeNode($writer, $key2, $val); } } } else { $writer->text($node); } $writer->fullEndElement(); }