public function form_comment($comment, $actions)
{
$form = new FormUI('comment');
// Create the top description
$top = $form->append(FormControlWrapper::create('buttons_1', null, array('class' => array('container', 'buttons', 'comment', 'overview'))));
$top->append(FormControlStatic::create('overview', null)->set_static($this->theme->fetch('comment.overview')));
$buttons_1 = $top->append(FormControlWrapper::create('buttons_1', null, array('class' => array('item', 'buttons'))));
foreach ($actions as $status => $action) {
$id = $action . '_1';
$buttons_1->append(FormControlSubmit::create($id, null, array('class' => array('status', 'button', $action)))->set_caption(MUltiByte::ucfirst(_t($action))));
if (Comment::status_name($comment->status) == $status) {
$buttons_1->{$id}->add_class('active');
$buttons_1->{$id}->set_properties(array('disabled' => true));
} else {
$buttons_1->{$id}->set_properties(array('disabled' => false));
}
}
// Content
$form->append(FormControlWrapper::create('content_wrapper'));
$form->content_wrapper->append(FormControlLabel::wrap(_t('Comment'), FormControlTextArea::create('content', null, array('class' => 'resizable'))->set_value($comment->content)));
// Create the splitter
$comment_controls = $form->append(FormControlTabs::create('comment_controls'));
// Create the author info
$author = $comment_controls->append(FormControlFieldset::create('authorinfo')->set_caption(_t('Author')));
$author->append(FormControlLabel::wrap(_t('Author Name'), FormControlText::create('author_name')->set_value($comment->name)));
$author->append(FormControlLabel::wrap(_t('Author Email'), FormControlText::create('author_email')->set_value($comment->email)));
$author->append(FormControlLabel::wrap(_t('Author URL'), FormControlText::create('author_url')->set_value($comment->url)));
$author->append(FormControlLabel::wrap(_t('IP Address:'), FormControlText::create('author_ip')->set_value($comment->ip)));
// Create the advanced settings
$settings = $comment_controls->append(FormControlFieldset::create('settings')->set_caption(_t('Settings')));
$settings->append(FormControlLabel::wrap(_t('Date:'), FormControlText::create('comment_date')->set_value($comment->date->get('Y-m-d H:i:s'))));
$settings->append(FormControlLabel::wrap(_t('Post ID:'), FormControlText::create('comment_post')->set_value($comment->post->id)));
$statuses = Comment::list_comment_statuses(false);
$statuses = Plugins::filter('admin_publish_list_comment_statuses', $statuses);
$settings->append(FormControlLabel::wrap(_t('Status'), FormControlSelect::create('comment_status')->set_options($statuses)->set_value($comment->status)));
// // Create the stats
// $comment_controls->append('fieldset', 'stats_tab', _t('Stats'));
// $stats = $form->stats_tab->append('wrapper', 'tags_buttons');
// $stats->class = 'container';
//
// $stats->append('static', 'post_count', '<div class="container"><p class="pct25">'._t('Comments on this post:').'</p><p><strong>' . Comments::count_by_id($comment->post->id) . '</strong></p></div><hr />');
// $stats->append('static', 'ip_count', '<div class="container"><p class="pct25">'._t('Comments from this IP:').'</p><p><strong>' . Comments::count_by_ip($comment->ip) . '</strong></p></div><hr />');
// $stats->append('static', 'email_count', '<div class="container"><p class="pct25">'._t('Comments by this author:').'</p><p><strong>' . Comments::count_by_email($comment->email) . '</strong></p></div><hr />');
// $stats->append('static', 'url_count', '<div class="container"><p class="pct25">'._t('Comments with this URL:').'</p><p><strong>' . Comments::count_by_url($comment->url) . '</strong></p></div><hr />');
// Create the second set of action buttons
$buttons_2 = $form->append(FormControlWrapper::create('buttons_2', null, array('class' => array('container', 'buttons', 'comment'))));
foreach ($actions as $status => $action) {
$id = $action . '_2';
$buttons_2->append(FormControlSubmit::create($id, null, array('class' => array('status', 'button', $action)))->set_caption(MUltiByte::ucfirst(_t($action))));
if (Comment::status_name($comment->status) == $status) {
$buttons_2->{$id}->add_class('active');
$buttons_2->{$id}->set_properties(array('disabled' => true));
} else {
$buttons_2->{$id}->set_properties(array('disabled' => false));
}
}
// Allow plugins to alter form
Plugins::act('form_comment_edit', $form, $comment);
return $form;
}