diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 6046675fbc..50aef13cd3 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,18 @@ +2012-08-17 Miguel de Dios + + * godmode/users/configure_user.php: fixed when the metaconsole is + not set. + + * godmode/reporting/reporting_builder.php: cleaned source code + style. + + * include/functions_reports.php: fixed into the function + "reports_get_reports" to get reports in All group for users of + others groups. + + * include/functions_api.php: fixed the confused error messages when + there is data events. + 2012-08-17 Sergio Martin * include/javascript/pandora_modules.js diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php index efeba450ec..c5a5ebaf04 100644 --- a/pandora_console/godmode/reporting/reporting_builder.php +++ b/pandora_console/godmode/reporting/reporting_builder.php @@ -137,26 +137,28 @@ switch ($action) { case 'delete_items': $resultOperationDB = null; $ids_serialize = (string)get_parameter('ids_items_to_delete', ''); - + if (!empty($ids_serialize)) { $sql = "DELETE FROM treport_content WHERE id_rc IN ($ids_serialize)"; $resultOperationDB = db_process_sql($sql); - } else { + } + else { $resultOperationDB = false; } - + break; case 'delete_items_pos': $resultOperationDB = null; $position_to_delete = (int)get_parameter('position_to_delete', 1); $pos_delete = (string)get_parameter('delete_m', 'below'); - + $countItems = db_get_sql('SELECT COUNT(id_rc) FROM treport_content WHERE id_report = ' . $idReport); - + if (($countItems < $position_to_delete) || ($position_to_delete < 1)) { $resultOperationDB = false; - } else { + } + else { $sql = "SELECT id_rc FROM treport_content WHERE id_report=$idReport ORDER BY '`order`'"; $items = db_get_all_rows_sql($sql); switch ($pos_delete) { @@ -187,7 +189,7 @@ switch ($action) { } break; } - } + } break; case 'delete_report': case 'list': @@ -195,22 +197,23 @@ switch ($action) { 'list_reports' => array('active' => false, 'text' => '' . html_print_image("images/god6.png", true, array ("title" => __('Main'))) .'') - ); - + ); + if ($enterpriseEnable){ $buttons = reporting_enterprise_add_main_Tabs($buttons); } $subsection = ''; - switch ($activeTab){ - - case 'main': $buttons['list_reports']['active'] = true; - $subsection = ' » '.__('Custom reporting'); - break; - default: $subsection = reporting_enterprise_add_subsection_main($activeTab, $buttons); - break; + switch ($activeTab) { + case 'main': + $buttons['list_reports']['active'] = true; + $subsection = ' » '.__('Custom reporting'); + break; + default: + $subsection = reporting_enterprise_add_subsection_main($activeTab, $buttons); + break; } - + // Report LIST ui_print_page_header (__('Reporting').' » '.__('Custom reporting'), "images/reporting.png", false, "",false, $buttons); @@ -220,17 +223,17 @@ switch ($action) { db_pandora_audit("Report management", "Delete report #$idReport"); else db_pandora_audit("Report management", "Fail try to delete report #$idReport"); - + ui_print_result_message ($result, __('Successfully deleted'), __('Could not be deleted')); } - + $id_group = (int) get_parameter ("id_group", 0); $search = trim(get_parameter ("search", "")); $search_sql = ''; - if ($search != ""){ + if ($search != "") { $search_name = "%$search%' OR description LIKE '%$search%"; } @@ -242,9 +245,9 @@ switch ($action) { $table_aux->data[0][2] = "". __("Free text for search: ") . ""; $table_aux->data[0][3] = html_print_input_text ("search", $search, '', 30, '', true); - + $table_aux->data[0][6] = html_print_submit_button(__('Search'), 'search_submit', false, 'class="sub upd"', true); - + echo "
"; html_print_table($table_aux); @@ -254,12 +257,13 @@ switch ($action) { ui_require_jquery_file ('ajaxqueue'); ui_require_jquery_file ('bgiframe'); ui_require_jquery_file ('autocomplete'); - - - // Show only selected groups + + + // Show only selected groups if ($id_group > 0) { $group = array("$id_group" => $id_group); - } else { + } + else { $group = false; } @@ -273,14 +277,16 @@ switch ($action) { 'name' => $search_name, 'order' => 'name' ); - } else { + } + else { $filter = array ( 'order' => 'name' ); - } - + } + $reports = reports_get_reports ($filter, - array ('name', 'id_report', 'description', 'private', 'id_user', 'id_group'), $return_all_group, 'IR', $group); + array ('name', 'id_report', 'description', 'private', + 'id_user', 'id_group'), $return_all_group, 'IR', $group); $table->width = '0px'; if (sizeof ($reports)) { $table->id = 'report_list'; @@ -332,7 +338,7 @@ switch ($action) { if (check_acl ($config["id_user"], $report["id_group"], "AW")) { $data[0] = ''.$report['name'].''; + $report['id_report'].'">'.$report['name'].''; } else { $data[0] = $report['name']; @@ -991,26 +997,26 @@ switch ($action) { 'list_reports' => array('active' => false, 'text' => '' . html_print_image("images/god6.png", true, array ("title" => __('Main'))) .'') - ); - + ); + $buttons = reporting_enterprise_add_main_Tabs($buttons); - + $subsection = ''; - switch ($activeTab){ - - case 'main': $buttons['list_reports']['active'] = true; - $subsection = ' » '.__('Custom reporting'); - break; - default: $subsection = reporting_enterprise_add_subsection_main($activeTab, $buttons); - break; + switch ($activeTab) { + case 'main': + $buttons['list_reports']['active'] = true; + $subsection = ' » '.__('Custom reporting'); + break; + default: + $subsection = reporting_enterprise_add_subsection_main($activeTab, $buttons); + break; } - + // Report LIST ui_print_page_header (__('Reporting') . $subsection, "images/reporting_edit.png", false, "", true, $buttons); - - reporting_enterprise_select_main_tab($action); + + reporting_enterprise_select_main_tab($action); } - return; break; } @@ -1040,7 +1046,7 @@ if ($enterpriseEnable) { $buttons['view'] = array('active' => false, 'text' => '' . - html_print_image("images/reporting.png", true, array ("title" => __('View report'))) .''); + html_print_image("images/reporting.png", true, array ("title" => __('View report'))) .''); $buttons[$activeTab]['active'] = true; @@ -1075,5 +1081,4 @@ switch ($activeTab) { reporting_enterprise_select_tab($activeTab); break; } - -?> +?> \ No newline at end of file diff --git a/pandora_console/godmode/users/configure_user.php b/pandora_console/godmode/users/configure_user.php index b14dd27d1a..234d5b7802 100644 --- a/pandora_console/godmode/users/configure_user.php +++ b/pandora_console/godmode/users/configure_user.php @@ -48,7 +48,7 @@ if (! check_acl ($config['id_user'], 0, "UM")) { if (!check_refererer()) { require ("general/noaccess.php"); - return; + return; } $tab = get_parameter('tab', 'user'); @@ -62,7 +62,7 @@ $buttons = array( 'active' => false, 'text' => '' . html_print_image ("images/profiles.png", true, array ("title" => __('Profile management'))) .'')); - + $buttons[$tab]['active'] = true; // Header @@ -84,7 +84,8 @@ $update_user = (bool) get_parameter ('update_user'); $status = get_parameter ('status', -1); // Reset status var if current action is not update_user -if ($new_user || $create_user || $add_profile || $delete_profile || $update_user){ +if ($new_user || $create_user || $add_profile || + $delete_profile || $update_user) { $status = -1; } @@ -184,13 +185,13 @@ if ($create_user) { if ($result) { $res = db_process_sql('/INSERT INTO tpassword_history (id_user, password, date_begin) VALUES (\'' . $id . '\',\'' . md5($password_new) . '\',\'' . date ("Y/m/d H:i:s", get_system_time()) . '\')'); } - break; + break; } - - + + db_pandora_audit("User management", "Created user ".io_safe_input($id), false, false, $info); - + ui_print_result_message ($result, __('Successfully created'), __('Could not be created')); @@ -225,7 +226,7 @@ if ($update_user) { } $values['block_size'] = get_parameter ('block_size', $config["block_size"]); $values['flash_chart'] = get_parameter ('flash_charts', $config["flash_charts"]); - + if(enterprise_installed()) { $values['metaconsole_access'] = get_parameter ('metaconsole_access'); } @@ -284,7 +285,7 @@ if ($update_user) { db_pandora_audit("User management", "Updated user ".io_safe_input($id), false, false, $info); - + ui_print_result_message ($res1, __('User info successfully updated'), __('Error updating user info (no change?)')); @@ -328,7 +329,7 @@ if ($delete_profile) { db_pandora_audit("User management", "Deleted profile for user ".io_safe_input($id2), false, false, 'The profile with id ' . $id_perfil . ' in the group ' . $perfilUser['id_grupo']); - + $return = profile_delete_user_profile ($id2, $id_up); ui_print_result_message ($return, __('Successfully deleted'), @@ -399,7 +400,7 @@ if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "PM")) else $display_all_group = false; -if ($new_user) { +if ($new_user) { $usr_groups = (users_get_groups($config['id_user'], 'AR', $display_all_group)); $id_usr = $config['id_user']; } @@ -409,7 +410,7 @@ else { } // User only can change skins if has more than one group -if (count($usr_groups) > 1){ +if (count($usr_groups) > 1) { if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) { $table->data[10][0] = __('Skin'); $table->data[10][1] = skins_print_select($id_usr,'skin', $user_info['id_skin'], '', __('None'), 0, true); @@ -422,18 +423,24 @@ $table->data[11][1] = html_print_select($values, 'flash_charts', $user_info["fla $table->data[12][0] = __('Block size for pagination'); $table->data[12][1] = html_print_input_text ('block_size', $user_info["block_size"], '', 5, 5, true); -if($id == $config['id_user']) { +if ($id == $config['id_user']) { $table->data[12][1] .= html_print_input_hidden('quick_language_change', 1, true); } -if(enterprise_installed()) { +if (enterprise_installed()) { + $user_info_metaconsole_access = 'only_console'; + if (isset($user_info["metaconsole_access"])) { + $user_info_metaconsole_access = $user_info["metaconsole_access"]; + } $table->data[12][0] = __('Metaconsole access'); $metaconsole_accesses = array('only_console' => __('No access'), - 'basic' => __('Basic (Only Metaconsole)'), - 'advanced' => __('Advanced (Only Metaconsole)'), - //'custom' => __('Custom access (Only Metaconsole)'), - 'all' => __('Full (Metaconsole and normal console)')); - $table->data[12][1] = html_print_select($metaconsole_accesses,'metaconsole_access',$user_info["metaconsole_access"],'','',-1,true, false, false); + 'basic' => __('Basic (Only Metaconsole)'), + 'advanced' => __('Advanced (Only Metaconsole)'), + //'custom' => __('Custom access (Only Metaconsole)'), + 'all' => __('Full (Metaconsole and normal console)')); + $table->data[12][1] = html_print_select($metaconsole_accesses, + 'metaconsole_access', $user_info_metaconsole_access, + '','',-1,true, false, false); } echo ''; @@ -442,7 +449,7 @@ html_print_table ($table); echo '
'; if ($new_user) { - if ($config['admin_can_add_user']){ + if ($config['admin_can_add_user']) { html_print_input_hidden ('create_user', 1); html_print_submit_button (__('Create'), 'crtbutton', false, 'class="sub wand"'); } @@ -461,7 +468,7 @@ echo '
'; if (empty ($id) || $new_user) return; -echo '

'.__('Profiles/Groups assigned to this user').'

'; +echo '

'. __('Profiles/Groups assigned to this user') . '

'; $table->width = '98%'; $table->data = array (); @@ -507,33 +514,30 @@ foreach ($result as $profile) { array_push ($table->data, $data); } - $data = array (); - - $data[0] = ''; - if (check_acl ($config['id_user'], 0, "PM")) { - $data[0] .= html_print_select (profile_get_profiles (), 'assign_profile', 0, '', - __('None'), 0, true, false, false); - } - else { - $data[0] .= html_print_select (profile_get_profiles (array ('pandora_management' => '<> 1', - 'db_management' => '<> 1')), 'assign_profile', 0, '', __('None'), 0, - true, false, false); - } - - $data[1] = html_print_select_groups($config['id_user'], "UM", - $own_info['is_admin'], 'assign_group', -1, '', __('None'), -1, true, - false, false); - - $data[2] = html_print_input_image ('add', 'images/add.png', 1, '', true); - $data[2] .= html_print_input_hidden ('id', $id, true); - $data[2] .= html_print_input_hidden ('add_profile', 1, true); - $data[2] .= ''; +$data = array (); + +$data[0] = '
'; +if (check_acl ($config['id_user'], 0, "PM")) { + $data[0] .= html_print_select (profile_get_profiles (), 'assign_profile', 0, '', + __('None'), 0, true, false, false); +} +else { + $data[0] .= html_print_select (profile_get_profiles (array ('pandora_management' => '<> 1', + 'db_management' => '<> 1')), 'assign_profile', 0, '', __('None'), 0, + true, false, false); +} + +$data[1] = html_print_select_groups($config['id_user'], "UM", + $own_info['is_admin'], 'assign_group', -1, '', __('None'), -1, true, + false, false); + +$data[2] = html_print_input_image ('add', 'images/add.png', 1, '', true); +$data[2] .= html_print_input_hidden ('id', $id, true); +$data[2] .= html_print_input_hidden ('add_profile', 1, true); +$data[2] .= '
'; array_push ($table->data, $data); html_print_table ($table); - - unset ($table); - -?> +?> \ No newline at end of file diff --git a/pandora_console/include/functions_api.php b/pandora_console/include/functions_api.php index 68f6aaa56e..c4e195b9fb 100644 --- a/pandora_console/include/functions_api.php +++ b/pandora_console/include/functions_api.php @@ -4987,8 +4987,9 @@ function get_events_with_user($trash1, $trash2, $other, $returnType, $user_in_db $data['data'] = $result; returnData($returnType, $data, $separator); - - return; + if (empty($result)) + return false; + return true; } /** @@ -5001,9 +5002,10 @@ function get_events_with_user($trash1, $trash2, $other, $returnType, $user_in_db */ function api_get_events($trash1, $trash2, $other, $returnType, $user_in_db = null) { if ($user_in_db !== null) { - get_events_with_user($trash1, $trash2, $other, $returnType, $user_in_db); + $correct = get_events_with_user($trash1, $trash2, $other, $returnType, $user_in_db); + $last_error = error_get_last(); - if (!empty($last_error)) { + if (!$correct && !empty($last_error)) { $errors = array(E_ERROR, E_WARNING, E_USER_ERROR, E_USER_WARNING); if (in_array($last_error['type'], $errors)) { diff --git a/pandora_console/include/functions_reports.php b/pandora_console/include/functions_reports.php index 9d790f8411..a917cb3124 100644 --- a/pandora_console/include/functions_reports.php +++ b/pandora_console/include/functions_reports.php @@ -83,22 +83,27 @@ function reports_get_reports ($filter = false, $fields = false, $returnAllGroup $reports = array (); $all_reports = @db_get_all_rows_filter ('treport', $filter, $fields); + if (empty($all_reports)) $all_reports = array(); if ($group) { $groups = $group; - } else { + } + else { //Recheck in all reports if the user have permissions to see each report. $groups = users_get_groups ($config['id_user'], $privileges, $returnAllGroup); } - + foreach ($all_reports as $report) { - if (!in_array($report['id_group'], array_keys($groups))) - continue; - if ($config['id_user'] != $report['id_user'] - && ! check_acl ($config['id_user'], $report['id_group'], 'AR')) - continue; + //If the report is not in all group. + if ($report['id_group'] != 0) { + if (!in_array($report['id_group'], array_keys($groups))) + continue; + if ($config['id_user'] != $report['id_user'] + && ! check_acl ($config['id_user'], $report['id_group'], 'AR')) + continue; + } array_push ($reports, $report); }