/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.4 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2013 |
+--------------------------------------------------------------------+
*/
static $_fields = null;
+ /**
+ * static instance to hold the keys used in $_fields for each field.
+ *
+ * @var array
+ * @static
+ */
+ static $_fieldKeys = null;
+
/**
* static instance to hold the FK relationships
*
'rule' => '{$field.rule}',
{/if} {* field.rule *}
{if $field.default}
- 'default' => '{$field.default|substring:1:-1}',
+ 'default' => '{if ($field.default[0]=="'" or $field.default[0]=='"')}{$field.default|substring:1:-1}{else}{$field.default}{/if}',
{/if} {* field.default *}
{if $field.enumValues}
'enumValues' => '{$field.enumValues}',
return self::$_fields;
{rdelim}
+ /**
+ * Returns an array containing, for each field, the arary key used for that
+ * field in self::$_fields.
+ *
+ * @access public
+ * @return array
+ */
+ static function &fieldKeys( ) {ldelim}
+ if ( ! ( self::$_fieldKeys ) ) {ldelim}
+ self::$_fieldKeys = array (
+{foreach from=$table.fields item=field}
+ '{$field.name}' =>
+{if $field.uniqueName}
+ '{$field.uniqueName}'
+{else}
+ '{$field.name}'
+{/if},
+
+{/foreach} {* table.fields *}
+ );
+ {rdelim}
+ return self::$_fieldKeys;
+ {rdelim}
+
/**
* returns the names of this table
*