insert() public static method

Insert a group and a setting
public static insert ( array $group, array $setting )
$group array The group to insert.
$setting array The setting to insert.
Esempio n. 1
0
 /**
  * Insert the widgets
  *
  * @param \SpoonFormElement[] $widgetPresets The widgets presets.
  */
 private function insertWidgets($widgetPresets)
 {
     // loop through all widgets
     foreach ($this->widgetInstances as $widget) {
         if (!BackendModel::isModuleInstalled($widget['module'])) {
             continue;
         }
         // create instance
         $instance = new $widget['className']($this->getKernel());
         // execute instance
         $instance->execute();
         // create module array if no existence
         if (!isset($this->dashboardSequence[$widget['module']])) {
             $this->dashboardSequence[$widget['module']] = array();
         }
         // create dashboard sequence
         $this->dashboardSequence[$widget['module']] += array($widget['widget'] => array('column' => $instance->getColumn(), 'position' => (int) $instance->getPosition(), 'hidden' => false, 'present' => false));
         // loop through selected widgets
         foreach ($widgetPresets as $preset) {
             // if selected
             if ($preset->getChecked()) {
                 // get the preset module name
                 $presetModule = str_replace('widgets_', '', str_replace($widget['widget'], '', $preset->getName()));
                 // if the preset module name matches the widget module name
                 if ($presetModule == $widget['module']) {
                     // remove widgets_[modulename] prefix
                     $selected = str_replace('widgets_' . $widget['module'], '', $preset->getName());
                     // if right widget set visible
                     if ($selected == $widget['widget']) {
                         $this->dashboardSequence[$widget['module']][$widget['widget']]['present'] = true;
                     }
                 }
             }
         }
     }
     // build group
     $group['name'] = $this->frm->getField('name')->getValue();
     // build setting
     $setting['name'] = 'dashboard_sequence';
     $setting['value'] = serialize($this->dashboardSequence);
     // insert group and settings
     $group['id'] = BackendGroupsModel::insert($group, $setting);
     return $group;
 }
Esempio n. 2
0
 /**
  * Insert the widgets
  *
  * @param \SpoonFormElement[] $widgetPresets The widgets presets.
  *
  * @return mixed
  */
 private function insertWidgets($widgetPresets)
 {
     // empty dashboard sequence
     $this->hiddenOnDashboard = array();
     // loop through all widgets
     foreach ($this->widgetInstances as $widget) {
         if (!BackendModel::isModuleInstalled($widget['module'])) {
             continue;
         }
         foreach ($widgetPresets as $preset) {
             if ($preset->getAttribute('id') !== 'widgets' . $widget['module'] . $widget['widget']) {
                 continue;
             }
             if (!$preset->getChecked()) {
                 if (!isset($this->hiddenOnDashboard[$widget['module']])) {
                     $this->hiddenOnDashboard[$widget['module']] = array();
                 }
                 $this->hiddenOnDashboard[$widget['module']][] = $widget['widget'];
             }
         }
     }
     // build group
     $userGroup['name'] = $this->frm->getField('name')->getValue();
     // build setting
     $setting['name'] = 'hidden_on_dashboard';
     $setting['value'] = serialize($this->hiddenOnDashboard);
     // insert group
     $userGroup['id'] = BackendGroupsModel::insert($userGroup, $setting);
     return $userGroup;
 }