---Ring
---Turn
---Ray
---AhDo
---AhGo
---AhSa
---AhTa
---SaOnDo
Mathorian Kagodora
🔵 Wallet
System Updates

System Updates

Kagodora system updates are Kagodora Omstem updates journals of status and upgrades are displayed here when they occur. Enjoy the process be apart of the conversation.


Building a custom them for BaOmBaKaTaRa.com Ray 2051 May 19

Its Ray 2051 last update I did was Ray 2049. We have been spending the last two rays building out the BaomBaKaTaRa website starting with a custom template before we intergrade elements of the kagodora Omstem to synchronize he membership points and other aspects. Below is a Deepseek break down of what has been accomplished.

Baombakatara Custom WordPress Theme – Complete Summary & Build Documentation

This document summarises the entire development of the Baombakatara custom WordPress theme. Use it to understand the architecture, replicate the setup, or continue integrating additional features (points system, surveys, etc.). The theme is built from scratch, with no third‑party page builders or premium themes – only custom code.


🧱 Theme Structure & Key Files

FilePurpose
style.cssTheme metadata (name, author, description). Minimal styling; most CSS is in template files.
functions.phpAll theme setup, custom post types, custom fields, enqueues, duplication, block editor support, Customizer settings.
header.phpFixed red clock bar (compact digital clock + Kagodora logo), transparent main header (custom logo, site title, navigation menu).
footer.phpSimple footer with copyright, wp_footer() hook.
front-page.phpScroll‑snap homepage that loops through custom post type “Homepage Sections”.
page.phpIndividual page template: full‑width hero image (featured image) at top, white content area below.
single.php(Optional) For blog posts – not built yet.
page-home.php(Not used – we use static front page with page.php.)
/js/compact-clock.jsFetches authoritative time from kagodora.com API, updates the clock values in the red bar.
/assets/logo.pngPlaceholder for the custom logo (can be overridden via Customizer).
/js/editor.jsEmpty file for block editor enqueue (required to avoid missing file errors).

⏰ Compact Clock (Red Bar)

Features

JavaScript (compact-clock.js)


📌 Header (Main Header – Below Red Bar)

Structure

Customizer Controls (in functions.php)

SectionSettingDefaultWhat it controls
Header BackgroundBackground colourtransparent.main-header, .logo-area background colour.
Header BackgroundBackground image(empty)Background image (overrides colour).
Header TextSite Title Colour#ffffffColour of the .site-title text.
Menu TextMenu Text Colour#ffffffColour of .main-menu li a links.
Page TitlesPage Title Colour#1e3a8aColour of <h1> inside .page-content-area (individual pages).

All customizer CSS is output inline in <head> with !important to override any inline styles.


🏠 Homepage (Scroll‑Snap Sections)

Custom Post Type: section

Template: front-page.php


📄 Individual Pages (e.g., Farm, Water, Retreat)

Template: page.php

Notes


🧩 functions.php – Key Components

Theme Setup

Custom Post Type: Homepage Sections

Custom Field: Button Link

Duplicate Post Functionality

Block Editor Support

Customizer Sections

Enqueues


🛠️ Major Issues Resolved

IssueSolution
JSON error when saving postsPlugin conflict with custom AJAX actions. Fixed by isolating plugin code (not a theme issue).
Missing “Set featured image” boxAdded add_theme_support('post-thumbnails') and ensured thumbnail support in CPT registration. User also needed to enable via Screen Options.
Scroll‑snap jumping, menu hiddenUsed scroll-margin-top on sections (120px) and removed padding-top from container. Adjusted to match fixed header height.
Hero image not full width, gaps on sidesUsed left: 50%; margin-left: -50vw; width: 100vw; trick to force full viewport width.
Default background image showing over page heroConditionally hid .full-bg when page has a featured image (inline CSS).
Header had white backgroundRemoved !important from inline styles and used Customizer CSS with !important to override.
Customizer site title / menu text / page title not updatingAdded specific CSS selectors and output in <head> with high priority (99).
Logo and site title not editableAdded native custom logo support and used bloginfo('name').
Compact clock not syncing with kagodora.comCreated REST API endpoint on kagodora.com and modified JS to fetch and re‑sync every minute.

