您在這裡
使用者登入
最新文章
回應
3 年 5 個月 之前
6 年 5 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
6 年 6 個月 之前
Re:
Admin 都不可以改密碼:
user.module
function user_edit_form():
<?php
if (!$register) {
/*
$form['account']['pass'] = array('#type' => 'password_confirm',
'#description' => t('To change the current user password, enter the new password in both fields.'),
'#size' => 25,
);
*/
}
?>
function user_save():
<?php
foreach ($array as $key => $value) {
if ($key == 'pass' && !empty($value)) {
/*
$query .= "$key = '%s', ";
$v[] = md5($value);
*/
}?>
Admin 可以改
其他人不可以:
user.module
function user_edit_form():
<?php
if (!$register AND $admin ) {
$form['account']['pass'] = array('#type' => 'password_confirm',
'#description' => t('To change the current user password, enter the new password in both fields.'),
'#size' => 25,
);
}
?>
Joetsui's blog
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
漂亮!
謝啦!
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
hook_form_alter()
可以不用更改核心的user模組
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
對, 應該好好用一下hook,
練習一下
<?php
function dojo_form_alter( $form_id , &$form ){
if ( !user_access('administer users') ){
if ( isset ( $form['account']['pass'] ) ){
unset($form['account']['pass']);
}
}
}
?>
Joetsui's blog
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
$form_id 要check一下~確定是在user更改密碼的表單時
不過說真的,把更改密碼取消,是個很不人性的作法
要求使用者記住那一堆hash出來的code... 絕對會發更新密碼信發不完
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
isset ( $form['account']['pass'])
不是己經check 了嗎?Joetsui's blog
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
這是作法的不同,這樣子也可以達到效果,不過有危險。
譬如說,如果有一個的三方的模組,好比說可以管理電子報的密碼
然後裡頭的的$form也叫做$form[account][pass],那這樣的hack就會有問題
也就是說,因為drupal是只要透過drupal_get_form呼叫產生的form,都會進到hook_form_alter裡頭
也就是說,如果今天去到了一個epaper/account的頁面,裡頭也有密碼欄位,那就會給消去了
因此這樣的check不是unique的話,就有機率會出包
而$form_id則是透過drupal_get_form呼叫的unique function名稱
(php的function名稱得是unique的)
就比較不容易出包囉...
當然出狀況的機率很小很小啦
只是想表達,要用$form_id check的寫法是會有源由的
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
您好! 謝謝您的提醒!
會這麼做是有原因的!
因為之前有做個模組,
http://drupaltaiwan.org/forum/20070323/1035
讀者從 "圖書館查詢系統" 修改密碼,
之後讀者登入 drupal 時會自動修改密碼,
又因為不能反向修改 "圖書館查詢系統" 的密碼(廠商鎖資料庫的關係),
所以出此下策。
謝謝大家的回覆!
感激不盡
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
那把那個欄位變成read only就好~
(html在input的屬性中,有readonly的屬性喔)
然後description裡頭加上要改密碼的連結
這樣應該會比較user friendly~
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
嗯嗯,這樣較有人性化
謝謝您的提醒
可以請問大家
怎麼用模組的方式來替密碼欄位變成read only呢
不想修改核心程式
但不修改核心程式,我又不會用模組的方式來替密碼欄位變成read only
所以想請問大家
謝謝大家,感激不盡
Re: 請問大家! 如果我不希望讀者修改密碼,請問要修改哪個模組或hook呢?
自己寫模組,用hook_form_alter的api來達成
--
from open mind to open source~
Re:
謝謝 jimmy 以及 joetsuihk 的熱心幫助
我在官網找到了
http://drupal.org/node/74824
謝謝大家