hooks.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. use WHMCS\Database\Capsule;
  3. use WHMCS\Config\Setting;
  4. use WHMCS\Session;
  5. class HSCodeConfig
  6. {
  7. public static function get($config)
  8. {
  9. $result = Capsule::table('tbladdonmodules')->where(['module' => 'Cookie', 'setting' => $config])->value('value');
  10. return $result;
  11. }
  12. }
  13. class HSCodeLang
  14. {
  15. public static function get()
  16. {
  17. if(file_exists(ROOTDIR.'/modules/addons/Cookie/lang/'.strtolower(Session::get('Language')).'.php'))
  18. {
  19. require(ROOTDIR.'/modules/addons/Cookie/lang/'.strtolower(Session::get('Language')).'.php');
  20. }
  21. elseif(file_exists(ROOTDIR.'/modules/addons/Cookie/lang/'.strtolower(Setting::getValue('Language')).'.php'))
  22. {
  23. require(ROOTDIR.'/modules/addons/Cookie/lang/'.strtolower(Setting::getValue('Language')).'.php');
  24. }
  25. else
  26. {
  27. require(ROOTDIR.'/modules/addons/Cookie/lang/english.php');
  28. }
  29. return $_ADDONLANG;
  30. }
  31. }
  32. add_hook('ClientAreaFooterOutput', 699855, function($vars)
  33. {
  34. $systemUrl = Setting::getValue('SystemURL');
  35. $lang = HSCodeLang::get();
  36. $enable = HSCodeConfig::get('Enable');
  37. $title = HSCodeConfig::get('Title');
  38. $message = HSCodeConfig::get('Message');
  39. $expires = HSCodeConfig::get('Expires');
  40. $policy = HSCodeConfig::get('PolicyURL');
  41. $redirect = HSCodeConfig::get('RedirectURL');
  42. if($enable)
  43. {
  44. return <<<HTML
  45. <link href="{$systemUrl}/modules/addons/Cookie/lib/css/ihavecookies.css" rel="stylesheet">
  46. <script src="{$systemUrl}/modules/addons/Cookie/lib/js/ihavecookies.js" type="text/javascript"></script>
  47. <script type="text/javascript">
  48. var options = {
  49. title: '{$title}',
  50. message: '{$message}',
  51. delay: 600,
  52. expires: '{$expires}',
  53. link: '{$policy}',
  54. redirect: '{$redirect}',
  55. uncheckBoxes: true,
  56. acceptBtnLabel: '{$lang["accept"]}',
  57. declineBtnLabel: '{$lang["decline"]}',
  58. moreInfoLabel: '{$lang["cookiepolicy"]}'
  59. }
  60. $(document).ready(function() {
  61. $('body').ihavecookies(options);
  62. $('#ihavecookiesBtn').on('click', function(){
  63. $('body').ihavecookies(options, 'reinit');
  64. });
  65. });
  66. </script>
  67. HTML;
  68. }
  69. });