public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->insertBefore(new DropdownField('MemberID', 'Member', Member::get()->map('ID', "FirstName")), 'AttendingWholeEvent');
     $siteConfig = SiteConfig::current_site_config();
     $current = $siteConfig->getCurrentEventID();
     if ($this->ParentID < 1) {
         $event = Event::get()->byID($current);
     } else {
         $event = Event::get()->byID($this->ParentID);
     }
     $fields->insertAfter(HiddenField::create('ParentID', 'Event', $event->ID), 'ExtraDetail');
     $fields->removeByName('PublicFieldsRaw');
     $fields->removeByName('Sort');
     if ($this->PlayerGames()->Count() > 0) {
         $gridField = new GridField('PlayerGames', 'Games', $this->PlayerGames(), $config = GridFieldConfig_RelationEditor::create());
         $gridField->setModelClass('PlayerGame');
         $config->addComponent(new GridFieldOrderableRows());
         $config->removeComponentsByType('GridFieldPaginator');
         $config->removeComponentsByType('GridFieldPageCount');
         $config->addComponent(new GridFieldDeleteAction(false));
         $config->addComponent($export = new GridFieldExportButton('before'));
         $export->setExportColumns(singleton("PlayerGame")->getExportFields());
         $fields->addFieldToTab('Root.PlayerGames', $gridField);
     }
     return $fields;
 }
Example #2
0
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->insertBefore(TextareaField::create('Intro', 'Intro'), 'Content');
     $fields->insertAfter(ColorPaletteField::create("Colour", "Colour", array('night' => '#333333', 'air' => '#009EE2', 'earth' => ' #79c608', 'passion' => '#b02635', 'people' => '#de347f', 'inspiration' => '#783980')), "Intro");
     $fields->insertBefore($image = UploadField::create('SplashImage', 'Splash Image'), 'Content');
     $image->setFolderName('Uploads/Splash-Images');
     if ($this->ClassName === "Page" || $this->ClassName === "HomePage") {
         $fields->insertAfter(HTMLEditorField::create('ExtraContent'), 'Content');
         $gridField = new GridField('FeatureItems', 'FeatureItems', $this->FeatureItems()->sort(array('Sort' => 'ASC', 'Archived' => 'ASC')), $config = GridFieldConfig_RelationEditor::create());
         $gridField->setModelClass('FeatureItem');
         $fields->addFieldToTab('Root.Features', $gridField);
         $config->addComponent(new GridFieldOrderableRows());
     } else {
         if ($this->ClassName === "CalendarPage") {
             $content = $fields->dataFieldByName('Content');
             $content->addExtraClass('no-pagebreak');
             $events = Event::get()->sort(array('StartDateTime' => 'Desc'))->filterByCallback(function ($record) {
                 return !$record->getIsPastEvent();
             });
             $gridField = new GridField('Event', 'Upcoming Events', $events, $config = GridFieldConfig_RecordEditor::create());
             $gridField->setModelClass('Event');
             $dataColumns = $config->getComponentByType('GridFieldDataColumns');
             $dataColumns->setDisplayFields(array('Title' => 'Title', 'StartDateTime' => 'Date and Time', 'DatesAndTimeframe' => 'Presentation String'));
             $fields->addFieldToTab('Root.UpcomingEvents', $gridField);
         }
     }
     return $fields;
 }
