! Copyright (c) 2008 Slava Pestov ! See http://factorcode.org/license.txt for BSD license. USING: accessors kernel sequences assocs io.files io.sockets namespaces db db.sqlite smtp http.server http.server.db http.server.flows http.server.sessions http.server.auth.admin http.server.auth.login http.server.auth.providers.db http.server.boilerplate http.server.templating.chloe webapps.pastebin webapps.planet webapps.todo ; IN: webapps.factor-website : test-db "resource:test.db" sqlite-db ; : factor-template ( path -- template ) "resource:extra/webapps/factor-website/" swap ".xml" 3append ; : init-factor-db ( -- ) test-db [ init-users-table init-sessions-table init-pastes-table init-annotations-table init-blog-table init-todo-table ] with-db ; : ( -- responder ) "todo" add-responder "pastebin" add-responder "planet" add-responder "user-admin" add-responder users-in-db >>users allow-registration allow-password-recovery allow-edit-profile "page" factor-template >>template test-db ; : init-factor-website ( -- ) "factorcode.org" 25 smtp-server set-global "todo@factorcode.org" lost-password-from set-global init-factor-db main-responder set-global ; : start-factor-website test-db start-expiring-sessions "planet" main-responder get responders>> at test-db start-update-task 8812 httpd ;