1. <?php
  2. /*
  3. * @ https://EasyToYou.eu - IonCube v11 Decoder Online
  4. * @ PHP 7.2
  5. * @ Decoder version: 1.0.4
  6. * @ Release: 01/09/2021
  7. */
  8. add_hook("AdminHomeWidgets", 1, function () {
  9. return new whmcscorssread2();
  10. });
  11. class whmcscorssread2 extends WHMCS\Module\AbstractWidget
  12. {
  13. protected $title = "اخبار و اطلاعیه های Whmcs فارسی";
  14. protected $description = "";
  15. protected $weight = 3;
  16. protected $columns = 2;
  17. protected $cache = false;
  18. protected $cacheExpiry = 1;
  19. protected $requiredPermission = "";
  20. public function getData()
  21. {
  22. return [];
  23. }
  24. public function generateOutput($data)
  25. {
  26. $C_P = [];
  27. $C_N = [];
  28. $out = "<ul class=\"nav nav-tabs\" style=\"border-bottom: 1px solid #daeaff;\">\r\n <li class=\"active\" >\r\n <a data-toggle=\"tab\" id=\"widget-whmcscorssread2_tab_notif\" href=\"#whmcscorss_notif\" style=\"border: 1px solid #daeaff;border-bottom-color: transparent;font-size: 15px;\" >اطلاعیه ها</a></li>\r\n <li>\r\n <li class=\"\" >\r\n <a data-toggle=\"tab\" id=\"widget-whmcscorssread2_tab_product\" href=\"#whmcscorss_product\" >محصولات</a></li>\r\n <li>\r\n\r\n</ul>\r\n\r\n<div class=\"tab-content\" style=\"border: 1px solid #daeaff;padding: 14px;border-radius: 10px 0 10px 10px;border-top-color: transparent;\">\r\n";
  29. $url = "https://crm.whmcsco.com/whmcscorss.php";
  30. $ch = curl_init();
  31. $timeout = 5;
  32. curl_setopt($ch, CURLOPT_URL, $url);
  33. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  34. curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
  35. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  36. $result = curl_exec($ch);
  37. curl_close($ch);
  38. if ($result && ($result = @json_decode($result)) && (int) $result->status == 1) {
  39. if ($result->products && !empty($result->products)) {
  40. $out .= "<div id=\"whmcscorss_product\" class=\"tab-pane fade in\">";
  41. foreach ($result->products as $pp) {
  42. $C_P[] = $pp->id;
  43. $out .= "\r\n <div style=\"border: solid 1px #daeaff;background-color: #f7fbff;border-radius: 10px;margin-top: 12px;padding:10px;\">\r\n <a style=\"padding:6px;font-size:12px\" href=\"" . $pp->link . "\" target=\"_blank\">\r\n <strong style=\"color:#ff5252;font-size: 16px;font-weight: 300;\" >" . $pp->title . "</strong></a><br/>\r\n <p style=\"text-align: right;direction: rtl;font-size: 14px;line-height: 25px;margin-top: 12px;color: #3c74a5;\">" . nl2br($pp->text) . "</p>\r\n <a class=\"btn btn-success btn-sm\" href=\"" . $pp->link . "\" target=\"_blank\"> <i class=\"fa fa-arrow-left\"></i> توضیحات بیشتر</a>\r\n </div>";
  44. }
  45. $out .= "</div>";
  46. } else {
  47. $out .= "<div id=\"whmcscorss_product\" class=\"tab-pane fade in \">\r\n مورد جدیدی موجود نمی باشد\r\n </div>";
  48. }
  49. if ($result->notifs && !empty($result->notifs)) {
  50. $out .= "<div id=\"whmcscorss_notif\" class=\"tab-pane fade in active\">";
  51. foreach ($result->notifs as $pp) {
  52. $C_N[] = $pp->id;
  53. $out .= "\r\n <div style=\"border: solid 1px #daeaff;background-color: #f7fbff;border-radius: 10px;margin-top: 12px;padding:10px;\">\r\n <a style=\"padding:6px;font-size:12px\" href=\"" . $pp->link . "\" target=\"_blank\">\r\n <strong style=\"color:#ff5252;font-size: 16px;font-weight: 300;\" >" . $pp->title . "</strong></a><br/>\r\n <p style=\"text-align: right;direction: rtl;font-size: 14px;line-height: 25px;margin-top: 12px;color: #3c74a5;\">" . nl2br($pp->text) . "</p>\r\n <a class=\"btn btn-success btn-sm\" href=\"" . $pp->link . "\" target=\"_blank\"> <i class=\"fa fa-arrow-left\"></i> توضیحات بیشتر</a>\r\n </div>";
  54. }
  55. $out .= "</div>";
  56. } else {
  57. $out .= "<div id=\"whmcscorss_notif\" class=\"tab-pane fade in active\">\r\n مورد جدیدی موجود نمی باشد\r\n </div>";
  58. }
  59. }
  60. $out .= "</div><br/><br/>";
  61. $out .= "<script>\r\n function WHMCSCO_NP_ALERT(){\r\n \r\n \r\n \r\n }\r\n function WHMCSCO_NP_ALERT_getCookie(cname) {\r\n var name = cname + \"=\";\r\n var decodedCookie = decodeURIComponent(document.cookie);\r\n var ca = decodedCookie.split(\";\");\r\n for(var i = 0; i <ca.length; i++) {\r\n \r\n var ty= ca[i].trim().split(\"=\");\r\n if(ty[0]==cname){\r\n \r\n return ty[1].trim(); \r\n }\r\n \r\n }\r\n return \"\";\r\n}\r\nfunction WHMCSCO_NP_ALERT_setCookie(cname, cvalue, exdays) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (exdays*24*60*60*1000));\r\n var expires = \"expires=\"+ d.toUTCString();\r\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\r\n}\r\n\r\n\r\n \$(document).ready(function(){\r\n\r\n \r\n \r\n var __CPPP = [" . implode(",", $C_P) . "];\r\n var __CNNN = [" . implode(",", $C_N) . "];\r\n \r\n var expires = \"expires=\"+ new Date().toUTCString();\r\n \r\n var WHMCSCO_RSS_P = WHMCSCO_NP_ALERT_getCookie(\"WHMCSCO_RSS_P\");\r\n var WHMCSCO_RSS_N = WHMCSCO_NP_ALERT_getCookie(\"WHMCSCO_RSS_N\");\r\n \r\n WHMCSCO_RSS_P = WHMCSCO_RSS_P.split(\",\");\r\n WHMCSCO_RSS_N = WHMCSCO_RSS_N.split(\",\");\r\n \r\n var YUI__P = 0;\r\n var YUI__N = 0;\r\n \r\n \$.each(__CPPP,function(k,v){\r\n if(WHMCSCO_RSS_P.indexOf(v.toString())==-1 ){\r\n YUI__P++; \r\n \r\n } \r\n \r\n \r\n });\r\n \r\n \$.each(__CNNN,function(k,v){\r\n if(WHMCSCO_RSS_N.indexOf(v.toString())==-1 ){\r\n YUI__N++; \r\n \r\n } \r\n \r\n \r\n });\r\n \r\n if(YUI__P>0){\r\n \$(document).find(\"#widget-whmcscorssread2_tab_product\").append(\"<b style='border-radius:100%;padding:2px 4px 2px 4px;display:inline-block;position:absolute;top:1px;left:1px;width:18px;height:18px;background:orange;color:#fff;text-align:center;font-size:65%' >\"+YUI__P+\"</b>\"); \r\n \r\n }\r\n \r\n if(YUI__N>0){\r\n \$(document).find(\"#widget-whmcscorssread2_tab_notif\").append(\"<b style='border-radius:100%;padding:2px 4px 2px 4px;display:inline-block;position:absolute;top:1px;left:1px;width:18px;height:18px;background:orange;color:#fff;text-align:center;font-size:65%' >\"+YUI__N+\"</b>\"); \r\n \r\n }\r\n \r\n if(YUI__N>0 || YUI__P >0){\r\n var tyuifeujrke = \$(\".widget-whmcscorssread2\");\r\n \r\n \$(\"html, body\").animate({\r\n scrollTop: tyuifeujrke.offset().top - 50\r\n }, 1000,function(){\r\n tyuifeujrke.css(\"display\",\"none\");\r\n setTimeout(function(){\r\n tyuifeujrke.css(\"display\",\"block\");\r\n \r\n },1000);\r\n\r\n \r\n });\r\n \r\n \r\n }\r\n \r\n \r\n WHMCSCO_NP_ALERT_setCookie(\"WHMCSCO_RSS_P\",\"" . implode(",", $C_P) . "\",100);\r\n WHMCSCO_NP_ALERT_setCookie(\"WHMCSCO_RSS_N\",\"" . implode(",", $C_N) . "\",100);\r\n \r\n \r\n console.log(document.cookie);\r\n \r\n \r\n });\r\n \r\n \r\n </script>";
  62. return "<div class=\"widget-content-padded \">" . $out . "</div>";
  63. }
  64. }
  65. ?>