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('discovery'); 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; $form = [ 'action' => '#', 'id' => 'feedback_form', 'onsubmit' => 'return false;', ]; $inputs = [ [ 'wrapper' => 'div', 'block_id' => 'flex-row-baseline w100p', 'class' => 'flex-row-baseline w100p', 'direct' => 1, 'block_content' => [ [ 'arguments' => [ 'label' => __('Sugesstion'), 'type' => 'radio_button', 'attributes' => 'class="btn"', 'name' => 'suggestion', 'id' => 'suggestion', 'script' => 'disableRadio(\'report\')', 'return' => true, ], ], [ 'arguments' => [ 'label' => __('Something is not quite right'), 'type' => 'radio_button', 'attributes' => 'class="btn"', 'name' => 'report', 'id' => 'report', 'script' => 'disableRadio(\'suggestion\')', 'return' => true, ], ], ], ], [ 'label' => __('What happened?'), 'class' => 'explain', '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_print_toggle( [ 'content' => $this->printForm( [ 'form' => $form, 'inputs' => $inputs, ], true ), 'name' => __('Feedback'), 'return' => true, 'class' => 'no-border', 'img_a' => 'images/arrow_down_white.png', 'img_b' => 'images/arrow_up_white.png', ] ); $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', ['feedback@artica.es', $feedback_text, $subject]); return $res; } public function loadJS() { ob_start(); ?>