Form Login V4.0 database content
Currently under maintenance for updates 4.1 > 4.5
Contact me on telegram if you want the code from the current version (4.0).
0%
HTML
0%
CSS
0%
JavaScript
Can you give me an example? What do you want to edit?,Maybe that example can be useful when I update this login code
It's already in the video.
As long as you follow the tutorial it will work.
Firebase database Will be active when you have opened the section "firebase database" And start setting the rules.
That's because you didn't delete the part in the javascript,
The element you removed has a class/id Try searching for class/id In javascript and delete if you have found it
The document ID that you said is a User ID, the user ID is randomly generated when you register In form register.
Maybe I misunderstood what you meant, if possible please give me a screenshot to make it clearer.
You have to find the element used to enclose the article and just add a div with class "lck".
And skip step 4 and 5 because this step only for ZeistmangaV5
I want to ask, What theme do you use?
Di tunggu tutorialnya.
top: -25px;
font-size: 14px;}
this is the css section that creates the effect
Agak lama karena internetnya cuman 2Mb
Login: https://ibb.co/SKrJ2rs
Register: https://ibb.co/gS9H400
Ganti ini dengan punya kamu sendiri.
<script>/*<![CDATA[*/
const configformlogin={
apiKey: "AIzaSyCDUKoueS66e77qvqGbrc1Clb0eFJWi2JU",
authDomain: "formlogin-6e176.firebaseapp.com",
projectId: "formlogin-6e176",
storageBucket: "formlogin-6e176.appspot.com",
messagingSenderId: "197923569691",
appId: "1:197923569691:web:db39447bcd0f6d7bd6f8be",
measurementId: "G-9RHRPYQXVQ"
};
/*]]>*/
</script>
I'll make a tutorial later on Thursday, because I'm busy in the next two days.
Work Stage: https://demokodehiru.blogspot.com/p/dasboard-admin-hiru.html
That's early stage code, for my development.
And only a few web developers can get it.
If you still want, Go Trakteer Link , it's not expensive, only 0,33$ dollar (for support development).
If there is an update to the code, you will still get the Unminified code.
Yep..Code Bakal Terus diupdate sampai benar-benar memberikan Kemanan ketat, karena targetku adalah Encrypt Kontent...Untuk Web Premium Yang sangat Butuh Ginian
Update kali ini cuman bug kecil.
akan kucoba targetkan fitur itu.Otw cari di stackoverflow
Link
<!--Menu Login/Register-->
<div class='dropdown-opsi'>
<button class='dropdown-btn-opsi menu-login'>
<span class='sm:dn'>Login</span></button>
<div class='dropdown-content-opsi'>
<button class='dropdown-item-opsi' disabled='disabled' id='profiletab-button' onclick='document.getElementById("contentx").style.display="flex";' type='button'><svg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path clip-rule='evenodd' d='M12 4a8 8 0 0 0-6.96 11.947A4.99 4.99 0 0 1 9 14h6a4.99 4.99 0 0 1 3.96 1.947A8 8 0 0 0 12 4Zm7.943 14.076A9.959 9.959 0 0 0 22 12c0-5.523-4.477-10-10-10S2 6.477 2 12a9.958 9.958 0 0 0 2.057 6.076l-.005.018l.355.413A9.98 9.98 0 0 0 12 22a9.947 9.947 0 0 0 5.675-1.765a10.055 10.055 0 0 0 1.918-1.728l.355-.413l-.005-.018ZM12 6a3 3 0 1 0 0 6a3 3 0 0 0 0-6Z' fill='currentColor' fill-rule='evenodd'/></svg>Profile</button>
<button class='dropdown-item-opsi' onclick='document.getElementById("login-register-form").style.display="";'><svg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M4 22q-.825 0-1.413-.588T2 20V9q0-.825.588-1.413T4 7h5V4q0-.825.588-1.413T11 2h2q.825 0 1.413.588T15 4v3h5q.825 0 1.413.588T22 9v11q0 .825-.588 1.413T20 22H4Zm0-2h16V9h-5q0 .825-.588 1.413T13 11h-2q-.825 0-1.413-.588T9 9H4v11Zm2-2h6v-.45q0-.425-.238-.788T11.1 16.2q-.5-.225-1.012-.338T9 15.75q-.575 0-1.088.113T6.9 16.2q-.425.2-.663.563T6 17.55V18Zm8-1.5h4V15h-4v1.5ZM9 15q.625 0 1.063-.438T10.5 13.5q0-.625-.438-1.063T9 12q-.625 0-1.063.438T7.5 13.5q0 .625.438 1.063T9 15Zm5-1.5h4V12h-4v1.5ZM11 9h2V4h-2v5Zm1 5.5Z' fill='currentColor'/></svg>Login/Register</button>
</div>
</div>
<script>
/*<![CDATA[*/
const dropdownButton = document.querySelector('.dropdown-btn-opsi');
const dropdownContent = document.querySelector('.dropdown-content-opsi'); dropdownButton.addEventListener('click', () => { dropdownContent.classList.toggle('show-opsi');
});
window.addEventListener('click', (event) => {
if (!event.target.matches('.dropdown-btn-opsi')) {
if (dropdownContent.classList.contains('show-opsi')) {
dropdownContent.classList.remove('show-opsi');
}
}
});
/*]]>*/
</script>
<!--Menu Login/Register-->
Screenshot
Link video test
dikarenakan timer coutdown realtime gak mungkin bisa dibuat olehku.
Tapi kalau tanggal exp Member di Profile bisa aja, jadi ketika sudah Habis Waktunya maka Role Membernya akan balik ke User
Moga cepat sembuh.
Itu Udah dibuat Cuman Belum direlease, soalnya belum ada stylenya dan stuck di button delete , Video.
The point is you have to connect and add logic to the function checkUserRole(e),
place the new code for the New Role check Logic condition in if else
newRole1 = document.querySelectorAll(".guest");
else if ("User" === s) { newRole1[0].classList.remove("guest", "hidden");
console.log("Role User");
}
Screenshot,
Sama info usernya tidak muncul
Screenshot
Dan juga pas login dengan akun admin chapter yang terkunci tetap tidak terbuka
Ss 2: https://ibb.co/C6HmrT2
<style>
/* Style all input fields */
input {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
margin-top: 6px;
margin-bottom: 16px;
}
/* Style the submit button */
input[type=submit] {
background-color: #04AA6D;
color: white;
}
/* Style the container for inputs */
.container {
background-color: #f1f1f1;
padding: 20px;
}
/* The message box is shown when the user clicks on the password field */
#message {
display:none;
background: #f1f1f1;
color: #000;
position: relative;
padding: 20px;
margin-top: 10px;
}
#message p {
padding: 10px 35px;
font-size: 18px;
}
/* Add a green text color and a checkmark when the requirements are right */
.valid {
color: green;
}
.valid:before {
position: relative;
left: -35px;
content: "✔";
}
/* Add a red text color and an "x" when the requirements are wrong */
.invalid {
color: red;
}
.invalid:before {
position: relative;
left: -35px;
content: "✖";
}
</style>
</head>
<body>
<h3>Password Validation</h3>
<p>Try to submit the form.</p>
<div class="container">
<form action="/action_page.php">
<label for="usrname">Username</label>
<input type="text" id="usrname" name="usrname" required>
<label for="psw">Password</label>
<input type="password" id="psw" name="psw" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" required>
<input type="submit" value="Submit">
</form>
</div>
<div id="message">
<h3>Password must contain the following:</h3>
<p id="letter" class="invalid">A <b>lowercase</b> letter</p>
<p id="capital" class="invalid">A <b>capital (uppercase)</b> letter</p>
<p id="number" class="invalid">A <b>number</b></p>
<p id="length" class="invalid">Minimum <b>8 characters</b></p>
</div>
<script>
var myInput = document.getElementById("psw");
var letter = document.getElementById("letter");
var capital = document.getElementById("capital");
var number = document.getElementById("number");
var length = document.getElementById("length");
// When the user clicks on the password field, show the message box
myInput.onfocus = function() {
document.getElementById("message").style.display = "block";
}
// When the user clicks outside of the password field, hide the message box
myInput.onblur = function() {
document.getElementById("message").style.display = "none";
}
// When the user starts to type something inside the password field
myInput.onkeyup = function() {
// Validate lowercase letters
var lowerCaseLetters = /[a-z]/g;
if(myInput.value.match(lowerCaseLetters)) {
letter.classList.remove("invalid");
letter.classList.add("valid");
} else {
letter.classList.remove("valid");
letter.classList.add("invalid");
}
// Validate capital letters
var upperCaseLetters = /[A-Z]/g;
if(myInput.value.match(upperCaseLetters)) {
capital.classList.remove("invalid");
capital.classList.add("valid");
} else {
capital.classList.remove("valid");
capital.classList.add("invalid");
}
// Validate numbers
var numbers = /[0-9]/g;
if(myInput.value.match(numbers)) {
number.classList.remove("invalid");
number.classList.add("valid");
} else {
number.classList.remove("valid");
number.classList.add("invalid");
}
// Validate length
if(myInput.value.length >= 8) {
length.classList.remove("invalid");
length.classList.add("valid");
} else {
length.classList.remove("valid");
length.classList.add("invalid");
}
}
</script>
I'll make a tutorial on installing it tomorrow
Video : Link
file: Link
you see the gift menu above the header,
open the gift and enter the account
username: hiru
password : lumatina
[ account exp: 01/10/2023 ]
Check this video : Link
Chapter Terkunci
Chapter Ini terkunci, Silahkan login terlebih dahulu Sesuai Role
Unlock with Role:
Member it keeps disappearing, and when the user's role is 'Member the content isn't showing..
did you change the label? or class name?
It's hard for me to know because the code worked fine when I tested it.
and for role notification issues
Chapter Terkunci
Chapter Ini terkunci, Silahkan login terlebih dahulu Sesuai Role
Unlock with Role:
Member
which often disappears, that's because I set it using setTimeout 5 seconds,
in step 4... more precisely in function checkUserRole, there is this code
setTimeout(()=>{s===r||s!==r?t.forEach(e=>{e.classList.add("hidden")}):t.forEach(e=>{e.classList.remove("hidden")})},5e3)
Just replace the 5 seconds, with the seconds you want...
5e3
5000= 5e3 = 5sec
10000 10e4 = 10 seconds
60000 = 6e4 = 60 seconds
3600000 = 36e5 = 1 hour
do you mean zeistmaid v1.2?,
it is very difficult to install form login v3.2 into Zeistmaid v1.2, because code count bookmark.
code form login v3.2: Link
Contact me if you have any problems.
I will help you install it
https://t.me/webhiru
My profile not appear and How to give role? Did I skip look?
, replace using this rule
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
how to give role: Link
I'll make a tutorial tonight
Link video
just try putting it on
background:#222; then the whole screen goes dark, the reason why it doesn't work is because the container covers the whole screen so what you click is the container and nothing else
When I have free time I will make a tutorial
I've logged in there and it's normal, it's just a "member" problem that I haven't checked
Check it out
Firestore rules Have you replaced it?
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
To make it work... maybe you should put the function canvas in code function checkUserRole
const imgTags = `<data:post.body.cssEscaped/>`;
ImageManager.loadImages(imgTags);
});
I don't quite understand what you mean and what it's for
function loadImg () {
const imgTags = `<data:post.body.cssEscaped/>`;
ImageManager.loadImages(imgTags);
}
put this function " loadImg () " under unlockUser() in the function checkUserRole
like this
"Member"===t?(n[0].classList.remove("member","guest","hidden","hidden1"),checkMembershipExp(),unlockMember(),unlockUser(),loadImg (),console.log("Role Member"))
function notiRole(){let t=document.querySelectorAll(".notifchapter");t?t.forEach(e=>{e.classList.add("hidden")}): t.forEach(e=>{e.classList.remove("hidden")})}
function loadImg () {
const imgTags = `<data:post.body.cssEscaped/>`;
ImageManager.loadImages(imgTags);
}
function loadImg () {
const imgTags = `<data:post.body.cssEscaped/>`;
ImageManager.loadImages(imgTags);
}
And look for a code like this then replace it
window.addEventListener(`load`, function () {
const imgTags = `<data:post.body.cssEscaped/>`;
ImageManager.loadImages(imgTags);
});
With this code
function loadImg () {
const imgTags = `<data:post.body.cssEscaped/>`;
ImageManager.loadImages(imgTags);
}
1 Because the rules of the two modes are different, that's why I suggest changing the rules.
2 There is no database with the name "users"
find this code
find this code in jsfrm
loginMessage.textContent = "login failed. " + e.message;
replace with this
if (e.code === "auth/user-not-found") {
loginMessage.textContent = "Email not found. Please register";
} else if (e.code === "auth/wrong-password") {
loginMessage.textContent = "Wrong password. Please try again.";
} else {
loginMessage.textContent = "Login Failed. There is an error: " + e.message;
}
Does the form you use on the Zeistmaid theme use the same code as this post?
then in the login section, register and profile or open content... is it all working normally?
ZMv6 Search Bookmark Setting not work
.hidden,.hidden1,.form .register-fr,.form .reset-fr,.icon1.hidden,.icon2.hidden,.options li:first-child{display:none}
example like this
.hidden1,.form .register-fr,.form .reset-fr,.icon1.hidden,.icon2.hidden,.options li:first-child{display:none}
How css?
this is the video tutorial Link video
9 labels can be used if more there will be error
<b:if cond='data:post.labels any (labelLock => labelLock.name in ["MemberA1", "MemberA2","MemberA3","MemberA4","MemberA5","Admin","Staff","Modder","User","Member"])'>
I don't know where the error is because I don't know what changes you made to the jsfrm code.
screenshot code jsfrm and record console.log when you register
service cloud.firestore {
match /databases/{database}/documents {
// Allow read access for authenticated users.
match /{document=**} {
allow read: if request.auth != null;
// Allow write access only for authenticated users from a specific domain and subdomains.
allow write: if request.auth != null &&
request.auth.token.email.matches(".*@yourdomain.com");
}
}
}
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read: if request.auth != null;
// Allow write access only for authenticated users with the custom claim 'domain' set to 'sdacvip.com'.
allow write: if request.auth != null &&
request.auth.token.domain == 'domain.com';
}
}
}
I think this worked
Most different in the level of code complexity, this version is not flexible in setting roles or content... While premium is more flexible in setting roles, coins, content, notifications, And other features that will be created can be directly installed and used without any hassle.
setelah itu
saat membuat project pada Firebase, disitu setelah selesai setup bakal diperlihatkan config Sdk ..
Config Sdk dimenit 1:47 - 2:07
Video,
jika sudah terlanjur membuat project maka bisa dilihat dibagian menu settingVideo
please help
https://private-user-images.githubusercontent.com/121334995/381080804-ea578750-38c5-4ade-83ab-241622a283b6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzAyNjMyNjgsIm5iZiI6MTczMDI2Mjk2OCwicGF0aCI6Ii8xMjEzMzQ5OTUvMzgxMDgwODA0LWVhNTc4NzUwLTM4YzUtNGFkZS04M2FiLTI0MTYyMmEyODNiNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQxMDMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MTAzMFQwNDM2MDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mOTNkODliMzI0YTg0ODlmZjUwNWY2YWNmMmVkMGQ0OWU2OTg2ZTA1ZTA0NWU5M2IwMzNiNmM5NGNkYTM0ZTVmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Ca3-59AJl6-iYYV_ipooBX4PVq1_elV3bi4FStyDY6s
Can u resend the image link?, The image can't be opened.
screenshot : https://ibb.co/PcQX5pt
console screenshot : https://ibb.co/KDz58pR
screenshot : https://ibb.co/CvNTzKD
Make sure you have installed it here
const config2 = {
your sdk config is here
};
Also releasing the raw code without encryption.