📦 Dependencies & External APIs


Kagodora kado banner Ray 2049 :46 May 17 2:46

I have been working on a custom baombakatara.com website to link to kagodora.com and in the design I wanted a kagodora kado counter in the header. So we created one. If you have a website and you want to represent the sound timeline you can download the code and post it to your header.



How to Earn (and Spend) Points on Kagodora

Your points balance is the heart of the Kagodora ecosystem. Points are managed by myCRED and can be earned through many activities – from reading messages and uploading images to writing journal entries, building calendars, and participating in surveys. Points can also be spent on broadcasts, image uploads, social posts, and more.

Below is the complete list of all point‑earning and point‑spending actions currently available.


📈 Earning Points

ActionPoints AwardedHow to Do It
Welcome bonus+100Automatically awarded when you register a new account. One time only.
Read a message (inbox)+1Open your inbox (

Please log in to view your inbox.

), click Mark as read on any unread message. You earn points only the first time you read a message.
Receive a “Helpful” vote (on a message)+2When another member finds your message (private or broadcast) helpful, they click the 👍 Helpful button. You earn points for each helpful vote.
Journal entry+20Use the journal form (

Please log in to write a journal entry.

) or the journal section inside the Ultimate Planner. Write at least 50 characters. You can earn this bonus once per calendar day.
Upload an image (net)+10 (reward)Upload cost is 50 points, but you receive 10 points back after a successful upload. Net cost is 40 points. You must have at least 50 points to start.
Like an image (escrowed)+2 per likeIn the image gallery ( ), click Like. Points are held in escrow until that image is used in a paid calendar. Then they are released to you.
Purchase a calendar+50When you buy a Kagodora calendar (through a marketplace listing or a private order), you receive 50 points.
Your image used in a calendar (royalty)+50If another member uses one of your approved images in a calendar that sells, you earn 50 royalty points.
Your calendar listing sells (builder bonus)+100When you create a calendar using 

Please log in to access the Calendar Builder.

 and list it on the marketplace, you earn 100 points the moment it sells.
Complete a survey (quiz mode)VariableEach question has a point value. Your total reward is the sum of points for all correct answers. Points are awarded automatically upon submission.
Complete a survey (research mode)Admin‑defined rewardFor open‑ended surveys, points are awarded only after an admin reviews and approves your response.
Receive a like on your social post+1 per likeOther members can click Like on your public post in the community feed (
). The platform pays this reward.
Convert Anu tokens to myCRED points+ (tokens × exchange rate)Use the Anu Bridge (

Please log in to use the Anu Bridge.

). No fee for this direction.

💸 Spending (Deducting) Points

ActionPoints CostHow to Do It
Upload an image–50 (cost)You must have at least 50 points to upload. The cost is deducted immediately when you submit the upload form.
Send a broadcast announcement–50 (default)Use the broadcast form (

Please log in to send a broadcast.

). Points are deducted automatically when your broadcast is approved and sent.
Publish a social post–8Use 

Please log in to write a post.

. Points are deducted when you publish. The post appears in the community feed.
Convert myCRED points to Anu tokens– (tokens × rate + fee)Use the Anu Bridge (

Please log in to use the Anu Bridge.

). A flat fee (default 10 points) covers future blockchain gas costs.

Note: Private messages between members are free – they do not cost or award points to the sender.


📊 How to Check Your Points & Activity


🤔 Frequently Asked Questions

Q: Do I earn points every time I read the same message?
A: No. Points are awarded only the first time you mark a message as read.

Q: If my broadcast is rejected, do I get my points back?
A: No. Points are deducted only when the broadcast is approved and sent. If rejected, no points are taken.

