+++ /dev/null
-<?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
- );
- }
-}
+++ /dev/null
-
-<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} {/if}{$v.name}
- </option>
- {/foreach}
- {else}
- <option id="" value="">(No Categories Listed - Select "Add a new Category" to the right. )</option>
- {/if}
- </select> 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>