Breizh Ajax Checks (註冊檢查) (Update 1.3.0)

Officially Approved MODs
歡迎推薦由 phpBB Limited 官方發展小組認證的外掛!

版主: 版主管理群譯文組

版面規則
所謂「官方認證外掛」是指經官方認證,已發表在 [3.0.x] MOD Database Releases 版面的外掛。
目前,全數外掛已收錄於 Customisation Database ‹ Modifications
本版面外掛,包含 Official Tools(官方工具)Bridges(橋接)

為了維護推薦外掛之品質,自即日起,如果要在這個版面推薦外掛,那麼請遵守底下格式,謝謝合作!

發文格式:
  • 外掛名稱:(原文/中文化名稱)
  • 外掛作者:(原文)
  • 外掛描述:(原文/中文化描述)
  • 外掛版本:(原文)
  • 外掛下載:(連結位址)
  • 資料來源:(連結位址)
    --
  • 中文化分享:(若外掛無須修改語言檔、或無須上傳語言檔,則免之。)
    --
  • 使用後心得:(簡單陳述您的安裝經驗、使用心得、或其他注意事項。)


p.s.
這個版面之發文,需經版主審核。
主題已鎖定
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8445
註冊時間: 2004-04-30 01:54
來自: Taiwan

Breizh Ajax Checks (註冊檢查) (Update 1.3.0)

文章 心靈捕手 »

外掛名稱:Breizh Ajax Checks (註冊檢查)
外掛作者:sylver35
外掛描述:
  • This mod allows to perform checks in real time (Ajax) for username, email address and password in the registration page (ucp.php?mode=register) and in the page edit account settings (ucp.php?i=profile&mode=reg_details)./這個外掛允許在註冊頁面執行即時的會員名稱、e-mail 位址、密碼之檢查。
外掛版本:1.1.0
外掛下載:breizh_ajax_checks_1.1.0.zip
資料來源:http://www.phpbb.com/community/viewtopic.php?t=2108378

--
中文化分享:
zh_cmn_hant.zip
正體中文語系 2011.05.20 (更新到 1.1.0)
(1.81 KiB) 已下載 722 次
p.s.
這是一個以 Ajax User Registration Checks (註冊檢查) 為範本開發的外掛;
感謝 JORDAN 的譯文!

--
最新版本,請參考最後發表文章。
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!
阿維
竹貓忠實會員
竹貓忠實會員
文章: 868
註冊時間: 2003-02-23 13:36
來自: 台南市

Re: Breizh Ajax Checks (註冊檢查) (Update 1.1.0)

文章 阿維 »

版本歷史:
2011-04-25 - Version1.1.0
  • Activation of language change on the registration page
  • Increase performance by setting up a switch
  • Bugfix when cookies are set incorrectly
  • Improvement of calculation of power passwords
  • Added German and Spanish languages
