Cheetah
ChWmapDb.php
Go to the documentation of this file.
1 <?php
2 
8 ch_import('ChWsbModuleDb');
9 
10 define('CH_WMAP_CAT_HOME', 'home');
11 define('CH_WMAP_CAT_ENTRY', 'entry');
12 define('CH_WMAP_CAT_EDIT', 'edit');
13 
14 class ChWmapDb extends ChWsbModuleDb
15 {
16  var $_aCategs = array (
17  CH_WMAP_CAT_HOME => 'World Map Home: {Part}',
18  CH_WMAP_CAT_ENTRY => 'World Map Entry: {Part}',
19  CH_WMAP_CAT_EDIT => 'World Map Edit Location: {Part}',
20  );
21 
22  var $_aParts;
23 
24  /*
25  * Constructor.
26  */
27  function __construct(&$oConfig)
28  {
29  parent::__construct();
30  $this->_sPrefix = $oConfig->getDbPrefix();
31  }
32 
33  function updateLocation ($iId, $sPart, $fLat, $fLng, $iZoom, $iType)
34  {
35  return $this->query ("INSERT INTO `" . $this->_sPrefix . "locations` SET `id` = '$iId', `part` = '$sPart', `ts` = UNIX_TIMESTAMP(), `lat` = '$fLat', `lng` = '$fLng', `zoom` = '$iZoom', `type` = '$iType' ON DUPLICATE KEY UPDATE `ts` = UNIX_TIMESTAMP(), `lat` = '$fLat', `lng` = '$fLng', `zoom` = '$iZoom', `type` = '$iType'");
36  }
37 
38  function deleteLocation ($iId, $sPart)
39  {
40  return $this->query ("DELETE FROM `" . $this->_sPrefix . "locations` WHERE `id` = '$iId' AND `part` = '$sPart' LIMIT 1");
41  }
42 
44  {
45  return $this->query ("UPDATE `" . $this->_sPrefix . "locations` SET `privacy` = '$mixedPrivacy' WHERE `id` = '$iId'");
46  }
47 
48  function insertLocation ($iId, $sPart, $sTitle, $sUri, $fLat, $fLng, $iMapZoom, $sMapType, $sAddress, $sCity, $sCountry, $mixedPrivacy = CH_WMAP_PRIVACY_DEFAULT, $isFailed = 0)
49  {
50  $sFields = '';
51  if ($sAddress)
52  $sFields .= ", `address` = '$sAddress' ";
53 
54  if ($sCity)
55  $sFields .= ", `city`= '$sCity' ";
56 
57  return $this->query ("INSERT INTO `" . $this->_sPrefix . "locations` SET `id` = '$iId', `part` = '$sPart', `lat` = '$fLat', `lng` = '$fLng', `zoom` = '$iMapZoom', `type` = '$sMapType', `country`= '$sCountry', `title`= '$sTitle', `uri`= '$sUri', `ts` = UNIX_TIMESTAMP(), `privacy` = '$mixedPrivacy', `failed` = '$isFailed' $sFields ON DUPLICATE KEY UPDATE `lat` = '$fLat', `lng` = '$fLng', `zoom` = '$iMapZoom', `type` = '$sMapType', `country`= '$sCountry', `ts` = UNIX_TIMESTAMP(), `privacy` = '$mixedPrivacy', `failed` = '$isFailed' $sFields");
58  }
59 
60  function getUndefinedLocations ($iLimit)
61  {
62  $aRet = array ();
63  foreach ($this->_aParts as $sPart => $aPart) {
64  $sFields = '';
65  if ($aPart['join_field_country'])
66  $sFields .= ", `p`.`{$aPart['join_field_country']}` AS `country` ";
67  if ($aPart['join_field_city'])
68  $sFields .= ", `p`.`{$aPart['join_field_city']}` AS `city` ";
69  if ($aPart['join_field_state'])
70  $sFields .= ", `p`.`{$aPart['join_field_state']}` AS `state` ";
71  if ($aPart['join_field_zip'])
72  $sFields .= ", `p`.`{$aPart['join_field_zip']}` AS `zip` ";
73  if ($aPart['join_field_address'])
74  $sFields .= ", `p`.`{$aPart['join_field_address']}` AS `address` ";
75  if ($aPart['join_field_latitude'])
76  $sFields .= ", `p`.`{$aPart['join_field_latitude']}` AS `latitude` ";
77  if ($aPart['join_field_longitude'])
78  $sFields .= ", `p`.`{$aPart['join_field_longitude']}` AS `longitude` ";
79  if ($aPart['join_field_privacy'])
80  $sFields .= ", `p`.`{$aPart['join_field_privacy']}` AS `privacy` ";
81 
82  $sSql = "SELECT '$sPart' AS `part`, `p`.`{$aPart['join_field_id']}` AS `id`, `p`.`{$aPart['join_field_title']}`
83  AS `title`, `p`.`{$aPart['join_field_uri']}` AS `uri` $sFields FROM `{$aPart['join_table']}` AS `p`
84  LEFT JOIN `" . $this->_sPrefix . "locations` AS `m` ON (`m`.`id` = `p`.`{$aPart['join_field_id']}` AND `m`.`part` = '$sPart')
85  WHERE ISNULL(`m`.`id`) LIMIT $iLimit";
86 
87  $a = $this->getAll ($sSql);
88  $aRet = array_merge ($aRet, $a);
89  }
90  return $aRet;
91  }
92 
93  function getDirectLocation ($iEntryId, $aPart, $bProcessHidden = false)
94  {
95  $sPart = $aPart['part'];
96 
97  $sFields = '';
98  if ($aPart['join_field_country'])
99  $sFields .= ", `p`.`{$aPart['join_field_country']}` AS `country` ";
100  if ($aPart['join_field_city'])
101  $sFields .= ", `p`.`{$aPart['join_field_city']}` AS `city` ";
102  if ($aPart['join_field_state'])
103  $sFields .= ", `p`.`{$aPart['join_field_state']}` AS `state` ";
104  if ($aPart['join_field_zip'])
105  $sFields .= ", `p`.`{$aPart['join_field_zip']}` AS `zip` ";
106  if ($aPart['join_field_address'])
107  $sFields .= ", `p`.`{$aPart['join_field_address']}` AS `address` ";
108  if ($aPart['join_field_latitude'])
109  $sFields .= ", `p`.`{$aPart['join_field_latitude']}` AS `latitude` ";
110  if ($aPart['join_field_longitude'])
111  $sFields .= ", `p`.`{$aPart['join_field_longitude']}` AS `longitude` ";
112  if ($aPart['join_field_privacy'])
113  $sFields .= ", `p`.`{$aPart['join_field_privacy']}` AS `privacy` ";
114 
115  $sSql = "SELECT '$sPart' AS `part`, `p`.`{$aPart['join_field_id']}` AS `id`, `p`.`{$aPart['join_field_title']}` AS `title`, `p`.`{$aPart['join_field_uri']}` AS `uri`, `p`.`{$aPart['join_field_author']}` AS `author_id`, `l`.`lat`, `l`.`lng`, `l`.`zoom`, `l`.`type` $sFields
116  FROM `{$aPart['join_table']}` AS `p`
117  LEFT JOIN `" . $this->_sPrefix . "locations` AS `l` ON (`l`.`id` = `p`.`{$aPart['join_field_id']}` AND `l`.`part` = '$sPart')
118  WHERE `p`.`{$aPart['join_field_id']}` = ? " . ($bProcessHidden ? $aPart['join_where'] : '') . " LIMIT 1";
119 
120  return $this->getRow ($sSql, [$iEntryId]);
121  }
122 
123  function clearLocations ($sPart, $isClearFailedOnly)
124  {
125  $sWhere = '';
126  if ($isClearFailedOnly) {
127  $sWhere = " AND `failed` != 0 ";
128  }
129  if ($ret = $this->query ("DELETE FROM `" . $this->_sPrefix . "locations` WHERE `part` = '$sPart' $sWhere")) {
130  $this->query ("OPTIMIZE TABLE `" . $this->_sPrefix . "locations`");
131  }
132  return $ret;
133  }
134 
135  function getLocationById($sPart, $iProfileId)
136  {
137  return $this->getRow("SELECT `m`.`id`, `m`.`part`, `m`.`lat`, `m`.`lng`, `m`.`zoom`, `m`.`type`, `m`.`address`, `m`.`country`, `m`.`allow_view_location_to`
138  FROM `" . $this->_sPrefix . "locations` AS `m` WHERE `m`.`failed` = 0 AND `p`.`Status` = 'Active'
139  AND `m`.`id` = ? AND `m`.`part` = ? LIMIT 1", [$iProfileId, $sPart]); // INNER JOIN to profiles was removed here
140  }
141 
142  function getLocationsByBounds($sPart, $fLatMin, $fLatMax, $fLngMin, $fLngMax, $aCustomParts, $mixedPrivacyIds = '')
143  {
144  $sCustomPartsCondition = $this->_getCustomPartsCondition ($aCustomParts, 'm');
145 
146  $sWhere = $this->_getLatLngWhere ($fLatMin, $fLatMax, $fLngMin, $fLngMax);
147  if ($sPart)
148  $sWhere .= " AND `m`.`part` = '$sPart' ";
149  else
150  $sWhere .= $sCustomPartsCondition;
151 
152  $sWhere .= $this->_getPrivacyCondition($mixedPrivacyIds, 'm');
153 
154  return $this->getAll("SELECT `m`.`id`, `m`.`part`, `m`.`title`, `m`.`uri`, `m`.`lat`, `m`.`lng` FROM `" . $this->_sPrefix . "locations` AS `m` WHERE `m`.`failed` = 0 $sWhere ORDER BY `m`.`id` DESC LIMIT 100");
155  }
156 
157  function _getLatLngWhere ($fLatMin, $fLatMax, $fLngMin, $fLngMax)
158  {
159  $sWhere = " AND `m`.`lat` < $fLatMax AND `m`.`lat` > $fLatMin ";
160  if ($fLngMin < $fLngMax)
161  $sWhere .= " AND `m`.`lng` < $fLngMax AND `m`.`lng` > $fLngMin ";
162  else
163  $sWhere .= " AND ((`m`.`lng` < $fLngMax AND `m`.`lng` > -180) OR (`m`.`lng` < 180 AND `m`.`lng` > $fLngMin)) ";
164  return $sWhere;
165  }
166 
168  {
169  return $this->getOne("SELECT `ID` FROM `sys_options_cats` WHERE `name` = '$s' LIMIT 1");
170  }
171 
172  function getParts ()
173  {
174  return $this->getAllWithKey ("SELECT * FROM `" . $this->_sPrefix . "parts` WHERE `enabled` != 0", 'part');
175  }
176 
177  function enablePart ($sPart, $isEnable)
178  {
179  return $this->query ("UPDATE `" . $this->_sPrefix . "parts` SET `enabled` = '{$isEnable}' WHERE `part` = '$sPart'");
180  }
181 
182  function addPart($aOptions)
183  {
184  $sQuery = "INSERT INTO `" . $this->_sPrefix . "parts` SET ";
185  foreach ($aOptions as $sField => $sValue)
186  $sQuery .= "`$sField` = {$this->escape($sValue)},";
187  $sQuery = trim ($sQuery, ', ');
188  if (!$this->query($sQuery))
189  return false;
190 
191  if (!$this->_addPartSettings($aOptions['part'])) {
192  $this->removePart($aOptions['part']);
193  return false;
194  }
195 
196  return true;
197  }
198 
199  function updatePart($sPart, $aOptions)
200  {
201  $sQuery = "UPDATE `" . $this->_sPrefix . "parts` SET ";
202  foreach ($aOptions as $sField => $sValue)
203  $sQuery .= "`$sField` = {$this->escape($sValue)},";
204  $sQuery = trim ($sQuery, ', ');
205  $sQuery .= " WHERE `part` = ?";
206  if (!$this->query($sQuery, [$sPart]))
207  return false;
208 
209  return true;
210  }
211 
212  function removePart($sPart)
213  {
214  $this->_removePartSettings($sPart);
215  return $this->query ("DELETE FROM `" . $this->_sPrefix . "parts` WHERE `part` = '$sPart'");
216  }
217 
218  function _getPartsJoinCount ($aCustomParts)
219  {
220  $sPartsJoin = '';
221  $sPatrsCounts = '';
222  foreach ($this->_aParts as $sPart => $a) {
223  if (!isset($aCustomParts[$sPart]))
224  continue;
225  $sPatrsCounts .= " , COUNT(DISTINCT `pm_$sPart`.`id`) AS `num_$sPart` ";
226  $sPartsJoin .= " LEFT JOIN `" . $this->_sPrefix . "locations` AS `pm_$sPart` ON (`pm_$sPart`.`failed` = 0 AND `pm_$sPart`.`id` = `pm`.`id` AND `pm_$sPart`.`part` = `pm`.`part` AND `pm_$sPart`.`part` = '$sPart') \n";
227  }
228  return array ($sPatrsCounts, $sPartsJoin);
229  }
230 
231  function _getCustomPartsCondition ($aCustomParts, $sTableAlias)
232  {
233  $sRet = ' AND (';
234  foreach ($aCustomParts as $sPart)
235  $sRet .= "`$sTableAlias`.`part` = '$sPart' OR ";
236  $sRet = substr ($sRet, 0, -4);
237  $sRet .= ')';
238  return $sRet;
239  }
240 
241  function _getPrivacyCondition($mixedPrivacyIds, $sTableAlias)
242  {
243  if (!$mixedPrivacyIds)
244  return '';
245  if (!is_array($mixedPrivacyIds))
246  $mixedPrivacyIds = array ($mixedPrivacyIds);
247  $sRet = ' AND (';
248  foreach ($mixedPrivacyIds as $iPrivacyId)
249  $sRet .= "`$sTableAlias`.`privacy` = '$iPrivacyId' OR ";
250  $sRet = substr ($sRet, 0, -4);
251  $sRet .= ')';
252  return $sRet;
253  }
254 
255  function _removePartSettings($sPart)
256  {
257  foreach ($this->_aCategs as $sType => $sCateg) {
258  $sCateg = str_replace('{Part}', ucfirst($sPart), $sCateg);
259  $iCategId = (int)$this->getSettingsCategory($sCateg);
260  if (!$iCategId)
261  continue;
262  $this->query("DELETE FROM `sys_options_cats` WHERE `ID` = " . $iCategId);
263  $this->query("DELETE FROM `sys_options` WHERE `kateg` = " . $iCategId);
264  }
265 
266  $sHiddenSettingsSql = "DELETE FROM `sys_options` WHERE `Name` = 'ch_wmap_home_{part}_lat' OR `Name` = 'ch_wmap_home_{part}_lng' OR `Name` = 'ch_wmap_home_{part}_zoom' OR `Name` = 'ch_wmap_home_{part}_map_type'";
267  $sHiddenSettingsSql = str_replace('{part}', $sPart, $sHiddenSettingsSql);
268  $this->query($sHiddenSettingsSql);
269 
270  return true;
271  }
272 
273  function _addPartSettings($sPart)
274  {
275  $aSettings = array (
276  'ch_wmap_{type}_{part}_control_type' => array (
277  'title' => 'Map control type',
278  'type' => 'select',
279  'values' => 'none,small,large',
280  'defaults' => array (CH_WMAP_CAT_HOME => 'large', CH_WMAP_CAT_ENTRY => 'small', CH_WMAP_CAT_EDIT => 'small'),
281  ),
282  'ch_wmap_{type}_{part}_is_type_control' => array (
283  'title' => 'Display map type controls',
284  'type' => 'checkbox',
285  'values' => '',
286  'defaults' => array (CH_WMAP_CAT_HOME => 'on', CH_WMAP_CAT_ENTRY => 'on', CH_WMAP_CAT_EDIT => 'on'),
287  ),
288  'ch_wmap_{type}_{part}_is_scale_control' => array (
289  'title' => 'Display map scale control',
290  'type' => 'checkbox',
291  'values' => '',
292  'defaults' => array (CH_WMAP_CAT_HOME => 'on', CH_WMAP_CAT_ENTRY => '', CH_WMAP_CAT_EDIT => ''),
293  ),
294  'ch_wmap_{type}_{part}_is_overview_control' => array (
295  'title' => 'Display map overview control',
296  'type' => 'checkbox',
297  'values' => '',
298  'defaults' => array (CH_WMAP_CAT_HOME => 'on', CH_WMAP_CAT_ENTRY => '', CH_WMAP_CAT_EDIT => ''),
299  ),
300  'ch_wmap_{type}_{part}_is_map_dragable' => array (
301  'title' => 'Is map dragable?',
302  'type' => 'checkbox',
303  'values' => '',
304  'defaults' => array (CH_WMAP_CAT_HOME => 'on', CH_WMAP_CAT_ENTRY => 'on', CH_WMAP_CAT_EDIT => 'on'),
305  ),
306  'ch_wmap_{type}_{part}_zoom' => array (
307  'title' => 'Default zoom',
308  'type' => 'digit',
309  'values' => '',
310  'defaults' => array (CH_WMAP_CAT_HOME => false, CH_WMAP_CAT_ENTRY => '10', CH_WMAP_CAT_EDIT => 10),
311  ),
312  'ch_wmap_{type}_{part}_map_type' => array (
313  'title' => 'Default map type',
314  'type' => 'select',
315  'values' => 'normal,satellite,hybrid,terrain',
316  'defaults' => array (CH_WMAP_CAT_HOME => false, CH_WMAP_CAT_ENTRY => 'normal', CH_WMAP_CAT_EDIT => 'normal'),
317  ),
318  );
319 
320  $iOrderCateg = $this->getOne("SELECT `menu_order` FROM `sys_options_cats` ORDER BY `menu_order` DESC LIMIT 1");
321 
322  foreach ($this->_aCategs as $sType => $sCateg) {
323 
324  $sCateg = str_replace('{Part}', ucfirst($sPart), $sCateg);
325  if (!$this->query("INSERT INTO `sys_options_cats` SET `name` = {$this->escape($sCateg)}, `menu_order` = " . (++$iOrderCateg)))
326  return false;
327 
328  $iCategId = $this->lastId();
329  $iOrderInCateg = 0;
330 
331  foreach ($aSettings as $sName => $aFields) {
332 
333  if (false === $aFields['defaults'][$sType])
334  continue;
335 
336  $sName = str_replace('{part}', $sPart, $sName);
337  $sName = str_replace('{type}', $sType, $sName);
338 
339  $bRes = $this->query("INSERT INTO `sys_options` SET
340  `Name` = ?,
341  `VALUE` = ?,
342  `kateg` = ?,
343  `desc` = ?,
344  `Type` = ?,
345  `order_in_kateg` = ?,
346  `AvailableValues` = ?",
347  [
348  $sName,
349  $aFields['defaults'][$sType],
350  $iCategId,
351  $aFields['title'],
352  $aFields['type'],
353  ++$iOrderInCateg,
354  $aFields['values']
355  ]
356  );
357 
358  if (!$bRes)
359  return false;
360  }
361  }
362 
363  $iCategHiddenId = (int)$this->getSettingsCategory('World Map Hidden');
364 
365  $sHiddenSettingsSql = "INSERT INTO `sys_options` (`Name`, `VALUE`, `kateg`, `desc`, `Type`, `check`, `err_text`, `order_in_kateg`, `AvailableValues`) VALUES
366  ('ch_wmap_home_{part}_lat', '20', {categ_id}, 'Home map latitude: {Part}', 'digit', '', '', '0', ''),
367  ('ch_wmap_home_{part}_lng', '35', {categ_id}, 'Home map longitude: {Part}', 'digit', '', '', '0', ''),
368  ('ch_wmap_home_{part}_zoom', '2', {categ_id}, 'Home map zoom: {Part}', 'digit', '', '', '0', ''),
369  ('ch_wmap_home_{part}_map_type', 'normal', {categ_id}, 'Home map type: {Part}', 'digit', '', '', '0', '')";
370 
371  $sHiddenSettingsSql = str_replace('{part}', $sPart, $sHiddenSettingsSql);
372  $sHiddenSettingsSql = str_replace('{Part}', ucfirst($sPart), $sHiddenSettingsSql);
373  $sHiddenSettingsSql = str_replace('{categ_id}', $iCategHiddenId, $sHiddenSettingsSql);
374 
375  if (!$this->query($sHiddenSettingsSql))
376  return false;
377 
378  return true;
379  }
380 
381 }
ChWmapDb\$_aCategs
$_aCategs
Definition: ChWmapDb.php:16
ChWmapDb\getLocationById
getLocationById($sPart, $iProfileId)
Definition: ChWmapDb.php:135
CH_WMAP_CAT_EDIT
const CH_WMAP_CAT_EDIT
Definition: ChWmapDb.php:12
ChWmapDb\updatePart
updatePart($sPart, $aOptions)
Definition: ChWmapDb.php:199
ChWmapDb\$_aParts
$_aParts
Definition: ChWmapDb.php:22
$ret
$ret
Definition: index.php:39
ch_import
ch_import($sClassName, $aModule=array())
Definition: utils.inc.php:1218
php
ChWsbModuleDb
Definition: ChWsbModuleDb.php:12
$iId
$iId
Definition: license.php:15
ChWsbDb\getAll
getAll($sQuery, $aBindings=[], $iFetchType=PDO::FETCH_ASSOC)
Definition: ChWsbDb.php:206
ChWmapDb\getUndefinedLocations
getUndefinedLocations($iLimit)
Definition: ChWmapDb.php:60
ChWmapDb\getLocationsByBounds
getLocationsByBounds($sPart, $fLatMin, $fLatMax, $fLngMin, $fLngMax, $aCustomParts, $mixedPrivacyIds='')
Definition: ChWmapDb.php:142
ChWmapDb\getSettingsCategory
getSettingsCategory($s)
Definition: ChWmapDb.php:167
CH_WMAP_CAT_HOME
const CH_WMAP_CAT_HOME
Definition: ChWmapDb.php:10
ChWmapDb\_getPrivacyCondition
_getPrivacyCondition($mixedPrivacyIds, $sTableAlias)
Definition: ChWmapDb.php:241
ChWmapDb\updateLocationPrivacy
updateLocationPrivacy($iId, $mixedPrivacy=CH_WMAP_PRIVACY_DEFAULT)
Definition: ChWmapDb.php:43
ChWmapDb\addPart
addPart($aOptions)
Definition: ChWmapDb.php:182
ChWsbDb\getRow
getRow($sQuery, $aBindings=[], $iFetchStyle=PDO::FETCH_ASSOC)
Definition: ChWsbDb.php:225
$sType
$sType
Definition: actions.inc.php:11
ChWmapDb\_getLatLngWhere
_getLatLngWhere($fLatMin, $fLatMax, $fLngMin, $fLngMax)
Definition: ChWmapDb.php:157
$aFields
$aFields
Definition: preValues.php:19
ChWmapDb\_getPartsJoinCount
_getPartsJoinCount($aCustomParts)
Definition: ChWmapDb.php:218
$sTitle
$sTitle
Definition: actions.inc.php:13
ChWmapDb\insertLocation
insertLocation($iId, $sPart, $sTitle, $sUri, $fLat, $fLng, $iMapZoom, $sMapType, $sAddress, $sCity, $sCountry, $mixedPrivacy=CH_WMAP_PRIVACY_DEFAULT, $isFailed=0)
Definition: ChWmapDb.php:48
ChWsbDb\query
query($sQuery, $aBindings=[])
Definition: ChWsbDb.php:386
CH_WMAP_PRIVACY_DEFAULT
const CH_WMAP_PRIVACY_DEFAULT
Definition: ChWmapModule.php:13
ChWmapDb\updateLocation
updateLocation($iId, $sPart, $fLat, $fLng, $iZoom, $iType)
Definition: ChWmapDb.php:33
ChWmapDb\removePart
removePart($sPart)
Definition: ChWmapDb.php:212
ChWsbDb\getOne
getOne($sQuery, $aBindings=[], $iIndex=0)
Definition: ChWsbDb.php:263
ChWmapDb\getParts
getParts()
Definition: ChWmapDb.php:172
$s
$s
Definition: embed.php:13
ChWmapDb\__construct
__construct(&$oConfig)
Definition: ChWmapDb.php:27
ChWmapDb\getDirectLocation
getDirectLocation($iEntryId, $aPart, $bProcessHidden=false)
Definition: ChWmapDb.php:93
CH_WMAP_CAT_ENTRY
const CH_WMAP_CAT_ENTRY
Definition: ChWmapDb.php:11
$sCountry
$sCountry
Definition: browse.php:26
ChWmapDb\enablePart
enablePart($sPart, $isEnable)
Definition: ChWmapDb.php:177
ChWmapDb\_removePartSettings
_removePartSettings($sPart)
Definition: ChWmapDb.php:255
ChWsbDb\lastId
lastId()
Definition: ChWsbDb.php:449
ChWmapDb\_getCustomPartsCondition
_getCustomPartsCondition($aCustomParts, $sTableAlias)
Definition: ChWmapDb.php:231
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
ChWsbDb\getAllWithKey
getAllWithKey($sQuery, $sFieldKey, $aBindings=[], $iFetchType=PDO::FETCH_ASSOC)
Definition: ChWsbDb.php:338
ChWmapDb\clearLocations
clearLocations($sPart, $isClearFailedOnly)
Definition: ChWmapDb.php:123
$sName
$sName
Definition: ChWsbAdminTools.php:853
ChWmapDb\_addPartSettings
_addPartSettings($sPart)
Definition: ChWmapDb.php:273
ChWmapDb\deleteLocation
deleteLocation($iId, $sPart)
Definition: ChWmapDb.php:38
$iProfileId
if( $sMembersList) $iProfileId
Definition: communicator.php:29
ChWmapDb
Definition: ChWmapDb.php:15