当前位置: 首页>>代码示例>>PHP>>正文


PHP WidgetsList::getWidgetUniqueId方法代码示例

本文整理汇总了PHP中Piwik\WidgetsList::getWidgetUniqueId方法的典型用法代码示例。如果您正苦于以下问题:PHP WidgetsList::getWidgetUniqueId方法的具体用法?PHP WidgetsList::getWidgetUniqueId怎么用?PHP WidgetsList::getWidgetUniqueId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Piwik\WidgetsList的用法示例。


在下文中一共展示了WidgetsList::getWidgetUniqueId方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: replaceDashboardWidgets

 /**
  * Replaces widgets on the given dashboard layout with other ones
  *
  * It uses the given widget definitions to find the old and to create the new widgets
  * Each widget is defined with an array containing the following information
  * array (
  *      'module' => string
  *      'action' => string
  *      'params' => array()
  * )
  *
  * if $newWidget does not contain a widget definition at the current position,
  * the old widget will simply be removed
  *
  * @param array $oldWidgets array containing widget definitions
  * @param array $newWidgets array containing widget definitions
  */
 public static function replaceDashboardWidgets($dashboardLayout, $oldWidgets, $newWidgets)
 {
     if (empty($dashboardLayout) || !isset($dashboardLayout->columns)) {
         return $dashboardLayout;
     }
     $newColumns = array();
     foreach ($dashboardLayout->columns as $id => $column) {
         $newColumn = array();
         foreach ($column as $widget) {
             foreach ($oldWidgets as $pos => $oldWidgetData) {
                 $oldWidgetId = WidgetsList::getWidgetUniqueId($oldWidgetData['module'], $oldWidgetData['action'], $oldWidgetData['params']);
                 if (empty($newWidgets[$pos])) {
                     continue 2;
                 }
                 $newWidget = $newWidgets[$pos];
                 if ($widget->uniqueId == $oldWidgetId) {
                     $newWidgetId = WidgetsList::getWidgetUniqueId($newWidget['module'], $newWidget['action'], $newWidget['params']);
                     // is new widget already is on dashboard just remove the old one
                     if (self::layoutContainsWidget($dashboardLayout, $newWidgetId)) {
                         continue 2;
                     }
                     $widget->uniqueId = $newWidgetId;
                     $widget->parameters->module = $newWidget['module'];
                     $widget->parameters->action = $newWidget['action'];
                     foreach ($newWidget['params'] as $key => $value) {
                         $widget->parameters->{$key} = $value;
                     }
                 }
             }
             $newColumn[] = $widget;
         }
         $newColumns[] = $newColumn;
     }
     $dashboardLayout->columns = $newColumns;
     return $dashboardLayout;
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:53,代码来源:Model.php


注:本文中的Piwik\WidgetsList::getWidgetUniqueId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。