Q: What are “escrowed” points from liking images?
A: When you like an image, 2 points are set aside (escrowed). They are not available in your balance until that image is used in a paid calendar. Once the image sells, the escrowed points are released to you. This encourages supporting images that may become commercially successful.

Q: Can I lose points for negative actions?
A: Currently, only the positive spending actions (upload, broadcast, social post, points→tokens) deduct points. There are no penalties for spam or bad behaviour (except admin moderation).

Q: Where do the points come from?
A: Points are awarded by the system; they are not transferred from other users. The “helpful” points, like rewards for social post likes, and royalty points all come from the platform itself.

Q: What are Anu tokens and how do I use them?
A: Anu tokens are a separate internal currency. You can convert points to tokens (costs points) and later convert tokens back to points (no fee). Tokens can also be used to mint physical products (books, apparel, decoding cards) via the Anu Bridge minting shortcode 

Please log in to mint products.

. This bridges digital points to real‑world items.

Q: How can I earn points every day?
A: Write a journal entry (20 points daily), read any new messages in your inbox, and like images to accumulate escrowed points for future release.


💡 Tips to Maximise Your Points


⚙️ Shortcode Reference

ShortcodePurpose

Please log in to view your inbox.

View messages, mark as read, send private messages

Please log in to send a broadcast.

Send an announcement to all members (costs points)

Please log in to see your points activity.

Show last 2 messaging‑related point transactions

Please log in to see your wallet.

Show your points balance and pending escrow

Please log in to upload images.

Upload images (costs points)
Browse and like images

Please log in to write a journal entry.

Write a journal entry (earn points daily)

Please log in to access the Calendar Builder.

Build a custom calendar and list it on the marketplace

Please log in to write a post.

Publish a public social post (costs points)
View and like social posts

Invalid survey ID.

Take a survey (quiz or research)

Please log in to use the Anu Bridge.

Convert points ↔ Anu tokens

Please log in to mint products.

Mint physical products using Anu tokens

This document is up to date as of version 1.9.11 of the Kagodora Image Upload & Royalty plugin and version 1.0.7 of the Kagodora Engagement Suite.

Enjoy earning points and building the Kagodora universe!


Kagodora Points Activity Shortcode

After posting that he engagement suit code was error free we encountered some errors with the short code being placed in the body of post text and removed the brackets to resolve the issue for now. In the process we produced a points activity element including a new page listing all the methods to earn Anu points.

Overview

The 

Please log in to see your points activity.

 shortcode gives members a clear, concise history of their points earnings and spendings that come directly from using the messaging and broadcast features of the Kagodora Engagement Suite. It displays the two most recent point transactions related to reading messages, sending broadcasts, and receiving “helpful” votes on their messages.

This shortcode is designed to sit alongside your existing myCRED wallet (which shows the total balance) and provides context for how that balance has changed through recent messaging activity.

How It Works

The shortcode queries the myCRED log table (wp_mycred_log) for the currently logged‑in user and filters only those transactions where the reference (the action type) begins with kagodora_. These references are automatically recorded by the Kagodora Engagement Suite’s myCRED hooks:

Each transaction includes the date, the number of points (with a + or  sign), a human‑readable description, and – where possible – a direct link back to the original message or the admin broadcast approval screen.

What It Displays

For each of the last two transactions, the output includes:

If no messaging‑related points activity has occurred yet, the shortcode shows a simple message: “No messaging points activity yet.”

If myCRED is not active, it shows: “Points system is not active.”

Where to Use It

The shortcode is intended to be placed on the user’s account page – the same page where the myCRED wallet is already displayed. This gives members a complete view of their points balance (from the wallet) and the specific actions that have affected it (from the activity list).

Example placement:

htmlCopyDownloadRun

   <!-- shows total points -->

Please log in to see your points activity.

<!-- shows recent messaging activity -->

You can also place it on any other page where you want to show a user their recent points activity, such as a custom dashboard or a “My Activity” page.

