function checkPosition($widgetID) { $curUser = new DashboardUsers($_SESSION['userid']); $userWidgets = $curUser->get_users_widgets(); $curWidPosX = $curUser->get_position_x($widgetID); $curWidPosY = $curUser->get_position_y($widgetID); foreach ($userWidgets as $widgetID2 => $userID2) { if ($widgetID != $widgetID2) { $compWidPosX = $curUser->get_position_x($widgetID2); $compWidPosY = $curUser->get_position_y($widgetID2); if ($curWidPosX == $compWidPosX && $curWidPosY == $compWidPosY) { $curUser->set_widget_id($widgetID2); $newX = $compWidPosX + 1; $newY = $compWidPosY; if ($newX >= 3) { $newX = 0; $newY++; } $curUser->set_position_x($newX); $curUser->set_position_y($newY); $curUser->update_widget(); checkPosition($widgetID2); } } } }
<?php include_once "sessionCheck.php"; $user = $_SESSION['userid']; $curUser = new DashboardUsers($user); if (isset($_POST['p'])) { $newPos = $_POST['p']; foreach ($newPos as $posY => $widgetID) { $curUser->set_widget_id($widgetID); $curUser->set_position_y($posY); if (isset($_POST['action'])) { $newCol = $_POST['action']; switch ($newCol) { case 'col1': $curUser->set_position_x(0); break; case 'col2': $curUser->set_position_x(1); break; case 'col3': $curUser->set_position_x(2); break; } if (!$curUser->update_widget()) { echo $curUser->get_error(); } } } }
function updateDashboard() { global $tool, $propertyForm; $enabledWidgets = $_POST['list']; //print_r($enabledWidgets); $curUser = new DashboardUsers($_SESSION['userid']); $widgets = Widgets::get_widgets(); $update = true; foreach ($widgets as $id => $value) { $isEnabled = false; $curWidget = new Widgets($id); foreach ($enabledWidgets as $eID => $eValue) { if ($id == $eValue) { $curWidget->set_enabled(true); $isEnabled = true; } } if (!$isEnabled) { $curWidget->set_enabled(false); $curUser->set_widget_id($id); $curUser->remove_widget(); } if ($curWidget->update_widget()) { $update = true; } else { $update = false; $error = $curWidget->get_error(); break; } } if ($update) { $status = "success"; echo "<script language='javascript'>LoadPage(\"configurations.php?action=dashWidgets&mode=edit&update=" . $status . "\", 'settingsInfo');</script>"; } else { $propertyForm->error("Warning: Failed to enable widgets. Reason: " . $error); } }