/**
 * This function, returns all of the information about particular blocks.
 *
 * @param int|null $column_id
 * @param int|null $block_id
 * @param boolean|null $state
 * @param boolean|null $show
 * @param boolean|null $permission
 */
function getBlockInfo($column_id = null, $block_id = null, $state = null, $show = null, $permission = null)
{
    global $context, $options, $txt;
    $db = database();
    $query = array();
    $parameters = array();
    if (!empty($column_id)) {
        $query[] = 'spb.col = {int:col}';
        $parameters['col'] = !empty($column_id) ? $column_id : 0;
    }
    if (!empty($block_id)) {
        $query[] = 'spb.id_block = {int:id_block}';
        $parameters['id_block'] = !empty($block_id) ? $block_id : 0;
    }
    if (!empty($permission)) {
        $query[] = sprintf($context['SPortal']['permissions']['query'], 'spb.permissions');
    }
    if (!empty($state)) {
        $query[] = 'spb.state = {int:state}';
        $parameters['state'] = 1;
    }
    $request = $db->query('', '
		SELECT
			spb.id_block, spb.label, spb.type, spb.col, spb.row, spb.permissions, spb.state,
			spb.force_view, spb.mobile_view, spb.display, spb.display_custom, spb.style, spp.variable, spp.value
		FROM {db_prefix}sp_blocks AS spb
			LEFT JOIN {db_prefix}sp_parameters AS spp ON (spp.id_block = spb.id_block)' . (!empty($query) ? '
		WHERE ' . implode(' AND ', $query) : '') . '
		ORDER BY spb.col, spb.row', $parameters);
    $return = array();
    while ($row = $db->fetch_assoc($request)) {
        if (!empty($show) && !getShowInfo($row['id_block'], $row['display'], $row['display_custom'])) {
            continue;
        }
        if (!isset($return[$row['id_block']])) {
            $return[$row['id_block']] = array('id' => $row['id_block'], 'label' => $row['label'], 'type' => $row['type'], 'type_text' => !empty($txt['sp_function_' . $row['type'] . '_label']) ? $txt['sp_function_' . $row['type'] . '_label'] : $txt['sp_function_unknown_label'], 'column' => $row['col'], 'row' => $row['row'], 'permissions' => $row['permissions'], 'state' => empty($row['state']) ? 0 : 1, 'force_view' => $row['force_view'], 'mobile_view' => $row['mobile_view'], 'display' => $row['display'], 'display_custom' => $row['display_custom'], 'style' => $row['style'], 'collapsed' => $context['user']['is_guest'] ? !empty($_COOKIE['sp_block_' . $row['id_block']]) : !empty($options['sp_block_' . $row['id_block']]), 'parameters' => array());
        }
        if (!empty($row['variable'])) {
            $return[$row['id_block']]['parameters'][$row['variable']] = $row['value'];
        }
    }
    $db->free_result($request);
    return $return;
}
Beispiel #2
0
<?php

include "validateadmin.php";
require_once "rdcwebconstants.php";
require_once "dbaction/dbRetrieveInfo.php";
require_once "printUtils.php";
require_once "infoUtils.php";
//Get the information for an existing show
$info = null;
$dates = null;
$logos = null;
if (isset($_GET["showId"])) {
    $sid = $_GET["showId"];
    if ($sid != "create") {
        $info = getShowInfo($sid);
        $dates = getShowDates($sid);
        $logos = getShowLogos($sid);
    }
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Edit Show - Rose Drama Club</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="styles/rosedramastyle.css" type="text/css" rel="stylesheet" />
</head>
<body>
	<div id="pagecontainer">