Exemplo n.º 1
0
 public function parse_request($qty, $request = array())
 {
     if (is_null($qty)) {
         $qty = Utils::instance()->get_qty_from_range(Variable::super(INPUT_POST, array(Plugin::$slug, 'qty'), FILTER_UNSAFE_RAW));
     }
     if (0 === $qty) {
         return esc_attr__('Zero is not a good number of terms to fake...', 'fakerpress');
     }
     $name_size = Variable::super(INPUT_POST, array(Plugin::$slug, 'size'), FILTER_UNSAFE_RAW);
     // Fetch taxomies
     $taxonomies = Variable::super($request, array('taxonomies'), FILTER_SANITIZE_STRING);
     $taxonomies = array_map('trim', explode(',', $taxonomies));
     $taxonomies = array_intersect(get_taxonomies(array('public' => true)), $taxonomies);
     // Only has meta after 4.4-beta
     $has_metas = version_compare($GLOBALS['wp_version'], '4.4-beta', '>=');
     if ($has_metas) {
         $metas = Variable::super($request, array('meta'), FILTER_UNSAFE_RAW);
     }
     for ($i = 0; $i < $qty; $i++) {
         $this->set('taxonomy', $taxonomies);
         $this->set('name', $name_size);
         $this->set('description');
         $this->set('parent_term');
         $term_id = $this->generate()->save();
         if ($has_metas && $term_id && is_numeric($term_id)) {
             foreach ($metas as $meta_index => $meta) {
                 Meta::instance()->object($term_id, 'term')->generate($meta['type'], $meta['name'], $meta)->save();
             }
         }
         $results[] = $term_id;
     }
     $results = array_filter((array) $results, 'absint');
     return $results;
 }
Exemplo n.º 2
0
 public function name($qty = 4)
 {
     $qty = FakerPress\Utils::instance()->get_qty_from_range($qty);
     $name = $this->generator->sentence($qty);
     // This removes the last dot on the end of the sentence
     $name = rtrim($name, '.');
     return $name;
 }
Exemplo n.º 3
0
 public function parse_request($qty, $request = array())
 {
     if (is_null($qty)) {
         $qty = Utils::instance()->get_qty_from_range(Variable::super(INPUT_POST, array(Plugin::$slug, 'qty'), FILTER_UNSAFE_RAW));
     }
     if (0 === $qty) {
         return esc_attr__('Zero is not a good number of comments to fake...', 'fakerpress');
     }
     $comment_content_use_html = Variable::super($request, array('use_html'), FILTER_SANITIZE_STRING, 'off') === 'on';
     $comment_content_html_tags = array_map('trim', explode(',', Variable::super($request, array('html_tags'), FILTER_SANITIZE_STRING)));
     $min_date = Variable::super($request, array('interval_date', 'min'));
     $max_date = Variable::super($request, array('interval_date', 'max'));
     $metas = Variable::super($request, array('meta'), FILTER_UNSAFE_RAW);
     $results = array();
     for ($i = 0; $i < $qty; $i++) {
         $this->set('comment_date', $min_date, $max_date);
         $this->set('comment_content', $comment_content_use_html, array('elements' => $comment_content_html_tags));
         $this->set('user_id', 0);
         $this->set('comment_author');
         $this->set('comment_parent');
         $this->set('comment_author_IP');
         $this->set('comment_agent');
         $this->set('comment_approved');
         $this->set('comment_post_ID');
         $this->set('comment_author_email');
         $this->set('comment_author_url');
         $comment_id = $this->generate()->save();
         if ($comment_id && is_numeric($comment_id)) {
             foreach ($metas as $meta_index => $meta) {
                 Meta::instance()->object($comment_id, 'comment')->generate($meta['type'], $meta['name'], $meta)->save();
             }
         }
         $results[] = $comment_id;
     }
     $results = array_filter($results, 'absint');
     return $results;
 }
