porthos 3.0.0.beta
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +6 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +26 -0
- data/Rakefile +28 -0
- data/app/assets/images/Jcrop.gif +0 -0
- data/app/assets/images/button_grey_bg.png +0 -0
- data/app/assets/images/icons/avatar.png +0 -0
- data/app/assets/images/icons/filetypes/ai.png +0 -0
- data/app/assets/images/icons/filetypes/default.png +0 -0
- data/app/assets/images/icons/filetypes/doc.png +0 -0
- data/app/assets/images/icons/filetypes/eps.png +0 -0
- data/app/assets/images/icons/filetypes/mp3.png +0 -0
- data/app/assets/images/icons/filetypes/pdf.png +0 -0
- data/app/assets/images/icons/filetypes/psd.png +0 -0
- data/app/assets/images/icons/filetypes/swf.png +0 -0
- data/app/assets/images/icons/filetypes/wav.png +0 -0
- data/app/assets/images/icons/filetypes/zip.png +0 -0
- data/app/assets/images/layout2_bg_shadow.png +0 -0
- data/app/assets/images/layout3_bg_shadow.png +0 -0
- data/app/assets/images/ui_new.png +0 -0
- data/app/assets/images/wymeditor/icons.png +0 -0
- data/app/assets/javascripts/admin.js +7 -0
- data/app/assets/javascripts/admin/assets.js +147 -0
- data/app/assets/javascripts/admin/editor.js +2 -0
- data/app/assets/javascripts/admin/helpers.js +169 -0
- data/app/assets/javascripts/admin/items.js +267 -0
- data/app/assets/javascripts/admin/nodes.js +73 -0
- data/app/assets/javascripts/admin/settings.js +1 -0
- data/app/assets/javascripts/admin_extension.js +0 -0
- data/app/assets/javascripts/lib/ckeditor/LICENSE.html +1334 -0
- data/app/assets/javascripts/lib/ckeditor/adapters/jquery.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/ckeditor.js +141 -0
- data/app/assets/javascripts/lib/ckeditor/ckeditor_basic.js +8 -0
- data/app/assets/javascripts/lib/ckeditor/ckeditor_basic_source.js +20 -0
- data/app/assets/javascripts/lib/ckeditor/config.js +26 -0
- data/app/assets/javascripts/lib/ckeditor/contents.css +50 -0
- data/app/assets/javascripts/lib/ckeditor/images/spacer.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/lang/_languages.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/lang/_translationstatus.txt +60 -0
- data/app/assets/javascripts/lib/ckeditor/lang/en.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/lang/sv.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/about/dialogs/about.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/adobeair/plugin.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/autogrow/plugin.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/div/dialogs/div.js +8 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/find/dialogs/find.js +9 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/flash/dialogs/flash.js +9 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/flash/images/placeholder.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/button.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/form.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/radio.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/select.js +9 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/iframe/images/placeholder.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/iframedialog/plugin.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/image/dialogs/image.js +13 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/link/dialogs/anchor.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/link/dialogs/link.js +11 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/link/images/anchor.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/liststyle/dialogs/liststyle.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/pastefromword/filter/default.js +10 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/placeholder/lang/en.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/placeholder/placeholder.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/placeholder/plugin.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/scayt/dialogs/options.js +8 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_address.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_div.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_p.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/envelope.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/heart.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/kiss.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/specialchar/lang/en.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/styles/styles/default.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/table/dialogs/table.js +9 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/tableresize/plugin.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/templates/dialogs/templates.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/templates/templates/default.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/lang/en.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/lang/he.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/plugin.js +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/uicolor.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/uicolor/yui/yui.js +76 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
- data/app/assets/javascripts/lib/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/dialog.css +515 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/editor.css +1115 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/icons.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/icons_rtl.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/images/dialog_sides.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/images/mini.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/images/noimage.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/images/sprites.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/skin.js +7 -0
- data/app/assets/javascripts/lib/ckeditor/skins/kama/templates.css +65 -0
- data/app/assets/javascripts/lib/ckeditor/themes/default/theme.js +8 -0
- data/app/assets/javascripts/lib/jquery-1.6.1.min.js +18 -0
- data/app/assets/javascripts/lib/jquery-ui-1.8.13.min.js +407 -0
- data/app/assets/javascripts/lib/jquery.jcrop.min.js +246 -0
- data/app/assets/javascripts/lib/jquery.smart_autocomplete.js +519 -0
- data/app/assets/javascripts/lib/underscore.min.js +26 -0
- data/app/assets/javascripts/lib/underscore.string.min.js +8 -0
- data/app/assets/javascripts/rails.js +148 -0
- data/app/assets/stylesheets/admin.css +9 -0
- data/app/assets/stylesheets/admin_extensions.css.scss +0 -0
- data/app/assets/stylesheets/clearing.css +28 -0
- data/app/assets/stylesheets/elements.css.erb +335 -0
- data/app/assets/stylesheets/forms.css.scss +118 -0
- data/app/assets/stylesheets/jquery.jcrop.css +28 -0
- data/app/assets/stylesheets/layout.css.erb +269 -0
- data/app/assets/stylesheets/views/assets.css.erb +112 -0
- data/app/assets/stylesheets/views/nodes.css +47 -0
- data/app/assets/stylesheets/views/pages.css.scss +136 -0
- data/app/assets/stylesheets/views/sessions.css +22 -0
- data/app/assets/stylesheets/views/tags.css +15 -0
- data/app/assets/stylesheets/views/users.css +16 -0
- data/app/controllers/admin/assets_controller.rb +132 -0
- data/app/controllers/admin/content_templates_controller.rb +56 -0
- data/app/controllers/admin/data_controller.rb +93 -0
- data/app/controllers/admin/datum_templates_controller.rb +59 -0
- data/app/controllers/admin/items_controller.rb +114 -0
- data/app/controllers/admin/link_lists_controller.rb +41 -0
- data/app/controllers/admin/links_controller.rb +65 -0
- data/app/controllers/admin/nodes_controller.rb +114 -0
- data/app/controllers/admin/page_templates_controller.rb +56 -0
- data/app/controllers/admin/redirects_controller.rb +58 -0
- data/app/controllers/admin/sessions_controller.rb +27 -0
- data/app/controllers/admin/site_settings_controller.rb +58 -0
- data/app/controllers/admin/tags_controller.rb +71 -0
- data/app/controllers/admin/users_controller.rb +55 -0
- data/app/controllers/application_controller.rb +8 -0
- data/app/controllers/pages_controller.rb +115 -0
- data/app/helpers/data_helper.rb +11 -0
- data/app/helpers/link_lists_helper.rb +16 -0
- data/app/models/asset.rb +189 -0
- data/app/models/custom_page.rb +33 -0
- data/app/models/data/asset_association.rb +73 -0
- data/app/models/data/datum_collection.rb +46 -0
- data/app/models/data/field.rb +26 -0
- data/app/models/data/field_set.rb +37 -0
- data/app/models/data/link_field.rb +7 -0
- data/app/models/data/page_association.rb +26 -0
- data/app/models/data/string_field.rb +13 -0
- data/app/models/datum.rb +22 -0
- data/app/models/datum_template.rb +143 -0
- data/app/models/datum_templates/asset_association_template.rb +3 -0
- data/app/models/datum_templates/association_field_template.rb +2 -0
- data/app/models/datum_templates/datum_collection_template.rb +15 -0
- data/app/models/datum_templates/field_set_template.rb +5 -0
- data/app/models/datum_templates/field_template.rb +6 -0
- data/app/models/datum_templates/link_field_template.rb +2 -0
- data/app/models/datum_templates/page_association_template.rb +4 -0
- data/app/models/datum_templates/string_field_template.rb +4 -0
- data/app/models/file_template.rb +105 -0
- data/app/models/file_templates/field_set_file_template.rb +7 -0
- data/app/models/file_templates/page_file_template.rb +14 -0
- data/app/models/image_asset.rb +102 -0
- data/app/models/item.rb +115 -0
- data/app/models/link.rb +46 -0
- data/app/models/link_list.rb +30 -0
- data/app/models/node.rb +106 -0
- data/app/models/observers/node_observer.rb +9 -0
- data/app/models/page.rb +167 -0
- data/app/models/redirect.rb +16 -0
- data/app/models/section.rb +30 -0
- data/app/models/setting.rb +4 -0
- data/app/models/site_setting.rb +11 -0
- data/app/models/template.rb +25 -0
- data/app/models/templates/content_template.rb +101 -0
- data/app/models/templates/page_template.rb +59 -0
- data/app/models/user.rb +67 -0
- data/app/views/admin/assets/_create_callback_form.html.erb +11 -0
- data/app/views/admin/assets/_sub_nav.html.erb +45 -0
- data/app/views/admin/assets/create.html.erb +10 -0
- data/app/views/admin/assets/edit.html.erb +91 -0
- data/app/views/admin/assets/edit_cropping.html.erb +44 -0
- data/app/views/admin/assets/incomplete.html.erb +39 -0
- data/app/views/admin/assets/index.html.erb +76 -0
- data/app/views/admin/assets/new.html.erb +20 -0
- data/app/views/admin/assets/search.html.erb +60 -0
- data/app/views/admin/assets/show.html.erb +45 -0
- data/app/views/admin/content_templates/_form.html.erb +18 -0
- data/app/views/admin/content_templates/edit.html.erb +14 -0
- data/app/views/admin/content_templates/index.html.erb +36 -0
- data/app/views/admin/content_templates/new.html.erb +14 -0
- data/app/views/admin/content_templates/show.html.erb +57 -0
- data/app/views/admin/data/_asset_association.html.erb +59 -0
- data/app/views/admin/data/_asset_association_form.html.erb +21 -0
- data/app/views/admin/data/_field.html.erb +7 -0
- data/app/views/admin/data/_field_form.html.erb +27 -0
- data/app/views/admin/data/_field_set.html.erb +7 -0
- data/app/views/admin/data/_field_set_form.html.erb +14 -0
- data/app/views/admin/data/_form.html.erb +14 -0
- data/app/views/admin/data/_link_field.html.erb +9 -0
- data/app/views/admin/data/_link_field_form.html.erb +22 -0
- data/app/views/admin/data/_page_association.html.erb +3 -0
- data/app/views/admin/data/_page_association_form.html.erb +8 -0
- data/app/views/admin/data/edit.html.erb +20 -0
- data/app/views/admin/data/index.html.erb +61 -0
- data/app/views/admin/data/new.html.erb +20 -0
- data/app/views/admin/datum_templates/_asset_association_template_form.html.erb +2 -0
- data/app/views/admin/datum_templates/_datum_collection_template_form.html.erb +23 -0
- data/app/views/admin/datum_templates/_field_set_template_form.html.erb +7 -0
- data/app/views/admin/datum_templates/_field_template_form.html.erb +1 -0
- data/app/views/admin/datum_templates/_form.html.erb +25 -0
- data/app/views/admin/datum_templates/_page_association_template_form.html.erb +2 -0
- data/app/views/admin/datum_templates/_string_field_template_form.html.erb +12 -0
- data/app/views/admin/datum_templates/edit.html.erb +14 -0
- data/app/views/admin/datum_templates/new.html.erb +14 -0
- data/app/views/admin/items/_asset_association.html.erb +6 -0
- data/app/views/admin/items/_details.html.erb +95 -0
- data/app/views/admin/items/_form.html.erb +20 -0
- data/app/views/admin/items/_page_form.html.erb +27 -0
- data/app/views/admin/items/_row.html.erb +47 -0
- data/app/views/admin/items/_sub_nav.html.erb +60 -0
- data/app/views/admin/items/index.html.erb +75 -0
- data/app/views/admin/items/new.html.erb +5 -0
- data/app/views/admin/items/page.html.erb +155 -0
- data/app/views/admin/items/search.html.erb +26 -0
- data/app/views/admin/items/section.html.erb +152 -0
- data/app/views/admin/link_lists/_form.html.erb +8 -0
- data/app/views/admin/link_lists/edit.html.erb +11 -0
- data/app/views/admin/link_lists/show.html.erb +45 -0
- data/app/views/admin/links/_form.html.erb +14 -0
- data/app/views/admin/links/edit.html.erb +11 -0
- data/app/views/admin/links/new.html.erb +11 -0
- data/app/views/admin/nodes/_form.html.erb +88 -0
- data/app/views/admin/nodes/_list_of_nodes.html.erb +11 -0
- data/app/views/admin/nodes/_node.html.erb +23 -0
- data/app/views/admin/nodes/_nodes_tree.html.erb +7 -0
- data/app/views/admin/nodes/_place_node.html.erb +11 -0
- data/app/views/admin/nodes/_sub_nav.html.erb +12 -0
- data/app/views/admin/nodes/edit.html.erb +10 -0
- data/app/views/admin/nodes/index.html.erb +26 -0
- data/app/views/admin/nodes/new.html.erb +10 -0
- data/app/views/admin/nodes/place.html.erb +37 -0
- data/app/views/admin/page_templates/_form.html.erb +51 -0
- data/app/views/admin/page_templates/edit.html.erb +14 -0
- data/app/views/admin/page_templates/index.html.erb +42 -0
- data/app/views/admin/page_templates/new.html.erb +14 -0
- data/app/views/admin/page_templates/pages.html.erb +28 -0
- data/app/views/admin/page_templates/show.html.erb +64 -0
- data/app/views/admin/redirects/edit.html.erb +25 -0
- data/app/views/admin/redirects/index.html.erb +38 -0
- data/app/views/admin/redirects/new.html.erb +25 -0
- data/app/views/admin/sessions/new.html.erb +17 -0
- data/app/views/admin/sessions/token.js.erb +1 -0
- data/app/views/admin/shared/_error_messages.html.erb +7 -0
- data/app/views/admin/shared/_settings_sub_nav.html.erb +8 -0
- data/app/views/admin/site_settings/_form.html.erb +5 -0
- data/app/views/admin/site_settings/edit.html.erb +20 -0
- data/app/views/admin/site_settings/index.html.erb +45 -0
- data/app/views/admin/site_settings/new.html.erb +20 -0
- data/app/views/admin/taggables/_asset.html.erb +10 -0
- data/app/views/admin/taggables/_page.html.erb +9 -0
- data/app/views/admin/taggables/_tag_collection.html.erb +2 -0
- data/app/views/admin/tags/edit.html.erb +18 -0
- data/app/views/admin/tags/index.html.erb +34 -0
- data/app/views/admin/tags/new.html.erb +18 -0
- data/app/views/admin/tags/search.js.erb +5 -0
- data/app/views/admin/tags/show.html.erb +29 -0
- data/app/views/admin/users/_form.html.erb +22 -0
- data/app/views/admin/users/_sub_nav.html.erb +12 -0
- data/app/views/admin/users/_user.html.erb +23 -0
- data/app/views/admin/users/edit.html.erb +18 -0
- data/app/views/admin/users/index.html.erb +22 -0
- data/app/views/admin/users/new.html.erb +15 -0
- data/app/views/admin/users/search.html.erb +19 -0
- data/app/views/field_set_templates/default/_show.html.erb +6 -0
- data/app/views/layouts/admin/_account_nav.html.erb +7 -0
- data/app/views/layouts/admin/_main_nav.html.erb +8 -0
- data/app/views/layouts/admin/application.html.erb +26 -0
- data/app/views/layouts/admin/sessions.html.erb +18 -0
- data/app/views/pages/_preview.html.erb +13 -0
- data/app/views/pages/contents/content_images/_collection.html.erb +26 -0
- data/app/views/pages/contents/content_images/_content_image.html.erb +19 -0
- data/app/views/pages/contents/content_teasers/_collection.html.erb +8 -0
- data/app/views/pages/contents/content_teasers/_content_teaser.html.erb +32 -0
- data/app/views/pages/contents/content_textfields/_content_textfield.html.erb +1 -0
- data/app/views/pages/contents/content_videos/_content_video.html.erb +1 -0
- data/app/views/pages/contents/modules/date_archive/_content.html.erb +23 -0
- data/app/views/pages/contents/modules/sub_navigation/_content.html.erb +5 -0
- data/app/views/pages/templates/default/_admin_in_list.html.erb +4 -0
- data/app/views/pages/templates/default/categories.html.erb +13 -0
- data/app/views/pages/templates/default/category.html.erb +13 -0
- data/app/views/pages/templates/default/default_renderer.rb +115 -0
- data/app/views/pages/templates/default/index.html.erb +13 -0
- data/app/views/pages/templates/default/index.rss.builder +19 -0
- data/app/views/pages/templates/default/search.html.erb +24 -0
- data/app/views/pages/templates/default/show.html.erb +6 -0
- data/app/views/shared/404.html.erb +1 -0
- data/config/initializers/locale.rb +1 -0
- data/config/initializers/mime_types.rb +13 -0
- data/config/initializers/overrides.rb +34 -0
- data/config/initializers/tanker.rb +1 -0
- data/config/locales/sv-SE.yml +543 -0
- data/config/routes.rb +97 -0
- data/lib/generators/porthos/USAGE +3 -0
- data/lib/generators/porthos/porthos_generator.rb +35 -0
- data/lib/generators/porthos/templates/mongo.yml +15 -0
- data/lib/porthos.rb +53 -0
- data/lib/porthos/active_record/restrictions.rb +36 -0
- data/lib/porthos/active_record/settingable.rb +49 -0
- data/lib/porthos/admin.rb +25 -0
- data/lib/porthos/authentication.rb +72 -0
- data/lib/porthos/config.rb +18 -0
- data/lib/porthos/datum_methods.rb +53 -0
- data/lib/porthos/engine.rb +56 -0
- data/lib/porthos/helpers/application_helper.rb +140 -0
- data/lib/porthos/mongo_mapper/acts_as_uri.rb +59 -0
- data/lib/porthos/mongo_mapper/callbacks.rb +13 -0
- data/lib/porthos/mongo_mapper/extensions.rb +58 -0
- data/lib/porthos/mongo_mapper/instructable.rb +36 -0
- data/lib/porthos/mongo_mapper/observer.rb +34 -0
- data/lib/porthos/mongo_mapper/taggable.rb +136 -0
- data/lib/porthos/page_renderer.rb +66 -0
- data/lib/porthos/public.rb +56 -0
- data/lib/porthos/redirects.rb +23 -0
- data/lib/porthos/routing.rb +256 -0
- data/lib/porthos/s3_storage.rb +61 -0
- data/lib/porthos/tags_autocomplete_app.rb +32 -0
- data/lib/porthos/tanking.rb +9 -0
- data/lib/porthos/test_helpers/assets_test_helper.rb +72 -0
- data/lib/porthos/test_helpers/pages_test_helper.rb +9 -0
- data/lib/porthos/url_resolver.rb +108 -0
- data/lib/porthos/validators.rb +14 -0
- data/lib/porthos/version.rb +3 -0
- data/lib/tasks/porthos_tasks.rake +217 -0
- metadata +774 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
// Underscore.js 1.1.5
|
2
|
+
// (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.
|
3
|
+
// Underscore is freely distributable under the MIT license.
|
4
|
+
// Portions of Underscore are inspired or borrowed from Prototype,
|
5
|
+
// Oliver Steele's Functional, and John Resig's Micro-Templating.
|
6
|
+
// For all details and documentation:
|
7
|
+
// http://documentcloud.github.com/underscore
|
8
|
+
(function(){var q=this,D=q._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,E=k.unshift,F=o.toString,m=o.hasOwnProperty,s=k.forEach,t=k.map,u=k.reduce,v=k.reduceRight,w=k.filter,x=k.every,y=k.some,p=k.indexOf,z=k.lastIndexOf;o=Array.isArray;var G=Object.keys,A=Function.prototype.bind,c=function(a){return new l(a)};if(typeof module!=="undefined"&&module.exports){module.exports=c;c._=c}else q._=c;c.VERSION="1.1.5";var j=c.each=c.forEach=function(a,b,d){if(a!=null)if(s&&a.forEach===s)a.forEach(b,
|
9
|
+
d);else if(c.isNumber(a.length))for(var e=0,f=a.length;e<f;e++){if(b.call(d,a[e],e,a)===n)break}else for(e in a)if(m.call(a,e))if(b.call(d,a[e],e,a)===n)break};c.map=function(a,b,d){var e=[];if(a==null)return e;if(t&&a.map===t)return a.map(b,d);j(a,function(f,g,h){e[e.length]=b.call(d,f,g,h)});return e};c.reduce=c.foldl=c.inject=function(a,b,d,e){var f=d!==void 0;if(a==null)a=[];if(u&&a.reduce===u){if(e)b=c.bind(b,e);return f?a.reduce(b,d):a.reduce(b)}j(a,function(g,h,H){if(!f&&h===0){d=g;f=true}else d=
|
10
|
+
b.call(e,d,g,h,H)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};c.reduceRight=c.foldr=function(a,b,d,e){if(a==null)a=[];if(v&&a.reduceRight===v){if(e)b=c.bind(b,e);return d!==void 0?a.reduceRight(b,d):a.reduceRight(b)}a=(c.isArray(a)?a.slice():c.toArray(a)).reverse();return c.reduce(a,b,d,e)};c.find=c.detect=function(a,b,d){var e;B(a,function(f,g,h){if(b.call(d,f,g,h)){e=f;return true}});return e};c.filter=c.select=function(a,b,d){var e=[];if(a==null)return e;
|
11
|
+
if(w&&a.filter===w)return a.filter(b,d);j(a,function(f,g,h){if(b.call(d,f,g,h))e[e.length]=f});return e};c.reject=function(a,b,d){var e=[];if(a==null)return e;j(a,function(f,g,h){b.call(d,f,g,h)||(e[e.length]=f)});return e};c.every=c.all=function(a,b,d){b=b||c.identity;var e=true;if(a==null)return e;if(x&&a.every===x)return a.every(b,d);j(a,function(f,g,h){if(!(e=e&&b.call(d,f,g,h)))return n});return e};var B=c.some=c.any=function(a,b,d){b=b||c.identity;var e=false;if(a==null)return e;if(y&&a.some===
|
12
|
+
y)return a.some(b,d);j(a,function(f,g,h){if(e=b.call(d,f,g,h))return n});return e};c.include=c.contains=function(a,b){var d=false;if(a==null)return d;if(p&&a.indexOf===p)return a.indexOf(b)!=-1;B(a,function(e){if(d=e===b)return true});return d};c.invoke=function(a,b){var d=i.call(arguments,2);return c.map(a,function(e){return(b?e[b]:e).apply(e,d)})};c.pluck=function(a,b){return c.map(a,function(d){return d[b]})};c.max=function(a,b,d){if(!b&&c.isArray(a))return Math.max.apply(Math,a);var e={computed:-Infinity};
|
13
|
+
j(a,function(f,g,h){g=b?b.call(d,f,g,h):f;g>=e.computed&&(e={value:f,computed:g})});return e.value};c.min=function(a,b,d){if(!b&&c.isArray(a))return Math.min.apply(Math,a);var e={computed:Infinity};j(a,function(f,g,h){g=b?b.call(d,f,g,h):f;g<e.computed&&(e={value:f,computed:g})});return e.value};c.sortBy=function(a,b,d){return c.pluck(c.map(a,function(e,f,g){return{value:e,criteria:b.call(d,e,f,g)}}).sort(function(e,f){var g=e.criteria,h=f.criteria;return g<h?-1:g>h?1:0}),"value")};c.sortedIndex=
|
14
|
+
function(a,b,d){d=d||c.identity;for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(b)?e=g+1:f=g}return e};c.toArray=function(a){if(!a)return[];if(a.toArray)return a.toArray();if(c.isArray(a))return a;if(c.isArguments(a))return i.call(a);return c.values(a)};c.size=function(a){return c.toArray(a).length};c.first=c.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};c.rest=c.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};c.last=function(a){return a[a.length-1]};c.compact=function(a){return c.filter(a,
|
15
|
+
function(b){return!!b})};c.flatten=function(a){return c.reduce(a,function(b,d){if(c.isArray(d))return b.concat(c.flatten(d));b[b.length]=d;return b},[])};c.without=function(a){var b=i.call(arguments,1);return c.filter(a,function(d){return!c.include(b,d)})};c.uniq=c.unique=function(a,b){return c.reduce(a,function(d,e,f){if(0==f||(b===true?c.last(d)!=e:!c.include(d,e)))d[d.length]=e;return d},[])};c.intersect=function(a){var b=i.call(arguments,1);return c.filter(c.uniq(a),function(d){return c.every(b,
|
16
|
+
function(e){return c.indexOf(e,d)>=0})})};c.zip=function(){for(var a=i.call(arguments),b=c.max(c.pluck(a,"length")),d=Array(b),e=0;e<b;e++)d[e]=c.pluck(a,""+e);return d};c.indexOf=function(a,b,d){if(a==null)return-1;var e;if(d){d=c.sortedIndex(a,b);return a[d]===b?d:-1}if(p&&a.indexOf===p)return a.indexOf(b);d=0;for(e=a.length;d<e;d++)if(a[d]===b)return d;return-1};c.lastIndexOf=function(a,b){if(a==null)return-1;if(z&&a.lastIndexOf===z)return a.lastIndexOf(b);for(var d=a.length;d--;)if(a[d]===b)return d;
|
17
|
+
return-1};c.range=function(a,b,d){if(arguments.length<=1){b=a||0;a=0}d=arguments[2]||1;for(var e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;){g[f++]=a;a+=d}return g};c.bind=function(a,b){if(A&&a.bind===A)return a.bind.apply(a,i.call(arguments,1));var d=i.call(arguments,2);return function(){return a.apply(b,d.concat(i.call(arguments)))}};c.bindAll=function(a){var b=i.call(arguments,1);if(b.length==0)b=c.functions(a);j(b,function(d){a[d]=c.bind(a[d],a)});return a};c.memoize=function(a,b){var d=
|
18
|
+
{};b=b||c.identity;return function(){var e=b.apply(this,arguments);return m.call(d,e)?d[e]:d[e]=a.apply(this,arguments)}};c.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};c.defer=function(a){return c.delay.apply(c,[a,1].concat(i.call(arguments,1)))};var C=function(a,b,d){var e;return function(){var f=this,g=arguments,h=function(){e=null;a.apply(f,g)};d&&clearTimeout(e);if(d||!e)e=setTimeout(h,b)}};c.throttle=function(a,b){return C(a,b,false)};c.debounce=
|
19
|
+
function(a,b){return C(a,b,true)};c.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};c.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments));return b.apply(this,d)}};c.compose=function(){var a=i.call(arguments);return function(){for(var b=i.call(arguments),d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}};c.keys=G||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[],d;for(d in a)if(m.call(a,
|
20
|
+
d))b[b.length]=d;return b};c.values=function(a){return c.map(a,c.identity)};c.functions=c.methods=function(a){return c.filter(c.keys(a),function(b){return c.isFunction(a[b])}).sort()};c.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};c.defaults=function(a){j(i.call(arguments,1),function(b){for(var d in b)if(a[d]==null)a[d]=b[d]});return a};c.clone=function(a){return c.isArray(a)?a.slice():c.extend({},a)};c.tap=function(a,b){b(a);return a};c.isEqual=function(a,
|
21
|
+
b){if(a===b)return true;var d=typeof a;if(d!=typeof b)return false;if(a==b)return true;if(!a&&b||a&&!b)return false;if(a._chain)a=a._wrapped;if(b._chain)b=b._wrapped;if(a.isEqual)return a.isEqual(b);if(c.isDate(a)&&c.isDate(b))return a.getTime()===b.getTime();if(c.isNaN(a)&&c.isNaN(b))return false;if(c.isRegExp(a)&&c.isRegExp(b))return a.source===b.source&&a.global===b.global&&a.ignoreCase===b.ignoreCase&&a.multiline===b.multiline;if(d!=="object")return false;if(a.length&&a.length!==b.length)return false;
|
22
|
+
d=c.keys(a);var e=c.keys(b);if(d.length!=e.length)return false;for(var f in a)if(!(f in b)||!c.isEqual(a[f],b[f]))return false;return true};c.isEmpty=function(a){if(c.isArray(a)||c.isString(a))return a.length===0;for(var b in a)if(m.call(a,b))return false;return true};c.isElement=function(a){return!!(a&&a.nodeType==1)};c.isArray=o||function(a){return F.call(a)==="[object Array]"};c.isArguments=function(a){return!!(a&&m.call(a,"callee"))};c.isFunction=function(a){return!!(a&&a.constructor&&a.call&&
|
23
|
+
a.apply)};c.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)};c.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)};c.isNaN=function(a){return a!==a};c.isBoolean=function(a){return a===true||a===false};c.isDate=function(a){return!!(a&&a.getTimezoneOffset&&a.setUTCFullYear)};c.isRegExp=function(a){return!!(a&&a.test&&a.exec&&(a.ignoreCase||a.ignoreCase===false))};c.isNull=function(a){return a===null};c.isUndefined=function(a){return a===void 0};c.noConflict=function(){q._=
|
24
|
+
D;return this};c.identity=function(a){return a};c.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};c.mixin=function(a){j(c.functions(a),function(b){I(b,c[b]=a[b])})};var J=0;c.uniqueId=function(a){var b=J++;return a?a+b:b};c.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g};c.template=function(a,b){var d=c.templateSettings;d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.interpolate,
|
25
|
+
function(e,f){return"',"+f.replace(/\\'/g,"'")+",'"}).replace(d.evaluate||null,function(e,f){return"');"+f.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');";d=new Function("obj",d);return b?d(b):d};var l=function(a){this._wrapped=a};c.prototype=l.prototype;var r=function(a,b){return b?c(a).chain():a},I=function(a,b){l.prototype[a]=function(){var d=i.call(arguments);E.call(d,this._wrapped);return r(b.apply(c,
|
26
|
+
d),this._chain)}};c.mixin(c);j(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=k[a];l.prototype[a]=function(){b.apply(this._wrapped,arguments);return r(this._wrapped,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];l.prototype[a]=function(){return r(b.apply(this._wrapped,arguments),this._chain)}});l.prototype.chain=function(){this._chain=true;return this};l.prototype.value=function(){return this._wrapped}})();
|
@@ -0,0 +1,8 @@
|
|
1
|
+
(function(){function j(b){if(b)return e.escapeRegExp(b);return"\\s"}var k=String.prototype.trim,e={isBlank:function(b){return!!b.match(/^\s*$/)},capitalize:function(b){return b.charAt(0).toUpperCase()+b.substring(1).toLowerCase()},chop:function(b,a){a=a||b.length;for(var c=[],f=0;f<b.length;){c.push(b.slice(f,f+a));f+=a}return c},clean:function(b){return e.strip(b.replace(/\s+/g," "))},isContains:function(b,a){return b.indexOf(a)!==-1},count:function(b,a){for(var c=0,f,d=0;d<b.length;){f=b.indexOf(a,
|
2
|
+
d);f>=0&&c++;d=d+(f>=0?f:0)+a.length}return c},escapeHTML:function(b){return String(b||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},unescapeHTML:function(b){return String(b||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},escapeRegExp:function(b){return String(b||"").replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},insert:function(b,a,c){b=b.split("");b.splice(a,0,c);return b.join("")},join:function(b){b=String(b);for(var a="",c=1;c<arguments.length;c+=1){a+=
|
3
|
+
String(arguments[c]);if(c!==arguments.length-1)a+=b}return a},reverse:function(b){return Array.prototype.reverse.apply(b.split("")).join("")},splice:function(b,a,c,f){b=b.split("");b.splice(a,c,f);return b.join("")},isStartsWith:function(b,a){return b.length>=a.length&&b.substring(0,a.length)===a},isEndsWith:function(b,a){return b.length>=a.length&&b.substring(b.length-a.length)===a},succ:function(b){var a=b.split("");a.splice(b.length-1,1,String.fromCharCode(b.charCodeAt(b.length-1)+1));return a.join("")},
|
4
|
+
titleize:function(b){b=b.split(" ");for(var a,c=0;c<b.length;c++){a=b[c].split("");if(typeof a[0]!=="undefined")a[0]=a[0].toUpperCase();c+1===b.length?b[c]=a.join(""):b[c]=a.join("")+" "}return b.join("")},trim:function(b,a){if(!a&&k)return k.call(b);a=j(a);return b.replace(RegExp("^["+a+"]+|["+a+"]+$","g"),"")},ltrim:function(b,a){a=j(a);return b.replace(RegExp("^["+a+"]+","g"),"")},rtrim:function(b,a){a=j(a);return b.replace(RegExp("["+a+"]+$","g"),"")},truncate:function(b,a,c){c=c||"...";return b.slice(0,
|
5
|
+
a)+c},sprintf:function(){for(var b=0,a,c=arguments[b++],f=[],d,g,h;c;){if(d=/^[^\x25]+/.exec(c))f.push(d[0]);else if(d=/^\x25{2}/.exec(c))f.push("%");else if(d=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(c)){if((a=arguments[d[1]||b++])==null||a==undefined)throw"Too few arguments.";if(/[^s]/.test(d[7])&&typeof a!="number")throw"Expecting number but found "+typeof a;switch(d[7]){case "b":a=a.toString(2);break;case "c":a=String.fromCharCode(a);break;case "d":a=parseInt(a);
|
6
|
+
break;case "e":a=d[6]?a.toExponential(d[6]):a.toExponential();break;case "f":a=d[6]?parseFloat(a).toFixed(d[6]):parseFloat(a);break;case "o":a=a.toString(8);break;case "s":a=(a=String(a))&&d[6]?a.substring(0,d[6]):a;break;case "u":a=Math.abs(a);break;case "x":a=a.toString(16);break;case "X":a=a.toString(16).toUpperCase()}a=/[def]/.test(d[7])&&d[2]&&a>=0?"+"+a:a;g=d[3]?d[3]=="0"?"0":d[3].charAt(1):" ";h=d[5]-String(a).length-0;if(d[5]){g=g;h=h;for(var l=[];h>0;l[--h]=g);g=l.join("")}else g="";g=g;
|
7
|
+
f.push(""+(d[4]?a+g:g+a))}else throw"Huh ?!";c=c.substring(d[0].length)}return f.join("")}};e.strip=e.trim;e.lstrip=e.ltrim;e.rstrip=e.rtrim;e.isIncludes=e.isContains;var i=function(b,a){e[a]=function(){typeof console!="undefined"&&typeof console.log!="undefined"&&console.log('Deprication warning: use "'+b+'" instead "'+a+'". "'+a+'" will be removed after "undescore.string" 1.1');return e[b].apply(e,arguments)}};i("isStartsWith","startsWith");i("isEndsWith","endsWith");i("isContains","contains");
|
8
|
+
i("isBlank","blank");i("isIncludes","includes");if(typeof window==="undefined"&&typeof module!=="undefined")module.exports=e;else if(typeof this._!=="undefined")this._.mixin(e);else this._=e})();
|
@@ -0,0 +1,148 @@
|
|
1
|
+
/**
|
2
|
+
* Unobtrusive scripting adapter for jQuery
|
3
|
+
*
|
4
|
+
* Requires jQuery 1.4.3 or later.
|
5
|
+
* https://github.com/rails/jquery-ujs
|
6
|
+
*/
|
7
|
+
|
8
|
+
(function($) {
|
9
|
+
// Triggers an event on an element and returns the event result
|
10
|
+
function fire(obj, name, data) {
|
11
|
+
var event = new $.Event(name);
|
12
|
+
obj.trigger(event, data);
|
13
|
+
return event.result !== false;
|
14
|
+
}
|
15
|
+
|
16
|
+
// Submits "remote" forms and links with ajax
|
17
|
+
function handleRemote(element) {
|
18
|
+
var method, url, data,
|
19
|
+
dataType = element.attr('data-type') || ($.ajaxSettings && $.ajaxSettings.dataType);
|
20
|
+
|
21
|
+
if (element.is('form')) {
|
22
|
+
method = element.attr('method');
|
23
|
+
url = element.attr('action');
|
24
|
+
data = element.serializeArray();
|
25
|
+
// memoized value from clicked submit button
|
26
|
+
var button = element.data('ujs:submit-button');
|
27
|
+
if (button) {
|
28
|
+
data.push(button);
|
29
|
+
element.data('ujs:submit-button', null);
|
30
|
+
}
|
31
|
+
} else {
|
32
|
+
method = element.attr('data-method');
|
33
|
+
url = element.attr('href');
|
34
|
+
data = null;
|
35
|
+
}
|
36
|
+
|
37
|
+
$.ajax({
|
38
|
+
url: url, type: method || 'GET', data: data, dataType: dataType,
|
39
|
+
// stopping the "ajax:beforeSend" event will cancel the ajax request
|
40
|
+
beforeSend: function(xhr, settings) {
|
41
|
+
if (settings.dataType === undefined) {
|
42
|
+
xhr.setRequestHeader('accept', '*/*;q=0.5, ' + settings.accepts.script);
|
43
|
+
}
|
44
|
+
return fire(element, 'ajax:beforeSend', [xhr, settings]);
|
45
|
+
},
|
46
|
+
success: function(data, status, xhr) {
|
47
|
+
element.trigger('ajax:success', [data, status, xhr]);
|
48
|
+
},
|
49
|
+
complete: function(xhr, status) {
|
50
|
+
element.trigger('ajax:complete', [xhr, status]);
|
51
|
+
},
|
52
|
+
error: function(xhr, status, error) {
|
53
|
+
element.trigger('ajax:error', [xhr, status, error]);
|
54
|
+
}
|
55
|
+
});
|
56
|
+
}
|
57
|
+
|
58
|
+
// Handles "data-method" on links such as:
|
59
|
+
// <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
|
60
|
+
function handleMethod(link) {
|
61
|
+
var href = link.attr('href'),
|
62
|
+
method = link.attr('data-method'),
|
63
|
+
csrf_token = $('meta[name=csrf-token]').attr('content'),
|
64
|
+
csrf_param = $('meta[name=csrf-param]').attr('content'),
|
65
|
+
form = $('<form method="post" action="' + href + '"></form>'),
|
66
|
+
metadata_input = '<input name="_method" value="' + method + '" type="hidden" />';
|
67
|
+
|
68
|
+
if (csrf_param !== undefined && csrf_token !== undefined) {
|
69
|
+
metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />';
|
70
|
+
}
|
71
|
+
|
72
|
+
form.hide().append(metadata_input).appendTo('body');
|
73
|
+
form.submit();
|
74
|
+
}
|
75
|
+
|
76
|
+
function disableFormElements(form) {
|
77
|
+
form.find('input[data-disable-with]').each(function() {
|
78
|
+
var input = $(this);
|
79
|
+
input.data('ujs:enable-with', input.val())
|
80
|
+
.val(input.attr('data-disable-with'))
|
81
|
+
.attr('disabled', 'disabled');
|
82
|
+
});
|
83
|
+
}
|
84
|
+
|
85
|
+
function enableFormElements(form) {
|
86
|
+
form.find('input[data-disable-with]').each(function() {
|
87
|
+
var input = $(this);
|
88
|
+
input.val(input.data('ujs:enable-with')).removeAttr('disabled');
|
89
|
+
});
|
90
|
+
}
|
91
|
+
|
92
|
+
function allowAction(element) {
|
93
|
+
var message = element.attr('data-confirm');
|
94
|
+
return !message || (fire(element, 'confirm') && confirm(message));
|
95
|
+
}
|
96
|
+
|
97
|
+
function requiredValuesMissing(form) {
|
98
|
+
var missing = false;
|
99
|
+
form.find('input[name][required]').each(function() {
|
100
|
+
if (!$(this).val()) missing = true;
|
101
|
+
});
|
102
|
+
return missing;
|
103
|
+
}
|
104
|
+
|
105
|
+
$('a[data-confirm], a[data-method], a[data-remote]').live('click.rails', function(e) {
|
106
|
+
var link = $(this);
|
107
|
+
if (!allowAction(link)) return false;
|
108
|
+
|
109
|
+
if (link.attr('data-remote') != undefined) {
|
110
|
+
handleRemote(link);
|
111
|
+
return false;
|
112
|
+
} else if (link.attr('data-method')) {
|
113
|
+
handleMethod(link);
|
114
|
+
return false;
|
115
|
+
}
|
116
|
+
});
|
117
|
+
|
118
|
+
$('form').live('submit.rails', function(e) {
|
119
|
+
var form = $(this), remote = form.attr('data-remote') != undefined;
|
120
|
+
if (!allowAction(form)) return false;
|
121
|
+
|
122
|
+
// skip other logic when required values are missing
|
123
|
+
if (requiredValuesMissing(form)) return !remote;
|
124
|
+
|
125
|
+
if (remote) {
|
126
|
+
handleRemote(form);
|
127
|
+
return false;
|
128
|
+
} else {
|
129
|
+
disableFormElements(form);
|
130
|
+
}
|
131
|
+
});
|
132
|
+
|
133
|
+
$('form input[type=submit], form button[type=submit], form button:not([type])').live('click.rails', function() {
|
134
|
+
var button = $(this);
|
135
|
+
if (!allowAction(button)) return false;
|
136
|
+
// register the pressed submit button
|
137
|
+
var name = button.attr('name'), data = name ? {name:name, value:button.val()} : null;
|
138
|
+
button.closest('form').data('ujs:submit-button', data);
|
139
|
+
});
|
140
|
+
|
141
|
+
$('form').live('ajax:beforeSend.rails', function(event) {
|
142
|
+
if (this == event.target) disableFormElements($(this));
|
143
|
+
});
|
144
|
+
|
145
|
+
$('form').live('ajax:complete.rails', function(event) {
|
146
|
+
if (this == event.target) enableFormElements($(this));
|
147
|
+
});
|
148
|
+
})( jQuery );
|
File without changes
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#nav:after,
|
2
|
+
#main_nav:after,
|
3
|
+
#wrap:after,
|
4
|
+
#workspace .groups:after,
|
5
|
+
.items li:after,
|
6
|
+
#assets .items .inner:after,
|
7
|
+
.add:after,
|
8
|
+
#uploader li:after,
|
9
|
+
#uploader .totals:after,
|
10
|
+
#workspace .tools:after,
|
11
|
+
#workspace .tools .add:after,
|
12
|
+
.theme:after,
|
13
|
+
.batch_edit .asset:after,
|
14
|
+
#asset_usages:after,
|
15
|
+
#asset_usages div:after,
|
16
|
+
#tags_view .taggable:after,
|
17
|
+
.page_content:after,
|
18
|
+
.page_content .content:after,
|
19
|
+
.contents li.content:after,
|
20
|
+
#content.datums .datum:after,
|
21
|
+
#crop:after,
|
22
|
+
.asset_association_form:after {
|
23
|
+
content:".";
|
24
|
+
display:block;
|
25
|
+
height:0;
|
26
|
+
line-height:0;
|
27
|
+
clear:both;
|
28
|
+
visibility:hidden; }
|
@@ -0,0 +1,335 @@
|
|
1
|
+
html, body, form, fieldset {
|
2
|
+
margin:0;
|
3
|
+
padding:0;
|
4
|
+
font:100%/120% Helvetica, Arial, Verdana, sans-serif; }
|
5
|
+
h1, h2, h3, h4, h5, h6, p, pre,
|
6
|
+
blockquote, ul, ol, dl, address {
|
7
|
+
margin:0;
|
8
|
+
padding:0; }
|
9
|
+
li, dd, blockquote { margin-left:2em; }
|
10
|
+
fieldset { border:none; }
|
11
|
+
input, select, textarea { font-size:100%; }
|
12
|
+
body {
|
13
|
+
font-size:75%;
|
14
|
+
line-height:1.336;
|
15
|
+
color:#444;
|
16
|
+
background:#fff; }
|
17
|
+
html>body { font-size:14px; }
|
18
|
+
h1 {
|
19
|
+
margin:0;
|
20
|
+
font-size:18px;
|
21
|
+
line-height:1;
|
22
|
+
color:#000; }
|
23
|
+
h2 {
|
24
|
+
font-weight:normal;
|
25
|
+
font-size:18px;
|
26
|
+
color:#000; }
|
27
|
+
a {
|
28
|
+
color:#0093d0;
|
29
|
+
text-decoration:none; }
|
30
|
+
a:hover {color:#005e96;}
|
31
|
+
a img { border:none; }
|
32
|
+
a:focus { outline:none }
|
33
|
+
p {}
|
34
|
+
|
35
|
+
.tablewrap {margin:0 -20px 10px -20px;}
|
36
|
+
|
37
|
+
table {
|
38
|
+
width:100%;
|
39
|
+
border-collapse:collapse; }
|
40
|
+
th,
|
41
|
+
td {
|
42
|
+
vertical-align:top;
|
43
|
+
text-align:left;
|
44
|
+
padding:10px 20px; }
|
45
|
+
th {
|
46
|
+
font-size:.857142857em;
|
47
|
+
color:#000; }
|
48
|
+
td,
|
49
|
+
tbody th {
|
50
|
+
border-top:1px solid #f2f2f2;
|
51
|
+
border-bottom:1px solid #f2f2f2;
|
52
|
+
font-size:13px; }
|
53
|
+
tr .num { text-align:right; }
|
54
|
+
th,
|
55
|
+
tr .num,
|
56
|
+
tr .date { white-space:nowrap; }
|
57
|
+
|
58
|
+
strong {
|
59
|
+
font-weight:bold;
|
60
|
+
color:#000; }
|
61
|
+
|
62
|
+
code {font-size:12px;}
|
63
|
+
|
64
|
+
|
65
|
+
.drag_handle {
|
66
|
+
display:block;
|
67
|
+
cursor:move;
|
68
|
+
height:25px;
|
69
|
+
background:transparent url(<%= asset_path("ui_new.png") %>) 0 -792px no-repeat; }
|
70
|
+
|
71
|
+
.pagination {
|
72
|
+
text-align:center;
|
73
|
+
padding:1em .4em 1em 0;}
|
74
|
+
.pagination a,
|
75
|
+
.pagination span.current {
|
76
|
+
padding:.4em .75em;
|
77
|
+
border:1px solid #eee; }
|
78
|
+
.pagination a:hover,
|
79
|
+
.pagination span.current {
|
80
|
+
color:#000;
|
81
|
+
background:#eee;
|
82
|
+
border:1px solid #ddd; }
|
83
|
+
.pagination span.current {font-weight:bold;}
|
84
|
+
|
85
|
+
.flash {
|
86
|
+
margin:0;
|
87
|
+
padding:12px 40px 9px 65px;
|
88
|
+
border-top:1px solid #9e9;
|
89
|
+
border-bottom:1px solid #9e9;
|
90
|
+
font-size:0.9166em;
|
91
|
+
color: #333;
|
92
|
+
font-size:1.1667em;
|
93
|
+
color:#390;
|
94
|
+
background: #cfc url(<%= asset_path("ui_new.png") %>) 40px -889px no-repeat; }
|
95
|
+
.flash.error {
|
96
|
+
color:#f60;
|
97
|
+
border-color:#ffdc92;
|
98
|
+
background:#ffedae url(<%= asset_path("ui_new.png") %>) 40px -948px no-repeat; }
|
99
|
+
|
100
|
+
.blank_slate {
|
101
|
+
font-size:36px; }
|
102
|
+
.blank_slate p {margin:0;}
|
103
|
+
.blank_slate span {
|
104
|
+
padding:.1em 0;
|
105
|
+
font-weight:bold;
|
106
|
+
color:#000;
|
107
|
+
background:#ff0;}
|
108
|
+
|
109
|
+
.add {}
|
110
|
+
.add .label {
|
111
|
+
display:inline-block;
|
112
|
+
margin-right:.5em;
|
113
|
+
padding-top:7px; }
|
114
|
+
.add .new {
|
115
|
+
display:inline-block;
|
116
|
+
margin:0 .5em .5em 0;
|
117
|
+
padding:6px 10px 5px 10px;
|
118
|
+
font-size:12px;
|
119
|
+
color:rgba(0,0,0,.85);
|
120
|
+
background:rgb(240,240,240) url(<%= asset_path("button_grey_bg.png") %>) 0 0 repeat-x;
|
121
|
+
border:1px solid rgb(215,215,215);
|
122
|
+
text-shadow:1px 1px 1px rgb(255,255,255);
|
123
|
+
-webkit-border-radius:5px;
|
124
|
+
-moz-border-radius:5px;
|
125
|
+
border-radius:5px;
|
126
|
+
font-weight:bold; }
|
127
|
+
.add .new:active {
|
128
|
+
background:rgb(250,250,250);
|
129
|
+
color:rgba(0,0,0,.95);}
|
130
|
+
.add .new:hover {
|
131
|
+
cursor:pointer;
|
132
|
+
border-color:rgb(180,180,180);}
|
133
|
+
|
134
|
+
.items {}
|
135
|
+
.items {
|
136
|
+
list-style:none;
|
137
|
+
margin:0; }
|
138
|
+
.items li {
|
139
|
+
margin:0 0 1em 0;
|
140
|
+
padding:.5em 0 .5em 0; }
|
141
|
+
.items.thumbnails li {padding-left:115px;}
|
142
|
+
.items .icon {
|
143
|
+
width: 100px;
|
144
|
+
height: 100px;
|
145
|
+
margin-left: -115px;
|
146
|
+
float: left;
|
147
|
+
background: url(<%= asset_path("icons/filetypes/default.png") %>); }
|
148
|
+
.items.thumbnails img {
|
149
|
+
float:left;
|
150
|
+
margin-left:-115px;
|
151
|
+
border:1px solid #ccc; }
|
152
|
+
.items .title {
|
153
|
+
font-size:15px;
|
154
|
+
font-weight:bold;
|
155
|
+
color:#000;
|
156
|
+
margin:.5em 0 0 0; }
|
157
|
+
.items .title a {color:#000;text-decoration:none;}
|
158
|
+
.items .title a:hover {text-decoration:underline;}
|
159
|
+
.items .description {
|
160
|
+
font-size:13px; }
|
161
|
+
.items .description.blank a {color:#999;text-decoration:none;}
|
162
|
+
.items .description.blank a:hover {text-decoration:underline;color:#000;}
|
163
|
+
.items .tags,
|
164
|
+
.items .meta,
|
165
|
+
.items .actions {
|
166
|
+
display:block;
|
167
|
+
font-size:12px;
|
168
|
+
color:#999; }
|
169
|
+
.items .actions {display:inline;}
|
170
|
+
.items .created_at {display:block;}
|
171
|
+
.items .edit {
|
172
|
+
display:block;
|
173
|
+
font-size:12px; }
|
174
|
+
.items .edit a {
|
175
|
+
margin-right:.5em; }
|
176
|
+
.items .uri {
|
177
|
+
color:#999;
|
178
|
+
display:block;
|
179
|
+
font-size:12px; }
|
180
|
+
.items li.over .new {border-color:rgb(180,180,180);}
|
181
|
+
|
182
|
+
ul.nav,
|
183
|
+
ul.tags,
|
184
|
+
ul.filter {
|
185
|
+
list-style:none;
|
186
|
+
margin:0; }
|
187
|
+
ul.nav li,
|
188
|
+
ul.tags li,
|
189
|
+
ul.tags ul,
|
190
|
+
ul.filter li {margin:0;}
|
191
|
+
|
192
|
+
ul.nav li.current a,
|
193
|
+
ul.filter li.current a,
|
194
|
+
ul.tags li a.current {
|
195
|
+
background:#0093d0;
|
196
|
+
color:#fff; }
|
197
|
+
ul.filter li {margin-bottom:.5em;}
|
198
|
+
|
199
|
+
|
200
|
+
ul.nav {}
|
201
|
+
ul.nav li a {
|
202
|
+
display:block;
|
203
|
+
margin:0;
|
204
|
+
font-weight:bold; }
|
205
|
+
|
206
|
+
ul.filter {}
|
207
|
+
ul.filter li a {
|
208
|
+
-webkit-border-radius:6px;
|
209
|
+
-moz-border-radius:6px; }
|
210
|
+
ul.filter li.current {margin-left:-3px;}
|
211
|
+
ul.filter li.current a {
|
212
|
+
padding:3px 6px 3px 6px; }
|
213
|
+
|
214
|
+
ul.tags {}
|
215
|
+
ul.tags li {
|
216
|
+
display:inline;
|
217
|
+
font-weight:normal;
|
218
|
+
font-size:12px; }
|
219
|
+
|
220
|
+
ul.tags.alphabetical {
|
221
|
+
color:#999; }
|
222
|
+
ul.tags.alphabetical li {
|
223
|
+
display:block;
|
224
|
+
padding:0 0 1em 20px; }
|
225
|
+
ul.tags.alphabetical li .letter {
|
226
|
+
float:left;
|
227
|
+
font-size:12px;
|
228
|
+
margin-top:2px;
|
229
|
+
color:rgba(0,0,0,.7);
|
230
|
+
margin-left:-20px; }
|
231
|
+
ul.tags.alphabetical .tag {
|
232
|
+
padding:2px;
|
233
|
+
font-weight:normal;
|
234
|
+
font-size:12px; }
|
235
|
+
|
236
|
+
.tags {}
|
237
|
+
.tags.autocomplete {
|
238
|
+
position:absolute;
|
239
|
+
width:250px !important; }
|
240
|
+
.tags.autocomplete ul {
|
241
|
+
margin:0;
|
242
|
+
padding:0;
|
243
|
+
list-style-type:none;
|
244
|
+
background-color:white;
|
245
|
+
border:1px solid #ddd;
|
246
|
+
border-bottom:none; }
|
247
|
+
.tags.autocomplete li {margin:0;}
|
248
|
+
.tags.autocomplete li {
|
249
|
+
border-bottom: 1px solid #ddd;
|
250
|
+
display:block;
|
251
|
+
margin:0;
|
252
|
+
padding:5px 10px; }
|
253
|
+
.tags.autocomplete li.selected,
|
254
|
+
.tags.autocomplete li.selected a {
|
255
|
+
background-color: rgb(0, 147, 208);
|
256
|
+
color:white; }
|
257
|
+
.tags.autocomplete li {
|
258
|
+
padding:5px;
|
259
|
+
cursor:pointer;}
|
260
|
+
|
261
|
+
.search .search_query {
|
262
|
+
color:#999; }
|
263
|
+
.search .search_query:focus {color:#000;}
|
264
|
+
|
265
|
+
.vcard {}
|
266
|
+
.vcard .fn {
|
267
|
+
display:block;
|
268
|
+
font-size:16px;
|
269
|
+
font-weight:bold;
|
270
|
+
color:#000; }
|
271
|
+
.vcard address {
|
272
|
+
margin:0;
|
273
|
+
font-style:normal; }
|
274
|
+
.vcard address .street-address:after {content:", ";}
|
275
|
+
.vcard .email,
|
276
|
+
.vcard .tel .cell,
|
277
|
+
.vcard .tel .work,
|
278
|
+
.vcard .edit,
|
279
|
+
.vcard .tele {
|
280
|
+
display:block; }
|
281
|
+
|
282
|
+
.ui-datepicker {
|
283
|
+
display:none;
|
284
|
+
background:#fff;
|
285
|
+
padding:5px;
|
286
|
+
-webkit-box-shadow: 2px 2px 5px #525252;
|
287
|
+
-moz-box-shadow: 2px 2px 5px #525252;
|
288
|
+
box-shadow: 2px 2px 5px #525252; }
|
289
|
+
.ui-datepicker .ui-corner-all {
|
290
|
+
font-size:1em; }
|
291
|
+
.ui-datepicker-next {
|
292
|
+
position:absolute;
|
293
|
+
top:5px;
|
294
|
+
right:5px;}
|
295
|
+
.ui-datepicker-title {text-align:center;}
|
296
|
+
|
297
|
+
ul.sortable {margin-left:-25px;}
|
298
|
+
ul.sortable .drag_handle {display:none;}
|
299
|
+
ul.sortable li {
|
300
|
+
padding-left:25px;
|
301
|
+
position:relative; }
|
302
|
+
ul.sortable li:hover .drag_handle {
|
303
|
+
display:block;
|
304
|
+
top:4px;
|
305
|
+
left:0; }
|
306
|
+
|
307
|
+
table.sortable {
|
308
|
+
margin-left:-30px; }
|
309
|
+
table.sortable .sort {
|
310
|
+
padding:0;
|
311
|
+
width:30px; }
|
312
|
+
table.sortable .sort + th,
|
313
|
+
table.sortable .sort + td {
|
314
|
+
padding-left:0; }
|
315
|
+
table.sortable tr td.sort .drag_handle {
|
316
|
+
width:25px;
|
317
|
+
margin-top:5px;
|
318
|
+
margin-left:3px;
|
319
|
+
display:none; }
|
320
|
+
table.sortable tr:hover td.sort .drag_handle {
|
321
|
+
display:inline-block; }
|
322
|
+
|
323
|
+
table td.instructions {width:25%;}
|
324
|
+
|
325
|
+
span.status {
|
326
|
+
line-height:1;
|
327
|
+
padding:3px 4px 2px 4px;
|
328
|
+
color:#fff;
|
329
|
+
text-transform:uppercase;
|
330
|
+
font-size:9px;
|
331
|
+
-webkit-border-radius: 3px;
|
332
|
+
-moz-border-radius: 3px;
|
333
|
+
border-radius: 3px; }
|
334
|
+
.status.published {background:green;}
|
335
|
+
.status.unpublished {background:#d00;}
|