Log inRegister
You are here: Boossy » WebDesign » WdWebsites » 7-PhpJabbersScripts

PHP Contact Form Generator

Version

app/config/options.inc.php:
PJ_SCRIPT_BUILD
issue ticket(s) patch opmerking live sites
4.1.1 administration page not accessbile RJ1539415114 EmailFormUser.zip was blijkbaar nog niet compatibel met PHP7 muzitaal

Event Booking Calendar (1b EventBookingUserMod)

After some years of Wufoo forms and with 3,5 active event websites (choirs/theatres), I found it useful to switch to a self hosted event booking system.

I bought StivaSoft /PHPJabbers Event Booking Calendar.

Versions

app/config/options.inc.php:
PJ_SCRIPT_BUILD
issue ticket(s) patch opmerking live sites
3.1.2         kwamarant (2017&2018)
3.1.2 CUSTOMIZATION twee ticketprijzen IR1459013139 IR1459013139.zip    
PATCH1 sort Bookings by Date JT1465994401 IR1459013139-1.zip geëncrypteerde patch =>
not available for default build
not an issue in v3.2
 
PATCH2 sort Bookings by Date
color up/down arrow
JT1465994401 IR1459013139-2.zip geëncrypteerde patch =>
not available for default build
not an issue in v3.2
kunststudio living art
theaterstam
3.2.0          
3.2.1 bootstrap in bootstrap
(7-PhpJabbersScripts in Joomla!):
- modal window with grey overlay
- not visible on iPad iOS9.3 with Safari9
EC1489565765
UA1489566406
core/third-party/pj_bootstrap/3.3.2/
pjQuery.bootstrap.min.js
  vox mago
kwamarant (>2018)
3.2.2 ('190418)         vox mago (vanaf 2020)

General issue: form doesn't appear

In april 2018, the reservation form sometimes did appear, and sometimes didn't. Apparently, it was the difference between the www. and the non www. version of the site!

Solution 1 (v3.1.2, Kwamarant - v3.2.1, Vox Mago)

  • Rewrite all URLs from www.kwamarant.be to kwamarant.be using the following statements in the .htaccess on root level:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
  • use relative paths (/events31/...) instead of absolute paths
For Vox Mago...
  • I use absolute paths, with (3x) www (!), althought the suggested url's (Code & voorbeeld) don't contain www. But this is the way it works...
  • I also needed to adapt the .htaccess from drupal (not only from the root), removing the commented lines 104 & 105:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]

source: https://drupal.stackexchange.com/questions/85253/redirect-all-www-addresses-to-non-www-web-addresses

Solution 2 (v3.1.2 patch2, Kunststudio Living Art)

  • use relative paths (/events/...) instead of absolute paths
=> I suppose the rewrite is not necessary on Kwamarant… and that only the use of relative paths is necessary to get it working again.

Solution 3: external .htm file

Installation & Configuration

Create an events subdirectory and copy all files in it.

Create a dedicated events database (or use the database of your CMS).

Installation is easy thanks to the wizard.

The configuration is saved in the following file: ...\app\config\config.inc.php

Changes per site:
  • Options
  • Categories
  • Confirmation-bericht van een event
Two ways to display:
  • all events (with or without filter): Install & Preview
  • one event: Events > Add or Edit an event > Install tab

Dashboard

Events

In the confirmation mail, you're able to create a link to a real ticket:

U kunt uw ticket(s) hier downloaden en printen: {PDF_Tickets}

Please don't forget to add an image to the ticket (Ticket tab) with the following size: 510x280

Customization: multiple prices

  • Extra veld "Totaal aantal tickets" bij "Event".
  • Vul alleen bij het eerste tarief het aantal plaatsen in (evenveel als bij "Totaal aantal tickets")
  • Laat het leeg bij de andere tarieven

Bookings / Reservaties

Vraag van IA van Theater Stam:

Een tweede probleempje is dat één record over meerdere lijnen verdeeld wordt als in het commentaarveld 'Enter' gebruikt wordt.

De oplossing bestond erin de "end of lines" die in een cel staan, te vervangen door een spatie:

...\core\framework\components\pjCSV.component.php:

foreach ($item as $value)
   {
      $value = str_replace(array("\r\n", "\n", "\r"), ' ', $value);
      $cells[] = $this->enclose . preg_replace('/'.$this->enclose.'/', $this->escape . $this->enclose, $value) . $this->enclose;
   }

Categories / Categorieën

Users / Gebruikers

Options / Opties

Languages

