muck-contents 0.1.12 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. data/README.rdoc +122 -15
  2. data/VERSION +1 -1
  3. data/app/controllers/muck/tiny_mce_controller.rb +47 -0
  4. data/app/helpers/tinymce_helper.rb +23 -8
  5. data/app/views/contents/_form.html.erb +1 -2
  6. data/app/views/contents/new.html.erb +1 -0
  7. data/app/views/layouts/tiny_mce.html.erb +25 -0
  8. data/app/views/tiny_mce/files.html.erb +136 -0
  9. data/app/views/tiny_mce/images.html.erb +312 -0
  10. data/{public/javascripts/tiny_mce/plugins/advlinktoo/link.htm → app/views/tiny_mce/links.html.erb} +328 -344
  11. data/config/muck_contents_routes.rb +6 -0
  12. data/lib/action_controller/acts/muck_content_handler.rb +1 -1
  13. data/locales/en.yml +2 -0
  14. data/muck-contents.gemspec +153 -25
  15. data/public/{javascripts/tiny_mce/plugins/advimagetoo/img → images/tinymce}/sample.gif +0 -0
  16. data/public/{javascripts/tiny_mce/plugins/advfiletoo/img → images/tinymce}/upload.gif +0 -0
  17. data/public/javascripts/tiny_mce/plugins/advfiletoo/editor_plugin.js +9 -22
  18. data/public/javascripts/tiny_mce/plugins/advfiletoo/editor_plugin_src.js +41 -54
  19. data/public/javascripts/tiny_mce/plugins/advfiletoo/js/functions.js +0 -139
  20. data/public/javascripts/tiny_mce/plugins/advimagetoo/editor_plugin.js +9 -17
  21. data/public/javascripts/tiny_mce/plugins/advimagetoo/editor_plugin_src.js +40 -50
  22. data/public/javascripts/tiny_mce/plugins/advimagetoo/js/functions.js +0 -152
  23. data/public/javascripts/tiny_mce/plugins/advlinktoo/editor_plugin.js +3 -14
  24. data/public/javascripts/tiny_mce/plugins/advlinktoo/editor_plugin_src.js +3 -14
  25. data/public/{javascripts/tiny_mce/plugins/advfiletoo/css/advfile.css → stylesheets/tinymce.css} +33 -12
  26. data/test/rails_root/Rakefile +2 -1
  27. data/test/rails_root/app/controllers/uploads_controller.rb +57 -0
  28. data/test/rails_root/app/models/upload.rb +94 -0
  29. data/test/rails_root/app/models/user.rb +5 -0
  30. data/test/rails_root/config/environment.rb +2 -0
  31. data/test/rails_root/config/initializers/mce_options.rb +12 -8
  32. data/test/rails_root/config/initializers/s3_credentials.rb +9 -0
  33. data/test/rails_root/db/migrate/{20090602041838_create_users.rb → 20090327231918_create_users.rb} +11 -10
  34. data/test/rails_root/db/migrate/20090402234137_create_languages.rb +18 -0
  35. data/test/rails_root/db/migrate/20090426041056_create_countries.rb +15 -0
  36. data/test/rails_root/db/migrate/20090426041103_create_states.rb +18 -0
  37. data/test/rails_root/db/migrate/{20090704220120_acts_as_taggable_on_migration.rb → 20090506000404_acts_as_taggable_on_migration.rb} +31 -29
  38. data/test/rails_root/db/migrate/20090517040220_create_uploads.rb +38 -0
  39. data/test/rails_root/db/migrate/20090730044139_add_comment_cache.rb +9 -0
  40. data/test/rails_root/db/migrate/20090818204527_add_activity_indexes.rb +9 -0
  41. data/test/rails_root/db/migrate/20090819030523_add_attachable_to_activities.rb +13 -0
  42. data/test/rails_root/lib/daemons/amazonaws.rb +36 -0
  43. data/test/rails_root/lib/tasks/muck.rake +7 -0
  44. data/test/rails_root/public/images/SWFUploadButton.png +0 -0
  45. data/test/rails_root/public/images/arrow_down.gif +0 -0
  46. data/test/rails_root/public/images/arrow_up.gif +0 -0
  47. data/test/rails_root/public/images/cancelbutton.gif +0 -0
  48. data/test/rails_root/public/images/fancybox/fancy_closebox.png +0 -0
  49. data/test/rails_root/public/images/fancybox/fancy_left.png +0 -0
  50. data/test/rails_root/public/images/fancybox/fancy_progress.png +0 -0
  51. data/test/rails_root/public/images/fancybox/fancy_right.png +0 -0
  52. data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
  53. data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
  54. data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
  55. data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
  56. data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
  57. data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
  58. data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
  59. data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
  60. data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
  61. data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
  62. data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
  63. data/test/rails_root/public/images/file_icons/excel.gif +0 -0
  64. data/test/rails_root/public/images/file_icons/file.gif +0 -0
  65. data/test/rails_root/public/images/file_icons/file.png +0 -0
  66. data/test/rails_root/public/images/file_icons/file_aac.gif +0 -0
  67. data/test/rails_root/public/images/file_icons/file_ai.gif +0 -0
  68. data/test/rails_root/public/images/file_icons/file_avi.gif +0 -0
  69. data/test/rails_root/public/images/file_icons/file_bin.gif +0 -0
  70. data/test/rails_root/public/images/file_icons/file_bmp.gif +0 -0
  71. data/test/rails_root/public/images/file_icons/file_cue.gif +0 -0
  72. data/test/rails_root/public/images/file_icons/file_divx.gif +0 -0
  73. data/test/rails_root/public/images/file_icons/file_doc.gif +0 -0
  74. data/test/rails_root/public/images/file_icons/file_eps.gif +0 -0
  75. data/test/rails_root/public/images/file_icons/file_flac.gif +0 -0
  76. data/test/rails_root/public/images/file_icons/file_flv.gif +0 -0
  77. data/test/rails_root/public/images/file_icons/file_gif.gif +0 -0
  78. data/test/rails_root/public/images/file_icons/file_html.gif +0 -0
  79. data/test/rails_root/public/images/file_icons/file_ical.gif +0 -0
  80. data/test/rails_root/public/images/file_icons/file_indd.gif +0 -0
  81. data/test/rails_root/public/images/file_icons/file_inx.gif +0 -0
  82. data/test/rails_root/public/images/file_icons/file_iso.gif +0 -0
  83. data/test/rails_root/public/images/file_icons/file_jpg.gif +0 -0
  84. data/test/rails_root/public/images/file_icons/file_mov.gif +0 -0
  85. data/test/rails_root/public/images/file_icons/file_mp3.gif +0 -0
  86. data/test/rails_root/public/images/file_icons/file_mpg.gif +0 -0
  87. data/test/rails_root/public/images/file_icons/file_pdf.gif +0 -0
  88. data/test/rails_root/public/images/file_icons/file_php.gif +0 -0
  89. data/test/rails_root/public/images/file_icons/file_png.gif +0 -0
  90. data/test/rails_root/public/images/file_icons/file_pps.gif +0 -0
  91. data/test/rails_root/public/images/file_icons/file_ppt.gif +0 -0
  92. data/test/rails_root/public/images/file_icons/file_psd.gif +0 -0
  93. data/test/rails_root/public/images/file_icons/file_qxd.gif +0 -0
  94. data/test/rails_root/public/images/file_icons/file_qxp.gif +0 -0
  95. data/test/rails_root/public/images/file_icons/file_raw.gif +0 -0
  96. data/test/rails_root/public/images/file_icons/file_rtf.gif +0 -0
  97. data/test/rails_root/public/images/file_icons/file_svg.gif +0 -0
  98. data/test/rails_root/public/images/file_icons/file_tif.gif +0 -0
  99. data/test/rails_root/public/images/file_icons/file_txt.gif +0 -0
  100. data/test/rails_root/public/images/file_icons/file_vcf.gif +0 -0
  101. data/test/rails_root/public/images/file_icons/file_wav.gif +0 -0
  102. data/test/rails_root/public/images/file_icons/file_wma.gif +0 -0
  103. data/test/rails_root/public/images/file_icons/file_xls.gif +0 -0
  104. data/test/rails_root/public/images/file_icons/file_xml.gif +0 -0
  105. data/test/rails_root/public/images/file_icons/mp3.gif +0 -0
  106. data/test/rails_root/public/images/file_icons/pdf.gif +0 -0
  107. data/test/rails_root/public/images/file_icons/pdf.png +0 -0
  108. data/test/rails_root/public/images/file_icons/text.gif +0 -0
  109. data/test/rails_root/public/images/file_icons/text.png +0 -0
  110. data/test/rails_root/public/images/file_icons/word.gif +0 -0
  111. data/test/rails_root/public/images/icons/blue_guy.png +0 -0
  112. data/test/rails_root/public/images/icons/button_background.png +0 -0
  113. data/test/rails_root/public/images/icons/cancel.png +0 -0
  114. data/test/rails_root/public/images/icons/close.png +0 -0
  115. data/test/rails_root/public/images/icons/comment.png +0 -0
  116. data/test/rails_root/public/images/icons/exclaim.png +0 -0
  117. data/test/rails_root/public/images/icons/external.png +0 -0
  118. data/test/rails_root/public/images/icons/feed.png +0 -0
  119. data/test/rails_root/public/images/icons/grey_guy.png +0 -0
  120. data/test/rails_root/public/images/icons/hide.png +0 -0
  121. data/test/rails_root/public/images/icons/information.png +0 -0
  122. data/test/rails_root/public/images/icons/minus.png +0 -0
  123. data/test/rails_root/public/images/icons/pending.png +0 -0
  124. data/test/rails_root/public/images/icons/question.png +0 -0
  125. data/test/rails_root/public/images/icons/search_box.png +0 -0
  126. data/test/rails_root/public/images/icons/star.png +0 -0
  127. data/test/rails_root/public/images/icons/stop.png +0 -0
  128. data/test/rails_root/public/images/icons/thumb_down.png +0 -0
  129. data/test/rails_root/public/images/icons/thumb_up.png +0 -0
  130. data/test/rails_root/public/images/nothing.png +0 -0
  131. data/test/rails_root/public/{javascripts/tiny_mce/plugins/advimagetoo/img → images/tinymce}/sample.gif +0 -0
  132. data/test/rails_root/public/{javascripts/tiny_mce/plugins/advfiletoo/img → images/tinymce}/upload.gif +0 -0
  133. data/test/rails_root/public/javascripts/jquery/colorpicker.js +450 -0
  134. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.js.readme +6 -0
  135. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.min.js +15 -0
  136. data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.pack.js +767 -0
  137. data/test/rails_root/public/javascripts/jquery/jquery.easing.js +1 -0
  138. data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +9 -0
  139. data/test/rails_root/public/javascripts/jquery/jquery.metadata.min.js +13 -0
  140. data/test/rails_root/public/javascripts/jquery/jquery.queryString.js +33 -0
  141. data/test/rails_root/public/javascripts/jquery/jquery.swapimage.js +66 -0
  142. data/test/rails_root/public/javascripts/jquery/jquery.swapimage.min.js +11 -0
  143. data/test/rails_root/public/javascripts/jquery/jrails.js +1 -0
  144. data/test/rails_root/public/javascripts/muck.js +11 -6
  145. data/test/rails_root/public/javascripts/muck_activities.js +5 -6
  146. data/test/rails_root/public/javascripts/muck_time/en.js +53 -0
  147. data/test/rails_root/public/javascripts/swfupload/fileprogress.js +151 -0
  148. data/test/rails_root/public/javascripts/swfupload/handlers.js +201 -0
  149. data/test/rails_root/public/javascripts/swfupload/swfupload.cookies.js +53 -0
  150. data/test/rails_root/public/javascripts/swfupload/swfupload.js +980 -0
  151. data/test/rails_root/public/javascripts/swfupload/swfupload.queue.js +98 -0
  152. data/test/rails_root/public/javascripts/swfupload/swfupload.speed.js +342 -0
  153. data/test/rails_root/public/javascripts/swfupload/swfupload.swfobject.js +111 -0
  154. data/test/rails_root/public/javascripts/tiny_mce/plugins/advfiletoo/editor_plugin.js +9 -22
  155. data/test/rails_root/public/javascripts/tiny_mce/plugins/advfiletoo/editor_plugin_src.js +41 -54
  156. data/test/rails_root/public/javascripts/tiny_mce/plugins/advfiletoo/js/functions.js +0 -139
  157. data/test/rails_root/public/javascripts/tiny_mce/plugins/advimagetoo/editor_plugin.js +9 -17
  158. data/test/rails_root/public/javascripts/tiny_mce/plugins/advimagetoo/editor_plugin_src.js +40 -50
  159. data/test/rails_root/public/javascripts/tiny_mce/plugins/advimagetoo/image.htm +10 -9
  160. data/test/rails_root/public/javascripts/tiny_mce/plugins/advimagetoo/js/functions.js +0 -152
  161. data/test/rails_root/public/javascripts/tiny_mce/plugins/advlinktoo/editor_plugin.js +3 -14
  162. data/test/rails_root/public/javascripts/tiny_mce/plugins/advlinktoo/editor_plugin_src.js +3 -14
  163. data/test/rails_root/public/javascripts/tiny_mce/templates/example.htm +14 -0
  164. data/test/rails_root/public/javascripts/tree.js +107 -0
  165. data/test/rails_root/public/stylesheets/jquery/jquery.autocomplete.css +15 -0
  166. data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +44 -0
  167. data/test/rails_root/public/stylesheets/muck-activities.css +39 -0
  168. data/test/rails_root/public/stylesheets/styles.css +10 -3
  169. data/test/rails_root/public/stylesheets/swfupload.css +26 -0
  170. data/test/rails_root/public/{javascripts/tiny_mce/plugins/advfiletoo/css/advfile.css → stylesheets/tinymce.css} +33 -12
  171. data/test/rails_root/public/system/locals/000/000/026/original/deploy-1.rb +75 -0
  172. metadata +153 -25
  173. data/public/javascripts/tiny_mce/plugins/advfiletoo/file.htm +0 -139
  174. data/public/javascripts/tiny_mce/plugins/advimagetoo/css/advimage.css +0 -32
  175. data/public/javascripts/tiny_mce/plugins/advimagetoo/image.htm +0 -303
  176. data/public/javascripts/tiny_mce/plugins/advlinktoo/css/advlink.css +0 -8
  177. data/test/rails_root/db/migrate/20090608073052_create_friends.rb +0 -16
  178. data/test/rails_root/db/migrate/20090808005918_add_scope_index_to_slugs.rb +0 -9
  179. data/test/rails_root/public/javascripts/tiny_mce/plugins/advfiletoo/file.htm +0 -139
  180. data/test/rails_root/public/javascripts/tiny_mce/plugins/advimagetoo/css/advimage.css +0 -32
  181. data/test/rails_root/public/javascripts/tiny_mce/templates/bio.htm +0 -31
  182. data/test/rails_root/public/javascripts/tiny_mce/templates/country.htm +0 -59
