Skip to content

WalkTheWeb v3.6.1

Compare
Choose a tag to compare
@adishno adishno released this 28 Feb 20:45
· 462 commits to WalkTheWeb since this release
1dec11e

Release Date: 2/28/2023
By Aaron Dishno Ed.D.

This software is a hosting software for 3D Websites as part of 3D Internet Metaverse that combine 3D Gaming with 3D Shopping. It is a 3D CMS for 3D Games and 3D Plugins.

Demo 3D Website: https://3d.walktheweb.com/

This release focuses on separating the 3dnet.walktheweb.com and 3dnet.walktheweb.network calls into the 3D Internet Plugin from the main WalkTheWeb code. We also added a default and custom option on install that provides a way to install without activating the 3D Internet Plugin. We also added a number of user interface enhancements and updated the BabylonJS Engine.

Here are the details for this release:

Feedback Notes added - We added some notes to the feedback page under Admin Dashboard. The note provides instructions where users submit the feedback, and we added a note for when no feedback is found.

API Keys Note - We added a note to indicate when there are no API Leys found. If found, the normal list will show.

Developers Tools Note - We added an Admin Menu -> developers tools note to instruct to click F12 to open the console to display the following lists.

Created Hook for pluginsOpenFullPageFormMediaLibrary - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsOpenFullPageFormMediaLibrary. We then moved the related code to a new function called openFullPageFormMediaLibrary under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to media library section of the open full page form function.

The Update Menu Item Code Moved - The Update menu item under the Admin Dashboard section was moved to the 3D Internet Plugin, since the page it opens was already moved.

Swapped Columns on Dashboard - We swapped the columns on the Admin Dashboard because the first column was all provided by the 3D Internet Plugin and when it is inactive the first column was blank. Now it looks more appropriate.

Google Translate Prompt - We were getting a Google Translate bar opened to Arabic when opening the Admin Mode. We added a meta tag to set google to notranslate and a tag to identify the html tag as English language.

Enable Plugin Error - When adding the enable 3D Internet Plugin code if you select custom install, the code was missing a closing quote and semicolon. This was causing a 500 error in the install. This has been corrected.

Toggle Admin Menu Items - In the toggle admin menu items code, we check if any sub menu items are already open, then close on toggle. We moved 2 of the items to the 3D Internet Plugin, so code needed to test if the plugin was enabled and the options are set.

Admin Menu Upgrades Icon - The Upgrades admin menu item was missing the icon (it was in a plugin that is not released yet.) We moved the icon to the content/system/images folder and corrected the paths in the code.

My Avatar Mobile Transparency - When using mobile devices, we set the transparency to 50% in order to increase the visibility of the 3D Scene.

Render Canvas Style - After the latest Babylon update, the render canvas was defaulting to show the pointer cursor all of the time. We set it manually to cursor at default to over-ride this setting. Now the mouse changes to pointer on pickable elements in the 3D Scene.

Centered Avatar Animations Selections - After collapsing the browse menu, the avatar animations would pop up on the left side when opened. We changed the centering calculation to be WTW.sizeX based to correct the issue.

Created Hook for pluginsGetPluginInfoComplete - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsGetPluginInfoComplete. We then moved the related code to a new function called getPluginInfoComplete under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the returned plugin list array and display. For the 3D Internet Plugin, it allows us to check for updates and add download buttons for updates as well as badges.

Moved plugin Hook for pluginsLoadLoginSettings - The plugin hook for pluginsLoadLoginSettings has been moved from the loadLoginSettings to the loadLoginSettingsResponse function so that it can use the WTW.globalLogins settings in the plugins.

Added Enter Button Code - We added code to show the enter button on the loadUserSettingsAfterEngine function. We placed it right before the plugins hook, so that plugins can override or reset it as necessary.