Example #3
0
 private static function runEvents($eventName, &$data = NULL)
 {
     kohana::log('debug', 'Running event ' . $eventName);
     // Returns of the callbacks for event specified
     $events = Event::get($eventName);
     // Loop through each event, instantiate the event object, and call the event.
     // NOTE: We do this because we rely on __get/__set methods in bluebox plugins and they must be able to use $object->
     // to reference the current controller
     $return_value = TRUE;
     foreach ($events as $event) {
         // Share our current controller w/ the event system
         Event::$data =& $data;
         // Go get our plugin object
         $obj =& self::initialize($event[0]);
         if (method_exists($obj, $event[1])) {
             $return = call_user_func(array($obj, $event[1]));
             kohana::log('debug', 'Plugin hook ' . get_class($obj) . '::' . $event[1] . '() returned ' . ($return ? 'true' : 'false'));
             // If the func doesnt have a return or its not bool, assume true
             if (is_null($return) || !is_bool($return)) {
                 $return = TRUE;
             }
             // Bitwise AND of all the returns (if any returns false, the event will return false)
             $return_value = $return_value & $return;
         } else {
             throw new Exception('Tried to call plugin method ' . get_class($obj) . '::' . $event[1] . '(), but no such method exists. (Event ' . $eventName . ')');
         }
         // Do this to prevent data from getting 'stuck'
         $clearData = '';
         Event::$data =& $clearData;
     }
     return $return_value;
 }
 public function init()
 {
     parent::init();
     $member = Member::currentUser();
     $this->member = $member;
     $request = $this->getRequest();
     //echo $request->getVar('test');
     //Setting dates based on request variables
     //We could add some sanity check herre
     $this->start = $request->getVar('start');
     $this->end = $request->getVar('end');
     if ($request->getVar('allDay') == 'true') {
         $this->allDay = true;
     }
     //Setting event based on request vars
     if (($eventID = (int) $request->getVar('eventID')) && $eventID > 0) {
         $event = Event::get()->byID($eventID);
         if ($event && $event->exists()) {
             if ($event->ClassName == 'PrivateEvent') {
                 //Only show private events to their owners
                 if ($event->OwnerID == $member->ID) {
                     $this->event = $event;
                 }
             } else {
                 $this->event = $event;
             }
         }
     }
 }
 private static function generate_data_for_day(SS_Datetime $date)
 {
     $data = array('timestamp' => time(), 'searchDate' => $date->Format("Y-m-d"), 'collections' => array('events' => array(), 'galleries' => array(), 'locations' => array()));
     $galleryIDs = array();
     $locationIDs = array();
     // Get events
     $where = sprintf("DATE(`StartDate`) = '%s'", $date->Format('Y-m-d'));
     $events = Event::get()->where($where)->exclude(array("GalleryID" => 0, "Gallery.LocationID" => 0));
     foreach ($events as $event) {
         $galleryIDs[] = $event->GalleryID;
         $data['collections']['events'][] = $event->forAPI();
     }
     // Get galleries
     $galleries = Gallery::get()->byIDs(array_unique($galleryIDs));
     foreach ($galleries as $gallery) {
         $locationIDs[] = $gallery->LocationID;
         $data['collections']['galleries'][] = $gallery->forAPI();
     }
     // Get locations
     $locations = Location::get()->byIDs(array_unique($locationIDs));
     foreach ($locations as $location) {
         $data['collections']['locations'][] = $location->forAPI();
     }
     return $data;
 }
Example #6
0
 /**
  * Filters the Response.
  *
  * @param Event    $event    An Event instance
  * @param Response $response A Response instance
  */
 public function filter($event, Response $response)
 {
     if (HttpKernelInterface::MASTER_REQUEST !== $event->get('request_type')) {
         return $response;
     }
     $this->esi->addSurrogateControl($response);
     return $response;
 }
 public function updateCMSFields(FieldList $fields)
 {
     if (count(Event::get()) > 0) {
         $current = new DropdownField('CurrentEventID', 'CurrentEvent', Event::get()->map('ID', 'Title'));
         $current->setEmptyString('');
         $fields->addFieldToTab('Root.Events', $current);
     }
     $events = new GridField('Events', 'Event', Event::get(), GridFieldConfig_RecordEditor::create());
     $fields->addFieldToTab('Root.Events', $events);
 }
