Пример #1
0
function get_article_class($filters, $article, $sanitize = true)
{
    $klass = array();
    foreach ($filters as $filter_meta) {
        $klass = array_merge($klass, get_filter_value($filter_meta, $article));
    }
    if ($sanitize) {
        $klass = array_map("string_to_classname", $klass);
    }
    return $klass;
}
Пример #2
0
function anvelocom_anvelope_page()
{
    ?>
  <section id="anvelope" class="filter">
    <h1>Filtre</h2>
    
    <form action="?page=anvelocom-anvelope" method="post">
      <input type="hidden" value="<?php 
    echo wp_create_nonce('anvelocom');
    ?>
" id="nonce" name="nonce">
      <input type="hidden" id="action" name="action" value="submit-form">
      <input type="hidden" id="index" name="index" value="0">
      <input type="submit" value="Anvelope" id="submit" name="submit">
    </form>
    
    <form action="?page=anvelocom-anvelope" method="post">
      <input type="hidden" value="<?php 
    echo wp_create_nonce('anvelocom');
    ?>
" id="nonce" name="nonce">
      <input type="hidden" id="action" name="action" value="submit-form">
      <input type="hidden" id="index" name="index" value="1">
      <input type="submit" value="Jenti" id="submit" name="submit">
    </form>
    
    <form action="?page=anvelocom-anvelope" method="post">
      <input type="hidden" value="<?php 
    echo wp_create_nonce('anvelocom');
    ?>
" id="nonce" name="nonce">
      <input type="hidden" id="action" name="action" value="submit-form">
      <input type="hidden" id="index" name="index" value="2">
      <input type="submit" value="Tuning" id="submit" name="submit">
    </form>
    
    <?php 
    // Generate the relationships
    //
    if ($_POST && $_POST['action'] == 'submit-form') {
        if (wp_verify_nonce($_POST['nonce'], 'anvelocom')) {
            $index = $_POST['index'];
            // Get the filters
            global $SPECIAL_CATEGORIES;
            global $FILTERS;
            global $TABLES;
            $articles = get_posts_from_category($SPECIAL_CATEGORIES[$index], -1);
            $filters = $FILTERS[$index];
            global $wpdb;
            $table = $wpdb->prefix . 'filter_' . $TABLES[$index];
            // First remove all existing data ....
            $ret = $wpdb->query($wpdb->prepare("TRUNCATE TABLE {$table}", array()));
            echo $ret != false ? "OK " : "Error ";
            // Now add relationships
            $fields = '(';
            foreach ($filters as $filter) {
                $fields .= avc_remove_filter_prefix($filter) . ',';
            }
            $fields = rtrim($fields, ",") . ')';
            foreach ($articles as $article) {
                $relations = array();
                $values = '(';
                foreach ($filters as $filter) {
                    $filter_value = get_filter_value($filter, $article, true);
                    if ($filter_value) {
                        $values .= '%s,';
                    } else {
                        $values .= '"NaV",';
                    }
                    //Not a value: property meta value not set... by iBB!
                    $relations = array_merge($relations, $filter_value);
                }
                $values = rtrim($values, ",") . ')';
                // convert 10,5 to 10-5 and BF Goodrich to bf-goodrich to match HTML class name conventions in order to be usable with the Isotope plugin which filters through class names
                $relations = array_map("string_to_classname", $relations);
                if (!empty($relations)) {
                    $ret = $wpdb->query($wpdb->prepare("INSERT INTO {$table} {$fields} VALUES {$values} ", $relations));
                    echo $ret != false ? "OK " : "Error ";
                }
            }
        }
    }
    ?>
  </section>
<?php 
}