Customisation

The shortcode is hard‑coded to show two entries (the default). To show more or fewer, edit the plugin file and change the LIMIT 2 in the SQL query to any positive number. For example, to show the last 5 entries:

phpCopyDownload

LIMIT 5

All other output (date format, link text) can be customised by editing the kagodora_eng_points_activity_shortcode() function inside the plugin.

Benefits for Users

Technical Notes

Example Output (HTML)

htmlCopyDownloadRun

<div class="kagodora-points-activity">
  <h4>Recent Messaging Activity</h4>
  <ul>
    <li>
      <strong>+1 points</strong><br>
      <small>May 15, 2026 10:23 am</small><br>
      Read a message – <a href="/inbox/?msg_id=42">View message</a>
    </li>
    <li>
      <strong>-50 points</strong><br>
      <small>May 14, 2026 3:15 pm</small><br>
      Sent a broadcast – <a href="/wp-admin/admin.php?page=kagodora-engage-broadcasts">View approval</a>
    </li>
  </ul>
</div>

Summary

The 

Please log in to see your points activity.

 shortcode is a lightweight, informative addition that bridges the gap between the myCRED wallet and the specific actions users take within the Kagodora messaging system. It builds trust, encourages participation, and provides a seamless user experience on the account page.


The Kagodora Engagement Suit is now error free and functional. After hours of trouble shooting removing the nasa api notification and setting up the email page to establish a url seemed to correct the error in the plugin that was not allowing the website to save changes or refresh without dislaying double email errors.

Kagodora Engagement Suite – Plugin Description

Purpose

The Kagodora Engagement Suite transforms your WordPress site into a fully interactive community hub. It provides a private, points‑driven messaging system where members can communicate directly, receive system‑wide announcements, and earn rewards for active participation. Built for the Kagodora ecosystem, it also displays timestamps in the unique Kagodora calendar (Ray, Ring, Turn) alongside standard Gregorian dates.


Key Features

1. Private Member‑to‑Member Messaging

2. Broadcast Announcements (Admin‑Approved)

3. System Notification Feed

4. Points Incentives (myCRED Ready)

5. Customisable Notification Preferences

6. Dual Timestamps

7. Admin Dashboard for Moderation

8. Shortcode‑Driven Front End


Benefits for Users

BenefitDescription
Stay connectedPrivate messaging enables direct, real‑time communication between members, fostering a sense of community.
Earn rewardsReading messages and marking them as “helpful” earns points, which can be used for other site activities (if integrated with myCRED).
No inbox clutterAll messages are stored on the site – no email overload. Users log in to check their Kagodora inbox at their convenience.
Control your notificationsEach member decides whether to receive email alerts or only in‑site notifications.
Be heardMembers can send broadcast announcements (with admin approval) to share news, events, or promotions with the entire community.
See time in KagodoraEvery message timestamp includes the traditional Kagodora units (Ray, Ring, Turn), making the experience truly immersive.
Easy to useA clean, responsive inbox interface works on desktop and mobile – no training required.

Benefits for Site Admins

BenefitDescription
Increase engagementMembers return more often to check messages and interact, boosting site loyalty.
Monetise through pointsBroadcasts can cost points, encouraging members to earn or purchase points (via myCRED) – a potential revenue stream.
Full moderationAll member‑sent broadcasts require admin approval, eliminating spam and inappropriate content.
No external email costsPrivate messages never leave your server – no third‑party email API fees.
Automated system updatesNew content notifications keep members informed without manual effort.
Built on your databaseAll data stays under your control – no privacy concerns or data leakage.

Use Cases


Technical Highlights


Requirements

Post navigation

PREVIOUSCore Framework: Kagodora Engagement & Notification Suite


Updating failed. The response is not a valid JSON response. Ray 2047 AhDo 6:50 /8:03 pm

