public function process() { global $db; $sql = 'INSERT INTO venues (title, lat, lng, organizer, country) VALUES (:title, :lat, :lng, :organizer, :country) '; $stmt = $db->prepare($sql); $stmt->bindValue(':title', $this->getElementValue('title')); $stmt->bindValue(':lat', $this->getElementValue('lat')); $stmt->bindValue(':lng', $this->getElementValue('lng')); $stmt->bindValue(':country', $this->getElementValue('country')); if (Session::hasPriv('NEW_VENUE')) { $stmt->bindValue(':organizer', $this->getElementValue('organizer')); } else { $stmt->bindValue('organizer', Session::getUser()->getData('organization')); } $stmt->execute(); Logger::messageDebug('Venue ' . $this->getElementValue('title') . ' created by: ' . Session::getUser()->getUsername(), LocalEventType::CREATE_VENUE); redirect('account.php', 'Venue created.'); }
public function __construct() { parent::__construct('formEditUser', 'Edit User'); $user = $this->getUser(); $this->addElementReadOnly('Username', $user['username']); $this->addElement(Element::factory('text', 'email', 'Email Address', $user['email'])); $this->getElement('email')->setMinMaxLengths(0, 64); $this->addElement(Element::factory('text', 'usernameSteam', 'Steam Username', $user['usernameSteam'], 'Plaese do include your Steam username - its a good way for us to get in contact.')); $this->getElement('usernameSteam')->setMinMaxLengths(0, 64); $this->addElement(Element::factory('hidden', 'uid', null, $user['id'])); if (Session::hasPriv('EDIT_USER')) { $this->addElement(Element::factory('html', null, null, 'Admin fields')); $this->addElement($this->getGroupSelectionElement($user['group'])); $this->addElement(FormHelpers::getOrganizerList(true)); $this->getElement('organizer')->setValue($user['organization']); $this->addElement(Element::factory('password', 'password', 'New Password')); $this->getElement('password')->setOptional(true); } $this->addButtons(Form::BTN_SUBMIT); }
public function __construct() { parent::__construct('formEditOrganizer', 'Edit Organizer'); $organizer = fetchOrganizer($_REQUEST['formEditOrganizer-id']); if (Session::getUser()->hasPriv('PUBLISH_ORGANIZERS')) { $this->addElement(Element::factory('checkbox', 'published', 'Published', $organizer['published'])); } $this->addElement(Element::factory('text', 'title', 'Title', $organizer['title'])); $this->addElement(Element::factory('hidden', 'id', null, $organizer['id'])); $this->addElement(Element::factory('text', 'websiteUrl', 'Website', $organizer['websiteUrl'])); $this->addElement(Element::factory('date', 'assumedStale', 'Assumed stale since', $organizer['assumedStale'])); $this->addElement(Element::factory('text', 'steamGroupUrl', 'Steam group URL', htmlify($organizer['steamGroupUrl']))); $this->getElement('steamGroupUrl')->setMinMaxLengths(0, 255); $this->addElement(Element::factory('textarea', 'blurb', 'Blurb', $organizer['blurb'])); $this->addElement(Element::factory('file', 'banner', 'Banner image', null, 'Your organizer banner image. Preferably a PNG, maximum image size is 468x160')); $this->getElement('banner')->destinationDir = 'resources/images/organizer-logos/'; $this->getElement('banner')->destinationFilename = $organizer['id'] . '.jpg'; $this->getElement('banner')->setMaxImageBounds(468, 160); if (!Session::hasPriv('EDIT_ORGANIZER') && Session::getUser()->getData('organization') != $organizer['id']) { throw new PermissionsException(); } $this->addButtons(Form::BTN_SUBMIT); }
<?php require_once 'includes/widgets/header.php'; $id = fromRequestRequireInt('id'); $venue = fetchVenue($id); $tpl->assign('organizersAtVenue', fetchOrganizersFromVenueId($id)); $tpl->assign('eventsAtVenue', fetchEventsFromVenueId($id)); $tpl->assign('venue', $venue); $tpl->display('viewVenue.tpl'); startSidebar(); require_once 'includes/widgets/infoboxListFilter.php'; if (Session::isLoggedIn()) { $organizer = Session::getUser()->getData('organization'); if (Session::hasPriv('EDIT_VENUE') || $organizer == $venue['organizer']) { $menu = new HtmlLinksCollection('Venue admin'); $menu->add('formHandler.php?formClazz=FormEditVenue&formEditVenue-id=' . $venue['id'], 'Edit'); $tpl->assign('linkCollection', $menu); $tpl->display('linkCollection.tpl'); } } require_once 'includes/widgets/footer.php';
$tpl->display('infobox.organizerLogo.tpl'); } ?> <div class = "infobox"> <h2>Other events...</h2> <p>You can view list of all other events on a <a href = "eventsMap.php">map</a> or in a <a href = "eventsList.php">list</a>.</p> <p>Or, you might want a <a href = "listOrganizers.php">list of organizers</a>.</p> </div> <?php if (Session::isLoggedIn() && (Session::getUser()->hasPriv('MODERATE_EVENTS') || $event['organizerId'] == Session::getUser()->getData('organization') && !empty($event['organizerId']))) { echo '<div class = "infobox"><h2>Admin</h2>'; echo '<p>With great power, comes great responsibility...</p><p>'; echo '<strong>Created on:</strong> ' . $event['createdDate'] . '<br />'; if (Session::hasPriv('USERLIST')) { echo '<strong>Created by:</strong> <a href = "viewUser.php?id=' . $event['createdBy'] . '">' . $event['createdByUsername'] . '</a><br />'; } else { echo '<strong>Created by:</strong> ' . $event['createdByUsername'] . '<br />'; } echo '</p><strong>Functions: </strong><ul>'; echo '<li><a href = "formHandler.php?formClazz=FormEditEvent&formEditEvent-id=' . $event['id'] . '">Edit</a></li>'; echo '<li><a href = "misc.php?action=deleteEvent&id=' . $event['id'] . '">Delete</a></li>'; echo '<li><a href = "misc.php?action=cloneEvent&id=' . $event['id'] . '">Clone</a></li>'; if (Session::getUser()->hasPriv('TOGGLE_EVENT_PUBLISHED')) { echo '<li><a href = "misc.php?action=toggleEvent&id=' . $event['id'] . '">' . ($event['published'] ? 'Unpublish' : 'Publish') . '</a></li>'; } echo '</ul></div>'; require_once 'includes/widgets/infoboxLinkUs.php'; } else { ?>
$tpl->assign('organizer', $organizer); $events = fetchEventsFromOrganizerId($organizer['id']); $tpl->assign('events', $events); if (Session::isLoggedIn() && (Session::getUser()->hasPriv('SUPERUSER') || Session::getUser()->getData('organization') == $organizer['id'])) { $sql = 'SELECT u.id, u.username, u.lastLogin FROM users u WHERE u.organization = :organizer'; $stmt = $db->prepare($sql); $stmt->bindValue(':organizer', $organizer['id']); $stmt->execute(); $tpl->assign('associatedUsers', $stmt->fetchAll()); $sql = 'SELECT v.id, v.title, count(e.id) AS eventCount FROM venues v LEFT JOIN events e ON e.venue = v.id WHERE v.organizer = :organizer GROUP BY v.id'; $stmt = $db->prepare($sql); $stmt->bindValue(':organizer', $organizer['id']); $stmt->execute(); $tpl->assign('associatedVenues', $stmt->fetchAll()); } $tpl->assign('userlist', Session::hasPriv('USERLIST')); $tpl->display('viewOrganizer.tpl'); startSidebar(); $nextEvent = getNextEvent($organizer['id']); echo '<div class = "infobox"><h2>Next event for ' . $organizer['title'] . '</h2>'; if (empty($nextEvent)) { echo '<p style = "color:red">To the best of our knowledge, ' . $organizer['title'] . ' has nothing planned... :(</p>'; } else { echo '<p>Next event is <a href = "viewEvent.php?id=' . $nextEvent['id'] . '">' . $nextEvent['title'] . '</a></p>'; } echo '<p>You may find another organizer near you on the <a href = "eventsMap.php">map</a> or from the <a href = "listOrganizers.php">list of organizers</a>.</p>'; echo '</div>'; if (Session::isLoggedIn() && Session::getUser()->hasPriv('EDIT_ORGANIZER') || Session::isLoggedIn() && Session::getUser()->getData('organization') == $organizer['id']) { echo '<div class = "infobox">'; echo '<h2>Organizer admin</h2>'; echo '<ul>';
<?php define('TITLE', 'Organizers of LAN Parties'); require_once 'includes/widgets/header.php'; if (Session::isLoggedIn() && Session::getUser()->hasPriv('SUPERUSER')) { $sql = 'SELECT o.id, o.published, o.title, o.websiteUrl, count(e.id) AS eventCount, u.username, u.id AS userId FROM organizers o LEFT JOIN events e ON e.organizer = o.id LEFT JOIN users u ON u.organization = o.id GROUP BY o.id ORDER BY o.title'; } else { $sql = 'SELECT o.id, o.published, o.title, o.websiteUrl, count(e.id) AS eventCount, u.username, u.id AS userId FROM organizers o LEFT JOIN events e ON e.organizer = o.id LEFT JOIN users u ON u.organization = o.id WHERE o.published = 1 GROUP BY o.id ORDER BY o.title'; } $stmt = $db->prepare($sql); $stmt->execute(); $tpl->assign('listOrganizers', $stmt->fetchAll()); $tpl->display('listOrganizers.tpl'); startSidebar(); require_once 'includes/widgets/infoboxListFilter.php'; require_once 'includes/widgets/infoboxFeaturedOrganizer.php'; $tpl->display('infobox.otherFormats.tpl'); if (Session::hasPriv('NEW_ORGANIZER')) { echo '<div>'; echo '<a href = "formHandler.php?formClazz=FormNewOrganizer">New Organizer</a>'; echo '</div>'; } require_once 'includes/widgets/footer.php';
<?php require_once 'includes/common.php'; if (!Session::hasPriv('SURVEY_OPTION_DELETE')) { throw new PermissionsException(); } $sql = 'DELETE FROM survey_options WHERE id = :id '; $stmt = $db->prepare($sql); $stmt->bindValue(':id', $_REQUEST['id']); $stmt->execute(); redirect('viewSurvey.php?id=' . $_REQUEST['surveyId'], 'Survey option deleted.');
<?php if (!Session::hasPriv('CONTENT_DELETE')) { throw new PermissionsException(); } $id = intval($_REQUEST['id']); $sql = 'DELETE FROM page_content WHERE id = :id'; $stmt = $db->prepare($sql); $stmt->bindValue(':id', $id); $stmt->execute(); redirect('listContent.php', 'Content deleted.');