Ejemplo n.º 1
0
/**
 * Defined in session.php
 *
 * @global Tree $WT_TREE
 */
global $WT_TREE;
use Fisharebest\Webtrees\Controller\PageController;
use Fisharebest\Webtrees\Module\CkeditorModule;
define('WT_SCRIPT_NAME', 'block_edit.php');
require './includes/session.php';
$block_id = Filter::getInteger('block_id');
$block = Database::prepare("SELECT SQL_CACHE * FROM `##block` WHERE block_id=?")->execute(array($block_id))->fetchOneRow();
// Check access.  (1) the block must exist and be enabled, (2) gedcom blocks require
// managers, (3) user blocks require the user or an admin
$blocks = Module::getActiveBlocks($WT_TREE);
if (!$block || !array_key_exists($block->module_name, $blocks) || $block->gedcom_id && !Auth::isManager(Tree::findById($block->gedcom_id)) || $block->user_id && $block->user_id != Auth::id() && !Auth::isAdmin()) {
    header('Location: ' . WT_BASE_URL);
    return;
}
$block = $blocks[$block->module_name];
if (Filter::post('save')) {
    $ctype = Filter::post('ctype', 'user', 'gedcom');
    header('Location: ' . WT_BASE_URL . 'index.php?ctype=' . $ctype . '&ged=' . $WT_TREE->getNameUrl());
    $block->configureBlock($block_id);
    return;
}
$ctype = FIlter::get('ctype', 'user', 'gedcom');
$controller = new PageController();
$controller->setPageTitle(I18N::translate('Configure') . ' — ' . $block->getTitle())->pageHeader();
if (Module::getModuleByName('ckeditor')) {
Ejemplo n.º 2
0
 /**
  * Create any of the other blocks.
  *
  * Use as #callBlock:block_name#
  *
  * @param string[] $params
  *
  * @return string
  */
 public function callBlock($params = array())
 {
     global $ctype;
     if (isset($params[0]) && $params[0] != '') {
         $block = $params[0];
     } else {
         return '';
     }
     $all_blocks = array();
     foreach (Module::getActiveBlocks($this->tree) as $name => $active_block) {
         if ($ctype == 'user' && $active_block->isUserBlock() || $ctype == 'gedcom' && $active_block->isGedcomBlock()) {
             $all_blocks[$name] = $active_block;
         }
     }
     if (!array_key_exists($block, $all_blocks) || $block == 'html') {
         return '';
     }
     // Build the config array
     array_shift($params);
     $cfg = array();
     foreach ($params as $config) {
         $bits = explode('=', $config);
         if (count($bits) < 2) {
             continue;
         }
         $v = array_shift($bits);
         $cfg[$v] = implode('=', $bits);
     }
     $block = $all_blocks[$block];
     $block_id = Filter::getInteger('block_id');
     $content = $block->getBlock($block_id, false, $cfg);
     return $content;
 }
Ejemplo n.º 3
0
// Define all the icons we're going to use
$IconUarrow = 'icon-uarrow';
$IconDarrow = 'icon-darrow';
if (I18N::direction() === 'ltr') {
    $IconRarrow = 'icon-rarrow';
    $IconLarrow = 'icon-larrow';
    $IconRDarrow = 'icon-rdarrow';
    $IconLDarrow = 'icon-ldarrow';
} else {
    $IconRarrow = 'icon-larrow';
    $IconLarrow = 'icon-rarrow';
    $IconRDarrow = 'icon-ldarrow';
    $IconLDarrow = 'icon-rdarrow';
}
$all_blocks = array();
foreach (Module::getActiveBlocks($WT_TREE) as $name => $block) {
    if ($user_id && $block->isUserBlock() || $gedcom_id && $block->isGedcomBlock()) {
        $all_blocks[$name] = $block;
    }
}
if ($user_id) {
    $blocks = FunctionsDb::getUserBlocks($user_id);
} else {
    $blocks = FunctionsDb::getTreeBlocks($gedcom_id);
}
if ($action === 'update') {
    foreach (array('main', 'side') as $location) {
        if ($location === 'main') {
            $new_blocks = $main;
        } else {
            $new_blocks = $right;