$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 '