mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
aurjson.class.php: Add method get_comment_form()
This method will be used by the JavaScript comment editing and produces a form containing the comment. Signed-off-by: Marcel Korpel <marcel.korpel@gmail.com> Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
parent
c7025054c6
commit
8328223a5e
1 changed files with 48 additions and 1 deletions
|
@ -14,7 +14,7 @@ class AurJSON {
|
||||||
private $version = 1;
|
private $version = 1;
|
||||||
private static $exposed_methods = array(
|
private static $exposed_methods = array(
|
||||||
'search', 'info', 'multiinfo', 'msearch', 'suggest',
|
'search', 'info', 'multiinfo', 'msearch', 'suggest',
|
||||||
'suggest-pkgbase'
|
'suggest-pkgbase', 'get-comment-form'
|
||||||
);
|
);
|
||||||
private static $exposed_fields = array(
|
private static $exposed_fields = array(
|
||||||
'name', 'name-desc'
|
'name', 'name-desc'
|
||||||
|
@ -477,5 +477,52 @@ class AurJSON {
|
||||||
|
|
||||||
return json_encode($result_array);
|
return json_encode($result_array);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML markup of the comment form.
|
||||||
|
*
|
||||||
|
* @param array $http_data Query parameters.
|
||||||
|
*
|
||||||
|
* @return string The JSON formatted response data.
|
||||||
|
*/
|
||||||
|
private function get_comment_form($http_data) {
|
||||||
|
if (!isset($http_data['base_id']) || !isset($http_data['pkgbase_name'])) {
|
||||||
|
$output = array(
|
||||||
|
'success' => 0,
|
||||||
|
'error' => __('Package base ID or package base name missing.')
|
||||||
|
);
|
||||||
|
return json_encode($output);
|
||||||
|
}
|
||||||
|
|
||||||
|
$comment_id = intval($http_data['arg']);
|
||||||
|
$base_id = intval($http_data['base_id']);
|
||||||
|
$pkgbase_name = $http_data['pkgbase_name'];
|
||||||
|
|
||||||
|
list($user_id, $comment) = comment_by_id($comment_id);
|
||||||
|
|
||||||
|
if (!has_credential(CRED_COMMENT_EDIT, array($user_id))) {
|
||||||
|
$output = array(
|
||||||
|
'success' => 0,
|
||||||
|
'error' => __('You do not have the right to edit this comment.')
|
||||||
|
);
|
||||||
|
return json_encode($output);
|
||||||
|
} elseif (is_null($comment)) {
|
||||||
|
$output = array(
|
||||||
|
'success' => 0,
|
||||||
|
'error' => __('Comment does not exist.')
|
||||||
|
);
|
||||||
|
return json_encode($output);
|
||||||
|
}
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
include('pkg_comment_form.php');
|
||||||
|
$html = ob_get_clean();
|
||||||
|
$output = array(
|
||||||
|
'success' => 1,
|
||||||
|
'form' => $html
|
||||||
|
);
|
||||||
|
|
||||||
|
return json_encode($output);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue