removed form from agenda view and added separate page with shortcode
authorAnthony Talarico <talarico@gaslightmedia.com>
Tue, 29 Mar 2016 12:15:54 +0000 (08:15 -0400)
committerAnthony Talarico <talarico@gaslightmedia.com>
Tue, 29 Mar 2016 12:15:54 +0000 (08:15 -0400)
css/front.css
models/front/events/frontAdd.php [new file with mode: 0644]
setup/shortcodes.php
setup/validActions.php
views/front/events/add.html [deleted file]
views/front/events/agenda.html
views/front/events/frontAdd.html [new file with mode: 0644]

index f3d73c9..2211ea9 100644 (file)
   background-position: 0px 0px !important;
 }
 #addEventFields{
-    display:none;
+  
 }
\ No newline at end of file
diff --git a/models/front/events/frontAdd.php b/models/front/events/frontAdd.php
new file mode 100644 (file)
index 0000000..7f26ffa
--- /dev/null
@@ -0,0 +1,167 @@
+<?php
+/**
+ * list.php
+ *
+ * This is the Members Event Plugin model for the front list shortcode.
+ * Handles the default and searching of the events. Then calls appropriate view
+ * files.
+ */
+
+require_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH . '/data/dataEvents.php';
+require_once GLM_MEMBERS_EVENTS_PLUGIN_PATH . '/models/front/events/baseAction.php';
+
+/**
+ * GlmMembersFront_events_list
+ *
+ * @uses      GlmDataEvents
+ * @package   GlmMemberEvents
+ * @version   0.0.1
+ * @copyright Copyright (c) 2010 All rights reserved.
+ * @author    Steve Sutton <steve@gaslightmedia.com>
+ * @license   PHP Version 3.0 {@link http://www.php.net/license/3_0.txt}
+ */
+class GlmMembersFront_events_frontAdd extends GlmMembersFront_events_baseAction
+{
+    /**
+     * modelAction
+     *
+     * @param bool $actionData Action Data passed to the modelAction
+     *
+     * @access public
+     * @return void
+     */
+    public function modelAction($actionData = false)
+    {
+        $allEvents = $this->getList();
+        //echo '<pre>' . print_r( $allEvents, true ) . '</pre>';
+        $status = $categoryId = null;
+        $action = '';
+        $settings = $events = $event = $categoryEvents = array();
+        if (isset($_REQUEST['eventId']) && $eventId = filter_var($_REQUEST['eventId'], FILTER_VALIDATE_INT)) {
+            $search = true;
+            $action = 'event-detail';
+        }
+        if (isset($_REQUEST['category']) && $categoryId = filter_var($_REQUEST['category'], FILTER_VALIDATE_INT)) {
+            $search = true;
+            $action = 'event-list';
+        }
+        if (isset($_REQUEST['search']) && $search = filter_var($_REQUEST['search'], FILTER_VALIDATE_INT)) {
+            $search = true;
+            $action = 'event-list';
+        }
+        if ( isset($_REQUEST['glm_event_from']) ) {
+            $fromDate = filter_var($_REQUEST['glm_event_from'], FILTER_SANITIZE_STRING);
+        } else {
+            $fromDate = date('m/d/Y');
+        }
+        if ( isset($_REQUEST['glm_event_to']) ) {
+            $toDate   = filter_var($_REQUEST['glm_event_to'], FILTER_SANITIZE_STRING);
+        } else {
+            if ( isset($_REQUEST['t']) && $t = filter_var( $_REQUEST['t'], FILTER_SANITIZE_STRING ) ) {
+                switch ( $t ) {
+                case 'today':
+                    $toDate = date('m/d/Y');
+                    break;
+                case 'tomorrow':
+                    $fromDate = $toDate = date('m/d/Y', strtotime( '+ 1 day' ));
+                    break;
+                case 'nextseven':
+                    $toDate = date('m/d/Y', strtotime( '+ 7 days' ));
+                    break;
+                default:
+                    $toDate = date('m/d/Y', strtotime( '+ 2 weeks' ));
+                    break;
+                }
+            } else {
+                $toDate = date('m/d/Y', strtotime( '+ 2 weeks' ));
+            }
+        }
+        if ( $fromDate && $toDate ) {
+            $from = date('Y-m-d', strtotime($fromDate));
+            $to   = date('Y-m-d', strtotime($toDate));
+            $this->dateRange = "start_time BETWEEN CAST('{$from}' AS DATE) AND CAST('{$to}' as DATE)";
+        }
+        //echo '<pre>$this->dateRange: ' . print_r($this->dateRange, true) . '</pre>';
+
+        if (isset($_REQUEST['event_name']) && $eventNameSearch = filter_var($_REQUEST['event_name'], FILTER_SANITIZE_STRING)) {
+            $search = true;
+            $action = 'event-list';
+        } else {
+            $eventNameSearch = false;
+        }
+
+        $categories = $this->getCategories();
+        wp_register_script(
+            'event-dashboard-js',
+            GLM_MEMBERS_EVENTS_PLUGIN_BASE_URL . '/js/dashboard.js',
+            'jquery-datepicker',
+            GLM_MEMBERS_EVENTS_PLUGIN_VERSION,
+            true
+        );
+        wp_enqueue_script('event-dashboard-js');
+
+
+        switch ($action) {
+        case 'event-list':
+            $events = $this->getModelEventsData($categoryId);
+            $view = 'agenda.html';
+            break;
+        default:
+            $view = 'agenda.html';
+            $events = $this->getModelEventsData($categoryId);
+            break;
+        }
+
+        // group the events by the starting date
+        $eventsByDate = array();
+        if ($events) {
+            foreach ( $events as $event ) {
+                foreach ( $event['times'] as $eventTime ) {
+                    $eventDateTime = mktime(
+                        0, 0, 0,
+                        date('n', $eventTime['start_time']['timestamp']),
+                        date('j', $eventTime['start_time']['timestamp']),
+                        date('Y', $eventTime['start_time']['timestamp'])
+                    );
+                    $event['starting_date'] = $eventTime['start_time']['timestamp'];
+                    $event['ending_date']   = $eventTime['end_time']['timestamp'];
+                    $event['hasSameTimes']  = ($event['starting_date'] == $event['ending_date']) ? 1 : 0;
+                    $eventsByDate[$eventDateTime][$eventTime['start_time']['timestamp']] = $event;
+                }
+            }
+            ksort($eventsByDate);
+        }
+        //echo '<pre>$eventsByDate: ' . print_r($eventsByDate, true) . '</pre>';
+        //if ($eventNameSearch) {
+            //$events = array_filter($events, function($event) use($eventNameSearch){
+                //return preg_match('/' . preg_quote( $eventNameSearch ) . '/i', $event['title']);
+            //});
+        //}
+
+        // Compile template data
+        $templateData = array(
+            'siteBaseUrl'  => GLM_MEMBERS_EVENTS_SITE_BASE_URL,
+            'currentUrl'   => GLM_MEMBERS_EVENTS_PLUGIN_CURRENT_URL,
+            'categoryId'   => $categoryId,
+            'categories'   => $categories,
+            //'events'       => $events,
+            'eventsByDate' => $eventsByDate,
+            //'event'       => $event,
+            'catEvents'    => $categoryEvents,
+            'fromDate'     => $fromDate,
+            'toDate'       => $toDate,
+            'eventName'    => $eventNameSearch,
+            'imgUrl'  => GLM_MEMBERS_PLUGIN_MEDIA_URL . '/images/small/'
+        );
+
+        error_reporting(E_ALL ^ E_NOTICE);
+        return array(
+            'status'           => $status,
+            'menuItemRedirect' => false,
+            'modelRedirect'    => false,
+            'view'             => 'front/events/frontAdd.html',
+            'data'             => $templateData,
+            'settings'         => $settings
+        );
+    }
+}
index 89767f0..8a4dba4 100644 (file)
@@ -114,6 +114,15 @@ $glmMembersEventsShortcodes = array(
             'id' => false
         )
     ),
+    'glm-members-event-frontAdd' => array(
+        'plugin'     => GLM_MEMBERS_EVENTS_PLUGIN_SLUG,
+        'menu'       => 'events',
+        'action'     => 'frontAdd',
+        'table'      => false,
+        'attributes' => array(
+            'id' => false
+        )
+    ),
     
 );
 
index 245998a..5cdf7de 100644 (file)
@@ -49,7 +49,8 @@ $glmMembersEventsAddOnValidActions = array(
     'frontActions' => array(
         'events' => array(
             'list' => GLM_MEMBERS_EVENTS_PLUGIN_SLUG,
-            'detail' => GLM_MEMBERS_EVENTS_PLUGIN_SLUG
+            'detail' => GLM_MEMBERS_EVENTS_PLUGIN_SLUG,
+            'frontAdd'    => GLM_MEMBERS_EVENTS_PLUGIN_SLUG
 
         )
     )
diff --git a/views/front/events/add.html b/views/front/events/add.html
deleted file mode 100644 (file)
index 998a759..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-
-<div id="addEventFields" title="Add Your Event" >
-    <form action="{$currentUrl}" method="post">
-          <table id="glm-table-descr" class="glm-admin-table glm-event-table">
-        <tr>
-            <th {if $event.fieldRequired.name}class="glm-required"{/if}>Event Name:</th>
-            <td {if $event.fieldFail.name}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
-                <input type="text" name="name" value="{$event.fieldData.name}" class="glm-form-text-input-medium" placeholder="Name of this event.">
-                {if $event.fieldFail.name}<p>{$event.fieldFail.name}</p>{/if}<br>
-            </td>
-        </tr>
-        <tr>
-            <th>Member:</th>
-            <td>
-        {if $haveMember}
-                {$memberData.member_name}
-        {else}
-                <select name="ref_dest">
-    {foreach $event.fieldData.ref_dest.list as $v}
-                    <option value="{$v.value}"{if $v.default} selected{/if}>{$v.name}</option>
-    {/foreach}
-                </select>
-        {/if}
-            </td>
-        </tr>
-{if $haveEvent}
-        <tr>
-            <th>Name for URLs:</th>
-            <td>{$event.fieldData.name_slug}</td>
-        </tr>
-        <tr>
-            <th>Created:</th>
-            <td>{$event.fieldData.created.datetime}</td>
-        </tr>
-        <tr>
-            <th>Last Updated:</th>
-            <td>{$event.fieldData.updated.datetime}</td>
-        </tr>
-        <tr>
-            <th>Last Approved:</th>
-            <td>{$event.fieldData.approved.datetime}</td>
-        </tr>
-{/if}
-        <tr>
-            <th>Status:</th>
-            <td>
-                <select name="status">
-    {foreach $event.fieldData.status.list as $v}
-                    <option value="{$v.value}"{if $v.default} selected{/if}>{$v.name}</option>
-    {/foreach}
-                </select>
-                {if $event.fieldFail.status}<p>{$event.fieldFail.status}</p>{/if}
-            </td>
-        </tr>
-        <tr>
-            <th>Categories</th>
-            <td class="glm-item-container">
-            
-                <!--  Add new category dialog -->
-            
-                <div id="newCategoryButton" class="button button-secondary glm-right">Add a new Category</div>
-                <div id="newCategoryDialog" class="glm-dialog-box" title="Enter a New Category">
-                        <table class="glm-admin-table">
-                            <tr>
-                                <th class="glm-required">Category Name:</th>
-                                <td id="newCatNameTD">
-                                    <input id="newCatName" type="text" name="newCatName" class="glm-form-text-input">
-                                    <div id="newCatNameRequired"></div>
-                                </td>
-                            </tr>
-                            <tr>
-                                <th>Parent Category:</th>
-                                <td>
-                                    <select id="newCatParent" name="newCatParent">
-                        {if $categories}
-                                        <option value=""></option>
-                            {foreach $categories as $t}
-                                {if !$t.parent} <!-- don't show child categories -->
-                                        <option value="{$t.id}" data-parent="{$t.name}">{$t.name}</option>
-                                {/if}
-                            {/foreach}
-                        {/if}
-                                    </select>
-                                    <br>OR<br>
-                                    <input id="newCatParentName" type="text" name="newCatParentName" placeholder="Enter a new parent name."> 
-                                </td>
-                            </tr>
-                        </table>
-                        <p><span class="glm-required">*</span> Required</p>
-                        <a id="newCategoryCancel" class="button button-primary glm-right">Cancel</a>
-                        <input id="newCategorySubmit" type="submit" value="Add new Category">
-                </div>
-                
-                <!-- Category Selection -->
-                
-                <select name="categorySelect" id="categorySelect">
-    {if $categories}
-                    <option id="categoryNone" value=""></option>
-        {foreach $categories as $v}
-                    <option value="{$v.id}" data-parent="{$v.parent}">
-                        {if $v.parent_id}&nbsp;&nbsp;&nbsp;&nbsp;{/if}{$v.name}
-                    </option>
-        {/foreach}
-    {else}
-                    <option id="" value="">(No Categories Listed - Select "Add a new Category" to the right. )</option>  
-    {/if}
-                </select>&nbsp;&nbsp; Select a category to add to box below.<br>
-                <div id="activeCategories" class="glm-dynSelect-box">
-                
-    {if isset($event.fieldData.categories) && $event.fieldData.categories}
-        {foreach $event.fieldData.categories as $c}
-                    <div data-id="{$c.id}" class="glm-dynSelect-item glm-events-category">
-                        {if $c.parent_name != ''}{$c.parent_name}: {/if}{$c.name} 
-                        <span data-id="{$c.id}" class="glm-dynSelect-delete catDelete">X</span>
-                        <input type="hidden" name="category[{$c.id}]" value="{$c.id}">
-                   </div>                    
-        {/foreach}
-    {/if}                    
-                </div>
-            </td>
-        </tr>
-        <tr>
-            <th {if $event.fieldRequired.intro}class="glm-required"{/if}>Intro Text:</th>
-            <td {if $event.fieldFail.intro}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
-                <textarea name="intro" class="glm-form-textarea">{$event.fieldData.intro}</textarea>
-                {if $event.fieldFail.intro}<p>{$event.fieldFail.intro}</p>{/if}
-            </td>
-        </tr>
-        <tr>
-            <th {if $event.fieldRequired.descr}class="glm-required"{/if}>Description:</th>
-            <td {if $event.fieldFail.descr}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
-                {php} 
-                    wp_editor('{$event.fieldData.descr|escape:quotes}', 'glm_descr', array(
-                        // 'media_buttons' => true,
-                        // 'quicktags' => false,
-                        // 'wpautop' => false,  NOTE: Dont's use. Problem when numerous spaces before text.
-                        'textarea_name' => 'descr',
-                        'editor_height' => 200,     // Height in px, overrides editor_rows
-                            // 'textarea_rows' => 8
-                    ));
-                {/php}
-                {if $event.fieldFail.descr}<p>{$event.fieldFail.descr}</p>{/if}
-            </td>
-        </tr>
-        <tr>
-            <th {if $event.fieldRequired.image}class="glm-required"{/if}>Image:</th>
-            <td {if $event.fieldFail.image}class="glm-form-bad-input"{/if}>
-                <table class="glm-admin-image-edit-table">
-    {if $event.fieldData.image}
-                    <tr>
-                        <td>
-                            <div class="glm-galleryImage" data-id="image">
-                                <img src="{$glmPluginMediaUrl}/images/small/{$event.fieldData.image}">
-                            </div>
-                        </td>
-                        <td>
-                            <input type="checkbox" name="image_delete"> Delete Image<br>
-                            {$event.fieldData.image}<br>
-                        </td>
-                    </tr>
-    {/if}
-                    <tr><td colspan="2"><b>New image:</b> <input type="file" name="image_new"></td></tr>
-                </table>
-                <div id="glm-galleryImageLarger_image" class="glm-imageDialog"><img src="{$glmPluginMediaUrl}/images/large/{$event.fieldData.image}"></div>
-                {if $event.fieldFail.image}<p>{$event.fieldFail.image}</p>{/if}
-            </td>
-        </tr>
-        <tr>
-            <th {if $event.fieldRequired.url}class="glm-required"{/if}>Web Address (URL):</th>
-            <td {if $event.fieldFail.url}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
-                <input type="text" name="url" value="{$event.fieldData.url}" class="glm-form-text-input-medium" placeholder="ex: http://www.gaslightmedia.com">
-                {if $event.fieldFail.url}<p>{$event.fieldFail.url}</p>{/if}<br>
-            </td>
-        </tr>
-        <tr>
-            <th {if $event.fieldRequired.ticket_url}class="glm-required"{/if}>Ticketing Address (URL):</th>
-            <td {if $event.fieldFail.ticket_url}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
-                <input type="text" name="ticket_url" value="{$event.fieldData.ticket_url}" class="glm-form-text-input-medium" placeholder="ex: http://www.gaslightmedia.com/ticketing/">
-                {if $event.fieldFail.ticket_url}<p>{$event.fieldFail.ticket_url}</p>{/if}<br>
-            </td>
-        </tr>
-        <tr>
-            <th {if $event.fieldRequired.cost}class="glm-required"{/if}>Description of Cost:</th>
-            <td {if $event.fieldFail.cost}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
-                <input type="text" name="cost" value="{$event.fieldData.cost}" class="glm-form-text-input-medium">
-                {if $event.fieldFail.cost}<p>{$event.fieldFail.cost}</p>{/if}<br>
-            </td>
-        </tr>
-        <tr>
-            <th {if $event.fieldRequired.notes}class="glm-required"{/if}>Notes:</th>
-            <td {if $event.fieldFail.notes}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
-                <textarea name="notes" class="glm-form-textarea">{$event.fieldData.notes}</textarea>
-                {if $event.fieldFail.notes}<p>{$event.fieldFail.notes}</p>{/if}
-            </td>
-        </tr>
-
-    </table>
-
-    </form>
-</div>
index 736c33d..48f7223 100644 (file)
@@ -3,7 +3,6 @@
         {include file='front/events/searchForm.html'}
         {include file='front/events/shortCuts.html'}
     </div>
-     {include file='front/events/add.html'}
     <div id="glm-event-agenda-view" class="row">
         <div class="small-12 column">
             <form action="{$currentUrl}" method="post">
diff --git a/views/front/events/frontAdd.html b/views/front/events/frontAdd.html
new file mode 100644 (file)
index 0000000..998a759
--- /dev/null
@@ -0,0 +1,200 @@
+
+<div id="addEventFields" title="Add Your Event" >
+    <form action="{$currentUrl}" method="post">
+          <table id="glm-table-descr" class="glm-admin-table glm-event-table">
+        <tr>
+            <th {if $event.fieldRequired.name}class="glm-required"{/if}>Event Name:</th>
+            <td {if $event.fieldFail.name}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
+                <input type="text" name="name" value="{$event.fieldData.name}" class="glm-form-text-input-medium" placeholder="Name of this event.">
+                {if $event.fieldFail.name}<p>{$event.fieldFail.name}</p>{/if}<br>
+            </td>
+        </tr>
+        <tr>
+            <th>Member:</th>
+            <td>
+        {if $haveMember}
+                {$memberData.member_name}
+        {else}
+                <select name="ref_dest">
+    {foreach $event.fieldData.ref_dest.list as $v}
+                    <option value="{$v.value}"{if $v.default} selected{/if}>{$v.name}</option>
+    {/foreach}
+                </select>
+        {/if}
+            </td>
+        </tr>
+{if $haveEvent}
+        <tr>
+            <th>Name for URLs:</th>
+            <td>{$event.fieldData.name_slug}</td>
+        </tr>
+        <tr>
+            <th>Created:</th>
+            <td>{$event.fieldData.created.datetime}</td>
+        </tr>
+        <tr>
+            <th>Last Updated:</th>
+            <td>{$event.fieldData.updated.datetime}</td>
+        </tr>
+        <tr>
+            <th>Last Approved:</th>
+            <td>{$event.fieldData.approved.datetime}</td>
+        </tr>
+{/if}
+        <tr>
+            <th>Status:</th>
+            <td>
+                <select name="status">
+    {foreach $event.fieldData.status.list as $v}
+                    <option value="{$v.value}"{if $v.default} selected{/if}>{$v.name}</option>
+    {/foreach}
+                </select>
+                {if $event.fieldFail.status}<p>{$event.fieldFail.status}</p>{/if}
+            </td>
+        </tr>
+        <tr>
+            <th>Categories</th>
+            <td class="glm-item-container">
+            
+                <!--  Add new category dialog -->
+            
+                <div id="newCategoryButton" class="button button-secondary glm-right">Add a new Category</div>
+                <div id="newCategoryDialog" class="glm-dialog-box" title="Enter a New Category">
+                        <table class="glm-admin-table">
+                            <tr>
+                                <th class="glm-required">Category Name:</th>
+                                <td id="newCatNameTD">
+                                    <input id="newCatName" type="text" name="newCatName" class="glm-form-text-input">
+                                    <div id="newCatNameRequired"></div>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>Parent Category:</th>
+                                <td>
+                                    <select id="newCatParent" name="newCatParent">
+                        {if $categories}
+                                        <option value=""></option>
+                            {foreach $categories as $t}
+                                {if !$t.parent} <!-- don't show child categories -->
+                                        <option value="{$t.id}" data-parent="{$t.name}">{$t.name}</option>
+                                {/if}
+                            {/foreach}
+                        {/if}
+                                    </select>
+                                    <br>OR<br>
+                                    <input id="newCatParentName" type="text" name="newCatParentName" placeholder="Enter a new parent name."> 
+                                </td>
+                            </tr>
+                        </table>
+                        <p><span class="glm-required">*</span> Required</p>
+                        <a id="newCategoryCancel" class="button button-primary glm-right">Cancel</a>
+                        <input id="newCategorySubmit" type="submit" value="Add new Category">
+                </div>
+                
+                <!-- Category Selection -->
+                
+                <select name="categorySelect" id="categorySelect">
+    {if $categories}
+                    <option id="categoryNone" value=""></option>
+        {foreach $categories as $v}
+                    <option value="{$v.id}" data-parent="{$v.parent}">
+                        {if $v.parent_id}&nbsp;&nbsp;&nbsp;&nbsp;{/if}{$v.name}
+                    </option>
+        {/foreach}
+    {else}
+                    <option id="" value="">(No Categories Listed - Select "Add a new Category" to the right. )</option>  
+    {/if}
+                </select>&nbsp;&nbsp; Select a category to add to box below.<br>
+                <div id="activeCategories" class="glm-dynSelect-box">
+                
+    {if isset($event.fieldData.categories) && $event.fieldData.categories}
+        {foreach $event.fieldData.categories as $c}
+                    <div data-id="{$c.id}" class="glm-dynSelect-item glm-events-category">
+                        {if $c.parent_name != ''}{$c.parent_name}: {/if}{$c.name} 
+                        <span data-id="{$c.id}" class="glm-dynSelect-delete catDelete">X</span>
+                        <input type="hidden" name="category[{$c.id}]" value="{$c.id}">
+                   </div>                    
+        {/foreach}
+    {/if}                    
+                </div>
+            </td>
+        </tr>
+        <tr>
+            <th {if $event.fieldRequired.intro}class="glm-required"{/if}>Intro Text:</th>
+            <td {if $event.fieldFail.intro}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
+                <textarea name="intro" class="glm-form-textarea">{$event.fieldData.intro}</textarea>
+                {if $event.fieldFail.intro}<p>{$event.fieldFail.intro}</p>{/if}
+            </td>
+        </tr>
+        <tr>
+            <th {if $event.fieldRequired.descr}class="glm-required"{/if}>Description:</th>
+            <td {if $event.fieldFail.descr}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
+                {php} 
+                    wp_editor('{$event.fieldData.descr|escape:quotes}', 'glm_descr', array(
+                        // 'media_buttons' => true,
+                        // 'quicktags' => false,
+                        // 'wpautop' => false,  NOTE: Dont's use. Problem when numerous spaces before text.
+                        'textarea_name' => 'descr',
+                        'editor_height' => 200,     // Height in px, overrides editor_rows
+                            // 'textarea_rows' => 8
+                    ));
+                {/php}
+                {if $event.fieldFail.descr}<p>{$event.fieldFail.descr}</p>{/if}
+            </td>
+        </tr>
+        <tr>
+            <th {if $event.fieldRequired.image}class="glm-required"{/if}>Image:</th>
+            <td {if $event.fieldFail.image}class="glm-form-bad-input"{/if}>
+                <table class="glm-admin-image-edit-table">
+    {if $event.fieldData.image}
+                    <tr>
+                        <td>
+                            <div class="glm-galleryImage" data-id="image">
+                                <img src="{$glmPluginMediaUrl}/images/small/{$event.fieldData.image}">
+                            </div>
+                        </td>
+                        <td>
+                            <input type="checkbox" name="image_delete"> Delete Image<br>
+                            {$event.fieldData.image}<br>
+                        </td>
+                    </tr>
+    {/if}
+                    <tr><td colspan="2"><b>New image:</b> <input type="file" name="image_new"></td></tr>
+                </table>
+                <div id="glm-galleryImageLarger_image" class="glm-imageDialog"><img src="{$glmPluginMediaUrl}/images/large/{$event.fieldData.image}"></div>
+                {if $event.fieldFail.image}<p>{$event.fieldFail.image}</p>{/if}
+            </td>
+        </tr>
+        <tr>
+            <th {if $event.fieldRequired.url}class="glm-required"{/if}>Web Address (URL):</th>
+            <td {if $event.fieldFail.url}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
+                <input type="text" name="url" value="{$event.fieldData.url}" class="glm-form-text-input-medium" placeholder="ex: http://www.gaslightmedia.com">
+                {if $event.fieldFail.url}<p>{$event.fieldFail.url}</p>{/if}<br>
+            </td>
+        </tr>
+        <tr>
+            <th {if $event.fieldRequired.ticket_url}class="glm-required"{/if}>Ticketing Address (URL):</th>
+            <td {if $event.fieldFail.ticket_url}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
+                <input type="text" name="ticket_url" value="{$event.fieldData.ticket_url}" class="glm-form-text-input-medium" placeholder="ex: http://www.gaslightmedia.com/ticketing/">
+                {if $event.fieldFail.ticket_url}<p>{$event.fieldFail.ticket_url}</p>{/if}<br>
+            </td>
+        </tr>
+        <tr>
+            <th {if $event.fieldRequired.cost}class="glm-required"{/if}>Description of Cost:</th>
+            <td {if $event.fieldFail.cost}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
+                <input type="text" name="cost" value="{$event.fieldData.cost}" class="glm-form-text-input-medium">
+                {if $event.fieldFail.cost}<p>{$event.fieldFail.cost}</p>{/if}<br>
+            </td>
+        </tr>
+        <tr>
+            <th {if $event.fieldRequired.notes}class="glm-required"{/if}>Notes:</th>
+            <td {if $event.fieldFail.notes}class="glm-form-bad-input" data-tabid="glm-event-descr"{/if}>
+                <textarea name="notes" class="glm-form-textarea">{$event.fieldData.notes}</textarea>
+                {if $event.fieldFail.notes}<p>{$event.fieldFail.notes}</p>{/if}
+            </td>
+        </tr>
+
+    </table>
+
+    </form>
+</div>