meraproject/module/ms/dashboard/controller.php
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

59 lines
1.5 KiB
PHP

<?
namespace controller\ms\dashboard;
use ms\Dashboard;
use ms\ms\structure\msControllerTable;
use ms\Widget;
class Api extends msControllerTable {
static $class = 'ms\Dashboard';
static function getMyList(){
echo Dashboard::getMyList();
}
static function render(){
$id = $_POST['id'];
if($C = Dashboard::isMy($id)) {
echo Dashboard::renderDashboard($C);
}
}
static function addWidget(){
$id = $_POST['id'];
if($C = Dashboard::isMy($id)) {
$values = [
Widget::$TYPE => intval($_POST['type']),
Widget::$X => intval($_POST['x']),
Widget::$Y => intval($_POST['y']),
Widget::$COLS => intval($_POST['cols']),
Widget::$ROWS => intval($_POST['rows']),
Widget::$DASHBOARD => intval($id),
];
Dashboard::addWidget($id,$values);
}
}
static function updateWidgetsPos(){
$id = $_POST['id'];
if($C = Dashboard::isMy($id)) {
$a = Widget::getByIDS($_POST['pos']);
$ids = [];
foreach ($a as $k=>$v){
if(Widget::isMy($v[Widget::$ID])){
$ids[] = $v[Widget::$ID];
}
}
foreach ($_POST['pos'] as $k=>$v){
if(in_array($v,$ids)){
Widget::updateById($v,[Widget::$POS=>intval($k)]);
}
}
}
}
}