You are here

tb_megamenu.ajax.inc in The Better Mega Menu 7

File

tb_megamenu.ajax.inc
View source
<?php

function tb_megamenu_request() {
  $action = isset($_POST['action']) ? $_POST['action'] : NULL;
  switch ($action) {
    case 'load':
      $block = tb_megamenu_render_block($_POST['menu_name']);
      print $block['content']['#markup'];
      break;
    case 'save':
      global $language;
      $menu_config = isset($_POST['menu_config']) ? $_POST['menu_config'] : NULL;
      $block_config = isset($_POST['block_config']) ? $_POST['block_config'] : NULL;
      $menu_name = isset($_POST['menu_name']) ? $_POST['menu_name'] : NULL;
      if ($menu_config && $menu_name) {
        $tb_megamenu = db_select('tb_megamenus', 't')
          ->fields('t')
          ->condition('menu_name', $menu_name)
          ->condition('language', $language->language)
          ->execute()
          ->fetchObject();
        if ($tb_megamenu) {
          db_update('tb_megamenus')
            ->fields(array(
            'menu_config' => $menu_config,
            'block_config' => $block_config,
            'language' => $language->language,
          ))
            ->condition('menu_name', $menu_name)
            ->condition('language', $language->language)
            ->execute();
        }
        else {
          db_insert('tb_megamenus')
            ->fields(array(
            'menu_name' => $menu_name,
            'block_config' => $block_config,
            'menu_config' => $menu_config,
            'language' => $language->language,
          ))
            ->execute();
        }
      }
      break;
    case 'load_block':
      $block_key = isset($_POST['block_key']) ? $_POST['block_key'] : NULL;
      $id = isset($_POST['id']) ? $_POST['id'] : NULL;
      $showblocktitle = isset($_POST['showblocktitle']) ? $_POST['showblocktitle'] : NULL;
      if ($block_key) {
        $content = json_encode(array(
          'content' => theme('tb_megamenu_block', array(
            'block_key' => $block_key,
            'section' => 'backend',
            'showblocktitle' => $showblocktitle,
          )),
          'id' => $id,
        ));
        print $content;
      }
      break;
  }
  exit;
}

Functions