AJAXMethods);
}
/**
* Constructor.
*
* @param string $ajax_controller Controller.
*
* @return object
*/
public function __construct($ajax_controller)
{
$this->ajaxController = $ajax_controller;
return $this;
}
/**
* Main method.
*
* @return void
*/
public function run()
{
ui_require_css_file('help_feedback');
$help_url = get_parameter('url', null);
if ($help_url === null) {
echo __('Page not found');
} else {
?>
';
// Load feedback form.
echo $this->loadFeedbackForm();
echo '';
}
/**
* Loads a feedback form
*
* @return string HTML code for form.
*
* @return Function loadFeedbackForm.
*/
public function loadFeedbackForm()
{
global $config;
ui_require_css_file('helper');
$form = [
'action' => '#',
'id' => 'feedback_form',
'onsubmit' => 'return false;',
];
$inputs = [
[
'wrapper' => 'div',
'block_id' => 'ejemplo',
'class' => 'flex movida o lo que quieras',
'direct' => 1,
'block_content' => [
[
'arguments' => [
'label' => __('Sugesstion'),
'type' => 'button',
'attributes' => 'class="sub ok btn_sug"',
'name' => 'option_1',
'id' => 'option_1',
'script' => 'change_option1()',
],
],
[
'arguments' => [
'label' => __('Something is not quite right'),
'type' => 'button',
'attributes' => 'class="sub ok btn_something"',
'name' => 'option_2',
'id' => 'option_2',
'script' => 'change_option2()',
],
],
],
],
[
'label' => __('What Happend?'),
'arguments' => [
'class' => 'textarea_feedback',
'id' => 'feedback_text',
'type' => 'textarea',
'name' => 'feedback_text',
],
],
[
'label' => __('Your Email'),
'arguments' => [
'id' => 'feedback_email',
'name' => 'feedback_email',
'input_class' => 'email_feedback',
'class' => 'email_feedback',
'type' => 'text',
],
],
[
'arguments' => [
'button_class' => 'btn_submit',
'class' => 'btn_submit',
'attributes' => 'class="sub next btn_submit_feed_back"',
'type' => 'submit',
'id' => 'submit_feedback',
'label' => __('Submit'),
],
],
];
$output = ui_toggle(
$this->printForm(
[
'form' => $form,
'inputs' => $inputs,
],
true
),
__('Feedback'),
'',
'',
true,
false,
'',
'no-border'
);
$output .= $this->loadJS();
return $output;
}
/**
* Function send_mail_method,we use send_email_attachment method
* from functions_cron.php.
*
* @param string $feedback_option type fo mail.
* @param string $feedback_text text mail.
* @param string $feedback_mail costumer mail.
*
* @return integer Status of the email send task.
*/
public function sendMailMethod()
{
$subject = get_parameter('feedback_option', null);
$feedback_text = get_parameter('feedback_text', null);
$feedback_mail = get_parameter('feedback_email', null);
$subject;
if ($subject === null) {
echo json_encode(['error' => __('No ha seleccionado una opcion')]);
exit;
}
enterprise_include_once('include/functions_cron.php');
$feedback_text .= '
From '.$feedback_mail.' ';
$res = enterprise_hook('send_email_attachment', ['marcos.alconada@artica.es', $feedback_text, $subject]);
return $res;
}
public function loadJS()
{
ob_start();
?>