3D Internet Plugin Activation - During the new install, if you select default installation, the 3D Internet Plugin will not automatically load as activated. The 3D Internet Plugin code is still there and can easily be activated in the Admin -> 3D Plugins. If you select custom installation, the 3D Internet Plugin is automatically set active and you will have options to download your 3D Building and 3D Community selections in the install.

Place Holder Camera Movements - We added a section in the move avatar function to handle Camera Movements when the avatar is not loaded yet. This was required as a separate section since the core avatar movements is a weighted movement based on animations running and there are no animations running on the place holder before the avatar is selected.

Place Holder Limitations Removed - There were a number of inputs and move avatar commands that sere set to only work if the placeholder was removed and the avatar was present. We removed these restrictions so that the initial camera can move before the avatar is started on the scene. (WTW.placeHolder == 0)

3D Scenes start with Collapsed Menu - The 3D Scenes now load with a collapsed browse menu. Click the bottom left icon to toggle the browse menu open or closed.

Enter Scene Camera Movement Enabled - When you enter a 3D Scene, we have now enabled a limited amount of camera movement. Keyboard, mouse, or touch will now allow you to rotate the camera right, left, up, and down. This allows you to look at a 3D Scene before you choose to enter it, login, select an avatar, and walk around.

New Enter Button on 3D Scene Load - When you first load a new 3D Scene, you will now see a single small button labeled ENTER. When you click it, you will then see the login options (or straight to a login if you have only one option enabled).

New 3D Internet Menu Options - First we split the old 3D Internet Settings page into 2 menu options, one for WalkTheWeb Logins and Avatars and one for Multiplayer and Chat. Then we added two more menu options and pages for Templates and Sharing and Franchising to the Internet. The Templates option allow admins to turn on or off the ability to access WalkTheWeb Downloads and separately turn on or off access to add plugins. The Sharing refers to the ability to Share a copy of your 3D Community, 3D Building, 3D Thing, or 3D Avatar to the world. This option allows you to turn on of off the menu option to Share. Finally, the Franchising section controls the 3D Web Aliases ability to Franchise out a 3D Building or 3D Thing to be added to 3D Community on another server. There is also an option to turn on or off the ability to add a Franchised 3D Building or 3D Thing to your 3D Communities.

downloads.php Handler moved to 3D Internet Downloads Handler - The downloads.php handler that calls the database functions for the WalkTheWeb Downloads has been replaced by the 3D Internet Plugin wtw-3dinternet-downloads.php handler. All of the WalkTheWeb Downloads functionality has now been moved to the 3D Internet Class.

wtwdownloads Class moved to 3D Internet Downloads Class - The wtwdownloads class that performs the database functions for the WalkTheWeb Downloads has been replaced by the 3D Internet Plugin wtw_3dinternet_downloads Class Functions. All of the WalkTheWeb Downloads functionality has now been moved to the 3D Internet Class.

Custom Install Settings - When doing a custom install, instead of copying the WalkTheWeb Downloads code to the install, we initiated the class and used the current 3D Internet Plugin downloads.js page for the functions. This is only in use if someone selects a custom install instead of a default (which will stay on the local copy only). Everything else for 3dnet.walktheweb.com has been moved to the 3D Internet Plugin.

WalkTheWeb Downloads Admin Page - We moved the WalkTheWeb Downloads admin menu option and full form page to the 3D Internet Plugin.

Add 3D Thing From Server Div - We added a new Admin Menu Div for add3dthing that puts code at the top of the Add Thing to Community list. This allows the 3D Internet Plugin to add the options for local 3D Thing or from the 3D Internet.

Add 3D Building From Server Div - We added a new Admin Menu Div for add3dbuilding that puts code at the top of the Add Building to Community list. This allows the 3D Internet Plugin to add the options for local 3D Building or from the 3D Internet.

Confirmation Box Options Relabeled - When using the openConfirmation and completedConfirmation functions, the zoption was passed as a number to which confirmation message would appear (extending to which code is run after confirmation). With adding it to plugins hook, it is better to use real text descriptions as cases instead of a number system to better describe the box use and avoid numbering conflict.