升級經驗分享:
  • 上傳覆蓋 Breizh Ajax Checks 1.1.0 的檔案及語系檔
  • 執行 SQL 語法:

    代碼: 選擇全部

    DELETE FROM phpbb_config WHERE config_name = 'breizh_ajax_checks_version';
    INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('breizh_ajax_checks_version', '1.1.0', '0');
  • 搜尋並取代下列程式碼:

    打開:includes/ucp/ucp_profile.php
    搜尋:

    代碼: 選擇全部

    				// start Mod Breizh Ajax Checks ------
    				$user->add_lang('mods/ajaxchecks');
    				$template->assign_vars(array(
    					'AJAX_CHECKS_FILE'			=> append_sid($phpbb_root_path . 'ajaxchecks.' . $phpEx),
    					'AJAX_CHECKING_IMG'			=> $user->img('icon_ajax_checking', 'AJAX_CHECKING'),
    					'PRINTAJAXFROM'				=> sprintf($user->lang['AJAXFROM'], $user->img('icon_ajax_true', 'AJAX_CHECK_MOD'), $config['breizh_ajax_checks_version']),
    				));
    				// end Mod Breizh Ajax Checks -------
    取代:

    代碼: 選擇全部

    				// start Mod Breizh Ajax Checks ------
    				$user->add_lang('mods/ajaxchecks');
    				$template->assign_vars(array(
    					'AJAX_CHECKS_FILE'			=> generate_board_url() . '/ajaxchecks.' .$phpEx,
    					'AJAX_CHECKING_IMG'			=> $user->img('icon_ajax_checking', 'AJAX_CHECKING'),
    					'PRINTAJAXFROM'				=> sprintf($user->lang['AJAXFROM'], $user->img('icon_ajax_true', 'AJAX_CHECK_MOD'), $config['breizh_ajax_checks_version']),
    				));
    				// end Mod Breizh Ajax Checks -------
    打開:includes/ucp/ucp_register.php
    搜尋:

    代碼: 選擇全部

    		// start Mod Breizh Ajax Checks ------
    		$user->add_lang('mods/ajaxchecks');
    		$template->assign_vars(array(
    			'AJAX_CHECKS_FILE'			=> append_sid($phpbb_root_path . 'ajaxchecks.' . $phpEx),
    			'AJAX_CHECKING_IMG'			=> $user->img('icon_ajax_checking', 'AJAX_CHECKING'),
    			'PRINTAJAXFROM'				=> sprintf($user->lang['AJAXFROM'], $user->img('icon_ajax_true', 'AJAX_CHECK_MOD'), $config['breizh_ajax_checks_version']),
    		));
    		// end Mod Breizh Ajax Checks -------
    取代:

    代碼: 選擇全部

    		// start Mod Breizh Ajax Checks ------
    		$user->add_lang('mods/ajaxchecks');
    		$template->assign_vars(array(
    			'AJAX_CHECKS_FILE'			=> generate_board_url() . '/ajaxchecks.' .$phpEx,
    			'AJAX_CHECKING_IMG'			=> $user->img('icon_ajax_checking', 'AJAX_CHECKING'),
    			'PRINTAJAXFROM'				=> sprintf($user->lang['AJAXFROM'], $user->img('icon_ajax_true', 'AJAX_CHECK_MOD'), $config['breizh_ajax_checks_version']),
    		));
    		// end Mod Breizh Ajax Checks -------
    打開:styles/prosilver/template/ucp_register.html
    搜尋:

    代碼: 選擇全部

    	/**
    	* Functions for Breizh Ajax checks
    	*/
    	function createRequestObject() {
    	    var ro;
    	    var browser = navigator.appName;
    	    if(browser == "Microsoft Internet Explorer"){
    	        ro = new ActiveXObject("Microsoft.XMLHTTP");
    	    } else {
    	        ro = new XMLHttpRequest();
    	    }
    	    return ro;
    	}
    	var http = createRequestObject();
    	function sndReq(mode, valuename1, value1, valuename2, value2) {
    		// Show that the request is running
    		if (mode == 'usernamecheck' && document.getElementById('username').value != ''){
    			document.getElementById('usernamecheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_USERNAME}';
    		} else if (mode == 'passwordcur' && document.getElementById('new_password').value != '') {
    			document.getElementById('passwordcur').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_PASSWORD_CUR}';
    		} else if (mode == 'passwordcheck' && document.getElementById('new_password').value != '' && document.getElementById('password_confirm').value != '') {
    			document.getElementById('passwordcheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_PASSWORD}';
    		} else if (mode == 'checkemail' && document.getElementById('email').value != '') {
    			document.getElementById('checkemail').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_EMAIL_FIRST}';
    		} else if (mode == 'emailcheck' && document.getElementById('email').value != '' && document.getElementById('email_confirm').value != '') {
    			document.getElementById('emailcheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_EMAIL}';
    		} else {
    			return false;
    		}
    		
    		// Make the request
    	    http.open('get', '{AJAX_CHECKS_FILE}?mode='+mode+'&'+valuename1+'='+value1+'&'+valuename2+'='+value2);
    	    http.onreadystatechange = handleResponse;
    	    http.send(null);
    	}
    	function handleResponse() {
    	    if(http.readyState == 4){
    	        var response = http.responseText;
    	        var update = new Array();
    	        if(response.indexOf('|' != -1)) {
    	            update = response.split('|');
    	            document.getElementById(update[0]).innerHTML = update[1];
    	        }
    	    }
    	}
    	function displayAjax(){document.getElementById('ajaxfrom').style.display = 'block';}
    取代:

    代碼: 選擇全部

    	/**
    	* Functions for Breizh Ajax checks
    	*/
    	function createRequestObject() {
    	    var ro;
    	    var browser = navigator.appName;
    	    if (browser == "Microsoft Internet Explorer"){
    	        ro = new ActiveXObject("Microsoft.XMLHTTP");
    	    } else {
    	        ro = new XMLHttpRequest();
    	    }
    	    return ro;
    	}
    	var http = createRequestObject();
    
    	function sndReq(mode, valuename1, value1, valuename2, value2) {
    		var on_lang = document.forms['register'].lang.value;
    		// Show that the request is running
    		if (mode == 'usernamecheck' && document.getElementById('username').value != ''){
    			document.getElementById('usernamecheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_USERNAME}';
    		} else if (mode == 'passwordcur' && document.getElementById('new_password').value != '') {
    			document.getElementById('passwordcur').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_PASSWORD_CUR}';
    		} else if (mode == 'passwordcheck' && document.getElementById('new_password').value != '' && document.getElementById('password_confirm').value != '') {
    			document.getElementById('passwordcheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_PASSWORD}';
    		} else if (mode == 'checkemail' && document.getElementById('email').value != '') {
    			document.getElementById('checkemail').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_EMAIL_FIRST}';
    		} else if (mode == 'emailcheck' && document.getElementById('email').value != '' && document.getElementById('email_confirm').value != '') {
    			document.getElementById('emailcheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_EMAIL}';
    		} else {
    			return false;
    		}
    		
    		// Make the request
    		if (valuename2 != 'ignore') {
    			http.open('get', '{AJAX_CHECKS_FILE}?mode='+mode+'&'+valuename1+'='+value1+'&'+valuename2+'='+value2+'&lang='+on_lang);
    		} else {
    			http.open('get', '{AJAX_CHECKS_FILE}?mode='+mode+'&'+valuename1+'='+value1+'&lang='+on_lang);
    		}
    	    http.onreadystatechange = handleResponse;
    	    http.send(null);
    	}
    	function handleResponse() {
    	    if(http.readyState == 4){
    	        var response = http.responseText;
    	        var update = new Array();
    	        if(response.indexOf('|' != -1)) {
    	            update = response.split('|');
    	            document.getElementById(update[0]).innerHTML = update[1];
    	        }
    	    }
    	}
    	function displayAjax(){document.getElementById('ajaxfrom').style.display = 'block';}
    打開:styles/subsilver2/template/ucp_register.html
    搜尋:

    代碼: 選擇全部

            /**
    	* Functions for Breizh Ajax checks
    	*/
    	function createRequestObject() {
    	    var ro;
    	    var browser = navigator.appName;
    	    if(browser == "Microsoft Internet Explorer"){
    	        ro = new ActiveXObject("Microsoft.XMLHTTP");
    	    } else {
    	        ro = new XMLHttpRequest();
    	    }
    	    return ro;
    	}
    	var http = createRequestObject();
    	function sndReq(mode, valuename1, value1, valuename2, value2) {
    		// Show that the request is running
    		if (mode == 'usernamecheck' && document.getElementById('username').value != ''){
    			document.getElementById('usernamecheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_USERNAME}';
    		} else if (mode == 'passwordcur' && document.getElementById('new_password').value != '') {
    			document.getElementById('passwordcur').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_PASSWORD_CUR}';
    		} else if (mode == 'passwordcheck' && document.getElementById('new_password').value != '' && document.getElementById('password_confirm').value != '') {
    			document.getElementById('passwordcheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_PASSWORD}';
    		} else if (mode == 'checkemail' && document.getElementById('email').value != '') {
    			document.getElementById('checkemail').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_EMAIL_FIRST}';
    		} else if (mode == 'emailcheck' && document.getElementById('email').value != '' && document.getElementById('email_confirm').value != '') {
    			document.getElementById('emailcheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_EMAIL}';
    		} else {
    			return false;
    		}
    		
    		// Make the request
    	    http.open('get', '{AJAX_CHECKS_FILE}?mode='+mode+'&'+valuename1+'='+value1+'&'+valuename2+'='+value2);
    	    http.onreadystatechange = handleResponse;
    	    http.send(null);
    	}
    	function handleResponse() {
    	    if(http.readyState == 4){
    	        var response = http.responseText;
    	        var update = new Array();
    	        if(response.indexOf('|' != -1)) {
    	            update = response.split('|');
    	            document.getElementById(update[0]).innerHTML = update[1];
    	        }
    	    }
    	}
    	function displayAjax(){document.getElementById('ajaxfrom').style.display = 'block';}
    
    取代:

    代碼: 選擇全部

    	/**
    	* Functions for Breizh Ajax checks
    	/
    	function createRequestObject() {
    	    var ro;
    	    var browser = navigator.appName;
    	    if (browser == "Microsoft Internet Explorer"){
    	        ro = new ActiveXObject("Microsoft.XMLHTTP");
    	    } else {
    	        ro = new XMLHttpRequest();
    	    }
    	    return ro;
    	}
    	var http = createRequestObject();
    
    	function sndReq(mode, valuename1, value1, valuename2, value2) {
    		var on_lang = document.forms['register'].lang.value;
    		// Show that the request is running
    		if (mode == 'usernamecheck' && document.getElementById('username').value != ''){
    			document.getElementById('usernamecheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_USERNAME}';
    		} else if (mode == 'passwordcur' && document.getElementById('new_password').value != '') {
    			document.getElementById('passwordcur').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_PASSWORD_CUR}';
    		} else if (mode == 'passwordcheck' && document.getElementById('new_password').value != '' && document.getElementById('password_confirm').value != '') {
    			document.getElementById('passwordcheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_PASSWORD}';
    		} else if (mode == 'checkemail' && document.getElementById('email').value != '') {
    			document.getElementById('checkemail').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_EMAIL_FIRST}';
    		} else if (mode == 'emailcheck' && document.getElementById('email').value != '' && document.getElementById('email_confirm').value != '') {
    			document.getElementById('emailcheck').innerHTML = '{AJAX_CHECKING_IMG} {L_AJAX_CHECKING_EMAIL}';
    		} else {
    			return false;
    		}
    		
    		// Make the request
    		if (valuename2 != 'ignore') {
    			http.open('get', '{AJAX_CHECKS_FILE}?mode='+mode+'&'+valuename1+'='+value1+'&'+valuename2+'='+value2+'&lang='+on_lang);
    		} else {
    			http.open('get', '{AJAX_CHECKS_FILE}?mode='+mode+'&'+valuename1+'='+value1+'&lang='+on_lang);
    		}
    	    http.onreadystatechange = handleResponse;
    	    http.send(null);
    	}
    	function handleResponse() {
    	    if(http.readyState == 4){
    	        var response = http.responseText;
    	        var update = new Array();
    	        if(response.indexOf('|' != -1)) {
    	            update = response.split('|');
    	            document.getElementById(update[0]).innerHTML = update[1];
    	        }
    	    }
    	}
    	function displayAjax(){document.getElementById('ajaxfrom').style.display = 'block';}
  • 清除快取。
提供代客維護 phpBB 3.0.x 以及外掛/風格升級或安裝的服務,如需委託,請與我聯絡,謝謝! ;)
我的 Skype 帳號:gpxjordan
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8445
註冊時間: 2004-04-30 01:54
來自: Taiwan

Breizh Ajax Checks (註冊檢查) (Update 1.3.0)

文章 心靈捕手 »

外掛歷史:
2012-05-19 - Version1.3.0
  • Lightening changes by removing all the onblur and onkeypress in html files
  • Set the full compatibility with the tab key navigation (Tab)
  • Creating a javascript file included in overall_footer to reduce changes and improve page loading
  • Removing displays errors connecting to the server
  • Bugfix length counting passwords with some special characters
2012-03-06 - Version1.2.0
  • Checks username, email confirmation and password to each key press
  • Using Functions echo() et exit_handler() instead of exit()
  • Change the get method to post for universal compatibility
  • Removing any incompatibilities with other mods
  • Added Polish (pl) and Dutch (nl) languages
中文化:
zh_cmn_hant.zip
for Breizh Ajax Checks (註冊檢查) 1.3.0
(2.17 KiB) 已下載 558 次
1.1.0 更新至 1.3.0 經驗分享:
  1. 重新上傳附加檔案與語言檔
  2. 參考 install.xml 完成資料庫更新與檔案修改
  3. 進入 ACP > 風格 > prosilver(您的風格)> 重新整理:樣板/主題/圖檔組
  4. 進入 ACP > 一般 > 清除論壇快取
官方討論主題:
https://www.phpbb.com/customise/db/mod/ ... ax_checks/
施比受有福,歡迎來信賜教,謝謝 & 再見!
祝福您 好運 ^_^
歡迎加入★★心靈捕手★★ :: 討論區!!
http://wang5555.hopto.org/phpBB3/
p.s. 奉老婆之命:在晚上十一點前,得關機睡覺!!!
主題已鎖定

回到「[3.0.x] 官方認證外掛」