Updating failed. The response is not a valid JSON response. More errors after successful testing Publishing failed. The response is not a valid JSON response. Currently can’t save or publish maybe I need to look into the sites theme and add a code or remove a command.


The Kagodora Engagement Suit is now error free and functional. After hours of trouble shooting removing the nasa api notification and setting up the email page to establish a url seemed to correct the error in the plugin that was not allowing the website to save changes or refresh without dislaying double email errors.

Kagodora Engagement Suite – Plugin Description

Purpose

The Kagodora Engagement Suite transforms your WordPress site into a fully interactive community hub. It provides a private, points‑driven messaging system where members can communicate directly, receive system‑wide announcements, and earn rewards for active participation. Built for the Kagodora ecosystem, it also displays timestamps in the unique Kagodora calendar (Ray, Ring, Turn) alongside standard Gregorian dates.


Key Features

1. Private Member‑to‑Member Messaging

2. Broadcast Announcements (Admin‑Approved)

3. System Notification Feed

4. Points Incentives (myCRED Ready)

5. Customisable Notification Preferences

6. Dual Timestamps

7. Admin Dashboard for Moderation

8. Shortcode‑Driven Front End


Benefits for Users

BenefitDescription
Stay connectedPrivate messaging enables direct, real‑time communication between members, fostering a sense of community.
Earn rewardsReading messages and marking them as “helpful” earns points, which can be used for other site activities (if integrated with myCRED).
No inbox clutterAll messages are stored on the site – no email overload. Users log in to check their Kagodora inbox at their convenience.
Control your notificationsEach member decides whether to receive email alerts or only in‑site notifications.
Be heardMembers can send broadcast announcements (with admin approval) to share news, events, or promotions with the entire community.
See time in KagodoraEvery message timestamp includes the traditional Kagodora units (Ray, Ring, Turn), making the experience truly immersive.
Easy to useA clean, responsive inbox interface works on desktop and mobile – no training required.

Benefits for Site Admins

BenefitDescription
Increase engagementMembers return more often to check messages and interact, boosting site loyalty.
Monetise through pointsBroadcasts can cost points, encouraging members to earn or purchase points (via myCRED) – a potential revenue stream.
Full moderationAll member‑sent broadcasts require admin approval, eliminating spam and inappropriate content.
No external email costsPrivate messages never leave your server – no third‑party email API fees.
Automated system updatesNew content notifications keep members informed without manual effort.
Built on your databaseAll data stays under your control – no privacy concerns or data leakage.

Use Cases


Technical Highlights


Requirements


The kagodora engagement suit plugin has been created Ray 2047 AhDo 4:64 / May 15 3:58

Updating failed. The response is not a valid JSON response.

Kagodora engagement suit has been produced but I have not created one plugin to date that works perfect first run and even when it does seem to work additions are realized and are part of testing. In this case after receiving instructions from deep seek to implement it on the site we ran into an error that prevents saving blog post. conceptualization organizing research is a process that comes before applying tools like ai or a programmer to build once it is built the testing phase and trouble shooting to resolve errors begins .


Membership engagement is key to keeping the kagodora growing designing a notification system that both tracts site activity and categorizes it fro display and distribution to members is the plan to procure, cultivate and maintain membership activity. Adding a membership message box or display board that notifies the member like the wallets displays points will also need to be created and added o the current code.

Core Framework: Kagodora Engagement & Notification Suite

We will build a single custom plugin (e.g., kagodora-engagement) that integrates with:

The plugin will provide:

  1. Member message board / private inbox (like a lightweight BuddyPress but without bloat).
  2. Points incentives for reading, sending, and helpful replies.
  3. Notification preferences – members choose which events trigger email vs. site‑only, or off.
  4. Admin activity log (enhanced from your PWA tracker) with notification rules.
  5. Front‑end shortcodes for inbox, activity feed, and settings.
  6. NASA API integration – daily image or event alerts sent as notifications.
  7. Abridged email notifications – “You have a new message – click to read on Kagodora.”
  8. Broadcast messages – members can spend points to send a message to all members (with admin approval optional).
  9. Points for reading messages – small reward per message opened.
  10. Points for helpful comments/replies – upvoting or marking as helpful gives points.

