Exemplo n.º 1
0
 /**
  * Updating a given space override.
  *
  * type: PUT
  * values: {
  *  vsite: 2,
  *  object_id: os_pages-page-581,
  *  blocks: [
  *    os_search_db-site-search: [
  *      region: "sidebar_first"
  *    ]
  *  ]
  * }
  */
 public function updateSpace()
 {
     // Check group access.
     $this->checkGroupAccess();
     // Validate the object from the request.
     $this->validate();
     // Set up the blocks layout.
     ctools_include('layout', 'os');
     $blocks = os_layout_get($this->object->object_id, FALSE, FALSE, $this->space);
     foreach ($blocks as $delta => $block) {
         if (empty($this->object->blocks[$delta])) {
             continue;
         }
         $blocks[$delta] = array_merge($blocks[$delta], $this->object->blocks[$delta]);
     }
     os_layout_set($this->object->object_id, $blocks, $this->space);
     return $blocks;
 }
Exemplo n.º 2
0
 /**
  * Delete a specific box.
  *
  * type: DELETE
  * values: {
  *  vsite: 2,
  *  delta: 1419335380,
  *  context: blogs_blogs
  * }
  */
 public function deleteSpace()
 {
     // Check group access.
     $this->checkGroupAccess();
     ctools_include('layout', 'os');
     $delta = $this->object->delta;
     $blocks = os_layout_get($this->object->context, FALSE, FALSE, $this->space);
     $this->space->controllers->boxes->del($delta);
     unset($blocks['boxes-' . $delta]);
     os_layout_set($this->object->context, $blocks, $this->space);
 }