Files
bm/public_html/public/cms/modules/ticketroomcontainer.class.php
2025-09-24 13:26:28 +02:00

86 lines
2.1 KiB
PHP

<?php
/** Ticket Room Container
*
* @version 1.9.1
* @since 2007-05-01
* @author martin lenzelbauer
*
* @change 2007-06-18
* changed install() due to changes in Container
*/
class TicketRoomContainer extends Container{
/** C'tor
*/
//-----------------------------------------------
function TicketRoomContainer($id=0, $parent=NULL){
//-----------------------------------------------
parent::Container($id, $parent);
$this->name = "Sitzpläne";
$this->objectsClass = "TicketRoom";
$this->allowedChildObjects = array("ticketroom");
}
/** @see Container::install()
*/
//----------------------------------------------
function install(){
//----------------------------------------------
parent::install();
}
/** @see Element::getCssClass()
*/
//-----------------------------------------------
function getCssClass(){
//-----------------------------------------------
return "itemTicketRoom";
}
/** @see Container::load()
*/
//-----------------------------------------------
function load($path=array()){
//-----------------------------------------------
//load container settings
$query = sprintf("SELECT * FROM bruckm_container WHERE container = %s AND user = %s",
sqlstring(get_class($this)),
sqlstring($_SESSION['user']));
$result = dbQuery($query);
$line = mysqli_fetch_array($result, MYSQLI_ASSOC);
$this->property = $line['property'];
$this->order = $line['order'];
//load objects
$this->childObjects = array();
$query = sprintf(
"SELECT i.id
FROM bruckm_index AS i
JOIN bruckm_ticketroom AS tr ON i.classId = tr.id
WHERE i.class = %s
AND tr.type = 'seat'",
sqlstring($this->objectsClass)
);
$result = dbQuery($query);
while($line = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$this->childObjects[] = FlexiconFactory::instanceById($line['id'], $this);
}
if(sizeof($path) > 0 && $path[0] == $this->id){
array_shift($path);
foreach($this->childObjects as $i=>$child){
$this->childObjects[$i]->load($path);
}
}
$this->sort();
}
};
?>