1. Database Tables (custom, minimal)

We’ll create three custom tables:

Table NameFieldsPurpose
wp_kagodora_messagesidsender_idrecipient_id (0 = all members for broadcast), subjectcontenttype (private, broadcast, system), points_coststatus (unread, read, deleted), created_atread_atStore all messages (private & system notifications)
wp_kagodora_message_metaidmessage_idmeta_keymeta_valueFor likes, helpful flags, etc.
wp_kagodora_user_preferencesuser_idpref_key (email_notify, site_notify, events_list), pref_value (JSON or serialized)Store notification settings per user

Alternatively, we can use WordPress user meta for preferences (simpler), but custom tables are cleaner for high volume.


2. Points Integration (myCRED Hooks)

We will create custom myCRED hooks for:

All point transactions will be logged with a reference like kagodora_message_read_{message_id}.


3. Notification Types & User Preferences

Users will be able to choose, per event type, how they want to be notified:

Events to include:

EventTriggerDefault Setting
New private messageSomeone sends them a messageBoth
Broadcast messageAdmin or user‑sent broadcast to allSite inbox only (to avoid spam)
New post/page/productWordPress publish actionOff (admin can enable for all)
New user registrationuser_register hookOff
New comment on their postwp_insert_commentBoth
NASA daily imageDaily cron fetchOff (user must opt in)
Admin announcementAdmin creates via pluginBoth (forced for important)

Preferences stored in wp_kagodora_user_preferences as JSON.


4. Frontend Shortcodes & UI

ShortcodePurpose
kagodora inboxDisplays user’s message inbox, with tabs for unread/read/sent. Includes reply, mark as read, delete, and “broadcast” button (if user has enough points).
kagodora_activity_feedShows a global feed of recent site activities (new posts, broadcasts, etc.) – similar to the admin dashboard but public.
kagodora notification settingsForm for users to adjust their per‑event preferences.
kagodora_points_summaryDisplay current points balance and recent transactions related to messaging.

All shortcodes will be fully responsive and work inside the existing Kagodora PWA.


5. Admin Settings Panel

A new sub‑menu under Kagodora → Engagement with:


6. Email Notifications (Abridged Strategy)

Email will be a teaser, not the full content. Example:

Subject: New message on Kagodora from @JohnDoe
Body:
You have a new message in your Kagodora inbox.
Subject: “Meetup tomorrow?”
Snippet: “Hi, would you like to meet tomorrow at the…”
👉 Read full message and reply on Kagodora

This drives traffic back to the site, preserves engagement, and reduces email complexity.


7. NASA API Integration

We will create a scheduled event (once daily) that fetches:

The notification will be a special type = 'nasa' message in the inbox, with a link to the NASA site and an image embed (if PWA supports).

Users can toggle this preference in their settings.


8. Points for Reading & Helpful Replies

We’ll use myCRED’s mycred_add function.


9. Workflow for Broadcast Messages (Cost Points)


10. Integration with Existing Plugins


Implementation Phases (After Agreement)

PhaseDeliverablesEstimated Code Lines
1Database tables, activation, uninstall150
2Basic message CRUD (private messaging) with shortcode 

Please log in to view your inbox.

400
3Points hooks (read, send broadcast)150
4User preferences UI and saving200
5Email notifications (using wp_mail with custom template)100
6Admin settings panel and broadcast approval system200
7Activity feed shortcode [kagodora_activity_feed] (from WordPress events)150
8NASA API integration (daily cron)100
9Points for helpful replies (like system)100
10Full testing, documentation, and refinement

Total ~1550 lines of clean, documented PHP/JS.


