'')"); } ### -------------------- function page_where_id_equals( $p_page_id ) { $c_page_id = db_prepare_int( $p_page_id ); return ("(id=$c_page_id)"); } ### -------------------- function page_where_all() { return ("(1=1)"); } ### -------------------- function page_where_page_equals( $p_page ) { $c_page = db_prepare_string( $p_page ); return ("(page='$c_page')"); } ### -------------------- # $p_where is constructed by page_where* and hence does not need to be cleaned. function page_get_info ( $p_where, $p_field = null ) { $query = "SELECT *, UNIX_TIMESTAMP(last_updated) as last_updated FROM " . config_get( 'phpWN_page_table' ) . " WHERE $p_where LIMIT 1"; $result = db_query( $query ); if ( db_num_rows( $result) > 0 ) { $t_info = db_fetch_array( $result ); if ( null === $p_field ) { return $t_info; } else { #echo "$p_field\n"; var_dump($t_info); exit; return $t_info["$p_field"]; } } return false; } ### -------------------- # $p_where is constructed by page_where* and hence does not need to be cleaned. function page_get_array ( $p_where, $p_order = null ) { if ( null !== $p_order ) { $c_order = 'ORDER BY ' . db_prepare_string( $p_order ); } else { $c_order = ''; } $query = "SELECT *, UNIX_TIMESTAMP(last_updated) as last_updated FROM " . config_get( 'phpWN_page_table' ) . " WHERE $p_where $c_order"; $t_array = array(); $result = db_query( $query ); while ( $row = db_fetch_array( $result ) ) { $t_array[] = $row; } return $t_array; } ### -------------------- function page_get_id( $p_page ) { return ( page_get_info( page_where_page_equals( $p_page ), 'id' ) ); } ### -------------------- function page_valid_id( $p_page_id ) { return ( false !== $p_page_id ); } ### -------------------- function page_is_indexed( $p_page ) { return ( page_valid_id( page_get_id( $p_page ) ) ); } ### -------------------- function page_visible_notes_count( $p_page_id ) { $c_page_id = db_prepare_int( $p_page_id ); $query = "SELECT COUNT(*) FROM " . config_get( 'phpWN_note_table' ) . " WHERE page_id=$c_page_id AND visible=" . NOTE_VISIBLE_ACCEPTED; $result = db_query( $query ); return db_result( $result, 0, 0 ); } ### -------------------- function page_notes_count( $p_page_id ) { $c_page_id = db_prepare_int( $p_page_id ); $query = "SELECT COUNT(*) FROM " . config_get( 'phpWN_note_table' ) . " WHERE page_id=$c_page_id"; $result = db_query( $query ); return db_result( $result, 0, 0 ); } ### -------------------- function page_get_name( $p_page_id ) { $c_page_id = db_prepare_int( $p_page_id ); $query = "SELECT page FROM " . config_get( 'phpWN_page_table' ) . " WHERE id=$c_page_id LIMIT 1"; $result = db_query( $query ); if ( db_num_rows( $result) > 0 ) { return db_result( $result, 0, 0 ); } return false; } ### -------------------- function page_update_url( $p_page_id, $p_url ) { $t_url = page_get_info( page_where_id_equals( $p_page_id ), 'url' ); if ( $t_url === $p_url ) { return; } # @@@@ If the information is the same, then don't update/touch. $c_page_id = db_prepare_int( $p_page_id ); $c_url = db_prepare_string( $p_url ); $query = "UPDATE " . config_get( 'phpWN_page_table' ) . " SET url='$c_url' WHERE id=$c_page_id LIMIT 1"; $result = db_query( $query ); page_touch( $p_page_id ); } ### -------------------- function page_update_neighbours( $p_page_id, $p_prev, $p_next, $p_parent ) { if ( ( null === $p_prev ) && ( null === $p_next ) && ( null === $p_parent ) ) { return; } $t_page_info = page_get_info( page_where_id_equals( $p_page_id ) ); if ( false === $t_page_info ) { return; } if ( null === $p_parent ) { $t_parent_id = $t_page_info['parent_id']; } else { $t_parent_id = page_get_id( $p_parent ); if ( false === page_valid_id( $t_parent_id ) ) { $t_parent_id = 0; } } if ( null === $p_prev ) { $t_prev_id = $t_page_info['prev_id']; } else { $t_prev_id = page_get_id( $p_prev ); if ( false === page_valid_id( $t_prev_id ) ) { $t_prev_id = 0; } } if ( null === $p_next ) { $t_next_id = $t_page_info['next_id']; } else { $t_next_id = page_get_id( $p_next ); if ( false === page_valid_id( $t_next_id ) ) { $t_next_id = 0; } } # If the information is the same, then don't update/touch. if ( ( $t_parent_id == $t_page_info['parent_id'] ) && ( $t_prev_id == $t_page_info['prev_id'] ) && ( $t_next_id == $t_page_info['next_id'] ) ) { return; } $c_page_id = db_prepare_int( $p_page_id ); $query = "UPDATE " . config_get( 'phpWN_page_table' ) . " SET parent_id=$t_parent_id, prev_id=$t_prev_id, next_id=$t_next_id WHERE id=$c_page_id LIMIT 1"; $result = db_query( $query ); page_touch( $p_page_id ); } ### -------------------- # Update the last modified time stamp for the page. function page_touch( $p_page_id ) { $c_page_id = db_prepare_int( $p_page_id ); $query ='UPDATE ' . config_get( 'phpWN_page_table') . ' ' . "SET last_updated=NOW() " . "WHERE id=$c_page_id " . "LIMIT 1"; return ( false !== db_query( $query ) ); } ### -------------------- ### Allows for path navigation to choose base dir function print_dirs( $p_path, $p_php_self ) { global $g_admin_index_files; echo '
| [$file] | |
| " . link_page_action( $t_filename, 'index', $p_php_self, $t_add ) . ' ' . link_page_action( $t_id, 'unindex', $p_php_self, !$t_add ). " | $file$t_count |