actividad.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. <?php
  2. session_start();
  3. $http_host = $_SERVER["HTTP_HOST"];
  4. include("../functions.php");
  5. $con = startdb();
  6. $proto = getProtocol();
  7. $server = "$proto$http_host";
  8. //Language
  9. $lang = selectLanguage();
  10. include("../lang/lang_$lang.php");
  11. $cur_section = $lng["section_activities"];
  12. // Get current activity id. Redirect if inexistent or invisible
  13. $perm = mysqli_real_escape_string($con, $_GET["perm"]);
  14. $q = mysqli_query($con, "SELECT id, permalink, title_$lang AS title, text_$lang AS text, after_$lang AS after, price, inscription, people, max_people, user, date, DATE_FORMAT(date, '%Y-%m-%d %T') AS cdate, DATE_FORMAT(date, '%Y-%m-%d') AS isodate, DATE_FORMAT(date,'%b %d, %Y') as fdate, dtime, comments, city FROM activity WHERE permalink = '$perm' AND visible = 1;");
  15. if (mysqli_num_rows($q) == 0){
  16. header("Location: $server/actividades/");
  17. exit(-1);
  18. }
  19. $r = mysqli_fetch_array($q);
  20. $id = $r["id"];
  21. //Check if it's a past activity or upcoming activity.
  22. $c_date = new Datetime();
  23. $a_date = date_create_from_format('Y-m-d H:i:s', $r["cdate"]);
  24. $future = false;
  25. if (date_format($a_date, 'U') > date_format($c_date, 'U')){
  26. $future = true;
  27. }
  28. ?>
  29. <!DOCTYPE html>
  30. <html>
  31. <head>
  32. <meta content="text/html; charset=windows-1252" http-equiv="content-type"/>
  33. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1">
  34. <title><?=$r["title"]?> - Gasteizko Margolariak</title>
  35. <link rel="shortcut icon" href="<?=$server?>/img/logo/favicon.ico">
  36. <!-- CSS files -->
  37. <style>
  38. <?php
  39. include("../css/ui.css");
  40. include("../css/actividades.css");
  41. if ($future){
  42. include("../css/map.css");
  43. }
  44. ?>
  45. </style>
  46. <!-- CSS for mobile version -->
  47. <style media="(max-width : 990px)">
  48. <?php
  49. include("../css/m/ui.css");
  50. include("../css/m/actividades.css");
  51. if ($future){
  52. include("../css/m/map.css");
  53. }
  54. ?>
  55. </style>
  56. <!-- Script files -->
  57. <script type="text/javascript">
  58. <?php
  59. include("../script/ui.js");
  60. include("../script/actividades.js");
  61. if ($future){
  62. include("../script/map.js");
  63. }
  64. ?>
  65. </script>
  66. <?php
  67. if ($future){
  68. ?>
  69. <script src="<?=$server?>/script/OpenLayers/ol.js"></script>
  70. <?php
  71. }
  72. ?>
  73. <!-- Meta tags -->
  74. <link rel='canonical' href='<?=$server?>/actividades/<?=$r["permalink"]?>'/>
  75. <link rel='author' href='<?=$server?>'/>
  76. <link rel='publisher' href='<?=$server?>'/>
  77. <meta name='description' content='<?=strip_tags($r["text"])?>'/>
  78. <meta property='og:title' content='<?=$r["title"]?> - Gasteizko Margolariak'/>
  79. <meta property='og:url' content='<?=$server?>/actividades/<?=$r["permalink"]?>'/>
  80. <meta property='og:description' content='<?=strip_tags($r["text"])?>?>'/>
  81. <?php
  82. $q_img = mysqli_query($con, "SELECT image FROM activity_image WHERE activity = $id ORDER BY idx;");
  83. if (mysqli_num_rows($q_img) == 0){
  84. $img = "$server/img/logo/cover.png";
  85. }
  86. else{
  87. $r_img = mysqli_fetch_array($q_img);
  88. $img = "$server/img/actividades/preview/" . $r_img["image"];
  89. }
  90. ?>
  91. <meta property="og:image" content="<?=$img?>"/>
  92. <meta property="og:site_name" content="Gasteizko Margolariak"/>
  93. <meta property="og:type" content="article"/>
  94. <meta property="og:locale" content="<?=$lang?>"/>
  95. <meta property="article:section" content=""/>
  96. <meta property="article:published-time" content="<?=$r["isodate"]?>"/>
  97. <meta property="article:modified-time" content="<?=$r["isodate"]?>"/>
  98. <meta property="article:author" content="Gasteizko Margolariak"/>
  99. <?php
  100. $res_tag = mysqli_query($con, "SELECT tag FROM activity_tag WHERE activity = $id;");
  101. $tag_string = "vitoria cuadrilla gasteizko margolariak ";
  102. while ($row_tag = mysqli_fetch_array($res_tag)){
  103. $tag_string = $tag_string . " " . $row_tag["tag"];
  104. }
  105. ?>
  106. <meta property="article:tag" content="<?=$tag_string?>"/>
  107. <meta name="twitter:card" content="summary"/>
  108. <meta name="twitter:title" content="<?=$r["title"]?> - Gasteizko Margolariak"/>
  109. <meta name="twitter:description" content="<?=strip_tags($r["text"])?>"/>
  110. <meta name="twitter:image" content="<?=$img?>"/>
  111. <meta name="twitter:url" content="<?=$server?>/actividades/<?=$r["permalink"]?>"/>
  112. <meta name="robots" content="index follow"/>
  113. </head>
  114. <body>
  115. <?php
  116. include("../header.php");
  117. ?>
  118. <div id="content">
  119. <div id="middle_column">
  120. <div class="section">
  121. <h3 class='section_title' id="activity_title"><?=$r["title"]?> - <?=formatDate($r["date"], $lang, false)?></h3>
  122. <div class="entry" itemscope itemtype='http://schema.org/Event'>
  123. <meta itemprop='url' href='<?=$server?>/actividades/<?=$r["permalink"]?>'/>
  124. <meta itemprop='inLanguage' content='$<?=lang?>'/>
  125. <meta itemprop='name' content='<?=$r["title"]?>'/>
  126. <meta itemprop='description' content='<?=$r["text"]?>'/>
  127. <meta itemprop='startDate endDate' content='<?$r["isodate"]?>'/>
  128. <meta itemprop='location' content='<?=$r["city"]?>'/>
  129. <div class='hidden' itemprop='organizer' itemscope itemtype='http://schema.org/Organization'>
  130. <meta itemprop='legalName' content='Asociaci&oacute;n Cultural Recreativa Gasteizko Margolariak'/>
  131. <meta itemprop='name' content='Gasteizko Margolariak'/>
  132. <meta itemprop='logo' content='<?=$server?>/img/logo/logo.png'/>
  133. <meta itemprop='foundingDate' content='03-02-2013'/>
  134. <meta itemprop='telephone' content='+34637140371'/>
  135. <meta itemprop='url' content='<?=$server?>'/>
  136. </div>
  137. <?php
  138. if (mysqli_num_rows($q_i) > 0){
  139. ?>
  140. <meta itemprop='image' content='<?=$server?>/img/actividades/<?=$r_img["image"]?>'/>
  141. <div id='activity_image'>
  142. <img src='<?=$server?>/img/actividades/preview/<?=$r_img["image"]?>'/>
  143. </div>
  144. <?php
  145. }
  146. ?>
  147. <div id='activity_description'>
  148. <p>
  149. <?php
  150. if ($future == false && strlen($r["after"]) > 0){
  151. ?>
  152. <?=$r["after"]?>
  153. <?php
  154. }
  155. else{
  156. ?>
  157. <?=$r["text"]?>
  158. <?php
  159. }
  160. ?>
  161. </p>
  162. </div> <!-- .activity_description -->
  163. <br/>
  164. <?php
  165. if ($future){
  166. ?>
  167. <div itemscope itemtype='http://schema.org/Offer' id='activity_details'>
  168. <table id='activity_details'>
  169. <tr>
  170. <td class='field_name'><?=$lng["activities_date"]?></td>
  171. <td><?=formatDate($r["date"], $lang, false)?></td>
  172. </tr>
  173. <tr>
  174. <td class='field_name'><?=$lng["activities_city"]?></td>
  175. <td><?=$r["city"]?></td>
  176. </tr>
  177. <meta itemprop='priceCurrency' content='EUR'/>
  178. <meta itemprop='price' content='<$r["price"]?>'/>
  179. <?php
  180. if ($r["price"] == 0){
  181. ?>
  182. <tr>
  183. <td class='field_name'><?=$lng["activities_price"]?></td>
  184. <td><?=$lng["activities_price_0"]?></td>
  185. </tr>
  186. <?php
  187. }
  188. else{
  189. ?>
  190. <tr>
  191. <td class='field_name'><?=$lng["activities_price"]?></td>
  192. <td><?=$r["price"]?>€</td>
  193. </tr>
  194. <?php
  195. if ($r["max_people"] != 0){
  196. ?>
  197. <tr>
  198. <td class='field_name'><?=$lng["activities_maxpeople"]?></td>
  199. <td><?=$r["max_people"]?></td>
  200. </tr>
  201. <?php
  202. }
  203. }
  204. ?>
  205. </table> <!-- activity_details -->
  206. </div> <!-- activity_details -->
  207. <?php
  208. } // if ($future)
  209. ?>
  210. </div> <!-- .entry -->
  211. <br/>
  212. <?php
  213. if ($future) {
  214. ?>
  215. <div class='entry'>
  216. <?php
  217. $q_iti = mysqli_query($con, "SELECT activity_itinerary.name_$lang AS name, description_$lang AS description, place.name_$lang AS place_name, place.address_$lang AS place_address, place.lat, place.lon, DATE_FORMAT(start, '%H:%i') AS start, DATE_FORMAT(end, '%H:%i') AS end, DATE_FORMAT(start, '%Y-%m-%d') AS isostart, DATE_FORMAT(end, '%Y-%m-%d') AS isoend, route FROM activity_itinerary, place WHERE place.id = activity_itinerary.place AND activity = $r[id] ORDER BY start;");
  218. if (mysqli_num_rows($q_iti) > 0){
  219. ?>
  220. <div id='activity_itinerary'>
  221. <h3 class='entry_title'><?=$lng["activity_itinerary"]?></h3>
  222. <table id='activity_itinerary'>
  223. <tr class='th'>
  224. <th><?=$lng["activities_when"]?></th>
  225. <th><?=$lng["activities_what"]?></th>
  226. </tr>
  227. <?php
  228. while ($r_iti = mysqli_fetch_array($q_iti)){
  229. ?>
  230. <tr>
  231. <div class='hidden' itemprop='subEvent' itemscope itemtype='http://schema.org/Event'>
  232. <meta itemprop='inLanguage' content='<?=$lang?>'/>
  233. <meta itemprop='name' content='<?=$r_iti["name"]?>'/>
  234. <meta itemprop='description' content='<?=$r_iti["description"]?>'/>
  235. <meta itemprop='startDate' content='<?=$r_iti["isostart"]?>'/>
  236. <meta itemprop='location' content='<?=$r_iti["place_name"]?>'/>
  237. <?php
  238. if (strlen($r_iti["end"]) > 0){
  239. ?>
  240. <meta itemprop='endDate' content='<?=$r_iti["place_end"]?>'/>
  241. <?php
  242. }
  243. ?>
  244. </div>
  245. <?php
  246. if (strlen($r_iti["end"]) > 0){
  247. ?>
  248. <td><?=$r_iti["start"]?> - <?=$r_iti["end"]?></td>
  249. <?php
  250. }
  251. else{
  252. ?>
  253. <td class='time'><?=$r_iti["start"]?></td>
  254. <?php
  255. }
  256. ?>
  257. <td>
  258. <h5><?=$r_iti["name"]?></h5>
  259. <p class='description'><?=$r_iti["description"]?></p>
  260. <br/>
  261. <?php
  262. if ($r_iti["route"] != null && strlen($r_iti["route"]) != 0){
  263. ?>
  264. <span class='fake_a pointer' onClick='showMapRoute(<?=$r_iti["route"]?>, "<?=$r_iti["name"]?>", <?=$r_iti["lat"]?>, <?=$r_iti["lon"]?>);'>
  265. <img class='pinpoint' alt=' ' src='<?=$server?>/img/misc/pinpoint-route.png'/>
  266. <span class='desktop route_start'>
  267. <?=$lng["activities_itinerary_start"]?>
  268. </span>
  269. <?php
  270. //If name and address are the same, show only name
  271. if ($r_iti["place_name"] == $r_iti["place_address"]){
  272. ?>
  273. <?=$r_iti["place_name"]?>
  274. <?php
  275. }
  276. else{
  277. ?>
  278. <?=$r_iti["place_name"]?>
  279. <span class='address'>- <?=$r_iti["place_address"]?></span>
  280. <?php
  281. }
  282. ?>
  283. </span>
  284. <?php
  285. }
  286. else{
  287. ?>
  288. <span class='fake_a pointer' onClick='showMapPoint("<?=$r_iti["name"]?>>", <?=$r_iti["lat"]?>, <?=$r_iti["lon"]?>);'>
  289. <img class='pinpoint' alt=' ' src='<?=$server?>/img/misc/pinpoint.png'/>
  290. <?php
  291. //If name and address are the same, show only name
  292. if ($r_iti["place_name"] == $r_iti["place_address"]){
  293. ?>
  294. <?=$r_iti["place_name"]?>
  295. <?php
  296. }
  297. else{
  298. ?>
  299. <?=$r_iti["place_name"]?>
  300. <span class='address'>- <?=$r_iti["place_address"]?></span>
  301. <?php
  302. }
  303. ?>
  304. </span>
  305. <?php
  306. }
  307. ?>
  308. </td>
  309. </tr>
  310. <?php
  311. } // while ($r_iti = mysqli_fetch_array($q_it))
  312. ?>
  313. </table> <!-- #activity_itinerary -->
  314. </div> <!-- #activity_itinerary -->
  315. <?php
  316. } // if (mysqli_num_rows($q_it) > 0)
  317. ?>
  318. </div> <!-- .entry -->
  319. <?php
  320. } // if ($future)
  321. ?>
  322. </div> <!-- .section -->
  323. </div> <!-- #middle_column -->
  324. <div id="right_column">
  325. <div id="archive" class="section desktop">
  326. <h3 class="section_title"><?=$lng["activities_archive"] ?></h3>
  327. <div class='entry'>
  328. <?php
  329. $q_year = mysqli_query($con, "SELECT year(date) AS year FROM activity WHERE visible = 1 GROUP BY year(date) ORDER BY year DESC;");
  330. while($r_year = mysqli_fetch_array($q_year)){
  331. ?>
  332. <div class='year pointer' onClick='toggleElement("year_<?=$r_year["year"]?>");'>
  333. <img class='slid' id='slid_year_<?=$r_year["year"]?>' src='<?=$server?>/img/misc/slid-right.png' alt='<?=$r_year["year"]?>'/>
  334. <span class='fake_a'><?=$r_year["year"]?></span>
  335. </div>
  336. <div class='list_year pointer' id='list_year_<?=$r_year["year"]?>'>
  337. <?php
  338. $q_month = mysqli_query($con, "SELECT month(date) AS month FROM activity WHERE visible = 1 AND year(date) = $r_year[year] GROUP BY month(date) ORDER BY month DESC;");
  339. while($r_month = mysqli_fetch_array($q_month)){
  340. ?>
  341. <div class='month pointer' onClick='toggleElement("month_<?=$r_year["year"]?>_<?=$r_month["month"]?>");'>
  342. <img class='slid' id='slid_month_<?=$r_year["year"]?>_<?=$r_month["month"]?>' src='<?=$server?>/img/misc/slid-right.png' alt='<?=$r_year["year"]?>_<?=$r_month["month"]?>'/>
  343. <span class='fake_a'><?=$lng["months"][$r_month["month"] - 1]?></span>
  344. </div>
  345. <ul id='list_month_<?=$r_year["year"]?>_<?=$r_month["month"]?>' class='activity_list'>
  346. <?php
  347. $q_title = mysqli_query($con, "SELECT id, permalink, title_$lang AS title FROM activity WHERE visible = 1 AND year(date) = $r_year[year] AND month(date) = '$r_month[month]' ORDER BY date DESC;");
  348. while($r_title = mysqli_fetch_array($q_title)){
  349. ?>
  350. <li>
  351. <a href='<?=$server?>/actividades/<?=$r_title["permalink"]?>'><?=$r_title["title"]?></a>
  352. </li>
  353. <?php
  354. }
  355. ?>
  356. </ul>
  357. <?php
  358. }
  359. ?>
  360. </div> <!-- #list_year_<?=$r_year["year"]?> -->
  361. <?php
  362. }
  363. ?>
  364. </div> <!-- .entry -->
  365. </div> <!-- #archive -->
  366. </div> <!-- #right_column -->
  367. <?php
  368. if ($future){
  369. ?>
  370. <div id='map_container'>
  371. <div class='section'>
  372. <h3 class='section_title'>
  373. <span id='map_title'>MAP</span>
  374. <div id='map_close_container'>
  375. <img id='map_close' class='pointer' alt=' ' src='<?=$server?>/img/misc/close.png' onClick='hideMap();'/>
  376. </div>
  377. </h3>
  378. <div id='map' class='entry'>
  379. </div> <!-- map -->
  380. </div> <!-- .section -->
  381. </div> <!-- .map_container -->
  382. <?php
  383. } // if ($future)
  384. ?>
  385. </div> <!-- #content -->
  386. <?php
  387. include("../footer.php");
  388. $ad = ad($con, $lang, $lng);
  389. stats($ad, $ad_static, "actividades", "$id");
  390. ?>
  391. </body>
  392. </html>