Created Hook for pluginsCompletedConfirmation - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsCompletedConfirmation. We then moved the related code to a new function called completedConfirmation under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to run when the confirmation box is completed with a yes confirmation. For the 3D Internet Plugin, the confirmation box is used to Share 3D Webs.

Created Hook for pluginsOpenConfirmation - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsOpenConfirmation. We then moved the related code to a new function called openConfirmation under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to open the confirmation box. For the 3D Internet Plugin, the confirmation box is used to Share 3D Webs.

Created Hook for pluginsCheckForUpdates - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsCheckForUpdates. We then moved the related code to a new function called checkForUpdates under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the check for updates function. Currently the entire check is done by the 3D Internet Plugin, but it was better to allow it to be called from the WTW class so that other plugins can use the call.

Created Hook for pluginsOpenFullPageForm - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsOpenFullPageForm. We then moved the related code to a new function called openFullPageForm under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the full page Admin screens. It uses a switch statement to select the screen by page id. This hook allows you to add additional page id conditions opening new screens.

Created Hook for pluginsUpdateBadges - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsUpdateBadges. We then moved the related code to a new function called updateBadges under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the update badges function. Previously we moved the function to the 3D Internet plugin, but we now changed that to be a local WTW function that calls the 3D Plugin updateBadges function so that both classes can add update badges.

Corrected Hook Error Path - In WalkTheWeb JavaScript Functions, we generally use try and catch for errors with the err then displaying in the console log showing the path, function, and error. This makes it easier to track down issues. In the hooks for plugins, the error path was cut short. The path has been corrected to display the correct file path and function names.

Created Hook for pluginsOpenDashboardFormDownloads - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsOpenDashboardFormDownloads. We then moved the related code to a new function called openDashboardFormDownloads under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the Open Dashboard process when downloads array has been returned. (this is a different location in the function than the pluginsOpenDashboardForm hook.)

Created Hook for pluginsAdminMenuItemSelected - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsAdminMenuItemSelected. We then moved the related code to a new function called adminMenuItemSelected under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to when an admin menu item is clicked.

Created Hook for pluginsAdminLoadAfterScreen - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsAdminLoadAfterScreen. We then moved the related code to a new function called adminLoadAfterScreen under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to run right after the scene is loaded (while in admin mode only). For the 3D Internet Plugin, it triggers a check for WalkTheWeb and Plugin updates.

Created Hook for pluginsHudLoginClick - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsHudLoginClick. We then moved the related code to a new function called hudLoginClick under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the mouse (or touch click) when interfacing with a HUD Login Form.

Created Hook for pluginsOnMicrophoneGrantedOnMessage - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsOnMicrophoneGrantedOnMessage. We then moved the related code to a new function called onMicrophoneGrantedOnMessage under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the mic input event.

Moved WTW Downloads JavaScripts - We moved all of the /core/scripts/prime/wtw_downloads.js functions to the 3D Internet Plugin under scripts/downloads.js. The class references have been updated on all of the related function calls.

Moved saveAvatarTemplate Function - We moved the saveAvatarTemplate function from the class_wtwavatars.php to 3D Internet Plugin class_templates.php. This is part of consolidating the 3dnet.walktheweb.com calls to the 3D Internet Plugin for control (set on or off).

Moved shareAvatarTemplate Function - We moved the shareAvatarTemplate function from the class_wtwavatars.php to 3D Internet Plugin class_templates.php. This is part of consolidating the 3dnet.walktheweb.com calls to the 3D Internet Plugin for control (set on or off).

Moved saveShareAvatarForm and shareAvatarTemplate - We moved the JavaScript functions from the wtw_adminavatars.js to the 3D Internet Plugin templates.js. This changes the call from WTW class to wtw3dinternet class.

