| | 2 | |
|---|
| | 3 | LINKED_FILE_PATH_SHOW_PARENT_LINK = false |
|---|
| | 4 | LINKED_FILE_PATH_SHOW_CURRENT = false |
|---|
| | 5 | |
|---|
| | 6 | def linked_file_path(file) |
|---|
| | 7 | html = "" |
|---|
| | 8 | if not @server |
|---|
| | 9 | # On root level |
|---|
| | 10 | html = "root::" if LINKED_FILE_PATH_SHOW_CURRENT |
|---|
| | 11 | html += link_to(file.directory.server.name, |
|---|
| | 12 | :overwrite_params => {:page => nil, |
|---|
| | 13 | :server => file.directory.server.name, |
|---|
| | 14 | :path => nil}) |
|---|
| | 15 | html += ":" |
|---|
| | 16 | elsif @server and not @directory |
|---|
| | 17 | # On server level |
|---|
| | 18 | if LINKED_FILE_PATH_SHOW_PARENT_LINK |
|---|
| | 19 | html = link_to("root", |
|---|
| | 20 | :overwrite_params => {:page => nil, |
|---|
| | 21 | :path => nil, |
|---|
| | 22 | :server => nil}) |
|---|
| | 23 | html += "::" |
|---|
| | 24 | end |
|---|
| | 25 | if LINKED_FILE_PATH_SHOW_CURRENT |
|---|
| | 26 | html += h(@server.name) |
|---|
| | 27 | html += ":" |
|---|
| | 28 | end |
|---|
| | 29 | elsif @directory and not @directory.parent_id |
|---|
| | 30 | # On top directory level |
|---|
| | 31 | if LINKED_FILE_PATH_SHOW_PARENT_LINK |
|---|
| | 32 | html = link_to("..", |
|---|
| | 33 | :overwrite_params => {:page => nil, |
|---|
| | 34 | :path => nil}) |
|---|
| | 35 | html += ":" |
|---|
| | 36 | end |
|---|
| | 37 | else |
|---|
| | 38 | # On deeper directory level |
|---|
| | 39 | if LINKED_FILE_PATH_SHOW_PARENT_LINK |
|---|
| | 40 | html = link_to("..", |
|---|
| | 41 | :overwrite_params => {:page => nil, |
|---|
| | 42 | :path => @directory.parent.path}) |
|---|
| | 43 | end |
|---|
| | 44 | end |
|---|
| | 45 | self_and_ancestors_up_to(file.directory, @directory).reverse.each do |parent| |
|---|
| | 46 | if parent == @directory |
|---|
| | 47 | if LINKED_FILE_PATH_SHOW_CURRENT |
|---|
| | 48 | html += h(parent.name.gsub(/ /, " ")) |
|---|
| | 49 | html += "/<wbr/>" |
|---|
| | 50 | end |
|---|
| | 51 | else |
|---|
| | 52 | html += link_to(parent.name.gsub(/ /, " "), |
|---|
| | 53 | :overwrite_params => {:page => nil, |
|---|
| | 54 | :server => file.directory.server.name, |
|---|
| | 55 | :path => parent.path}) |
|---|
| | 56 | html += "/<wbr/>" |
|---|
| | 57 | end |
|---|
| | 58 | end |
|---|
| | 59 | html |
|---|
| | 60 | end |
|---|