Exemplo n.º 4
0
 public function meta_type_geo($template, $weight = 50)
 {
     $template = explode('|', $template);
     $tags = array('country', 'country_code', 'country_abbr', 'city_prefix', 'city_suffix', 'city', 'state', 'state_abbr', 'address', 'secondary_address', 'building_number', 'street_name', 'street_address', 'postalcode', 'latitude', 'longitude');
     $text = array();
     foreach ($template as $key => $tag) {
         preg_match('|^\\{\\% *([^\\ ]*) *\\%\\}$|i', $tag, $_parsed);
         if (!empty($_parsed)) {
             list($element, $term) = $_parsed;
             switch ($term) {
                 case 'country':
                     $text[] = $this->generator->country;
                     break;
                 case 'country_code':
                     $text[] = \FakerPress\Utils::get_country_alpha_code($this->generator->country, 2);
                     break;
                 case 'country_abbr':
                     $text[] = \FakerPress\Utils::get_country_alpha_code($this->generator->country, 3);
                     break;
                 case 'city_prefix':
                     $text[] = $this->generator->cityPrefix;
                     break;
                 case 'city_suffix':
                     $text[] = $this->generator->citySuffix;
                     break;
                 case 'city':
                     $text[] = $this->generator->city;
                     break;
                 case 'state':
                     $text[] = $this->generator->state;
                     break;
                 case 'state_abbr':
                     $text[] = $this->generator->stateAbbr;
                     break;
                 case 'address':
                     $text[] = $this->generator->address;
                     break;
                 case 'secondary_address':
                     $text[] = $this->generator->secondaryAddress;
                     break;
                 case 'building_number':
                     $text[] = $this->generator->buildingNumber;
                     break;
                 case 'street_name':
                     $text[] = $this->generator->streetName;
                     break;
                 case 'street_address':
                     $text[] = $this->generator->streetAddress;
                     break;
                 case 'postalcode':
                     $text[] = $this->generator->postcode;
                     break;
                 case 'latitude':
                     $text[] = $this->generator->latitude;
                     break;
                 case 'longitude':
                     $text[] = $this->generator->longitude;
                     break;
             }
         } else {
             $text[] = empty($tag) ? ' ' : $tag;
         }
     }
     $value = $this->generator->optional((int) $weight, null)->randomElement((array) implode('', $text));
     return $value;
 }
Exemplo n.º 5
0
 public function tax_input($config = null)
 {
     $output = array();
     if (is_null($config)) {
         return $output;
     }
     // The percentage of change in which the terms will be applied
     $rates = apply_filters('fakerpress/provider/WP_Post/tax_input.rates', array('category' => 50, 'post_tag' => 45, '__default' => 35));
     // The amount of terms that might have, provide a number for exact and array( int, int ) to range
     $ranges = apply_filters('fakerpress/provider/WP_Post/tax_input.ranges', array('category' => array(1, 3), 'post_tag' => array(0, 15), '__default' => array(0, 3)));
     foreach ($config as $settings) {
         $settings = (object) $settings;
         if (is_string($settings->taxonomies)) {
             $settings->taxonomies = explode(',', $settings->taxonomies);
         }
         $settings->taxonomies = (array) $settings->taxonomies;
         if (is_string($settings->terms)) {
             $settings->terms = explode(',', $settings->terms);
         }
         $settings->terms = (array) $settings->terms;
         foreach ($settings->taxonomies as $taxonomy) {
             if (empty($settings->terms)) {
                 $terms = get_terms($taxonomy, array('fields' => 'ids', 'hide_empty' => false));
             } else {
                 $terms = $settings->terms;
             }
             // Get all the term ids
             $terms = array_filter(array_map('absint', $terms));
             if (!isset($settings->qty)) {
                 $qty = FakerPress\Utils::instance()->get_qty_from_range(isset($ranges[$taxonomy]) ? $ranges[$taxonomy] : $ranges['__default'], $terms);
             } else {
                 $qty = FakerPress\Utils::instance()->get_qty_from_range($settings->qty, $terms);
             }
             if (!isset($settings->rate)) {
                 $rate = isset($rates[$taxonomy]) ? $rates[$taxonomy] : $rates['__default'];
             } else {
                 $rate = $settings->rate;
             }
             // Select the elements based on qty
             $output[$taxonomy] = $this->generator->optional($rate / 100, null)->randomElements($terms, $qty);
         }
     }
     return $output;
 }