/** * @param array $widgets * @return boolean */ public static function updateWidgets($sidebar, $widgets) { $sidebar = self::findById($sidebar->id); $objectData = $sidebar->generateObjectFromJson(); // Clear all existing mappings $objectData->widgets = []; // Add Widgets if (isset($widgets) && count($widgets) > 0) { foreach ($widgets as $widget) { if (isset($widget->widget) && $widget->widget) { if (!isset($widget->order) || strlen($widget->order) == 0) { $widget->order = 0; } $objectData->widgets[] = $widget; } } } $objectData->widgets = SortUtil::sortObjectArrayByNumber($objectData->widgets, 'order', true); $sidebar->generateJsonFromObject($objectData); $sidebar->update(); return true; }
public static function updateLinks($menu, $links, $pageLinks) { $menu = self::findById($menu->id); $objectData = $menu->generateObjectFromJson(); // Clear all existing mappings $objectData->links = []; // Add Links if (isset($links) && count($links) > 0) { foreach ($links as $link) { if (isset($link)) { $link->type = CmsGlobal::TYPE_LINK; if (!isset($link->order) || strlen($link->order) == 0) { $link->order = 0; } $objectData->links[] = $link; } } } // Add Page Links if (isset($pageLinks) && count($pageLinks) > 0) { foreach ($pageLinks as $link) { if (isset($link->link) && $link->link) { $link->type = CmsGlobal::TYPE_PAGE; if (!isset($link->order) || strlen($link->order) == 0) { $link->order = 0; } $objectData->links[] = $link; } } } $objectData->links = SortUtil::sortObjectArrayByNumber($objectData->links, 'order', true); $menu->generateJsonFromObject($objectData); $menu->update(); return true; }