Example #8
0
 /**
  * Main route for events page
  *
  * Route: /events
  */
 public function index()
 {
     $event = new Event();
     $event->where('start >', date('Y-m-d H:m:s'));
     $event->order_by('start', 'asc');
     $event->get();
     $data['events'] = $event;
     // Create the view
     $this->template->title = 'Events';
     $this->template->javascript->add('assets/js/masonry.min.js');
     $this->template->content->view('events/index', $data);
     $this->template->publish();
 }
 /**
  * Register action
  * @param type $data
  * @param type $form
  * @return \SS_HTTPResponse
  */
 public function doRegister($data, $form)
 {
     $r = new EventRegistration();
     $form->saveInto($r);
     $EventDetails = Event::get()->byID($r->EventID);
     if ($EventDetails->TicketsRequired) {
         $r->AmountPaid = $r->AmountPaid / 100;
     }
     $r->write();
     $from = Email::getAdminEmail();
     $to = $r->Email;
     $bcc = $EventDetails->RSVPEmail;
     $subject = "Event Registration - " . $EventDetails->Title . " - " . date("d/m/Y H:ia");
     $body = "";
     $email = new Email($from, $to, $subject, $body, null, null, $bcc);
     $email->setTemplate('EventRegistration');
     $email->send();
     exit;
 }
 public function getFieldsForEventDay($daysFromNow = 0)
 {
     // Get time
     if ($daysFromNow === 0) {
         $time = time();
     } elseif ($daysFromNow === 1) {
         $time = strtotime('+1 day');
     } else {
         $time = strtotime("+{$daysFromNow} days");
     }
     // Field data
     $date = date('Y-m-d', $time);
     $name = 'DaysEvents_' . date('l', $time);
     $title = date('l', $time) . "'s Events - " . date('d/m/Y', $time);
     $events = Event::get()->where("DATE(`StartDate`) = '{$date}'");
     $eventsGrid = GridField::create($name, $title, $events, GridFieldConfig_RecordEditor::create()->removeComponentsByType('GridFieldPageCount')->removeComponentsByType('GridFieldAddNewButton')->addComponent(new GridFieldAddNewButton('toolbar-header-right')));
     $fields = FieldList::create($eventsGrid);
     $tabTitle = date('l', $time) . " ({$events->count()})";
     return array('Fields' => $fields, 'TabTitle' => $tabTitle);
 }
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->removeByName('Sort');
     $siteConfig = SiteConfig::current_site_config();
     $current = $siteConfig->getCurrentEventID();
     if ($this->Event()->ID) {
         $event = $this->Event();
     } else {
         if ($this->Parent()->ParentID > 0) {
             $event = Event::get()->byID($this->Parent()->ParentID);
         } else {
             $event = Event::get()->byID($current);
         }
     }
     if ($event) {
         $prefNum = $event->PreferencesPerSession ? $event->PreferencesPerSession : 2;
     } else {
         $prefNum = 2;
     }
     $pref = array();
     for ($i = 1; $i <= $prefNum; $i++) {
         $pref[$i] = $i;
     }
     $preference = new DropdownField('Preference', 'Preference', $pref);
     $preference->setEmptyString(' ');
     $fields->insertAfter($preference, 'GameID');
     $status = array(0 => "Pending/Declined", 1 => "Accepted");
     $fields->insertAfter(new OptionsetField('Status', 'Status', $status), 'Preference');
     $reg = Registration::get()->filter(array('ParentID' => $event->ID))->map('ID', "Title");
     $player = new DropdownField('ParentID', 'Player', $reg);
     $player->setEmptyString(' ');
     $fields->insertAfter($player, 'Status');
     $fields->insertAfter($fields->dataFieldByName('Favourite'), 'Status');
     $fields->insertAfter($fields->dataFieldByName('ParentID'), 'GameID');
     $event = HiddenField::create('EventID', 'Event', $event->ID);
     $fields->insertAfter($event, 'GameID');
     return $fields;
 }
