[ create a new paste ] login | about

Link: http://codepad.org/UEKcxchQ    [ raw code | output | fork ]

PHP, pasted on Feb 12:
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' ); 


Output:
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' ); 


Create a new paste based on this one


Comments: