class.swpm-level-form.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. class SwpmLevelForm {
  3. protected $fields;
  4. protected $op;
  5. protected $errors;
  6. protected $sanitized;
  7. public function __construct($fields) {
  8. $this->fields = $fields;
  9. $this->sanitized = array();
  10. $this->errors = array();
  11. foreach ($fields as $key => $value){
  12. $this->$key();
  13. }
  14. }
  15. protected function id() {
  16. }
  17. protected function alias() {
  18. $alias = filter_input(INPUT_POST, 'alias');
  19. $this->sanitized['alias'] = sanitize_text_field($alias);
  20. }
  21. protected function role() {
  22. $role = filter_input(INPUT_POST, 'role');
  23. $this->sanitized['role'] = sanitize_text_field($role);
  24. }
  25. protected function permissions() {
  26. $this->sanitized['permissions'] = 63;
  27. }
  28. protected function subscription_period() {
  29. $subscript_duration_type = filter_input(INPUT_POST, 'subscription_duration_type');
  30. if ($subscript_duration_type == SwpmMembershipLevel::NO_EXPIRY) {
  31. $this->sanitized['subscription_period'] = "";
  32. return;
  33. }
  34. $subscription_period = filter_input(INPUT_POST, 'subscription_period_'. $subscript_duration_type);
  35. if (($subscript_duration_type == SwpmMembershipLevel::FIXED_DATE)){
  36. $dateinfo = date_parse($subscription_period);
  37. if ($dateinfo['warning_count']|| $dateinfo['error_count']){
  38. $this->errors['subscription_period'] = SwpmUtils::_("Date format is not valid.");
  39. return;
  40. }
  41. $this->sanitized['subscription_period'] = sanitize_text_field($subscription_period);
  42. return;
  43. }
  44. if (!is_numeric($subscription_period)) {
  45. $this->errors['subscription_period'] = SwpmUtils::_("Access duration must be > 0.");
  46. return;
  47. }
  48. $this->sanitized['subscription_period'] = sanitize_text_field($subscription_period);
  49. }
  50. protected function subscription_duration_type(){
  51. $subscription_duration_type = filter_input(INPUT_POST, 'subscription_duration_type');
  52. $this->sanitized['subscription_duration_type'] = $subscription_duration_type;
  53. return;
  54. }
  55. protected function subscription_unit(){
  56. }
  57. protected function loginredirect_page() {
  58. }
  59. protected function category_list() {
  60. }
  61. protected function page_list() {
  62. }
  63. protected function post_list() {
  64. }
  65. protected function comment_list() {
  66. }
  67. protected function attachment_list() {
  68. }
  69. protected function custom_post_list() {
  70. }
  71. protected function disable_bookmark_list() {
  72. }
  73. protected function options() {
  74. }
  75. protected function campaign_name() {
  76. }
  77. protected function protect_older_posts() {
  78. $checked = filter_input(INPUT_POST, 'protect_older_posts');
  79. $this->sanitized['protect_older_posts'] = empty($checked) ? 0 : 1;
  80. }
  81. public function is_valid() {
  82. return count($this->errors) < 1;
  83. }
  84. public function get_sanitized() {
  85. return $this->sanitized;
  86. }
  87. public function get_errors() {
  88. return $this->errors;
  89. }
  90. }