source: www/temp/transform.php@ 148

Last change on this file since 148 was 148, checked in by george, 16 years ago
  • Upraveno: Přepracován systém generování zobrazení výstupu. Pro nový systím přepsáno mnoho stránek.
File size: 15.6 KB
Line 
1<?php
2
3include('../global.php');
4
5class Transform extends Page
6{
7 var $FullTitle = 'Transformace databéze';
8 var $ShortTitle = 'Transformace';
9
10 var $Subjects = array(
11 'Jednota' => array(
12 'Notice' => '',
13 'LastUpdateTime' => '2008-07-04',
14 'Intervals' => array(
15 array('DayOfWeek' => 0, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '12:00:00'),
16 array('DayOfWeek' => 0, 'Index' => 1, 'OpenTime' => '14:00:00', 'CloseTime' => '16:30:00'),
17 array('DayOfWeek' => 1, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '12:00:00'),
18 array('DayOfWeek' => 2, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '12:00:00'),
19 array('DayOfWeek' => 2, 'Index' => 1, 'OpenTime' => '14:00:00', 'CloseTime' => '16:30:00'),
20 array('DayOfWeek' => 3, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '12:00:00'),
21 array('DayOfWeek' => 3, 'Index' => 1, 'OpenTime' => '14:00:00', 'CloseTime' => '16:30:00'),
22 array('DayOfWeek' => 4, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '12:00:00'),
23 array('DayOfWeek' => 4, 'Index' => 1, 'OpenTime' => '13:30:00', 'CloseTime' => '16:30:00'),
24 array('DayOfWeek' => 5, 'Index' => 0, 'OpenTime' => '6:00:00', 'CloseTime' => '10:30:00'),
25 ),
26 ),
27 'Pošta' => array(
28 'Notice' => 'Schránka se vybírá v pracovní dny v 7:45 a 9:30',
29 'LastUpdateTime' => '2007-07-20',
30 'Intervals' => array(
31 array('DayOfWeek' => 0, 'Index' => 0, 'OpenTime' => '8:00:00', 'CloseTime' => '10:00:00'),
32 array('DayOfWeek' => 0, 'Index' => 1, 'OpenTime' => '14:30:00', 'CloseTime' => '15:30:00'),
33 array('DayOfWeek' => 1, 'Index' => 0, 'OpenTime' => '8:00:00', 'CloseTime' => '10:00:00'),
34 array('DayOfWeek' => 1, 'Index' => 1, 'OpenTime' => '14:30:00', 'CloseTime' => '15:30:00'),
35 array('DayOfWeek' => 2, 'Index' => 0, 'OpenTime' => '8:00:00', 'CloseTime' => '10:00:00'),
36 array('DayOfWeek' => 2, 'Index' => 1, 'OpenTime' => '14:30:00', 'CloseTime' => '15:30:00'),
37 array('DayOfWeek' => 3, 'Index' => 0, 'OpenTime' => '8:00:00', 'CloseTime' => '10:00:00'),
38 array('DayOfWeek' => 3, 'Index' => 1, 'OpenTime' => '14:30:00', 'CloseTime' => '15:30:00'),
39 array('DayOfWeek' => 4, 'Index' => 0, 'OpenTime' => '8:00:00', 'CloseTime' => '10:00:00'),
40 array('DayOfWeek' => 4, 'Index' => 1, 'OpenTime' => '14:30:00', 'CloseTime' => '15:30:00'),
41 array('DayOfWeek' => 5, 'Index' => 0, 'OpenTime' => '6:00:00', 'CloseTime' => '10:30:00'),
42 ),
43 ),
44 'Obecní úřad' => array(
45 'Notice' => 'Zdroj <a href="http://www.zdechov.cz/pages/main.php?pg=obecniurad&cat=1">www.zdechov.cz</a>',
46 'LastUpdateTime' => '2008-07-07',
47 'Intervals' => array(
48 array('DayOfWeek' => 0, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '11:00:00'),
49 array('DayOfWeek' => 0, 'Index' => 1, 'OpenTime' => '11:30:00', 'CloseTime' => '14:00:00'),
50 array('DayOfWeek' => 1, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '11:00:00'),
51 array('DayOfWeek' => 1, 'Index' => 1, 'OpenTime' => '11:30:00', 'CloseTime' => '14:00:00'),
52 array('DayOfWeek' => 2, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '11:00:00'),
53 array('DayOfWeek' => 2, 'Index' => 1, 'OpenTime' => '11:30:00', 'CloseTime' => '14:00:00'),
54 array('DayOfWeek' => 3, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '11:00:00'),
55 array('DayOfWeek' => 3, 'Index' => 1, 'OpenTime' => '11:30:00', 'CloseTime' => '14:00:00'),
56 array('DayOfWeek' => 4, 'Index' => 0, 'OpenTime' => '7:00:00', 'CloseTime' => '11:00:00'),
57 array('DayOfWeek' => 4, 'Index' => 1, 'OpenTime' => '11:30:00', 'CloseTime' => '14:00:00'),
58 ),
59 ),
60 'Kavárna Centrum' => array(
61 'Notice' => '',
62 'LastUpdateTime' => '2006-09-13',
63 'Intervals' => array(
64 array('DayOfWeek' => 0, 'Index' => 0, 'OpenTime' => '15:00:00', 'CloseTime' => '21:00:00'),
65 array('DayOfWeek' => 1, 'Index' => 0, 'OpenTime' => '15:00:00', 'CloseTime' => '21:00:00'),
66 array('DayOfWeek' => 2, 'Index' => 0, 'OpenTime' => '15:00:00', 'CloseTime' => '21:00:00'),
67 array('DayOfWeek' => 3, 'Index' => 0, 'OpenTime' => '15:00:00', 'CloseTime' => '21:00:00'),
68 array('DayOfWeek' => 4, 'Index' => 0, 'OpenTime' => '15:00:00', 'CloseTime' => '21:00:00'),
69 array('DayOfWeek' => 5, 'Index' => 0, 'OpenTime' => '15:00:00', 'CloseTime' => '22:00:00'),
70 ),
71 ),
72 'Knihovna' => array(
73 'Notice' => '',
74 'LastUpdateTime' => '2004-08-20',
75 'Intervals' => array(
76 array('DayOfWeek' => 4, 'Index' => 0, 'OpenTime' => '14:30:00', 'CloseTime' => '17:00:00'),
77 ),
78 ),
79 'Koliba' => array(
80 'Notice' => '',
81 'LastUpdateTime' => '2008-04-29',
82 'Intervals' => array(
83 array('DayOfWeek' => 2, 'Index' => 0, 'OpenTime' => '14:00:00', 'CloseTime' => '22:00:00'),
84 array('DayOfWeek' => 3, 'Index' => 0, 'OpenTime' => '14:00:00', 'CloseTime' => '22:00:00'),
85 array('DayOfWeek' => 4, 'Index' => 0, 'OpenTime' => '14:00:00', 'CloseTime' => '27:00:00'),
86 array('DayOfWeek' => 5, 'Index' => 0, 'OpenTime' => '14:00:00', 'CloseTime' => '27:00:00'),
87 array('DayOfWeek' => 6, 'Index' => 0, 'OpenTime' => '14:00:00', 'CloseTime' => '21:00:00'),
88 ),
89 ),
90 'Hospoda Kasino' => array(
91 'Notice' => '',
92 'LastUpdateTime' => '2008-07-04',
93 'Intervals' => array(
94 array('DayOfWeek' => 0, 'Index' => 0, 'OpenTime' => '16:00:00', 'CloseTime' => '21:00:00'),
95 array('DayOfWeek' => 1, 'Index' => 0, 'OpenTime' => '16:00:00', 'CloseTime' => '21:00:00'),
96 array('DayOfWeek' => 2, 'Index' => 0, 'OpenTime' => '17:00:00', 'CloseTime' => '21:00:00'),
97 array('DayOfWeek' => 3, 'Index' => 0, 'OpenTime' => '17:00:00', 'CloseTime' => '21:00:00'),
98 array('DayOfWeek' => 4, 'Index' => 0, 'OpenTime' => '16:00:00', 'CloseTime' => '24:00:00'),
99 array('DayOfWeek' => 5, 'Index' => 0, 'OpenTime' => '14:00:00', 'CloseTime' => '24:00:00'),
100 array('DayOfWeek' => 6, 'Index' => 0, 'OpenTime' => '10:00:00', 'CloseTime' => '21:00:00'),
101 ),
102 ),
103 );
104
105 function SubjectOpenTime()
106 {
107 $this->Database->query('DELETE FROM Subject WHERE Subject.Id = SubjectOpenTime.Subject');
108 $this->Database->query('TRUNCATE TABLE SubjectOpenTime');
109 $this->Database->query('TRUNCATE TABLE SubjectOpenTimeInterval');
110 foreach($this->Subjects as $SubjectName => $Subject)
111 {
112 $this->Database->insert('Subject', array('Name' => $SubjectName));
113 $Subject['Id'] = $this->Database->insert_id;
114 $this->Database->insert('SubjectOpenTime', array('Notice' => $Subject['Notice'], 'UpdateTime' => $Subject['LastUpdateTime'], 'Subject' => $Subject['Id']));
115 foreach($Subject['Intervals'] as $TimeInterval)
116 {
117 $TimeInterval['Subject'] = $Subject['Id'];
118 $TimeInterval['OpenTime'] = '0000-01-0'.($TimeInterval['DayOfWeek'] + 1).' '.$TimeInterval['OpenTime'];
119 $TimeInterval['CloseTime'] = '0000-01-0'.($TimeInterval['DayOfWeek'] + 1).' '.$TimeInterval['CloseTime'];
120 unset($TimeInterval['DayOfWeek']);
121 unset($TimeInterval['Index']);
122 $this->Database->insert('SubjectOpenTimeInterval', $TimeInterval);
123 }
124 }
125 }
126
127 function Show()
128 {
129 $Output = '';
130
131 // Clear previous content
132 $this->Database->query('TRUNCATE TABLE PermissionOperation');
133 $this->Database->query('TRUNCATE TABLE PermissionGroup');
134 $this->Database->query('TRUNCATE TABLE PermissionGroupAssignment');
135 $this->Database->query('TRUNCATE TABLE PermissionUserAssignment');
136 $this->Database->query('TRUNCATE TABLE User');
137 $this->Database->query('TRUNCATE TABLE Subject');
138
139 // Init permission groups
140 $this->Database->insert('PermissionGroup', array('Description' => 'Ostatní'));
141 $PermissionGroupOthers = $this->Database->insert_id;
142 $this->Database->insert('PermissionGroup', array('Description' => 'Členové sítě'));
143 $PermissionGroupMembers = $this->Database->insert_id;
144 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupMembers, 'GroupOrOperation' => $PermissionGroupOthers, 'Type' => 'Group'));
145echo($this->Database->LastQuery);
146 $this->Database->insert('PermissionGroup', array('Description' => 'Zástupci za domácnost'));
147 $PermissionGroupSubjects = $this->Database->insert_id;
148 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupSubjects, 'GroupOrOperation' => $PermissionGroupMembers, 'Type' => 'Group'));
149$this->Database->insert('PermissionGroup', array('Description' => 'Správci sítě'));
150 $PermissionGroupNetworkAdmins = $this->Database->insert_id;
151 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupNetworkAdmins, 'GroupOrOperation' => $PermissionGroupSubjects, 'Type' => 'Group'));
152 $this->Database->insert('PermissionGroup', array('Description' => 'Systémoví administrátoři'));
153 $PermissionGroupAdmin = $this->Database->insert_id;
154 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupAdmin, 'GroupOrOperation' => $PermissionGroupNetworkAdmins, 'Type' => 'Group'));
155
156 // Init permission operations
157 $this->Database->insert('PermissionOperation', array('Module' => 'News', 'Operation' => 'Display', 'Item' => 'Item'));
158 $OperationId = $this->Database->insert_id;
159 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupOthers, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
160
161 $DbResult = $this->Database->select('news_category', 'id, permission');
162 while($DbRow = $DbResult->fetch_array())
163 {
164 $this->Database->insert('PermissionOperation', array('Module' => 'News', 'Operation' => 'Insert', 'Item' => 'Group', 'ItemId' => $DbRow['id']));
165 $OperationIdInsert = $this->Database->insert_id;
166 $this->Database->insert('PermissionOperation', array('Module' => 'News', 'Operation' => 'Display', 'Item' => 'Group', 'ItemId' => $DbRow['id']));
167 $OperationIdDisplay = $this->Database->insert_id;
168 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupOthers, 'GroupOrOperation' => $OperationIdDisplay, 'Type' => 'Operation'));
169 if($DbRow['permission'] == 1)
170 {
171 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupNetworkAdmins, 'GroupOrOoperation' => $OperationIdInsert, 'Type' => 'Operation'));
172 } else
173 {
174 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupOthers, 'GroupOrOperation' => $OperationIdInsert, 'Type' => 'Operation'));
175 }
176 }
177
178 $this->Database->insert('PermissionOperation', array('Module' => 'Chat', 'Operation' => 'Display'));
179 $OperationId = $this->Database->insert_id;
180 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupOthers, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
181
182 $this->Database->insert('PermissionOperation', array('Module' => 'Share', 'Operation' => 'Display'));
183 $OperationId = $this->Database->insert_id;
184 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupMembers, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
185
186 $this->Database->insert('PermissionOperation', array('Module' => 'Finance', 'Operation' => 'DisplaySubjectState'));
187 $OperationId = $this->Database->insert_id;
188 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupSubjects, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
189
190 $this->Database->insert('PermissionOperation', array('Module' => 'EatingPlace', 'Operation' => 'Edit'));
191 $OperationId = $this->Database->insert_id;
192 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupMembers, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
193
194 $this->Database->insert('PermissionOperation', array('Module' => 'Finance', 'Operation' => 'Manage'));
195 $OperationId = $this->Database->insert_id;
196 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupNetworkAdmins, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
197
198 $this->Database->insert('PermissionOperation', array('Module' => 'Network', 'Operation' => 'Edit'));
199 $OperationId = $this->Database->insert_id;
200 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupNetworkAdmins, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
201
202 $this->Database->insert('PermissionOperation', array('Module' => 'Finance', 'Operation' => 'SubjectList'));
203 $OperationId = $this->Database->insert_id;
204 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupNetworkAdmins, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
205
206 $this->Database->insert('PermissionOperation', array('Module' => 'Log', 'Operation' => 'Show'));
207 $OperationId = $this->Database->insert_id;
208 $this->Database->insert('PermissionGroupAssignment', array('Group' => $PermissionGroupNetworkAdmins, 'GroupOrOperation' => $OperationId, 'Type' => 'Operation'));
209
210 // Init User table from users
211 $DbResult = $this->Database->select('users', '*');
212 while($DbRow = $DbResult->fetch_array())
213 {
214 $this->Database->insert('User', array('Id' => $DbRow['id'], 'Name' => $DbRow['nick'], 'FirstName' => $DbRow['first_name'], 'SecondName' => $DbRow['second_name'], 'PhoneNumber' => $DbRow['phone'], 'Password' => substr(sha1(strtoupper($DbRow['nick'])), 0, 7), 'ICQ' => $DbRow['icq'], 'Email' => $DbRow['email'], 'Locked' => 0));
215 $UserId = $this->Database->insert_id;
216 if($DbRow['id'] == 1)
217 {
218 $this->Database->insert('PermissionUserAssignment', array('User' => $UserId, 'GroupOrOperation' => $PermissionGroupAdmin, 'Type' => 'Group'));
219 } else
220 if($DbRow['role'] == 2)
221 {
222 $this->Database->insert('Subject', array('Id' => $DbRow['id'], 'Name' => $DbRow['subject_name'], 'AddressStreet' => $DbRow['street'], 'AddressTown' => $DbRow['town'], 'AddressPSC' => $DbRow['psc'], 'IC' => $DbRow['ico'], 'DIC' => $DbRow['dic'], 'FamilyMemberCount' => $DbRow['family'], 'MapPositionX' => $DbRow['PositionX'], 'MapPositionY' => $DbRow['PositionY'], 'NetworkSegment' => $DbRow['network_segment'], 'InternetTariffCurrentMonth' => $DbRow['inet_tarif_now'], 'InternetTariffNextMonth' => $DbRow['inet_tarif_next'], 'MembershipDate' => $DbRow['membership_date']));
223 $this->Database->insert('PermissionUserAssignment', array('User' => $UserId, 'GroupOrOperation' => $PermissionGroupSubjects, 'Type' => 'Group'));
224 } else
225 $this->Database->insert('PermissionUserAssignment', array('User' => $UserId, 'GroupOrOperation' => $PermissionGroupMembers, 'Type' => 'Group'));
226 }
227
228 // Insert anonymous user
229 $this->Database->insert('User', array('Name' => 'Anonym', 'Password' => 'dsafafdfadfs', 'Locked' => 0));
230 $Output .= 'Anonymní uživatel: '.$this->Database->insert_id.'</ br>';
231 $AnonymousUserId = $this->Database->insert_id;
232 $this->Database->insert('PermissionUserAssignment', array('User' => $AnonymousUserId, 'GroupOrOperation' => $PermissionGroupOthers, 'Type' => 'Group'));
233
234 // Init subjects open time
235 $this->SubjectOpenTime();
236
237 // Import chat messages history
238 //$this->Database->query('TRUNCATE TABLE ChatHistory');
239 //$this->Database->query('INSERT INTO ChatHistory (SELECT id as Id, nick as Nick, text as Text, time as Time, color as Color, roomname as RoomName, roomtype as RoomType, "" as Host FROM `sunrisechat_history`)');
240
241
242 return($Output);
243 }
244}
245
246$System->AddModule(new Transform());
247$System->Modules['Transform']->GetOutput();
248
249?>
Note: See TracBrowser for help on using the repository browser.