예제 #1
0
 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";
 }
예제 #2
0
 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();
 }