Hundreds of flowers bloom before the opening of the largest flower festival in the North, Me Linh
Báo Dân Việt•26/12/2024
100% of the flowers used at the Me Linh Flower Festival are grown in flower villages in Me Linh district ( Hanoi ). This is the second time this event has taken place and is considered the largest flower festival in the North.
The 2nd Me Linh Flower Festival will take place from December 26-29, at the Me Linh District Administrative Center Square. Entering the main area are a series of gates with many colorful flowers.
Many miniature landscapes are being decorated on the morning of December 25. This is the second time the Me Linh Flower Festival has taken place.
Workers are actively arranging flowers and decorating for the event taking place tomorrow morning (December 26).
The organizers said that many typical flowers will be displayed, creating the largest flower painting in the North. This is an opportunity for Me Linh to affirm its traditional flower village brand.
This year's Me Linh Flower Festival has the theme "Me Linh is brilliant with flowers".
This is not only a cultural festival, but also an opportunity to honor the value of the flower growing village and promote the tourism potential of Me Linh to international friends.
Gardeners and artisans in Me Linh district are busy moving and decorating flowers to the event area.
The Festival space is filled with the colors and fragrance of flowers.
Roses, the most widely grown flower in Me Linh flower village, are displayed at this Festival.
Several colorful miniatures were set up on the main stage.
"Roses, the main flower of the festival, should be carefully tended to bring out the most perfect beauty," said representatives of many gardeners.
Some eye-catching miniatures in the main square area.
The festival space is filled with the colors and scents of flowers along with vibrant sound systems and brilliant light dances, promising to create a truly joyful and vibrant atmosphere for visitors.
Two model elephants symbolizing the Hai Ba Trung uprising are recreated, with flamingos in the distance.
The square area where the Me Linh Flower Festival takes place is nearly 10,000 square meters wide.
Many tourists and locals took the opportunity to take photos at the flower streets.
Another miniature area with models of the Eiffel Tower, Arc de Triomphe...
The weather in Hanoi these days is less sunny, light wind, cold... so the flowers do not wilt. On the other hand, many gardeners have taken very good care of the flowers, so the flowers do not fade much.
Through this Flower Festival, the Organizing Committee also hopes that people will have the opportunity to introduce typical flower products and unique flower growing techniques, contributing to promoting the Me Linh flower brand to domestic and foreign friends. At the same time, this is also an opportunity for artisans and gardeners to exchange, learn experiences, and work together to improve product quality.
Le Hieu
if (!isNotAllow3rd) { loadJsDefer('https://apis.google.com/js/platform.js?onload=onLoadGapi'); loadJsDefer('https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v5.0'); } function onLoadGapi() { gapi.load('auth2', function() { gapi.load('auth2', function() { gapi.auth2.init({ client_id: '678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com', scope: 'email profile', fetch_basic_profile: true }); }); }); } function deleteCookie(name) { document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; } function lgGetCookie(name) { var value = document.cookie; var start = value.indexOf(" " + name + "="); if (start == -1) { start = value.indexOf(name + "="); } if (start == -1) { value = null; } else { start = value.indexOf("=", start) + 1; var end = value.indexOf(";", start); if (end == -1) { end = value.length; } value = unescape(value.substring(start, end)); } return value; } function lgSetCookie(name, value, date) { var cookieValue = escape(value) + ((date == null) ? "" : "; expires=" + date.toUTCString()); document.cookie = name + "=" + cookieValue; } function authLogin(name,isLogin=false){ if (isLogin){ $('#top-link-account .first').hide(); $('#top-link-account .second').html(`${name} | Logout`); $('#top-link-account .second').attr('data-out',1); $("#cmt-account-header .tabs .close, #cmt-account .tabs .close") .click(); $('.comment-account').html(`
`); }else { if (window.confirm("Do you want to log out?")) { var el = $("#top-link-account"); // //el.find("a.first").html(" ") // // .removeAttr("style"); el.find(".first").show(); el.find("a.second").html(""); el.find("a.second").removeAttr("data-out"); $('.comment-account').html(`
LoginRegister
`); deleteCookie('my_dv'); $("#_btn_logout").click(); } } } function logout(){ if (window.confirm("Do you want to log out?")) { var el = $("#top-link-account"); // //el.find("a.first").html(" ") // // .removeAttr("style"); el.find(".first").show(); el.find("a.second").html(""); el.find("a.second").attr("data-out", "0"); $('.comment-account').html(`
LoginRegister
`); deleteCookie('my_dv'); $("#_btn_logout").click(); } } function login(){ $("#_btn_logout").click(); $("#cmt_alert").html("Please login or register to post a comment"); } function register(){ $("#_btn_logout").click(); $('[data-target="signup"]').click(); fnCaptcha(); } var aspCookie = null; (runinit = window.runinit || []).push(function() { if(lgGetCookie('my_dv')){ var user = JSON.parse(lgGetCookie('my_dv')); if(user.name){ authLogin(user.name, true); } } $('.btn-refresh').click(function() { fnCaptcha(); }); $('.iconew-eye').click(function() { $(this).toggleClass('closed'); var x = $(this).siblings('input')[0]; if (x.type === "password") { x.type = "text"; } else { x.type = "password"; } }); function stripHtml(html) { var temporalDivElement = document.createElement("div"); temporalDivElement.innerHTML = html; return temporalDivElement.textContent || temporalDivElement.innerText || ""; } // --------------------- User account // 1. Hide login/logout button -> in case API doesn't available, login/logout will not show + Init OAuth_v2 //$("#top-link-account").hide(); if (typeof gapi != "undefined") { //window._cnnd.oauth.init(); console.log("login not available"); } // 2. Remove excessive login/register form -> only 1 form available // no need // 3. Callback functions var fnPopupAction = function(id, alert, loginData) { id = id.toLowerCase(); if (id == "close") { $("#cmt-account-header .close").click(); return; } if (id == "info" && !window._isShowingInfo) { $("#cmt-account-header .close").click(); return; } window._isShowingInfo = false; if (loginData) { $("#cmt-account-header [data-target]").hide(); $("#cmt-account-header [data-target].logged-in").show().first().click(); $("#cmt-account-header [data-info-name]").html(loginData.name || "You"); $("#cmt-account-header [data-info-email]").html(loginData.email || ""); } else { $("#cmt-account-header [data-target]").hide(); $("#cmt-account-header [data-target].not-login").show().first().click(); $("#cmt-account-social").show(); $("#cmt-account-header > .wrapper").css("animation", "none"); }, 200); $("#cmt-account-header").show(); $("#cmt-account-header input[type="password"]").val(""); $("#cmt-account-header [data-target="" + id + ""]").click(); $("body").css("overflow", "hidden"); $("#nav").removeClass("active"); $("#cmt_alert").html(alert || "Please login or register to post a comment"); }; var accountMessageProcess = function(data) { if (data.isLogged) { fnPopupAction("info", "Please login or register to post a comment", { name: data.name, email: data.email }); } else { fnPopupAction(data.act, data.alert || "Please log in or register"); if (data.act == "close" && data.raw.Data && data.raw.Data.Approved) { //window.alert("Successful login"); fnPopupAction("info", "Successful login", { name: data.raw.Data.Name, email: $("#_login_email").val() || $("#_sign_email").val() }); } } }; // 5. Action functions -> bind event to form elements var fnPopupBindAction = function() { // Tab $("#cmt-account-header [data-target]").on('click', function() { $("#cmt-account-header [data-target], #cmt-account-header [data-tab]").removeClass( "active"); $(this).addClass("active"); var tab = $("#cmt-account-header [data-tab='" + $(this).attr("data-target") + "']"); tab.addClass("active") .find("input[type="text"], input[type="email"]").first().focus(); tab.find("input").keyup(function(event) { if (event.keyCode === 13) { tab.find(".btn.clickable").click(); } }); fnCaptcha(); $("#cmt_alert").html("Please log in or register to post a comment"); }); $("#cmt-account-header .close").on('click', function() { $("#cmt-account-header").hide(); $("#cmt-account-header > .wrap").removeAttr("style"); $("body").css("overflow", "unset"); fnCaptcha(); $("#cmt_alert").html("Please log in or register to post a comment"); }); // Reload Captcha // $("#_reload_captcha").on('click', function () { // fnCaptcha(); // }); // Btn Login $("#comment-frame").on('click','#btn_login', function () { $("#top-link-account .first").click(); }); $("#comment-frame").on('click','#btn_signup', function () { $("#top-link-account .first").click(); $('[data-target="signup"]').click(); }); $("#_btn_login").on('click', function() { $("#cmt_alert").html("Please login or register to post a comment"); var email, password; email = $("#_login_email").val(); password = $("#_login_password").val(); if (!/^[a-z0-9-_\.]+[@][0-9a-z-]+(\.[0-9a-z-]+)+$/ig.test(email) || password .length < 8) { $("#cmt_alert").html("Invalid email or password!"); return; } $.ajax({ url: pageSettings.DomainApiComment + "/api/get-usercomment.htm", data: { email: encodeURI(email), password: password, sitename: pageSettings.commentSiteName, }, type: "get", success: function (res){ if (res && res.data == true){ var user = { email: email, name: email.substring(0, email.indexOf('@')), } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }else { $("#cmt_alert").html("An error occurred, please try again later"); } } }); }); // Btn Signup $("#_btn_sign").on('click', function() { $("#cmt_alert").html("Please log in or register to post a comment"); var email, name, password, repassword, captcha; email = $("#_sign_email").val(); name = $("#_sign_name").val(); if (name == ''){ name = email.split('@')[0]; } password = $("#_sign_password").val(); //repassword = $("#_sign_repassword").val(); captcha = $("#_sign_captcha").val(); var format = /[!@#$%^&*()_+\-=\[\]{};':"\|,.\/?]/g; if (!/^[a-z0-9-_\.]+[@][0-9a-z-]+(\.[0-9a-z-]+)+$/ig.test(email)) { $("#cmt_alert").html("Email does not match rule"); return; } //if (name.length 20) { // $("#cmt_alert").html("Full name must not exceed 20 characters (You can use a nickname instead)!"); // return; //} //if (format.test(name)) { // $("#cmt_alert").html("Name must not contain special characters!"); // return; //} if (password.length < 8) { $("#cmt_alert").html( "Password must be at least 8 characters, contain at least 1 number and 1 letter"); return; } //if (password != repassword) { // $("#cmt_alert").html("Password confirmation does not match!"); // return; //} if (!(/[az]/ig.test(password) && /[0-9]/ig.test(password))) { $("#cmt_alert").html("Password must contain at least 1 digit and 1 letter"); return; } if (captcha.length <= 0) { $("#cmt_alert").html("Please fill in the confirmation code in the image!"); return; } $.ajax({ type: 'POST', url: pageSettings.DomainApiComment + "/api/insert-usercomment.htm", data: { name: name, email: email, password: password, captcha: captcha, sitename: pageSettings.commentSiteName }, success: function (res){ if (res && res.message == "Success"){ var user = { email: email, name: email.split('@')[0], } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); $("#cmt-account-header .close").click(); }else { $("#cmt_alert").html("An error occurred, please try again later"); } } }); }); // Btn logout $("#_btn_logout").on('click', function() { $("#cmt_alert").html("Please log in or register to post a comment"); $("#cmt-account-header .close").click(); fnPopupAction("login", "You have successfully logged out"); var el = $("#top-link-account"); //el.find("a.first").html(" ") // .removeAttr("style"); el.find("a.first").show(); el.find("a.second").html(""); $("#cmt-account-social").show(); }); // Header login/account_info // Header login/account_info $("#top-link-account .first").on('click', function() { if ($("#top-link-account .second").attr("data-out")) { $("#top-link-account .second").toggleClass("show"); } else { fnPopupAction("login"); } }); // Btn register/log_out $("#top-link-account .second").on('click', function() { if ($("#top-link-account .second").attr("data-out")) { //$("#_btn_logout").click(); authLogin('my_dv',false); } else { fnPopupAction('signup'); } //var el = $("#top-link-account"); //el.find("a.first").html(" ") // .removeAttr("style"); //el.find("a.second").html(""); }); }; fnPopupBindAction(); //login Facebook var otherLogin = { init: function() { var me = this; //gapi.load('auth2', function () { // gapi.auth2.init({ // client_id: '678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com', // scope: 'email profile', // fetch_basic_profile: true // }); //}); $("#cmt-account-social button[data-type]").on('click', function() { me[$(this).attr("data-type")](function(response) { $("#cmt-account-header .tabs .close, #cmt-account .tabs .close") .click(); }); }); try { fbClient.appId = '1304555827613749'; //'211029740744825'; fbClient.version = "v14.0"; fbClient.init(); setTimeout(FB.AppEvents.logPageView, 5000); } catch (e) { // ignore } }, loginFacebook: function(cb) { var me = this; function reloginFacebook(callback) { FB.api('/me', { fields: 'id, name, email' }, function(profile) { //console.debug(profile); if (typeof callback === "function") callback(profile); }); }; FB.login(function(response) { if (response.authResponse) { reloginFacebook(function(info) { console.log(info); info.social = "facebook"; info.accessToken = response.authResponse.accessToken; var user = { email: info.email, name: info.name, } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }); } else { $("#cmt_alert").html( "You have denied access to your Facebook account"); } }, { scope: 'public_profile,email' }); }, loginGoogle: function(callback) { var me = this; function callSocialApi(data, cb) { data.social = "google"; var user = { email: data.email, name: data.name, } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); } // API call for Google login if (gapi.auth2.getAuthInstance().isSignedIn.get()) { //console.debug('[VCC] GAPI Process'); var profile = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile(); //var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token; var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse() .access_token; var params = { id: profile.getId(), name: profile.getName(), email: profile.getEmail(), accessToken: access_token } //console.log('params: ', params); callSocialApi(params, callback); } else { //console.debug('[VCC] GAPI Login'); gapi.auth2.getAuthInstance().signIn().then( function(success) { var profile = gapi.auth2.getAuthInstance().currentUser.get() .getBasicProfile(); //var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token; var access_token = gapi.auth2.getAuthInstance().currentUser.get() .getAuthResponse().access_token; var params = { id: profile.getId(), name: profile.getName(), email: profile.getEmail(), accessToken: access_token } //console.log('params: ', params); callSocialApi(params, callback); }, function(error) { $("#cmt_alert").html( "You have refused to grant Dan Viet Newspaper access to your Google account" ); } ); } } } otherLogin.init(); }); Source: https://danviet.vn/tram-hoa-dua-no-truoc-gio-ra-mat-festival-hoa-me-linh-lon-nhat-mien-bac-20241225132256105.htm