Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
data_source_db_management.inc
1 <?php
18 require_once SQ_INCLUDE_PATH.'/asset_management.inc';
19 
31 {
32 
33 
39  {
40  $this->Asset_Management($pm);
41  $this->vars = Array(
42  'database' => Array(
43  'added' => '0.1',
44  'type' => 'text',
45  'default' => '',
46  ),
47  'host' => Array(
48  'added' => '0.1',
49  'type' => 'text',
50  'default' => '',
51  ),
52  'user' => Array(
53  'added' => '0.1',
54  'type' => 'text',
55  'default' => '',
56  ),
57  'password' => Array(
58  'added' => '0.1',
59  'type' => 'password',
60  'default' => '',
61  ),
62  'db_type' => Array(
63  'added' => '0.1',
64  'type' => 'text',
65  'default' => 'postgres',
66  ),
67  'sql' => Array(
68  'added' => '0.1',
69  'type' => 'text',
70  'default' => '',
71  ),
72  'where' => Array(
73  'added' => '0.1',
74  'type' => 'serialise',
75  'default' => Array(),
76  ),
77  'group_by' => Array(
78  'added' => '0.1',
79  'type' => 'serialise',
80  'default' => Array(),
81  ),
82  'order_by' => Array(
83  'added' => '0.1',
84  'type' => 'serialise',
85  'default' => Array(),
86  ),
87  'having' => Array(
88  'added' => '0.1',
89  'type' => 'serialise',
90  'default' => Array(),
91  ),
92  'tables' => Array(
93  'added' => '0.1',
94  'type' => 'text',
95  'default' => '',
96  ),
97  'fields' => Array(
98  'added' => '0.1',
99  'type' => 'text',
100  'default' => '',
101  ),
102  'custom_fields' => Array(
103  'added' => '0.1',
104  'type' => 'serialise',
105  'default' => Array(),
106  ),
107  'aggregates' => Array(
108  'added' => '0.1',
109  'type' => 'serialise',
110  'default' => Array(),
111  ),
112  'join' => Array(
113  'added' => '0.1',
114  'type' => 'serialise',
115  'default' => Array(),
116  ),
117  'mode' => Array(
118  'added' => '0.1',
119  'type' => 'selection',
120  'parameters' => Array (
121  'options' => Array(
122  'builder' => 'Query Builder',
123  'edit' => 'Edit Manually',
124  'execute' => 'Execute',
125  ),
126  'multiple' => FALSE,
127  'allow_other' => FALSE,
128  'allow_empty' => FALSE,
129  ),
130  'default' => 'builder',
131  ),
132  'edit_on' => Array(
133  'added' => '0.1',
134  'type' => 'boolean',
135  'default' => FALSE,
136  ),
137  'reset_edit' => Array(
138  'added' => '0.1',
139  'type' => 'boolean',
140  'default' => FALSE,
141  ),
142  'limit' => Array(
143  'added' => '0.1',
144  'type' => 'int',
145  'default' => '',
146  'parameters' => Array(
147  'allow_empty' => TRUE,
148  'allow_negative' => FALSE,
149  ),
150  ),
151  );
152 
153  }//end constructor
154 
155 
164  function _upgrade($current_version)
165  {
166  $db =& $GLOBALS['SQ_SYSTEM']->db;
167 
168  // Data_Source_Db does not store '<br />' string in 'sql' attribute anymore
169  if (version_compare($current_version,'0.3','<')) {
170 
171  $children = $GLOBALS['SQ_SYSTEM']->am->getTypeAssetids('data_source_db', FALSE);
172 
173  pre_echo('UPGRADING DATA SOURCE DB - FROM VERSION '.$current_version);
174 
175  $upgraded_count = 0;
176  foreach ($children as $assetid) {
177  $asset =& $GLOBALS['SQ_SYSTEM']->am->getAsset($assetid);
178  $sql = $asset->attr('sql');
179  if (!$asset->setAttrValue('sql', str_replace('<br />', ' ', $sql))) {
180  trigger_localised_error('CMS0039', E_USER_WARNING, '0.3');
181  }
182  if (!$asset->saveAttributes()) {
183  trigger_localised_error('CMS0039', E_USER_WARNING, '0.3');
184  }
185  $upgraded_count++;
186  $GLOBALS['SQ_SYSTEM']->am->forgetAsset($asset);
187  }
188 
189  pre_echo('Upgraded '.$upgraded_count.' DATA SOURCE DB assets to version 0.3');
190 
191  }//end if version 0.3
192 
193  return parent::_upgrade($current_version);
194 
195  }//end _upgrade()
196 
197 
198 }//end class
199 
200 ?>