Extra files and IDs in API
Conflicts: inc/api.php
This commit is contained in:
parent
300e9e7e71
commit
4a22ee9245
30
inc/api.php
30
inc/api.php
@ -86,11 +86,22 @@ class Api {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function translateFile($file, $post, &$apiPost) {
|
||||||
|
$this->translateFields($this->fileFields, $file, $apiPost);
|
||||||
|
$apiPost['filename'] = @substr($file->name, 0, strrpos($file->name, '.'));
|
||||||
|
$dotPos = strrpos($file->file, '.');
|
||||||
|
$apiPost['ext'] = substr($file->file, $dotPos);
|
||||||
|
$apiPost['tim'] = substr($file->file, 0, $dotPos);
|
||||||
|
$apiPost['md5'] = base64_encode(hex2bin($post->filehash));
|
||||||
|
}
|
||||||
|
|
||||||
private function translatePost($post, $threadsPage = false) {
|
private function translatePost($post, $threadsPage = false) {
|
||||||
|
global $config, $board;
|
||||||
$apiPost = array();
|
$apiPost = array();
|
||||||
$fields = $threadsPage ? $this->threadsPageFields : $this->postFields;
|
$fields = $threadsPage ? $this->threadsPageFields : $this->postFields;
|
||||||
$this->translateFields($fields, $post, $apiPost);
|
$this->translateFields($fields, $post, $apiPost);
|
||||||
|
|
||||||
|
if (isset($config['poster_ids'])) $apiPost['id'] = poster_id($post->ip, $post->thread, $board['uri']);
|
||||||
if ($threadsPage) return $apiPost;
|
if ($threadsPage) return $apiPost;
|
||||||
|
|
||||||
// Handle country field
|
// Handle country field
|
||||||
@ -109,12 +120,19 @@ class Api {
|
|||||||
// Note: 4chan only supports one file, so only the first file is taken into account for 4chan-compatible API.
|
// Note: 4chan only supports one file, so only the first file is taken into account for 4chan-compatible API.
|
||||||
if (isset($post->files) && $post->files && !$threadsPage) {
|
if (isset($post->files) && $post->files && !$threadsPage) {
|
||||||
$file = $post->files[0];
|
$file = $post->files[0];
|
||||||
$this->translateFields($this->fileFields, $file, $apiPost);
|
$this->translateFile($file, $post, $apiPost);
|
||||||
$apiPost['filename'] = isset($file->name) ? substr($file->name, 0, strrpos($file->name, '.')) : "";
|
if (sizeof($post->files) > 1) {
|
||||||
$dotPos = strrpos($file->file, '.');
|
$extra_files = array();
|
||||||
$apiPost['ext'] = substr($file->file, $dotPos);
|
foreach ($post->files as $i => $f) {
|
||||||
$apiPost['tim'] = substr($file->file, 0, $dotPos);
|
if ($i == 0) continue;
|
||||||
$apiPost['md5'] = base64_encode(hex2bin($post->filehash));
|
|
||||||
|
$extra_file = array();
|
||||||
|
$this->translateFile($f, $post, $extra_file);
|
||||||
|
|
||||||
|
$extra_files[] = $extra_file;
|
||||||
|
}
|
||||||
|
$apiPost['extra_files'] = $extra_files;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $apiPost;
|
return $apiPost;
|
||||||
|
Loading…
Reference in New Issue
Block a user