diff --git a/pandora_console/include/functions_reporting_html.php b/pandora_console/include/functions_reporting_html.php
index 935c12c871..b882cc0ae0 100644
--- a/pandora_console/include/functions_reporting_html.php
+++ b/pandora_console/include/functions_reporting_html.php
@@ -1496,11 +1496,12 @@ function reporting_html_agent_module($table, $item)
             $table_data .= "<td style='background-color: ".$rowcolor.";'>".$file_name.'</td>';
 
             foreach ($row['modules'] as $module_name => $module) {
-                if (is_null($module)) {
+                if ($module === null) {
                     $table_data .= "<td style='background-color: #DDD;'></td>";
                 } else {
                     $table_data .= "<td style='text-align: center; background-color: #DDD;'>";
                     switch ($module) {
+                        default:
                         case AGENT_STATUS_NORMAL:
                             $table_data .= ui_print_status_image(
                                 'module_ok.png',
@@ -1756,6 +1757,15 @@ function reporting_html_exception($table, $item, $pdf=0)
 }
 
 
+/**
+ * Function to print to HTML group report.
+ *
+ * @param object  $table Head table or false if it comes from pdf.
+ * @param array   $item  Items data.
+ * @param boolean $pdf   If it comes from pdf.
+ *
+ * @return html
+ */
 function reporting_html_group_report($table, $item, $pdf=0)
 {
     global $config;
@@ -2266,7 +2276,11 @@ function reporting_html_alert_report($table, $item, $pdf=0)
     $table1->valign  = [];
 
     if ($item['data'] == null) {
-        $table->data['alerts']['cell'] = ui_print_empty_data(__('No alerts defined'), '', true);
+        $table->data['alerts']['cell'] = ui_print_empty_data(
+            __('No alerts defined'),
+            '',
+            true
+        );
         return true;
     }
 
@@ -2298,7 +2312,7 @@ function reporting_html_alert_report($table, $item, $pdf=0)
             $row['fired']    = '';
             foreach ($alert['actions'] as $action) {
                 if ($action['name'] == '') {
-                    // Removed from retrieved hash
+                    // Removed from retrieved hash.
                     continue;
                 }
 
@@ -2315,7 +2329,7 @@ function reporting_html_alert_report($table, $item, $pdf=0)
                 $row['tfired'] .= '<div style="width: 100%;">'.$fired.'</div>'."\n";
             }
 
-            // Skip first td's to avoid repeat the agent and module names
+            // Skip first td's to avoid repeat the agent and module names.
             $table1->data[] = $row;
             if ($td > 1) {
                 for ($i = 0; $i < $td; $i++) {
@@ -2355,7 +2369,18 @@ function reporting_html_sql_graph($table, $item)
 }
 
 
-function reporting_html_monitor_report($table, $item, $mini)
+/**
+ * It shows the percentage of time a module has been
+ * right or wrong within a predefined period.
+ *
+ * @param object  $table Parameters table.
+ * @param array   $item  Items data.
+ * @param boolean $mini  True or flase.
+ * @param integer $pdf   Values 0 or 1.
+ *
+ * @return mixed
+ */
+function reporting_html_monitor_report($table, $item, $mini, $pdf=0)
 {
     global $config;
 
@@ -2377,16 +2402,50 @@ function reporting_html_monitor_report($table, $item, $mini)
         $table1->data['data']['unknown'] .= __('Unknown').'</p>';
     } else {
         $table1->data['data']['ok'] = '<p style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_NORMAL.';">';
-        $table1->data['data']['ok'] .= html_print_image('images/module_ok.png', true).' '.__('OK').': '.remove_right_zeros(number_format($item['data']['ok']['formated_value'], $config['graph_precision'])).' %</p>';
+        $table1->data['data']['ok'] .= html_print_image(
+            'images/module_ok.png',
+            true
+        ).' '.__('OK').': '.remove_right_zeros(
+            number_format(
+                $item['data']['ok']['formated_value'],
+                $config['graph_precision']
+            )
+        ).' %</p>';
 
         $table1->data['data']['fail'] = '<p style="font: bold '.$font_size.'em Arial, Sans-serif; color: '.COL_CRITICAL.';">';
-        $table1->data['data']['fail'] .= html_print_image('images/module_critical.png', true).' '.__('Not OK').': '.remove_right_zeros(number_format($item['data']['fail']['formated_value'], $config['graph_precision'])).' % '.'</p>';
+        $table1->data['data']['fail'] .= html_print_image(
+            'images/module_critical.png',
+            true
+        ).' '.__('Not OK').': '.remove_right_zeros(
+            number_format(
+                $item['data']['fail']['formated_value'],
+                $config['graph_precision']
+            )
+        ).' % '.'</p>';
     }
 
-    $table->data['module']['cell'] = html_print_table($table1, true);
+    if ($pdf === 0) {
+        $table->data['module']['cell'] = html_print_table(
+            $table1,
+            true
+        );
+    } else {
+        return html_print_table(
+            $table1,
+            true
+        );
+    }
 }
 
 
+/**
+ * Print report html.
+ *
+ * @param object $table Parameters table.
+ * @param array  $item  Items data.
+ *
+ * @return mixed
+ */
 function reporting_html_graph($table, $item)
 {
     $table->colspan['chart']['cell'] = 3;
@@ -2395,6 +2454,15 @@ function reporting_html_graph($table, $item)
 }
 
 
+/**
+ * Print report prediction date.
+ *
+ * @param object  $table Parameters table.
+ * @param array   $item  Items data.
+ * @param boolean $mini  True or False.
+ *
+ * @return mixed
+ */
 function reporting_html_prediction_date($table, $item, $mini)
 {
     reporting_html_value($table, $item, $mini, true);
@@ -2719,10 +2787,31 @@ function reporting_html_text(&$table, $item)
 }
 
 
-function reporting_html_availability(&$table, $item)
+/**
+ * Report availability
+ *
+ * @param string  $table Reference table in pdf a false.
+ * @param array   $item  Parameters for item pdf.
+ * @param boolean $pdf   Send pdf.
+ *
+ * @return html
+ */
+function reporting_html_availability($table, $item, $pdf=0)
 {
-    $style = db_get_value('style', 'treport_content', 'id_rc', $item['id_rc']);
-    $style = json_decode(io_safe_output($style), true);
+    $retun_pdf = '';
+
+    $style = db_get_value(
+        'style',
+        'treport_content',
+        'id_rc',
+        $item['id_rc']
+    );
+
+    $style = json_decode(
+        io_safe_output($style),
+        true
+    );
+
     $same_agent_in_resume = '';
 
     global $config;
@@ -2886,16 +2975,30 @@ function reporting_html_availability(&$table, $item)
         $table->data['error']['cell'] = __('There are no Agent/Modules defined');
     }
 
-    $table->colspan[1][0] = 2;
-    $table->colspan[2][0] = 2;
-    $data = [];
-    $data[0] = html_print_table($table1, true);
-    array_push($table->data, $data);
+    if ($pdf === 0) {
+        $table->colspan[1][0] = 2;
+        $table->colspan[2][0] = 2;
+        $data = [];
+        $data[0] = html_print_table($table1, true);
+        array_push($table->data, $data);
+    } else {
+        $table1->title = $item['title'];
+        $table1->titleclass = 'title_table_pdf';
+        $table1->titlestyle = 'text-align:left;';
+        $return_pdf .= html_print_table($table1, true);
+    }
 
     if ($item['resume']['resume']) {
-        $data2 = [];
-        $data2[0] = html_print_table($table2, true);
-        array_push($table->data, $data2);
+        if ($pdf === 0) {
+            $data2 = [];
+            $data2[0] = html_print_table($table2, true);
+            array_push($table->data, $data2);
+        } else {
+            $table2->title = $item['title'];
+            $table2->titleclass = 'title_table_pdf';
+            $table2->titlestyle = 'text-align:left;';
+            $return_pdf .= html_print_table($table2, true);
+        }
     }
 
     if ($item['resume']['resume'] && !empty($item['data'])) {
@@ -2925,18 +3028,41 @@ function reporting_html_availability(&$table, $item)
 
             $table1->data[] = [
                 'max_text' => $item['resume']['max_text'],
-                'max'      => sla_truncate($item['resume']['max'], $config['graph_precision']).'%',
+                'max'      => sla_truncate(
+                    $item['resume']['max'],
+                    $config['graph_precision']
+                ).'%',
                 'min_text' => $item['resume']['min_text'],
-                'min'      => sla_truncate($item['resume']['min'], $config['graph_precision']).'%',
+                'min'      => sla_truncate(
+                    $item['resume']['min'],
+                    $config['graph_precision']
+                ).'%',
                 'avg'      => '<span style="font-size: 1.2em; font-weight:bold;">'.sla_truncate($item['resume']['avg'], $config['graph_precision']).'%</span>',
             ];
 
-            $table->colspan[3][0] = 3;
-            $data = [];
-            $data[0] = html_print_table($table1, true);
-            array_push($table->data, $data);
+            if ($pdf === 0) {
+                $table->colspan[3][0] = 3;
+                $data = [];
+                $data[0] = html_print_table(
+                    $table1,
+                    true
+                );
+                array_push($table->data, $data);
+            } else {
+                $table1->title = $item['title'];
+                $table1->titleclass = 'title_table_pdf';
+                $table1->titlestyle = 'text-align:left;';
+                $return_pdf .= html_print_table(
+                    $table1,
+                    true
+                );
+            }
         }
     }
+
+    if ($pdf !== 0) {
+        return $return_pdf;
+    }
 }
 
 
@@ -3069,6 +3195,13 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
 }
 
 
+/**
+ * Function for first time data agent.
+ *
+ * @param string $agent_name Agent name.
+ *
+ * @return array
+ */
 function get_agent_first_time($agent_name)
 {
     $id = agents_get_agent_id($agent_name, true);
@@ -3347,6 +3480,15 @@ function reporting_html_sql($table, $item, $pdf=0)
 }
 
 
+/**
+ * Function for stats.
+ *
+ * @param array   $data         Array item.
+ * @param integer $graph_width  Items data.
+ * @param integer $graph_height If it comes from pdf.
+ *
+ * @return html
+ */
 function reporting_get_stats_summary($data, $graph_width, $graph_height)
 {
     global $config;
@@ -3376,13 +3518,21 @@ function reporting_get_stats_summary($data, $graph_width, $graph_height)
 
         $tdata[0] = '<div style="margin: auto; width: '.$graph_width.'px;"><div id="status_pie" style="margin: auto; width: '.$graph_width.'">'.graph_agent_status(false, $graph_width, $graph_height, true, true).'</div></div>';
     } else {
-        $tdata[2] = html_print_image('images/image_problem_area_small.png', true, ['width' => $graph_width]);
+        $tdata[2] = html_print_image(
+            'images/image_problem_area_small.png',
+            true,
+            ['width' => $graph_width]
+        );
     }
 
     if ($data['monitor_alerts'] > 0) {
         $tdata[2] = '<div style="margin: auto; width: '.$graph_width.'px;">'.graph_alert_status($data['monitor_alerts'], $data['monitor_alerts_fired'], $graph_width, $graph_height, true, true).'</div>';
     } else {
-        $tdata[2] = html_print_image('images/image_problem_area_small.png', true, ['width' => $graph_width]);
+        $tdata[2] = html_print_image(
+            'images/image_problem_area_small.png',
+            true,
+            ['width' => $graph_width]
+        );
     }
 
         $table_sum->rowclass[] = '';
@@ -3401,10 +3551,11 @@ function reporting_get_stats_summary($data, $graph_width, $graph_height)
  * It construct a table object with all the events happened in a group
  * during a period of time.
  *
- * @param int Group id to get the report.
- * @param int Period of time to get the report.
- * @param int Beginning date of the report
- * @param int Flag to return or echo the report table (echo by default).
+ * @param integer $id_group Group id to get the report.
+ * @param integer $period   Period of time to get the report.
+ * @param integer $date     Beginning date of the report.
+ * @param boolean $return   Flag to return or echo the
+ *   report table (echo by default).
  *
  * @return object A table object
  */
@@ -3437,7 +3588,7 @@ function reporting_event_reporting($id_group, $period, $date=0, $return=false)
         }
 
         $data[1] = $event['evento'];
-        $data[2] = $event['id_usuario'] != '0' ? $event['id_usuario'] : '';
+        $data[2] = ($event['id_usuario'] != '0') ? $event['id_usuario'] : '';
         $data[3] = $event['timestamp'];
         array_push($table->data, $data);
     }
