Example #1
0
    /**
     * Returns the full path of a given script
     *
     * @param string  $file  Script file to find
     * @return string
     */
    public function get($file)
    {
        $bundle_location = "/core/bundles/" . $this->context->getAddonName() . "/";
        $file_location = Config::getAddOnPath($this->context->getAddonName()) . '/';

        if (File::exists(APP_PATH . $bundle_location . $file)) {
            return URL::assemble(Config::getSiteRoot(), ENVIRONMENT_PATH_PREFIX, $file_location, $file);
        } elseif (File::exists(APP_PATH . $bundle_location . 'assets/' . $file)) {
            return URL::assemble(Config::getSiteRoot(), ENVIRONMENT_PATH_PREFIX, $file_location, 'assets', $file);
        } elseif (File::exists(BASE_PATH . $file_location . $file)) {
            return URL::assemble(Config::getSiteRoot(), $file_location, $file);
        } elseif (File::exists(BASE_PATH . $file_location . 'assets/' . $file)) {
            return URL::assemble(Config::getSiteRoot(), $file_location, 'assets', $file);
        }

        Log::error("Asset file `" . $file . "` doesn't exist.", $this->context->getAddonName(), $this->context->getAddonType());
        return "";
    }
Example #2
0
File: statamic.php Project: nob/joi
 public static function get_addon_path($addon = NULL)
 {
     Log::warn("Use of Statamic::get_addon_path() is deprecated. Use Config::getAddOnPath() instead.", "core", "Statamic");
     return Config::getAddOnPath($addon);
 }
Example #3
0
    /**
     * Initialized maps by adding dependencies to the screen
     *
     * @return string
     */
    public function start_maps() {
        $smart_include = $this->fetchParam('smart_include', false, null, true, false);
        
        // if smart_include is on and maps haven't been used on this page,
        // short-circuit this method and return nothing
        if ($smart_include && !$this->blink->get('maps_used')) {
            return '';
        }
        
        $add_on_path = Path::tidy(Config::getSiteRoot() . Config::getAddOnPath("location"));
        $override    = (File::exists($add_on_path . '/css/override.css')) ? '<link href="' . $add_on_path . '/css/override.css" rel="stylesheet" />' : '';

        return '
            <!-- leaflet maps -->
            <link rel="stylesheet" href="' . ENVIRONMENT_PATH_PREFIX . $add_on_path . '/css/leaflet.css">
            <!--[if lte IE 8]>
                <link rel="stylesheet" href="' . ENVIRONMENT_PATH_PREFIX . $add_on_path . '/css/leaflet.ie.css">
            <![endif]-->
            ' . $override . '
            <script type="text/javascript" src="' . ENVIRONMENT_PATH_PREFIX . $add_on_path . '/js/leaflet.js"></script>
            <script>
                try {
                    if (typeof _location_maps !== "object") {
                        throw ("Out.");
                    }

                    for (var id in _location_maps) {
                        if (!_location_maps.hasOwnProperty(id)) {
                            continue;
                        }

                        try {
                            _location_maps_maps.length;
                        } catch(e) {
                            var _location_maps_maps = {}
                        }
                        
                        var _map = _location_maps[id];
                        
                        // variables
                        var bounds, mapOptions = {}, points = [];
                        
                        // do we need to determine the center point?
                        if (_map.auto_center && _map.markers.length) {
                            for (var i = 0; i < _map.markers.length; i++) {
                                points.push([_map.markers[i].latitude, _map.markers[i].longitude]);
                            }
                            bounds = new L.LatLngBounds(points);
                        }

                        _location_maps_maps[id] = L.map(id, {
                            scrollWheelZoom: _map.scroll_wheel_zoom,
                            doubleClickZoom: _map.double_click_zoom,
                            boxZoom: _map.box_zoom,
                            touchZoom: _map.touch_zoom,
                            dragging: _map.draggable,
                            tap: _map.tap
                        });
                        
                        if (bounds) {
                            _location_maps_maps[id].fitBounds(bounds, {
                                padding: [60, 48],
                                maxZoom: _map.max_zoom
                            });
                        } else {
                            _location_maps_maps[id].setView([_map.starting_latitude, _map.starting_longitude], _map.starting_zoom);
                        }
                        
                        mapOptions = {
                            attribution: _map.attribution,
                            key: _map.mapping_api_key,
                            styleId: _map.mapping_style,
                            minZoom: _map.min_zoom,
                            maxZoom: _map.max_zoom
                        };
                        
                        if (_map.mapping_subdomains) {
                            mapOptions.subdomains = _map.mapping_subdomains;
                        }

                        L.tileLayer(_map.mapping_tiles, mapOptions).addTo(_location_maps_maps[id]);

                        // markers
                        if (_map.markers.length) {
                            // use cluster markers
                            if (_map.clusters) {
                                var _marker_clusters = new L.MarkerClusterGroup({
                                    spiderfy_on_max_zoom: _map.spiderfy_on_max_zoom,
                                    show_coverage_on_hover: _map.show_coverage_on_hover,
                                    zoom_to_bounds_on_click: _map.zoom_to_bounds_on_click,
                                    single_marker_mode: _map.single_marker_mode,
                                    animate_adding_markers: _map.animate_adding_markers,
                                    disable_clustering_at_zoom: _map.disable_clustering_at_zoom,
                                    max_cluster_radius: _map.max_cluster_radius
                                });

                                for (var i = 0; i < _map.markers.length; i++) {
                                    var _marker_data  = _map.markers[i],
                                        _local_marker = new L.marker([_marker_data.latitude, _marker_data.longitude]);

                                    if (_marker_data.marker_content) {
                                        _local_marker.bindPopup(_marker_data.marker_content);
                                    }
                                    
                                    if (_map.open_popup) {
                                        _local_marker.openPopup();
                                    }

                                    _marker_clusters.addLayer(_local_marker);
                                }
                                _location_maps_maps[id].addLayer(_marker_clusters);

                            // use regular markers
                            } else {
                                var _local_marker;
                                for (var i = 0; i < _map.markers.length; i++) {
                                    var _marker_data = _map.markers[i];
                                    _local_marker = L.marker([_marker_data.latitude, _marker_data.longitude]).addTo(_location_maps_maps[id]);

                                    if (_marker_data.marker_content) {
                                        _local_marker.bindPopup(_marker_data.marker_content);
                                    }
                                    
                                    if (_map.open_popup) {
                                        _local_marker.openPopup();
                                    }
                                }
                            }
                        }
                    }
                } catch(e) {}
            </script>
        ';
    }
