diff --git a/extras/deploy-scripts/pandora_deploy_community.sh b/extras/deploy-scripts/pandora_deploy_community.sh index d7973172aa..58e3187806 100644 --- a/extras/deploy-scripts/pandora_deploy_community.sh +++ b/extras/deploy-scripts/pandora_deploy_community.sh @@ -571,6 +571,13 @@ sed -i -e "s|^dbpass.*|dbpass $DBPASS|g" $PANDORA_SERVER_CONF sed -i -e "s/^dbport.*/dbport $DBPORT/g" $PANDORA_SERVER_CONF sed -i -e "s/^#.mssql_driver.*/mssql_driver $MS_ID/g" $PANDORA_SERVER_CONF +#check fping +fping_bin=$(which fping) +execute_cmd "[ $fping_bin ]" "Check fping location: $fping_bin" +if [ "$fping_bin" != "" ]; then + sed -i -e "s|^fping.*|fping $fping_bin|g" $PANDORA_SERVER_CONF +fi + # Enable agent remote config sed -i "s/^remote_config.*$/remote_config 1/g" $PANDORA_AGENT_CONF diff --git a/extras/deploy-scripts/pandora_deploy_community_el8.sh b/extras/deploy-scripts/pandora_deploy_community_el8.sh index d217de2303..57301f62e0 100644 --- a/extras/deploy-scripts/pandora_deploy_community_el8.sh +++ b/extras/deploy-scripts/pandora_deploy_community_el8.sh @@ -334,8 +334,6 @@ console_dependencies=" \ http://firefly.artica.es/centos8/phantomjs-2.1.1-1.el7.x86_64.rpm" execute_cmd "dnf install -y $console_dependencies" "Installing Pandora FMS Console dependencies" - - # Server dependencies server_dependencies=" \ perl \ @@ -409,6 +407,7 @@ setenforce 0 &>> "$LOGFILE" sed -i -e "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config &>> "$LOGFILE" systemctl disable firewalld --now &>> "$LOGFILE" + # Adding standar cnf for initial setup. cat > /etc/my.cnf << EO_CONFIG_TMP [mysqld] @@ -633,6 +632,13 @@ sed -i -e "s|^dbpass.*|dbpass $DBPASS|g" $PANDORA_SERVER_CONF sed -i -e "s/^dbport.*/dbport $DBPORT/g" $PANDORA_SERVER_CONF sed -i -e "s/^#.mssql_driver.*/mssql_driver $MS_ID/g" $PANDORA_SERVER_CONF +#check fping +fping_bin=$(which fping) +execute_cmd "[ $fping_bin ]" "Check fping location: $fping_bin" +if [ "$fping_bin" != "" ]; then + sed -i -e "s|^fping.*|fping $fping_bin|g" $PANDORA_SERVER_CONF +fi + # Enable agent remote config sed -i "s/^remote_config.*$/remote_config 1/g" $PANDORA_AGENT_CONF diff --git a/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh b/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh index ae5e607cae..21b93c54a0 100644 --- a/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh +++ b/extras/deploy-scripts/pandora_deploy_community_ubuntu_2204.sh @@ -17,7 +17,7 @@ PANDORA_AGENT_CONF=/etc/pandora/pandora_agent.conf WORKDIR=/opt/pandora/deploy -S_VERSION='202304111' +S_VERSION='202304181' LOGFILE="/tmp/pandora-deploy-community-$(date +%F).log" rm -f $LOGFILE &> /dev/null # remove last log before start @@ -274,6 +274,7 @@ server_dependencies=" \ cron \ libgeo-ip-perl \ arping \ + snmp-mibs-downloader \ openjdk-8-jdk " execute_cmd "apt install -y $server_dependencies" "Installing Pandora FMS Server dependencies" diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control index 8a643c8532..e29be7c213 100644 --- a/pandora_agents/unix/DEBIAN/control +++ b/pandora_agents/unix/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-agent-unix -Version: 7.0NG.770-230417 +Version: 7.0NG.770-230418 Architecture: all Priority: optional Section: admin diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh index 203f99def7..e1ba1084da 100644 --- a/pandora_agents/unix/DEBIAN/make_deb_package.sh +++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.770-230417" +pandora_version="7.0NG.770-230418" echo "Test if you has the tools for to make the packages." whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent index 98306f5535..28669311c1 100755 --- a/pandora_agents/unix/pandora_agent +++ b/pandora_agents/unix/pandora_agent @@ -1023,7 +1023,7 @@ my $Sem = undef; my $ThreadSem = undef; use constant AGENT_VERSION => '7.0NG.770'; -use constant AGENT_BUILD => '230417'; +use constant AGENT_BUILD => '230418'; # Agent log default file size maximum and instances use constant DEFAULT_MAX_LOG_SIZE => 600000; diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec index 67f743d263..c59b9a43ae 100644 --- a/pandora_agents/unix/pandora_agent.redhat.spec +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_agent_linux %define version 7.0NG.770 -%define release 230417 +%define release 230418 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index 3c6d9cdf07..ab16f946ac 100644 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_agent_linux %define version 7.0NG.770 -%define release 230417 +%define release 230418 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer index 63863c3008..45ecb4c761 100755 --- a/pandora_agents/unix/pandora_agent_installer +++ b/pandora_agents/unix/pandora_agent_installer @@ -10,7 +10,7 @@ # ********************************************************************** PI_VERSION="7.0NG.770" -PI_BUILD="230417" +PI_BUILD="230418" OS_NAME=`uname -s` FORCE=0 diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi index 8c85cc5edd..3607506164 100644 --- a/pandora_agents/win32/installer/pandora.mpi +++ b/pandora_agents/win32/installer/pandora.mpi @@ -186,7 +186,7 @@ UpgradeApplicationID {} Version -{230417} +{230418} ViewReadme {Yes} diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc index 677806c2a5..f4c39c87db 100644 --- a/pandora_agents/win32/pandora.cc +++ b/pandora_agents/win32/pandora.cc @@ -30,7 +30,7 @@ using namespace Pandora; using namespace Pandora_Strutils; #define PATH_SIZE _MAX_PATH+1 -#define PANDORA_VERSION ("7.0NG.770 Build 230417") +#define PANDORA_VERSION ("7.0NG.770 Build 230418") string pandora_path; string pandora_dir; diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc index edde187feb..1daf506ff7 100644 --- a/pandora_agents/win32/versioninfo.rc +++ b/pandora_agents/win32/versioninfo.rc @@ -11,7 +11,7 @@ BEGIN VALUE "LegalCopyright", "Artica ST" VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "ProductName", "Pandora FMS Windows Agent" - VALUE "ProductVersion", "(7.0NG.770(Build 230417))" + VALUE "ProductVersion", "(7.0NG.770(Build 230418))" VALUE "FileVersion", "1.0.0.0" END END diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control index a429902fd5..dc8f1c8173 100644 --- a/pandora_console/DEBIAN/control +++ b/pandora_console/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-console -Version: 7.0NG.770-230417 +Version: 7.0NG.770-230418 Architecture: all Priority: optional Section: admin diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh index b807d99a40..d41a7566d8 100644 --- a/pandora_console/DEBIAN/make_deb_package.sh +++ b/pandora_console/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.770-230417" +pandora_version="7.0NG.770-230418" package_pear=0 package_pandora=1 diff --git a/pandora_console/godmode/agentes/agent_manager.php b/pandora_console/godmode/agentes/agent_manager.php index 5f716f571d..f01c035e80 100644 --- a/pandora_console/godmode/agentes/agent_manager.php +++ b/pandora_console/godmode/agentes/agent_manager.php @@ -760,6 +760,7 @@ $tableAdvancedAgent->data['agent_icon'][] = html_print_label_input_block( [ 'id' => 'icon_ok', 'style' => 'display:'.$display_icons.';', + 'width' => '40', ] ).html_print_image( $path_bad, @@ -767,6 +768,7 @@ $tableAdvancedAgent->data['agent_icon'][] = html_print_label_input_block( [ 'id' => 'icon_bad', 'style' => 'display:'.$display_icons.';', + 'width' => '40', ] ).html_print_image( $path_warning, @@ -774,6 +776,7 @@ $tableAdvancedAgent->data['agent_icon'][] = html_print_label_input_block( [ 'id' => 'icon_warning', 'style' => 'display:'.$display_icons.';', + 'width' => '40', ] ) ); diff --git a/pandora_console/godmode/alerts/alert_list.list.php b/pandora_console/godmode/alerts/alert_list.list.php index 9542635942..3d2ba0d1f1 100644 --- a/pandora_console/godmode/alerts/alert_list.list.php +++ b/pandora_console/godmode/alerts/alert_list.list.php @@ -903,10 +903,7 @@ foreach ($simple_alerts as $alert) { $data[3] .= ''; } - $table_alert_list->cellclass[] = [ - 1 => 'table_action_buttons', - 4 => 'table_action_buttons', - ]; + $table_alert_list->cellclass[] = [4 => 'table_action_buttons']; $data[4] = '
'; if ($alert['disabled']) { $data[4] .= html_print_input_image( diff --git a/pandora_console/include/config_process.php b/pandora_console/include/config_process.php index 38689965f0..bf543e17b0 100644 --- a/pandora_console/include/config_process.php +++ b/pandora_console/include/config_process.php @@ -20,7 +20,7 @@ /** * Pandora build version and version */ -$build_version = 'PC230417'; +$build_version = 'PC230418'; $pandora_version = 'v7.0NG.770'; // Do not overwrite default timezone set if defined. diff --git a/pandora_console/include/functions_events.php b/pandora_console/include/functions_events.php index b4f5a7bcbe..9f4ba19bb1 100644 --- a/pandora_console/include/functions_events.php +++ b/pandora_console/include/functions_events.php @@ -2523,8 +2523,8 @@ function events_print_event_table( $i = 0; $table->head[$i] = ''.__('Type').''; - $table->headstyle[$i] = 'width: 3%;text-align: center;'; - $table->style[$i++] = 'text-align: center;'; + $table->headstyle[$i] = 'width: 3%;text-align: left;'; + $table->style[$i++] = 'text-align: left;'; $table->head[$i] = ''.__('Event name').''; $table->headstyle[$i] = ''; @@ -2541,12 +2541,12 @@ function events_print_event_table( $table->style[$i++] = 'padding: 0 5px;word-break: break-word;'; $table->head[$i] = ''.__('Status').''; - $table->headstyle[$i] = 'width: 150px;text-align: center;'; - $table->style[$i++] = 'padding: 0 5px;text-align: center;'; + $table->headstyle[$i] = 'width: 150px;text-align: left;'; + $table->style[$i++] = 'padding: 0 5px;text-align: left;'; $table->head[$i] = "".__('V.').''; - $table->headstyle[$i] = 'width: 1%;text-align: center;'; - $table->style[$i++] = 'text-align: center;'; + $table->headstyle[$i] = 'width: 1%;text-align: left;'; + $table->style[$i++] = 'text-align: left;'; $all_groups = []; if ($agent_id != 0) { @@ -2730,7 +2730,7 @@ function events_print_type_img( [ 'title' => events_print_type_description($type, true), 'class' => $style, - 'style' => 'margin: 0 auto;'.((empty($icon) === false) ? 'background-image: url('.$icon.'); background-repeat: no-repeat;' : ''), + 'style' => ((empty($icon) === false) ? 'background-image: url('.$icon.'); background-repeat: no-repeat;' : ''), ], true ); @@ -5122,7 +5122,7 @@ function events_page_general($event) && count($table_data[$i]) === 2 ) { $table_general->colspan[$i][1] = 2; - $table_general->style[2] = 'text-align:center; width:10%;'; + $table_general->style[2] = 'text-align:left; width:10%;'; } } @@ -5204,7 +5204,7 @@ function events_page_comments($event, $ajax=false, $groupedComments=[]) $comments = (empty($groupedComments) === true) ? $event['user_comment'] : $groupedComments; if (empty($comments) === true) { - $table_comments->style[0] = 'text-align:center;'; + $table_comments->style[0] = 'text-align:left;'; $table_comments->colspan[0][0] = 2; $data = []; $data[0] = __('There are no comments'); diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php index 921e921172..a7f48f44af 100644 --- a/pandora_console/include/functions_menu.php +++ b/pandora_console/include/functions_menu.php @@ -585,7 +585,9 @@ function menu_add_extras(&$menu) $menu_extra['reporting']['sub']['enterprise/godmode/reporting/graph_template_wizard']['text'] = __('Graph template wizard'); $menu_extra['reporting']['sub']['godmode/reporting/reporting_builder&tab=wizard&action=wizard']['text'] = __('Templates wizard'); $menu_extra['reporting']['sub']['godmode/reporting/reporting_builder&tab=template&action=list_template']['text'] = __('Templates'); + $menu_extra['reporting']['sub']['godmode/reporting/reporting_builder&action=new']['text'] = __('New custom reports'); $menu_extra['reporting']['sub']['godmode/reporting/reporting_builder&action=edit']['text'] = __('Edit custom reports'); + $menu_extra['reporting']['sub']['godmode/reporting/reporting_builder&action=delete_report']['text'] = __('Remove custom reports'); $menu_extra['reporting']['sub']['godmode/reporting/reporting_builder&tab=list_items&action=edit']['text'] = __('List items'); $menu_extra['reporting']['sub']['godmode/reporting/reporting_builder&tab=item_editor&action=new']['text'] = __('Edit item'); $menu_extra['reporting']['sub']['godmode/reporting/reporting_builder&tab=wizard&action=edit']['text'] = __('Wizard'); diff --git a/pandora_console/include/functions_reporting_html.php b/pandora_console/include/functions_reporting_html.php index f37df709c4..60b70c751d 100644 --- a/pandora_console/include/functions_reporting_html.php +++ b/pandora_console/include/functions_reporting_html.php @@ -1041,11 +1041,11 @@ function reporting_html_event_report_group($table, $item, $pdf=0) $table1->class = 'info_table'; $table1->align = []; - $table1->align[0] = 'center'; + $table1->align[0] = 'left'; if ($item['show_summary_group']) { - $table1->align[3] = 'center'; + $table1->align[3] = 'left'; } else { - $table1->align[2] = 'center'; + $table1->align[2] = 'left'; } $table1->data = []; @@ -1299,7 +1299,7 @@ function reporting_html_event_report_module($table, $item, $pdf=0) $table1->class = 'info_table'; $table1->data = []; $table1->head = []; - $table1->align = 'left'; + $table1->align[0] = 'left'; if ($show_summary_group) { $table1->head[0] = __('Status'); @@ -1378,7 +1378,16 @@ function reporting_html_event_report_module($table, $item, $pdf=0) $custom_data = json_decode($event['custom_data'], true); $custom_data_text = ''; foreach ($custom_data as $key => $value) { - $custom_data_text .= $key.' = '.$value.'
'; + if (is_array($value)) { + $custom_data_text .= $key.' = '; + foreach ($value as $action) { + $custom_data_text .= $action.', '; + } + + $custom_data_text = rtrim($custom_data_text, ', ').'
'; + } else { + $custom_data_text .= $key.' = '.$value.'
'; + } } $data[6] = $custom_data_text; @@ -2632,16 +2641,14 @@ function reporting_html_event_report_agent($table, $item, $pdf=0) $table1->width = '99%'; $table1->class = 'info_table'; $table1->align = []; - $table1->align[0] = 'center'; - $table1->align[1] = 'center'; - $table1->align[3] = 'center'; - if ((bool) $item['show_custom_data'] === true) { - if ($item['show_summary_group']) { - $table1->align[7] = 'left'; - } else { - $table1->align[6] = 'left'; - } - } + $table1->align[0] = 'left'; + $table1->align[1] = 'left'; + $table1->align[2] = 'left'; + $table1->align[3] = 'left'; + $table1->align[4] = 'left'; + $table1->align[5] = 'left'; + $table1->align[6] = 'left'; + $table1->align[7] = 'left'; $table1->data = []; @@ -2717,7 +2724,7 @@ function reporting_html_event_report_agent($table, $item, $pdf=0) } if ($item['show_summary_group']) { - $data[] = ''.date($config['date_format'], strtotime($event['timestamp'])).''; + $data[] = ''.date($config['date_format'], $event['timestamp']).''; } else { $data[] = ''.date($config['date_format'], strtotime($event['timestamp'])).''; } @@ -2726,7 +2733,16 @@ function reporting_html_event_report_agent($table, $item, $pdf=0) $custom_data = json_decode($event['custom_data'], true); $custom_data_text = ''; foreach ($custom_data as $key => $value) { - $custom_data_text .= $key.' = '.$value.'
'; + if (is_array($value)) { + $custom_data_text .= $key.' = '; + foreach ($value as $action) { + $custom_data_text .= $action.', '; + } + + $custom_data_text = rtrim($custom_data_text, ', ').'
'; + } else { + $custom_data_text .= $key.' = '.$value.'
'; + } } $data[] = $custom_data_text; @@ -4733,7 +4749,7 @@ function reporting_html_availability_graph($table, $item, $pdf=0) $table1->style[0] = 'overflow-wrap: break-word'; // Align percentage and checks resume. - $table1->align[2] = 'center'; + $table1->align[2] = 'left'; $table1->data[$k_chart][0] = $chart['agent']; $table1->data[$k_chart][0] .= '
'; $table1->data[$k_chart][0] .= $chart['module']; diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index e9b5666f7c..2ba43e526b 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -3878,7 +3878,7 @@ function ui_print_datatable(array $parameters) $export_columns = ',columns: \'th:not(:last-child)\''; } - if (isset($parameters['data_element']) === false) { + if (isset($parameters['data_element']) === false || isset($parameters['print_pagination_search_csv'])) { if (isset($parameters['ajax_url'])) { $type_data = 'ajax: { url: "'.ui_get_full_url('ajax.php', false, false, false).'", @@ -7057,23 +7057,20 @@ function ui_print_comments($comments) } } - $last_comment = []; - foreach ($comments_array as $comm) { - // Show the comments more recent first. - if (is_array($comm)) { - $order_utimestamp = array_reduce( - $comm, - function ($carry, $item) { - $carry[$item['utimestamp']] = $item; - return $carry; - } - ); + $order_utimestamp = array_reduce( + $comments_array, + function ($carry, $item) { + foreach ($item as $k => $v) { + $carry[$v['utimestamp']] = $v; + } - $key_max_utimestamp = max(array_keys($order_utimestamp)); - - $last_comment = $order_utimestamp[$key_max_utimestamp]; + return $carry; } - } + ); + + $key_max_utimestamp = max(array_keys($order_utimestamp)); + + $last_comment = $order_utimestamp[$key_max_utimestamp]; if (empty($last_comment) === true) { return ''; diff --git a/pandora_console/include/javascript/datatables.min.js b/pandora_console/include/javascript/datatables.min.js index c2afd85400..b396fe83d4 100644 --- a/pandora_console/include/javascript/datatables.min.js +++ b/pandora_console/include/javascript/datatables.min.js @@ -451,7 +451,7 @@ aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed: iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal: this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};n.ext=x={buttons:{}, classes:{},build:"dt/dt-1.10.18",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:n.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:n.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager}); -h.extend(n.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled", +h.extend(n.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter padding-lft-10",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled", sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"", sJUIHeader:"",sJUIFooter:""});var Kb=n.ext.pager;h.extend(Kb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[ia(a,b)]},simple_numbers:function(a,b){return["previous",ia(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ia(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ia(a,b),"last"]},_numbers:ia,numbers_length:7});h.extend(!0,n.ext.renderer,{pageButton:{_:function(a,b,c,d,e, f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},m,l,n=0,o=function(b,d){var k,s,u,r,v=function(b){Ta(a,b.data.action,true)};k=0;for(s=d.length;k").appendTo(b);o(u,r)}else{m=null;l="";switch(r){case "ellipsis":b.append('');break;case "first":m=j.sFirst;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":m=j.sPrevious;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":m= diff --git a/pandora_console/include/javascript/fulldatatables.min.js b/pandora_console/include/javascript/fulldatatables.min.js index 250972a5d2..a572786969 100644 --- a/pandora_console/include/javascript/fulldatatables.min.js +++ b/pandora_console/include/javascript/fulldatatables.min.js @@ -410,7 +410,7 @@ aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed: iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal: this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};n.ext=x={buttons:{}, classes:{},build:"ju-1.12.1/jq-3.3.1/dt-1.10.18",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:n.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:n.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager}); -h.extend(n.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled", +h.extend(n.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter padding-lft-10",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled", sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"", sJUIHeader:"",sJUIFooter:""});var Kb=n.ext.pager;h.extend(Kb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[ia(a,b)]},simple_numbers:function(a,b){return["previous",ia(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ia(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ia(a,b),"last"]},_numbers:ia,numbers_length:7});h.extend(!0,n.ext.renderer,{pageButton:{_:function(a,b,c,d,e, f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},m,l,n=0,o=function(b,d){var k,s,u,r,v=function(b){Ta(a,b.data.action,true)};k=0;for(s=d.length;k").appendTo(b);o(u,r)}else{m=null;l="";switch(r){case "ellipsis":b.append('');break;case "first":m=j.sFirst;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":m=j.sPrevious;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":m= diff --git a/pandora_console/include/lib/Dashboard/Widgets/groups_status.php b/pandora_console/include/lib/Dashboard/Widgets/groups_status.php index bf164fe37f..524ff5ad26 100755 --- a/pandora_console/include/lib/Dashboard/Widgets/groups_status.php +++ b/pandora_console/include/lib/Dashboard/Widgets/groups_status.php @@ -362,19 +362,22 @@ class GroupsStatusWidget extends Widget // Agent Critical. $table->data[1][0] = $this->getCellCounter( $stats['agent_critical'], - '#e63c52' + '', + 'bg_ff5' ); // Agent Warning. $table->data[2][0] = $this->getCellCounter( $stats['agent_warning'], - '#f3b200' + '', + 'bg_ffd' ); // Agent OK. $table->data[3][0] = $this->getCellCounter( $stats['agent_ok'], - '#82b92e' + '', + 'bg_82B92E' ); // Agent Unknown. @@ -436,19 +439,22 @@ class GroupsStatusWidget extends Widget // Modules Critical. $table->data[1][0] = $this->getCellCounter( $stats['monitor_critical'], - '#e63c52' + '', + 'bg_ff5' ); // Modules Warning. $table->data[2][0] = $this->getCellCounter( $stats['monitor_warning'], - '#f3b200' + '', + 'bg_ffd' ); // Modules OK. $table->data[3][0] = $this->getCellCounter( $stats['monitor_ok'], - '#82b92e' + '', + 'bg_82B92E' ); // Modules Unknown. @@ -490,10 +496,20 @@ class GroupsStatusWidget extends Widget * * @return string */ - protected function getCellCounter(?int $count, string $color):string + protected function getCellCounter(?int $count, string $color='', string $div_class=''):string { - $output = '
'; + $output = '
span { padding-left: 10px; } -table.group_modules_status_box tr td div { +table.group_modules_status_box tr td div, +table.widget_groups_status tr td div { background-color: #82b92e; width: 90%; padding: 3px; diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index d3e1e51a42..4a7af01528 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -11896,6 +11896,42 @@ td[id^="table_info_box"] a { border-bottom: 1px solid #dedede !important; } +.small-input-select2 > div > input, +.small-input-select2 > div > select, +.small-input { + height: 30px; + border: 1px solid #8a96a6; + margin: 3px 2px; +} + +.small-input-select2 > div > a > img { + padding-top: 5px !important; +} + +.small-input-select2 + .select2-container + .select2-selection--single + .select2-selection__rendered, +.small-input-select2 + div + .select2-container + .select2-selection--single + .select2-selection__rendered { + line-height: 30px !important; +} + +.small-input-select2 .select2-container .select2-selection--single, +.small-input-select2 div .select2-container .select2-selection--single { + height: 30px !important; + border: 1px solid #8a96a6 !important; + margin: 3px 2px; +} + +.small-input-select2 .select2-selection__arrow, +.small-input-select2 div .select2-selection__arrow { + top: -1px !important; +} + .break-word { word-wrap: break-word; } diff --git a/pandora_console/install.php b/pandora_console/install.php index b04a20ee94..37018bbb33 100644 --- a/pandora_console/install.php +++ b/pandora_console/install.php @@ -131,7 +131,7 @@
class = 'table_modal_alternate'; $data = []; $data[0] = __('Refresh time'); -$data[1] = html_print_extended_select_for_time( +$data[1] = '
'.html_print_extended_select_for_time( 'refresh', $refresh, '', @@ -175,7 +175,7 @@ $data[1] = html_print_extended_select_for_time( 0, 7, true -); +).'
'; $table->data[] = $data; $table->rowclass[] = ''; @@ -187,7 +187,11 @@ $data[1] = html_print_input_text( '', 15, 255, - true + true, + false, + false, + '', + 'small-input' ); $data[1] .= html_print_image( '/images/calendar_view_day.png', @@ -196,6 +200,7 @@ $data[1] .= html_print_image( 'onclick' => "scwShow(scwID('text-start_date'),this);", 'style' => 'vertical-align: bottom;', 'class' => 'invert_filter', + 'style' => 'vertical-align: middle;', ], false, false, @@ -207,13 +212,24 @@ $table->rowclass[] = ''; $data = []; $data[0] = __('Begin time'); -$data[1] = html_print_input_text('start_time', $start_time, '', 10, 10, true); +$data[1] = html_print_input_text( + 'start_time', + $start_time, + '', + 10, + 10, + true, + false, + false, + '', + 'small-input' +); $table->data[] = $data; $table->rowclass[] = ''; $data = []; $data[0] = __('Time range'); -$data[1] = html_print_extended_select_for_time( +$data[1] = '
'.html_print_extended_select_for_time( 'period', $period, '', @@ -221,7 +237,7 @@ $data[1] = html_print_extended_select_for_time( 0, 7, true -); +).'
'; $table->data[] = $data; $table->rowclass[] = ''; @@ -278,7 +294,10 @@ $form_table .= html_print_submit_button( __('Reload'), 'submit', false, - 'class="sub upd"', + [ + 'class' => 'float-right mini', + 'icon' => 'upd', + ], true ); $form_table .= '
'; diff --git a/pandora_console/operation/agentes/stat_win.php b/pandora_console/operation/agentes/stat_win.php index 07dd78a297..00ba25a8fd 100644 --- a/pandora_console/operation/agentes/stat_win.php +++ b/pandora_console/operation/agentes/stat_win.php @@ -265,7 +265,7 @@ ui_print_message_dialog( ); $table->data[0][0] = __('Refresh time'); - $table->data[0][1] = html_print_extended_select_for_time( + $table->data[0][1] = '
'.html_print_extended_select_for_time( 'refresh', $refresh, '', @@ -273,7 +273,7 @@ ui_print_message_dialog( 0, 7, true - ); + ).'
'; $table->data[0][2] = __('Show events'); $disabled = false; @@ -293,7 +293,11 @@ ui_print_message_dialog( '', 10, 20, - true + true, + false, + false, + '', + 'small-input' ); $table->data[1][2] = __('Show alerts'); @@ -311,7 +315,11 @@ ui_print_message_dialog( '', 10, 10, - true + true, + false, + false, + '', + 'small-input' ); $table->data[2][2] = __('Show unknown graph'); @@ -323,7 +331,7 @@ ui_print_message_dialog( ); $table->data[3][0] = __('Time range'); - $table->data[3][1] = html_print_extended_select_for_time( + $table->data[3][1] = '
'.html_print_extended_select_for_time( 'period', $period, '', @@ -331,7 +339,7 @@ ui_print_message_dialog( 0, 7, true - ); + ).'
'; $table->data[3][2] = ''; $table->data[3][3] = ''; @@ -345,7 +353,7 @@ ui_print_message_dialog( $options[3] = 'x3'; $options[4] = 'x4'; $options[5] = 'x5'; - $table->data[4][1] = html_print_select( + $table->data[4][1] = '
'.html_print_select( $options, 'zoom', $zoom, @@ -355,7 +363,7 @@ ui_print_message_dialog( true, false, false - ); + ).'
'; $table->data[4][2] = __('Show percentil'); $table->data[4][3] = html_print_checkbox_switch( @@ -412,7 +420,11 @@ ui_print_message_dialog( '', 10, 20, - true + true, + false, + false, + '', + 'small-input' ); $table->data[0][2] = __('Begin time'); @@ -422,11 +434,15 @@ ui_print_message_dialog( '', 10, 10, - true + true, + false, + false, + '', + 'small-input' ); $table->data[1][0] = __('Time range'); - $table->data[1][1] = html_print_extended_select_for_time( + $table->data[1][1] = '
'.html_print_extended_select_for_time( 'period', $period, '', @@ -434,7 +450,7 @@ ui_print_message_dialog( 0, 7, true - ); + ).'
'; $table->data[1][2] = __('Time compare (Separated)'); $table->data[1][3] = html_print_checkbox_switch( diff --git a/pandora_console/operation/events/events.php b/pandora_console/operation/events/events.php index 048e6a5c2d..5b54bed451 100644 --- a/pandora_console/operation/events/events.php +++ b/pandora_console/operation/events/events.php @@ -555,13 +555,13 @@ if (is_ajax() === true) { $last_contact_value = ui_print_timestamp($last_contact, true); } else { $title = date($config['date_format'], strtotime($tmp->timestamp)); - $value = human_time_comparation(strtotime($tmp->timestamp), 'large'); + $value = ui_print_timestamp(strtotime($tmp->timestamp), true); $last_contact_value = ''.$value.''; } } else { date_default_timezone_set($user_timezone); $title = date($config['date_format'], strtotime($tmp->timestamp)); - $value = human_time_comparation(strtotime($tmp->timestamp), 'large'); + $value = ui_print_timestamp(strtotime($tmp->timestamp), true); $last_contact_value = ''.$value.''; } diff --git a/pandora_console/operation/inventory/inventory.php b/pandora_console/operation/inventory/inventory.php index a373ad86ea..ba45efe85a 100755 --- a/pandora_console/operation/inventory/inventory.php +++ b/pandora_console/operation/inventory/inventory.php @@ -1158,29 +1158,29 @@ if ($inventory_module !== 'basic') { $id_table = 'id_'.$row['id_module_inventory']; } - $table = ui_print_datatable( - [ - 'id' => $id_table, - 'class' => 'info_table w100p', - 'style' => 'width: 99%', - 'columns' => $columns, - 'column_names' => $columns, - 'no_sortable_columns' => [], - 'data_element' => $data, - 'searching' => true, - 'dom_elements' => 'ftip', - 'order' => [ - 'field' => $columns[0], - 'direction' => 'asc', - ], - 'zeroRecords' => __('No inventory found'), - 'emptyTable' => __('No inventory found'), - 'return' => true, - 'no_sortable_columns' => [], - ] - ); - if ($count_rows > 1) { + $table = ui_print_datatable( + [ + 'id' => $id_table, + 'class' => 'info_table w100p', + 'style' => 'width: 99%', + 'columns' => $columns, + 'column_names' => $columns, + 'no_sortable_columns' => [], + 'data_element' => $data, + 'searching' => true, + 'dom_elements' => 'ftip', + 'order' => [ + 'field' => $columns[0], + 'direction' => 'asc', + ], + 'zeroRecords' => __('No inventory found'), + 'emptyTable' => __('No inventory found'), + 'return' => true, + 'no_sortable_columns' => [], + ] + ); + ui_toggle( $table, array_shift($module_rows)['name'], @@ -1190,7 +1190,25 @@ if ($inventory_module !== 'basic') { false ); } else { - echo $table; + ui_print_datatable( + [ + 'id' => $id_table, + 'class' => 'info_table w100p', + 'style' => 'width: 99%', + 'columns' => $columns, + 'column_names' => $columns, + 'no_sortable_columns' => [], + 'data_element' => $data, + 'searching' => true, + 'order' => [ + 'field' => $columns[0], + 'direction' => 'asc', + ], + 'zeroRecords' => __('No inventory found'), + 'emptyTable' => __('No inventory found'), + 'print_pagination_search_csv' => true, + ] + ); html_print_action_buttons( '', diff --git a/pandora_console/pandora_console.redhat.spec b/pandora_console/pandora_console.redhat.spec index 425e872184..96674d852b 100644 --- a/pandora_console/pandora_console.redhat.spec +++ b/pandora_console/pandora_console.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_console %define version 7.0NG.770 -%define release 230417 +%define release 230418 # User and Group under which Apache is running %define httpd_name httpd diff --git a/pandora_console/pandora_console.rhel7.spec b/pandora_console/pandora_console.rhel7.spec index 72314c9d28..85b88e5835 100644 --- a/pandora_console/pandora_console.rhel7.spec +++ b/pandora_console/pandora_console.rhel7.spec @@ -3,7 +3,7 @@ # %define name pandorafms_console %define version 7.0NG.770 -%define release 230417 +%define release 230418 # User and Group under which Apache is running %define httpd_name httpd diff --git a/pandora_console/pandora_console.spec b/pandora_console/pandora_console.spec index 32ef21ff00..132463d6d0 100644 --- a/pandora_console/pandora_console.spec +++ b/pandora_console/pandora_console.spec @@ -3,7 +3,7 @@ # %define name pandorafms_console %define version 7.0NG.770 -%define release 230417 +%define release 230418 %define httpd_name httpd # User and Group under which Apache is running %define httpd_name apache2 diff --git a/pandora_server/DEBIAN/control b/pandora_server/DEBIAN/control index 6ef2d67f18..1c284f5a45 100644 --- a/pandora_server/DEBIAN/control +++ b/pandora_server/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-server -Version: 7.0NG.770-230417 +Version: 7.0NG.770-230418 Architecture: all Priority: optional Section: admin diff --git a/pandora_server/DEBIAN/make_deb_package.sh b/pandora_server/DEBIAN/make_deb_package.sh index 75033f2320..ee21d6c24a 100644 --- a/pandora_server/DEBIAN/make_deb_package.sh +++ b/pandora_server/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.770-230417" +pandora_version="7.0NG.770-230418" package_cpan=0 package_pandora=1 diff --git a/pandora_server/lib/PandoraFMS/Config.pm b/pandora_server/lib/PandoraFMS/Config.pm index b2b15c5412..336fa45f39 100644 --- a/pandora_server/lib/PandoraFMS/Config.pm +++ b/pandora_server/lib/PandoraFMS/Config.pm @@ -46,7 +46,7 @@ our @EXPORT = qw( # version: Defines actual version of Pandora Server for this module only my $pandora_version = "7.0NG.770"; -my $pandora_build = "230417"; +my $pandora_build = "230418"; our $VERSION = $pandora_version." ".$pandora_build; # Setup hash diff --git a/pandora_server/lib/PandoraFMS/PluginTools.pm b/pandora_server/lib/PandoraFMS/PluginTools.pm index 547bee4167..e24541a276 100644 --- a/pandora_server/lib/PandoraFMS/PluginTools.pm +++ b/pandora_server/lib/PandoraFMS/PluginTools.pm @@ -34,7 +34,7 @@ our @ISA = qw(Exporter); # version: Defines actual version of Pandora Server for this module only my $pandora_version = "7.0NG.770"; -my $pandora_build = "230417"; +my $pandora_build = "230418"; our $VERSION = $pandora_version." ".$pandora_build; our %EXPORT_TAGS = ( 'all' => [ qw() ] ); diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index 04168ecda2..6712c45a53 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_server %define version 7.0NG.770 -%define release 230417 +%define release 230418 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index 4ce44aeb4c..22ab13d3c1 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -4,7 +4,7 @@ %global __os_install_post %{nil} %define name pandorafms_server %define version 7.0NG.770 -%define release 230417 +%define release 230418 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer index 0113046258..47376a7787 100755 --- a/pandora_server/pandora_server_installer +++ b/pandora_server/pandora_server_installer @@ -9,7 +9,7 @@ # ********************************************************************** PI_VERSION="7.0NG.770" -PI_BUILD="230417" +PI_BUILD="230418" MODE=$1 if [ $# -gt 1 ]; then diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl index ca5083da71..8b1e46c210 100755 --- a/pandora_server/util/pandora_db.pl +++ b/pandora_server/util/pandora_db.pl @@ -35,7 +35,7 @@ use PandoraFMS::Config; use PandoraFMS::DB; # version: define current version -my $version = "7.0NG.770 Build 230417"; +my $version = "7.0NG.770 Build 230418"; # Pandora server configuration my %conf; diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl index d4293d9edf..973691c42b 100755 --- a/pandora_server/util/pandora_manage.pl +++ b/pandora_server/util/pandora_manage.pl @@ -36,7 +36,7 @@ use Encode::Locale; Encode::Locale::decode_argv; # version: define current version -my $version = "7.0NG.770 Build 230417"; +my $version = "7.0NG.770 Build 230418"; # save program name for logging my $progname = basename($0);