0.49 Final touches
This commit is contained in:
		
							
								
								
									
										19
									
								
								plugin.rb
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								plugin.rb
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# name: discourse-legacy_links
 | 
					# name: discourse-legacy_links
 | 
				
			||||||
# about: A plugin to handle legacy Gossamer Forums URLs
 | 
					# about: A plugin to handle legacy Gossamer Forums URLs
 | 
				
			||||||
# version: 0.48
 | 
					# version: 0.49
 | 
				
			||||||
# authors: saint@federated.computer
 | 
					# authors: saint@federated.computer
 | 
				
			||||||
# url: https://gitea.federated.computer/saint/discourse-legacy_links.git
 | 
					# url: https://gitea.federated.computer/saint/discourse-legacy_links.git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -52,10 +52,21 @@ after_initialize do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # Attempts to extract a post ID from various parts of the request
 | 
					    # Attempts to extract a post ID from various parts of the request
 | 
				
			||||||
    def extract_post_id_from_request
 | 
					    def extract_post_id_from_request
 | 
				
			||||||
 | 
					#      post_id = params[:post_id].presence ||
 | 
				
			||||||
 | 
					#                request.path.match(%r{/forum/[^/]+/P(\d+)/?})&.[](1) ||
 | 
				
			||||||
 | 
					#                request.query_string.match(/post=(\d+)/)&.[](1) ||
 | 
				
			||||||
 | 
					#                request.query_string.match(/parent_post_id=(\d+)/)&.[](1)
 | 
				
			||||||
 | 
					#      post_id = params[:post_id].presence ||
 | 
				
			||||||
 | 
					#                request.path.match(%r{/P(\d+)/?})&.  ||                      # Matches URLs like /P40796/
 | 
				
			||||||
 | 
					#                request.path.match(%r{/forum/  ||                            # Matches URLs like /forum/.../P6751045/
 | 
				
			||||||
 | 
					#                request.query_string.match(/post=(\d+)/)&.  ||               # Matches URLs with ?post= in query string
 | 
				
			||||||
 | 
					#                request.query_string.match(/parent_post_id=(\d+)/)&.  ||     # Matches URLs with ?parent_post_id= in query string
 | 
				
			||||||
 | 
					#                request.path.match(%r{/forum/.*?_P(\d+)/?})&.                # Matches URLs like /forum/..._P6751045/
 | 
				
			||||||
      post_id = params[:post_id].presence ||
 | 
					      post_id = params[:post_id].presence ||
 | 
				
			||||||
                request.path.match(%r{/forum/[^/]+/P(\d+)/?})&.[](1) ||
 | 
					                request.path.match(%r{/P(\d+)(?:/|$)})&.  ||                 # Matches URLs like /P40796/ or /P40796 (no trailing slash)
 | 
				
			||||||
                request.query_string.match(/post=(\d+)/)&.[](1) ||
 | 
					                request.path.match(%r{/forum/  ||                            # Matches URLs like /forum/.../P6751045/ or /forum/.../P6751045
 | 
				
			||||||
                request.query_string.match(/parent_post_id=(\d+)/)&.[](1)
 | 
					                request.query_string.match(/post=(\d+)/)&.  ||               # Matches URLs with ?post= in query string
 | 
				
			||||||
 | 
					                request.query_string.match(/parent_post_id=(\d+)/)&.         # Matches URLs with ?parent_post_id= in query string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      Rails.logger.info("DiscourseLegacyLinks: Extracted raw post_id: #{post_id || 'nil'}")
 | 
					      Rails.logger.info("DiscourseLegacyLinks: Extracted raw post_id: #{post_id || 'nil'}")
 | 
				
			||||||
      post_id.to_i if post_id
 | 
					      post_id.to_i if post_id
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user