Example #12
0
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $siteConfig = SiteConfig::current_site_config();
     $current = $siteConfig->getCurrentEventID();
     if ($this->ParentID < 1) {
         $event = Event::get()->byID($current);
     } else {
         $event = Event::get()->byID($this->ParentID);
     }
     $parent = HiddenField::create('ParentID', 'Event', $event->ID);
     $fields->insertAfter($parent, 'Details');
     $sessions = array();
     if ($event) {
         for ($i = 1; $i <= $event->NumberOfSessions; $i++) {
             $sessions[$i] = $i;
         }
     }
     $session = new DropdownField('Session', 'Session', $sessions);
     $session->setEmptyString(' ');
     $fields->insertAfter($session, 'Title');
     $fields->insertAfter($member = new DropdownField('FacilitatorID', 'Facilitator', Member::get()->map('ID', 'Name')), 'Session');
     $member->setEmptyString(' ');
     $fields->insertAfter(new TextField('FacilitatorText', 'Or enter facilitator name(s)'), 'FacilitatorID');
     $status = array(0 => "Pending", 1 => "Accepted");
     $fields->insertBefore(new OptionsetField('Status', 'Status', $status), 'Title');
     $gridField = $fields->dataFieldByName("Players");
     if ($gridField) {
         $config = $gridField->getConfig();
         $config->getComponentByType('GridFieldDataColumns')->setDisplayFields(singleton("PlayerGame")->getGameDisplayFields());
         $config->addComponent(new GridFieldOrderableRows());
         $config->removeComponentsByType('GridFieldPaginator');
         $config->removeComponentsByType('GridFieldPageCount');
         $config->addComponent($export = new GridFieldExportButton('before'));
         $export->setExportColumns(singleton("PlayerGame")->getExportFields());
     }
     return $fields;
 }
Example #13
0
 public function send_newsletter()
 {
     $this->load->library('markdown');
     $currentWeek = date("W");
     $currentYear = date("Y");
     $dates = $this->getStartAndEndDate($currentWeek, $currentYear);
     // Generate the message
     $event = new Event();
     $event->where('WEEKOFYEAR(start) =', $currentWeek);
     $event->order_by('start', 'asc');
     $event->get();
     $data['dates'] = $dates;
     $data['events'] = $event;
     $message = $this->load->view('email/newsletter', $data, TRUE);
     $this->load->library('email');
     $config['mailtype'] = 'html';
     $this->email->initialize($config);
     $this->email->from('*****@*****.**', 'FSC Nexus');
     $this->email->subject('Weekly Newsletter for ' . $dates[0] . ' to ' . $dates[1]);
     $this->email->to($this->input->post('email'));
     $this->email->message($message);
     $this->email->send();
 }
Example #14
0
 public function testParseEvent()
 {
     $eventTag = new Event();
     $eventTag->set("Some Ordinary Event");
     $unparsedTag = '[Event "Some Ordinary Event"]';
     $errors = null;
     $parsed = Tag::parse($unparsedTag, $errors);
     echo "errors: ";
     var_dump($errors);
     $this->assertInstanceof('pgn\\tags\\Event', $parsed);
     $this->assertSame($eventTag->get(), $parsed->get());
     $this->assertNotNull($errors);
     $this->assertEquals(0, count($errors));
 }
Example #15
0
}
?>
		</section>

        <?php 
