$id_layout)); $result = db_process_sql_delete ('tlayout', array ('id' => $id_layout)); if ($result) { echo '

'.__('Successfully deleted').'

'; db_clean_cache(); } else { echo '

'.__('Not deleted. Error deleting data').'

'; } $id_layout = 0; } if ($copy_layout) { // Number of inserts $ninsert = (int) 0; // Return from DB the source layout $layout_src = db_get_all_rows_filter ("tlayout","id = " . $id_layout); // Name of dst $name_dst = get_parameter ("name_dst", $layout_src[0]['name'] . " copy"); // Create the new Console $idGroup = $layout_src[0]['id_group']; $background = $layout_src[0]['background']; $height = $layout_src[0]['height']; $width = $layout_src[0]['width']; $visualConsoleName = $name_dst; $values = array('name' => $visualConsoleName, 'id_group' => $idGroup, 'background' => $background, 'height' => $height, 'width' => $width); $result = db_process_sql_insert('tlayout', $values); $idNewVisualConsole = $result; if($result) { $ninsert = 1; // Return from DB the items of the source layout $data_layout_src = db_get_all_rows_filter ("tlayout_data", "id_layout = " . $id_layout); if(!empty($data_layout_src)) { //By default the id parent 0 is always 0. $id_relations = array(0 => 0); for ($a=0; $a < count($data_layout_src); $a++) { // Changing the source id by the new visual console id $data_layout_src[$a]['id_layout'] = $idNewVisualConsole; $old_id = $data_layout_src[$a]['id']; // Unsetting the source's id unset($data_layout_src[$a]['id']); // Configure the cloned Console $result = db_process_sql_insert('tlayout_data', $data_layout_src[$a]); $id_relations[$old_id] = 0; if ($result !== false) { $id_relations[$old_id] = $result; } if($result) $ninsert++; }// for each item of console $inserts = count($data_layout_src) + 1; // If the number of inserts is correct, the copy is completed if ($ninsert == $inserts) { //Update the ids of parents $items = db_get_all_rows_filter ("tlayout_data", "id_layout = " . $idNewVisualConsole); foreach ($items as $item) { $new_parent = $id_relations[$item['parent_item']]; db_process_sql_update('tlayout_data', array('parent_item' => $new_parent), array('id' => $item['id'])); } echo '

'.__('Successfully copied').'

'; db_clean_cache(); } else { echo '

'.__('Not copied. Error copying data').'

'; } } else{ // If the array is empty the copy is completed echo '

'.__('Successfully copied').'

'; db_clean_cache(); } } else { echo '

'.__('Not copied. Error copying data').'

'; } } $table->width = '98%'; $table->data = array (); $table->head = array (); $table->head[0] = __('Map name'); $table->head[1] = __('Group'); $table->head[2] = __('Items'); $table->head[3] = __('Copy'); $table->head[4] = __('Delete'); $table->align = array (); $table->align[1] = 'center'; $table->align[2] = 'center'; $table->align[3] = 'center'; $table->align[4] = 'center'; // Only display maps of "All" group if user is administrator or has "PM" privileges, otherwise show only maps of user group $own_info = get_user_info ($config['id_user']); if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "PM")) $maps = visual_map_get_user_layouts (); else $maps = visual_map_get_user_layouts ($config['id_user'], false, false, false); if (!$maps) { echo '
'.('No maps defined').'
'; } else { foreach ($maps as $map) { if (check_acl ($config['id_user'], $map['id_group'], "IW")) { $data = array (); $data[0] = ''.$map['name'].''; $data[1] = ui_print_group_icon ($map['id_group'], true); $data[2] = db_get_sql ("SELECT COUNT(*) FROM tlayout_data WHERE id_layout = ".$map['id']); $data[3] = ''.html_print_image ("images/copy.png", true).''; $data[4] = ''.html_print_image ("images/cross.png", true).''; array_push ($table->data, $data); } } html_print_table ($table); } if (!$maps) { echo '
'; } else { echo '
'; } echo '
'; html_print_input_hidden ('edit_layout', 1); html_print_submit_button (__('Create'), '', false, 'class="sub next"'); echo '
'; echo '
'; ?>