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; }
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 }