[fusionregistry-commitlog] SF.net SVN: fusionregistry: [45] branches/stable_3_0_x/upload/sources
Brought to you by:
copland007
From: SVN c. <fus...@li...> - 2008-02-16 20:58:32
|
Revision: 45 http://fusionregistry.svn.sourceforge.net/fusionregistry/?rev=45&view=rev Author: copland007 Date: 2008-02-16 12:58:37 -0800 (Sat, 16 Feb 2008) Log Message: ----------- The first level key returned from any of the cf cache get routines is no longer the field_id, it is just a reference number. Switch all post-get logic to use sub key 'field_id' as the guaranteed field_id of what was retrieved. Modified Paths: -------------- branches/stable_3_0_x/upload/sources/components_acp/fusionscripts/fusionregistry/ad_custom_fields.php branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/item.php branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/content.php branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/custom_fields.php branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/functions.php branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/main.php Modified: branches/stable_3_0_x/upload/sources/components_acp/fusionscripts/fusionregistry/ad_custom_fields.php =================================================================== --- branches/stable_3_0_x/upload/sources/components_acp/fusionscripts/fusionregistry/ad_custom_fields.php 2008-02-15 00:15:56 UTC (rev 44) +++ branches/stable_3_0_x/upload/sources/components_acp/fusionscripts/fusionregistry/ad_custom_fields.php 2008-02-16 20:58:37 UTC (rev 45) @@ -692,7 +692,7 @@ $this->ipsclass->html .= $this->ipsclass->adskin->start_table( "Fusion Registry Custom Fields" ); // Loop through our custom field definitions we got from up above - foreach ( $cf_defs as $cf_id => $cf_row ) + foreach ( $cf_defs as $cf_rum => $cf_row ) { $this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( '<center><a href="'.$this->ipsclass->base_url.'&act='.REGISTRY_URL.'§ion=components&menu=custom_fields&code=edit&f='.$cf_row['field_id'].'">'. $this->ad_registry_loader->imgs['edit'] .'</a></center>', '<center><a href="javascript:confirm_delete_field( '.$cf_row['field_id'].' )">'. $this->ad_registry_loader->imgs['delete'] .'</a></center>', Modified: branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/item.php =================================================================== --- branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/item.php 2008-02-15 00:15:56 UTC (rev 44) +++ branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/item.php 2008-02-16 20:58:37 UTC (rev 45) @@ -333,18 +333,18 @@ $cf_required = array(); - foreach ( $cf_defs as $cf_id => $cf_row ) + foreach ( $cf_defs as $cf_num => $cf_row ) { if ( $cf_row['field_required'] == 1 ) { - $cf_required[$cf_id] = $cf_row; + $cf_required[ $cf_row['field_id'] ] = $cf_row; } } // Compile list of missing fields (if any) $missing_fields = ''; - foreach ( $cf_required as $cf_id => $cf_row ) + foreach ( $cf_required as $cf_num => $cf_row ) { // We have to special case the make/model since they don't use the field_id as the field name if ( $cf_row['field_options'] == 'make' or $cf_row['field_options'] == 'model' ) @@ -356,7 +356,7 @@ } else { - if ( !isset($this->ipsclass->input[$cf_id]) or empty($this->ipsclass->input[$cf_id]) ) + if ( !isset($this->ipsclass->input[ $cf_row['field_id'] ]) or empty($this->ipsclass->input[ $cf_row['field_id'] ]) ) { $missing_fields .= $cf_row['field_name'] . ', '; } @@ -394,17 +394,17 @@ unset($db_string); // Now save their custom field data - foreach ( $cf_input as $cf_id => $cf_value ) + foreach ( $cf_input as $cf_num => $cf_value ) { // Determine if we need to update or insert row - $rs = $this->ipsclass->DB->query("SELECT entry_id FROM ibf_registry_field_entries WHERE item_id = '". $this->ipsclass->input['CID'] ."' AND field_id = '$cf_id'"); + $rs = $this->ipsclass->DB->query("SELECT entry_id FROM ibf_registry_field_entries WHERE item_id = '". $this->ipsclass->input['CID'] ."' AND field_id = '". $cf_row['field_id'] ."'"); $existing = $this->ipsclass->DB->fetch_row($rs); if ( isset($existing['entry_id']) and !empty($existing['entry_id']) ) { // Update existing entry - $db_string = $this->ipsclass->DB->compile_db_update_string( array( 'field_id' => $cf_id, + $db_string = $this->ipsclass->DB->compile_db_update_string( array( 'field_id' => $cf_row['field_id'], 'item_id' => $this->ipsclass->input['CID'], 'field_value' => $cf_value, ) ); @@ -414,7 +414,7 @@ else { // Insert new entry - $db_string = $this->ipsclass->DB->compile_db_insert_string( array( 'field_id' => $cf_id, + $db_string = $this->ipsclass->DB->compile_db_insert_string( array( 'field_id' => $cf_row['field_id'], 'item_id' => $this->ipsclass->input['CID'], 'field_value' => $cf_value, ) ); @@ -473,18 +473,18 @@ $cf_required = array(); - foreach ( $cf_defs as $cf_id => $cf_row ) + foreach ( $cf_defs as $cf_num => $cf_row ) { if ( $cf_row['field_required'] == 1 ) { - $cf_required[$cf_id] = $cf_row; + $cf_required[ $cf_row['field_id'] ] = $cf_row; } } // Compile list of missing fields (if any) $missing_fields = ''; - foreach ( $cf_required as $cf_id => $cf_row ) + foreach ( $cf_required as $cf_num => $cf_row ) { // We have to special case the make/model since they don't use the field_id as the field name if ( $cf_row['field_options'] == 'make' or $cf_row['field_options'] == 'model' ) @@ -496,7 +496,7 @@ } else { - if ( !isset($this->ipsclass->input[$cf_id]) or empty($this->ipsclass->input[$cf_id]) ) + if ( !isset($this->ipsclass->input[ $cf_row['field_id'] ]) or empty($this->ipsclass->input[ $cf_row['field_id'] ]) ) { $missing_fields .= $cf_row['field_name'] . ', '; } @@ -545,9 +545,9 @@ $cid = $this->ipsclass->DB->get_insert_id(); // Now save their custom field data - foreach ( $cf_input as $cf_id => $cf_value ) + foreach ( $cf_input as $cf_num => $cf_value ) { - $db_string = $this->ipsclass->DB->compile_db_insert_string( array( 'field_id' => $cf_id, + $db_string = $this->ipsclass->DB->compile_db_insert_string( array( 'field_id' => $cf_row['field_id'], 'item_id' => $cid, 'field_value' => $cf_value, ) ); Modified: branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/content.php =================================================================== --- branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/content.php 2008-02-15 00:15:56 UTC (rev 44) +++ branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/content.php 2008-02-16 20:58:37 UTC (rev 45) @@ -132,7 +132,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); // Grab the vehicle info and prep the HTML $this->ipsclass->DB->query("SELECT g.id, g.image_id, g.member_id, images.attach_id, images.attach_hits, @@ -256,9 +261,9 @@ // Process the highlight field values $vehicle_data['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $vehicle_data['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $vehicle_data['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $vehicle_data['highlight_fields'] .= ' '; } @@ -293,7 +298,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); // What's the count? Default to 10 $limit = $this->class->registry_config['tmpl_lastcommented_limit'] ? $this->class->registry_config['tmpl_lastcommented_limit'] : 10; @@ -314,9 +324,9 @@ // Process the highlight field values $row['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $row['highlight_fields'] .= ' '; } @@ -358,7 +368,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); // What's the count? Default to 10 $limit = $this->class->registry_config['tmpl_lastupdateditems_limit'] ? $this->class->registry_config['tmpl_lastupdateditems_limit'] : 10; @@ -378,9 +393,9 @@ // Process the highlight field values $row['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $row['highlight_fields'] .= ' '; } @@ -459,7 +474,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); // What's the count? Default to 10 $limit = $this->class->registry_config['tmpl_mostmodded_limit'] ? $this->class->registry_config['tmpl_mostmodded_limit'] : 10; @@ -481,9 +501,9 @@ // Process the highlight field values $row['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $row['highlight_fields'] .= ' '; } @@ -520,7 +540,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); // What's the count? Default to 10 $limit = $this->class->registry_config['tmpl_mostmoneyspent_limit'] ? $this->class->registry_config['tmpl_mostmoneyspent_limit'] : 10; @@ -542,9 +567,9 @@ // Process the highlight field values $row['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $row['highlight_fields'] .= ' '; } @@ -583,7 +608,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); // What's the count? Default to 10 $limit = $this->class->registry_config['tmpl_mostviewed_limit'] ? $this->class->registry_config['tmpl_mostviewed_limit'] : 10; @@ -603,9 +633,9 @@ // Process the highlight field values $row['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $row['highlight_fields'] .= ' '; } @@ -641,7 +671,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); // What's the count? Default to 10 $limit = $this->class->registry_config['tmpl_newestitems_limit'] ? $this->class->registry_config['tmpl_newestitems_limit'] : 10; @@ -661,9 +696,9 @@ // Process the highlight field values $row['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $row['highlight_fields'] .= ' '; } Modified: branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/custom_fields.php =================================================================== --- branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/custom_fields.php 2008-02-15 00:15:56 UTC (rev 44) +++ branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/custom_fields.php 2008-02-16 20:58:37 UTC (rev 45) @@ -146,7 +146,7 @@ * @param array $opts Optional custom cmd/value pair attributes * @return array An array of an array, outer key is field_id */ - function get_cf_defs($opts=array(), $live=0) + function get_cf_defs($opts=array()) { $results = $this->ipsclass->cache['registry_field_defs']; @@ -192,7 +192,7 @@ * @param array $opts Optional custom SQL cmd/value pair attributes * @return array An array of an array, outer key is field_id */ - function get_cf_defs_live($opts=array(), $live=0) + function get_cf_defs_live($opts=array()) { $query = "SELECT field_id, field_name, field_type, field_options, field_default, field_required, field_size, field_rows, @@ -328,7 +328,7 @@ if ( is_array($this->ipsclass->cache['registry_field_defs']) ) { - foreach ($this->ipsclass->cache['registry_field_defs'] as $field_id => $field_row) + foreach ($this->ipsclass->cache['registry_field_defs'] as $field_num => $field_row) { if ( $field_row['field_highlight'] == 1 ) { @@ -344,7 +344,7 @@ if ( count($this->_cf_highlight) < 1 ) { $field_id = end(array_slice(array_keys($this->ipsclass->cache['registry_field_defs']), 0, 1)); - $this->_cf_highlight[$field_id] = $this->ipsclass->cache['registry_field_defs'][$field_id]; + $this->_cf_highlight[ $field_row['field_id'] ] = $this->ipsclass->cache['registry_field_defs'][ $field_row['field_id'] ]; } return $this->_cf_highlight; @@ -728,7 +728,7 @@ if ( is_array($opts['cf_defs']) ) { - foreach ( $opts['cf_defs'] as $cf_id => $cf_row ) + foreach ( $opts['cf_defs'] as $cf_num => $cf_row ) { if ( $cf_row['field_type'] == 'S' ) { @@ -953,16 +953,16 @@ return $cf_input; } - foreach ( $cf_defs as $cf_id => $cf_row ) + foreach ( $cf_defs as $cf_rum => $cf_row ) { // This 'if' will fail for make & model, we need to special // case them afterwards! - if ( !empty( $this->ipsclass->input[$cf_id] ) ) + if ( !empty( $this->ipsclass->input[ $cf_row['field_id'] ] ) ) { if ( preg_match('/^(T|M)$/', $cf_row['field_type']) ) { // Single line text, or Textarea - $cf_input[$cf_id] = $this->class->lib['parser']->pre_db_parse( $this->ipsclass->input[$cf_id] ); + $cf_input[ $cf_row['field_id'] ] = $this->class->lib['parser']->pre_db_parse( $this->ipsclass->input[ $cf_row['field_id'] ] ); } elseif ( preg_match('/^(R|L)$/', $cf_row['field_type']) ) { @@ -970,16 +970,16 @@ $valid_options = $this->explode_assoc('|', $cf_row['field_options']); // Only configured values are valid! - $cf_input[$cf_id] = ( in_array( $this->ipsclass->input[$cf_id], array_keys($valid_options) ) ) - ? htmlspecialchars( $this->ipsclass->input[$cf_id] ) - : ''; + $cf_input[ $cf_row['field_id'] ] = ( in_array( $this->ipsclass->input[ $cf_row['field_id'] ], array_keys($valid_options) ) ) + ? htmlspecialchars( $this->ipsclass->input[ $cf_row['field_id'] ] ) + : ''; } elseif ( $cf_row['field_type'] == 'F' ) { // Money (floating point), make sure comma and dollar signs don't cause problems - $this->ipsclass->input[$cf_id] = preg_replace('/(\,|$)/', '', $this->ipsclass->input[$cf_id]); + $this->ipsclass->input[ $cf_row['field_id'] ] = preg_replace('/(\,|$)/', '', $this->ipsclass->input[ $cf_row['field_id'] ]); - $cf_input[$cf_id] = floatval( $this->ipsclass->input[$cf_id] ); + $cf_input[ $cf_row['field_id'] ] = floatval( $this->ipsclass->input[ $cf_row['field_id'] ] ); } elseif ( $cf_row['field_type'] == 'C' ) { @@ -989,7 +989,7 @@ // We need to loop through and only allow valid options through $options = array(); - foreach ( $this->ipsclass->input[$cf_id] as $cf_value ) + foreach ( $this->ipsclass->input[ $cf_row['field_id'] ] as $cf_value ) { $cf_value = htmlspecialchars( $cf_value ); @@ -1001,7 +1001,7 @@ } // We are returning a serialized data structure to store to the DB - $cf_input[$cf_id] = serialize($options); + $cf_input[ $cf_row['field_id'] ] = serialize($options); } elseif ( $cf_row['field_type'] == 'S' ) { @@ -1010,9 +1010,9 @@ if ( $cf_row['field_options'] == 'year' ) { // Validate year format - if ( preg_match('/^\d{4}$/', $this->ipsclass->input[$cf_id]) ) + if ( preg_match('/^\d{4}$/', $this->ipsclass->input[ $cf_row['field_id'] ]) ) { - $cf_input[$cf_id] = htmlspecialchars( $this->ipsclass->input[$cf_id] ); + $cf_input[ $cf_row['field_id'] ] = htmlspecialchars( $this->ipsclass->input[ $cf_row['field_id'] ] ); } } } @@ -1024,7 +1024,7 @@ if ( !empty( $this->ipsclass->input[$cf_row['field_options']] ) ) { // Type cast integer - $cf_input[$cf_id] = intval( $this->ipsclass->input[$cf_row['field_options']] ); + $cf_input[ $cf_row['field_id'] ] = intval( $this->ipsclass->input[$cf_row['field_options']] ); } } elseif ( $cf_row['field_type'] == 'C' ) @@ -1032,7 +1032,7 @@ // This elseif will catch any defined checkbox fields which did not // have any selected values. In this case the field is not returned // in the query string by the browser. - $cf_input[$cf_id] = ''; + $cf_input[ $cf_row['field_id'] ] = ''; } } Modified: branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/functions.php =================================================================== --- branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/functions.php 2008-02-15 00:15:56 UTC (rev 44) +++ branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/lib/functions.php 2008-02-16 20:58:37 UTC (rev 45) @@ -249,7 +249,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); // Get data $query = $this->ipsclass->DB->query( "SELECT g.id, g.member_id, g.date_updated, m.members_display_name @@ -266,9 +271,9 @@ // Process the highlight field values $row['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $row['highlight_fields'] .= ' '; } @@ -296,7 +301,12 @@ $cf_highlight = $this->class->lib['custom_fields']->get_cf_highlight(); // Create our sql id list, this will be used when retrieving the custom field entries. - $cf_ids = "'". implode( "','", array_keys($cf_highlight) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_highlight as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id']. "','"; + } + $cf_ids = substr($cf_ids, 0, -2); $show_add = 0; @@ -325,9 +335,9 @@ // Process the highlight field values $row['highlight_fields'] = ''; - foreach ( $cf_highlight as $cf_id => $cf_row ) + foreach ( $cf_highlight as $cf_num => $cf_row ) { - $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[$cf_id]['field_value'], 'type' => 'view' ) ); + $row['highlight_fields'] .= $this->class->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view' ) ); $row['highlight_fields'] .= ' '; } Modified: branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/main.php =================================================================== --- branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/main.php 2008-02-15 00:15:56 UTC (rev 44) +++ branches/stable_3_0_x/upload/sources/components_public/fusionscripts/fusionregistry/main.php 2008-02-16 20:58:37 UTC (rev 45) @@ -290,9 +290,13 @@ if ( is_array($cf_defs) ) { // Create our sql id list, this will be used when retrieving the custom field entries - $cf_ids = "'". implode( "','", array_keys($cf_defs) ) . "'"; + $cf_ids = "'"; + foreach ( $cf_defs as $cf_num => $cf_row ) + { + $cf_ids .= $cf_row['field_id'] ."','"; + } + $cf_ids = substr($cf_ids, 0, -2); - // Build our <th>'s for the custom fields $data['custom_field_th'] = ''; @@ -303,7 +307,7 @@ $cf_width .= '%'; // Loop through each one and add the <th> html to the output - foreach ( $cf_defs as $cf_id => $cf_row ) + foreach ( $cf_defs as $cf_num => $cf_row ) { $cf_data['field_name'] = $cf_row['field_name']; $cf_data['field_width'] = $cf_width; @@ -340,7 +344,7 @@ // Build our <td>'s for the custom fields $row['custom_fields'] = ''; - foreach ( $cf_defs as $cf_id => $cf_row ) + foreach ( $cf_defs as $cf_num => $cf_row ) { // Which css class should we be? This isn't perfect, but will have to do. $cf_data['field_class'] = $total_cars_printed % 2 ? 'row2' : 'row1'; @@ -348,7 +352,7 @@ $cf_data['item_id'] = $row['id']; $cf_data['field_value'] = $this->lib['custom_fields']->process_cf_value( array( 'def' => $cf_row, - 'value' => $cf_entries[$cf_id]['field_value'], + 'value' => $cf_entries[ $cf_row['field_id'] ]['field_value'], 'type' => 'view', ) ); @@ -516,17 +520,17 @@ $where_sql = ' WHERE '; - foreach ( $cf_defs as $cf_id => $cf_row ) + foreach ( $cf_defs as $cf_num => $cf_row ) { // Did they enter a keyword for this field, and did they choose this field? - if ( !empty($cf_input[$cf_id]) AND $this->ipsclass->input['search_' . $cf_id] == 1 ) + if ( !empty($cf_input[ $cf_row['field_id'] ]) AND $this->ipsclass->input['search_' . $cf_row['field_id']] == 1 ) { - $where_sql .= " ( field_id = '$cf_id' AND field_value LIKE '%$cf_input[$cf_id]%' ) OR "; + $where_sql .= " ( field_id = '". $cf_row['field_id'] ."' AND field_value LIKE '%". $cf_input[ $cf_row['field_id'] ] ."%' ) OR "; // This will be used later in our 'AND' logic if ( $this->ipsclass->input['search_logic'] == 'AND' ) { - array_push( $searched_fields, $cf_id ); + array_push( $searched_fields, $cf_row['field_id'] ); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |