Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4f9a681
Add initial implementation of events database
themightychris Aug 17, 2016
bdded7b
Add option to show time in timestamps
themightychris Aug 17, 2016
0328a2a
Show all event details in list
themightychris Aug 17, 2016
24dc125
Embed tag data in people and projects pages
themightychris Sep 21, 2016
baf120e
Fix grouping checkins by project
themightychris Sep 21, 2016
8a57188
Update sidebar-tags js for new projects/people pages
themightychris Sep 21, 2016
a74eec3
Add recaptcha protection to contact form
themightychris Sep 25, 2016
fbe9799
Fix mistakes in events template markup
themightychris Sep 25, 2016
8b0373e
Add template for event details
themightychris Sep 25, 2016
0845653
Add filters for events
themightychris Sep 25, 2016
5b828dd
Improve misc markup
Sep 25, 2016
4e757ea
Add chat channel field to projects and improve project links
themightychris Sep 25, 2016
24c69fd
Launch project chat in new window/tab
themightychris Sep 25, 2016
0fe0c91
Add content-markdown CSS class to all markdown content containers
themightychris Sep 26, 2016
634307c
Add GitHub-inspired CSS for markdown tables
themightychris Sep 26, 2016
9848bfb
Prevent leading hash in chat channel field
themightychris Sep 27, 2016
8bbd87e
Replace CfP favicon with generic brigade icon
themightychris Sep 29, 2016
3953ffa
monster avatars for Halloween
Oct 8, 2016
6dd2861
unravel abbreviations
Oct 8, 2016
b391c0c
fixes #129
Oct 9, 2016
4474088
Add FirstName and LastName to profileFields via php-config
themightychris Oct 11, 2016
c993cd6
Merge pull request #152 from cjaoude/add-edit-profile-name
themightychris Oct 11, 2016
45d1088
Move gravatar default option to Laddr::$gravatarDefault
themightychris Oct 11, 2016
4fcf381
Merge pull request #151 from cjaoude/halloween-avatars
themightychris Oct 11, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 41 additions & 26 deletions html-templates/contact/contact.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,48 @@

{block "title"}Contact — {$dwoo.parent}{/block}

{block js-top}
{$dwoo.parent}

{if RemoteSystems\ReCaptcha::$siteKey}
<script src='https://www.google.com/recaptcha/api.js'></script>
{/if}
{/block}

{block "content"}
<header class="page-header">
<h2>Contact Us</h2>
</header>

<form action="/contact" method="POST" class="contact-form">
{if $validationErrors}
<div class="notify error">
<strong>Please double-check the fields highlighted below.</strong>
</div>
{/if}

<fieldset class="shrink show-required left-labels">

{* field name label='' error='' type=text placeholder='' hint='' required=false attribs='' *}

{field inputName=Name label=Name error=$validationErrors.Name required=true attribs='autofocus autocapitalize="words"'}
{field inputName=Email label=Email error=$validationErrors.Email type=email required=true}
{field inputName=Phone label=Phone error=$validationErrors.Phone type=tel hint='Optional. Include your area code.'}

{textarea inputName=Message label=Message error=$validationErrors.Message required=true}

<div class="submit-area">
<input type="submit" class="btn btn-primary btn-block" value="Send">
<div class="row">
<div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3">

<div class="page-header">
<h1>Contact Us</h1>
</div>

</fieldset>
</form>

<form action="/contact" method="POST" class="contact-form">
{if $validationErrors}
<div class="alert alert-danger">
Please double-check the fields highlighted below.
</div>
{/if}

{* field name label='' error='' type=text placeholder='' hint='' required=false attribs='' *}

{field inputName=Name label=Name error=$validationErrors.Name required=true attribs='autofocus autocapitalize="words"'}
{field inputName=Email label=Email error=$validationErrors.Email type=email required=true}
{field inputName=Phone label=Phone error=$validationErrors.Phone type=tel hint='Optional. Include your area code.'}

{textarea inputName=Message label=Message error=$validationErrors.Message required=true}

{if RemoteSystems\ReCaptcha::$siteKey}
<div class="form-group g-recaptcha" data-sitekey="{RemoteSystems\ReCaptcha::$siteKey|escape}"></div>
{/if}

{if $validationErrors.ReCaptcha}
<p class="text-danger">{$validationErrors.ReCaptcha}</p>
{/if}

<button type="submit" class="btn btn-primary">Send</button>
</form>

</div>
</div>
{/block}
107 changes: 107 additions & 0 deletions html-templates/events/event.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
{extends "designs/site.tpl"}

{block title}{_ 'Event'} &mdash; {$dwoo.parent}{/block}

{block content}
{$Event = $data}

<div class="page-header">
{*
<ol class="breadcrumb">
<li><a href="/events">{_ "Events"}</a></li>
<li><a href="{$Event->getUrl()}">{$Event->Title|escape}</a></li>
</ol>
*}
<div class="btn-toolbar pull-right">
{if $.User}
<form action="{$Event->getUrl(edit)}">
<button class="btn btn-success" type="submit">{glyph "pencil"}&nbsp;{_ "Edit Event&hellip;"}</button>
</form>
{/if}
</div>
<h1>{$Event->Title|escape}</h1>
</div>
<div class="row">
<div class="col-md-3">
<ul class="row list-unstyled">
{if $Event->Status != 'published'}
<li class="col-sm-3 col-md-12">
<p>
<b>Status</b><br/>
{$Event->Status}
</p>
</li>
{/if}

<li class="col-sm-3 col-md-12">
<p>
<b>Start time</b><br/>
{timestamp $Event->StartTime time=yes}
</p>
</li>

{if $Event->EndTime}
<li class="col-sm-3 col-md-12">
<p>
<b>End time</b><br/>
{timestamp $Event->EndTime time=yes}
</p>
</li>
{/if}

{if $Event->Location}
<li class="col-sm-3 col-md-12">
<p>
<b>Location</b><br/>
<a href="https://www.google.com/maps?q={$Event->Location|escape:url}">{$Event->Location|escape}</a>
</p>
</li>
{/if}
</ul>
</div>

<div class="col-md-9">
{if $Event->Description}
<div class="well">
<div class="content-markdown event-description">{$Event->Description|truncate:600|escape|markdown}</div>
</div>
{/if}

{if $Event->Segments}
<h2>Segments</h2>

{$lastDate = null}

{foreach item=Segment from=$Event->Segments}
{$thisDate = date("l, F jS", $Segment->StartTime)}

{if $lastDate != $thisDate}
{if $lastDate}
</dl>
{/if}
<h3>{$thisDate}</h3>
<dl class="dl-horizontal">
{$lastDate = $thisDate}
{/if}
<dt>{time_range $Segment->StartTime $Segment->EndTime}</dt>
<dd>
<a href="{$Event->getUrl("segments/$Segment->Handle")}">{$Segment->Title|escape}</a>
{if $Segment->LocationName || $Segment->LocationAddress}
<p>
<strong>Location</strong>
<a target="_blank" href="https://maps.google.com?q={implode(', ', array_filter(array($Segment->LocationName, $Segment->LocationAddress)))|escape:url}">
{if $Segment->LocationName && $Segment->LocationAddress}
{$Segment->LocationName|escape} ({$Segment->LocationAddress|escape})
{else}
{$Segment->LocationName|default:$Segment->LocationAddress|escape}
{/if}
</a>
</p>
{/if}
<div class="content-markdown event-segment-description">{$Segment->Description|escape|markdown}</div>
</dd>
{/foreach}
{/if}
</div>
</div>
{/block}
81 changes: 81 additions & 0 deletions html-templates/events/eventEdit.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{extends designs/site.tpl}

{block title}{if $data->isPhantom}{_ 'Create'}{else}{_('Edit %s')|sprintf:$data->Title|escape}{/if} &mdash; {_ 'Events'} &mdash; {$dwoo.parent}{/block}

{block js-bottom}
{$dwoo.parent}
{jsmin "epiceditor.js"}
{jsmin "pages/event-edit.js"}
{/block}

{block content}
{$Event = $data}

<div class="container">
<div class="row">
<div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3">
<div class="page-header">
<h1>
{if $Event->isPhantom}
{_ "Create new event"}
{else}
{_("Edit event %s")|sprintf:$Event->Title|escape}
{/if}
</h1>
</div>

{if !$Event->isValid}
<div class="error well">
<strong>{_ "There were problems with your entry:"}</strong>
<ul class="errors">
{foreach item=error key=field from=$Event->validationErrors}
<li>{$error}</li>
{/foreach}
</ul>
</div>
{/if}

<form method="POST">
<div class="form-group">
<label for="field-title">{_ "Title"}:</label>
<input name="Title" id="field-title" class="form-control" placeholder="{_ 'Workshop #125'}" value="{refill field=Title default=$Event->Title}" />
</div>
<div class="form-group">
<label for="field-handle">{_ "Handle"} ({_ "optional"}):</label>
<input name="Handle" id="field-handle" class="form-control" placeholder="{_ 'workshop-125'}" value="{refill field=Handle default=$Event->Handle}" />
<p class="help-block">Must be unique &mdash; leave blank to auto-generate</p>
</div>
<div class="form-group">
<label for="field-status">{_ "Status"}:</label>
<select name="Status" id="field-status" class="form-control">
{foreach item=status from=Emergence\Events\Event::getFieldOptions(Status, values)}
<option {refill field=Status default=$Event->Status selected=$status}>{$status}</option>
{/foreach}
</select>
</div>
<div class="form-group">
<label for="field-time-start">{_ "StartTime"}:</label>
<input type="date" name="StartTime" id="field-time-start" class="form-control" value="{refill field=StartTime default=$Event->StartTime}"/>
</div>
<div class="form-group">
<label for="field-time-end">{_ "EndTime"}:</label>
<input type="date" name="EndTime" id="field-time-end" class="form-control" value="{refill field=EndTime default=$Event->EndTime}"/>
</div>
<div class="form-group">
<label for="field-location">{_ "Location"}:</label>
<input type="text" name="Location" id="field-location" class="form-control" placeholder="908 N 3rd St, Philadelphia PA" value="{refill field=Location default=$Event->Location}"/>
</div>

<div class="form-group">
<label for="field-description">{_ 'Description(.md)'}</label>
<div class="controls">
<textarea name="Description" class="input-block-level" rows="10">{refill field=Description default=$Event->Description}</textarea>
</div>
</div>

<button type="submit" class="btn btn-primary">{if $Event->isPhantom}{_ 'Create Event'}{else}{_ 'Save Changes'}{/if}</button>
</form>
</div>
</div>
</div>
{/block}
18 changes: 18 additions & 0 deletions html-templates/events/eventSaved.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{extends designs/site.tpl}

{block title}Saved {$data->Title|escape} &mdash; Events &mdash; {$dwoo.parent}{/block}

{block content}
{$Event = $data}

{capture assign=eventLink}<a href="{$Event->getUrl()|escape}">{$Event->getTitle()|escape}</a>{/capture}

<div class="page-header">
<h1>Event Created</h1>
</div>
{if $Event->isNew}
<p>{_("Your event has been created: %s")|sprintf:$eventLink}</p>
{else}
<p>{_("Your changes to %s have been saved.")|sprintf:$eventLink}</p>
{/if}
{/block}
79 changes: 79 additions & 0 deletions html-templates/events/events.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{extends "designs/site.tpl"}

{block title}{_ 'Events'} &mdash; {$dwoo.parent}{/block}

{block content}
<header class="page-header">
<div class="btn-toolbar pull-right">
{if $.User}
<form action="/events/create">
<button class="btn btn-success" type="submit">{glyph "plus"}&nbsp;{_ "Add Event&hellip;"}</button>
</form>
{/if}
</div>
<h1>{_ "Events"} <span class="badge">{$total|number_format}</span></h1>
</header>

<div class="row">
<div class="col-sm-4 col-md-3">
<ul>
<li><a href="/events/*past">Past Events</a></li>
<li><a href="/events/*upcoming">Upcoming Events</a></li>
<li><a href="/events/*all">All Events</a></li>
</ul>
</div>
<div class="col-sm-8 col-md-9">
{foreach item=Event from=$data}
<article class="post panel panel-default">
<div class="panel-body">
<h2 class="post-title">
<a name="{$Event->Handle}" href="{$Event->getUrl()}">{$Event->Title|escape}</a>
</h2>
<ul class="row list-unstyled">
{if $Event->Status != 'published'}
<li class="col-md-3">
<p>
<b>Status</b><br/>
{$Event->Status}
</p>
</li>
{/if}

<li class="col-md-3">
<p>
<b>Start time</b><br/>
{timestamp $Event->StartTime time=yes}
</p>
</li>

{if $Event->EndTime}
<li class="col-md-3">
<p>
<b>End time</b><br/>
{timestamp $Event->EndTime time=yes}
</p>
</li>
{/if}

{if $Event->Location}
<li class="col-md-3">
<p>
<b>Location</b><br/>
<a href="https://www.google.com/maps?q={$Event->Location|escape:url}">{$Event->Location|escape}</a>
</p>
</li>
{/if}
</ul>
{if $Event->Description}
<div class="well">
<div class="content-markdown event-description">{$Event->Description|truncate:600|escape|markdown}</div>
</div>
{/if}
</div>
</article>
{foreachelse}
<p><em>No events were found, try creating one{if count($conditions)} or <a href="?">browse without any filters</a>{/if}.</em></p>
{/foreach}
</div>
</div>
{/block}
Loading