@@ -3453,8 +3604,9 @@ function reporting_event_reporting($id_group, $period, $date=0, $return=false)
 /**
  * Get a table report from a alerts fired array.
  *
- * @param array Alerts fired array.
- * @see   function get_alerts_fired ()
+ * @param array $alerts_fired Alerts fired array.
+ *
+ * @see function get_alerts_fired ()
  *
  * @return object A table object with a report of the fired alerts.
  */
@@ -3515,8 +3667,9 @@ function reporting_get_fired_alerts_table($alerts_fired)
 /**
  * Get a report table with all the monitors down.
  *
- * @param array  An array with all the monitors down
- * @see   function modules_get_monitors_down()
+ * @param array $monitors_down An array with all the monitors down.
+ *
+ * @see Function modules_get_monitors_down().
  *
  * @return object A table object with a monitors down report.
  */
@@ -3570,8 +3723,8 @@ function reporting_get_monitors_down_table($monitors_down)
  *
  * It shows the number of agents and no more things right now.
  *
- * @param int Group to get the report
- * @param bool Flag to return or echo the report (by default).
+ * @param integer $id_group Group to get the report.
+ * @param boolean $return   Flag to return or echo the report (by default).
  *
  * @return HTML string with group report
  */
@@ -3591,9 +3744,10 @@ function reporting_print_group_reporting($id_group, $return=false)
 /**
  * Get a report table of the fired alerts group by agents.
  *
- * @param int Agent id to generate the report.
- * @param int Period of time of the report.
- * @param int Beginning date of the report in UNIX time (current date by default).
+ * @param integer $id_agent Agent id to generate the report.
+ * @param integer $period   Period of time of the report.
+ * @param integer $date     Beginning date of the report in
+ * UNIX time (current date by default).
  *
  * @return object A table object with the alert reporting..
  */
