Skip to content

Commit d607fe3

Browse files
committed
Squashed commit of the following:
commit 06d6c91 Author: Prajjwal Poudel <iamprazol@gmail.com> Date: Tue Feb 24 13:10:59 2026 +0545 Fix - My account admin dashboard notice design commit 216edc3 Author: Prajjwal Poudel <85762481+iamprazol@users.noreply.github.com> Date: Tue Feb 24 13:09:18 2026 +0545 Fix - Multiple restriction message in whole site restricted elementor page (#1171) commit e7ca989 Author: yoel limbu <87514350+y000yal@users.noreply.github.com> Date: Tue Feb 24 12:49:37 2026 +0545 Ur update build (#1174) * Updated grunt file. * Updated grunt file. * Creating new PR for PHPcs fix. * Updated phpcs plus added pre release workflow. * Checking php code sniff. * update PR code sniff to show on comment. * Skip release on prerelease. * Run code sniff. * Updated pre release ayml. * Final verison bump to v5.1.2 for public release. * renamed draft release. * final version bump to v5.1.2 for public release. * Updated the build release to just release which will only deploy to wordpress. * Updated branch to master. * convert to lower before comparison. * Removed workflow dispatch. commit 9a5f9e7 Author: yoel limbu <87514350+y000yal@users.noreply.github.com> Date: Tue Feb 24 12:46:59 2026 +0545 Ur 4176 - Security - Stripe and Paypal security fix with filter addition for stripe webhooks. (#1172) * Sync changes and qa test pnpm commands added without pot file generation (#1138) * Final version bump to v4.4.7 for public release. * Final version bump to v4.4.8 for public release. * Version bump to v4.4.9 * Merged with v5.0.0 * Updated sync to master. * Tweak - Build for final testing * Fix - Required password status issue on page load * Fixed membership fatal error. * Updated paypal service for getting dynamic value according to mode. * Design Fixes in URM Free (#1118) * Design Fixes in URM Free * Restriction Message design fixes * Hid notice. * Updated setup wizard menu. * Content rule settings check . * Pre release build for v5.0 * Fix - Issues * notice design fix * UR-3871 Fix - My account link opens up the removed dashboard content by default * UR-3859 Fix - Change Password validation message appearing on profile details tab * content rules form field design fix * Tweak - Display subs & payments menu only if data available * Updated readme, changelog and added upgrade notice * Fix - Same content displayed for dahboard and profile details for old users * Added additional check for login page id using option user_registration_login_options_login_redirect_url. * Delete membership rule only after the membership actually gets deleted. * Fix - Disale Profile picture option check before displaying in my account * UR-3791 Fix - Purchasing multiple free plans leads to 404 after success * UR-3880 Fix - Subscription not updated with paypal payment upgrade * my account page design fix in responsive * Updated membership message not displaying properly. * UR-3876 Fix - Payment history search bar disappears after searcdhing a member * UR-3882 Fix - UUID showing as undefined on page url * content rules frontend restriction message popup design fixed * Fixed cr still being applied after disabling addon. * my account page responsive spacing fixed * Updated the rule name to be editable. * settings width fixed * frontend forms design fix * Fix - Critical error when updating the plugin * Fix - Membership assets url not defined * Updated kses for restriction message and changed sync yml. * Final version bump for release of v5.0 * Version bump to release of v5.0.1 * Version bump to release of v5.0.2 * content rules edit title design, my account page design fixed * Sync codes * Added class members menu if not added already before calling the menu function. * Added:Check for urm new installation * Fix - get_form not found * Fix - Warnings due to payment_method not defined * Fix - Issue * Fix - View payment link not wotking from subsctiption editor * Version bump to release of v5.0.3 * Final version bump to release of v5.0.3 * Merged with v5.1.0-v2. * updated synyml back to master. * Fix - Country Switch in Edit Profile * Fix - Float value issue on frontend * Fix - Design for state in frontend * Added - Loader on frontend while changing the country * Fix - Design in local currency * Remove error log * Updated legacy message for actions. * Show currency in thankyou page for local currency * Fix - Rendering local currency on Payment Table * UR 2655 Feature - Content dripping * add: ui part * add: saving part * add: ui part on single membership rule * tweak: wrapper and update attribute value * add: merge master * add: locked the content based on the fixed date * add: logic for the days after * add: content drip checkpoints * add: merge master * fix: confict * Updated scss from 5.1.0 * add: content drip scss * form builder area design fix, member edit design fix * Fix - Invoices - Membership title and description fetched service. * Fix - Payment Not Completing with 3D Secure (Stripe) While Auto Approval & Auto Login is Enabled (#1125) * Fix - Search sticky * add: module structure for the drip * Fix - Smart tags for first name and last name resolved. * Fix - Show state field on frontend issue * update custom email (#1133) * Tweak - Endpoints order in my account * Updated membership save button state when saving. * Updated composer lock file. * Updated membership code to take select value. * add: parsing the content drip message * duplicated files from pro (#1134) * chore: remove webpack.config.js from sync * tweak: content drip structure * feat: add file downloads config and icon * fix: removed the personal plan from the content drip * Fix - Local currency and tax compatibility issue * update auto created team name * UR-3972 Enhance - Let registered users purchase a membership plan * icon updated * icon and team name updated * tweak: structure of content drip * fonts and design fixed * Added loader to one-time as well as for subscription case as well * Reverted back to URM form field * fix: warning for content drip * add: icon for content drip * Coupons support on tax and local currency * Enhance - Proper expiry check added * fix: hide the add content drip button * Fix:Masteriyo issue * Fix - Key change in tax data * add: masteriyo and drip compatibility * Fix:Buy block issue reset color * content drip option design fixed * Fix - Edit country from admin side * Fix:Tab issue * add: ignore the masteriyo_courses and whole site
1 parent 1abd5aa commit d607fe3

55 files changed

Lines changed: 3047 additions & 1036 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/sync-file-list.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,3 @@ wpeverest/user-registration-pro@master:
1111
- phpcs.xml
1212
- uninstall.php
1313
- wpml-config.xml
14-

.github/workflows/build-release.yml

Lines changed: 0 additions & 47 deletions
This file was deleted.
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
name: Draft-release
2+
on:
3+
push:
4+
branches:
5+
- master
6+
permissions:
7+
contents: write
8+
9+
jobs:
10+
check-tag:
11+
name: Check commit, tag and readme
12+
runs-on: ubuntu-latest
13+
outputs:
14+
tag_name: ${{ steps.readme.outputs.tag_name }}
15+
changelog: ${{ steps.readme.outputs.changelog }}
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
ref: master
22+
23+
- name: Get stable tag and changelog from readme.txt
24+
id: readme
25+
run: |
26+
STABLE_TAG=$(grep -E '^Stable tag:' readme.txt | sed -E 's/^Stable tag:[[:space:]]*//' | tr -d '\r')
27+
echo "stable_tag=$STABLE_TAG" >> $GITHUB_OUTPUT
28+
echo "tag_name=${STABLE_TAG}" >> $GITHUB_OUTPUT
29+
30+
# Extract latest changelog block (first version block under == Changelog ==)
31+
CHANGELOG_BLOCK=$(awk '
32+
/== Changelog ==/ { in_changelog=1; next }
33+
in_changelog && /^= [0-9]+\.[0-9]+\.[0-9]+/ {
34+
if (count++) exit
35+
print
36+
next
37+
}
38+
in_changelog && count>0 { print }
39+
' readme.txt)
40+
echo "changelog<<EOF" >> $GITHUB_OUTPUT
41+
echo "$CHANGELOG_BLOCK" >> $GITHUB_OUTPUT
42+
echo "EOF" >> $GITHUB_OUTPUT
43+
44+
echo "Stable tag: $STABLE_TAG"
45+
echo "Tag name: $STABLE_TAG"
46+
echo "Latest changelog:"
47+
echo "$CHANGELOG_BLOCK"
48+
49+
- name: Verify commit message matches readme stable tag
50+
run: |
51+
COMMIT_MSG=$(echo "${{ github.event.head_commit.message }}" | head -1)
52+
STABLE_TAG="${{ steps.readme.outputs.stable_tag }}"
53+
EXPECTED_MSG="Final version bump to v${STABLE_TAG} for public release."
54+
echo "Commit message: $COMMIT_MSG"
55+
echo "Expected (case-insensitive): $EXPECTED_MSG"
56+
57+
# Case-insensitive comparison: commit message must match "Final version bump to v{stable_tag} for public release."
58+
COMMIT_LOWER=$(echo "$COMMIT_MSG" | tr '[:upper:]' '[:lower:]')
59+
EXPECTED_LOWER=$(echo "$EXPECTED_MSG" | tr '[:upper:]' '[:lower:]')
60+
if [ "$COMMIT_LOWER" != "$EXPECTED_LOWER" ]; then
61+
echo "::error::Commit message does not match. Expected: '$EXPECTED_MSG' (case-insensitive), got: '$COMMIT_MSG'"
62+
exit 1
63+
fi
64+
echo "Commit message matches. Proceeding with pre-release."
65+
66+
- name: Check if tag already exists
67+
run: |
68+
set -e
69+
TAG_NAME="${{ steps.readme.outputs.tag_name }}"
70+
if git ls-remote --exit-code origin "refs/tags/$TAG_NAME" >/dev/null 2>&1; then
71+
echo "::error::Tag $TAG_NAME already exists on remote. Update the Stable tag in readme.txt and try again."
72+
exit 1
73+
fi
74+
echo "Tag $TAG_NAME does not exist; continuing."
75+
76+
create-draft-release:
77+
name: Create tag and draft release
78+
runs-on: ubuntu-latest
79+
needs: check-tag
80+
if: success()
81+
steps:
82+
- name: Checkout repository
83+
uses: actions/checkout@v4
84+
with:
85+
fetch-depth: 0
86+
ref: master
87+
88+
- name: Create and push tag
89+
run: |
90+
git config user.name "github-actions[bot]"
91+
git config user.email "github-actions[bot]@users.noreply.github.com"
92+
TAG_NAME="${{ needs.check-tag.outputs.tag_name }}"
93+
git tag -a "$TAG_NAME" -m "Pre-release $TAG_NAME"
94+
git push origin "$TAG_NAME"
95+
env:
96+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
97+
98+
- name: Create draft release
99+
uses: softprops/action-gh-release@v2
100+
with:
101+
tag_name: ${{ needs.check-tag.outputs.tag_name }}
102+
name: v${{ needs.check-tag.outputs.tag_name }}
103+
body: |
104+
Changelogs for the release of v${{ needs.check-tag.outputs.tag_name }}
105+
106+
```
107+
${{ needs.check-tag.outputs.changelog }}
108+
```
109+
draft: true
110+
latest: false
111+
env:
112+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
113+
114+
- name: Setup pnpm
115+
uses: pnpm/action-setup@v4
116+
with:
117+
version: 9
118+
119+
- name: Set up Node.js
120+
uses: actions/setup-node@v4
121+
with:
122+
node-version: 22
123+
cache: "pnpm"
124+
125+
- name: Install dependencies
126+
run: pnpm install
127+
128+
- name: Build
129+
id: build
130+
uses: wpeverest/action-build@4.0.2
131+
with:
132+
generate-zip: true
133+
134+
- name: Upload release asset to draft
135+
uses: softprops/action-gh-release@v2
136+
with:
137+
tag_name: ${{ needs.check-tag.outputs.tag_name }}
138+
files: ${{ steps.build.outputs.zip_path }}
139+
draft: true
140+
env:
141+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
142+
143+
- name: Cleanup release and tag on failure
144+
if: failure()
145+
run: |
146+
TAG_NAME="${{ needs.check-tag.outputs.tag_name }}"
147+
REPO="${{ github.repository }}"
148+
echo "Job failed; deleting release and tag $TAG_NAME..."
149+
# Delete the release (by tag) - ignore 404 if release was not created yet
150+
RELEASE_ID=$(curl -sS -H "Authorization: token $GITHUB_TOKEN" \
151+
"https://api.github.com/repos/${REPO}/releases/tags/${TAG_NAME}" | jq -r '.id // empty')
152+
if [ -n "$RELEASE_ID" ]; then
153+
curl -sS -X DELETE -H "Authorization: token $GITHUB_TOKEN" \
154+
"https://api.github.com/repos/${REPO}/releases/${RELEASE_ID}" || true
155+
echo "Deleted release $RELEASE_ID"
156+
fi
157+
# Delete the tag (ignore 404 if tag was not pushed)
158+
curl -sS -X DELETE -H "Authorization: token $GITHUB_TOKEN" \
159+
"https://api.github.com/repos/${REPO}/git/refs/tags/${TAG_NAME}" || true
160+
echo "Cleanup finished for tag $TAG_NAME"
161+
env:
162+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/pr-code-sniff.yml

Lines changed: 67 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ on: pull_request
33
jobs:
44
test:
55
name: Code sniff (PHP 7.4, WP Latest)
6-
timeout-minutes: 15
76
runs-on: ubuntu-latest
87
steps:
98
- name: Checkout code
@@ -31,11 +30,75 @@ jobs:
3130
- name: Setup and install composer
3231
run: composer install
3332

33+
- name: Get changed PHP files
34+
id: changed
35+
run: |
36+
git fetch origin ${{ github.event.pull_request.base.ref }} --depth=1
37+
git diff --name-only origin/${{ github.event.pull_request.base.ref }}...HEAD -- '*.php' > changed-php.txt || true
38+
if [ -s changed-php.txt ]; then
39+
echo "count=$(wc -l < changed-php.txt)" >> $GITHUB_OUTPUT
40+
echo "Files to sniff:"
41+
cat changed-php.txt
42+
else
43+
echo "count=0" >> $GITHUB_OUTPUT
44+
echo "No PHP files changed in this PR"
45+
fi
46+
3447
- name: Run code sniff
48+
if: steps.changed.outputs.count != '0'
3549
continue-on-error: true
3650
run: |
37-
chmod u+x ./tests/bin/phpcs.sh
38-
./tests/bin/phpcs.sh "${{ github.event.pull_request.base.sha }}" "${{ github.event.after }}"
51+
./vendor/bin/phpcs --report=checkstyle --report-file=./phpcs-report.xml -s -p --file-list=changed-php.txt || true
3952
40-
- name: Show PHPCS results in PR
53+
- name: Run code sniff (no PHP changes)
54+
if: steps.changed.outputs.count == '0'
55+
run: echo "Skipping PHPCS - no PHP files changed."
56+
57+
- name: Show PHPCS results in PR (annotations)
58+
if: steps.changed.outputs.count != '0' && hashFiles('./phpcs-report.xml') != ''
4159
run: cs2pr ./phpcs-report.xml
60+
61+
- name: Generate PHPCS comment body
62+
if: steps.changed.outputs.count != '0' && hashFiles('./phpcs-report.xml') != ''
63+
id: phpcs_comment
64+
run: |
65+
node -e "
66+
const fs = require('fs');
67+
const xml = fs.readFileSync('phpcs-report.xml', 'utf8');
68+
const fileBlocks = xml.match(/<file[^>]*name=\"([^\"]+)\"[^>]*>([\\s\\S]*?)<\\/file>/g) || [];
69+
let md = '## PHPCS results\\n\\n';
70+
let total = 0;
71+
const rows = [];
72+
fileBlocks.forEach(block => {
73+
const nameMatch = block.match(/name=\"([^\"]+)\"/);
74+
const file = nameMatch ? nameMatch[1].replace(/^.*\//, '') : '';
75+
const errors = block.match(/<error[^>]*>/g) || [];
76+
errors.forEach(tag => {
77+
const line = (tag.match(/line=\"([^\"]+)\"/) || [])[1] || '';
78+
const sev = (tag.match(/severity=\"([^\"]+)\"/) || [])[1] || '';
79+
let msg = (tag.match(/message=\"([^\"]*)\"/) || [])[1] || '';
80+
msg = msg.replace(/\|/g, '\\\\|').replace(/\n/g, ' ');
81+
const source = (tag.match(/source=\"([^\"]+)\"/) || [])[1] || '';
82+
rows.push({ file, line, sev, msg, source });
83+
total++;
84+
});
85+
});
86+
if (total === 0) {
87+
md += '✅ No PHPCS issues found.';
88+
} else {
89+
md += '| File | Line | Severity | Message |\\n|------|------|----------|---------|\\n';
90+
rows.slice(0, 100).forEach(r => { md += '| ' + r.file + ' | ' + r.line + ' | ' + r.sev + ' | ' + r.msg.substring(0, 80) + (r.msg.length > 80 ? '…' : '') + ' |\\n'; });
91+
if (rows.length > 100) md += '\\n*… and ' + (rows.length - 100) + ' more (see annotations).*';
92+
}
93+
fs.writeFileSync('phpcs-comment.md', md);
94+
"
95+
96+
- name: Comment PHPCS results on PR
97+
if: steps.changed.outputs.count != '0' && hashFiles('./phpcs-report.xml') != ''
98+
uses: peter-evans/create-or-update-comment@v4
99+
with:
100+
token: ${{ secrets.GITHUB_TOKEN }}
101+
comment-id: phpcs-report
102+
issue-number: ${{ github.event.pull_request.number }}
103+
body-path: phpcs-comment.md
104+
edit-mode: replace

.github/workflows/release.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Deploy to wordpress.org
2+
on:
3+
release:
4+
types: [published]
5+
jobs:
6+
deploy:
7+
name: Deploy to WordPress.org
8+
if: github.event.release.prerelease != true
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout code
12+
uses: actions/checkout@v4
13+
14+
- name: WordPress Plugin Deploy
15+
uses: 10up/action-wordpress-plugin-deploy@master
16+
env:
17+
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
18+
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}

0 commit comments

Comments
 (0)