benmanns-atreides 2.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +7 -0
- data/README.rdoc +1 -0
- data/app/assets/javascripts/atreides/admin.facebook.js +137 -0
- data/app/assets/javascripts/atreides/admin.js +23 -0
- data/app/assets/javascripts/atreides/admin_base.js.erb +273 -0
- data/app/assets/javascripts/atreides/admin_edit.js +9 -0
- data/app/assets/javascripts/atreides/application.js +15 -0
- data/app/assets/javascripts/atreides/public.js +24 -0
- data/app/assets/javascripts/atreides/public_base.js.erb +119 -0
- data/app/assets/javascripts/atreides/terryblr.js +57 -0
- data/app/assets/stylesheets/atreides/admin.css +21 -0
- data/app/assets/stylesheets/atreides/admin_base.css.erb +1693 -0
- data/app/assets/stylesheets/atreides/application.css +13 -0
- data/app/assets/stylesheets/atreides/formtastic_changes.css +10 -0
- data/app/assets/stylesheets/atreides/iphone-checkboxes.css.erb +97 -0
- data/app/assets/stylesheets/atreides/jBreadCrumb.css +109 -0
- data/app/assets/stylesheets/atreides/public.css +15 -0
- data/app/assets/stylesheets/atreides/public_base.css +101 -0
- data/app/assets/stylesheets/atreides/swfupload.css.erb +63 -0
- data/app/controllers/admin/atreides/content_parts_controller.rb +43 -0
- data/app/controllers/admin/atreides/dropbox_controller.rb +40 -0
- data/app/controllers/admin/atreides/facebook_controller.rb +38 -0
- data/app/controllers/admin/atreides/features_controller.rb +63 -0
- data/app/controllers/admin/atreides/github_controller.rb +35 -0
- data/app/controllers/admin/atreides/links_controller.rb +3 -0
- data/app/controllers/admin/atreides/messages_controller.rb +3 -0
- data/app/controllers/admin/atreides/orders_controller.rb +35 -0
- data/app/controllers/admin/atreides/pages_controller.rb +59 -0
- data/app/controllers/admin/atreides/photos_controller.rb +79 -0
- data/app/controllers/admin/atreides/posts_controller.rb +109 -0
- data/app/controllers/admin/atreides/products_controller.rb +39 -0
- data/app/controllers/admin/atreides/sessions_controller.rb +7 -0
- data/app/controllers/admin/atreides/sizes_controller.rb +4 -0
- data/app/controllers/admin/atreides/tags_controller.rb +20 -0
- data/app/controllers/admin/atreides/users_controller.rb +50 -0
- data/app/controllers/admin/atreides/videos_controller.rb +53 -0
- data/app/controllers/atreides/admin_controller.rb +96 -0
- data/app/controllers/atreides/admin_home_controller.rb +215 -0
- data/app/controllers/atreides/application_controller.rb +93 -0
- data/app/controllers/atreides/home_controller.rb +71 -0
- data/app/controllers/atreides/likes_controller.rb +44 -0
- data/app/controllers/atreides/pages_controller.rb +34 -0
- data/app/controllers/atreides/posts_controller.rb +119 -0
- data/app/controllers/atreides/public_controller.rb +43 -0
- data/app/helpers/admin/atreides/dropbox_helper.rb +42 -0
- data/app/helpers/admin/atreides/features_helper.rb +4 -0
- data/app/helpers/admin/atreides/github_helper.rb +43 -0
- data/app/helpers/admin/atreides/links_helper.rb +4 -0
- data/app/helpers/admin/atreides/messages_helper.rb +4 -0
- data/app/helpers/admin/atreides/orders_helper.rb +30 -0
- data/app/helpers/admin/atreides/pages_helper.rb +17 -0
- data/app/helpers/admin/atreides/photos_helper.rb +14 -0
- data/app/helpers/admin/atreides/posts_helper.rb +41 -0
- data/app/helpers/admin/atreides/products_helper.rb +37 -0
- data/app/helpers/admin/atreides/sizes_helper.rb +4 -0
- data/app/helpers/admin/atreides/user_sessions_helper.rb +4 -0
- data/app/helpers/admin/atreides/users_helper.rb +8 -0
- data/app/helpers/admin/atreides/videos_helper.rb +4 -0
- data/app/helpers/atreides/admin_helper.rb +243 -0
- data/app/helpers/atreides/admin_home_helper.rb +4 -0
- data/app/helpers/atreides/application_helper.rb +210 -0
- data/app/helpers/atreides/home_helper.rb +4 -0
- data/app/helpers/atreides/posts_helper.rb +119 -0
- data/app/inputs/files_input.rb +13 -0
- data/app/inputs/price_input.rb +18 -0
- data/app/inputs/underline_input.rb +16 -0
- data/app/models/atreides/ability.rb +24 -0
- data/app/models/atreides/content_part.rb +106 -0
- data/app/models/atreides/facebook_user.rb +103 -0
- data/app/models/atreides/feature.rb +90 -0
- data/app/models/atreides/github.rb +74 -0
- data/app/models/atreides/like.rb +35 -0
- data/app/models/atreides/line_item.rb +4 -0
- data/app/models/atreides/link.rb +32 -0
- data/app/models/atreides/message.rb +34 -0
- data/app/models/atreides/order.rb +209 -0
- data/app/models/atreides/page.rb +114 -0
- data/app/models/atreides/photo.rb +130 -0
- data/app/models/atreides/post.rb +271 -0
- data/app/models/atreides/preferences.rb +31 -0
- data/app/models/atreides/product.rb +75 -0
- data/app/models/atreides/site.rb +59 -0
- data/app/models/atreides/size.rb +44 -0
- data/app/models/atreides/tag.rb +31 -0
- data/app/models/atreides/tweet.rb +123 -0
- data/app/models/atreides/user.rb +129 -0
- data/app/models/atreides/video.rb +206 -0
- data/app/models/atreides/vote.rb +43 -0
- data/app/models/fb_post_publisher_job.rb +72 -0
- data/app/models/settings.rb +19 -0
- data/app/models/tumblr_post_publisher_job.rb +75 -0
- data/app/models/tw_post_publisher_job.rb +54 -0
- data/app/views/admin/_edit_head_content.html.haml +2 -0
- data/app/views/admin/atreides/content_parts/_form.html.haml +21 -0
- data/app/views/admin/atreides/content_parts/_photos.html.haml +18 -0
- data/app/views/admin/atreides/content_parts/_text.html.haml +1 -0
- data/app/views/admin/atreides/content_parts/_videos.html.haml +12 -0
- data/app/views/admin/atreides/content_parts/destroy.js.haml +3 -0
- data/app/views/admin/atreides/content_parts/edit.html.haml +0 -0
- data/app/views/admin/atreides/content_parts/new.html.haml +0 -0
- data/app/views/admin/atreides/content_parts/new.js.haml +11 -0
- data/app/views/admin/atreides/dropbox/_uploader.html.haml +134 -0
- data/app/views/admin/atreides/dropbox/list.html.haml +27 -0
- data/app/views/admin/atreides/dropbox/setup.html.haml +8 -0
- data/app/views/admin/atreides/facebook/index.html.haml +29 -0
- data/app/views/admin/atreides/features/_form.html.haml +60 -0
- data/app/views/admin/atreides/features/edit.html.haml +1 -0
- data/app/views/admin/atreides/features/index.html.haml +24 -0
- data/app/views/admin/atreides/features/new.html.haml +1 -0
- data/app/views/admin/atreides/github/index.html.haml +26 -0
- data/app/views/admin/atreides/github/show.html.haml +19 -0
- data/app/views/admin/atreides/likes/create.js.haml +2 -0
- data/app/views/admin/atreides/orders/_sidebar.html.haml +20 -0
- data/app/views/admin/atreides/orders/edit.html.haml +52 -0
- data/app/views/admin/atreides/orders/index.html.haml +8 -0
- data/app/views/admin/atreides/pages/_form.html.haml +31 -0
- data/app/views/admin/atreides/pages/edit.html.haml +3 -0
- data/app/views/admin/atreides/pages/index.html.haml +15 -0
- data/app/views/admin/atreides/pages/index.js.haml +4 -0
- data/app/views/admin/atreides/pages/new.html.haml +2 -0
- data/app/views/admin/atreides/photos/create.js.haml +18 -0
- data/app/views/admin/atreides/photos/destroy.js.haml +3 -0
- data/app/views/admin/atreides/posts/_archives.html.haml +19 -0
- data/app/views/admin/atreides/posts/_form.html.haml +66 -0
- data/app/views/admin/atreides/posts/_form_buttons.html.haml +9 -0
- data/app/views/admin/atreides/posts/_form_sidebar.html.haml +85 -0
- data/app/views/admin/atreides/posts/edit.html.haml +2 -0
- data/app/views/admin/atreides/posts/index.html.haml +24 -0
- data/app/views/admin/atreides/posts/index.js.haml +1 -0
- data/app/views/admin/atreides/posts/new.html.haml +2 -0
- data/app/views/admin/atreides/products/edit.html.haml +69 -0
- data/app/views/admin/atreides/products/index.html.haml +31 -0
- data/app/views/admin/atreides/sessions/new.html.haml +13 -0
- data/app/views/admin/atreides/user_sessions/new.html.haml +10 -0
- data/app/views/admin/atreides/users/_form.html.haml +19 -0
- data/app/views/admin/atreides/users/edit.html.haml +6 -0
- data/app/views/admin/atreides/users/index.html.haml +11 -0
- data/app/views/admin/atreides/users/new.html.haml +6 -0
- data/app/views/admin/atreides/users/show.html.haml +4 -0
- data/app/views/admin/atreides/videos/create.js.haml +9 -0
- data/app/views/admin/atreides/videos/destroy.js.haml +3 -0
- data/app/views/admin/common/_archive_sidebar.html.haml +28 -0
- data/app/views/admin/common/_list_table.html.erb +37 -0
- data/app/views/admin/common/_list_table_row.html.erb +18 -0
- data/app/views/admin/common/_pagination.html.erb +1 -0
- data/app/views/admin/common/_search_form.html.erb +6 -0
- data/app/views/admin/common/access_denied.html.haml +1 -0
- data/app/views/atreides/admin/_content_nav.html.haml +7 -0
- data/app/views/atreides/admin_home/_analytics.html.haml +93 -0
- data/app/views/atreides/admin_home/_fb_page_likes_analytics_tbody.haml +10 -0
- data/app/views/atreides/admin_home/_fb_page_views_analytics_tbody.haml +10 -0
- data/app/views/atreides/admin_home/_top_landing_pages_analytics_tbody.haml +14 -0
- data/app/views/atreides/admin_home/_top_referrers_analytics_tbody.haml +12 -0
- data/app/views/atreides/admin_home/_tweets_analytics_tbody.html.haml +8 -0
- data/app/views/atreides/admin_home/_visitors_analytics_tbody.html.haml +12 -0
- data/app/views/atreides/admin_home/index.html.haml +57 -0
- data/app/views/atreides/admin_home/search.html.haml +11 -0
- data/app/views/atreides/admin_home/setup.html.haml +15 -0
- data/app/views/atreides/common/_gallery_params.xml.erb +174 -0
- data/app/views/atreides/common/slideshow.xml.haml +6 -0
- data/app/views/atreides/errors/404.html.haml +10 -0
- data/app/views/atreides/errors/500.html.haml +4 -0
- data/app/views/atreides/home/index.html.haml +30 -0
- data/app/views/atreides/home/index.js.haml +1 -0
- data/app/views/atreides/home/robots.txt.erb +5 -0
- data/app/views/atreides/home/sitemap.xml.builder +35 -0
- data/app/views/atreides/pages/show.html.haml +3 -0
- data/app/views/atreides/posts/_archives.html.haml +19 -0
- data/app/views/atreides/posts/_featured_posts.html.haml +10 -0
- data/app/views/atreides/posts/_list.html.haml +9 -0
- data/app/views/atreides/posts/archives.html.haml +3 -0
- data/app/views/atreides/posts/archives.js.haml +1 -0
- data/app/views/atreides/posts/gallery_params.xml.haml +1 -0
- data/app/views/atreides/posts/index.atom.builder +22 -0
- data/app/views/atreides/posts/index.html.haml +13 -0
- data/app/views/atreides/posts/index.rss.builder +21 -0
- data/app/views/atreides/posts/show.html.haml +8 -0
- data/app/views/atreides/posts/tagged.html.haml +4 -0
- data/app/views/atreides/posts/tagged.js.haml +1 -0
- data/app/views/layouts/admin.html.haml +65 -0
- data/app/views/layouts/application.html.haml +37 -0
- data/app/views/layouts/atreides/application.html.erb +14 -0
- data/app/views/layouts/public.html.haml +39 -0
- data/config/cucumber.yml +11 -0
- data/config/locales/en.yml +207 -0
- data/config/locales/fr.yml +199 -0
- data/config/routes.rb +119 -0
- data/lib/assets/images/atreides/admin/add.png +0 -0
- data/lib/assets/images/atreides/admin/add_btn.png +0 -0
- data/lib/assets/images/atreides/admin/add_dashboard.png +0 -0
- data/lib/assets/images/atreides/admin/add_photo_button_sprite.png +0 -0
- data/lib/assets/images/atreides/admin/add_photos_btn.png +0 -0
- data/lib/assets/images/atreides/admin/background.png +0 -0
- data/lib/assets/images/atreides/admin/calendar.png +0 -0
- data/lib/assets/images/atreides/admin/chevron.gif +0 -0
- data/lib/assets/images/atreides/admin/chevron_overlay.png +0 -0
- data/lib/assets/images/atreides/admin/choose_photos_button_sprite.png +0 -0
- data/lib/assets/images/atreides/admin/content_bg.png +0 -0
- data/lib/assets/images/atreides/admin/content_bg_edit_form.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_break.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_drop_target.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_icons.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_photos.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_text.png +0 -0
- data/lib/assets/images/atreides/admin/content_part_videos.png +0 -0
- data/lib/assets/images/atreides/admin/content_top_edit_form.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard-indicator.gif +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_activity.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_customize.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_drafts.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_open.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_posts.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_controls_queue.png +0 -0
- data/lib/assets/images/atreides/admin/dashboard_nav_border.png +0 -0
- data/lib/assets/images/atreides/admin/delete_bg.png +0 -0
- data/lib/assets/images/atreides/admin/down_arrow.png +0 -0
- data/lib/assets/images/atreides/admin/dropbox_big.jpg +0 -0
- data/lib/assets/images/atreides/admin/dropbox_btn.png +0 -0
- data/lib/assets/images/atreides/admin/dropbox_folder.png +0 -0
- data/lib/assets/images/atreides/admin/dropbox_icon.gif +0 -0
- data/lib/assets/images/atreides/admin/dropbox_icon.png +0 -0
- data/lib/assets/images/atreides/admin/expand_collapse.png +0 -0
- data/lib/assets/images/atreides/admin/form_sidebar_divider.png +0 -0
- data/lib/assets/images/atreides/admin/grey_hatch_bg.png +0 -0
- data/lib/assets/images/atreides/admin/header.png +0 -0
- data/lib/assets/images/atreides/admin/icon_dropbox.gif +0 -0
- data/lib/assets/images/atreides/admin/icon_home.gif +0 -0
- data/lib/assets/images/atreides/admin/input_bg.gif +0 -0
- data/lib/assets/images/atreides/admin/large_loading.gif +0 -0
- data/lib/assets/images/atreides/admin/new_content_icons.png +0 -0
- data/lib/assets/images/atreides/admin/off.png +0 -0
- data/lib/assets/images/atreides/admin/on.png +0 -0
- data/lib/assets/images/atreides/admin/page_icon.png +0 -0
- data/lib/assets/images/atreides/admin/permalink.png +0 -0
- data/lib/assets/images/atreides/admin/photos-display-type-gallery.png +0 -0
- data/lib/assets/images/atreides/admin/photos-display-type-photos.png +0 -0
- data/lib/assets/images/atreides/admin/product.png +0 -0
- data/lib/assets/images/atreides/admin/remove.png +0 -0
- data/lib/assets/images/atreides/admin/resize.png +0 -0
- data/lib/assets/images/atreides/admin/save_btn.png +0 -0
- data/lib/assets/images/atreides/admin/search_icon.png +0 -0
- data/lib/assets/images/atreides/admin/select_arrows.png +0 -0
- data/lib/assets/images/atreides/admin/slider.png +0 -0
- data/lib/assets/images/atreides/admin/slider_center.png +0 -0
- data/lib/assets/images/atreides/admin/slider_left.png +0 -0
- data/lib/assets/images/atreides/admin/slider_right.png +0 -0
- data/lib/assets/images/atreides/admin/sprite.png +0 -0
- data/lib/assets/images/atreides/admin/upload_btn.png +0 -0
- data/lib/assets/images/atreides/admin/video_bg.png +0 -0
- data/lib/assets/images/atreides/blank.gif +0 -0
- data/lib/assets/images/atreides/closelabel.png +0 -0
- data/lib/assets/images/atreides/loading.gif +0 -0
- data/lib/assets/images/atreides/sprite.png +0 -0
- data/lib/assets/images/atreides/tipsy.gif +0 -0
- data/lib/atreides.rb +81 -0
- data/lib/atreides/base/aasmstates.rb +117 -0
- data/lib/atreides/base/base.rb +40 -0
- data/lib/atreides/base/taggable.rb +43 -0
- data/lib/atreides/base/validation.rb +23 -0
- data/lib/atreides/configuration.rb +61 -0
- data/lib/atreides/engine.rb +41 -0
- data/lib/atreides/extendable.rb +12 -0
- data/lib/atreides/i18n_helpers.rb +65 -0
- data/lib/atreides/railties/tasks.rake +68 -0
- data/lib/atreides/time_formats.rb +19 -0
- data/lib/atreides/validators.rb +15 -0
- data/lib/atreides/version.rb +4 -0
- data/lib/generators/atreides/USAGE +0 -0
- data/lib/generators/atreides/atreides_generator.rb +57 -0
- data/lib/generators/templates/Procfile +2 -0
- data/lib/generators/templates/add_role_to_users.rb +16 -0
- data/lib/generators/templates/add_userid_to_resources.rb +15 -0
- data/lib/generators/templates/create_content_parts.rb +66 -0
- data/lib/generators/templates/create_features.rb +21 -0
- data/lib/generators/templates/create_likes.rb +16 -0
- data/lib/generators/templates/create_line_items.rb +21 -0
- data/lib/generators/templates/create_links.rb +16 -0
- data/lib/generators/templates/create_messages.rb +24 -0
- data/lib/generators/templates/create_orders.rb +31 -0
- data/lib/generators/templates/create_pages.rb +29 -0
- data/lib/generators/templates/create_photos.rb +22 -0
- data/lib/generators/templates/create_posts.rb +36 -0
- data/lib/generators/templates/create_preferences.rb +14 -0
- data/lib/generators/templates/create_products.rb +22 -0
- data/lib/generators/templates/create_sessions.rb +16 -0
- data/lib/generators/templates/create_sites.rb +35 -0
- data/lib/generators/templates/create_sizes.rb +16 -0
- data/lib/generators/templates/create_tweets.rb +25 -0
- data/lib/generators/templates/create_videos.rb +24 -0
- data/lib/generators/templates/create_votes.rb +20 -0
- data/lib/generators/templates/delayed_job.rb +5 -0
- data/lib/generators/templates/devise_create_users.rb +42 -0
- data/lib/generators/templates/em-net-http_override.rb +74 -0
- data/lib/generators/templates/initializer.rb +21 -0
- data/lib/generators/templates/new_relic.rb +6 -0
- data/lib/generators/templates/oembed.yml +63 -0
- data/lib/generators/templates/settings.yml +78 -0
- data/lib/generators/templates/string_extensions.rb +20 -0
- data/lib/generators/templates/unicorn.rb +2 -0
- data/lib/tasks/atreides_tasks.rake +4 -0
- data/lib/tasks/cucumber.rake +58 -0
- data/lib/tasks/tasks.rake +403 -0
- data/lib/tasks/yard.rake +18 -0
- data/vendor/assets/flash/atreides/player.swf +0 -0
- data/vendor/assets/flash/atreides/slideshowpro.swf +0 -0
- data/vendor/assets/flash/atreides/swfupload.swf +0 -0
- data/vendor/assets/images/atreides/share/aim_16.png +0 -0
- data/vendor/assets/images/atreides/share/apple_16.png +0 -0
- data/vendor/assets/images/atreides/share/bebo_16.png +0 -0
- data/vendor/assets/images/atreides/share/blogger_16.png +0 -0
- data/vendor/assets/images/atreides/share/brightkite_16.png +0 -0
- data/vendor/assets/images/atreides/share/cargo_16.png +0 -0
- data/vendor/assets/images/atreides/share/delicious_16.png +0 -0
- data/vendor/assets/images/atreides/share/designfloat_16.png +0 -0
- data/vendor/assets/images/atreides/share/designmoo_16.png +0 -0
- data/vendor/assets/images/atreides/share/deviantart_16.png +0 -0
- data/vendor/assets/images/atreides/share/digg_16.png +0 -0
- data/vendor/assets/images/atreides/share/digg_alt_16.png +0 -0
- data/vendor/assets/images/atreides/share/dopplr_16.png +0 -0
- data/vendor/assets/images/atreides/share/dribbble_16.png +0 -0
- data/vendor/assets/images/atreides/share/email_16.png +0 -0
- data/vendor/assets/images/atreides/share/ember_16.png +0 -0
- data/vendor/assets/images/atreides/share/evernote_16.png +0 -0
- data/vendor/assets/images/atreides/share/facebook_16.png +0 -0
- data/vendor/assets/images/atreides/share/flickr_16.png +0 -0
- data/vendor/assets/images/atreides/share/friendfeed_16.png +0 -0
- data/vendor/assets/images/atreides/share/gamespot_16.png +0 -0
- data/vendor/assets/images/atreides/share/google_16.png +0 -0
- data/vendor/assets/images/atreides/share/google_voice_16.png +0 -0
- data/vendor/assets/images/atreides/share/google_wave_16.png +0 -0
- data/vendor/assets/images/atreides/share/googletalk_16.png +0 -0
- data/vendor/assets/images/atreides/share/gowalla_16.png +0 -0
- data/vendor/assets/images/atreides/share/grooveshark_16.png +0 -0
- data/vendor/assets/images/atreides/share/ilike_16.png +0 -0
- data/vendor/assets/images/atreides/share/komodomedia_azure_16.png +0 -0
- data/vendor/assets/images/atreides/share/komodomedia_wood_16.png +0 -0
- data/vendor/assets/images/atreides/share/lastfm_16.png +0 -0
- data/vendor/assets/images/atreides/share/license.txt +9 -0
- data/vendor/assets/images/atreides/share/linkedin_16.png +0 -0
- data/vendor/assets/images/atreides/share/mixx_16.png +0 -0
- data/vendor/assets/images/atreides/share/mobileme_16.png +0 -0
- data/vendor/assets/images/atreides/share/mynameise_16.png +0 -0
- data/vendor/assets/images/atreides/share/myspace_16.png +0 -0
- data/vendor/assets/images/atreides/share/netvibes_16.png +0 -0
- data/vendor/assets/images/atreides/share/newsvine_16.png +0 -0
- data/vendor/assets/images/atreides/share/openid_16.png +0 -0
- data/vendor/assets/images/atreides/share/orkut_16.png +0 -0
- data/vendor/assets/images/atreides/share/pandora_16.png +0 -0
- data/vendor/assets/images/atreides/share/paypal_16.png +0 -0
- data/vendor/assets/images/atreides/share/picasa_16.png +0 -0
- data/vendor/assets/images/atreides/share/plurk_16.png +0 -0
- data/vendor/assets/images/atreides/share/posterous_16.png +0 -0
- data/vendor/assets/images/atreides/share/qik_16.png +0 -0
- data/vendor/assets/images/atreides/share/readernaut_16.png +0 -0
- data/vendor/assets/images/atreides/share/reddit_16.png +0 -0
- data/vendor/assets/images/atreides/share/roboto_16.png +0 -0
- data/vendor/assets/images/atreides/share/rss_16.png +0 -0
- data/vendor/assets/images/atreides/share/sharethis_16.png +0 -0
- data/vendor/assets/images/atreides/share/skype_16.png +0 -0
- data/vendor/assets/images/atreides/share/stumbleupon_16.png +0 -0
- data/vendor/assets/images/atreides/share/technorati_16.png +0 -0
- data/vendor/assets/images/atreides/share/tumblr_16.png +0 -0
- data/vendor/assets/images/atreides/share/twitter_16.png +0 -0
- data/vendor/assets/images/atreides/share/viddler_16.png +0 -0
- data/vendor/assets/images/atreides/share/vimeo_16.png +0 -0
- data/vendor/assets/images/atreides/share/virb_16.png +0 -0
- data/vendor/assets/images/atreides/share/windows_16.png +0 -0
- data/vendor/assets/images/atreides/share/wordpress_16.png +0 -0
- data/vendor/assets/images/atreides/share/xing_16.png +0 -0
- data/vendor/assets/images/atreides/share/yahoo_16.png +0 -0
- data/vendor/assets/images/atreides/share/yahoobuzz_16.png +0 -0
- data/vendor/assets/images/atreides/share/yelp_16.png +0 -0
- data/vendor/assets/images/atreides/share/youtube_16.png +0 -0
- data/vendor/assets/javascripts/atreides/backbone-0.3.3.js +1100 -0
- data/vendor/assets/javascripts/atreides/cufon-yui.js +7 -0
- data/vendor/assets/javascripts/atreides/facebox.js +309 -0
- data/vendor/assets/javascripts/atreides/fileuploader.js +1250 -0
- data/vendor/assets/javascripts/atreides/g.raphael-min.js +7 -0
- data/vendor/assets/javascripts/atreides/galleria.js +2 -0
- data/vendor/assets/javascripts/atreides/galleria/src/galleria.js +3816 -0
- data/vendor/assets/javascripts/atreides/galleria/src/plugins/galleria.flickr.js +221 -0
- data/vendor/assets/javascripts/atreides/galleria/src/plugins/galleria.history.js +602 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/classic/classic-loader.gif +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/classic/classic-map.png +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/classic/galleria.classic.css +202 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/classic/galleria.classic.js +92 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/b.png +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/down.gif +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/fix.gif +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/fullscreen-demo.html +34 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/galleria.fullscreen.css +46 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/galleria.fullscreen.js +193 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/i.png +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/l.gif +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/l2.png +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/loader.gif +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/n.gif +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/p.gif +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/r.gif +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/r2.png +0 -0
- data/vendor/assets/javascripts/atreides/galleria/src/themes/fullscreen/up.gif +0 -0
- data/vendor/assets/javascripts/atreides/jquery-1.7.js +4 -0
- data/vendor/assets/javascripts/atreides/jquery-ui.js +11603 -0
- data/vendor/assets/javascripts/atreides/jquery.autogrow.js +132 -0
- data/vendor/assets/javascripts/atreides/jquery.cookie.js +96 -0
- data/vendor/assets/javascripts/atreides/jquery.countdown.js +759 -0
- data/vendor/assets/javascripts/atreides/jquery.cycle.js +918 -0
- data/vendor/assets/javascripts/atreides/jquery.easing.1.3.js +205 -0
- data/vendor/assets/javascripts/atreides/jquery.flash.js +288 -0
- data/vendor/assets/javascripts/atreides/jquery.iphone-checkboxes.js +214 -0
- data/vendor/assets/javascripts/atreides/jquery.jBreadCrumb.1.1.js +240 -0
- data/vendor/assets/javascripts/atreides/jquery.multipleselectbox-min.js +15 -0
- data/vendor/assets/javascripts/atreides/jquery.multipleselectbox.js +446 -0
- data/vendor/assets/javascripts/atreides/jquery.swfupload.js +64 -0
- data/vendor/assets/javascripts/atreides/jquery.tipsy.js +104 -0
- data/vendor/assets/javascripts/atreides/jquery.uniform.js +461 -0
- data/vendor/assets/javascripts/atreides/jquery_ujs.js +316 -0
- data/vendor/assets/javascripts/atreides/jtags.js +125 -0
- data/vendor/assets/javascripts/atreides/raphael-min.js +7 -0
- data/vendor/assets/javascripts/atreides/raphael.analytics.js +205 -0
- data/vendor/assets/javascripts/atreides/raphael.path.methods.js +53 -0
- data/vendor/assets/javascripts/atreides/raphael.pie.js +44 -0
- data/vendor/assets/javascripts/atreides/sifr.js +18 -0
- data/vendor/assets/javascripts/atreides/swfobject.js +4 -0
- data/vendor/assets/javascripts/atreides/swfupload/handlers.js +290 -0
- data/vendor/assets/javascripts/atreides/swfupload/swfupload.cookies.js +53 -0
- data/vendor/assets/javascripts/atreides/swfupload/swfupload.js +980 -0
- data/vendor/assets/javascripts/atreides/swfupload/swfupload.queue.js +98 -0
- data/vendor/assets/javascripts/atreides/swfupload/swfupload.speed.js +342 -0
- data/vendor/assets/javascripts/atreides/swfupload/swfupload.swfobject.js +111 -0
- data/vendor/assets/javascripts/atreides/underscore-1.1.6.js +807 -0
- data/vendor/assets/stylesheets/atreides/admin_grid.css +258 -0
- data/vendor/assets/stylesheets/atreides/facebox.css +80 -0
- data/vendor/assets/stylesheets/atreides/formtastic.css +144 -0
- data/vendor/assets/stylesheets/atreides/galleria.css +24 -0
- data/vendor/assets/stylesheets/atreides/ie.css +35 -0
- data/vendor/assets/stylesheets/atreides/images/bg_fallback.png +0 -0
- data/vendor/assets/stylesheets/atreides/images/icon_sprite.png +0 -0
- data/vendor/assets/stylesheets/atreides/images/progress_bar.gif +0 -0
- data/vendor/assets/stylesheets/atreides/images/slider_handles.png +0 -0
- data/vendor/assets/stylesheets/atreides/images/ui-icons_222222_256x240.png +0 -0
- data/vendor/assets/stylesheets/atreides/images/ui-icons_454545_256x240.png +0 -0
- data/vendor/assets/stylesheets/atreides/jquery-ui.css +738 -0
- data/vendor/assets/stylesheets/atreides/multipleselectbox.css +33 -0
- data/vendor/assets/stylesheets/atreides/print.css +29 -0
- data/vendor/assets/stylesheets/atreides/public_grid.css +258 -0
- data/vendor/assets/stylesheets/atreides/tipsy.css +7 -0
- data/vendor/assets/stylesheets/atreides/uniform.default.css +476 -0
- metadata +1566 -0
data/LICENSE
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
Copyright (c) 2012 Lachlan Laycock, Chad Jackson, Harry Bernstein, Mathieu Ravaux, Jérémy Van de Wyngaert, William Alton, Adam Copeland, Benjamin Manns
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
4
|
+
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
6
|
+
|
7
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
= Atreides
|
@@ -0,0 +1,137 @@
|
|
1
|
+
$(function(){
|
2
|
+
if ( $(".authenticate-facebook").length ) {
|
3
|
+
|
4
|
+
var $permissions = ["read_insights","manage_pages"]
|
5
|
+
|
6
|
+
function status(msg,angry){
|
7
|
+
$("#status").css({
|
8
|
+
"padding": "10px 15px",
|
9
|
+
"width": "69%"
|
10
|
+
});
|
11
|
+
|
12
|
+
if ( angry ){
|
13
|
+
$("#status").css({
|
14
|
+
"background":"#ffaaaa",
|
15
|
+
border: "1px solid #ff6666"
|
16
|
+
})
|
17
|
+
} else {
|
18
|
+
$("#status").css({
|
19
|
+
"background":"#aaffaa",
|
20
|
+
border: "1px solid #44dd44"
|
21
|
+
})
|
22
|
+
}
|
23
|
+
$("#status").text(msg)
|
24
|
+
}
|
25
|
+
|
26
|
+
$(".deauthenticate-facebook").on("click", function(e){
|
27
|
+
e.preventDefault();
|
28
|
+
FB.logout(function(response){
|
29
|
+
$(".access-container").hide();
|
30
|
+
$(".login-container").show();
|
31
|
+
})
|
32
|
+
})
|
33
|
+
|
34
|
+
|
35
|
+
function checkPermissions(neededPerms, f, params, done){
|
36
|
+
console.log("checking permissions")
|
37
|
+
FB.api('/me/permissions', function(reponde) {
|
38
|
+
var permsArray = reponde.data[0];
|
39
|
+
var reUpPerms = new Array();
|
40
|
+
console.log(permsArray)
|
41
|
+
for(i in neededPerms){
|
42
|
+
if ( permsArray[neededPerms[i]] == null && typeof(neededPerms[i]) == "string") {
|
43
|
+
reUpPerms.push(neededPerms[i]);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
if (reUpPerms.length > 0) {
|
47
|
+
FB.login(function(response){
|
48
|
+
if (done){
|
49
|
+
status("Please accept all permissions to continue.", true)
|
50
|
+
return false;
|
51
|
+
}
|
52
|
+
// Recheck, just in case the user didn't accept something.
|
53
|
+
checkPermissions(neededPerms, f, params, true);
|
54
|
+
}, {scope: neededPerms.join(",")});
|
55
|
+
} else {
|
56
|
+
f.apply(this, params)
|
57
|
+
}
|
58
|
+
});
|
59
|
+
}
|
60
|
+
|
61
|
+
function dealWithResponse(response, checked){
|
62
|
+
|
63
|
+
console.log(response)
|
64
|
+
|
65
|
+
if ( response.status == "connected" ) {
|
66
|
+
status("Connected to facebook")
|
67
|
+
|
68
|
+
// Check for permissions
|
69
|
+
if (!checked){
|
70
|
+
checkPermissions($permissions, dealWithResponse, [response, true])
|
71
|
+
} else {
|
72
|
+
var authResponse = response.authResponse,
|
73
|
+
accessToken = authResponse.accessToken,
|
74
|
+
userId = authResponse.userID,
|
75
|
+
expiry = authResponse.expiresIn;
|
76
|
+
|
77
|
+
// First, get extended token.
|
78
|
+
$.post("/admin/facebook",
|
79
|
+
{
|
80
|
+
access_token: accessToken,
|
81
|
+
user_id: userId,
|
82
|
+
authenticity_token: $.token,
|
83
|
+
expiry: expiry
|
84
|
+
}
|
85
|
+
).success(function(){
|
86
|
+
status("Token successfully stored.")
|
87
|
+
setTimeout(function(){window.location.href = "/admin/"}, 500)
|
88
|
+
}).error(function(){
|
89
|
+
status("There was a problem updating the page token. Please ensure that you are an admin on Facebook page you are trying to collect analytics for.", true)
|
90
|
+
})
|
91
|
+
}
|
92
|
+
} else if (response.status == "not_authorized") {
|
93
|
+
status("Please accept the terms in the facebook dialog", true)
|
94
|
+
} else {
|
95
|
+
status("There was an error authorizing: " + response.status, true)
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
|
100
|
+
$("a.authenticate-facebook").on("click", function(e){
|
101
|
+
e.preventDefault();
|
102
|
+
FB.getLoginStatus(function(response){
|
103
|
+
if ( response.status == "connected" ){
|
104
|
+
dealWithResponse(response)
|
105
|
+
} else {
|
106
|
+
$("p.login-container").show();
|
107
|
+
}
|
108
|
+
})
|
109
|
+
})
|
110
|
+
|
111
|
+
$("a.fb-login").on("click", function(e){
|
112
|
+
e.preventDefault();
|
113
|
+
FB.login(function(response){
|
114
|
+
if (response.status == "connected"){
|
115
|
+
$(".access-container").show();
|
116
|
+
$(".login-container").hide();
|
117
|
+
} else {
|
118
|
+
// nothing
|
119
|
+
}
|
120
|
+
})
|
121
|
+
})
|
122
|
+
|
123
|
+
|
124
|
+
setTimeout(function(){
|
125
|
+
// Choose which link to show.
|
126
|
+
FB.getLoginStatus(function(response){
|
127
|
+
if ( response.status != "unknown" ) {
|
128
|
+
$(".access-container").show();
|
129
|
+
} else if ( response.status == "unknown" ) {
|
130
|
+
$(".login-container").show();
|
131
|
+
}
|
132
|
+
})
|
133
|
+
}, 500)
|
134
|
+
|
135
|
+
|
136
|
+
}
|
137
|
+
});
|
@@ -0,0 +1,23 @@
|
|
1
|
+
//= require atreides/underscore-1.1.6
|
2
|
+
//= require jquery
|
3
|
+
//= require jquery_ujs
|
4
|
+
//= require atreides/jquery.easing.1.3
|
5
|
+
//= require jquery-ui
|
6
|
+
//= require atreides/admin_base
|
7
|
+
//= require atreides/admin.facebook
|
8
|
+
|
9
|
+
/*
|
10
|
+
* Atreides - Admin Behaviours
|
11
|
+
*
|
12
|
+
* Lachlan Laycock @ Le 88
|
13
|
+
* 16 May 2011
|
14
|
+
*
|
15
|
+
* PUT YOUR MODIFICATIONS HERE
|
16
|
+
*
|
17
|
+
*/
|
18
|
+
|
19
|
+
$(document).ready(function() {
|
20
|
+
|
21
|
+
// Put your magic here
|
22
|
+
|
23
|
+
})
|
@@ -0,0 +1,273 @@
|
|
1
|
+
/*
|
2
|
+
* Atreides - Admin Behaviours
|
3
|
+
*
|
4
|
+
* Lachlan Laycock @ Le 88
|
5
|
+
* 22 Feb 2010
|
6
|
+
*
|
7
|
+
* DO NOT EDIT THIS FILE!
|
8
|
+
* CHANGES TO THIS FILE WILL BE LOST!
|
9
|
+
*
|
10
|
+
* Use admin.js for location modifactions
|
11
|
+
*
|
12
|
+
*/
|
13
|
+
|
14
|
+
$.token = function(){
|
15
|
+
return $("meta[name='csrf-token']").attr("content");
|
16
|
+
}
|
17
|
+
|
18
|
+
$.removeDiacriticalMarks = function(string) {
|
19
|
+
var dictionary = {"a":["\xaa","\xe0","\xe1","\xe2","\xe3","\xe4","\xe5","\u0101","\u0103","\u0105","\u01ce","\u0201","\u0203","\u0227","\u1d43","\u1e01","\u1e9a","\u1ea1","\u1ea3","\u2090","\uff41"],"A":["\xc0","\xc1","\xc2","\xc3","\xc4","\xc5","\u0100","\u0102","\u0104","\u01cd","\u0200","\u0202","\u0226","\u1d2c","\u1e00","\u1ea0","\u1ea2","\uff21"],"b":["\u1d47","\u1e03","\u1e05","\u1e07","\uff42"],"B":["\u1d2e","\u1e02","\u1e04","\u1e06","\uff22"],"c":["\xe7","\u0107","\u0109","\u010b","\u010d","\u1d9c","\u217d","\uff43"],"C":["\xc7","\u0106","\u0108","\u010a","\u010c","\u216d","\uff23"],"d":["\u010f","\u1d48","\u1e0b","\u1e0d","\u1e0f","\u1e11","\u1e13","\u217e","\uff44"],"D":["\u010e","\u1d30","\u1e0a","\u1e0c","\u1e0e","\u1e10","\u1e12","\u216e","\uff24"],"e":["\xe8","\xe9","\xea","\xeb","\u0113","\u0115","\u0117","\u0119","\u011b","\u0205","\u0207","\u0229","\u1d49","\u1e19","\u1e1b","\u1eb9","\u1ebb","\u1ebd","\u2091","\uff45"],"E":["\xc8","\xc9","\xca","\xcb","\u0112","\u0114","\u0116","\u0118","\u011a","\u0204","\u0206","\u0228","\u1d31","\u1e18","\u1e1a","\u1eb8","\u1eba","\u1ebc","\uff25"],"f":["\u1da0","\u1e1f","\uff46"],"F":["\u1e1e","\u2109","\uff26"],"g":["\u011d","\u011f","\u0121","\u0123","\u01e7","\u01f5","\u1d4d","\u1e21","\uff47"],"G":["\u011c","\u011e","\u0120","\u0122","\u01e6","\u01f4","\u1d33","\u1e20","\uff27"],"h":["\u0125","\u021f","\u02b0","\u1e23","\u1e25","\u1e27","\u1e29","\u1e2b","\u1e96","\u210e","\uff48"],"H":["\u0124","\u021e","\u1d34","\u1e22","\u1e24","\u1e26","\u1e28","\u1e2a","\uff28"],"i":["\xec","\xed","\xee","\xef","\u0129","\u012b","\u012d","\u012f","\u01d0","\u0209","\u020b","\u1d62","\u1e2d","\u1ec9","\u1ecb","\u2071","\uff49"],"I":["\xcc","\xcd","\xce","\xcf","\u0128","\u012a","\u012c","\u012e","\u0130","\u01cf","\u0208","\u020a","\u1d35","\u1e2c","\u1ec8","\u1eca","\uff29"],"j":["\u0135","\u01f0","\u02b2","\uff4a"],"J":["\u0134","\u1d36","\uff2a"],"k":["\u0137","\u01e9","\u1d4f","\u1e31","\u1e33","\u1e35","\uff4b"],"K":["\u0136","\u01e8","\u1d37","\u1e30","\u1e32","\u1e34","\u212a","\uff2b"],"l":["\u013a","\u013c","\u013e","\u02e1","\u0140","\u1e37","\u1e3b","\u1e3d","\u217c","\uff4c"],"L":["\u0139","\u013b","\u013d","\u1d38","\u1e36","\u1e3a","\u1e3c","\u216c","\uff2c"],"m":["\u1d50","\u1e3f","\u1e41","\u1e43","\u217f","\uff4d"],"M":["\u1d39","\u1e3e","\u1e40","\u1e42","\u216f","\uff2d"],"n":["\xf1","\u0144","\u0146","\u0148","\u0149","\u1e45","\u1e47","\u1e49","\u1e4b","\uff4e"],"N":["\xd1","\u0143","\u0145","\u0147","\u1d3a","\u1e44","\u1e46","\u1e48","\u1e4a","\uff2e"],"o":["\xba","\xf2","\xf3","\xf4","\xf5","\xf6","\u014d","\u014f","\u0151","\u01d2","\u01eb","\u020d","\u020f","\u022f","\u1d52","\u1ecd","\u1ecf","\uff4f"],"O":["\xd2","\xd3","\xd4","\xd6","\xd5","\u014c","\u014e","\u0150","\u01d1","\u01ea","\u020c","\u020e","\u022e","\u1d3c","\u1ecc","\u1ece","\uff2f"],"p":["\u1d56","\u1e55","\u1e57","\uff50"],"P":["\u1d3e","\u1e54","\u1e56","\uff30"],"q":["\uff51"],"Q":["\uff31"],"r":["\u0155","\u0157","\u0159","\u0211","\u0213","\u02b3","\u1d63","\u1e59","\u1e5a","\u1e5b","\u1e5f","\uff52"],"R":["\u0154","\u0156","\u0158","\u0210","\u0212","\u1d3f","\u1e58","\u1e5e","\uff32"],"s":["\u015b","\u015d","\u015f","\u0161","\u0219","\u1e61","\u1e63","\uff53"],"S":["\u015a","\u015c","\u015e","\u0160","\u0218","\u1e60","\u1e62","\uff33"],"t":["\u0163","\u0165","\u021b","\u1d57","\u1e6b","\u1e6d","\u1e6f","\u1e71","\u1e97","\uff54"],"T":["\u0162","\u0164","\u021a","\u1d40","\u1e6a","\u1e6c","\u1e6e","\u1e70","\uff34"],"u":["\xf9","\xfa","\xfb","\xfc","\u0169","\u016b","\u016d","\u016f","\u0171","\u01b0","\u01d4","\u0215","\u0217","\u1d58","\u1d64","\u1e73","\u1e75","\u1e77","\u1ee5","\u1ee7","\uff55"],"U":["\xd9","\xda","\xdc","\xdb","\u0168","\u016a","\u016c","\u016e","\u0170","\u0172","\u01af","\u01d3","\u0214","\u0216","\u1d41","\u1e72","\u1e74","\u1e76","\u1ee4","\u1ee6","\uff35"],"v":["\u1e7d","\u1e7f","\u1d5b","\u1d65","\uff56"],"V":["\u1e7c","\u1e7e","\u2c7d","\uff36"],"w":["\u0175","\u02b7","\u1e81","\u1e83","\u1e85","\u1e87","\u1e89","\u1e98","\uff57"],"W":["\u0174","\u1d42","\u1e80","\u1e82","\u1e84","\u1e86","\u1e88","\uff37"],"x":["\u02e3","\u1e8b","\u1e8d","\u2093","\uff58"],"X":["\u1e8a","\u1e8c","\uff38"],"y":["\xfd","\xff","\u0177","\u0233","\u02b8","\u1e8f","\u1e99","\u1ef3","\u1ef5","\u1ef7","\u1ef9","\uff59"],"Y":["\xdd","\u0176","\u0178","\u0232","\u1e8e","\u1ef2","\u1ef4","\u1ef6","\u1ef8","\uff39"],"z":["\u017a","\u017c","\u017e","\u1e91","\u1e93","\u1e95","\uff5a"],"Z":["\u0179","\u017b","\u017d","\u1e90","\u1e92","\u1e94","\uff3a"]},
|
20
|
+
map = {}, chars, char, pattern = "", i, l;
|
21
|
+
for (char in dictionary) {
|
22
|
+
chars = dictionary[char];
|
23
|
+
for (i=0,l=chars.length; i<l; i++) {
|
24
|
+
map[chars[i]] = char;
|
25
|
+
pattern += chars[i];
|
26
|
+
}
|
27
|
+
}
|
28
|
+
pattern = new RegExp( "[" + pattern + "]", 'gi');
|
29
|
+
// return function(string) {
|
30
|
+
// return string ? string.replace(pattern, function(char){
|
31
|
+
// return char in map ? map[char] : char;
|
32
|
+
// }) : string;
|
33
|
+
// };
|
34
|
+
|
35
|
+
return string ? string.replace(pattern, function(char){
|
36
|
+
return char in map ? map[char] : char;
|
37
|
+
}) : string;
|
38
|
+
}
|
39
|
+
|
40
|
+
jQuery.fn.bindAll = function(options) {
|
41
|
+
var $this = this;
|
42
|
+
jQuery.each(options, function(key, val){
|
43
|
+
$this.bind(key, val);
|
44
|
+
});
|
45
|
+
return this;
|
46
|
+
}
|
47
|
+
|
48
|
+
var pageChanged = false;
|
49
|
+
|
50
|
+
function hasPageChanged(){
|
51
|
+
return pageChanged;
|
52
|
+
};
|
53
|
+
|
54
|
+
$(window).bind("beforeunload", function(){
|
55
|
+
if(hasPageChanged()){
|
56
|
+
return "You have unsaved changes on this page."
|
57
|
+
}
|
58
|
+
});
|
59
|
+
|
60
|
+
$(document).ready(function() {
|
61
|
+
|
62
|
+
$("input, textarea").not("input[name*='search'], input[name*='query']").bind("change", function(){
|
63
|
+
pageChanged = true;
|
64
|
+
});
|
65
|
+
|
66
|
+
$("form").submit(function(){
|
67
|
+
pageChanged = false;
|
68
|
+
return true;
|
69
|
+
});
|
70
|
+
|
71
|
+
// Hide flash messages
|
72
|
+
$("#flash").delay(2000).fadeOut('slow');
|
73
|
+
|
74
|
+
var links = $('a')
|
75
|
+
if (links.length) {
|
76
|
+
links.click(function(e) {
|
77
|
+
$(this).addClass('loading')
|
78
|
+
})
|
79
|
+
|
80
|
+
// Remove loading class to all links when AJAX finished - use CSS to style
|
81
|
+
links.ajaxComplete(function(e) {
|
82
|
+
$(this).removeClass('loading');
|
83
|
+
})
|
84
|
+
|
85
|
+
// Make external links open in new window
|
86
|
+
reg = new RegExp("//"+window.location.host+"/");
|
87
|
+
links.each(function(i, el) {
|
88
|
+
if (!el.href.match(reg)) {
|
89
|
+
var el = $(el);
|
90
|
+
if (!el.attr('target')) {
|
91
|
+
el.attr('target', '_blank')
|
92
|
+
}
|
93
|
+
}
|
94
|
+
})
|
95
|
+
}
|
96
|
+
|
97
|
+
// Add behaviour to support attributes of data-submit. Must be using jquery-ujs as well.
|
98
|
+
$('a[data-submit]').live('ajax:before', function(event) {
|
99
|
+
submit_fields = $($(this).data('submit'))
|
100
|
+
$(this).data('params', submit_fields.serialize())
|
101
|
+
})
|
102
|
+
|
103
|
+
// Date pickers
|
104
|
+
if ((date_pickers = $(".date-picker input")).length) {
|
105
|
+
date_pickers.datepicker({ dateFormat: 'dd/mm/yy' });
|
106
|
+
}
|
107
|
+
|
108
|
+
// Tag inputs
|
109
|
+
if ((tag_textareas = $('.tag-picker textarea')).length) {
|
110
|
+
tag_textareas.tags();
|
111
|
+
}
|
112
|
+
|
113
|
+
// Auto-hide fields
|
114
|
+
auto_hides = $('.auto-hide-text input')
|
115
|
+
if (auto_hides.length) {
|
116
|
+
auto_hides.each(function(i, el) { $(el).attr('default',$(el).val()) })
|
117
|
+
auto_hides.focus(function(e) {
|
118
|
+
if ($(this).val()==$(this).attr('default')) $(this).val('')
|
119
|
+
$(this).attr('style', 'color:#000');
|
120
|
+
})
|
121
|
+
auto_hides.blur(function(e) {
|
122
|
+
if ($(this).val().length==0) {
|
123
|
+
$(this).val($(this).attr('default'))
|
124
|
+
$(this).attr('style', '');
|
125
|
+
}
|
126
|
+
})
|
127
|
+
}
|
128
|
+
|
129
|
+
// Post state drop-down
|
130
|
+
var state_select_css = '.post-states select, .page-states select, .product-states select'
|
131
|
+
var state_input_css = '#post_published_at_input, #page_published_at_input, #product_published_at_input'
|
132
|
+
var state_hidden_css = '.post-hidden input, .page-hidden input, .product-hidden input'
|
133
|
+
function update_state_select() {
|
134
|
+
$(state_input_css).hide()
|
135
|
+
switch(this.value) {
|
136
|
+
case 'publish_now':
|
137
|
+
$(state_hidden_css).val("published");
|
138
|
+
break;
|
139
|
+
case 'published_at':
|
140
|
+
$(state_hidden_css).val("published");
|
141
|
+
$(state_input_css).show();
|
142
|
+
break;
|
143
|
+
default:
|
144
|
+
$(state_hidden_css).val(this.value);
|
145
|
+
break;
|
146
|
+
}
|
147
|
+
}
|
148
|
+
$(state_select_css).change(update_state_select);
|
149
|
+
$(state_select_css).trigger('change'); // Make sure it shows correctly on load
|
150
|
+
|
151
|
+
// Photo display types
|
152
|
+
var photo_types = $(".photos-display-type input")
|
153
|
+
if (photo_types.length) {
|
154
|
+
photo_types.click(function() {
|
155
|
+
// Removed selected class from parents then add to selected child input
|
156
|
+
$(this).parent().removeClass('selected').children("input:checked").parent().addClass('selected')
|
157
|
+
})
|
158
|
+
}
|
159
|
+
|
160
|
+
// Post address selector
|
161
|
+
var post_address = $("input#post_address")
|
162
|
+
var map_canvas = $("#map_canvas")
|
163
|
+
if (typeof(google)!='undefined' && post_address.length && map_canvas.length && $.fn.autocomplete) {
|
164
|
+
|
165
|
+
// Form elements
|
166
|
+
var post_lat = $("input#post_lat");
|
167
|
+
var post_long = $("input#post_long");
|
168
|
+
var post_loc = $("input#post_loc");
|
169
|
+
|
170
|
+
// Setup Gmap
|
171
|
+
var latlng = new google.maps.LatLng((post_lat.length ? post_lat.val() : 30),(post_long.length ? post_long.val() : -45));
|
172
|
+
var map = new google.maps.Map(map_canvas[0], {
|
173
|
+
zoom: (post_lat.val().length ? 12 : 1),
|
174
|
+
center: latlng,
|
175
|
+
disableDefaultUI: true,
|
176
|
+
mapTypeId: google.maps.MapTypeId.ROADMAP
|
177
|
+
});
|
178
|
+
|
179
|
+
//GEOCODER
|
180
|
+
var geocoder = new google.maps.Geocoder();
|
181
|
+
var marker = new google.maps.Marker({
|
182
|
+
map: map,
|
183
|
+
draggable: true
|
184
|
+
});
|
185
|
+
|
186
|
+
post_address.autocomplete({
|
187
|
+
//This bit uses the geocoder to fetch address values
|
188
|
+
source: function(request, response) {
|
189
|
+
geocoder.geocode( {'address': request.term }, function(results, status) {
|
190
|
+
response($.map(results, function(item) {
|
191
|
+
var address_parts = $.grep(item.address_components, function(add) { return ['locality','country'].indexOf(add.types[0])!=-1 })
|
192
|
+
var label = $.map(address_parts, function(part) { return part.long_name }).join(", ")
|
193
|
+
return {
|
194
|
+
label: label,
|
195
|
+
value: label,
|
196
|
+
latitude: item.geometry.location.lat(),
|
197
|
+
longitude: item.geometry.location.lng()
|
198
|
+
}
|
199
|
+
}));
|
200
|
+
})
|
201
|
+
},
|
202
|
+
//This bit is executed upon selection of an address
|
203
|
+
select: function(event, ui) {
|
204
|
+
post_lat.val(ui.item.latitude);
|
205
|
+
post_long.val(ui.item.longitude);
|
206
|
+
post_loc.val(ui.item.value);
|
207
|
+
var location = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
|
208
|
+
marker.setPosition(location);
|
209
|
+
map.setCenter(location);
|
210
|
+
map.setZoom(12);
|
211
|
+
}
|
212
|
+
});
|
213
|
+
}
|
214
|
+
|
215
|
+
// Features select post. Eg: /admin/new/feature
|
216
|
+
$(".photos-choose a").ajaxSuccess(function(e) {
|
217
|
+
features = $("#feature_post_browser .archives a")
|
218
|
+
if (features.length) {
|
219
|
+
features.unbind('click')
|
220
|
+
features.bind('click', function(e) {
|
221
|
+
a = $(e.currentTarget)
|
222
|
+
|
223
|
+
// Set hidden field to assoc post
|
224
|
+
dom_id = a.parent().attr('id')
|
225
|
+
match = dom_id.match(/\d+/)
|
226
|
+
if (match.length) {
|
227
|
+
post_id = match[0]
|
228
|
+
$("input#feature_post_id").val(post_id)
|
229
|
+
|
230
|
+
// Set title field
|
231
|
+
title = a.find('span').html()
|
232
|
+
title_field = $("input#feature_title")
|
233
|
+
if (title_field.length && title_field.val().length==0) {
|
234
|
+
title_field.val(title)
|
235
|
+
}
|
236
|
+
|
237
|
+
// Set URL field
|
238
|
+
url = "http://"+window.location.host+"/posts/"+post_id+"/"+title.toLowerCase().replace(/\W+/g,'-')
|
239
|
+
url_field = $("input#feature_url")
|
240
|
+
if (url_field.length && url_field.val().length==0) {
|
241
|
+
url_field.val(url)
|
242
|
+
}
|
243
|
+
|
244
|
+
// Insert new image
|
245
|
+
photo_list = $("#feature_photo_ul")
|
246
|
+
if (photo_list.length) {
|
247
|
+
img_url = a.css('background-image').match(/http.*\?/)[0]
|
248
|
+
img_url = img_url.replace(/thumb/, 'list')
|
249
|
+
photo_list.html($("<li>").append($("<img>").attr('src', img_url)))
|
250
|
+
}
|
251
|
+
|
252
|
+
}
|
253
|
+
// Prevent A link for launching
|
254
|
+
return false;
|
255
|
+
})
|
256
|
+
}
|
257
|
+
});
|
258
|
+
});
|
259
|
+
|
260
|
+
function fixRailsEmbeddedFormHashOrder(container) {
|
261
|
+
// Fix up rails nested form hash ordering
|
262
|
+
try {
|
263
|
+
container.find('fieldset').each(function(i, el) {
|
264
|
+
$(el).find(':input').each(function(j, inp) {
|
265
|
+
new_name = String(inp.name).replace(/\[parts_attributes\]\[\d+\]/,'[parts_attributes]['+i+']')
|
266
|
+
$(inp).attr('name', new_name)
|
267
|
+
})
|
268
|
+
})
|
269
|
+
} catch (err) {
|
270
|
+
console.log("Error: "+err.description)
|
271
|
+
console.debug(err)
|
272
|
+
}
|
273
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
// require atreides/backbone-0.3.3
|
2
|
+
//= require atreides/jtags
|
3
|
+
//= require atreides/fileuploader
|
4
|
+
//= require atreides/jquery.tipsy
|
5
|
+
//= require atreides/facebox
|
6
|
+
//= require atreides/jquery.multipleselectbox
|
7
|
+
//= require atreides/jquery.jBreadCrumb.1.1
|
8
|
+
//= require atreides/jquery.swfupload
|
9
|
+
//= require atreides/swfupload/swfupload
|