@@ -3637,23 +3791,19 @@ function reporting_get_agent_alerts_table($id_agent, $period=0, $date=0)
             case 'equal':
             case 'not_equal':
                 $data[2] = $template['value'];
-
             break;
 
             case 'max-min':
                 $data[2] = __('Min.').': '.$template['min_value'].' ';
                 $data[2] .= __('Max.').': '.$template['max_value'].' ';
-
             break;
 
             case 'max':
                 $data[2] = $template['max_value'];
-
             break;
 
             case 'min':
                 $data[2] = $template['min_value'];
-
             break;
         }
 
@@ -3671,9 +3821,10 @@ function reporting_get_agent_alerts_table($id_agent, $period=0, $date=0)
 /**
  * Get a report of monitors in an agent.
  *
- * @param int Agent id to get the report
- * @param int Period of time of the report.
- * @param int Beginning date of the report in UNIX time (current date by default).
+ * @param integer $id_agent Agent id to get the report.
+ * @param integer $period   Period of time of the report.
+ * @param integer $date     Beginning date of the report in UNIX time
+ *         (current date by default).
  *
  * @return object A table object with the report.
  */
@@ -3722,9 +3873,10 @@ function reporting_get_agent_monitors_table($id_agent, $period=0, $date=0)
 /**
  * Get a report of all the modules in an agent.
  *
- * @param int Agent id to get the report.
- * @param int Period of time of the report
- * @param int Beginning date of the report in UNIX time (current date by default).
+ * @param integer $id_agent Agent id to get the report.
+ * @param integer $period   Period of time of the report.
+ * @param integer $date     Beginning date of the report in UNIX time
+ *         (current date by default).
  *
  * @return object
  */
