@@ -2,36 +2,36 @@ |
||
| 2 | 2 | |
| 3 | 3 | class EE_Maybe_Serialized_Text_Field extends EE_Serialized_Text_Field |
| 4 | 4 | { |
| 5 | - /** |
|
| 6 | - * Value could be an array or a string. If its an array, serialize it. Otherwise, leave it as a string |
|
| 7 | - * |
|
| 8 | - * @param array|string $value_of_field_on_model_object |
|
| 9 | - * @return string (possibly serialized) |
|
| 10 | - */ |
|
| 11 | - public function prepare_for_use_in_db($value_of_field_on_model_object) |
|
| 12 | - { |
|
| 13 | - if (is_array($value_of_field_on_model_object)) { |
|
| 14 | - return parent::prepare_for_use_in_db($value_of_field_on_model_object); |
|
| 15 | - } else { |
|
| 16 | - return $value_of_field_on_model_object; |
|
| 17 | - } |
|
| 18 | - } |
|
| 5 | + /** |
|
| 6 | + * Value could be an array or a string. If its an array, serialize it. Otherwise, leave it as a string |
|
| 7 | + * |
|
| 8 | + * @param array|string $value_of_field_on_model_object |
|
| 9 | + * @return string (possibly serialized) |
|
| 10 | + */ |
|
| 11 | + public function prepare_for_use_in_db($value_of_field_on_model_object) |
|
| 12 | + { |
|
| 13 | + if (is_array($value_of_field_on_model_object)) { |
|
| 14 | + return parent::prepare_for_use_in_db($value_of_field_on_model_object); |
|
| 15 | + } else { |
|
| 16 | + return $value_of_field_on_model_object; |
|
| 17 | + } |
|
| 18 | + } |
|
| 19 | 19 | |
| 20 | - /** |
|
| 21 | - * Formats the array (or string) according to $schema. Right now, just implode with commas |
|
| 22 | - * |
|
| 23 | - * @param type $value_on_field_to_be_outputted |
|
| 24 | - * @param type $schema |
|
| 25 | - * @return strubg |
|
| 26 | - */ |
|
| 27 | - public function prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema = null) |
|
| 28 | - { |
|
| 29 | - $pretty_value = null; |
|
| 30 | - if (is_array($value_on_field_to_be_outputted)) { |
|
| 31 | - $pretty_value = parent::prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema); |
|
| 32 | - } else { |
|
| 33 | - $pretty_value = $value_on_field_to_be_outputted; |
|
| 34 | - } |
|
| 35 | - return $pretty_value; |
|
| 36 | - } |
|
| 20 | + /** |
|
| 21 | + * Formats the array (or string) according to $schema. Right now, just implode with commas |
|
| 22 | + * |
|
| 23 | + * @param type $value_on_field_to_be_outputted |
|
| 24 | + * @param type $schema |
|
| 25 | + * @return strubg |
|
| 26 | + */ |
|
| 27 | + public function prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema = null) |
|
| 28 | + { |
|
| 29 | + $pretty_value = null; |
|
| 30 | + if (is_array($value_on_field_to_be_outputted)) { |
|
| 31 | + $pretty_value = parent::prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema); |
|
| 32 | + } else { |
|
| 33 | + $pretty_value = $value_on_field_to_be_outputted; |
|
| 34 | + } |
|
| 35 | + return $pretty_value; |
|
| 36 | + } |
|
| 37 | 37 | } |
@@ -28,7 +28,7 @@ discard block |
||
| 28 | 28 | */ |
| 29 | 29 | public function prepare_for_set($value) |
| 30 | 30 | { |
| 31 | - if (! current_user_can('unfiltered_html')) { |
|
| 31 | + if ( ! current_user_can('unfiltered_html')) { |
|
| 32 | 32 | $value = wp_kses("$value", wp_kses_allowed_html('post')); |
| 33 | 33 | } |
| 34 | 34 | return parent::prepare_for_set($value); |
@@ -96,8 +96,8 @@ discard block |
||
| 96 | 96 | */ |
| 97 | 97 | protected static function _setup_the_content_wp_core_only_filters() |
| 98 | 98 | { |
| 99 | - add_filter('the_content_wp_core_only', array( $GLOBALS['wp_embed'], 'run_shortcode'), 8); |
|
| 100 | - add_filter('the_content_wp_core_only', array( $GLOBALS['wp_embed'], 'autoembed'), 8); |
|
| 99 | + add_filter('the_content_wp_core_only', array($GLOBALS['wp_embed'], 'run_shortcode'), 8); |
|
| 100 | + add_filter('the_content_wp_core_only', array($GLOBALS['wp_embed'], 'autoembed'), 8); |
|
| 101 | 101 | add_filter('the_content_wp_core_only', 'wptexturize', 10); |
| 102 | 102 | add_filter('the_content_wp_core_only', 'wpautop', 10); |
| 103 | 103 | add_filter('the_content_wp_core_only', 'shortcode_unautop', 10); |
@@ -6,129 +6,129 @@ |
||
| 6 | 6 | */ |
| 7 | 7 | class EE_Post_Content_Field extends EE_Text_Field_Base |
| 8 | 8 | { |
| 9 | - /** |
|
| 10 | - * @param string $table_column |
|
| 11 | - * @param string $nicename |
|
| 12 | - * @param bool $nullable |
|
| 13 | - * @param null $default_value |
|
| 14 | - */ |
|
| 15 | - public function __construct($table_column, $nicename, $nullable, $default_value = null) |
|
| 16 | - { |
|
| 17 | - parent::__construct($table_column, $nicename, $nullable, $default_value); |
|
| 18 | - $this->setSchemaType('object'); |
|
| 19 | - } |
|
| 9 | + /** |
|
| 10 | + * @param string $table_column |
|
| 11 | + * @param string $nicename |
|
| 12 | + * @param bool $nullable |
|
| 13 | + * @param null $default_value |
|
| 14 | + */ |
|
| 15 | + public function __construct($table_column, $nicename, $nullable, $default_value = null) |
|
| 16 | + { |
|
| 17 | + parent::__construct($table_column, $nicename, $nullable, $default_value); |
|
| 18 | + $this->setSchemaType('object'); |
|
| 19 | + } |
|
| 20 | 20 | |
| 21 | 21 | |
| 22 | - /** |
|
| 23 | - * removes all tags which a WP Post wouldn't allow in its content normally |
|
| 24 | - * |
|
| 25 | - * @param string $value |
|
| 26 | - * @return string |
|
| 27 | - */ |
|
| 28 | - public function prepare_for_set($value) |
|
| 29 | - { |
|
| 30 | - if (! current_user_can('unfiltered_html')) { |
|
| 31 | - $value = wp_kses("$value", wp_kses_allowed_html('post')); |
|
| 32 | - } |
|
| 33 | - return parent::prepare_for_set($value); |
|
| 34 | - } |
|
| 22 | + /** |
|
| 23 | + * removes all tags which a WP Post wouldn't allow in its content normally |
|
| 24 | + * |
|
| 25 | + * @param string $value |
|
| 26 | + * @return string |
|
| 27 | + */ |
|
| 28 | + public function prepare_for_set($value) |
|
| 29 | + { |
|
| 30 | + if (! current_user_can('unfiltered_html')) { |
|
| 31 | + $value = wp_kses("$value", wp_kses_allowed_html('post')); |
|
| 32 | + } |
|
| 33 | + return parent::prepare_for_set($value); |
|
| 34 | + } |
|
| 35 | 35 | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | - /** |
|
| 39 | - * Runs the content through `the_content`, or if prepares the content for placing in a form input |
|
| 40 | - * @param string $value_on_field_to_be_outputted |
|
| 41 | - * @param string $schema possible values: 'form_input' or null (if null, will run through 'the_content') |
|
| 42 | - * @return string |
|
| 43 | - * @throws EE_Error when WP_DEBUG is on and recursive calling is detected |
|
| 44 | - */ |
|
| 45 | - public function prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema = null) |
|
| 46 | - { |
|
| 47 | - switch ($schema) { |
|
| 48 | - case 'form_input': |
|
| 49 | - return parent::prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema); |
|
| 50 | - case 'the_content': |
|
| 51 | - if (doing_filter('the_content')) { |
|
| 52 | - if (defined('WP_DEBUG') && WP_DEBUG) { |
|
| 53 | - throw new EE_Error( |
|
| 54 | - sprintf( |
|
| 55 | - esc_html__('You have recursively called "%1$s" with %2$s set to %3$s which uses "%2$s" filter. You should use it with %2$s "%3$s" instead here.', 'event_espresso'), |
|
| 56 | - 'EE_Post_Content_Field::prepare_for_pretty_echoing', |
|
| 57 | - '$schema', |
|
| 58 | - 'the_content', |
|
| 59 | - 'the_content_wp_core_only' |
|
| 60 | - ) |
|
| 61 | - ); |
|
| 62 | - } else { |
|
| 63 | - return $this->prepare_for_pretty_echoing($value_on_field_to_be_outputted, 'the_content_wp_core_only'); |
|
| 64 | - } |
|
| 65 | - } |
|
| 66 | - return apply_filters( |
|
| 67 | - 'the_content', |
|
| 68 | - parent::prepare_for_pretty_echoing( |
|
| 69 | - $value_on_field_to_be_outputted, |
|
| 70 | - $schema |
|
| 71 | - ) |
|
| 72 | - ); |
|
| 73 | - case 'the_content_wp_core_only': |
|
| 74 | - default: |
|
| 75 | - self::_setup_the_content_wp_core_only_filters(); |
|
| 76 | - $return_value = apply_filters( |
|
| 77 | - 'the_content_wp_core_only', |
|
| 78 | - parent::prepare_for_pretty_echoing( |
|
| 79 | - $value_on_field_to_be_outputted, |
|
| 80 | - $schema |
|
| 81 | - ) |
|
| 82 | - ); |
|
| 83 | - // ya know what? adding these filters is super fast. Let's just |
|
| 84 | - // avoid needing to maintain global state and set this up as-needed |
|
| 85 | - remove_all_filters('the_content_wp_core_only'); |
|
| 86 | - do_action('AHEE__EE_Post_Content_Field__prepare_for_pretty_echoing__the_content_wp_core_only__done'); |
|
| 87 | - return $return_value; |
|
| 88 | - } |
|
| 89 | - } |
|
| 38 | + /** |
|
| 39 | + * Runs the content through `the_content`, or if prepares the content for placing in a form input |
|
| 40 | + * @param string $value_on_field_to_be_outputted |
|
| 41 | + * @param string $schema possible values: 'form_input' or null (if null, will run through 'the_content') |
|
| 42 | + * @return string |
|
| 43 | + * @throws EE_Error when WP_DEBUG is on and recursive calling is detected |
|
| 44 | + */ |
|
| 45 | + public function prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema = null) |
|
| 46 | + { |
|
| 47 | + switch ($schema) { |
|
| 48 | + case 'form_input': |
|
| 49 | + return parent::prepare_for_pretty_echoing($value_on_field_to_be_outputted, $schema); |
|
| 50 | + case 'the_content': |
|
| 51 | + if (doing_filter('the_content')) { |
|
| 52 | + if (defined('WP_DEBUG') && WP_DEBUG) { |
|
| 53 | + throw new EE_Error( |
|
| 54 | + sprintf( |
|
| 55 | + esc_html__('You have recursively called "%1$s" with %2$s set to %3$s which uses "%2$s" filter. You should use it with %2$s "%3$s" instead here.', 'event_espresso'), |
|
| 56 | + 'EE_Post_Content_Field::prepare_for_pretty_echoing', |
|
| 57 | + '$schema', |
|
| 58 | + 'the_content', |
|
| 59 | + 'the_content_wp_core_only' |
|
| 60 | + ) |
|
| 61 | + ); |
|
| 62 | + } else { |
|
| 63 | + return $this->prepare_for_pretty_echoing($value_on_field_to_be_outputted, 'the_content_wp_core_only'); |
|
| 64 | + } |
|
| 65 | + } |
|
| 66 | + return apply_filters( |
|
| 67 | + 'the_content', |
|
| 68 | + parent::prepare_for_pretty_echoing( |
|
| 69 | + $value_on_field_to_be_outputted, |
|
| 70 | + $schema |
|
| 71 | + ) |
|
| 72 | + ); |
|
| 73 | + case 'the_content_wp_core_only': |
|
| 74 | + default: |
|
| 75 | + self::_setup_the_content_wp_core_only_filters(); |
|
| 76 | + $return_value = apply_filters( |
|
| 77 | + 'the_content_wp_core_only', |
|
| 78 | + parent::prepare_for_pretty_echoing( |
|
| 79 | + $value_on_field_to_be_outputted, |
|
| 80 | + $schema |
|
| 81 | + ) |
|
| 82 | + ); |
|
| 83 | + // ya know what? adding these filters is super fast. Let's just |
|
| 84 | + // avoid needing to maintain global state and set this up as-needed |
|
| 85 | + remove_all_filters('the_content_wp_core_only'); |
|
| 86 | + do_action('AHEE__EE_Post_Content_Field__prepare_for_pretty_echoing__the_content_wp_core_only__done'); |
|
| 87 | + return $return_value; |
|
| 88 | + } |
|
| 89 | + } |
|
| 90 | 90 | |
| 91 | 91 | |
| 92 | 92 | |
| 93 | - /** |
|
| 94 | - * Verifies we've setup the standard WP core filters on 'the_content_wp_core_only' filter |
|
| 95 | - */ |
|
| 96 | - protected static function _setup_the_content_wp_core_only_filters() |
|
| 97 | - { |
|
| 98 | - add_filter('the_content_wp_core_only', array( $GLOBALS['wp_embed'], 'run_shortcode'), 8); |
|
| 99 | - add_filter('the_content_wp_core_only', array( $GLOBALS['wp_embed'], 'autoembed'), 8); |
|
| 100 | - add_filter('the_content_wp_core_only', 'wptexturize', 10); |
|
| 101 | - add_filter('the_content_wp_core_only', 'wpautop', 10); |
|
| 102 | - add_filter('the_content_wp_core_only', 'shortcode_unautop', 10); |
|
| 103 | - add_filter('the_content_wp_core_only', 'prepend_attachment', 10); |
|
| 104 | - if (function_exists('wp_filter_content_tags')) { |
|
| 105 | - add_filter('the_content_wp_core_only', 'wp_filter_content_tags', 10); |
|
| 106 | - } elseif (function_exists('wp_make_content_images_responsive')) { |
|
| 107 | - add_filter('the_content_wp_core_only', 'wp_make_content_images_responsive', 10); |
|
| 108 | - } |
|
| 109 | - add_filter('the_content_wp_core_only', 'do_shortcode', 11); |
|
| 110 | - add_filter('the_content_wp_core_only', 'convert_smilies', 20); |
|
| 111 | - } |
|
| 93 | + /** |
|
| 94 | + * Verifies we've setup the standard WP core filters on 'the_content_wp_core_only' filter |
|
| 95 | + */ |
|
| 96 | + protected static function _setup_the_content_wp_core_only_filters() |
|
| 97 | + { |
|
| 98 | + add_filter('the_content_wp_core_only', array( $GLOBALS['wp_embed'], 'run_shortcode'), 8); |
|
| 99 | + add_filter('the_content_wp_core_only', array( $GLOBALS['wp_embed'], 'autoembed'), 8); |
|
| 100 | + add_filter('the_content_wp_core_only', 'wptexturize', 10); |
|
| 101 | + add_filter('the_content_wp_core_only', 'wpautop', 10); |
|
| 102 | + add_filter('the_content_wp_core_only', 'shortcode_unautop', 10); |
|
| 103 | + add_filter('the_content_wp_core_only', 'prepend_attachment', 10); |
|
| 104 | + if (function_exists('wp_filter_content_tags')) { |
|
| 105 | + add_filter('the_content_wp_core_only', 'wp_filter_content_tags', 10); |
|
| 106 | + } elseif (function_exists('wp_make_content_images_responsive')) { |
|
| 107 | + add_filter('the_content_wp_core_only', 'wp_make_content_images_responsive', 10); |
|
| 108 | + } |
|
| 109 | + add_filter('the_content_wp_core_only', 'do_shortcode', 11); |
|
| 110 | + add_filter('the_content_wp_core_only', 'convert_smilies', 20); |
|
| 111 | + } |
|
| 112 | 112 | |
| 113 | 113 | |
| 114 | 114 | |
| 115 | - public function getSchemaProperties() |
|
| 116 | - { |
|
| 117 | - return array( |
|
| 118 | - 'raw' => array( |
|
| 119 | - 'description' => sprintf( |
|
| 120 | - esc_html__('%s - the content as it exists in the database.', 'event_espresso'), |
|
| 121 | - $this->get_nicename() |
|
| 122 | - ), |
|
| 123 | - 'type' => 'string' |
|
| 124 | - ), |
|
| 125 | - 'rendered' => array( |
|
| 126 | - 'description' => sprintf( |
|
| 127 | - esc_html__('%s - the content rendered for display.', 'event_espresso'), |
|
| 128 | - $this->get_nicename() |
|
| 129 | - ), |
|
| 130 | - 'type' => 'string' |
|
| 131 | - ) |
|
| 132 | - ); |
|
| 133 | - } |
|
| 115 | + public function getSchemaProperties() |
|
| 116 | + { |
|
| 117 | + return array( |
|
| 118 | + 'raw' => array( |
|
| 119 | + 'description' => sprintf( |
|
| 120 | + esc_html__('%s - the content as it exists in the database.', 'event_espresso'), |
|
| 121 | + $this->get_nicename() |
|
| 122 | + ), |
|
| 123 | + 'type' => 'string' |
|
| 124 | + ), |
|
| 125 | + 'rendered' => array( |
|
| 126 | + 'description' => sprintf( |
|
| 127 | + esc_html__('%s - the content rendered for display.', 'event_espresso'), |
|
| 128 | + $this->get_nicename() |
|
| 129 | + ), |
|
| 130 | + 'type' => 'string' |
|
| 131 | + ) |
|
| 132 | + ); |
|
| 133 | + } |
|
| 134 | 134 | } |
@@ -11,59 +11,59 @@ |
||
| 11 | 11 | */ |
| 12 | 12 | class EE_Maybe_Serialized_Simple_HTML_Field extends EE_Maybe_Serialized_Text_Field |
| 13 | 13 | { |
| 14 | - /** |
|
| 15 | - * removes all non-basic tags when setting |
|
| 16 | - * |
|
| 17 | - * @param string $value_inputted_for_field_on_model_object |
|
| 18 | - * @return string |
|
| 19 | - */ |
|
| 20 | - public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
| 21 | - { |
|
| 22 | - return parent::prepare_for_set($this->_remove_tags($value_inputted_for_field_on_model_object)); |
|
| 23 | - } |
|
| 14 | + /** |
|
| 15 | + * removes all non-basic tags when setting |
|
| 16 | + * |
|
| 17 | + * @param string $value_inputted_for_field_on_model_object |
|
| 18 | + * @return string |
|
| 19 | + */ |
|
| 20 | + public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
| 21 | + { |
|
| 22 | + return parent::prepare_for_set($this->_remove_tags($value_inputted_for_field_on_model_object)); |
|
| 23 | + } |
|
| 24 | 24 | |
| 25 | - /** |
|
| 26 | - * Remove any non-"simple" html tags. @see EE_Simple_HTML_Field |
|
| 27 | - * |
|
| 28 | - * @param array|string $value |
|
| 29 | - * @return array|string |
|
| 30 | - */ |
|
| 31 | - protected function _remove_tags($value) |
|
| 32 | - { |
|
| 33 | - if (is_array($value)) { |
|
| 34 | - foreach ($value as $key => $v) { |
|
| 35 | - $value[ $key ] = $this->_remove_tags($v); |
|
| 36 | - } |
|
| 37 | - } elseif (is_string($value)) { |
|
| 38 | - $value = wp_kses("$value", $this->_get_allowed_tags()); |
|
| 39 | - } |
|
| 40 | - return $value; |
|
| 41 | - } |
|
| 25 | + /** |
|
| 26 | + * Remove any non-"simple" html tags. @see EE_Simple_HTML_Field |
|
| 27 | + * |
|
| 28 | + * @param array|string $value |
|
| 29 | + * @return array|string |
|
| 30 | + */ |
|
| 31 | + protected function _remove_tags($value) |
|
| 32 | + { |
|
| 33 | + if (is_array($value)) { |
|
| 34 | + foreach ($value as $key => $v) { |
|
| 35 | + $value[ $key ] = $this->_remove_tags($v); |
|
| 36 | + } |
|
| 37 | + } elseif (is_string($value)) { |
|
| 38 | + $value = wp_kses("$value", $this->_get_allowed_tags()); |
|
| 39 | + } |
|
| 40 | + return $value; |
|
| 41 | + } |
|
| 42 | 42 | |
| 43 | - /** |
|
| 44 | - * In case unsafe data somehow got inserted into the database, we want to remove tags again |
|
| 45 | - * |
|
| 46 | - * @param array|string $value_found_in_db_for_model_object |
|
| 47 | - * @return array|string |
|
| 48 | - */ |
|
| 49 | - public function prepare_for_set_from_db($value_found_in_db_for_model_object) |
|
| 50 | - { |
|
| 51 | - return $this->_remove_tags(parent::prepare_for_set_from_db($value_found_in_db_for_model_object)); |
|
| 52 | - } |
|
| 43 | + /** |
|
| 44 | + * In case unsafe data somehow got inserted into the database, we want to remove tags again |
|
| 45 | + * |
|
| 46 | + * @param array|string $value_found_in_db_for_model_object |
|
| 47 | + * @return array|string |
|
| 48 | + */ |
|
| 49 | + public function prepare_for_set_from_db($value_found_in_db_for_model_object) |
|
| 50 | + { |
|
| 51 | + return $this->_remove_tags(parent::prepare_for_set_from_db($value_found_in_db_for_model_object)); |
|
| 52 | + } |
|
| 53 | 53 | |
| 54 | 54 | |
| 55 | - /** |
|
| 56 | - * Determines what tags to allow in this model field |
|
| 57 | - * |
|
| 58 | - * @global array $allowedtags |
|
| 59 | - * @return array |
|
| 60 | - */ |
|
| 61 | - public function _get_allowed_tags() |
|
| 62 | - { |
|
| 63 | - return apply_filters( |
|
| 64 | - 'FHEE__EE_Maybe_Serialized_Simple_HTML_Field___get_allowed_tags', |
|
| 65 | - EEH_HTML::get_simple_tags(), |
|
| 66 | - $this |
|
| 67 | - ); |
|
| 68 | - } |
|
| 55 | + /** |
|
| 56 | + * Determines what tags to allow in this model field |
|
| 57 | + * |
|
| 58 | + * @global array $allowedtags |
|
| 59 | + * @return array |
|
| 60 | + */ |
|
| 61 | + public function _get_allowed_tags() |
|
| 62 | + { |
|
| 63 | + return apply_filters( |
|
| 64 | + 'FHEE__EE_Maybe_Serialized_Simple_HTML_Field___get_allowed_tags', |
|
| 65 | + EEH_HTML::get_simple_tags(), |
|
| 66 | + $this |
|
| 67 | + ); |
|
| 68 | + } |
|
| 69 | 69 | } |
@@ -32,7 +32,7 @@ |
||
| 32 | 32 | { |
| 33 | 33 | if (is_array($value)) { |
| 34 | 34 | foreach ($value as $key => $v) { |
| 35 | - $value[ $key ] = $this->_remove_tags($v); |
|
| 35 | + $value[$key] = $this->_remove_tags($v); |
|
| 36 | 36 | } |
| 37 | 37 | } elseif (is_string($value)) { |
| 38 | 38 | $value = wp_kses("$value", $this->_get_allowed_tags()); |
@@ -3,17 +3,17 @@ |
||
| 3 | 3 | class EE_Foreign_Key_String_Field extends EE_Foreign_Key_Field_Base |
| 4 | 4 | { |
| 5 | 5 | |
| 6 | - /** |
|
| 7 | - * removes all tags when setting |
|
| 8 | - * |
|
| 9 | - * @param string $value_inputted_for_field_on_model_object |
|
| 10 | - * @return string |
|
| 11 | - */ |
|
| 12 | - public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
| 13 | - { |
|
| 14 | - if ($this->is_model_obj_of_type_pointed_to($value_inputted_for_field_on_model_object)) { |
|
| 15 | - $value_inputted_for_field_on_model_object = $value_inputted_for_field_on_model_object->ID(); |
|
| 16 | - } |
|
| 17 | - return strtoupper(wp_strip_all_tags($value_inputted_for_field_on_model_object)); |
|
| 18 | - } |
|
| 6 | + /** |
|
| 7 | + * removes all tags when setting |
|
| 8 | + * |
|
| 9 | + * @param string $value_inputted_for_field_on_model_object |
|
| 10 | + * @return string |
|
| 11 | + */ |
|
| 12 | + public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
| 13 | + { |
|
| 14 | + if ($this->is_model_obj_of_type_pointed_to($value_inputted_for_field_on_model_object)) { |
|
| 15 | + $value_inputted_for_field_on_model_object = $value_inputted_for_field_on_model_object->ID(); |
|
| 16 | + } |
|
| 17 | + return strtoupper(wp_strip_all_tags($value_inputted_for_field_on_model_object)); |
|
| 18 | + } |
|
| 19 | 19 | } |
@@ -3,22 +3,22 @@ |
||
| 3 | 3 | class EE_Primary_Key_String_Field extends EE_Primary_Key_Field_Base |
| 4 | 4 | { |
| 5 | 5 | |
| 6 | - public function __construct($table_column, $nicename) |
|
| 7 | - { |
|
| 8 | - parent::__construct($table_column, $nicename, null); |
|
| 9 | - } |
|
| 6 | + public function __construct($table_column, $nicename) |
|
| 7 | + { |
|
| 8 | + parent::__construct($table_column, $nicename, null); |
|
| 9 | + } |
|
| 10 | 10 | |
| 11 | - /** |
|
| 12 | - * removes all tags when setting |
|
| 13 | - * |
|
| 14 | - * @param string $value_inputted_for_field_on_model_object |
|
| 15 | - * @return string |
|
| 16 | - */ |
|
| 17 | - public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
| 18 | - { |
|
| 19 | - if ($this->is_model_obj_of_type_pointed_to($value_inputted_for_field_on_model_object)) { |
|
| 20 | - $value_inputted_for_field_on_model_object = $value_inputted_for_field_on_model_object->ID(); |
|
| 21 | - } |
|
| 22 | - return wp_strip_all_tags($value_inputted_for_field_on_model_object); |
|
| 23 | - } |
|
| 11 | + /** |
|
| 12 | + * removes all tags when setting |
|
| 13 | + * |
|
| 14 | + * @param string $value_inputted_for_field_on_model_object |
|
| 15 | + * @return string |
|
| 16 | + */ |
|
| 17 | + public function prepare_for_set($value_inputted_for_field_on_model_object) |
|
| 18 | + { |
|
| 19 | + if ($this->is_model_obj_of_type_pointed_to($value_inputted_for_field_on_model_object)) { |
|
| 20 | + $value_inputted_for_field_on_model_object = $value_inputted_for_field_on_model_object->ID(); |
|
| 21 | + } |
|
| 22 | + return wp_strip_all_tags($value_inputted_for_field_on_model_object); |
|
| 23 | + } |
|
| 24 | 24 | } |
@@ -43,21 +43,21 @@ |
||
| 43 | 43 | |
| 44 | 44 | // if there are no standard caps for this model, then for now all we know is |
| 45 | 45 | // if they need the default cap to access this |
| 46 | - if (! $this->model()->cap_slug()) { |
|
| 46 | + if ( ! $this->model()->cap_slug()) { |
|
| 47 | 47 | return array( |
| 48 | 48 | EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
| 49 | 49 | ); |
| 50 | 50 | } |
| 51 | 51 | return array( |
| 52 | 52 | EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action()) => new EE_Return_None_Where_Conditions(), |
| 53 | - EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') => new EE_Default_Where_Conditions(array( |
|
| 53 | + EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_others') => new EE_Default_Where_Conditions(array( |
|
| 54 | 54 | // I need to be the owner, or it must be a global item |
| 55 | - 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') => array( |
|
| 55 | + 'OR*no_'.EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_others') => array( |
|
| 56 | 56 | EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder, |
| 57 | 57 | $this->_global_field_name => true |
| 58 | 58 | ) |
| 59 | 59 | )), |
| 60 | - EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_global') => new EE_Default_Where_Conditions(array( |
|
| 60 | + EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_global') => new EE_Default_Where_Conditions(array( |
|
| 61 | 61 | // it mustn't be global |
| 62 | 62 | $this->_global_field_name => false |
| 63 | 63 | )) |
@@ -19,47 +19,47 @@ |
||
| 19 | 19 | */ |
| 20 | 20 | class EE_Restriction_Generator_Global extends EE_Restriction_Generator_Base |
| 21 | 21 | { |
| 22 | - /** |
|
| 23 | - * name of the model field that indicates whether or not a model object is "global" |
|
| 24 | - * @var string |
|
| 25 | - */ |
|
| 26 | - protected $_global_field_name; |
|
| 27 | - /** |
|
| 28 | - * |
|
| 29 | - * @param string $global_field_name name of the model field that indicates whether or not |
|
| 30 | - * a model object is "global" |
|
| 31 | - */ |
|
| 32 | - public function __construct($global_field_name) |
|
| 33 | - { |
|
| 34 | - $this->_global_field_name = $global_field_name; |
|
| 35 | - } |
|
| 22 | + /** |
|
| 23 | + * name of the model field that indicates whether or not a model object is "global" |
|
| 24 | + * @var string |
|
| 25 | + */ |
|
| 26 | + protected $_global_field_name; |
|
| 27 | + /** |
|
| 28 | + * |
|
| 29 | + * @param string $global_field_name name of the model field that indicates whether or not |
|
| 30 | + * a model object is "global" |
|
| 31 | + */ |
|
| 32 | + public function __construct($global_field_name) |
|
| 33 | + { |
|
| 34 | + $this->_global_field_name = $global_field_name; |
|
| 35 | + } |
|
| 36 | 36 | |
| 37 | - /** |
|
| 38 | - * @return \EE_Default_Where_Conditions |
|
| 39 | - */ |
|
| 40 | - protected function _generate_restrictions() |
|
| 41 | - { |
|
| 37 | + /** |
|
| 38 | + * @return \EE_Default_Where_Conditions |
|
| 39 | + */ |
|
| 40 | + protected function _generate_restrictions() |
|
| 41 | + { |
|
| 42 | 42 | |
| 43 | - // if there are no standard caps for this model, then for now all we know is |
|
| 44 | - // if they need the default cap to access this |
|
| 45 | - if (! $this->model()->cap_slug()) { |
|
| 46 | - return array( |
|
| 47 | - EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
|
| 48 | - ); |
|
| 49 | - } |
|
| 50 | - return array( |
|
| 51 | - EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action()) => new EE_Return_None_Where_Conditions(), |
|
| 52 | - EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') => new EE_Default_Where_Conditions(array( |
|
| 53 | - // I need to be the owner, or it must be a global item |
|
| 54 | - 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') => array( |
|
| 55 | - EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder, |
|
| 56 | - $this->_global_field_name => true |
|
| 57 | - ) |
|
| 58 | - )), |
|
| 59 | - EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_global') => new EE_Default_Where_Conditions(array( |
|
| 60 | - // it mustn't be global |
|
| 61 | - $this->_global_field_name => false |
|
| 62 | - )) |
|
| 63 | - ); |
|
| 64 | - } |
|
| 43 | + // if there are no standard caps for this model, then for now all we know is |
|
| 44 | + // if they need the default cap to access this |
|
| 45 | + if (! $this->model()->cap_slug()) { |
|
| 46 | + return array( |
|
| 47 | + EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
|
| 48 | + ); |
|
| 49 | + } |
|
| 50 | + return array( |
|
| 51 | + EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action()) => new EE_Return_None_Where_Conditions(), |
|
| 52 | + EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') => new EE_Default_Where_Conditions(array( |
|
| 53 | + // I need to be the owner, or it must be a global item |
|
| 54 | + 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') => array( |
|
| 55 | + EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder, |
|
| 56 | + $this->_global_field_name => true |
|
| 57 | + ) |
|
| 58 | + )), |
|
| 59 | + EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_global') => new EE_Default_Where_Conditions(array( |
|
| 60 | + // it mustn't be global |
|
| 61 | + $this->_global_field_name => false |
|
| 62 | + )) |
|
| 63 | + ); |
|
| 64 | + } |
|
| 65 | 65 | } |
@@ -33,7 +33,7 @@ discard block |
||
| 33 | 33 | |
| 34 | 34 | // if there are no standard caps for this model, then for now all we know |
| 35 | 35 | // if they need the default cap to access this |
| 36 | - if (! $this->model()->cap_slug()) { |
|
| 36 | + if ( ! $this->model()->cap_slug()) { |
|
| 37 | 37 | return array( |
| 38 | 38 | EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
| 39 | 39 | ); |
@@ -42,22 +42,22 @@ discard block |
||
| 42 | 42 | $restrictions = array(); |
| 43 | 43 | // does the basic cap exist? (eg 'ee_read_registrations') |
| 44 | 44 | if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action())) { |
| 45 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action()) ] = new EE_Return_None_Where_Conditions(); |
|
| 45 | + $restrictions[EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action())] = new EE_Return_None_Where_Conditions(); |
|
| 46 | 46 | // does the others cap exist? (eg 'ee_read_others_registrations') |
| 47 | - if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action() . '_others')) {// both caps exist |
|
| 48 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') ] = new EE_Default_Where_Conditions( |
|
| 47 | + if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action().'_others')) {// both caps exist |
|
| 48 | + $restrictions[EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_others')] = new EE_Default_Where_Conditions( |
|
| 49 | 49 | array( |
| 50 | 50 | EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder |
| 51 | 51 | ) |
| 52 | 52 | ); |
| 53 | 53 | // does the private cap exist (eg 'ee_read_others_private_events') |
| 54 | - if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action() . '_private') && $this->model() instanceof EEM_CPT_Base) { |
|
| 54 | + if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action().'_private') && $this->model() instanceof EEM_CPT_Base) { |
|
| 55 | 55 | // if they have basic and others, but not private, restrict them to see theirs and others' that aren't private |
| 56 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_private') ] = new EE_Default_Where_Conditions( |
|
| 56 | + $restrictions[EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_private')] = new EE_Default_Where_Conditions( |
|
| 57 | 57 | array( |
| 58 | - 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_private') => array( |
|
| 58 | + 'OR*no_'.EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_private') => array( |
|
| 59 | 59 | EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder, |
| 60 | - 'status' => array( '!=', 'private' ) |
|
| 60 | + 'status' => array('!=', 'private') |
|
| 61 | 61 | ) |
| 62 | 62 | ) |
| 63 | 63 | ); |
@@ -65,7 +65,7 @@ discard block |
||
| 65 | 65 | } |
| 66 | 66 | } else { |
| 67 | 67 | // there is no basic cap. So they can only access this if they have the default admin cap |
| 68 | - $restrictions[ EE_Restriction_Generator_Base::get_default_restrictions_cap() ] = new EE_Return_None_Where_Conditions(); |
|
| 68 | + $restrictions[EE_Restriction_Generator_Base::get_default_restrictions_cap()] = new EE_Return_None_Where_Conditions(); |
|
| 69 | 69 | } |
| 70 | 70 | return $restrictions; |
| 71 | 71 | } |
@@ -24,48 +24,48 @@ |
||
| 24 | 24 | */ |
| 25 | 25 | class EE_Restriction_Generator_Protected extends EE_Restriction_Generator_Base |
| 26 | 26 | { |
| 27 | - /** |
|
| 28 | - * @return \EE_Default_Where_Conditions |
|
| 29 | - */ |
|
| 30 | - protected function _generate_restrictions() |
|
| 31 | - { |
|
| 27 | + /** |
|
| 28 | + * @return \EE_Default_Where_Conditions |
|
| 29 | + */ |
|
| 30 | + protected function _generate_restrictions() |
|
| 31 | + { |
|
| 32 | 32 | |
| 33 | - // if there are no standard caps for this model, then for now all we know |
|
| 34 | - // if they need the default cap to access this |
|
| 35 | - if (! $this->model()->cap_slug()) { |
|
| 36 | - return array( |
|
| 37 | - EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
|
| 38 | - ); |
|
| 39 | - } |
|
| 33 | + // if there are no standard caps for this model, then for now all we know |
|
| 34 | + // if they need the default cap to access this |
|
| 35 | + if (! $this->model()->cap_slug()) { |
|
| 36 | + return array( |
|
| 37 | + EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
|
| 38 | + ); |
|
| 39 | + } |
|
| 40 | 40 | |
| 41 | - $restrictions = array(); |
|
| 42 | - // does the basic cap exist? (eg 'ee_read_registrations') |
|
| 43 | - if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action())) { |
|
| 44 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action()) ] = new EE_Return_None_Where_Conditions(); |
|
| 45 | - // does the others cap exist? (eg 'ee_read_others_registrations') |
|
| 46 | - if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action() . '_others')) {// both caps exist |
|
| 47 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') ] = new EE_Default_Where_Conditions( |
|
| 48 | - array( |
|
| 49 | - EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder |
|
| 50 | - ) |
|
| 51 | - ); |
|
| 52 | - // does the private cap exist (eg 'ee_read_others_private_events') |
|
| 53 | - if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action() . '_private') && $this->model() instanceof EEM_CPT_Base) { |
|
| 54 | - // if they have basic and others, but not private, restrict them to see theirs and others' that aren't private |
|
| 55 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_private') ] = new EE_Default_Where_Conditions( |
|
| 56 | - array( |
|
| 57 | - 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_private') => array( |
|
| 58 | - EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder, |
|
| 59 | - 'status' => array( '!=', 'private' ) |
|
| 60 | - ) |
|
| 61 | - ) |
|
| 62 | - ); |
|
| 63 | - } |
|
| 64 | - } |
|
| 65 | - } else { |
|
| 66 | - // there is no basic cap. So they can only access this if they have the default admin cap |
|
| 67 | - $restrictions[ EE_Restriction_Generator_Base::get_default_restrictions_cap() ] = new EE_Return_None_Where_Conditions(); |
|
| 68 | - } |
|
| 69 | - return $restrictions; |
|
| 70 | - } |
|
| 41 | + $restrictions = array(); |
|
| 42 | + // does the basic cap exist? (eg 'ee_read_registrations') |
|
| 43 | + if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action())) { |
|
| 44 | + $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action()) ] = new EE_Return_None_Where_Conditions(); |
|
| 45 | + // does the others cap exist? (eg 'ee_read_others_registrations') |
|
| 46 | + if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action() . '_others')) {// both caps exist |
|
| 47 | + $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_others') ] = new EE_Default_Where_Conditions( |
|
| 48 | + array( |
|
| 49 | + EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder |
|
| 50 | + ) |
|
| 51 | + ); |
|
| 52 | + // does the private cap exist (eg 'ee_read_others_private_events') |
|
| 53 | + if (EE_Restriction_Generator_Base::is_cap($this->model(), $this->action() . '_private') && $this->model() instanceof EEM_CPT_Base) { |
|
| 54 | + // if they have basic and others, but not private, restrict them to see theirs and others' that aren't private |
|
| 55 | + $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_private') ] = new EE_Default_Where_Conditions( |
|
| 56 | + array( |
|
| 57 | + 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_private') => array( |
|
| 58 | + EE_Default_Where_Conditions::user_field_name_placeholder => EE_Default_Where_Conditions::current_user_placeholder, |
|
| 59 | + 'status' => array( '!=', 'private' ) |
|
| 60 | + ) |
|
| 61 | + ) |
|
| 62 | + ); |
|
| 63 | + } |
|
| 64 | + } |
|
| 65 | + } else { |
|
| 66 | + // there is no basic cap. So they can only access this if they have the default admin cap |
|
| 67 | + $restrictions[ EE_Restriction_Generator_Base::get_default_restrictions_cap() ] = new EE_Return_None_Where_Conditions(); |
|
| 68 | + } |
|
| 69 | + return $restrictions; |
|
| 70 | + } |
|
| 71 | 71 | } |
@@ -48,18 +48,18 @@ |
||
| 48 | 48 | $whitelisted_meta_keys = apply_filters('FHEE__EE_Restriction_Generator_Meta___generate_restrictions__whitelisted_meta_keys', array()); |
| 49 | 49 | $blacklisted_meta_keys = apply_filters('FHEE__EE_Restriction_Generator_Meta___generate_restrictions__blacklisted_meta_keys', array()); |
| 50 | 50 | $conditions = array( |
| 51 | - $this->_key_field_name => array( 'NOT_LIKE', "\\\\_%" ),// each slash is escaped because we are using double quotes, and |
|
| 51 | + $this->_key_field_name => array('NOT_LIKE', "\\\\_%"), // each slash is escaped because we are using double quotes, and |
|
| 52 | 52 | // stripslashes will be called on this because the models assume this is from user input |
| 53 | - $this->_value_field_name => array( 'NOT_REGEXP', '^[aOs]:[\d]:.*$') |
|
| 53 | + $this->_value_field_name => array('NOT_REGEXP', '^[aOs]:[\d]:.*$') |
|
| 54 | 54 | ); |
| 55 | - if (! empty($blacklisted_meta_keys)) { |
|
| 56 | - $conditions[ $this->_key_field_name . '*blacklisted' ] = array( 'NOT_IN', $blacklisted_meta_keys ); |
|
| 55 | + if ( ! empty($blacklisted_meta_keys)) { |
|
| 56 | + $conditions[$this->_key_field_name.'*blacklisted'] = array('NOT_IN', $blacklisted_meta_keys); |
|
| 57 | 57 | } |
| 58 | - if (! empty($whitelisted_meta_keys)) { |
|
| 58 | + if ( ! empty($whitelisted_meta_keys)) { |
|
| 59 | 59 | $conditions = array( |
| 60 | 60 | 'OR*whitelisted-or-normal' => array( |
| 61 | 61 | 'AND' => $conditions, |
| 62 | - $this->_key_field_name . '*whitelisted' => array( 'IN', $whitelisted_meta_keys ) |
|
| 62 | + $this->_key_field_name.'*whitelisted' => array('IN', $whitelisted_meta_keys) |
|
| 63 | 63 | ) |
| 64 | 64 | ); |
| 65 | 65 | } |
@@ -13,60 +13,60 @@ |
||
| 13 | 13 | */ |
| 14 | 14 | class EE_Restriction_Generator_Meta extends EE_Restriction_Generator_Base |
| 15 | 15 | { |
| 16 | - /** |
|
| 17 | - * |
|
| 18 | - * @var string the name of the field containing the meta key |
|
| 19 | - */ |
|
| 20 | - protected $_key_field_name = null; |
|
| 16 | + /** |
|
| 17 | + * |
|
| 18 | + * @var string the name of the field containing the meta key |
|
| 19 | + */ |
|
| 20 | + protected $_key_field_name = null; |
|
| 21 | 21 | |
| 22 | - /** |
|
| 23 | - * |
|
| 24 | - * @var string the name of the field containing the meta value |
|
| 25 | - */ |
|
| 26 | - protected $_value_field_name = null; |
|
| 22 | + /** |
|
| 23 | + * |
|
| 24 | + * @var string the name of the field containing the meta value |
|
| 25 | + */ |
|
| 26 | + protected $_value_field_name = null; |
|
| 27 | 27 | |
| 28 | - /** |
|
| 29 | - * Accepts the name of the field that indicates whether or not an object is a "system" one or not |
|
| 30 | - * @param string $key_field_name |
|
| 31 | - * @param string $value_field_name |
|
| 32 | - */ |
|
| 33 | - public function __construct($key_field_name, $value_field_name) |
|
| 34 | - { |
|
| 35 | - $this->_key_field_name = $key_field_name; |
|
| 36 | - $this->_value_field_name = $value_field_name; |
|
| 37 | - } |
|
| 28 | + /** |
|
| 29 | + * Accepts the name of the field that indicates whether or not an object is a "system" one or not |
|
| 30 | + * @param string $key_field_name |
|
| 31 | + * @param string $value_field_name |
|
| 32 | + */ |
|
| 33 | + public function __construct($key_field_name, $value_field_name) |
|
| 34 | + { |
|
| 35 | + $this->_key_field_name = $key_field_name; |
|
| 36 | + $this->_value_field_name = $value_field_name; |
|
| 37 | + } |
|
| 38 | 38 | |
| 39 | 39 | |
| 40 | - /** |
|
| 41 | - * |
|
| 42 | - * @return \EE_Default_Where_Conditions |
|
| 43 | - * @throws EE_Error |
|
| 44 | - */ |
|
| 45 | - protected function _generate_restrictions() |
|
| 46 | - { |
|
| 47 | - $whitelisted_meta_keys = apply_filters('FHEE__EE_Restriction_Generator_Meta___generate_restrictions__whitelisted_meta_keys', array()); |
|
| 48 | - $blacklisted_meta_keys = apply_filters('FHEE__EE_Restriction_Generator_Meta___generate_restrictions__blacklisted_meta_keys', array()); |
|
| 49 | - $conditions = array( |
|
| 50 | - $this->_key_field_name => array( 'NOT_LIKE', "\\\\_%" ),// each slash is escaped because we are using double quotes, and |
|
| 51 | - // stripslashes will be called on this because the models assume this is from user input |
|
| 52 | - $this->_value_field_name => array( 'NOT_REGEXP', '^[aOs]:[\d]:.*$') |
|
| 53 | - ); |
|
| 54 | - if (! empty($blacklisted_meta_keys)) { |
|
| 55 | - $conditions[ $this->_key_field_name . '*blacklisted' ] = array( 'NOT_IN', $blacklisted_meta_keys ); |
|
| 56 | - } |
|
| 57 | - if (! empty($whitelisted_meta_keys)) { |
|
| 58 | - $conditions = array( |
|
| 59 | - 'OR*whitelisted-or-normal' => array( |
|
| 60 | - 'AND' => $conditions, |
|
| 61 | - $this->_key_field_name . '*whitelisted' => array( 'IN', $whitelisted_meta_keys ) |
|
| 62 | - ) |
|
| 63 | - ); |
|
| 64 | - } |
|
| 65 | - return array( |
|
| 66 | - // only allow access to non-protected metas if they're an admin |
|
| 67 | - EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions(), |
|
| 68 | - // don't allow access to protected metas to anyone. If they want that, don't apply caps to the query |
|
| 69 | - 'apply-to-all-queries-using-caps' => new EE_Default_Where_Conditions($conditions), |
|
| 70 | - ); |
|
| 71 | - } |
|
| 40 | + /** |
|
| 41 | + * |
|
| 42 | + * @return \EE_Default_Where_Conditions |
|
| 43 | + * @throws EE_Error |
|
| 44 | + */ |
|
| 45 | + protected function _generate_restrictions() |
|
| 46 | + { |
|
| 47 | + $whitelisted_meta_keys = apply_filters('FHEE__EE_Restriction_Generator_Meta___generate_restrictions__whitelisted_meta_keys', array()); |
|
| 48 | + $blacklisted_meta_keys = apply_filters('FHEE__EE_Restriction_Generator_Meta___generate_restrictions__blacklisted_meta_keys', array()); |
|
| 49 | + $conditions = array( |
|
| 50 | + $this->_key_field_name => array( 'NOT_LIKE', "\\\\_%" ),// each slash is escaped because we are using double quotes, and |
|
| 51 | + // stripslashes will be called on this because the models assume this is from user input |
|
| 52 | + $this->_value_field_name => array( 'NOT_REGEXP', '^[aOs]:[\d]:.*$') |
|
| 53 | + ); |
|
| 54 | + if (! empty($blacklisted_meta_keys)) { |
|
| 55 | + $conditions[ $this->_key_field_name . '*blacklisted' ] = array( 'NOT_IN', $blacklisted_meta_keys ); |
|
| 56 | + } |
|
| 57 | + if (! empty($whitelisted_meta_keys)) { |
|
| 58 | + $conditions = array( |
|
| 59 | + 'OR*whitelisted-or-normal' => array( |
|
| 60 | + 'AND' => $conditions, |
|
| 61 | + $this->_key_field_name . '*whitelisted' => array( 'IN', $whitelisted_meta_keys ) |
|
| 62 | + ) |
|
| 63 | + ); |
|
| 64 | + } |
|
| 65 | + return array( |
|
| 66 | + // only allow access to non-protected metas if they're an admin |
|
| 67 | + EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions(), |
|
| 68 | + // don't allow access to protected metas to anyone. If they want that, don't apply caps to the query |
|
| 69 | + 'apply-to-all-queries-using-caps' => new EE_Default_Where_Conditions($conditions), |
|
| 70 | + ); |
|
| 71 | + } |
|
| 72 | 72 | } |
@@ -40,7 +40,7 @@ discard block |
||
| 40 | 40 | { |
| 41 | 41 | // if there are no standard caps for this model, then for now all we know |
| 42 | 42 | // if they need the default cap to access this |
| 43 | - if (! $this->model()->cap_slug()) { |
|
| 43 | + if ( ! $this->model()->cap_slug()) { |
|
| 44 | 44 | return array( |
| 45 | 45 | EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
| 46 | 46 | ); |
@@ -51,11 +51,11 @@ discard block |
||
| 51 | 51 | // there is no "ee_read_system_questions" cap; in order to read reg form items you only need "ee_read_{model_name}". |
| 52 | 52 | // there is also no "ee_delete_system_questions" cap. But folks shouldn't be deleting system questions anyway |
| 53 | 53 | if ($this->action() !== EEM_Base::caps_read) { |
| 54 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_system') ] = new EE_Default_Where_Conditions( |
|
| 54 | + $restrictions[EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_system')] = new EE_Default_Where_Conditions( |
|
| 55 | 55 | array( |
| 56 | - 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_system') => array( |
|
| 56 | + 'OR*no_'.EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action().'_system') => array( |
|
| 57 | 57 | $this->_system_field_name => array('IN', array('', 0)), |
| 58 | - $this->_system_field_name . '*' => array('IS_NULL') |
|
| 58 | + $this->_system_field_name.'*' => array('IS_NULL') |
|
| 59 | 59 | ) |
| 60 | 60 | ) |
| 61 | 61 | ); |
@@ -14,51 +14,51 @@ |
||
| 14 | 14 | */ |
| 15 | 15 | class EE_Restriction_Generator_Reg_Form extends EE_Restriction_Generator_Base |
| 16 | 16 | { |
| 17 | - /** |
|
| 18 | - * |
|
| 19 | - * @var string the name of the field that indicates whether or not this is a system thing |
|
| 20 | - */ |
|
| 21 | - protected $_system_field_name = null; |
|
| 17 | + /** |
|
| 18 | + * |
|
| 19 | + * @var string the name of the field that indicates whether or not this is a system thing |
|
| 20 | + */ |
|
| 21 | + protected $_system_field_name = null; |
|
| 22 | 22 | |
| 23 | - /** |
|
| 24 | - * Accepts the name of the field that indicates whether or not an object is a "system" one or not |
|
| 25 | - * @param string $system_field_name |
|
| 26 | - */ |
|
| 27 | - public function __construct($system_field_name) |
|
| 28 | - { |
|
| 29 | - $this->_system_field_name = $system_field_name; |
|
| 30 | - } |
|
| 23 | + /** |
|
| 24 | + * Accepts the name of the field that indicates whether or not an object is a "system" one or not |
|
| 25 | + * @param string $system_field_name |
|
| 26 | + */ |
|
| 27 | + public function __construct($system_field_name) |
|
| 28 | + { |
|
| 29 | + $this->_system_field_name = $system_field_name; |
|
| 30 | + } |
|
| 31 | 31 | |
| 32 | 32 | |
| 33 | - /** |
|
| 34 | - * |
|
| 35 | - * @return \EE_Default_Where_Conditions[] |
|
| 36 | - * @throws EE_Error |
|
| 37 | - */ |
|
| 38 | - protected function _generate_restrictions() |
|
| 39 | - { |
|
| 40 | - // if there are no standard caps for this model, then for now all we know |
|
| 41 | - // if they need the default cap to access this |
|
| 42 | - if (! $this->model()->cap_slug()) { |
|
| 43 | - return array( |
|
| 44 | - EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
|
| 45 | - ); |
|
| 46 | - } |
|
| 47 | - $restrictions = array( |
|
| 48 | - EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action()) => new EE_Return_None_Where_Conditions(), |
|
| 49 | - ); |
|
| 50 | - // there is no "ee_read_system_questions" cap; in order to read reg form items you only need "ee_read_{model_name}". |
|
| 51 | - // there is also no "ee_delete_system_questions" cap. But folks shouldn't be deleting system questions anyway |
|
| 52 | - if ($this->action() !== EEM_Base::caps_read) { |
|
| 53 | - $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_system') ] = new EE_Default_Where_Conditions( |
|
| 54 | - array( |
|
| 55 | - 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_system') => array( |
|
| 56 | - $this->_system_field_name => array('IN', array('', 0)), |
|
| 57 | - $this->_system_field_name . '*' => array('IS_NULL') |
|
| 58 | - ) |
|
| 59 | - ) |
|
| 60 | - ); |
|
| 61 | - } |
|
| 62 | - return $restrictions; |
|
| 63 | - } |
|
| 33 | + /** |
|
| 34 | + * |
|
| 35 | + * @return \EE_Default_Where_Conditions[] |
|
| 36 | + * @throws EE_Error |
|
| 37 | + */ |
|
| 38 | + protected function _generate_restrictions() |
|
| 39 | + { |
|
| 40 | + // if there are no standard caps for this model, then for now all we know |
|
| 41 | + // if they need the default cap to access this |
|
| 42 | + if (! $this->model()->cap_slug()) { |
|
| 43 | + return array( |
|
| 44 | + EE_Restriction_Generator_Base::get_default_restrictions_cap() => new EE_Return_None_Where_Conditions() |
|
| 45 | + ); |
|
| 46 | + } |
|
| 47 | + $restrictions = array( |
|
| 48 | + EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action()) => new EE_Return_None_Where_Conditions(), |
|
| 49 | + ); |
|
| 50 | + // there is no "ee_read_system_questions" cap; in order to read reg form items you only need "ee_read_{model_name}". |
|
| 51 | + // there is also no "ee_delete_system_questions" cap. But folks shouldn't be deleting system questions anyway |
|
| 52 | + if ($this->action() !== EEM_Base::caps_read) { |
|
| 53 | + $restrictions[ EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_system') ] = new EE_Default_Where_Conditions( |
|
| 54 | + array( |
|
| 55 | + 'OR*no_' . EE_Restriction_Generator_Base::get_cap_name($this->model(), $this->action() . '_system') => array( |
|
| 56 | + $this->_system_field_name => array('IN', array('', 0)), |
|
| 57 | + $this->_system_field_name . '*' => array('IS_NULL') |
|
| 58 | + ) |
|
| 59 | + ) |
|
| 60 | + ); |
|
| 61 | + } |
|
| 62 | + return $restrictions; |
|
| 63 | + } |
|
| 64 | 64 | } |