Merge pull request #567 from dlobo/CRM-12452
[civicrm-core.git] / xml / templates / schema_structure.tpl
CommitLineData
6a488035
TO
1<?php
2
3/*
4 +--------------------------------------------------------------------+
5 | CiviCRM version 4.3 |
6 +--------------------------------------------------------------------+
7 | Copyright CiviCRM LLC (c) 2004-2013 |
8 +--------------------------------------------------------------------+
9 | This file is a part of CiviCRM. |
10 | |
11 | CiviCRM is free software; you can copy, modify, and distribute it |
12 | under the terms of the GNU Affero General Public License |
13 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
14 | |
15 | CiviCRM is distributed in the hope that it will be useful, but |
16 | WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
18 | See the GNU Affero General Public License for more details. |
19 | |
20 | You should have received a copy of the GNU Affero General Public |
21 | License and the CiviCRM Licensing Exception along |
22 | with this program; if not, contact CiviCRM LLC |
23 | at info[AT]civicrm[DOT]org. If you have questions about the |
24 | GNU Affero General Public License or the licensing of CiviCRM, |
25 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
26 +--------------------------------------------------------------------+
27*/
28
29/**
30 *
31 * @package CRM
32 * @copyright CiviCRM LLC (c) 2004-2013
33 * $Id$
34 *
35 */
36class CRM_Core_I18n_SchemaStructure
37{ldelim}
38 static function &columns()
39 {ldelim}
40 static $result = null;
41 if (!$result) {ldelim}
42 $result = array(
43 {foreach from=$columns key=table item=types}
44 '{$table}' => array(
45 {foreach from=$types key=column item=type}
46 '{$column}' => "{$type}",
47 {/foreach}
48 ),
49 {/foreach}
50 );
51 {rdelim}
52 return $result;
53 {rdelim}
54 static function &indices()
55 {ldelim}
56 static $result = null;
57 if (!$result) {ldelim}
58 $result = array(
59 {foreach from=$indices key=table item=tableIndices}
60 '{$table}' => array(
61 {foreach from=$tableIndices key=name item=info}
62 '{$name}' => array(
63 'name' => '{$info.name}',
64 'field' => array(
65 {foreach from=$info.field item=field}
66 '{$field}',
67 {/foreach}
68 ),
69 {if $info.unique}'unique' => 1,{/if}
70 ),
71 {/foreach}
72 ),
73 {/foreach}
74 );
75 {rdelim}
76 return $result;
77 {rdelim}
78 static function &tables()
79 {ldelim}
80 static $result = null;
81 if (!$result) {ldelim}
82 $result = array_keys(self::columns());
83 {rdelim}
84 return $result;
85 {rdelim}
86{rdelim}