コード例 #1
0
 /**
  * Creating a space override.
  *
  * type: POST
  * values: {
  *  vsite: 2,
  *  object_id: os_pages-page-581,
  *  boxes: [
  *    boxes-1419335380: [
  *      module: "boxes",
  *      delta: "1419335380",
  *      region: "sidebar_second",
  *      weight: 2,
  *      status: 0
  *    ]
  *  ]
  * }
  */
 public function createSpace()
 {
     // Check group access.
     $this->checkGroupAccess();
     // Validate the object from the request.
     $this->validate();
     if (!isset($this->object->blocks['os_pages-main_content'])) {
         // When creating the layout override we need the page content.
         $this->object->blocks['os_pages-main_content'] = array('module' => "os_pages", 'delta' => "main_content", 'region' => "content_top");
     }
     // Set up the blocks layout.
     ctools_include('layout', 'os');
     os_layout_set($this->object->object_id, $this->object->blocks, $this->space);
     return $this->object->blocks;
 }
コード例 #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);
 }