www.mapsmarker.com"); } class Class_leaflet_recent_marker_widget extends WP_Widget { public function __construct() { $lmm_options = get_option( 'leafletmapsmarker_options' ); $widget_options = array( 'classname' => 'Class_leaflet_recent_marker_widget', 'description' => __('Widget to show the most recent markers', 'lmm')); $control_options = array(); parent::__construct( __CLASS__, '' . __('Leaflet Maps Marker - recent markers list', 'lmm') . '', $widget_options, $control_options); } public function form($instance) { global $allowedposttags; $instance = wp_parse_args((array) $instance, array( 'lmm-widget-title' => __('Recent markers','lmm'), 'lmm-widget-howmany' => '5', 'lmm-widget-showicons' => 'on', 'lmm-widget-showpopuptext' => 'off', 'lmm-widget-linktarget' => 'fullscreen', 'lmm-widget-createdon' => 'off', 'lmm-widget-createdonformat' => 'Y-m-d H:i:s', 'lmm-widget-separatorline' => 'off', 'lmm-widget-separatorlinecolor' => 'CCCCCC', 'lmm-widget-orderby' => 'createdon', 'lmm-widget-orderby-sortorder' => 'desc', 'lmm-widget-georss' => 'on', 'lmm-widget-attributionlink' => 'on', 'lmm-widget-textbeforelist' => '', 'lmm-widget-textafterlist' => '' )); echo '

'; echo '

'; echo '

'; echo '

'; echo '

'; echo '

'; echo '

'; echo '

'; echo '

'; echo '

'; echo '

'; echo '

'; $showicons = $instance['lmm-widget-showicons']; echo '

'; echo ''; echo '


'; $showpopuptext = $instance['lmm-widget-showpopuptext']; echo '

'; echo '

'; echo '
'; $linktarget = $instance['lmm-widget-linktarget']; echo '

'; echo ''; echo '


'; $createdon= $instance['lmm-widget-createdon']; $createdonformat = $instance['lmm-widget-createdonformat']; echo '

'; echo '
'; echo __('Date format','lmm') . ' :

'; echo '
'; $separatorline= $instance['lmm-widget-separatorline']; $separatorlinecolor = $instance['lmm-widget-separatorlinecolor']; echo '

'; echo ''; echo '   ' . __('Color','lmm') . ': #

'; echo '
'; $orderby = $instance['lmm-widget-orderby']; $orderbysortorder = $instance['lmm-widget-orderby-sortorder']; echo '

'; echo ''; echo '

'; echo '
'; echo '

'; echo '

'; $georss = $instance['lmm-widget-georss']; echo '

'; echo '

'; $attributionlink = $instance['lmm-widget-attributionlink']; echo '

'; echo '   

'; }//info: END function form($instance) public function update($new_instance, $old_instance) { global $allowedposttags; $instance = $old_instance; if ( isset($instance['lmm-widget-attributionlink']) && ($instance['lmm-widget-attributionlink'] == 'off') ) { $new_instance = wp_parse_args((array) $new_instance, array( 'lmm-widget-title' => __('Recent markers','lmm'), 'lmm-widget-howmany' => '5', 'lmm-widget-attributionlink' => 'off', 'lmm-widget-showpopuptext' => 'off', 'lmm-widget-createdon' => 'off', 'lmm-widget-separatorline' => 'off' )); } else { $new_instance = wp_parse_args((array) $new_instance, array( 'lmm-widget-title' => __('Recent markers','lmm'), 'lmm-widget-howmany' => '5', 'lmm-widget-attributionlink' => 'on', 'lmm-widget-showpopuptext' => 'off', 'lmm-widget-createdon' => 'off', 'lmm-widget-separatorline' => 'off' )); } $instance['lmm-widget-title'] = (string) strip_tags($new_instance['lmm-widget-title']); $instance['lmm-widget-textbeforelist'] = (string) wp_kses($new_instance['lmm-widget-textbeforelist'], $allowedposttags); $instance['lmm-widget-howmany'] = (int) strip_tags($new_instance['lmm-widget-howmany']); $instance['lmm-widget-showicons'] = (string) strip_tags($new_instance['lmm-widget-showicons']); $instance['lmm-widget-showpopuptext'] = (string) wp_kses($new_instance['lmm-widget-showpopuptext'], $allowedposttags); $instance['lmm-widget-linktarget'] = (string) strip_tags($new_instance['lmm-widget-linktarget']); $instance['lmm-widget-createdon'] = (string) strip_tags($new_instance['lmm-widget-createdon']); $instance['lmm-widget-createdonformat'] = (string) strip_tags($new_instance['lmm-widget-createdonformat']); $instance['lmm-widget-separatorline'] = (string) strip_tags($new_instance['lmm-widget-separatorline']); $instance['lmm-widget-separatorlinecolor'] = (string) strip_tags($new_instance['lmm-widget-separatorlinecolor']); $instance['lmm-widget-orderby'] = (string) strip_tags($new_instance['lmm-widget-orderby']); $instance['lmm-widget-orderby-sortorder'] = (string) strip_tags($new_instance['lmm-widget-orderby-sortorder']); $instance['lmm-widget-textafterlist'] = (string) wp_kses($new_instance['lmm-widget-textafterlist'], $allowedposttags); $instance['lmm-widget-georss'] = (string) strip_tags($new_instance['lmm-widget-georss']); $instance['lmm-widget-attributionlink'] = (string) strip_tags($new_instance['lmm-widget-attributionlink']); return $instance; }//info: END function update($new_instance, $old_instance) public function widget($args, $instance) { extract($args); echo $before_widget; global $wpdb, $allowedposttags; $table_name_markers = $wpdb->prefix.'leafletmapsmarker_markers'; if ($instance['lmm-widget-howmany']){ $limiter = (int)$instance['lmm-widget-howmany']; } else { $limiter = 5; } $orderby = ($instance['lmm-widget-orderby'] == 'createdon') ? 'createdon' : 'updatedon'; $orderbysortorder = ($instance['lmm-widget-orderby-sortorder'] == 'desc') ? 'desc' : 'asc'; $result = $wpdb->get_results("SELECT `id`,`markername`,`icon`,`popuptext`,`createdon` FROM `$table_name_markers` ORDER BY `$orderby` $orderbysortorder LIMIT $limiter", ARRAY_A); $title = (empty($instance['lmm-widget-title'])) ? '' : $instance['lmm-widget-title']; if (!empty($title)) { echo $before_title . $title . $after_title; } if (!empty($instance['lmm-widget-textbeforelist'])) { echo '

