Changeset 3917

Show
Ignore:
Timestamp:
09/18/08 12:11:50 (2 months ago)
Author:
hans
Message:

Redirect visitors coming to an image from ffffound to the image
HTML page.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/projects/quickhoney/src/handlers.lisp

    r3914 r3917  
    66  "List of keywords that are image keywords which can be edited through the CMS") 
    77 
    8 (defclass quickhoney-image-handler (page-handler) 
     8(defclass quickhoney-image-dependent-handler (page-handler) 
    99  () 
    1010  (:documentation "Mixin for handlers whose response only depend on 
     
    1717  presently.")) 
    1818 
    19 (defmethod handle :around ((handler quickhoney-image-handler)) 
     19(defmethod handle :around ((handler quickhoney-image-dependent-handler)) 
    2020  (let ((time (last-image-upload-timestamp))) 
    2121    (handle-if-modified-since time) 
     
    2424  (call-next-method)) 
    2525 
     26(defclass quickhoney-image-handler (image-handler) 
     27  () 
     28  (:documentation "Application dependent image handler with specific 
     29  referer based actions.")) 
     30 
     31(defmethod handle-object :before ((handler quickhoney-image-handler) (image quickhoney-image)) 
     32  (when (cl-ppcre:scan "^http://ffffound.com/image/" (hunchentoot:header-in* :referer)) 
     33    (redirect (format nil "/~(~A/~A~)/~A" 
     34                      (quickhoney-image-category image) 
     35                      (quickhoney-image-subcategory image) 
     36                      (store-image-name image))))) 
     37 
    2638(defclass random-image-handler (object-handler) 
    2739  ()) 
     
    4254                      (send-headers))))) 
    4355 
    44 (defclass json-image-info-handler (object-handler quickhoney-image-handler) 
     56(defclass json-image-info-handler (object-handler quickhoney-image-dependent-handler) 
    4557  () 
    4658  (:default-initargs :query-function #'store-image-with-name)) 
     
    7587      (image-to-json image)))) 
    7688 
    77 (defclass json-image-query-handler (object-handler quickhoney-image-handler) 
     89(defclass json-image-query-handler (object-handler quickhoney-image-dependent-handler) 
    7890  ()) 
    7991 
     
    217229       t t)))) 
    218230 
    219 (defclass json-buttons-handler (prefix-handler quickhoney-image-handler) 
     231(defclass json-buttons-handler (prefix-handler quickhoney-image-dependent-handler) 
    220232  ()) 
    221233 
  • trunk/projects/quickhoney/src/webserver.lisp

    r3905 r3917  
    3939                                        ("/json-news" json-news-handler) 
    4040                                        ("/shutdown" shutdown-handler) 
     41                                        ("/image" quickhoney-image-handler) 
    4142                                        user 
    4243                                        images