Moved saveBuildingTemplate Function - We moved the saveBuildingTemplate function from the class_wtwbuildings.php to 3D Internet Plugin class_templates.php. This is part of consolidating the 3dnet.walktheweb.com calls to the 3D Internet Plugin for control (set on or off).

Moved shareBuildingTemplate Function - We moved the shareBuildingTemplate function from the class_wtwbuildings.php to 3D Internet Plugin class_templates.php. This is part of consolidating the 3dnet.walktheweb.com calls to the 3D Internet Plugin for control (set on or off).

Moved saveShareBuildingForm and shareBuildingTemplate - We moved the JavaScript functions from the wtw_adminbuildings.js to the 3D Internet Plugin templates.js. This changes the call from WTW class to wtw3dinternet class.

Moved saveCommunityTemplate Function - We moved the saveCommunityTemplate function from the class_wtwcommunities.php to 3D Internet Plugin class_templates.php. This is part of consolidating the 3dnet.walktheweb.com calls to the 3D Internet Plugin for control (set on or off).

Moved shareCommunityTemplate Function - We moved the shareCommunityTemplate function from the class_wtwcommunities.php to 3D Internet Plugin class_templates.php. This is part of consolidating the 3dnet.walktheweb.com calls to the 3D Internet Plugin for control (set on or off).

Moved saveShareCommunityForm and shareCommunityTemplate - We moved the JavaScript functions from the wtw_admincommunities.js to the 3D Internet Plugin templates.js. This changes the call from WTW class to wtw3dinternet class.

3D Internet Script Downloads Functions Separated - We separated the Downloads and Versioning functions from the 3D Internet Plugin class_main.js file into a new script file named downloads.js. (wtw-3dinternet plugin/scripts/ folder, not to be confused with the main wtw downloads in core/scripts/prime folder).

3D Internet Script Functions Separated - We separated the 3D Internet Plugin class_main.js file into 3 new additional files based on subject to better match the handlers grouping: bans.js, franchises.js, and templates.js.

3D Internet Class Functions Separated - We separated the 3D Internet Plugin class_functions.php file into 3 new files based on subject to better match the handlers grouping: class_bans.php, class_franchises.php, and class_templates.php.

3D Internet Handler now renamed as wtw-3dinternet-bans.php - We Changed the name of the 3D Internet Handler from wtw-3dinternet-saveban.php to wtw-3dinternet-bans.php. This is a better fit for subject based naming and grouping instead of function based file names.

Moved saveShareThingForm and shareThingTemplate - We moved the JavaScript functions from the wtw_adminthings.js to the 3D Internet Plugin class_main.js. This changes the call from WTW class to wtw3dinternet class.

Moved saveThingTemplate Function - We moved the saveThingTemplate function from the class_wtwthings.php to 3D Internet Plugin class_functions.php. This is part of consolidating the 3dnet.walktheweb.com calls to the 3D Internet Plugin for control (set on or off).

Moved shareThingTemplate Function - We moved the shareThingTemplate function from the class_wtwthings.php to 3D Internet Plugin class_functions.php. This is part of consolidating the 3dnet.walktheweb.com calls to the 3D Internet Plugin for control (set on or off).

New Handler for 3D Internet Plugin Templates - We added a new handler page for 3D Internet Plugin to support the numerous Template and Shared Items functions. The new page is located at wtw-3dinternet/handlers/wtw-3dinternet-templates.php.

Created Hook for pluginsSaveAliasForm - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsSaveAliasForm. We then moved the related code to a new function called saveAliasForm under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add functionality to the save Web Aliases process. For the 3D Internet, this added the assignment of Franchising a 3D Website so that it is available to other users world-wide. We also moved this code snippet from the uploads class function to a separate call so that it can be controlled (set on or off) by the 3D Internet Plugin.

New Handler for 3D Internet Plugin Franchises - We added a new handler page for 3D Internet Plugin to support the numerous Franchise functions. the new page is located at wtw-3dinternet/handlers/wtw-3dinternet-franchises.php.