Mathor.ca is now updated to Kagodora.com Ray 2047 AhDo 3:65

  1. Constants and formulas replaced with the ones from the WordPress plugin (AHTA_MAX=9AHSA_MAX=90AHGO_MAX=90AHDO_MAX=10RAY_MAX=360, 80190 seconds per ray, etc.).
  2. computeRing() function: 6 + floor((ray-1801)/360) – same as plugin.
  3. getCurrentTime() rewritten to exactly match the plugin’s logic (using totalSeconds and cascading rollovers).
  4. State object now uses ahta, ahsa, ahgo, ahdo, ray, timestamp (instead of shu, godo, do). The digital display and the internal variables now correctly map to these names.
  5. The canvas drawing and the rest of the page (gallery, journal, tools, login) are untouched.
  6. The save/load endpoints (/save_time.php) should still work; they now store/retrieve the same fields as the plugin.

Now both mathor.ca (standalone) and the WordPress Kagodora plugin use identical time calculations. The next step is to ensure the Node.js app (the original) also matches; but for the PHP‑based 


Many updates have been implemented here at Kagodora.com and its time to update the time sequence so that its format can be copied to other sites like Bakaee.com that is next up on the schedule for updating and connecting to the kagodora network.


after many hours of building plugins including a PWA for the kagodora, a popup disclaimer for the PWA tracker we built we finally got technical aid from the programer who got the app back up and is also promising to zip the website up so I can gain access to the original code and begin to work on the interrogations that will synchronize the old with the new code and upgrade the current app available on apple and google.


After flushing the cach did not work we disconnected it all together and turns out litespeed could not catch the code and stop it from running.

Instructions For Safari or Google (may work the same on other browsers) 1. Go to kagodora.com 2. If the browser prompts you to download the website to your home screen then follow the instructions. 3. If the browser does not prompt you to download the website to your home screen then go to the top right and click the 3 dots and scroll down until you see “Add to home screen” click it then it will take you to another screen where it will prompt you to install. Click install wait a miute and you will see a pop up stating the install is complete. Go to your home screen and look for the kagodora suit icon.


In the process of trying to convert the the website to ios and google app codes the process temporarily set the mathor.org kado back 40 rays promoting an urgency to produce the next best thing a PWA that will allow users to download the website and use it on their mobile phones like an app. Downloading a plugin like Super Progressive Web Apps is marketed as a tool to make the PWA conversions seamlessly easy.

After entering the settings and clicking save I got an error message. Its hard to find plugins that will work with custom code and our websire is over 75% custom code. We will keep plugin away “This page isn’t working kagodora.com is currently unable to handle this request. HTTP ERROR 500”

After flushing the cach and updating the php we are still getting errors. I may have to write a custom PWA plugin to wrap my plugin as it appears to be a custom plugin in issue. Perhpas there are plugins or apps that work better with custom code? There has been a critical error on this website. Please check your site admin email inbox for instructions. If you continue to have problems, please try the support forums. Learn more about troubleshooting WordPress.


While attempting to access files on the main server as part of the process of connecting the original Counter with the current update I noticed a reset of the Kado back to ray 2014 from 2045. This occurred around 9:30 Gregorian time 5:55 Kado.

My operating system out dated not able to download filezila or use the ssh directly.


The Architecture – One‑Way Sync (Original → WordPress)

Original Kagodora App (DigitalOcean)
         │
         │ (REST API or shared database)
         ▼
WordPress Plugin (Hostinger)
         │
         │ (WordPress REST API)
         ▼
Mobile App (iOS/Android)

How to Sync: Two Simple Methods

Method 1 – Original App Exposes a REST Endpoint (Cleanest)

If you can add a small API endpoint to your original Kagodora code (even a 10‑line PHP file or Node.js route), the WordPress plugin can call it every minute or on page load.

