3ev Core Wordpress library API
  • Namespace
  • Class

Namespaces

  • Tev
    • Application
      • Bootstrap
    • Author
      • Model
    • Contracts
    • Database
      • CustomTables
    • Field
      • Model
      • Util
    • Plugin
      • Action
      • Shortcode
    • Post
      • Model
      • Repository
    • Taxonomy
      • Model
      • Repository
    • Term
      • Model
      • Repository
    • Util
    • View
      • Exception
  • None

Classes

  • Tev\Application\Application
  • Tev\Application\Bootstrap\AuthorFactory
  • Tev\Application\Bootstrap\FieldFactory
  • Tev\Application\Bootstrap\PluginLoader
  • Tev\Application\Bootstrap\Post
  • Tev\Application\Bootstrap\Taxonomy
  • Tev\Application\Bootstrap\Term
  • Tev\Application\Bootstrap\Util
  • Tev\Author\Factory
  • Tev\Author\Model\Author
  • Tev\Database\CustomTables\AbstractInstaller
  • Tev\Database\Utils
  • Tev\Field\Factory
  • Tev\Field\Model\AbstractField
  • Tev\Field\Model\AuthorField
  • Tev\Field\Model\BasicField
  • Tev\Field\Model\DateField
  • Tev\Field\Model\FileField
  • Tev\Field\Model\FlexibleContentField
  • Tev\Field\Model\GoogleMapField
  • Tev\Field\Model\ImageField
  • Tev\Field\Model\NullField
  • Tev\Field\Model\NumberField
  • Tev\Field\Model\PostField
  • Tev\Field\Model\RepeaterField
  • Tev\Field\Model\SelectField
  • Tev\Field\Model\TaxonomyField
  • Tev\Field\Util\FieldGroup
  • Tev\Field\Util\LayoutFieldGroup
  • Tev\Plugin\Action\AbstractProvider
  • Tev\Plugin\Loader
  • Tev\Plugin\Shortcode\AbstractProvider
  • Tev\Post\Factory
  • Tev\Post\Model\AbstractPost
  • Tev\Post\Model\Attachment
  • Tev\Post\Model\Page
  • Tev\Post\Model\Post
  • Tev\Post\Repository\PostRepository
  • Tev\Taxonomy\Factory
  • Tev\Taxonomy\Model\Taxonomy
  • Tev\Taxonomy\Repository\TaxonomyRepository
  • Tev\Term\Factory
  • Tev\Term\Model\Term
  • Tev\Term\Repository\TermRepository
  • Tev\Util\TemplateExtras
  • Tev\View\Renderer

Interfaces

  • Tev\Contracts\BootstrapperInterface
  • Tev\Contracts\WordpressWrapperInterface

Exceptions

  • Tev\View\Exception\NotFoundException
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 
<?php
namespace Tev\Database;

/**
 * Useful database utility methods.
 */
class Utils
{
    /**
     * Generate Wordpress WPDB placeholders for inserts/updates, based on
     * the types of values in the given array.
     *
     * See: http://codex.wordpress.org/Class_Reference/wpdb#Placeholders
     *
     * @param  array $data Key/value pairs
     * @return array       Placeholders
     */
    public function generatePlaceholders(array $data)
    {
        $placeholders = array();

        foreach ($data as $d) {
            if (is_float($d)) {
                $placeholders[] = '%f';
            } elseif (is_int($d)) {
                $placeholders[] = '%d';
            } else {
                $placeholders[] = '%s';
            }
        }

        return $placeholders;
    }

    /**
     * Generate a slug from the given field.
     *
     * Uses `sanitize_title()` to create a slug. If $unique is provided, this
     * method will check if the slug already exists in $unique. If it does,
     * it will append '-1', '-2' etc to the slug until a unique value is found.
     *
     * @param  string $data   Data to slugify
     * @param  array  $unique Array of values to ensure slug is unique against
     * @return string         Generated slug
     */
    public function createSlug($data, array $unique = array())
    {
        $slug = sanitize_title($data);
        $next = 1;

        while (in_array($slug, $unique)) {
            $slug = sanitize_title($data . ' ' . $next++);
        }

        return $slug;
    }
}
3ev Core Wordpress library API API documentation generated by ApiGen