@@ -1,25 +1,19 @@
1
1
  /**
2
- * $Id: editor_plugin_src.js 539 2008-01-14 19:08:58Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
2
+ * @author Tatemae
3
+ * @copyright Copyright � 2009, Tatemae, All rights reserved.
6
4
  */
7
-
8
5
  (function() {
9
6
  tinymce.create('tinymce.plugins.AdvancedLinkTooPlugin', {
10
7
  init : function(ed, url) {
11
8
  this.editor = ed;
12
-
13
9
  // Register commands
14
10
  ed.addCommand('mceAdvLinkToo', function() {
15
11
  var se = ed.selection;
16
-
17
12
  // No selection and not in link
18
13
  if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A'))
19
14
  return;
20
-
21
15
  ed.windowManager.open({
22
- file : url + '/link.htm?path=' + jQuery('#pages-path').val(),
16
+ file : '/tiny_mce_links',
23
17
  width : 480 + parseInt(ed.getLang('advlinktoo.delta_width', 0)),
24
18
  height : 400 + parseInt(ed.getLang('advlinktoo.delta_height', 0)),
25
19
  inline : 1
@@ -27,21 +21,17 @@
27
21
  plugin_url : url
28
22
  });
29
23
  });
30
-
31
24
  // Register buttons
32
25
  ed.addButton('link', {
33
26
  title : 'advlinktoo.link_desc',
34
27
  cmd : 'mceAdvLinkToo'
35
28
  });
36
-
37
29
  ed.addShortcut('ctrl+k', 'advlinktoo.advlink_desc', 'mceAdvLinkToo');
38
-
39
30
  ed.onNodeChange.add(function(ed, cm, n, co) {
40
31
  cm.setDisabled('link', co && n.nodeName != 'A');
41
32
  cm.setActive('link', n.nodeName == 'A' && !n.name);
42
33
  });
43
34
  },
44
-
45
35
  getInfo : function() {
46
36
  return {
47
37
  longname : 'Advanced link',
@@ -52,7 +42,6 @@
52
42
  };
53
43
  }
54
44
  });
55
-
56
45
  // Register plugin
57
46
  tinymce.PluginManager.add('advlinktoo', tinymce.plugins.AdvancedLinkTooPlugin);
58
47
  })();