Added Update Franchise ID Function - We added a function called updateFranchiseID to the 3D Internet Plugin, under functions/class_functions.php. This is used on the return response when a franchiseid is assigned by 3dnet.walktheweb.com to a webalias under Admin->3D Websites.

Added more Babylon Scripts for default - We added a number of scripts to the load to match the Babylon Playground closer. These scripts now include ammo.js, recast.js, cannon.js, oimo.js (was remarked out before), earcut.js, pep.js, and meshwriter.js. We remarked out loader.js since the babylon.loaders now cover these functions (to the best of my knowledge).

Added Source Maps - We added source map files to the babylon engine files that request it. These maps connect the minimized versions with the max versions for development purposes. They also make the start up loading run faster.

Updated Babylon Core Files - We updated the babylon core files to BabylonJS v5.47.0. The core files include: Babylon.js Core - babylon.js and babylon.max.js, Babylon.js Supported Advanced Materials: babylonjs.materials.min.js and babylonjs.materials.js, Babylon.js All Official Loaders (OBJ, STL, glTF): babylonjs.loaders.min.js and babylonjs.loaders.js, Babylon.js Post Processes: babylonjs.postProcess.min.js and babylonjs.postProcess.js, Babylon.js Procedural Textures: babylonjs.proceduralTextures.min.js and babylonjs.proceduralTextures.js, Babylon.js Scene/Mesh Serializers: babylonjs.serializers.min.js and babylonjs.serializers.js, Babylon.js GUI: babylon.gui.min.js and babylon.gui.js, Babylon.js Inspector: babylon.inspector.bundle.js and babylon.inspector.bundle.max.js, and Babylon.js Viewer: babylon.viewer.js and babylon.viewer.max.js. Note that we only load the minimized files, but included the max versions for easy reference.

Replaced zactionzoneurl with zactionzonesurl - As part of code clean-up and consistency, there were references for zactionzoneurl and zactionzonesurl in JavaScript code. We replaced zactionzoneurl so that they all use zactionzonesurl.

Created Hook for pluginsAddConnectingGridActionZones - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsAddConnectingGridActionZones. We then moved the related code to a new function called addConnectingGridActionZones under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to modify the url before it calls the Add Connecting Grids - Action Zones section. For the 3D Internet Plugin, this means send the call to the 3dnet.walktheweb.com instead of the local server.

Created Hook for pluginsAddConnectingGrid - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsAddConnectingGrid. We then moved the related code to a new function called addConnectingGrid under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to modify the url before it calls the Add Connecting Grids. For the 3D Internet Plugin, this means send the call to the 3dnet.walktheweb.com instead of the local server.

Created Hook for pluginsOpenDashboardForm - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsOpenDashboardForm. We then moved the related code to a new function called openDashboardForm under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the Open Dashboard process. For the 3D Internet Plugin, this can check for the latest videos and WTW activities.

Moved Download Functions - We moved the download functions from the Admin JavaScripts to the wtw_downloads.js. These functions include: getDownloadsInfo, displayDownloadsQueue, and downloadWebFromQueue.

Get Franchise List JavaScript changed Class - The WTW.getFranchiseList JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Show Franchise JavaScript changed Class - The WTW.showFranchise JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Update Badges JavaScript changed Class - The WTW.updateBadges JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Check Updates For All Webs JavaScript changed Class - The WTW.checkUpdatesForAllWebs JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Check For Updates Complete JavaScript changed Class - The WTW.checkForUpdatesComplete JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Get Plugin Info Complete JavaScript changed Class - The WTW.getPluginInfoComplete JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Check For Updates JavaScript changed Class - The WTW.checkForUpdates JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Get Version Details JavaScript changed Class - The WTW.getVersionDetails JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Load Archive Updates JavaScript changed Class - The WTW.loadArchiveUpdates JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

