explanation.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. /**
  3. * @package Dolphin Core
  4. * @copyright Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  5. * @license CC-BY - http://creativecommons.org/licenses/by/3.0/
  6. */
  7. require_once('./inc/header.inc.php');
  8. require_once(BX_DIRECTORY_PATH_INC . "languages.inc.php");
  9. require_once(BX_DIRECTORY_PATH_INC . "params.inc.php");
  10. require_once(BX_DIRECTORY_PATH_INC . "design.inc.php");
  11. // TODO: move HTML to templates and maybe other refactoring
  12. $oTemplate = BxDolTemplate::getInstance();
  13. $sPageMainCode = PageMainCode();
  14. if (!$sPageMainCode || !isset($_GET['explain']))
  15. $oTemplate->displayPageNotFound();
  16. $sExplanation = _t("_".bx_process_pass($_GET['explain']));
  17. $sHeader = _t("_EXPLANATION_H") . ": " . $sExplanation; // TODO: remake this line using parameters in lang string
  18. $oTemplate->setPageNameIndex (BX_PAGE_POPUP);
  19. $oTemplate->setPageHeader ($sHeader);
  20. $oTemplate->setPageContent ('body_onload', 'javascript: void(0)');
  21. $oTemplate->setPageContent ('page_main_code', DesignBoxContent($sHeader, $sPageMainCode, BX_DB_PADDING_DEF));
  22. PageCode();
  23. // --------------- page components functions
  24. function membershipActionsList($membershipID)
  25. {
  26. $oDb = BxDolDb::getInstance();
  27. $sQuery = $oDb->prepare("
  28. SELECT IDAction,
  29. Name,
  30. AllowedCount,
  31. AllowedPeriodLen,
  32. AllowedPeriodStart,
  33. AllowedPeriodEnd,
  34. AdditionalParamName,
  35. AdditionalParamValue
  36. FROM `sys_acl_matrix`
  37. INNER JOIN `sys_acl_actions`
  38. ON `sys_acl_matrix`.IDAction = `sys_acl_actions`.ID
  39. WHERE `sys_acl_matrix`.IDLevel = ?
  40. ORDER BY `sys_acl_actions`.Name", $membershipID);
  41. $aLevelActions = $oDb->getAll($sQuery);
  42. ob_start();
  43. ?>
  44. <!-- [START] List Membership Actions -->
  45. <style type="text/css">
  46. table.allowedActionsTable{
  47. border-bottom:1px solid;
  48. border-right:1px solid;
  49. }
  50. table.allowedActionsTable td{
  51. padding: 5px;
  52. text-align: center;
  53. border-top:1px solid;
  54. border-left:1px solid;
  55. }
  56. </style>
  57. <table cellpadding="0" cellspacing="0" border="0" style="font-size: 8pt" class="allowedActionsTable" align="center" width="100%">
  58. <tr>
  59. <td colspan="5" align="center"><?= _t("_Allowed actions") ?></td>
  60. </tr>
  61. <tr>
  62. <td><b><?= _t("_Action") ?></b></td>
  63. <td><b><?= _t("_Times allowed") ?></b></td>
  64. <td><b><?= _t("_Period (hours)") ?></b></td>
  65. <td><b><?= _t("_Allowed Since") ?></b></td>
  66. <td><b><?= _t("_Allowed Until") ?></b></td>
  67. </tr>
  68. <?php
  69. if (!$aLevelActions) {
  70. ?>
  71. <tr>
  72. <td colspan="5"><?= _t("_No actions allowed for this membership") ?></td>
  73. </tr>
  74. <?php
  75. }
  76. foreach ($aLevelActions as $membershipAction) {
  77. ?>
  78. <tr>
  79. <td style="text-align: left;"><b><?= _t("_mma_".str_replace(' ', '_', $membershipAction['Name'])) ?></b></td>
  80. <td><?= $membershipAction['AllowedCount'] ? $membershipAction['AllowedCount'] : _t("_no limit") ?></td>
  81. <td><?= $membershipAction['AllowedPeriodLen'] ? $membershipAction['AllowedPeriodLen'] : _t("_no limit") ?></td>
  82. <td><?= $membershipAction['AllowedPeriodStart'] ? $membershipAction['AllowedPeriodStart'] : _t("_no limit") ?></td>
  83. <td><?= $membershipAction['AllowedPeriodEnd'] ? $membershipAction['AllowedPeriodEnd'] : _t("_no limit") ?></td>
  84. </tr>
  85. <?php
  86. }
  87. ?>
  88. </table>
  89. <?php
  90. return ob_get_clean();
  91. }
  92. /**
  93. * Prints HTML Code for explanation
  94. */
  95. function PageMainCode() {
  96. $iType = bx_process_input(bx_get('type'), BX_DATA_INT);
  97. $sExplain = bx_process_input(bx_get('explain'));
  98. switch ($sExplain)
  99. {
  100. case 'Unconfirmed': return _t("_ATT_UNCONFIRMED_E");
  101. case 'Approval': return _t("_ATT_APPROVAL_E");
  102. case 'Active': return _t("_ATT_ACTIVE_E");
  103. case 'Rejected': return _t("_ATT_REJECTED_E");
  104. case 'Suspended': return _t("_ATT_SUSPENDED_E", getParam('site_title'));
  105. case 'membership': return membershipActionsList($iType);
  106. default: return false;
  107. }
  108. }