"整合Mantis系統之技術文件" 修訂間的差異

出自 NCUCCWiki
前往: 導覽搜尋
行 42: 行 42:
 
   修改 <?php if ( !helper_call_custom_function( 'auth_can_change_password', array() ) ) { ?> <!-- With LDAP -->
 
   修改 <?php if ( !helper_call_custom_function( 'auth_can_change_password', array() ) ) { ?> <!-- With LDAP -->
 
   為  <?php if(user_get_field($u_id,'password') == NULL){?> <!-- With LDAP -->
 
   為  <?php if(user_get_field($u_id,'password') == NULL){?> <!-- With LDAP -->
 
+
----
 +
設定完成後  將舊版 HelpDesk 的資料庫匯入需要更改 mantis_user_table 中的資料<br/>
 +
將 password 那個欄位設為 NULL 使用 SQL UPDATE 指令
 +
  UPDATE `mantis_user_table` SET password='' where username not in('administrator');
 
==與 wiki 的連結 ==
 
==與 wiki 的連結 ==
 
在 config_inc.php 中加入以下數行
 
在 config_inc.php 中加入以下數行
行 53: 行 56:
 
   # URL under which the wiki engine is hosted. Must be on the same server.
 
   # URL under which the wiki engine is hosted. Must be on the same server.
 
   $g_wiki_engine_url = $t_protocol . '://'.$t_host.'/%wiki_engine%/';
 
   $g_wiki_engine_url = $t_protocol . '://'.$t_host.'/%wiki_engine%/';
 
+
----
 +
從各回報的 bug 中點 wiki 的選項將之導到 mantis:project_name bug_category<br/>
 +
修改 core/wiki_mediawiki_api.php
 +
  function wiki_mediawiki_get_page_id_for_issue( $p_issue_id ){
 +
    //return $c_issue_id;  (將此行 刪除\註解 改為下面那行)
 +
    return project_get_name(bug_get_field($c_issue_id,'project_id')) . '_' . bug_get_field($c_issue_id,'category');
 +
  }
 
==連結 wiki 時開新視窗==
 
==連結 wiki 時開新視窗==
 
在 bug_view_page.php 及 bug_view_advanced_page.php 中
 
在 bug_view_page.php 及 bug_view_advanced_page.php 中
行 69: 行 78:
 
點選 here 更新資料庫即可
 
點選 here 更新資料庫即可
 
----
 
----
  匯入後由於舊版 mantis 的 中文預設 是 big5 所以在 mantis_user_pref_table 這個 table 中存 chinese_traditional_utf8  
+
匯入後由於舊版 mantis 的 中文預設 是 big5 所以在 mantis_user_pref_table 這個 table 中存 chinese_traditional_utf8  
  新版則更名為 chinese_traditional&nbsp; 處理方法為在 mysql 下 update 指令&nbsp;
+
新版則更名為 chinese_traditional&nbsp; 處理方法為在 mysql 下 update 指令
   &nbsp; UPDATE `mantis_user_pref_table` SET language='chinese_traditional';
+
   UPDATE `mantis_user_pref_table` SET language='chinese_traditional';
 +
 
 +
==更改mantis寄件者的email==
 +
mantis安裝後預設寄件者是 noreply@example.com 將之更改為 noreply@cc.ncu.edu.tw 方法是 <br/>
 +
  在 config_inc.php 中加入
 +
  $g_from_email = 'noreply@cc.ncu.edu.tw';

於 2008年3月26日 (三) 07:25 的修訂

Mantis 開放 LDAP、local 登入

在 config_inc.php 中加入以下數行:

   $g_login_method                 = LDAP;
   $g_ldap_server                  = 'tiger.cc.ncu.edu.tw';
   $g_ldap_port                    = '389';
   $g_ldap_root_dn                 = 'dc=cc,dc=ncu';
   $g_ldap_organization            = ;    
   $g_ldap_uid_field               = 'uid';
   $g_ldap_bind_dn                 = 'dc=cc,dc=ncu';
   $g_ldap_bind_passwd             = ;
   $g_use_ldap_email               = OFF;

在 core/authentication_api.php 中

 修改 function auth_does_password_match()
   將  $t_password = user_get_field( $p_user_id, 'password' ); 移到 if ( LDAP == $t_configured_login_method ) 這行前
   並將
     if ( LDAP == $t_configured_login_method ) {
         return ldap_authenticate( $p_user_id, $p_test_password );
     }
   修改成
     if ( LDAP == $t_configured_login_method ) {
         if($t_password == NULL)
             return ldap_authenticate( $p_user_id, $p_test_password );
     }
   下一行 array 中加上 LDAP
   $t_login_methods        = Array(MD5, CRYPT, PLAIN);
   變成 $t_login_methods        = Array(MD5, CRYPT, PLAIN, LDAP);
 修改 function auth_process_plain_password
   case MD5:
       $t_processed_password = md5( $p_password );
   加上 case LDAP:
     case MD5: case LDAP:
       $t_processed_password = md5( $p_password );

在 core/user_api.php 中 修改 function user_create()

 修改 $c_password = db_prepare_string( $t_password );
 為 $c_password = NULL; 

在 account_page.php 中

 修改 <?php if ( !helper_call_custom_function( 'auth_can_change_password', array() ) ) { ?> 
 為  <?php if(user_get_field($u_id,'password') == NULL){?> 

設定完成後 將舊版 HelpDesk 的資料庫匯入需要更改 mantis_user_table 中的資料
將 password 那個欄位設為 NULL 使用 SQL UPDATE 指令

 UPDATE `mantis_user_table` SET password= where username not in('administrator');

與 wiki 的連結

在 config_inc.php 中加入以下數行

   # Wiki Integration Enabled?
  $g_wiki_enable = ON;
  # Wiki Engine
  $g_wiki_engine = 'mediawiki';
  # Wiki namespace to be used as root for all pages relating to this mantis installation.
  $g_wiki_root_namespace = 'mantis';
  # URL under which the wiki engine is hosted. Must be on the same server.
  $g_wiki_engine_url = $t_protocol . '://'.$t_host.'/%wiki_engine%/';

從各回報的 bug 中點 wiki 的選項將之導到 mantis:project_name bug_category
修改 core/wiki_mediawiki_api.php

 function wiki_mediawiki_get_page_id_for_issue( $p_issue_id ){
   //return $c_issue_id;  (將此行 刪除\註解 改為下面那行)
   return project_get_name(bug_get_field($c_issue_id,'project_id')) . '_' . bug_get_field($c_issue_id,'category');
 }

連結 wiki 時開新視窗

在 bug_view_page.php 及 bug_view_advanced_page.php 中

 找到 print_bracket_link( 'wiki.php?id='.$f_bug_id, lang_get( 'wiki' ))
 加上第三個參數 true 變成 print_bracket_link( 'wiki.php?id='.$f_bug_id, lang_get( 'wiki' ), true )

在 core/html_api.php 中 找到

 $t_menu_options[] = '<a href="wiki.php?type=project&id=' . $t_current_project . '">' . lang_get( 'wiki' ) . '</a>';
 加上 target="_blank"
 變成 $t_menu_options[] = '<a href="wiki.php?type=project&id=' . $t_current_project . '" target="_blank">' . lang_get( 'wiki' ) . '</a>';

與現行 HelpDesk 的資料庫整合

將 mantis 更換為較新版本(version 1.1.1) 將舊版 mantis database 匯入後  若 admin 資料夾存在 登入頁面會出現 WARNING: The database structure may be out of date. Please upgrade here before logging in. 點選 here 更新資料庫即可


匯入後由於舊版 mantis 的 中文預設 是 big5 所以在 mantis_user_pref_table 這個 table 中存 chinese_traditional_utf8 新版則更名為 chinese_traditional  處理方法為在 mysql 下 update 指令

 UPDATE `mantis_user_pref_table` SET language='chinese_traditional';

更改mantis寄件者的email

mantis安裝後預設寄件者是 noreply@example.com 將之更改為 noreply@cc.ncu.edu.tw 方法是

 在 config_inc.php 中加入
 $g_from_email = 'noreply@cc.ncu.edu.tw';