it-swarm-korea.com

추가 로그 아웃 기능을 삽입하는 가장 좋은 위치는 어디입니까?

사용자가 로그 오프 할 때 추가 논리를 삽입하려면 user.pages.inc의 function user_logout()을 참조하십시오. 이 코드는 핵심 모듈에 있으므로 편집해서는 안되지만 잘 작동합니다 ... 예를 들어 'user_logout ()'함수의 맨 위에 다음 코드를 추가하여 ...

$last_run = variable_get('cron_last', 0);  
if(time() - $last_run > 86400) {  
    include_once './includes/bootstrap.inc';  
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);  
    drupal_cron_run();  
    drupal_flush_all_caches();  
    watchdog('user', 'cron set to run and cache to be cleared on user logout', array('%name' => $user->name));  
}

... 지난 24 시간 동안 cron이 실행되지 않으면 캐시가 지워지고 cron이 실행됩니다. 좋아요, cron에 이상적은 아니지만 그것은 또 다른 문제입니다.

이 작은 조각을 추가하기에 가장 좋은 곳은 어디입니까? 나만의 로그 아웃 메뉴 항목을 간단히 구현할 수 있지만 그 솔루션에 관심이 없습니다.

미리 감사드립니다.

2
clsturgeon

코어를 수정하는 대신 사용자 정의 모듈에서 hook_user() 구현할 수 있습니다. 그런 다음 $op 매개 변수를 확인하여 "logout"과 같은지 확인할 수 있습니다. 이 코드는 사용자가 로그 아웃하기 위해 클릭 한 메뉴 항목이나 링크에 관계없이 사용자가 로그 아웃 할 때마다 실행됩니다.


이 질문은 Drupal 6과 7 사이에 다릅니다.이 질문은 Drupal 6 태그가 지정되었지만 Drupal 7을 사용하거나 나중에 사용할 계획이라면 이 후크는 hook_user_logout() 로 대체되었습니다.

10
Chaulky

Poor Mans Cron 모듈을 확인하고 싶을 수도 있습니다.

0
mikeytown2