getPluginLatestVersion JavaScript changed Class - The WTW.getPluginLatestVersion (depreciated) function has been moved to the wtw3dinternet class. There are no references to the function in the code, so this may be obsolete and removed in a later version.

Changed pluginsShowMyAvatarsListVersionCheck to pluginsShowListVersionCheck - Changed the pluginsShowMyAvatarsListVersionCheck to pluginsShowListVersionCheck and added a parameter for zwebtype (avatar, community, building, or thing). This allows us to condense the calls for the version check. This updates and replaces the previous pluginsShowMyAvatarsListVersionCheck.

Created Hook for pluginsHudLoginCreate - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsHudLoginCreate. We then moved the related code to a new function called hudLoginCreate under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the create login process. For the 3D Internet Plugin, this can create new Global Logins.

Created Hook for pluginsFeedbackSubmit - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsFeedbackSubmit. We then moved the related code to a new function called feedbackSubmit under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to add code to the feed back form submittal.

Created Hook for pluginsGetActionZonesByWebID - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsGetActionZonesByWebID. We then moved the related code to a new function called getActionZonesByWebID under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to modify the zactionzoneurl before it is called. For the 3D Internet plugin, this means that the plugin can check to see if the Action Zones come from another server and create the proper 3dnet.walktheweb.com call to retrieve the Action Zone definitions and data.

Created Hook for pluginsGetMoldsByWebID - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsGetMoldsByWebID. We then moved the related code to a new function called getMoldsByWebID under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the 3D plugins to modify the zmoldsurl before it is called. For the 3D Internet plugin, this means that the plugin can check to see if the molds come from another server and create the proper 3dnet.walktheweb.com call to retrieve the mold definitions and data.

Created Hook for pluginsOnMessage - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsOnMessage. We then moved the related code to a new function called onMessage under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry). This hook allows the plugin to approve sources for return messages from iframes. The 3D Internet plugin adds 3dnet.walktheweb.com and 3dnet.walktheweb.network as safe sources.

Removed 3d.walktheweb.com from On Message - The onMessage function in /core/scripts/prime/wtw_input.js allows connections from your own source to pass data from same-source iframes to your instance. When you use the 3D Internet or 3D Avatars (global logins selections) it adds 3dnet.walktheweb.com and when you enable multiplayer and/or chat it adds 3dnet.walktheweb.network. There was no reference in code using 3d.walktheweb.com as a source of these messages so it was removed.

Open Global Login JavaScript changed Class - The WTW.openGlobalLogin JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Global Logout JavaScript changed Class - The WTW.logoutGlobal JavaScript function has been moved to the wtw3dinternet class. The references in code have been updated.

Try Global Login JavaScript changed Class - The WTW.tryGlobalLogin (depreciated) function has been moved to the wtw3dinternet class. There are no references to the function in the code, so this may be obsolete and removed in a later version.

Create Hook for pluginsDownloadUserAvatarVersionResponse - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsDownloadUserAvatarVersionResponse. We then moved the related code to a new function called downloadUserAvatarVersionResponse under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry).

Create Hook for pluginsDownloadUserAvatarVersion - In an effort to isolate the Global references to the 3D Internet and 3D Avatar Plugins, we added a JavaScript hook for pluginsDownloadUserAvatarVersion. We then moved the related code to a new function called downloadUserAvatarVersion under the 3D Internet Plugin (with the necessary PHP add script call and Plugin Class script entry).

Teleport was only Working when in Admin - The teleport was only working when in Admin mode. In Admin Mode, the water is always created and only moves up to level or down to -50 when not in use. But in Browse mode, the water is only created if needed. When teleporting, we needed to check if the water is needed and add it when necessary. To make this happen, we also needed to add the water and wind settings to the /connect/domaininfo.php call to provide the correct information needed to cerate the water.

Click My Avatar to Open Actions - We added the option to click My own Avatar to open the Actions and Animations menu. The bottom Action Icon will still also work.

