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(); ?>