$liste = Event::last();
if (count($liste)) {
    ?>
        <section class="contenu demi">
    	    <h4>Dernières interactions</h4>

    	    <ul class="listeDesEvenements">
        	    <?php 
    foreach ($liste as $event) {
        $e = new Event($event['id']);
        $c = new People($e->get('people'));
        ?>
				<li class="evenement <?php 
        echo $e->get('type');
        ?>
 <?php 
        if ($e->link()) {
            ?>
clic<?php 
        }
        ?>
">
					<small><span><?php 
        echo Event::displayType($e->get('type'));
        ?>
</span></small>
 /**
  * Displays details of an event
  * @param $req
  * @return array
  */
 function detail($req)
 {
     $event = Event::get()->byID($req->param('ID'));
     if (!$event) {
         return $this->httpError(404);
     }
     return array('Event' => $event);
 }
Example #17
0
		<h4>Événements connus</h4>
		
		<ul class="listeDesEvenements">
			<li class="evenement nouvelEvenement">
				<strong>Créer un nouvel événement</strong>
			</li>
			<?php 
$events = $data->events();
if (count($events)) {
    foreach ($events as $event) {
        $event = new Event($event['id']);
        ?>
			<?php 
        // on regarde si on peut ouvrir l'événement
        if ($event->link() == 2) {
            echo '<a href="#" class="accesEvenement nostyle evenement-' . $event->get('id') . '" data-evenement="' . $event->get('id') . '">';
        } elseif ($event->link() == 1) {
            echo '<a href="';
            Core::goPage($event->get('type'), array('campagne' => $event->get('campaign')));
            echo '" class="nostyle">';
        }
        ?>
				<li class="evenement <?php 
        echo $event->get('type');
        ?>
 <?php 
        if ($event->link()) {
            ?>
clic<?php 
        }
        ?>
Example #18
0
?>
</textarea></span>
				</li>
			</ul>
		</section>
		
		<section class="contenu demi">
			<h4>Tâches liées à ce dossier</h4>
			
			<ul class="listeDesTaches">
				<?php 
$taches = $dossier->tasks();
if (count($taches)) {
    foreach ($taches as $tache) {
        $e = new Event($tache['event']);
        $c = new People($e->get('people'));
        ?>
				<li class="tache">
					<strong><?php 
        echo $tache['task'];
        ?>
</strong>
					<ul class="infosAnnexes">
						<li class="contact sansChanger"><?php 
        echo $c->display_name();
        ?>
</li>
					</ul>
				</li>
				<?php 
    }
Example #19
0
 /**
  * This method executes all of the callbacks in a given event
  * queue.
  *
  * The first function argument takes as its value a string and is
  * the name of the event queue to process.
  *
  * The second function argument takes as its value an array and is
  * passed to the callbacks being executed.
  *
  * ###### Example
  *
  *     Event::run('system.post_controller');
  *
  * @param   string   event name
  * @param   array    data can be processed as Event::$data by the callbacks
  * @return  void
  */
 public static function run($name, &$data = NULL)
 {
     if (!empty(Event::$events[$name])) {
         // So callbacks can access Event::$data
         Event::$data =& $data;
         $callbacks = Event::get($name);
         foreach ($callbacks as $callback) {
             call_user_func_array($callback, array(&$data));
         }
         // Do this to prevent data from getting 'stuck'
         $clear_data = '';
         Event::$data =& $clear_data;
     }
     // The event has been run!
     Event::$has_run[$name] = $name;
 }
 /**
  *
  */
 public static function controller($id, $xml)
 {
     $msg = 'Adding controller "' . $id . '" routes with website router helper!';
     ptc_log($msg, '', \App::option('website.debug_category') . ' Config');
     $listeners = \Event::get('website');
     if (is_array($listeners) && isset($listeners['load_routes_xml'])) {
         ptc_fire('website.load_routes_xml', array($id, &$xml));
     }
     $routes = new Routes($id, $xml);
     $routes->compile();
 }
Example #21
0
 /**
  * Execute all of the callbacks attached to an event.
  *
  * @param   string   event name
  * @param   array    data can be processed as Event::$data by the callbacks
  * @return  void
  */
 public static function run($name, &$data = NULL)
 {
     if (!empty(Event::$_events[$name])) {
         // Store this so we can run inner events
         Event::$_stack[] =& $data;
         // So callbacks can access Event::$data
         Event::$data =& $data;
         $callbacks = Event::get($name);
         foreach ($callbacks as $callback) {
             call_user_func($callback);
         }
         // We don't need $data anymore
         array_pop(Event::$_stack);
         // Restore the previous $data value
         $previous_data = end(Event::$_stack);
         Event::$data =& $previous_data;
     }
     // The event has been run!
     Event::$_has_run[$name] = $name;
 }
 public function GameSignupFields($reg)
 {
     $fields = new FieldList();
     $currentID = $this->getCurrentEvent()->ID;
     $event = Event::get()->byID($currentID);
     $prefNum = $event->PreferencesPerSession;
     $reg = $this->getCurrentRegistration();
     $fields->push(new HiddenField('RegistrationID', 'Reg', $reg->ID));
     $fields->push($fav = new HiddenField('FavouriteID', 'Favourite'));
     $fav->addExtraClass('favourite-id');
     $fields->push(new LiteralField('no-js', '<p class="js-hide">This page works better with javascript. If you can\'t use javascript, rank the items below in your order of preference. 1 for your first choice, 2 for your second. Note, only the top ' . $prefNum . ' will be recorded</p>'));
     for ($session = 1; $session <= $event->NumberOfSessions; $session++) {
         $evenOdd = $session % 2 == 0 ? 'even' : 'odd';
         $fieldset = '<fieldset id="round' . $session . '" class="preference-group preference-' . $prefNum . ' data-preference-select="preference-select-group">';
         $fields->push(new LiteralField('Heading_' . $session, '<h5>Round ' . $session . ' preferences</h5>' . $fieldset));
         $games = Game::get()->filter(array('Session' => $session, 'ParentID' => $currentID, 'Status' => true))->sort('RAND()');
         $i = 1;
         foreach ($games as $game) {
             $gameOptions = new NumericField("GameID_" . $game->ID, '');
             $gameOptions->setValue($i)->setRightTitle($game->Title)->setAttribute('type', 'number')->setAttribute('data-id', $game->ID)->addExtraClass('small-input js-hide-input');
             $fields->push($gameOptions);
             $i++;
         }
         // Add not playing option
         $gameOptions = new NumericField("NotPlaying_" . $session, '');
         $gameOptions->setValue($i)->setRightTitle("No game (or Facilitating)")->setAttribute('type', 'number')->addExtraClass('small-input js-hide-input not-playing');
         $fields->push($gameOptions);
         $fields->push(new LiteralField('fieldset', '</fieldset>'));
     }
     return $fields;
 }
Example #23
0
 /**
  * Adds an event
  *
  * Data should include the following keys
  * - id (unique event id)
  * - date_start (unix timestamp)
  * - date_end (unix timestamp)
  * - title (event title)
  * - description (description text)
  * - categories (array of categories)
  * - location (name of city)
  * - address
  * - image_url
  *
  * @param array $data Event data
  */
 public static function add($data = array())
 {
     $requiredKeysExists = \HbgEventImporter\Helper\Arr::arrayKeysExist($data, 'id', 'date_start', 'date_end', 'title', 'description', 'categories', 'location', 'address', 'image_url', 'ticket_link');
     if (!$requiredKeysExists) {
         return false;
     }
     // Check if event uid already exists
     $postId = Event::get(1, array(array('key' => 'event-uid', 'value' => $data['id'], 'compare' => '=')), array('publish', 'draft', 'pending'));
     $postId = isset($postId->ID) ? $postId->ID : null;
     // Update or create event
     if ($postId !== null) {
         if (get_field('event-sync', $postId) !== true && get_field('event-sync', $postId) != '1') {
             return;
         }
         wp_update_post(array('ID' => $postId, 'post_title' => $data['title'], 'post_content' => $data['description']));
     } else {
         $postId = wp_insert_post(array('post_title' => $data['title'], 'post_content' => $data['description'], 'post_status' => get_field('xcap_post_status', 'option') ? get_field('xcap_post_status', 'option') : 'publish', 'post_type' => 'event'));
     }
     $data['categories'] = array_map('trim', $data['categories']);
     $data['categories'] = array_map('ucwords', $data['categories']);
     wp_set_object_terms($postId, $data['categories'], 'event-types', true);
     self::addPostMeta($postId, $data);
     self::saveImageFromUrl($postId, $data['image_url']);
 }
Example #24
0
                                                    </li>
                                                </ul>
                                            </div>
                                        </div>-->

                    <div class="componentContainer">
                        <div class="heading">
                            <p>Sponsorships open to take</p>
                        </div>

                        <div class="ccContainer lastList lastListWithScroll eventListArea">
                            <ul>
                                <?php 
$openSponsorships = $sponsorshipTools->getAllOpenSponsorships();
foreach ($openSponsorships as $openS) {
    $event = Event::get($openS->event_id);
    $event_date = new DateTime($event->date);
    echo "<li class='clickable-li open-sponsorship-entry'>";
    echo "<input id='sponsorship-id' type='hidden' value='" . $openS->id . "'/>";
    echo "<h3>";
    echo $event->title;
    echo "</h3>" . "<span>" . $event_date->format("dS M") . "</span>";
    echo "<p>";
    echo $openS->name . " (Rs." . $openS->amount . ")";
    echo "</p>";
    echo "</li>";
}
?>
                                
                            </ul>
                        </div>
Example #25
0
 public function getEvents()
 {
     $events = Event::get()->sort('Date');
     return $events;
 }
Example #26
0
<?php

require 'config.php';
include DIR_LIB . 'helpers/ui.php';
Authentication::require_login();
$err = '';
if (isset($_GET['delete'])) {
    $events = Event::get($where = array('id' => $_GET['delete']));
    if (empty($events)) {
        $err = 'Event does not exist.';
    } else {
        $event = $events[0];
        if ($event->getUserId() == Authentication::get_user() || PermissionMgr::groupHasPermission(Authentication::getUserObject()->getGroupId(), 'is_administrator')) {
            $event->delete();
        }
        header("Location: //" . APP_ROOT_URL . 'calendar.php');
    }
}
if (isset($_POST['doadd'])) {
    if (strlen($_POST['event_name']) > 160) {
        $err = "Event Description above 160 characters, shorten it and try again!";
    } else {
        if (trim($_POST['event_name']) == '') {
            $err = "Please fill in the event description.";
        } else {
            if (trim($_POST['start_time']) == '') {
                $err = "Please pick a start time.";
            }
        }
    }
    $all_day = '0';
 public function GameFields()
 {
     $fields = new FieldList();
     // get current event
     $siteConfig = SiteConfig::current_site_config();
     $current = $siteConfig->getCurrentEventID();
     $event = Event::get()->byID($current);
     $genres = $this->getGroupedGames('Genre');
     $fields->push(new HiddenField('ID'));
     $fields->push(new TextField('Title'));
     $fields->push(new TextField('Restriction', 'Restriction (R18, PG, etc)'));
     // tag input field
     $fields->push($tagfield = new TextField('Genre', 'Genres'));
     $tagfield->addExtraClass('tag-field genre');
     // hidden field for all current genres
     $fields->push(new LiteralField('GenreList', $this->renderGenreList($genres)));
     $briefEditor = new TextAreaField('Brief', 'Brief (Short Description)');
     $briefEditor->setRows(5);
     $fields->push($briefEditor);
     $detailsEditor = CompositeField::create(new LabelField('GameDetails', 'Game Details'), $html = new HTMLEditorField('Details'), new LiteralField('editorDiv', '<div class="editable"></div>'));
     $fields->push($detailsEditor);
     $html->addExtraClass('hide');
     $detailsEditor->addExtraClass('field');
     $costuming = new TextAreaField('Costuming', 'Costuming');
     $costuming->setRows(5);
     $fields->push($costuming);
     $fields->push(new TextField('NumPlayers', 'Number of players'));
     $sessions = array();
     if ($event) {
         for ($i = 1; $i <= $event->NumberOfSessions; $i++) {
             $sessions[$i] = $i;
         }
         $session = new DropdownField('Session', 'Preferred Session', $sessions);
         $session->setEmptyString(' ');
         $fields->push($session);
     }
     return $fields;
 }
Example #28
0
<?php

require_once './global.inc.php';
verify_oauth_session_exists();
$event_id = $_POST["event_id"];
$event_details = Event::get($event_id);
$spTools = new SponsorshipTools();
$sponsorship_details = $spTools->getAllSponsorshipsByEvent($event_id);
$sponsorships = array();
foreach ($sponsorship_details as $sp) {
    $company = NULL;
    if ($sp->taken_by != "") {
        $company = Company::get($sp->taken_by);
    }
    array_push($sponsorships, array($sp, $company));
}
echo json_encode(array($event_details, $sponsorships));
Example #29
0
 public function __call($method, $args = null)
 {
     $method_order = explode('OrderBy', $method);
     preg_match('/^(select)|(update)|(delete)|(count)/', $method_order[0], $matches);
     if (!empty($matches[0])) {
         $class = get_class($this);
         $query = Table::constructQuery($class, $matches[0], $method, $args);
         switch ($matches[0]) {
             case 'count':
                 return reset(reset(Table::query($query)));
             case 'select':
                 if (empty($args[self::ARRAY_SINGLE]) && empty($args[self::OBJECT_SINGLE]) && empty($args[self::ARRAY_MULTIPLE]) && empty($args[self::OBJECT_MULTIPLE])) {
                     if (strstr($method_order[0], 'All') === false) {
                         $args[self::OBJECT_SINGLE] = true;
                     } else {
                         $args[self::OBJECT_MULTIPLE] = true;
                     }
                 }
                 foreach (self::$_inject_modes as $mode) {
                     if (!empty($args[$mode])) {
                         $inject_mode = $mode;
                         break;
                     }
                 }
                 $result = Table::query($query);
                 if (!empty($result)) {
                     switch ($inject_mode) {
                         case self::ARRAY_SINGLE:
                             return reset($result);
                         case self::OBJECT_SINGLE:
                             $object = new $class(reset($result));
                             if (ENABLE_LOG && $this->_logging) {
                                 Event::log($object, Event::BROWSE, '', Session::getUser());
                             }
                             return $object;
                         case self::ARRAY_MULTIPLE:
                             $collection = array();
                             foreach ($result as $struct) {
                                 $collection[] = $struct;
                             }
                             return $collection;
                         case self::OBJECT_MULTIPLE:
                             $collection = array();
                             foreach ($result as $struct) {
                                 $collection[] = new $class($struct);
                             }
                             return $collection;
                     }
                 } else {
                     switch ($inject_mode) {
                         case self::ARRAY_SINGLE:
                         case self::ARRAY_MULTIPLE:
                         case self::OBJECT_MULTIPLE:
                             return array();
                         case self::OBJECT_SINGLE:
                             return null;
                     }
                 }
             case 'update':
                 $primary_key = constant($class . '::PRIMARY');
                 if (empty($this->{$primary_key})) {
                     if (method_exists($this, '_onInsert')) {
                         $this->_onInsert();
                     }
                 } else {
                     if (method_exists($this, '_onUpdate')) {
                         $this->_onUpdate();
                     }
                 }
                 $args = get_object_vars($this);
                 foreach ($args as $arg => $val) {
                     if (substr($arg, 0, 1) == '_') {
                         unset($args[$arg]);
                     }
                 }
                 $query = Table::constructQuery($class, $matches[0], $method, $args);
                 $result = Table::query($query);
                 $primary = constant($class . '::PRIMARY');
                 if (empty($this->{$primary})) {
                     $this->{$primary} = $result;
                     try {
                         if (ENABLE_LOG && $this->_logging) {
                             Event::log($this, Event::CREATE, '', Session::getUser());
                         }
                     } catch (Exception $exc) {
                     }
                 } else {
                     try {
                         if (ENABLE_LOG && $this->_logging) {
                             $event = Event::get()->selectOneByEntityIdAndEntityAndActionOrderByDescTimestamp($this->{$primary}, $class, Event::BROWSE);
                             if (!empty($event)) {
                                 if ($this->_isDirty()) {
                                     $event->timestamp = time();
                                     $event->action = Event::MODIFY;
                                     $event->initial = str_replace(array("'", '"'), array('', "'"), $this->_initial);
                                     $event->update();
                                 } else {
                                     $event->delete();
                                 }
                             }
                         }
                     } catch (Exception $exc) {
                     }
                 }
                 return $result;
             case 'delete':
                 if (empty($args)) {
                     $primary = constant($class . '::PRIMARY');
                     $args = array($this->{$primary});
                     $method = 'deleteOneBy' . str_replace(' ', '', ucwords(str_replace('_', ' ', $primary)));
                 }
                 if (method_exists($this, '_onDelete')) {
                     $this->_onDelete();
                 }
                 $query = Table::constructQuery($class, $matches[0], $method, $args);
                 try {
                     if (ENABLE_LOG && $this->_logging) {
                         Event::log($this, Event::DELETE, $this->_initial, Session::getUser());
                     }
                 } catch (Exception $exc) {
                 }
                 return Table::query($query);
         }
     }
 }
Example #30
0
 /**
  * Execute all of the callbacks attached to an event.
  *
  * @param   string   name 
  * @param   mixed    data 
  * @return  void
  */
 public static function run($name, &$data = NULL)
 {
     // Event has been run
     Event::$_has_run[$name] = TRUE;
     if (empty(Event::$_events[$name])) {
         return;
     }
     Event::$data =& $data;
     $callbacks = Event::get($name);
     foreach ($callbacks as $callback) {
         call_user_func_array($callback, array(&$data));
     }
     $clear_data = NULL;
     Event::$data =& $clear_data;
     return;
 }