codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
function display_ARE( $atts ) { // Attributes extract( shortcode_atts( array( 'cat_x' => '', 'cat_y' => '', 'notemax' => '' ), $atts ) ); // Code global $wpdb; $order = 'id ASC' ; $yrow = ''; $echo; // A vérifier avec utilisation d'une table $cat_separator = "/" ; // Récupération de la liste des attributs des deux axes $xattr_array = $wpdb->get_results('SELECT * FROM wp_are WHERE category="'.$atts['cat_x'].'" ORDER BY '.$order); $yrow_array = $wpdb->get_results('SELECT * FROM wp_are WHERE category="'.$atts['cat_y'].'" ORDER BY '.$order); // Chargement des icones de notation if ($atts['notemax']==4){ $notes[0] = "note0"; $notes[1] = "note1"; $notes[2] = "note2"; $notes[3] = "note3"; $notes[4] = "note4"; } elseif ($atts['notemax']==2){ $notes[0] = "note0"; $notes[1] = "note2"; $notes[2] = "note4"; } // Initialisation de la table de gauche $echo .= '<div class="table_ARE" id="table_ARE_left"><table>'; // Titre de la table $echo .= '<thead><tr><th>' . $atts['cat_x'] . $cat_separator . $atts['cat_y'] . '</th></thead><tbody>' ; // Titre de chaque colonne foreach ($yrow_array as $yr){ // Titre de la ligne $yrow = '<tr><td>' . utf8_encode($yr->name); // Taxonomy de la ligne if (!empty($yr->taxonomy)){ $yrow .= '<i class="taxonomy">' . utf8_encode($yr->taxonomy) . '</i>' ; } // Fin de ligne $yrow .= '</td></tr>'; $echo .= $yrow; } // Fin de la table de gauche $echo .= '</tbody></table></div>'; // Initialisation de la table de droite // $echo .= '<div class="table_ARE" id="table_ARE_right"><table><thead>'; $echo .= '<div class="table_ARE" id="double-scroll"><table id="very-wide-element"><thead>'; // Mise en forme de l'axe X -> titre de chaque colonne -> header de la table foreach ($xattr_array as $xa){ $xattr .= '<th>' . utf8_encode($xa->name) ; if (!empty($xa->taxonomy)){ $xattr .= '<i class="taxonomy">' . utf8_encode($xa->taxonomy) . '</i>' ; } } $xattr .= '</th>'; $echo .= $xattr; $echo .= '</tr></thead>'; // Initialisation du corps de table $echo .= '<tbody>'; // Mise en forme de chaque ligne du tableau foreach ($yrow_array as $yr){ // Initialisation de la ligne $yrow = '<tr>'; // Remplissage des relations foreach ($xattr_array as $xa){ // Récupération de la relation $relation = $wpdb->get_results('SELECT * FROM wp_are_rel WHERE left_id="'.$yr->id.'" AND right_id="'.$xa->id.'"'); if (!empty($relation)){ $stren = $relation[0]->strength; } else { $stren = 0; } $noteclass = $notes[$stren]; $yrow .= '<td class="note ' . $noteclass . '"></td>'; } // Fin de ligne $yrow .= '</tr>'; $echo .= $yrow; } if (count($yrow_array)>8) { // Footer de la table $echo .= '</tbody><tfoot><tr>'; // Mise en forme de l'axe X -> titre de chaque colonne -> footer de la table foreach ($xattr_array as $xa){ $fxattr .= '<td>' . utf8_encode($xa->name) ; if (!empty($xa->taxonomy)){ $fxattr .= '<i class="taxonomy">' . utf8_encode($xa->taxonomy) . '</i>' ; } $fxattr .= '</td>'; } $echo .= $fxattr . '</tr></tfoot>'; } // Conclusion de la table $echo .= '</table></div>'; // Snippet JS $echo .= '<script type="text/javascript"> jQuery(document).ready(function($){ jQuery("#double-scroll").doubleScroll(); }); </script>'; // Affichage du résultat return $echo; } add_shortcode( 'ARE', 'display_ARE' ); // Ajout du script pour la double scrollbar function dsb_adding_scripts() { wp_register_script('doubleScroll', get_stylesheet_directory_uri() . '/js/jquery.doubleScroll.js', array('jquery'),'0.3', true); wp_enqueue_script('doubleScroll'); } add_action( 'wp_enqueue_scripts', 'dsb_adding_scripts' );
Private
[
?
]
Run code
Submit