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

PHP Contact Form Generator

30 October 2025 - 10:55 | Version 11 |

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

Issue 1: license key is wrong or not valid (sept. 2025)

Installation error! Key is wrong or not valid. Please check you data again. (sic)

Answer of PHPJabbers:
Hi Stijn ,
In most cases it is issue of script update, if script is old, it does not support latest functions of php to match the licence key
Still you can try the following steps if it works, otherwise we have to update script , which will cost 150 USD, or you can purchase brand new script from website if your script is not customised
Please follow the steps below to resolve it:
1. Open the following file in your script:
- If your script is newer:
/app/plugins/pjInstaller/controllers/pjInstaller.controller
- If your script is older:
/plugins/pjInstaller/controllers/pjInstaller.controller
2. Locate the function pjActionOneInstall inside the file.
3. Find the following line:
$endPoint = base64_decode("aHR0cHM6Ly9zdXBwb3J0LnN0aXZhc29mdC5jb20v");
4. Replace it with:
$endPoint = base64_decode("aHR0cHM6Ly9lcnAucGhwamFiYmVycy5jb20v");
5. Save the file and check if the issue is resolved.

In reality, it has nothing to do with the 'latest functions of PHP', but with the endpoint where the license key is checked, which has changed from address

Decode yourself: https://www.base64decode.org/ I also changed it everywhere in the script, because the same endpoint line occurred twice or thrice.

Issue 2: admin-pagina verschijnt niet (sept. 2025)

Daarna ging de installatie zoals gewenst, maar kon ik niet inloggen aan de admin-kant van de tool. Op de admin-url verscheen een wit scherm met enkel een regel nietszeggende letters.

Ik heb dan het configuratiebestand (/app/config/config.inc.php) vergeleken met het configuratiebestand van dezelfde tool op de oude server, en daarin de 'verificatieregels' overgenomen:

slecht

if (!defined("PJ_SALT")) define("PJ_SALT", "E7I6TTYU");
if (!defined("PJ_INSTALLATION")) define("PJ_INSTALLATION", "2605928d2984d9958b87fb75bc45fe98");

goed

top secret

Issue 3: inloggen op admin-pagina lukt niet (sept. 2025)

Daarna verscheen de admin-pagina wel, maar het wachtwoord dat ik bij installatie had opgegeven, werd niet aanvaard. In versie 3.2.1 is er dan een Forgot password-link, maar ik ontving wel een mail, maar het wachtwoord was leeg...

Ik installeerde dan versie 4.0. Ook daar moest eerst issue 1 en 2 worden opgelost, maar de Forgot password-link hier stuurt een mail met een reset-link. Op die manier kon ik een nieuw wachtwoord aanmaken dat daarna wel werd aanvaard.

En het gekke was/is, dat ik dan ook meteen toegang had tot versie 3.2.1, alsof het wachtwoord er niet toe doet, als de sessiecookie (o.i.d.) maar aanwezig is!

Om dan uiteindelijk in versie 3.2.1 hetzelfde wachtwoord te krijgen als in versie 4.0 volgende update uitgevoerd:
update `web02014_events`.`eventbooking_users`
set `password` = (select `password` 
                            from `web02014_events40`.`eventbooking_plugin_auth_users` 
                            WHERE id = 1);

Daarna was inloggen op versie 3.2.1 ook gewoon mogelijk.

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

Zie apart topic EventBookingCalendarBookings

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