@@ -3756,19 +3908,24 @@ function reporting_get_agent_modules_table($id_agent, $period=0, $date=0)
 /**
  * Get a detailed report of an agent
  *
- * @param int Agent to get the report.
- * @param int Period of time of the desired report.
- * @param int Beginning date of the report in UNIX time (current date by default).
- * @param bool Flag to return or echo the report (by default).
+ * @param integer $id_agent Agent to get the report.
+ * @param integer $period   Period of time of the desired report.
+ * @param integer $date     Beginning date of the report in UNIX time
+ * (current date by default).
+ * @param boolean $return   Flag to return or echo the report (by default).
  *
  * @return string
  */
-function reporting_get_agent_detailed($id_agent, $period=0, $date=0, $return=false)
-{
+function reporting_get_agent_detailed(
+    $id_agent,
+    $period=0,
+    $date=0,
+    $return=false
+) {
     $output = '';
     $n_a_string = __('N/A(*)');
 
-    // Show modules in agent
+    // Show modules in agent.
     $output .= '<div class="agent_reporting">';
     $output .= '<h3 style="text-decoration: underline">'.__('Agent').' - '.agents_get_alias($id_agent).'</h3>';
     $output .= '<h4>'.__('Modules').'</h3>';
@@ -3776,17 +3933,17 @@ function reporting_get_agent_detailed($id_agent, $period=0, $date=0, $return=fal
     $table_modules->width = '99%';
     $output .= html_print_table($table_modules, true);
 
-    // Show alerts in agent
+    // Show alerts in agent.
     $table_alerts = reporting_get_agent_alerts_table($id_agent, $period, $date);
     $table_alerts->width = '99%';
-    if (sizeof($table_alerts->data)) {
+    if (count($table_alerts->data)) {
         $output .= '<h4>'.__('Alerts').'</h4>';
         $output .= html_print_table($table_alerts, true);
     }
 
-    // Show monitor status in agent (if any)
+    // Show monitor status in agent (if any).
     $table_monitors = reporting_get_agent_monitors_table($id_agent, $period, $date);
-    if (sizeof($table_monitors->data) == 0) {
+    if (count($table_monitors->data) == 0) {
         $output .= '</div>';
         if (! $return) {
             echo $output;