@@ -0,0 +1,14 @@
1
+ <div class="mceTmpl">
2
+ <h2>Example Template</h2>
3
+ <p>Adding a new template is easy. Just add a line to mce_options.rb and a the corresponding template file to javascripts/tiny_mce/templates.</p>
4
+ <p>For example, this template lives in javascripts/tiny_mce/templates/example.htm. The entry for the template is found in mce_options.rb and is as follows:</p>
5
+ <pre>
6
+ GlobalConfig.raw_mce_options = 'template_templates : [
7
+ {
8
+ title : "Example Template",
9
+ src : "/javascripts/tiny_mce/templates/example.htm",
10
+ description : "An example of how to add a template."
11
+ }
12
+ ]'
13
+ </pre>
14
+ </div>
@@ -0,0 +1,107 @@
1
+ jQuery(document).ready(function() {
2
+
3
+ jQuery(".pageContainer").draggable({
4
+ zIndex : 1000000,
5
+ revert : 'invalid',
6
+ opacity : 0.5,
7
+ scroll : true,
8
+ helper : 'clone'
9
+ });
10
+
11
+ jQuery("#pageList").droppable({
12
+ accept: ".pageContainer",
13
+ drop: function(ev, ui) {
14
+ var source_li = jQuery(ui.draggable);
15
+ var child_ul = jQuery(this).children('ul');
16
+ var page_id = source_li.children('input').val();
17
+ var parent_id = 0;
18
+ if(same_parent(source_li, child_ul)){
19
+ return;
20
+ }
21
+ insert_alphabetic(child_ul, source_li);
22
+ update_parent(page_id, parent_id);
23
+ }
24
+ });
25
+
26
+ jQuery(".pageContainer").droppable({
27
+ accept: ".pageContainer",
28
+ hoverClass: 'pageContainer-hover',
29
+ tolerance : 'pointer',
30
+ greedy : true,
31
+ drop: function(ev, ui) {
32
+ var source_li = jQuery(ui.draggable);
33
+ var target_li = jQuery(this);
34
+ var page_id = source_li.children('input').val();
35
+ var parent_id = target_li.children('input').val();
36
+ if(target_li.children('ul').length <= 0){
37
+ target_li.append('<ul></ul>');
38
+ }
39
+ var child_ul = target_li.children('ul');
40
+ if(same_parent(source_li, child_ul)){
41
+ return;
42
+ }
43
+ jQuery(this).children('ul:hidden').slideDown();
44
+ insert_alphabetic(child_ul, source_li);
45
+ update_parent(page_id, parent_id);
46
+ }
47
+ });
48
+
49
+ jQuery(".submit-delete").click(function() {
50
+ if(jQuery(this).parents('li:first').siblings('li').length <= 0){
51
+ jQuery(this).parents('li:first').parents('li:first').children('.expander').remove();
52
+ }
53
+ return false;
54
+ });
55
+
56
+ function insert_alphabetic(child_ul, source_li){
57
+ var kids = child_ul.children('li');
58
+ var source_text = source_li.children('span.link').children('a').html().toLowerCase();
59
+ for(i=0; i<kids.length; i++){
60
+ var current_text = jQuery(kids[i]).children('span.link').children('a').html().toLowerCase();
61
+ if(source_text < current_text){
62
+ source_li.insertBefore(kids[i]);
63
+ return;
64
+ }
65
+ }
66
+ source_li.appendTo(child_ul);
67
+ }
68
+
69
+ function same_parent(source_li, child_ul){
70
+ return source_li.parent() == child_ul;
71
+ }
72
+
73
+ function update_parent(page_id, parent_id){
74
+ var path = jQuery('#updatePath').val();
75
+ jQuery.post(path + '/' + page_id + '.js', {parent_id: parent_id, action: 'update', _method: 'put', only_parent: 'true' },
76
+ function(data){
77
+ apply_expander();
78
+ if(data.length > 0){
79
+ var result = eval('(' + data + ')');
80
+ if(!result.success){
81
+ jQuery.jGrowl.error(result.message);
82
+ }
83
+ }
84
+ });
85
+ return false;
86
+ }
87
+
88
+ apply_expander();
89
+ function apply_expander(){
90
+ jQuery(".expander").remove();
91
+ jQuery(".pageContainer ul:hidden li:first-child").parent().parent().prepend('<a class="expander" href="#"><img src="/images/expand.png" /></a>');
92
+ jQuery(".pageContainer ul:visible li:first-child").parent().parent().prepend('<a class="expander" href="#"><img src="/images/collapse.png" /></a>');
93
+ jQuery(".expander").click(function(){
94
+ var img = jQuery(this).children('img');
95
+ var target_ul = jQuery(this).siblings('ul');
96
+ if(img.attr('src') == '/images/expand.png'){
97
+ img.attr('src', '/images/collapse.png');
98
+ target_ul.slideDown();
99
+ } else {
100
+ img.attr('src', '/images/expand.png');
101
+ target_ul.slideUp();
102
+ }
103
+ return false;
104
+ });
105
+ }
106
+
107
+ });
@@ -0,0 +1,15 @@
1
+ .ac_results{padding:0px;border:1px solid black;background-color:white;overflow:hidden;z-index:99999;color:#555;}
2
+ .ac_results ul{width:100%;list-style-position:outside;list-style:none;padding:0;margin:0;}
3
+ .ac_results li{margin:0px;padding:2px 5px;cursor:default;display:block;/*
4
+ if width will be 100% horizontal scrollbar will apear
5
+ when scroll mode will be used
6
+ */
7
+ /*width:100%;*/
8
+ font:menu;font-size:12px;/*
9
+ it is very important,if line-height not setted or setted
10
+ in relative units scroll will be broken in firefox
11
+ */
12
+ line-height:16px;overflow:hidden;}
13
+ .ac_loading{background:white url('/images/spinner.gif') right center no-repeat;}
14
+ .ac_odd{background-color:#eee;}
15
+ .ac_over{background-color:#0A246A;color:white;}
@@ -0,0 +1,44 @@
1
+ html,body{height:100%;}
2
+ div#fancy_overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#666;display:none;z-index:30;}
3
+ * html div#fancy_overlay{position:absolute;height:expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight :document.body.offsetHeight + 'px');}
4
+ div#fancy_wrap{text-align:left;}
5
+ div#fancy_loading{position:absolute;height:40px;width:40px;cursor:pointer;display:none;overflow:hidden;background:transparent;z-index:100;}
6
+ div#fancy_loading div{position:absolute;top:0;left:0;width:40px;height:480px;background:transparent url('/images/fancybox/fancy_progress.png') no-repeat;}
7
+ div#fancy_loading_overlay{position:absolute;background-color:#FFF;z-index:30;}
8
+ div#fancy_loading_icon{position:absolute;background:url('/images/fancybox/fancy_loading.gif') no-repeat;z-index:35;width:16px;height:16px;}
9
+ div#fancy_outer{position:absolute;top:0;left:0;z-index:90;padding:18px 18px 33px 18px;margin:0;overflow:hidden;background:transparent;display:none;}
10
+ div#fancy_inner{position:relative;width:100%;height:100%;border:1px solid #BBB;background:#FFF;}
11
+ div#fancy_content{margin:0;z-index:100;position:absolute;}
12
+ div#fancy_div{background:#000;color:#FFF;height:100%;width:100%;z-index:100;}
13
+ img#fancy_img{position:absolute;top:0;left:0;border:0;padding:0;margin:0;z-index:100;width:100%;height:100%;}
14
+ div#fancy_close{position:absolute;top:-12px;right:-15px;height:30px;width:30px;background:url('/images/fancybox/fancy_closebox.png') top left no-repeat;cursor:pointer;z-index:181;display:none;}
15
+ #fancy_frame{position:relative;width:100%;height:100%;display:none;}
16
+ #fancy_ajax{width:100%;height:100%;overflow:auto;}
17
+ a#fancy_left,a#fancy_right{position:absolute;bottom:0px;height:100%;width:35%;cursor:pointer;z-index:111;display:none;background-image:url(data:image/gif;base64,AAAA);outline:none;}
18
+ a#fancy_left{left:0px;}
19
+ a#fancy_right{right:0px;}
20
+ span.fancy_ico{position:absolute;top:50%;margin-top:-15px;width:30px;height:30px;z-index:112;cursor:pointer;display:block;}
21
+ span#fancy_left_ico{left:-9999px;background:transparent url('/images/fancybox/fancy_left.png') no-repeat;}
22
+ span#fancy_right_ico{right:-9999px;background:transparent url('/images/fancybox/fancy_right.png') no-repeat;}
23
+ a#fancy_left:hover{visibility:visible;}
24
+ a#fancy_right:hover{visibility:visible;}
25
+ a#fancy_left:hover span{left:20px;}
26
+ a#fancy_right:hover span{right:20px;}
27
+ .fancy_bigIframe{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;}
28
+ div#fancy_bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:70;border:0;padding:0;margin:0;}
29
+ div.fancy_bg{position:absolute;display:block;z-index:70;border:0;padding:0;margin:0;}
30
+ div.fancy_bg_n{top:-18px;width:100%;height:18px;background:transparent url('/images/fancybox/fancy_shadow_n.png') repeat-x;}
31
+ div.fancy_bg_ne{top:-18px;right:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_ne.png') no-repeat;}
32
+ div.fancy_bg_e{right:-13px;height:100%;width:13px;background:transparent url('/images/fancybox/fancy_shadow_e.png') repeat-y;}
33
+ div.fancy_bg_se{bottom:-18px;right:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_se.png') no-repeat;}
34
+ div.fancy_bg_s{bottom:-18px;width:100%;height:18px;background:transparent url('/images/fancybox/fancy_shadow_s.png') repeat-x;}
35
+ div.fancy_bg_sw{bottom:-18px;left:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_sw.png') no-repeat;}
36
+ div.fancy_bg_w{left:-13px;height:100%;width:13px;background:transparent url('/images/fancybox/fancy_shadow_w.png') repeat-y;}
37
+ div.fancy_bg_nw{top:-18px;left:-13px;width:13px;height:18px;background:transparent url('/images/fancybox/fancy_shadow_nw.png') no-repeat;}
38
+ div#fancy_title{position:absolute;bottom:-33px;left:0;width:100%;z-index:100;display:none;}
39
+ div#fancy_title div{color:#FFF;font:bold 12px Arial;padding-bottom:3px;}
40
+ div#fancy_title table{margin:0 auto;}
41
+ div#fancy_title table td{padding:0;vertical-align:middle;}
42
+ td#fancy_title_left{height:32px;width:15px;background:transparent url(fancy_title_left.png) repeat-x;}
43
+ td#fancy_title_main{height:32px;background:transparent url(fancy_title_main.png) repeat-x;}
44
+ td#fancy_title_right{height:32px;width:15px;background:transparent url(fancy_title_right.png) repeat-x;}
@@ -0,0 +1,39 @@
1
+ /* activity feed */
2
+ #activity-status-control{border:solid 1px #ccc;padding:10px 7px;background-color:#eee;}
3
+ #status-update-field{}
4
+ ul#status-menu{list-style:none;}
5
+ ul#status-menu li{float:left;display:inline;margin:0 5px;}
6
+ #status-update-button input{padding:0;}
7
+ .status-update-dim{}
8
+ .status-update-lit{}
9
+ ul#activity-filter{list-style:none;}
10
+ ul#activity-filter li{border-bottom:solid 1px #ccc;}
11
+ ul#activity-filter li a{text-decoration:none;}
12
+ ul#activity-filter li a:hover;{text-decoration:underline;}
13
+ ul#activity-filter li.current a{color:#5EAC18;}
14
+ .activity{clear:both;display:block;}
15
+ #activity-feed{margin:15px 0 0 0;}
16
+ #activity-feed-content .activity{margin:8px 0 4px 0;}
17
+ #activity-feed-content .activity-time{font-size:1em;font-color:#eee;clear:left;}
18
+ #activity-icon, .actor-icon{width:50px;float:left;margin:0 10px 10px 0;overflow:hidden;}
19
+ #activity-feed-content .actor, #current-status-name{font-weight:bolder;font-size:1.3em;}
20
+ .activity-time, .status-time{color:#777777;font-size:.9em;}
21
+ p#current-status-text, .activity-content p{margin:0;}
22
+ form.activity-delete {position:relative;display:inline;float:right;display:none;}
23
+ form.activity-delete input{padding:0;margin:0;width:15px;height:15px;position:absolute;right:0px;bottom:0px;}
24
+ .activity .activity-hover form.activity-delete{display:block;}
25
+ .welcome_activity{font-size:14px;}
26
+ a.upload-button{background:transparent url('/images/icons/button_background.png') no-repeat scroll left top;text-decoration:none;padding:0px 23px 1px 6px;color:#fff;font-weight:bold;}
27
+ a.upload-button:hover{background:transparent url('/images/icons/button_background.png') no-repeat scroll left bottom;}
28
+ /* comments under activity feed */
29
+ .activity-comment{border:1px solid #ccc;margin:2px 50px 2px 60px;padding:.5em;background-color:#eee;}
30
+ .activity-comment .actor-icon{width:40px;}
31
+ .activity-comment .actor-icon img{width:40px;height:40px;}
32
+ .activity-comment textarea.max{width:80%;height:30px;}
33
+ .activity-comment textarea.min{height:15px;width:50%;}
34
+ .activity-comment p{margin:0;}
35
+ .activity-comment .actor a{font-size:.8em;}
36
+ .activity form.comment-delete {position:relative;display:inline;float:right;}
37
+ .activity form.comment-delete input{padding:0;margin:0;width:15px;height:15px;position:absolute;right:0px;top:0px;}
38
+ .activity form.comment-delete{display:none;}
39
+ .activity .comment-hover form.comment-delete{display:block;}
@@ -1,3 +1,8 @@
1
+ /* general */
2
+ .center{text-align:center;}
3
+ #popup_wrapper{width:auto;}
4
+ .waiting{margin:3px 0;padding-left:20px;background:transparent url('/images/spinner.gif') no-repeat scroll left bottom;}
5
+
1
6
  /* forms */
2
7
  input{margin:0 10px 5px 0;padding:4px;font-size:1.3em;}
3
8
  input[type="text"],input[type="password"]{border:1px solid #8f8685;}
@@ -12,18 +17,20 @@ fieldset{border:none;margin:0;padding:0;}
12
17
  form fieldset{margin:0 0 2px;padding:0px;}
13
18
  form fieldset input[type="text"],form fieldset input[type="password"]{width:500px;}
14
19
  .common-form{width:500px;margin:40px auto;}
15
- .common-form h1{font-size:1.8em;}
20
+ .wide-form h1, .common-form h1{font-size:1.8em;}
21
+ .wide-form{width:700px;margin:40px auto;}
16
22
  .form-item{float:left;}
17
23
  .common-content{width:500px;margin:40px auto;font-size:1.2em;color:#555;}
18
24
  .button-link {background-color:transparent;border-top-width: 0px;border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;}
19
25
 
20
26
  /*images*/
27
+ .tiny{width:24px;height:24px;}
21
28
  .icon{width:50px;height:50px;}
22
29
  .thumb{width:100px;height:100px;}
23
30
  .medium{width:300px;height:300px;}
24
31
 
25
32
  /* tips */
26
- .availability{color:#b61e12;}
33
+ .availability{color:#b61e12;position:absolute;}
27
34
  .hidden-tips{display:none;}
28
35
  .required-tip{color:#555555;font-size:1.2em;margin:0pt;font-weight:bolder;height:0px;}
29
36
  .tip{position:absolute;z-index:100;border:2px solid #CCCCCC;background-color:#fff;width:400px;}
@@ -76,4 +83,4 @@ div.jGrowl div.jGrowl-notification h2{text-align:left;font-weight:bold;padding:5
76
83
  #errorExplanation{padding:7px;padding-bottom:12px;margin-bottom:20px;}
77
84
  #errorExplanation h2{text-align:left;font-weight:bold;padding:5px 5px 5px 15px;font-size:16px;background-color:#B61E12;color:#fff;}
78
85
  #errorExplanation p{color:#333;margin-bottom:0;padding:5px;}
79
- #errorExplanation ul li{list-style:square;}
86
+ #errorExplanation ul li{list-style:square;}
@@ -0,0 +1,26 @@
1
+ div.uploadStatus{margin:5px;}
2
+ .swf_fs_upload_progress{font-size:1.3em;}
3
+ #deliver-uploads #upload-list{font-size:1.3em;}
4
+ #deliver-uploads #upload-list table {border-collapse:collapse;}
5
+ #deliver-uploads #upload-list td{padding:3px 6px;}
6
+ #deliver-uploads #upload-controls{width:365px;}
7
+ #deliver-uploads .swfupload_container .legend{color:#231F20;font-size:1.1em;font-weight:bold;}
8
+
9
+ .swfupload_container .progressWrapper{width:357px;overflow:hidden;}
10
+ .swfupload_container .progressContainer{margin:5px;padding:4px;border:solid 1px #E8E8E8;background-color:#F7F7F7;overflow:hidden;}
11
+ .swfupload_container .message{margin:1em 0;padding:10px 20px;border:solid 1px #FFDD99;background-color:#FFFFCC;overflow:hidden;}
12
+ .swfupload_container .red{border:solid 1px #B50000;background-color:#FFEBEB;}
13
+ .swfupload_container .green{border:solid 1px #DDF0DD;background-color:#EBFFEB;}
14
+ .swfupload_container .blue{border:solid 1px #CEE2F2;background-color:#F0F5FF;}
15
+ .swfupload_container .progressName{font-size:8pt;font-weight:700;color:#555;width:323px;height:14px;text-align:left;white-space:nowrap;overflow:hidden;}
16
+ .swfupload_container .progressBarInProgress,
17
+ .swfupload_container .progressBarComplete,
18
+ .swfupload_container .progressBarError{font-size:0;width:0%;height:2px;background-color:blue;margin-top:2px;}
19
+ .swfupload_container .progressBarComplete{width:100%;background-color:green;visibility:hidden;}
20
+ .swfupload_container .progressBarError{width:100%;background-color:red;visibility:hidden;}
21
+ .swfupload_container .progressBarStatus{margin-top:2px;width:337px;font-size:7pt;font-family:Arial;text-align:left;white-space:nowrap;}
22
+ .swfupload_container a.progressCancel{font-size:0;display:block;height:14px;width:14px;background-image:url(../images/cancelbutton.gif);background-repeat:no-repeat;background-position:-14px 0px;float:right;}
23
+ .swfupload_container a.progressCancel:hover{background-position:0px 0px;}
24
+
25
+ .swf-error-msg{margin:1em 0;padding:10px 20px;border:solid 1px #FFDD99;background-color:#FFFFCC;overflow:hidden;}
26
+ .swf_cancel_button{margin-left: 2px; height: 22px; font-size: 8pt;}
@@ -12,12 +12,14 @@ input{width:280px;}
12
12
  input.submit{width:auto;margin:0;}
13
13
  #constrain,#onmousemovecheck{width:auto;}
14
14
  #id,#dir,#lang,#usemap,#longdesc{width:200px;}
15
+ .right{float:right;}
16
+ .left{float:left;}
17
+ .clear{clear:both;}
18
+ .pagination a{border:1px solid #7DA807;color:#7DA807;margin-right:.3em;padding:.3em;}
19
+ .pagination a:hover{background:#7DA807;border:1px solid #7DA807;color:#ffffff;}
20
+ .pagination a.active{background:#1EA2C1;border:none;color:#ffffff;}
21
+ /*file dialog*/
15
22
  ul.file-list{list-style:none;margin:0;padding:0;}
16
- ul.file-list img{border:0;margin:0px 3px;}
17
- ul.file-list li{display:block;float:left;margin-right:4px;margin-bottom:2px;width:300px;height:20px;}
18
- ul.file-list li img.icon{width:20px;}
19
- ul.file-list li a{outline:none;font-size:14px;text-decoration:none;}
20
- ul.file-list li a:hover{text-decoration:underline;}
21
23
  ul.file-list li.selected a img{border:2px solid red;}
22
24
  ul.file-list li .thumbs{display:none;background:#efefef;position:absolute;width:65px;margin:25px 5px 5px 15px;border-right:2px solid #666;border-bottom:2px solid #333;border-top:2px solid #efefef;border-left:2px solid #efefef;}
23
25
  ul.file-list li .thumbs a{margin-bottom:5px;line-height:1.5em;text-decoration:none;}
@@ -25,10 +27,29 @@ ul.file-list li .thumbs a{text-decoration:underline;}
25
27
  ul.file-list li.selected .thumbs{display:block;}
26
28
  ul.file-list li .thumbs .file-controls{border-top:solid 2px #666666;margin:5px 1px;}
27
29
  ul.file-list li .thumbs .file-control{float:right;font-size:10px;display:block;margin:2px;}
28
- .right{float:right;}
29
- .left{float:left;}
30
- .clear{clear:both;}
31
- .pagination a{border:1px solid #7DA807;color:#7DA807;margin-right:.3em;padding:.3em;}
32
- .pagination a:hover{background:#7DA807;border:1px solid #7DA807;color:#ffffff;}
33
- .pagination a.active{background:#1EA2C1;border:none;color:#ffffff;}
34
-
30
+ ul.file-list img{border:0;margin:0px 3px;}
31
+ ul.file-list li{display:block;float:left;margin-right:4px;margin-bottom:2px;width:300px;height:20px;}
32
+ ul.file-list li img.icon{width:20px;}
33
+ ul.file-list li a{outline:none;font-size:14px;text-decoration:none;}
34
+ ul.file-list li a:hover{text-decoration:underline;}
35
+ /*image dialog*/
36
+ ul.image-list{list-style:none;margin:0;padding:0;}
37
+ ul.image-list li{display:block;float:left;margin-right:4px;margin-bottom:2px;width:100px;height:100px;overflow:hidden;}
38
+ ul.image-list li img{border:0;}
39
+ ul.image-list li a{outline:none;}
40
+ ul.image-list li.selected a img{border:2px solid red;}
41
+ ul.image-list li .thumbs{display:none;background:#efefef;position:absolute;width:65px;margin:25px 5px 5px 15px;border-right:2px solid #666;border-bottom:2px solid #333;border-top:2px solid #efefef;border-left:2px solid #efefef;}
42
+ ul.image-list li .thumbs a{margin-bottom:5px;line-height:1.5em;text-decoration:none;}
43
+ ul.image-list li .thumbs a{text-decoration:underline;}
44
+ ul.image-list li.selected .thumbs{display:block;}
45
+ ul.image-list li .thumbs .file-controls{border-top:solid 2px #666666;margin:5px 1px;}
46
+ ul.image-list li .thumbs .file-control{float:right;font-size:10px;display:block;margin:2px;}
47
+ /*link dialog*/
48
+ .mceLinkList, .mceAnchorList, #targetlist {width:280px;}
49
+ .mceActionPanel {margin-top:7px;}
50
+ .panel_wrapper div.current {height:390px;}
51
+ #classlist, #title, #href {width:280px;}
52
+ #popupurl, #popupname {width:200px;}
53
+ #popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;}
54
+ #id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;}
55
+ #events_panel input {width:200px;}
@@ -0,0 +1,75 @@
1
+ # Please install the Engine Yard Capistrano gem
2
+ # gem install eycap --source http://gems.engineyard.com
3
+ require "eycap/recipes"
4
+
5
+ set :keep_releases, 5
6
+ set :application, 'topic'
7
+ set :repository, 'git@github.com:jbasdf/topic.git'
8
+ set :deploy_to, "/data/#{application}"
9
+ set :deploy_via, :export
10
+ set :monit_group, "#{application}"
11
+ set :scm, :git
12
+ set :git_enable_submodules, 1
13
+ # This is the same database name for all environments
14
+ set :production_database,'topic_production'
15
+
16
+ set :environment_host, 'localhost'
17
+ set :deploy_via, :remote_cache
18
+
19
+ # uncomment the following to have a database backup done before every migration
20
+ # before "deploy:migrate", "db:dump"
21
+
22
+ # comment out if it gives you trouble. newest net/ssh needs this set.
23
+ ssh_options[:paranoid] = false
24
+ default_run_options[:pty] = true
25
+ ssh_options[:forward_agent] = true
26
+ default_run_options[:pty] = true # required for svn+ssh:// andf git:// sometimes
27
+
28
+ # This will execute the Git revision parsing on the *remote* server rather than locally
29
+ set :real_revision, lambda { source.query_revision(revision) { |cmd| capture(cmd) } }
30
+
31
+
32
+ task :production do
33
+ role :web, '174.129.202.127'
34
+ role :app, '174.129.202.127'
35
+ role :db, '174.129.202.127', :primary => true
36
+ set :environment_database, Proc.new { production_database }
37
+ set :dbuser, 'muck'
38
+ set :dbpass, 'KFrTfTKW0R'
39
+ set :user, 'muck'
40
+ set :password, 'KFrTfTKW0R'
41
+ set :runner, 'muck'
42
+ set :rails_env, 'production'
43
+ end
44
+
45
+
46
+ # TASKS
47
+ # Don't change unless you know what you are doing!
48
+
49
+ after "deploy", "deploy:cleanup"
50
+ after "deploy:migrations", "deploy:cleanup"
51
+ after "deploy:update_code","deploy:symlink_configs"
52
+
53
+ namespace :nginx do
54
+ task :start, :roles => :app do
55
+ sudo "nohup /etc/init.d/nginx start > /dev/null"
56
+ end
57
+
58
+ task :restart, :roles => :app do
59
+ sudo "nohup /etc/init.d/nginx restart > /dev/null"
60
+ end
61
+ end
62
+
63
+ namespace :deploy do
64
+ task :start, :roles => :app do
65
+ run "touch #{current_release}/tmp/restart.txt"
66
+ end
67
+
68
+ task :stop, :roles => :app do
69
+ # Do nothing.
70
+ end
71
+
72
+ task :restart, :roles => :app do
73
+ run "touch #{current_release}/tmp/restart.txt"
74
+ end
75
+ end