diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/db.php | 8 | ||||
-rw-r--r-- | include/functions.php | 26 | ||||
-rw-r--r-- | include/preferences.php | 34 |
3 files changed, 64 insertions, 4 deletions
diff --git a/include/db.php b/include/db.php index 514bde2..de549a5 100644 --- a/include/db.php +++ b/include/db.php @@ -729,6 +729,14 @@ function DB_get_PREF($myid) else $PREF['autosetup']='no'; + /* Sorting */ + $r = DB_query_array("SELECT value FROM User_Prefs". + " WHERE user_id='$myid' AND pref_key='sorting'" ); + if($r) + $PREF['sorting'] = $r[0]; + else + $PREF['sorting']='high-low'; + return $PREF; } diff --git a/include/functions.php b/include/functions.php index 5c23958..466b4ae 100644 --- a/include/functions.php +++ b/include/functions.php @@ -608,21 +608,39 @@ function set_gametype($gametype) function mysort($cards,$gametype) { - usort ( $cards, "sort_comp" ); + global $PREF; + if(isset($PREF['sorting'])) + if($PREF['sorting']=='high-low') + usort ( $cards, 'sort_comp_high_low' ); + else + usort ( $cards, 'sort_comp_low_high' ); + else + usort ( $cards, 'sort_comp_high_low' ); return $cards; } -function sort_comp($a,$b) +function sort_comp_high_low($a,$b) { global $CARDS; $ALL = array(); - $ALL = array_merge($CARDS["trump"],$CARDS["diamonds"],$CARDS["clubs"], - $CARDS["hearts"],$CARDS["spades"]); + $ALL = array_merge($CARDS['trump'],$CARDS['diamonds'],$CARDS['clubs'], + $CARDS['hearts'],$CARDS['spades']); return pos_array($a,$ALL)-pos_array($b,$ALL); } +function sort_comp_low_high($a,$b) +{ + global $CARDS; + + $ALL = array(); + $ALL = array_merge($CARDS['trump'],$CARDS['diamonds'],$CARDS['clubs'], + $CARDS['hearts'],$CARDS['spades']); + + return -pos_array($a,$ALL)+pos_array($b,$ALL); +} + function can_call($what,$hash) { global $RULES; diff --git a/include/preferences.php b/include/preferences.php index 67e2eec..775c4b2 100644 --- a/include/preferences.php +++ b/include/preferences.php @@ -92,6 +92,24 @@ if(myisset("autosetup")) } } +if(myisset("sorting")) + { + $sorting = $_REQUEST['sorting']; + if($sorting != $PREF['sorting']) + { + /* check if we already have an entry for the user, if so change it, if not create new one */ + $result = DB_query("SELECT * from User_Prefs". + " WHERE user_id='$myid' AND pref_key='sorting'" ); + if( DB_fetch_array($result)) + $result = DB_query("UPDATE User_Prefs SET value=".DB_quote_smart($sorting). + " WHERE user_id='$myid' AND pref_key='sorting'" ); + else + $result = DB_query("INSERT INTO User_Prefs VALUES(NULL,'$myid','sorting',". + DB_quote_smart($sorting).")"); + $changed_sorting=1; + } + } + if(myisset("password0") && $_REQUEST["password0"]!="" ) { @@ -166,6 +184,22 @@ echo " <select id=\"autosetup\" name=\"autosetup\" size=\"1\">\n"; echo " </select>\n"; if($changed_autosetup) echo "changed"; echo " </td></tr>\n"; +echo " <tr><td>Sorting: </td><td>"; + +echo " <select id=\"sorting\" name=\"sorting\" size=\"1\">\n"; + if($PREF['sorting']=="high-low") + { + echo " <option value=\"high-low\" selected=\"selected\">high to low</option>\n"; + echo " <option value=\"low-high\">low to high</option>\n"; + } + else + { + echo " <option value=\"high-low\">high to low</option>\n"; + echo " <option value=\"low-high\" selected=\"selected\">low to high</option>\n"; + } + echo " </select>\n"; +if($changed_sorting) echo "changed"; +echo " </td></tr>\n"; echo " <tr><td>Card set: </td><td>"; echo " <select id=\"cards\" name=\"cards\" size=\"1\">\n"; |