Пример #1
0
function updateDashboard()
{
    global $tool, $propertyForm;
    $enabledWidgets = $_POST['list'];
    $curUser = new DashboardUsers($_SESSION['userid']);
    $userWidgets = $curUser->get_users_widgets();
    $update = true;
    //Remove all the non existing widgets
    foreach ($userWidgets as $widgetID => $userID) {
        $exists = false;
        foreach ($enabledWidgets as $id => $enabledID) {
            if ($widgetID == $enabledID) {
                $exists = true;
                break;
            }
        }
        if (!$exists) {
            $curUser->set_widget_id($widgetID);
            $curUser->remove_widget();
        }
    }
    //insert the enabled widgets
    foreach ($enabledWidgets as $postID => $enabledID) {
        $exists = false;
        foreach ($userWidgets as $widgetID => $userID) {
            if ($enabledID == $widgetID) {
                $exists = true;
                break;
            }
        }
        if (!$exists) {
            $freePos = false;
            $posX = 0;
            $posY = 0;
            if (!empty($userWidgets)) {
                while ($freePos == false) {
                    foreach ($userWidgets as $widgetID => $userID) {
                        $widPosX = $curUser->get_position_x($widgetID);
                        $widPosY = $curUser->get_position_y($widgetID);
                        if ($widPosX == $posX && $widPosY == $posY) {
                            $freePos = false;
                            break;
                        } else {
                            $freePos = true;
                        }
                    }
                    if (!$freePos) {
                        $posX++;
                        if ($posX == 3) {
                            $posX = 0;
                            $posY++;
                        }
                        if ($posY > 999) {
                            break;
                        }
                    }
                }
            }
            $curUser->set_position_x($posX);
            $curUser->set_position_y($posY);
            $curUser->set_widget_id($enabledID);
            if ($curUser->insert_widget()) {
                $update = true;
            } else {
                $update = false;
                $error = $curUser->get_error();
            }
        }
    }
    //final check, Too glitchy for now
    /*foreach ($userWidgets as $widgetID=> $userID)
    	{
    		checkPosition($widgetID);
    	}*/
    if ($update) {
        $status = "success";
        echo "<script language='javascript'>LoadPage(\"userSettings.php?action=widgetsManagement&mode=edit&update=" . $status . "\", 'settingsInfo');</script>";
    } else {
        $propertyForm->warning("Warning: Failed to enable widgets. Reason: " . $error);
    }
}
Пример #2
0
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);
    }
}