Corrected Action Zone Form Sections - When editing an Action Zone, there were sections below the Advanced Options Link, and times when the advanced options were automatically open when editing, but the link still said Show Advanced Options instead of Hide Advanced Options (Causing 2 clicks to close them). We corrected the link issues and put the additional form sections above that Advanced Options section to make a clearer division of sections.

Added Note for First 3D Building - We added a note instruction to the First 3D Building page under 3D Community -> Options and Settings. This setting is only found when editing a 3D Community. It is used by Wizards and Automated installs to allow the user to select a 3D Building and 3D Community and automatically have that building added to the community scene on completion. This is that location position, scaling, and rotation that is used.

3D Model Collisions - We added code to overwrite the obj, glb, gltf, and babylon 3D Model child meshes check collisions setting. When you set the full Mold to check collisions in the advanced options while editing the mold, when it is set to true, it will automatically add check collisions. When it is set to false, it will merely inherit the original settings. (that way you can have some meshes with collisions and others without if done on the design level). Note the default is to have check collisions set to true.

Image Collisions Corrected - With the new Done covering setting, we were able to use the newly passed checkcollisions value to turn off or on collisions on the main box that holds the images. This corrects the images and raised images collisions issue.

Covering Done setting - When adding Coverings to Molds, there are now 2 key words: none and done. None is used by things like 3D Models that do not require any further actions for materials and collisions (note that the collisions are handled on each sub mesh separately). Done is used to not add materials, but still allow the main collisions and isPickable flags to be set on the main mesh.

Setting for Collisions and Pickable - When editing a mold, the form now has entries for Check Collisions and is Pickable under the Advanced Settings. They will default to true if not set. Note that all items are pickable in Admin Mode; this setting is to show a hand cursor in Browse Mode.

Check Collisions and isPickable are No Longer Defaults - The Check Collisions and isPickable settings for a mold are no longer just set as 1 (true). The call to the database, handlers, classes for molds to store and retrieve the settings is now added.

Save Image Click Settings - When you added an image click to a 3D Web Object - Image, it was not saving the jsfunction and jsparameters to the database. Turns out that the values were being passed as imagejsfunction and imagejsparameters while being read as jsfunction and jsparameters. We changed the values to jsfunction and jsparameters. Keep in mind that if the mold needs to use these values, we may need to modify this in the future. The Mold and the Web Image tables both have jsfunction and jsparameters.

Image Click Parameter Correction - When a 3D Web Object - Image is clicked, the checkImageClick function was sending the moldname as a second parameter to the setFunctionAndExecute function where it was combining it with the base parameter for execution. We removed the moldname form the passed parameters and it now works as expected.

Immediately Show Image on Change - When editing a 3D Web Object - Image, when you change the image, it was not updating. The setNewMold function needed to include the path update for the image (was previously only imageid based). (Reference: /core/scripts/admin/wtw_adminmolds.js setNewMold function)

Image and Hover Image Path Support - On the molds form, when editing a 3D Web Object - image, the form thumbnail was not showing the image. Previously the image data was stored in the database, now it is on the file system and uses a path reference. The code to open the form now supports the proper path methods. (reference: /core/scripts/admin/wtw_adminmolds.js openMoldForm function)

Default New Image Rotation - When adding a 3D Web Object - Image to a 3D Scene, the default rotation was off by 90 degrees. This has been corrected in the /core/scripts/molds/wtw_addmoldlist.js file.

Coverings List for Plugins values correction - When a new covering is added to the list from a plugin, the values in the array were strings, while the plugins were returning an object format. For now we are reverting to the string value. This may change in the future as the plugin use of coverings becomes more expansive.

Coverings List for Plugins - When entering a new covering from a plugin, the list was using a local variable, but the returned value from the plugins was assigning a non-existent global. The global variable has been replaced by the local variable.