' . wp_kses($instance['lmm-widget-textbeforelist'], $allowedposttags) . '

'; } if ($result != NULL) { $lmm_options = get_option( 'leafletmapsmarker_options' ); echo ''; foreach ($result as $row ) { echo ''; if ($instance['lmm-widget-showicons'] == 'on') { $icon = ($row['icon'] == NULL) ? LEAFLET_PLUGIN_URL . 'leaflet-dist/images/marker.png' : LEAFLET_PLUGIN_ICONS_URL . '/'.$row['icon']; if ($instance['lmm-widget-linktarget'] != 'none') { echo ''; } else { echo ''; } } echo ''; if ($instance['lmm-widget-separatorline'] == 'on') { echo ''; } } echo '
' . esc_attr__('show map','lmm') . '' . esc_attr__('show map','lmm') . ''; if ($instance['lmm-widget-linktarget'] != 'none') { echo ''.htmlspecialchars(stripslashes($row['markername'])).''; } else { echo htmlspecialchars(stripslashes($row['markername'])); } if ($instance['lmm-widget-showpopuptext'] != 'off') { $sanitize_popuptext_from = array( '#(\s)*()*(\s)*#si', '#(\s)*()*(\s)*#si', '#(\s)*()*(\s)*#si', '#(\s)*()*(\s)*#si', '#(\s)*()*(\s)*#si', '#(){1}\s*#si', '#(){1}\s*#si', '#\s*(){1}#si', '#\s*(){1}#si', ); $sanitize_popuptext_to = array( '', '', '', '', '', '', '', '', '' ); $mpopuptext_sanitized = preg_replace($sanitize_popuptext_from, $sanitize_popuptext_to, stripslashes(preg_replace( '/(\015\012)|(\015)|(\012)/','
', do_shortcode($row['popuptext'])))); $popuptext = (!empty($row['popuptext'])) ? '
' . $mpopuptext_sanitized : ''; echo $popuptext; } if ($instance['lmm-widget-createdon'] == 'on') { $createdon = date(htmlspecialchars(stripslashes($instance['lmm-widget-createdonformat'])), strtotime($row['createdon'])); echo '
' . $createdon . ''; } echo '

'; } else { echo '

' . __('No marker created yet','lmm') . '

'; } if (!empty($instance['lmm-widget-textafterlist'])) { echo '

' . wp_kses($instance['lmm-widget-textafterlist'], $allowedposttags) . '

'; } if ($instance['lmm-widget-georss'] == 'on') { echo '

GeoRSS-Logo ' . __('Subscribe to markers','lmm') . '

'; } if ($instance['lmm-widget-attributionlink'] == 'on') { echo '

' . __('powered by','lmm') . ' MapsMarker.com

'; } echo $after_widget; }//info: END function public function widget($args, $instance) }//info: END class Class_leaflet_recent_marker_widget extends WP_Widget ?>