Jump to content

sentq

Member
  • Posts

    2236
  • Joined

  • Last visited

  • Days Won

    38

sentq last won the day on November 5 2023

sentq had the most liked content!

About sentq

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

sentq's Achievements

Senior Member

Senior Member (3/3)

  • Great Support Rare

Recent Badges

102

Reputation

1

Community Answers

  1. while I encourage and appreciate people contributions, its shame to see someone taking out the original contributor name, that is something I never understand!
  2. the same way we exclude product group, try the following: <?php add_hook("ClientAreaPage",1,function($vars){ if (!empty($_GET['cartshare'])) { return; } # Product Groups Excluded From The Redirection $excludedGroups = array(8, 10, 11, 12, 13, 15, 6, addons, renewals); # Product Bundles Excluded From The Redirection $excludedBundles = array(2); # Validate Product Groups if ($vars['filename']=="cart" && in_array($_REQUEST['gid'], $excludedGroups)){ return; } # Validate Product Bundles if ($vars['filename']=="cart" && in_array($_REQUEST['bid'], $excludedBundles)){ return; } if ($vars['filename']=="cart" && !isset($_REQUEST['a'])){ header("Location: index.php"); exit; } });
  3. well, for WHMCS main language I would use the following: Lang::trans('sms_message', array('name' => "John")) and that support to work as they use Laravel! but as you want to use Addon language translation and as all the phrases has been already assigned into an array ($vars['_lang']) and since WHMCS doesn't have the same functionality above, the only option is to use "str_replace" which will give you the same result.
  4. you would need to do it by adding a key in the translation phrase as: $_ADDONLANG['sms_message'] = "Hello :name"; then when you are about to display/use that phrase, you should replace that key with the appropriate value: function addonmodule_output($vars) { $_lang = $vars['_lang']; // an array of the currently loaded language variables from addon module $helloMessage = str_replace(":name", "John", $_lang['sms_message']); echo $helloMessage; // Hello John } that's how it works, and you can define as many different keys as you would need
  5. the module on marketplace is for the FURY platform indeed
  6. you need to upload it inside "{WHMCS-Main-Directory}/includes/hooks/" directory
  7. change your if statement to the following: if ($data->total == '0.00' && $data->credit == '0.00') so it will prevent invoices with total equal "0.00" from being sent, while allow invoices paid with credit to be sent normally
  8. the following action hook will check if client is logged in, and if the configured custom field has a value, then add new menu item to primary navbar as an example. create new php file (eg. Navbar_MonitorLoginLink.php) inside "/includes/hooks/" directory, copy and edit the required lines: <?php /** * @author SENTQ */ use WHMCS\Database\Capsule; # We are working on Primary Navbar add_hook("ClientAreaPrimaryNavbar", 1, function($primaryNavbar){ # Client Custom Field Name $customFieldName = "Username"; // **Change this value # Get Client $client = Menu::context("client"); # Not Logged In! if ($client === null){ return; } # Get Custom Field Value $getURL = Capsule::table("tblcustomfieldsvalues") ->join("tblcustomfields", "tblcustomfields.id", "=", "tblcustomfieldsvalues.fieldid") ->where("tblcustomfieldsvalues.relid", "=", $client->id) ->where("tblcustomfields.type", "=", "client") ->where("tblcustomfields.fieldname", "=", $customFieldName) ->select(["tblcustomfieldsvalues.value"]) ->first(); # Custom Field Value is Empty! if (!$getURL->value){ return; } # Add New Menu Item To Primary Navbar -> Home $newLoginLink = $primaryNavbar->addChild('Home', array( "name" => "New_login_link", "label" => "New Login Link", // **Change this line as well "uri" => $getURL->value, "order" => 100 )); });
  9. you can upgrade to the latest version directly, the auto update feature could be failed due to any issue you should investigate it if you want to proceed with it, but manual update will complete the job too. * its important to keep a full backup of both your files and database in case.
  10. it's already displayed in every page except for pages where client are not logged-in, could you explain what you mean in more details?
  11. you may advertise about your module in the following section instead: https://whmcs.community/community/89-commercial-modules-and-addons/
  12. ClientAreaPage action hook point triggered when anyone browse your client area (Admins, Clients, Contacts and normal clients) if you need to display these Todos to logged-in clients only (this includes Admins, Clients and Contacts) all you need to do is to change the following line from: $client = Menu::context('client'); to: $client = Menu::context('client'); # Return empty todolist if client not loggedin, admins still able to browse this section if (is_null($client) && !isset($_SESSION['adminid'])){ return array("todologs" => array()); }
  13. this is the case when you need to use coupons to identify the affiliate account and assign it to that order, but people will not be encouraged to enter any promotion code if it doesn't give them any discount.
  14. @nimafire I've updated and tested the original widget code: https://whmcs.community/topic/281801-admin-widget-to-update-database/?do=findComment&comment=1275269
×
×
  • 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