Example #4
0
File: addon.php Project: nob/joi
 /**
  * Returns the full path of a given script
  *
  * @param string  $file  Script file to find
  * @return string
  */
 public function get($file)
 {
     $file_location = Config::getAddOnPath($this->context->addon_name) . '/';
     if (File::exists(BASE_PATH . $file_location . $file)) {
         return URL::assemble(Config::getSiteRoot(), $file_location, $file);
     } elseif (File::exists(BASE_PATH . $file_location . 'assets/' . $file)) {
         return URL::assemble(Config::getSiteRoot(), $file_location, 'assets', $file);
     }
     $this->context->log->error("Asset file `" . $file . "` doesn't exist.");
     return "";
 }
Example #5
0
    /**
     * Initialized maps by adding dependencies to the screen
     *
     * @return string
     */
    public function start_maps()
    {
        $add_on_path = Config::getAddOnPath("location");
        return '
            <!-- leaflet maps -->
            <link rel="stylesheet" href="' . $add_on_path . '/css/leaflet.css" />
            <!--[if lte IE 8]>
                <link rel="stylesheet" href="' . $add_on_path . '/css/leaflet.ie.css" />
            <![endif]-->
            <link rel="stylesheet" href="' . $add_on_path . '/css/override.css" />
            <script type="text/javascript" src="' . $add_on_path . '/js/leaflet.js"></script>
            <script>
                try {
                    if (typeof _location_maps !== "object") {
                        throw ("Out.");
                    }

                    for (var id in _location_maps) {
                        if (!_location_maps.hasOwnProperty(id)) {
                            continue;
                        }

                        try {
                            _location_maps_maps.length;
                        } catch(e) {
                            var _location_maps_maps = {}
                        }

                        _location_maps_maps[id] = L.map(id).setView([_location_maps[id].starting_latitude, _location_maps[id].starting_longitude], _location_maps[id].starting_zoom);

                        L.tileLayer("http://{s}.tile.cloudmade.com/' . $this->fetch('cloudmade_api_key') . '/' . $this->fetch('cloudmade_tile_set_id') . '/256/{z}/{x}/{y}.png", {
                            attribute: "",
                            maxZoom: ' . $this->fetch('max_zoom') . '
                        }).addTo(_location_maps_maps[id]);

                        // markers
                        if (_location_maps[id].markers.length) {
                            // use cluster markers
                            if (_location_maps[id].clusters) {
                                var _marker_clusters = new L.MarkerClusterGroup({
                                    spiderfy_on_max_zoom: _location_maps[id].spiderfy_on_max_zoom,
                                    show_coverage_on_hover: _location_maps[id].show_coverage_on_hover,
                                    zoom_to_bounds_on_click: _location_maps[id].zoom_to_bounds_on_click,
                                    single_marker_mode: _location_maps[id].single_marker_mode,
                                    animate_adding_markers: _location_maps[id].animate_adding_markers,
                                    disable_clustering_at_zoom: _location_maps[id].disable_clustering_at_zoom,
                                    max_cluster_radius: _location_maps[id].max_cluster_radius
                                });

                                for (var i = 0; i < _location_maps[id].markers.length; i++) {
                                    var _marker_data  = _location_maps[id].markers[i],
                                        _local_marker = new L.marker([_marker_data.latitude, _marker_data.longitude]);

                                    if (_marker_data.marker_content) {
                                        _local_marker.bindPopup(_marker_data.marker_content);
                                    }

                                    _marker_clusters.addLayer(_local_marker);
                                }
                                _location_maps_maps[id].addLayer(_marker_clusters);

                            // use regular markers
                            } else {
                                var _local_marker;
                                for (var i = 0; i < _location_maps[id].markers.length; i++) {
                                    var _marker_data = _location_maps[id].markers[i];
                                    _local_marker = L.marker([_marker_data.latitude, _marker_data.longitude]).addTo(_location_maps_maps[id]);

                                    if (_marker_data.marker_content) {
                                        _local_marker.bindPopup(_marker_data.marker_content);
                                    }
                                }
                            }
                        }
                    }
                } catch(e) {}
            </script>
        ';
    }