Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


twhiting9275 last won the day on March 9 2018

twhiting9275 had the most liked content!

Community Reputation

44 Excellent

About twhiting9275

  • Rank
    Just Me

Recent Profile Visitors

6384 profile views
  1. I haven't disappeared, just been working on some stuff in the background. This does work with V8, with a few tweaks.... Here we go Template modifications: If you chose to go the template route, edit templates/yourtemplate/usersecurity.tpl (for version 😎 after (or around, you play with it as you like) {if $user->hasSecurityQuestion()} <div class="form-group"> <label for="inputCurrentAns" class="control-label">{$user->getSecurityQuestion()}</label> <input type="password" name="currentsecurityqans" id="inputCurrentAns" class="form-control" autocomplete="off" /> </div> {/if} add {if $ctest} {include file="$template/includes/alert.tpl" type="error" errorshtml=$ctest} {/if} Note that it's not necessary to change the template. The user will be redirected, with, or without this The code itself (will only work with v7 and v8 now, sorry guys): create a hook file (in includes/hooks), with the following <?php //redirect clients to security questions page if they don't have one setup. Nothing else. use Illuminate\Database\Capsule\Manager as Capsule; $isadmin = $_SESSION['adminid']; function check_client_security($vars) { //are we logged in? If not, then return $uid = $_SESSION['uid']; if (empty($uid)) { return; } $displayTitle = $vars['displayTitle']; $securityq = Capsule::table('tblclients')->where('id', '=', $uid)->value('securityqid'); if (empty($securityq)) { if ($displayTitle == "Security Settings") { //we are already here, assign the variable $extraVariables = []; $extraVariables['ctest'] = 'Please establish a security question for your account<br />This will be used to validate your account should we ever need to<br />'; return $extraVariables; } $myver = get_whmcs_version(); if ($displayTitle != "Security Settings") { if ($myver >= 8) { header('Location: /index.php?rp=/user/security'); return; } if ($myver < 8 ) { header('Location: /clientarea.php?action=security'); return; } } } } function get_whmcs_version() { $theversion = Capsule::table('tblconfiguration')->where('setting', '=', 'Version')->value('value'); $retver = substr($theversion, 0,1); return ($retver); } $qrows = Capsule::table('tbladminsecurityquestions')->select('id') ->count(); if ($qrows > 0) { if (empty($isadmin)) { add_hook('ClientAreaPage', 1, "check_client_security"); } } I put a check in there to verify there were security questions ( no more loops there), and moved the admin check to the end of the file. Additionally, just a rudimentary check for v8, since the paths have changed. If you see any problems, let me know
  2. You won't find the ability to do a ton of template work (any??) in the admin area. Take a look through the docs here for more info on what you can do You can do a good deal of templating for the client side of things, but the admin side is rather rigid.
  3. Check your php's session length. this could be causing issues Additionally, if you go into settings -> security , you can tick the following option Disable Session IP Check This may help keep your session alive longer, especially if you don't have a static IP address from your provider
  4. just double checked this myself. Running php 7.3.20 and WHMCS 7.10. No issues here
  5. Honestly, $3/month is reasonable. Not sure about the per installation, but I only have two (assuming the dev installs will be free?) Not for me, I don't have any use for it really, but $3/month isn't bad
  6. Actually tried that 🙂 The top login is through iPhone/Chrome (oops), bottom is through the iWHMCS app. Betting dollars to donuts, it'll be the same with Android. Unknown OS, Unknown browser/browser version This is done using the wolfcast/browserdetection class which is pretty reliable, or my testing has shown over the past few months Given the fact that this is a mobile app, disabling login notifications really not something that should be done, honestly. All I can suggest, honestly, is using the mobile app only when absolutely necessary. Yes, this is getting embedded into another app, and this is just a slight preview of what it'll look like in the next few months , once I get the app finalized and upgraded. Not going to say much more than that to avoid breaking rules
  7. Given that we know this will be the next major update, it might be a good idea to know , at least a theoretical, time frame. Are we looking at 6 months? A year? Can we get at least a proximity? As a developer, I know it's impossible to time these things perfectly, but, also, as a developer (specifically with WHMCS mods lately), it would help immensely, especially since you mentioned you'll be playing with things that can cause problems (a-la guzzle, etc) with other things 🙂
  8. Whomever is responsible for modifying community emails and whatnot (those sent out re: reminders for threads, and the like) might want to take a look at the templates Links from those emails direct to https://staging.whmcs.community/thread , instead of https://whmcs.community/thread The two appear to be the same (at least thread content wise), but SSL errors pop up, as expected.
  9. Is this possible? Yes. Is this going to be distributed for free? Likely not so much. Why? This is much more than should be required, or asked of a free addon. This hook is damn near 4 years old now , and has been modified quite a bit over those four years to keep up with WHMCS and changes. As far as custom additions go? Well, again, this is a free hook. I will say that what you've asked for is being put into an update for a commercial module that I've put together. Can't say when, and it certainly won't be part of this (freely distributed), because, this is too much to ask from a simple (free) hook. It sounds like you need to either play around with the hook yourself, or find someone to convert it into a module for you 🙂 . Relying on community to support your custom addons constantly, not really the way to go. The dev documentation , while lacking in a lot of ways, is there to help you get started with what you've asked. Play around in there a bit.
  10. It may be, but that's not what the error said was going on :)
  11. The error is pretty self explanatory. There is no such column 'productname' in the tblhosting table. You'll have to get what you're after another way. Don't add things to the WHMCS specific tables, this is just bad, bad, bad, and will cause problems. Instead, you want to create your own tables and do things that way.
  12. It's possible to add location, with the geoip module installed. You'll need to do quite a bit of legwork to get this updated though Take a look at the geoip examples on the PHP website and go from there.
  13. Yeah, that was likely just a goof on Brian's part. Primaryid isn't used in this hook, userid is
  14. If you're not seeing a hostname in the email, then there's not likely to be one in there. Put the ip that is given in the email here . This will likely return the IP back, instead of the hostname. That's something the provider needs to setup
  15. changing $results = localAPI($command, $values, $adminuser); to $results = localAPI($command, $values); will do the trick too. I mean, that's the easiest hack to do it. No longer need that adminuser for localAPI
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated