From 100a409faf226f6c81bcf93966c1ab80cde16760 Mon Sep 17 00:00:00 2001
From: Eric Alvares <erica@344430.no-reply.drupal.org>
Date: Tue, 1 Mar 2011 15:38:48 +0100
Subject: [PATCH] issue #1060484 follow-up by Eric_A: Remove chessboard_field(). Make parameters element properties.

---
 chessboard.module     |   15 +++++++--------
 chessboard_render.php |    8 ++++----
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/chessboard.module b/chessboard.module
index b8f7b4b..36e7ebf 100644
--- a/chessboard.module
+++ b/chessboard.module
@@ -95,13 +95,13 @@ function chessboard_process_chessboard_notation($elements) {
     $params =& $matches[1];
 
     // Number of files: any integer (default: 8)
-    $item['file_max'] = preg_match('@[0-9]+@', $params, $m) ? $m[0] : 8;
+    $elements[$delta]['#file_max'] = preg_match('@[0-9]+@', $params, $m) ? $m[0] : 8;
 
     // Color of the upper left square: [l]ight (default), or [d]ark
-    $item['square_color_first'] = (strpos($params, 'd') !== FALSE) ? 1 : 0;
+    $elements[$delta]['#square_color_first'] = (strpos($params, 'd') !== FALSE) ? 1 : 0;
 
     // Borders
-    $item['border'] = array('T' => (strpos($params, 'T') !== FALSE),
+    $elements[$delta]['#border'] = array('T' => (strpos($params, 'T') !== FALSE),
                     'B' => (strpos($params, 'B') !== FALSE),
                     'L' => (strpos($params, 'L') !== FALSE),
                     'R' => (strpos($params, 'R') !== FALSE));
@@ -110,7 +110,7 @@ function chessboard_process_chessboard_notation($elements) {
     //----------------------------------
     $board_value =& $matches[2];
     $board_value = strip_tags($board_value);
-    $item['board'] = array();
+    $elements[$delta]['#board'] = array();
     $file = $rank_d = 0;
     for ($i=0; isset($board_value[$i]); $i++) {
       // Ignore unknown characters
@@ -118,7 +118,7 @@ function chessboard_process_chessboard_notation($elements) {
         continue;
       }
 
-      if ($file >= $item['file_max']) {
+      if ($file >= $elements[$delta]['#file_max']) {
         $file = 0;
         $rank_d++;
       }
@@ -126,16 +126,15 @@ function chessboard_process_chessboard_notation($elements) {
       if (strpos('12345678', $board_value[$i]) !== FALSE) {
         // Multiple empty squares
         for ($j=0; $j<$board_value[$i]; $j++) {
-          $item['board'][$rank_d][$file] = '-';
+          $elements[$delta]['#board'][$rank_d][$file] = '-';
           $file++;
         }
       }
       else {
-        $item['board'][$rank_d][$file] = $board_value[$i];
+        $elements[$delta]['#board'][$rank_d][$file] = $board_value[$i];
         $file++;
       }
     }
-    $elements[$delta]['#item'] = $item;
   }
   return $elements;
 }
diff --git a/chessboard_render.php b/chessboard_render.php
index 259349f..be84000 100644
--- a/chessboard_render.php
+++ b/chessboard_render.php
@@ -144,8 +144,8 @@ function template_preprocess_chessboard(&$variables) {
   }
   $variables['table_xhtml'] = $tables_xhtml[$image_directory_path];
   // For convenience.
-  $variables['file_max'] = $variables['element']['#item']['file_max'];
-  $variables['square_color_first'] = $variables['element']['#item']['square_color_first'];
-  $variables['border'] = $variables['element']['#item']['border'];
-  $variables['board'] = $variables['element']['#item']['board'];
+  $variables['file_max'] = $variables['element']['#file_max'];
+  $variables['square_color_first'] = $variables['element']['#square_color_first'];
+  $variables['border'] = $variables['element']['#border'];
+  $variables['board'] = $variables['element']['#board'];
 }
-- 
1.7.4