Example endpoint on original app (https://original.kagodora.com/api/current-time):

jsonCopyDownload

{
  "ahta": 3,
  "ahsa": 45,
  "ahgo": 12,
  "ahdo": 2,
  "ray": 2009,
  "ring": 6,
  "turn": 45,
  "timestamp": 1747123456
}

Then in your WordPress plugin, add a function that fetches this data and updates the database:

phpCopyDownload

function kagodora_sync_from_original() {
    $response = wp_remote_get('https://original.kagodora.com/api/current-time');
    if (is_wp_error($response)) return;
    $data = json_decode(wp_remote_retrieve_body($response), true);
    if (!$data) return;
    
    global $wpdb;
    $table = $wpdb->prefix . 'kagodora_state';
    $wpdb->update($table, [
        'ahta' => $data['ahta'],
        'ahsa' => $data['ahsa'],
        'ahgo' => $data['ahgo'],
        'ahdo' => $data['ahdo'],
        'ray' => $data['ray'],
        'ahreienqo' => $data['ring'],
        'updated' => current_time('mysql')
    ], ['id' => 1]);
}

Then call this function via WordPress cron every minute:

phpCopyDownload

add_action('wp_ajax_nopriv_kagodora_sync', 'kagodora_sync_from_original');
if (!wp_next_scheduled('kagodora_hourly_sync')) {
    wp_schedule_event(time(), 'hourly', 'kagodora_hourly_sync');
}
add_action('kagodora_hourly_sync', 'kagodora_sync_from_original');

Method 2 – Shared Database (Only if Both Apps Can Access the Same DB)

If your original app and WordPress can both connect to the same MySQL database (e.g., original app uses its own DB, but you grant WordPress read access), then WordPress can read the time directly from the original app’s tables. This is faster but requires database permissions.


What About the Mobile App?

The mobile app (which we will build) can:

I recommend Option A – the mobile app talks directly to your original DigitalOcean app. That gives you the same stability and performance as the original.

My next step is to access digital ocean and retreave the coe copy it to agent 1 take to update the code and explore other options for updating the exiting app.


Issue Summary

The Kagodora KaDo time system exhibited two critical problems:

  1. Ring (AhReIEnGo) did not advance correctly
    • The plugin stored a manual ring value (ahreienqo) in the database, but the front‑page display computed the ring from ray using an incorrect starting point (ray 2009 = ring 1).
    • The correct timeline requires ring 6 to begin at ray 1801, with ray 2009 being the 208th ray of ring 6, and ring 7 starting at ray 2161.
  2. Front‑end time reset to a future value on refresh
    • The JavaScript used a static updated timestamp from the database that never changed after a “Save Current Time” operation.
    • Without updating the reference timestamp, each page refresh added the elapsed time since the original save, causing the displayed time to jump ahead of real time.

Root Causes

Remedies Applied

1. Corrected Ring Calculation

In PHP (helper function):

phpCopyDownload

function mathorian_kagodora_compute_ring($ray) {
    return 6 + floor(($ray - 1801) / 360);
}

In JavaScript (mirrored logic):

javascriptCopyDownload

function computeRing(ray) {
    let ring = 6 + Math.floor((ray - 1801) / 360);
    return ring < 1 ? 1 : ring;
}

Now ray 1801 → ring 6, ray 2161 → ring 7, etc.

2. Unified Ring Source

3. Fixed Timestamp Drift

In the AJAX save handler (PHP):

phpCopyDownload

$wpdb->update($table, compact('ahta','ahsa','ahgo','ahdo','ray','ahreienqo'), ['id'=>1]);
$wpdb->update($table, ['updated' => current_time('mysql')], ['id' => 1]);

In JavaScript (saveCurrentTime function):

javascriptCopyDownload

fetch(ajaxUrl, { method: 'POST', body: params })
    .then(res => {
        if (res.ok) {
            state.timestamp = Date.now() / 1000; // reset local reference
        }
    });

Now every “Save Current Time” operation updates both the database updated column and the JavaScript state.timestamp, so the elapsed time calculation starts fresh from that moment.

Outcome

Next Steps