From: Victor B. <vb...@us...> - 2006-08-12 08:04:16
|
Update of /cvsroot/mantisbt/mantisbt/core In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv4903/core Modified Files: constant_inc.php filter_api.php print_api.php tokens_api.php Log Message: Fixed #4460: Show last visited N issues. Index: constant_inc.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/core/constant_inc.php,v retrieving revision 1.57 retrieving revision 1.58 diff -u -d -r1.57 -r1.58 --- constant_inc.php 18 May 2006 05:14:27 -0000 1.57 +++ constant_inc.php 12 Aug 2006 08:04:13 -0000 1.58 @@ -335,9 +335,10 @@ define( 'REMINDER', 1 ); # token types - define( 'TOKEN_UNKNOWN', 0 ); - define( 'TOKEN_FILTER', 1 ); - define( 'TOKEN_GRAPH', 2 ); + define( 'TOKEN_UNKNOWN', 0 ); + define( 'TOKEN_FILTER', 1 ); + define( 'TOKEN_GRAPH', 2 ); + define( 'TOKEN_LAST_VISITED', 3 ); # config types define( 'CONFIG_TYPE_INT', 1 ); Index: print_api.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/core/print_api.php,v retrieving revision 1.157 retrieving revision 1.158 diff -u -d -r1.157 -r1.158 --- print_api.php 18 May 2006 13:00:28 -0000 1.157 +++ print_api.php 12 Aug 2006 08:04:13 -0000 1.158 @@ -15,6 +15,7 @@ require_once( $t_core_dir . 'string_api.php' ); require_once( $t_core_dir . 'prepare_api.php' ); require_once( $t_core_dir . 'profile_api.php' ); + require_once( $t_core_dir . 'last_visited_api.php' ); ### Print API ### @@ -1432,4 +1433,32 @@ $t_path = config_get( 'path' ); echo '<a href="', $p_feed_url, '" title="', $p_title, '"><img src="', $t_path, '/images/', 'rss.gif" border="0" alt="', $p_title, '" width="26" height="13" /></a>'; } + + # -------------------- + # Prints the recently visited issues. + function print_recently_visited() { + if ( OFF == config_get( 'recently_visited' ) ) { + return; + } + + $t_ids = last_visited_get_array(); + + if ( count( $t_ids ) == 0 ) { + return; + } + + echo '<div align="right"><small>' . lang_get( 'recently_visited' ) . ': '; + $t_first = true; + + foreach( $t_ids as $t_id ) { + if ( !$t_first ) { + echo ', '; + } else { + $t_first = false; + } + + echo string_get_bug_view_link( $t_id ); + } + echo '</small></div>'; + } ?> Index: filter_api.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/core/filter_api.php,v retrieving revision 1.141 retrieving revision 1.142 diff -u -d -r1.141 -r1.142 --- filter_api.php 6 May 2006 02:58:43 -0000 1.141 +++ filter_api.php 12 Aug 2006 08:04:13 -0000 1.142 @@ -2511,7 +2511,7 @@ $t_fields = helper_get_columns_to_view(); $t_n_fields = count( $t_fields ); for ( $i=0; $i < $t_n_fields; $i++ ) { - if ( in_array( $t_fields[$i], array( 'selection', 'edit', 'bugnotes_count', 'attachment' ) ) ) { + if ( isset( $t_fields[$i] ) && in_array( $t_fields[$i], array( 'selection', 'edit', 'bugnotes_count', 'attachment' ) ) ) { unset( $t_fields[$i] ); } } Index: tokens_api.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/core/tokens_api.php,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- tokens_api.php 12 Feb 2005 20:01:18 -0000 1.4 +++ tokens_api.php 12 Aug 2006 08:04:13 -0000 1.5 @@ -27,16 +27,22 @@ # 9. return 'default param' from token_add is token not found # -------------------- - function token_ensure_owner( $p_token_id, $p_owner_id ) { + function token_ensure_owner( $p_token_id, $p_user_id = null ) { $c_token_id = db_prepare_int( $p_token_id ); $t_tokens_table = config_get( 'mantis_tokens_table' ); + if( $p_user_id == null ) { + $c_user_id = auth_get_current_user_id(); + } else { + $c_user_id = db_prepare_int( $p_user_id ); + } + $query = "SELECT owner FROM $t_tokens_table WHERE id='$c_token_id'"; $result = db_query( $query ); - if( db_result( $result ) != $p_owner_id ) { + if( db_result( $result ) != $c_user_id ) { trigger_error( ERROR_GENERIC, ERROR ); } @@ -48,14 +54,18 @@ } # -------------------- - function token_delete_by_owner( $p_owner_owner ) { - $c_token_owner = db_prepare_int( $p_token_owner ); + function token_delete_by_owner( $p_user_id = null ) { + if( $p_user_id == null ) { + $c_user_id = auth_get_current_user_id(); + } else { + $c_user_id = db_prepare_int( $p_user_id ); + } $t_tokens_table = config_get( 'mantis_tokens_table' ); # Remove $query = "DELETE FROM $t_tokens_table - WHERE owner='$c_token_owner'"; + WHERE owner='$c_user_id'"; db_query( $query ); return true; @@ -76,15 +86,20 @@ } # -------------------- - function token_delete_by_type_owner( $p_token_type, $p_token_owner ) { + function token_delete_by_type_owner( $p_token_type, $p_user_id ) { $c_token_type = db_prepare_int( $p_token_type ); - $c_token_owner = db_prepare_int( $p_token_owner ); + + if ( $p_user_id == null ) { + $c_user_id = auth_get_current_user_id(); + } else { + $c_user_id = db_prepare_int( $p_user_id ); + } $t_tokens_table = config_get( 'mantis_tokens_table' ); # Remove $query = "DELETE FROM $t_tokens_table - WHERE type='$c_token_type' and owner='$c_token_owner'"; + WHERE type='$c_token_type' and owner='$c_user_id'"; db_query( $query ); return true; @@ -100,7 +115,7 @@ WHERE id='$c_token_id'"; $result = db_query( $query, 1 ); - return( 1 == db_result( $result ) ); + return( 1 == db_num_rows( $result ) ); } # -------------------- @@ -113,25 +128,31 @@ } # -------------------- - function token_add( $p_token_value, $p_token_type = TOKEN_UNKNOWN, $p_token_owner = null ) { + function token_add( $p_token_value, $p_token_type = TOKEN_UNKNOWN, $p_user_id = null ) { $c_token_type = db_prepare_int( $p_token_type ); $c_token_value = db_prepare_string ( $p_token_value ); - if( $p_token_owner == null ) { - $c_token_owner = auth_get_current_user_id(); + if ( $p_user_id == null ) { + $c_user_id = auth_get_current_user_id(); } else { - $c_token_owner = db_prepare_int( $p_token_owner ); + $c_user_id = db_prepare_int( $p_user_id ); } + $t_tokens_table = config_get( 'mantis_tokens_table' ); # insert $query = "INSERT INTO $t_tokens_table ( type, owner, timestamp, value ) VALUES - ( $c_token_type, $c_token_owner, " . db_now(). ",'$c_token_value' )"; + ( $c_token_type, $c_user_id, " . db_now(). ",'$c_token_value' )"; db_query( $query ); return db_insert_id( $t_tokens_table ); } # -------------------- + function token_set_value_by_type( $p_token_value, $p_token_type, $p_user_id = null ) { + token_delete_by_type_owner( $p_token_type, $p_user_id ); + token_add( $p_token_value, $p_token_type, $p_user_id ); + } + # -------------------- # This method does not generate an error if the token does not exist, # e.g. if we try to delete an expired token function token_delete( $p_token_id ) { @@ -145,16 +166,52 @@ return true; } # -------------------- - function token_get_value( $p_token_id ) { + function token_get_value( $p_token_id, $p_user_id = null ) { $c_token_id = db_prepare_int( $p_token_id ); - $c_token_owner = auth_get_current_user_id(); + + if ( $p_user_id == null ) { + $c_user_id = auth_get_current_user_id(); + } else { + $c_user_id = db_prepare_int( $p_user_id ); + } + $t_tokens_table = config_get( 'mantis_tokens_table' ); + token_purge_expired(); - token_ensure_owner( $c_token_id, $c_token_owner ) ; + $query = "SELECT value FROM $t_tokens_table - WHERE id='$c_token_id'"; + WHERE id='$c_token_id' AND owner='$c_user_id'"; $result = db_query( $query ); + + if ( 0 == db_num_rows( $result ) ) { + return null; + } + + return db_result( $result ); + } + # -------------------- + function token_get_value_by_type( $p_token_type, $p_user_id = null ) { + $c_token_type = db_prepare_int( $p_token_type ); + + if ( $p_user_id == null ) { + $c_user_id = auth_get_current_user_id(); + } else { + $c_user_id = db_prepare_int( $p_user_id ); + } + + $t_tokens_table = config_get( 'mantis_tokens_table' ); + + $query = "SELECT value + FROM $t_tokens_table + WHERE owner='$c_user_id' AND type='$c_token_type'"; + + $result = db_query( $query, 1 ); + + if ( 0 == db_num_rows( $result ) ) { + return null; + } + return db_result( $result ); } # -------------------- |