function bencode in Services 6.3
Same name and namespace in other branches
- 7.3 servers/rest_server/lib/bencode.php \bencode()
Bencode snippet from http://paste.lisp.org/display/17178
1 call to bencode()
- RESTServerViewBuiltIn::render_bencode in servers/
rest_server/ includes/ rest_server.views.inc
2 string references to 'bencode'
- RESTServerViewBuiltIn::render in servers/
rest_server/ includes/ rest_server.views.inc - rest_server_response_formatters in servers/
rest_server/ rest_server.module - Builds a list of response formatters that are available to the RESTServer.
File
- servers/
rest_server/ lib/ bencode.php, line 6
Code
function bencode($element) {
$out = "";
if (is_numeric($element) && $element == intval($element)) {
$out = 'i' . $element . 'e';
}
else {
if (is_string($element)) {
$out = strlen($element) . ':' . $element;
}
else {
if (is_array($element) || is_object($element) && ($element = get_object_vars($element))) {
ksort($element);
if (is_string(key($element))) {
$out = 'd';
foreach ($element as $key => $val) {
$out .= bencode($key) . bencode($val);
}
$out .= 'e';
}
else {
$out = 'l';
foreach ($element as $val) {
$out .= bencode($val);
}
$out .= 'e';
}
}
}
}
return $out;
}