apply_filters( 'anyipsum-setting-get', '', 'anyipsum-settings-general', 'querystring-custom-and-filler' ), 'start-with-lorem' => false, 'sentences' => '', 'paras' => 5, 'max-paras' => 5, 'callback' => '', ); } public function parse_request_args( $args ) { // if this is a URL, grab the query string parameters if ( ! empty( $args ) && is_string( $args ) && strpos( $args, '?' ) ) { $args = substr( $args, strpos( $args, '?' ) + 1 ); } $args = wp_parse_args( $args, $this->default_generator_args() ); if ( false !== strpos( $args['paras'], '-') ) { $parts = explode( '-', $args['paras'] ); $args['paras'] = absint( $parts[0] ); $args['max-paras'] = absint( $parts[1] ); } else { $args['paras'] = absint( $args['paras'] ); $args['max-paras'] = $args['paras']; } $args['start-with-lorem'] = ! empty( $args['start-with-lorem'] ) && ( $args['start-with-lorem'] === '1' || $args['start-with-lorem'] === 1 || $args['start-with-lorem'] ); $args = $this->sanitize_args( $args ); if ( empty( $args['number-of-paragraphs'] ) ) { $args['number-of-paragraphs'] = $args['paras']; $args['max-number-of-paragraphs'] = $args['paras']; } $args['max-number-of-paragraphs'] = $args['max-paras']; if ( empty( $args['number-of-sentences'] ) ) { $args['number-of-sentences'] = $args['sentences']; } return $args; } private function sanitize_args( $args ) { if ( $args['paras'] < 1 ) { $args['paras'] = 1; } if ( $args['paras'] > 100 ) { $args['paras'] = 100; } if ( $args['max-paras'] < 1 ) { $args['max-paras'] = 1; } if ( $args['max-paras'] > 100 ) { $args['max-paras'] = 100; } if ( ! empty( $args['sentences'] ) ) { $args['sentences'] = intval( $args['sentences'] ); if ( $args['sentences'] < 1 ) { $args['sentences'] = 1; } if ( $args['sentences'] > 100 ) { $args['sentences'] = 100; } } return $args; } public function generate_filler( $args ) { $args = wp_parse_args( $args, $this->default_generator_args() ); if ( class_exists( 'WPAnyIpsumGenerator' ) ) { $generator = new WPAnyIpsumGenerator(); $generator->custom_words = $this->get_words( 'custom-words' ); $generator->filler = $this->get_words( 'filler-words' ); $generator->start_with = apply_filters( 'anyipsum-setting-get', '', 'anyipsum-settings-general', 'start-with' ); $generator->custom_and_filler = apply_filters( 'anyipsum-setting-get', '', 'anyipsum-settings-general', 'querystring-custom-and-filler' ); $generator->sentence_mode = apply_filters( 'anyipsum-setting-get', false, 'anyipsum-settings-custom-filler', 'sentence-mode' ); return $generator->Make_Some_Custom_Filler( $args['type'], $args['number-of-paragraphs'], $args['start-with-lorem'], $args['number-of-sentences'], $args['max-number-of-paragraphs'] ); } else return array(); } private function get_words( $type ) { $words = apply_filters( 'anyipsum-setting-get', array(), 'anyipsum-settings-custom-filler', $type ); if ( !empty( $words ) ) { $words = explode( "\n", $words ); } return $words; } } }