Ejemplo n.º 1
0
	public static function __callStatic($tagName, $values=array()) {
		
		if(isset($values[0]) && is_array($values[0])) {
			//D::log($values[0], '0 values');
			$attributes = ' ' . join(' ', f_keyMap(
				function($v, $k) {
					if(!empty($v)) {
						return $k . '="' . join(', ', (array)$v)  . '"';
					}
				},
				$values[0]
			));
			$childern = f_rest($values);
		} else {
			$attributes = '';
			$childern =& $values;
		}
		if(empty($childern) && $tagName != 'script') {
			return '<' . $tagName . $attributes . '/>';
		} else {
			return '<' . $tagName . $attributes . '>' . join((array)$childern) . '</' . $tagName . '>';
		}
	}
Ejemplo n.º 2
0
function f_keyMap($transformer, $in, $keys=null) {
	if(!empty($in)) {
		if(!isset($keys)) {
			$keys = array_keys($in);
		}
		return f_construct(
			$transformer(
				f_first($in),
				f_first($keys)
			),
			f_keyMap(
				$transformer,
				f_rest($in),
				f_rest($keys)
			)
		);
	} else {
		return array();
	}
}
Ejemplo n.º 3
0
	function _buildSet($values, $separator='=') {
		return join(
			', ',
			f_keyMap(
				function($v, $k) use ($separator) {
					return Query::escape($k) . ' ' . $separator . Query::nullEscape($v);
				},
				$values
			)
		);
	}
Ejemplo n.º 4
0
	static function buildHeaders($headers) {
		return join(
			"\n",
			f_keyMap(
				function($v, $k) {
					return $k . ': ' . $v;
				},
				$headers
			)
		);
	}