5, "chieftain" => 4, "subchief" => 3, "clanhero" => 2, "clansman" => 1 ); if ( $ranks[$a[rank]] > $ranks[$b[rank]] ) return(-1); if ( $ranks[$a[rank]] < $ranks[$b[rank]] ) return(1); return( strcasecmp($a[name],$b[name]) ); } function clan_sort( $a, $b ) { global $clanlib_sortby; if ( is_numeric( $a[$clanlib_sortby] ) ) { if ( $a[$clanlib_sortby] == $b[$clanlib_sortby] ) return strcasecmp( $a["name"], $b["name"] ); if ( $a[$clanlib_sortby] > $b[$clanlib_sortby] ) return -1; return 1; } else { if ( !strcasecmp( $a[$clanlib_sortby], $b[$clanlib_sortby] ) ) return strcasecmp( $a["name"], $b["name"] ); else return strcasecmp( $a[$clanlib_sortby], $b[$clanlib_sortby] ); } } $clanlib_sortby = "score"; usort( $clanlib_clans, "clan_sort" ); function clanlib_index( $name ) { global $clanlib_clans; for ( $index = 0; $index < count( $clanlib_clans ); ++$index ) { if ( !strcasecmp( $name, $clanlib_clans[$index]["name"] ) || !strcasecmp( $name, $clanlib_clans[$index]["internal_name"] ) ) { return $index; } } } function clan_info( $name ) { global $clanlib_clans; return $clanlib_clans[clanlib_index( $name )]; } function clan_rival( $name ) { global $clanlib_clans; $index = clanlib_index( $name ); $above = $clanlib_clans[$index - 1]; $below = $clanlib_clans[$index + 1]; if ( !$above ) return $below; if ( !$below ) return $above; $diff_above = abs( $above["score"] - $clanlib_clans[$index]["score"] ); $diff_below = abs( $below["score"] - $clanlib_clans[$index]["score"] ); if ( $diff_above < $diff_below ) return $above; return $below; } function clan_target( $name ) { global $clanlib_clans; return $clanlib_clans[clanlib_index( $name ) - 1]; } function clan_anklebiter( $name ) { global $clanlib_clans; return $clanlib_clans[clanlib_index( $name ) + 1]; } function clan_members( $name ) { global $clanlib_data; for ( $index = 0; $index < count( $clanlib_data["/clans/members"]["records"] ); ++$index ) { if ( !strcasecmp( $name, $clanlib_data["/clans/members"]["records"][$index]["name"] ) || !strcasecmp( $name, $clanlib_data["/clans/members"]["records"][$index]["internal_name"] ) ) { usort( $clanlib_data["/clans/members"]["records"][$index]["members"], "sort_members" ); return $clanlib_data["/clans/members"]["records"][$index]["members"]; } } } function clan_sortby( $attr ) { global $clanlib_sortby; global $clanlib_clans; $clanlib_sortby = $attr; usort( $clanlib_clans, "clan_sort" ); } function clan_rank( $name ) { return clanlib_index( $name ) + 1; } ?>