Index: signwriter.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/signwriter/signwriter.module,v retrieving revision 1.10.2.3 diff -u -p -r1.10.2.3 signwriter.module --- signwriter.module 19 Nov 2008 03:44:46 -0000 1.10.2.3 +++ signwriter.module 11 Mar 2009 18:10:25 -0000 @@ -106,7 +106,29 @@ function signwriter_filter_tips($delta, } function _signwriter_db_fields() { - return array('id', 'name', 'pattern', 'fontfile', 'fontsize', 'imagetype', 'background', 'foreground','multiline', 'drop_shadow', 'shadow_color', 'shadow_xoffset', 'shadow_yoffset', 'transparent', 'bgimage', 'width', 'height', 'maxwidth', 'textalign', 'xoffset', 'yoffset'); + return array( + 'id' => array('name' => 'id', 'type' => '%d'), + 'name' => array('name' => 'name', 'type' => '"%s"'), + 'pattern' => array('name' => 'pattern', 'type' => '"%s"'), + 'fontfile' => array('name' => 'fontfile', 'type' => '"%s"'), + 'fontsize' => array('name' => 'fontsize', 'type' => '%d'), + 'imagetype' => array('name' => 'imagetype', 'type' => '"%s"'), + 'background' => array('name' => 'background', 'type' => '"%s"'), + 'foreground' => array('name' => 'foreground', 'type' => '"%s"'), + 'multiline' => array('name' => 'multiline', 'type' => '%d'), + 'drop_shadow' => array('name' => 'drop_shadow', 'type' => '%d'), + 'shadow_color' => array('name' => 'shadow_color', 'type' => '"%s"'), + 'shadow_xoffset' => array('name' => 'shadow_xoffset', 'type' => '%d'), + 'shadow_yoffset' => array('name' => 'shadow_yoffset', 'type' => '%d'), + 'transparent' => array('name' => 'transparent', 'type' => '%d'), + 'bgimage' => array('name' => 'bgimage', 'type' => '"%s"'), + 'width' => array('name' => 'width', 'type' => '%d'), + 'height' => array('name' => 'height', 'type' => '%d'), + 'maxwidth' => array('name' => 'maxwidth', 'type' => '%d'), + 'textalign' => array('name' => 'textalign', 'type' => '"%s"'), + 'xoffset' => array('name' => 'xoffset', 'type' => '%d'), + 'yoffset' => array('name' => 'yoffset', 'type' => '%d') + ); } function _signwriter_profile_whereclause($profile) { @@ -183,10 +205,12 @@ function signwriter_save_profile($profil } $fields = _signwriter_db_fields(); - foreach ($fields as $fieldname) { + foreach ($fields as $field) { + $fieldname = $field['name']; if (!is_null($profile->$fieldname)) { $keys[] = $fieldname; - $value_keywords[] = "'%s'"; + $value_keywords[] = $field['type']; + $assignments[] = "$fieldname = {$field['type']}"; $values[] = $profile->$fieldname; } } @@ -199,9 +223,6 @@ function signwriter_save_profile($profil } else { $where = _signwriter_profile_whereclause($profile); - foreach ($keys as $key) { - $assignments[] = "$key = '%s'"; - } $assignments = implode(', ', $assignments); db_query("UPDATE {signwriter} SET $assignments $where", $values); } @@ -222,7 +243,7 @@ function signwriter_save_profile($profil */ function signwriter_load_profile($profile) { if ($where = _signwriter_profile_whereclause($profile)) { - $fields = implode(', ', _signwriter_db_fields()); + $fields = implode(', ', array_keys(_signwriter_db_fields())); return db_fetch_object(db_query("SELECT $fields FROM {signwriter} $where")); } } @@ -241,7 +262,7 @@ function signwriter_load_profile($profil function signwriter_load_profiles($profiles = null) { if (is_null($profiles)) { $profiles = array(); - $results = db_query("SELECT %s FROM {signwriter}", implode(', ', _signwriter_db_fields())); + $results = db_query("SELECT %s FROM {signwriter}", implode(', ', array_keys(_signwriter_db_fields()))); while ($profile = db_fetch_object($results)) { $profiles[] = $profile; }