Skip to content

websavers/WHMCS-admin-tab-creator-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

You must create a WHMCS addon module for this to work. Include the busyrack_admin_tabs.js file in the module's templates/js folder (optional location, but that's WHMCS's preferred standardized location for module javascript). Then add the following to your module's hooks.php file with the following edits:

  • You'll probably want to change the 'my_tab_name' values throughout
  • You will need to change 'my_module_name'
  • If you intend to insert your tab into the supportickets pages, the conditional that compares $vars['filename'] should be changed from 'clients' to 'supporttickets'.
  • The sample addon module provided by WHMCS on Github also includes an admin controller class. In this controller, you can use a function like getlist() (or whatever name you wish) and that function would handle the AJAX response to br_loadBZTab() found below (which calls 'getlist', but you can modify that if you wish).
add_hook("AdminAreaFooterOutput", 10, function($vars){
    
  if (substr($vars['filename'], 0, 7) == 'clients' && $vars['filename'] != 'clients'){ //only include on clients* pages (like clientssummary)
    
    $userid = (empty($_REQUEST['userid']))? 0:$_REQUEST['userid'];
    $refid = (empty($_REQUEST['id']))? 0:$_REQUEST['id'];

    return "<script src='{$vars['WEB_ROOT']}/modules/addons/my_module_name/templates/js/busyrack_admin_tabs.js'></script>\n";
<script>
    var target = 'my_tab_name';
    var userid = $userid;
    var refid = $refid;
    var position = 9;
    br_injectTab('my_tab_name', '{$vars['filename']}', position);
    
    jQuery(document).ready(function($){
      $('#my_tab_name').click(function(){
        br_loadBZTab('my_tab_name', 'my_tab_name_content', 'getlist', 0, function(){
          //put your javascript code to run after loading the tab here.
        });
      });
    });
      
      //On page load
      if (window.location.href.indexOf('#my_tab_name') > -1){
        $('#my_tab_name').click(); //switch to tab
      }
      
    });
    </script>";
  }

});

**Huge thanks to the folks at BusyRack for allowing me to modify and publish their tab insertion javascript.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published