? .bzr
? ingredient_weight-D6.patch
? recipe_order_v1.patch
Index: recipe.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/recipe/recipe.install,v
retrieving revision 1.10
diff -u -p -r1.10 recipe.install
--- recipe.install	20 Apr 2008 19:05:12 -0000	1.10
+++ recipe.install	27 Jan 2010 03:39:32 -0000
@@ -49,6 +49,11 @@ function recipe_schema() {
         'type' => 'int',
         'unsigned' => TRUE,
         'not null' => TRUE),
+      'weight' => array(
+         'type' => 'int',
+         'unsigned' => TRUE,
+         'not null' => TRUE,
+         'default' => 0),
     ),
     'primary key' => array('id'),
   );
@@ -104,6 +109,18 @@ function recipe_install() {
   recipe_populate_units();
 }
 
+/**
+ * Adds weight column to recipe_node_ingredient
+ */
+function recipe_update_3() {
+  $ret = array();
+
+  $ret[] = update_sql('ALTER TABLE {recipe_node_ingredient} ADD weight INT default 0');
+
+  return $ret;
+}
+
+
 function recipe_populate_units() {
   $s = true;
   $s = $s && db_query("INSERT INTO {recipe_unit} VALUES (1, 'Slice', 'sli', 0, 'Unit');");
Index: recipe.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/recipe/recipe.module,v
retrieving revision 1.82.2.1
diff -u -p -r1.82.2.1 recipe.module
--- recipe.module	20 Apr 2008 20:07:15 -0000	1.82.2.1
+++ recipe.module	27 Jan 2010 03:39:32 -0000
@@ -692,13 +692,13 @@ function recipe_save_ingredients($node) 
   foreach ($changes->add as $ingredient) {
     $ingredient->id = recipe_ingredient_id_from_name($ingredient->name);
     $ingredient->quantity = recipe_ingredient_quantity_from_fraction($ingredient->quantity);
-    db_query("INSERT INTO {recipe_node_ingredient} (nid,ingredient_id,quantity,unit_id) VALUES (%d,%d,%f,%d)", $node->nid, $ingredient->id, $ingredient->quantity, $ingredient->unit_id);
+    db_query("INSERT INTO {recipe_node_ingredient} (nid,ingredient_id,quantity,unit_id,weight) VALUES (%d,%d,%f,%d,%d)", $node->nid, $ingredient->id, $ingredient->quantity, $ingredient->unit_id, $ingredient->weight);
   }
 
   foreach ($changes->update as $ingredient) {
     $ingredient->id = recipe_ingredient_id_from_name($ingredient->name);
     $ingredient->quantity = recipe_ingredient_quantity_from_fraction($ingredient->quantity);
-    db_query("UPDATE {recipe_node_ingredient} SET quantity='%f', unit_id='%d' WHERE nid='%d' AND  ingredient_id='%d'", $ingredient->quantity, $ingredient->unit_id, $node->nid, $ingredient->id);
+    db_query("UPDATE {recipe_node_ingredient} SET quantity='%f', unit_id='%d', weight='%d' WHERE nid='%d' AND  ingredient_id='%d'", $ingredient->quantity, $ingredient->unit_id, $ingredient->weight, $node->nid, $ingredient->id);
   }
 }
 
@@ -710,8 +710,9 @@ function recipe_ingredients_diff($a1, $a
   $return->remove = array();
   $return->update = array();
 
-  foreach ($a1 as $pl) {
+  foreach ($a1 as $key => $pl) {
     $pl = (object)$pl;
+    $pl->weight = $key;
     $pl->name = trim($pl->name);
     if ($pl->name) {
       if (!_in_array($pl, $return->add)) {
@@ -774,7 +775,7 @@ function recipe_load_ingredients($node) 
     AND ri.unit_id = u.id
     AND ri.nid=%d
   ORDER BY
-  ri.id', $node->nid);
+  ri.weight, ri.id', $node->nid);
   $ingredients = array();
   while ($ingredient = db_fetch_object($rs)) {
     $ingredients[] = $ingredient;