Meertalig (Vox Mago > 07/09/2021)

  • oorspronkelijk Engels overschreven
  • tabel eventbooking_multi_lang uit boossy.be overgenomen (= oorspronkelijke, Engelse tabel)
    • eerst id's verhoogd met 1957 om unieke records te hebben in de doeltabel
    update `eventbooking_multi_lang`
    set id = id + 1957
    -- 1203 rijen bijgewerkt
    • dan geëxporteerd
    • vervolgens locale 1 vervangen door locale 3 in de export (voor zowel '!pjField' als '!pjCountry')
    • in de doeltabel alle records verwijderd met locale 3 en content null
    delete from eventbooking_multi_lang
    where locale = 3
    and content is null;
    -- 49 rijen bijgewerkt
    • tot slot de uit boossy.be geëxporteerde records probleemloos geïmporteerd in voxmago.be
    • en de recordid-id's in boossy.be weer met 1957 verlaagd
    update `eventbooking_multi_lang`
    set id = id - 1957
    -- 1203 rijen bijgewerkt

Eentalig

  • De recentste taalbestanden staan nu in F:\OneDrive\Webdesign\E_PHPJABBERS\LANGUAGE FILES:
    • pjLocale-1465978993.csv (import met correcte accenten)
    • eventbooking_options_nl.sql
    • de bestanden met hard coded text (zie verder) moet je zo nodig wel nog afzonderlijk kopiëren
  • export met semi-colon
  • in de database default taal op Nederlands gezet door de taal-id met Engels te switchen:
    eventbooking_plugin_locale: nl: id=1 en is_default=1
  • maak dan de lokale browsercache leeg

  • 14/06/2016: ook de backend is nu vertaald
  • OPGELET: woorden met accenten worden bij de import afgekapt - het ging concreet om woorden met…:
    • é (bv. één [é]),
    • ï (bv. geïnd [ï]),
    • ë (gecreëerd [ë]),
    • ü (geüpload [ü])
  • die moet je afzonderlijk nog eens gaan bijwerken
  • een export/import van de correcte vertalingen met accenten werkt dan weer wel (meteen herkenbaar aan het verticale menu-item "Categorieën")
  • ook enkele bestanden met hard coded text werden daartoe aangepast (onderstaande files zijn in 3.2.1 en 3.2.2 allemaal identiek):
    • 3.1 & 3.2: core\framework\libs\pj\js\jquery.datagrid.js (3.2-versie bevat ook verbeterde items per page met rowCountItems, wat naar 3.1 kan gekopieerd worden)
    • 3.1: app\views\pjAdminBookings\pjActionIndex.php
    • 3.1: app\views\pjAdminCategories\pjActionIndex.php
    • 3.1: app\views\pjAdminEvents\pjActionIndex.php
    • 3.1: app\views\pjAdminUsers\pjActionIndex.php
    • 3.1: app\plugins\pjBackup\web\js\pjBackup.js
    • 3.1: app\plugins\pjLog\web\js\pjLog.js
    • 3.1: app\plugins\pjOneAdmin\web\js\pjOneAdmin.js
    • 3.1 & 3.2: app\views\pjAdmin\pjActionIndex.php (datumvermelding onderaan het DASHBOARD)
  • 15/06/2016: ook de waarden van de "Opties" zijn nu vertaald: het ging om labels en values van de tabel eventbooking_options

Hide some elements

  • 3.1: app/views/pjFront/elements/layout_x/bookingform.php
  • 3.1: app/views/pjFront/elements/layout_x/bookingsummary.php

  • 3.2: app/views/pjFrontPublic/pjActionLoadBookingForm.php
  • 3.2: app/views/pjFrontPublic/pjActionLoadBookingSummary.php

Correct CSV export

By default, if the comment field of a booking contains an Enter, the export is split over multiple lines, thus breaking the correct column content!

So replace the following file:
  • 3.1 & 3.2: core/framework/components/pjCSV.component.php (3.1: TheaterStam, 3.2: VoxMago)

Overview of touched files (as per 31/12/'19 - VMG switch 123>HS, EBC321>EBC322)

  • app/config/config.inc.php (different per installation - DON'T OVERWRITE)
  • app/views/pjAdmin/pjActionIndex.php
  • app/views/pjFrontPublic/pjActionLoadBookingForm.php
  • app/views/pjFrontPublic/pjActionLoadBookingSummary.php
  • app/web/css/styles.css (vanaf 3.2.2? - doorzichtig background)
  • app/web/css/themes/theme1.css (different per site)
  • core/framework/components/pjCSV.component.php
  • core/framework/libs/pj/css/pj.bootstrap.min.css
  • core/framework/libs/pj/js/jquery.datagrid.js
  • core/third-party/pj_bootstrap/3.3.2/pjQuery.bootstrap.min.js
  • .htaccess (DON'T OVERWRITE)

Install & Preview / Code & Voorbeeld

  • Layout: Layout1 instead of Layout2: 3 clicks to order tickets instead of 4
  • View: List (too few events to use calendar or monthly view)
  • Hide view switch icons: Yes
  • Hide category selection: Yes

Logout / Uitloggen

tags

vertaling - vertalingen - translation - translations
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
This page was cached on 20 Apr 2024 - 09:58.