summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/db.php8
-rw-r--r--include/functions.php26
-rw-r--r--include/preferences.php34
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";