_viewPopup.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <script type="text/javascript" src="https://maps.google.com/maps?file=api&amp;v=2&amp;key=<?php echo sfConfig::get('app_gmap') ?>&sensor=true"></script>
  2. <?php
  3. $criteria = new Criteria();
  4. $criteria->addAscendingOrderByColumn(KataoNodePeer::CITY);
  5. $nodes = KataoNodePeer::doSelect($criteria);
  6. ?>
  7. <form action="<?php echo $ContentTree->getCurrentNode()->getUrl() ?>">
  8. <select name="node" onchange="displayNode(this.value)">
  9. <option value="0">Tous les noeuds</option>
  10. <?php foreach ($nodes as $node) {
  11. printf('<option value="%d">%s</option>', $node->getId(), $node->getCity());
  12. }
  13. ?>
  14. </select>
  15. </form>
  16. <div id="map_canvas" style="width: 730px; height: 580px"></div>
  17. <script type="text/javascript" language="JavaScript">
  18. /* <![CDATA[ */
  19. function displayNode(id){
  20. if (0 == id) {
  21. displayAllNodes();
  22. } else {
  23. <?php foreach ($nodes as $node): ?>
  24. for(var i = 0; i < node<?php echo $node->getId(); ?>.length; i++){
  25. node<?php echo $node->getId(); ?>[i].hide();
  26. }
  27. <?php endforeach; ?>
  28. <?php foreach ($nodes as $node): ?>
  29. for(var i = 0; i < node<?php echo $node->getId(); ?>.length; i++){
  30. if(<?php echo $node->getId(); ?> == id){
  31. node<?php echo $node->getId(); ?>[i].show();
  32. }
  33. }
  34. <?php endforeach; ?>
  35. }
  36. }
  37. function displayAllNodes(){
  38. <?php foreach ($nodes as $node): ?>
  39. for(var i = 0; i < node<?php echo $node->getId(); ?>.length; i++){
  40. node<?php echo $node->getId(); ?>[i].show();
  41. }
  42. <?php endforeach; ?>
  43. }
  44. window.onload = function(){
  45. if (GBrowserIsCompatible()) {
  46. var map = new GMap2(document.getElementById("map_canvas"));
  47. map.setCenter(new GLatLng(45, 3), 6);
  48. map.setUIToDefault();
  49. var myIconRed = new GIcon(G_DEFAULT_ICON);
  50. myIconRed.iconSize = new GSize(32, 32);
  51. myIconRed.image = 'https://maps.google.com/mapfiles/ms/micons/red-dot.png';
  52. var markerOptionsRed = { icon: myIconRed};
  53. var myIconGreen = new GIcon(G_DEFAULT_ICON);
  54. myIconGreen.iconSize = new GSize(32, 32);
  55. myIconGreen.image = 'https://maps.google.com/mapfiles/ms/micons/green-dot.png';
  56. var markerOptionsGreen = { icon: myIconGreen};
  57. var myIconBlue = new GIcon(G_DEFAULT_ICON);
  58. myIconBlue.iconSize = new GSize(32, 32);
  59. myIconBlue.image = 'https://maps.google.com/mapfiles/ms/micons/blue-dot.png';
  60. var markerOptionsBlue = { icon: myIconBlue};
  61. <?php
  62. foreach ($nodes as $node) {?>
  63. node<?php echo $node->getId(); ?> = [];
  64. <?php
  65. }
  66. $criteria = new Criteria();
  67. $criteria->add(KataoUserPeer::GMAP_LAT, '', Criteria::NOT_EQUAL);
  68. $criteria->add(KataoUserPeer::GMAP_LNG, '', Criteria::NOT_EQUAL);
  69. $criteria->addJoin(KataoUserPeer::KATAO_MEMBER_ID, KataoMemberPeer::ID);
  70. $members = KataoUserPeer::doSelectJoinKataoMember($criteria);
  71. // var_dump($members);
  72. foreach($members as/*(KataoUser)*/ $member):
  73. ?>
  74. var markerM<?php echo $member->getId(); ?> = new GMarker(new GLatLng(<?php printf('%f,%f', $member->getGmapLat(), $member->getGmapLng()); ?>), <?php echo (0 < $member->countKataoNodes())?'markerOptionsBlue':'markerOptionsRed' ?>);
  75. GEvent.addListener(markerM<?php echo $member->getId(); ?>, "click", function() {
  76. markerM<?php echo $member->getId(); ?>.openInfoWindowHtml('<?php echo str_replace(array("\r\n", "\n", "\r"), array('\n', '\n', ''), get_partial('katao/gmap_member', array('member' => $member))); ?>');
  77. });
  78. map.addOverlay(markerM<?php echo $member->getId(); ?>);
  79. node<?php echo $member->getKataoMember()->getKataoNodeId(); ?>.push(markerM<?php echo $member->getId(); ?>);
  80. <?php
  81. endforeach;
  82. foreach (KataoSupplierPeer::retrieveByPKs(array_keys(KataoSupplierPeer::getAllVisible(true))) as $katao_supplier):
  83. $supplier = $katao_supplier->getFirstKataoUser();
  84. if (KataoUser::STATUS_ACTIVE == $supplier->getStatus()) {
  85. ?>
  86. var markerS<?php echo $supplier->getId(); ?> = new GMarker(new GLatLng(<?php printf('%f,%f', $katao_supplier->getGmapLat(), $katao_supplier->getGmapLng()); ?>), markerOptionsGreen);
  87. GEvent.addListener(markerS<?php echo $supplier->getId(); ?>, "click", function() {
  88. markerS<?php echo $supplier->getId(); ?>.openInfoWindowHtml('<?php echo str_replace(array("\r\n", "\n", "\r"), array('\n', '\n', ''), get_partial('katao/gmap_supplier', array('supplier' => $supplier, 'popup' => true))); ?>');
  89. });
  90. map.addOverlay(markerS<?php echo $supplier->getId(); ?>);
  91. <?php foreach($katao_supplier->getKataoSupplierNodes() as/*(KataoSupplierNode)*/ $katao_supplier_node): ?>
  92. node<?php echo $katao_supplier_node->getKataoNodeId() ?>.push(markerS<?php echo $supplier->getId(); ?>);
  93. <?php endforeach ?>
  94. <?php
  95. }
  96. endforeach;
  97. ?>
  98. }
  99. }
  100. window.onunload = GUnload;
  101. /* ]]> */
  102. </script>
  103. </div>
  104. <br />
  105. <div class="filter">
  106. <div class="filter-left">&nbsp;</div>
  107. <div class="filter-middle">
  108. <u>Légende</u> :
  109. &nbsp;<?php echo image_tag('https://maps.google.com/mapfiles/ms/micons/red-dot.png', array('alt' => '', 'align' => 'top', 'width' => 20, 'height' => 20)) ?> Adhérents
  110. &nbsp;-&nbsp;<?php echo image_tag('https://maps.google.com/mapfiles/ms/micons/blue-dot.png', array('alt' => '', 'align' => 'top', 'width' => 20, 'height' => 20)) ?> Délégués
  111. &nbsp;-&nbsp;<?php echo image_tag('https://maps.google.com/mapfiles/ms/micons/green-dot.png', array('alt' => '', 'align' => 'top', 'width' => 20, 'height' => 20)) ?> Partenaires
  112. </div>
  113. <div class="filter-right">&nbsp;</div>
  114. </div>