function printFavButton($building_id, $large = true, $image_id = null) { if (current_user_can('add_favorites')) { $user_id = wp_get_current_user()->ID; $isFavorite = Idp_Main::isFavoriteOfUser($user_id, $building_id); //button contains image_id if available (such that even in image mode, all IDs are distinct) $buttonId = "favButton" . $building_id . ($image_id == null ? "" : "_" . $image_id); if ($large) { ?> <button id="<?php echo $buttonId; ?> " name="<?php echo $buttonId; ?> " type="button" class="btn btn-primary favButton <?php $isFavorite ? print 'active" aria-pressed="true"' : (print '" aria-pressed="false"'); ?> data-toggle="button" data-buildingid="<?php echo $building_id; ?> " autocomplete="off"><span class="glyphicon glyphicon-star<?php $isFavorite ? print '' : (print '-empty'); ?> " aria-hidden="true"></span> </button> <?php } else { ?> <a id="<?php echo $buttonId; ?> " name="<?php echo $buttonId; ?> " class="favButton <?php $isFavorite ? print 'active' : (print ''); ?> "><span class="glyphicon glyphicon-star<?php $isFavorite ? print '' : (print '-empty'); ?> " data-buildingid="<?php echo $building_id; ?> " style="font-size:20px" aria-hidden="true"></span> </a> <?php } if ($large) { ?> <script> $('#<?php echo $buttonId; ?> ').on("click", function () { var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?> '; var buttonName = '<?php echo $buttonId; ?> '; var updateElements = buttonName.split('_')[0]; if ($(this).hasClass('active')){ var data = {'action': 'removeBuildingFromFavorites', 'user_id': '<?php echo $user_id; ?> ', 'building_id': '<?php echo $building_id; ?> '}; jQuery.post(ajaxurl, data, function(response) { $('[id^='+updateElements+'] > span').removeClass().addClass(response); $('[id^='+updateElements+']').removeClass('active'); }); } else{ var data = {'action': 'addBuildingToFavorites', 'user_id': '<?php echo $user_id; ?> ', 'building_id': '<?php echo $building_id; ?> '}; jQuery.post(ajaxurl, data, function(response) { $('[id^='+updateElements+'] > span').removeClass().addClass(response); $('[id^='+updateElements+']').addClass('active'); }); } }); </script> <?php } } }