Parameter Removed from Covering List - The function returnCoveringDefsList in the class plugins, does not have a passed parameter, yet the call to the function was trying to pass the value as covering. The parameter has been removed.

Updated Global Login Settings - Since we renamed the login settings settingname(s), we added code to rename the settings in the database to preserve the settings values.

Added Upload Max Size Variables - We added three hidden fields to make the upload_max_filesize, post_max_size, and memory_limit easily available in code. These values have been converted from M to byte by adding 6 zeros and multiplying it by 1.024..

Updates to File Permissions - There are a number of file permissions updates. First, wtw_chmod is now defaulting to 775 and umask is defaulting to 0. We are now also disabling the umask during the chmod setting. The wtw_umask variable is only used to reset the umask after the file permissions are set. These new settings should help with permissions groups causing issues on some platforms. These settings can still be manually changed in the /config/wtw_config.php or set under Admin mode, Settings -> Server Settings menu option.

New Load Building and Community - The new install default option uses the loadInitBuildingCommunity PHP function that can be found in class_wtwtables.php. This function provides the records needed for the default 3D Building, 3D Community, and 3D Things. It is only processed if you choose default install. Note that the files associated with these 3D Objects are now included in the WalkTheWeb GitHub download.

Columns Selection on Install - Under the Custom Install options, we added a column selection to make it easier to view and compare multiple selections. This is now more consistent with the WTW Downloads screens under admin mode (under Media Library).

Reversed Install Order - Under the new Custom option on install, we changed the order to start by selecting the 3D Building before the 3D Community. This now matches the Create 3D Community in-scene process order.

New Install Method Choice - During the install, there is now a choice to use the default or custom install. Default uses a 3D Building and 3D Community that is already downloaded and distributed with the software. It also uses a new function to load the tables for the default 3D Building, 3D Community, and related 3D Things. Custom install will allow you to select which 3D Building and 3D Community to download as your first 3D Scene.

Add first Building Step Disabled - During the download process that gives us the progress bar, the step to add the first building has been disabled (process set to false). This has been handled by another method. The issue was that if the community being downloaded has a building in it, the building would be added a second time in the center of the community. The new method avoids this issue altogether by selecting the building first, then selecting the community to add the building into the community.

Display Name Correction - The display name was not being updated to the bottom menu bar. There were two places that needed to be updated. The first was in the class_wtw-initsession.php file where the email was being set and the displayname was missing. The second was in the saveMyProfile JavaScript function where the displayname was not being updated after a change was made to the database. Both have been corrected.

Data issue with moving 3D Things - There was a number of reported issues with moving 3D Models, 3D Building Blocks, and 3D Things when editing. Turns out that the old code for version upgrades (3D Communities, 3D Buildings, and 3D Things) had caused data corruption. The code to move objects is correct. We just need to check the data in the table. The cause of the version issue was corrected in previous versions. We will double check the available WTW Downloads for corrupt data.

Duplicate Keys on 3D Forms Corrected - The duplicate keys on 3D Forms was caused by the shopping plugin. We added a condition that checks for productsearch as the field so that the shopping code only works on the right fields (4 functions needed this correction). This corrected the issue.

Avatar Drops in Water While Loading - Sometimes when the avatar is loaded faster than the Land under the avatar, the avatar will drop with gravity to the bottom of the water. We previously added a startstand which is an invisible box under the avatar to prevent this action. The box was set to disappear in 10 seconds. But there are times that the land may take longer than 10 seconds. Therefore, I changed the code to see if the init cycle is completed after 10 seconds. If not, it checks again when you move the avatar to see if the startstand is still in the scene and removes it.

Corrected 3D Form Focus for empty Forms - When the 3D Form is empty (not set to remember login) the form focus was still being set to the button. Corrected this by setting it to the email.

Corrected wtw-tinyimg CSS Class - Corrected the wtw-tinyimg CSS class to be img. specific. This corrected the icons for the downloads pages and column sets.