File Manager

Current Path : /webspace/www.saveursetterroir.be/html/modules/CGGoogleMaps2/lib/
Upload File :
Current File : //webspace/www.saveursetterroir.be/html/modules/CGGoogleMaps2/lib/class.cggm2_marker_operations.php

<?php
/**
 * A class for manipulating and managing map markers
 * @package CGGoogleMaps2
 * @author Robert Campbell <calguy1000@gmail.com>
 */

/**
 * A class for manipulating and managing map markers
 * @package CGGoogleMaps2
 * @author Robert Campbell <calguy1000@gmail.com>
 */
final class cggm2_marker_operations
{
    /**
     * @ignore
     */
    private function __construct() {}

    /**
     * Given an array of data from the database representing a marker, build a cggm2_marker object
     *
     * @param array $data
     * @return cggm2_marker
     */
    public static function load_marker_from_data($data)
    {
        $marker = new cggm2_marker('junk','junk');
        $marker->from_array($data);
        return $marker;
    }

    /**
     * Load all of the markers for a map.
     *
     * @internal
     * @param cggm2_map $map The map reference
     * @return bool
     */
    public static function load_markers_for_map(cggm2_map& $map)
    {
        $gCms = cmsms();
        $db = $gCms->GetDb();

        $query = 'SELECT * FROM '.cms_db_prefix().'module_cggooglemaps2_points WHERE map_id = ? ORDER BY marker_id';
        $tmp = $db->GetArray($query,array($map->get_id()));
        if( !is_array($tmp) ) return FALSE;

        foreach( $tmp as $row ) {
            $marker = self::load_marker_from_data($row);
            $marker->set_static();
            $map->add_marker($marker);
        }
        return TRUE;
    }

    /**
     * Insert a marker into the database
     *
     * @internal
     * @param cggm2_map $map The map reference
     * @return bool
     */
    public static function insert(cggm2_marker& $marker)
    {
        $gCms = cmsms();
        $db = $gCms->GetDb();

        $query = 'INSERT INTO '.cms_db_prefix().'module_cggooglemaps2_points
               (map_id,name,info,address,lat,lon,tooltip,icon)
              VALUES (?,?,?,?,?,?,?,?)';
        $dbr = $db->Execute($query,
                            array($marker->get_map_id(),
                                  $marker->get_title(),
                                  $marker->get_description(),
                                  $marker->get_address(),
                                  $marker->get_latitude(),
                                  $marker->get_longitude(),
                                  $marker->get_tooltip(),
                                  $marker->get_icon()));

        if( !$dbr ) return FALSE;
        $marker_id = $db->Insert_Id();
        $marker->set_marker_id($marker_id);
        return TRUE;
    }

    /**
     * Update a marker in the database
     *
     * @internal
     * @param cggm2_map $map The map reference
     * @return bool
     */
    public static function update(cggm2_marker& $marker)
    {
        $gCms = cmsms();
        $db = $gCms->GetDb();

        $query = 'UPDATE '.cms_db_prefix().'module_cggooglemaps2_points
              SET name = ?, info = ?, address = ?, lat = ?, lon = ?, icon = ?, tooltip = ?
              WHERE marker_id = ? AND map_id = ?';
        $dbr = $db->Execute($query,
                            array($marker->get_title(),
                                  $marker->get_description(),
                                  $marker->get_address(),
                                  $marker->get_latitude(),
                                  $marker->get_longitude(),
                                  $marker->get_icon(),
                                  $marker->get_tooltip(),
                                  $marker->get_marker_id(),
                                  $marker->get_map_id()));

        if( $dbr ) return TRUE;
        return FALSE;
    }
} // end of class

?>

File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com