detect flavors from useragent
[opensuse:software-o-o.git] / app / views / download / html.erb
1 <%
2 def gradient(top, mid, btm)
3   "  background: #{mid};\n" +
4   "  background: -webkit-gradient(linear, left top, left bottom, from(#{top}), to(#{btm}));\n" +
5   "  background: -moz-linear-gradient(top,  #{top},  #{btm});\n" +
6   "  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#{top}', endColorstr='#{btm}');"
7 end
8 %>
9 <!DOCTYPE html>
10 <html>
11 <head>
12 <style>
13 body {
14   font: 0.8em "DejaVu Sans", "Bitstream Vera Sans", Verdana, sans-serif;
15   margin: 16px;
16   margin-top: 0px;
17   padding: 0;
18 }
19 .soo_line {
20   color: #480;
21   clear: both;
22   border-bottom: 1px solid #CCC;
23   padding-top: 10px;
24   font-size: 1.1em;
25   display: none;
26 }
27 .soo_line span {
28   float: right;
29 }
30 .soo_line_visible {
31   display: block;
32 }
33 .soo_button {
34   display: block;
35   float: left;
36   cursor: pointer;
37   border: 1px solid transparent;
38   padding: 3px 5px;
39   margin: 0 .5em 0 0;
40   -moz-border-radius: 8px;
41   border-radius: 8px;
42 }
43 .soo_button:hover, .soo_button_chosen {
44   border: 1px solid #BE7;
45 <%= gradient('#FCFCFC','#F0F0F0','#E4E4E4')%>
46 }
47 .soo_button p {
48   font-size: 0.75em;
49   text-align: center;
50   margin: 0;
51 }
52 .soo_ymplink, .soo_pkglink {
53   font-size: 0.85em;
54   color: white;
55   display: block;
56   margin: 6px;
57   line-height: 24px;
58   font-weight: bolder;
59   float: left;
60   text-decoration: none;
61   height: 24px;
62   text-align: center;
63   -moz-border-radius: 12px;
64   border-radius: 12px;
65   padding-left: 8px;
66   padding-right: 8px;
67 }
68 .soo_ymplink {
69 <%= gradient('#9D0','#7B0','#580') %>
70   border: 1px solid #490;
71   min-width: 112px;
72 }
73 .soo_pkglink {
74 <%= gradient('#09D','#07B','#058') %>
75   border: 1px solid #049;
76   min-width: 64px;
77 }
78 pre {
79   background: #EEE;
80   border: 1px dotted #888;
81   padding: 4px;
82   margin-left: 2em;
83   font-size: 1.2em;
84   overflow-x: auto;
85 }
86 pre a {
87   text-decoration: none;
88   color: #008;
89 }
90 .soo_distro {
91   display: none;
92 }
93 </style>
94 <%= javascript_include_tag "http://static.opensuse.org/themes/bento/js/jquery.js" %>
95 <script type="text/javascript">
96 $(function(){
97   $('.soo_button').click(function(){
98     $('.soo_line').show();
99     $('.soo_button').removeClass('soo_button_chosen');
100     $(this).addClass('soo_button_chosen');
101     $('.soo_distro').hide();
102     $('.soo_distro_' + $(this).data('flavor')).show();
103   });
104 // try to detect distro via user agent
105   if (navigator.userAgent.indexOf('CentOS') > 0 ) $('#soo_button_CentOS').click();
106   if (navigator.userAgent.indexOf('Debian') > 0 ) $('#soo_button_Debian').click();
107   if (navigator.userAgent.indexOf('Fedora') > 0 ) $('#soo_button_Fedora').click();
108   if (navigator.userAgent.indexOf('Mandriva') > 0 ) $('#soo_button_Mandriva').click();
109   if (navigator.userAgent.indexOf('Mageia') > 0 ) $('#soo_button_Mageia').click();
110   if (navigator.userAgent.indexOf('Red Hat') > 0 ) $('#soo_button_RHEL').click();
111   if (navigator.userAgent.indexOf('SUSE') > 0 ) $('#soo_button_openSUSE').click();
112   if (navigator.userAgent.indexOf('buntu') > 0 ) $('#soo_button_Ubuntu').click();
113 });
114 </script>
115 </head>
116 <body>
117
118 <div class="soo_box">
119   <p class="soo_line soo_line_visible">Select Your Operating System</p>
120   <% @flavors.each do |flavor| %>
121   <div class="soo_button" id="soo_button_<%= flavor %>" data-flavor="<%= flavor %>"><img src="<%= image_path('download/' + flavor.downcase + '.png') %>" alt="<%= flavor %>" /><p><%= flavor %></p></div>
122   <% end %>
123 </div>
124
125 <div id="soo_ymp" class="soo_box">
126   <p class="soo_line">Install using One Click Install<span>V</span></p>
127   <% @data.select {|k,v| v.has_key?(:ymp)}.each do |k,v| %>
128   <a class="soo_ymplink soo_distro soo_distro_<%= v[:flavor] %>" href="<%= v[:ymp] %>"><%= k.gsub('_', ' ') %></a>
129   <% end %>
130 </div>
131
132 <div id="soo_repo" class="soo_box">
133   <p class="soo_line">Add repository and install manually<span>V</span></p>
134   <% @data.select {|k,v| v.has_key?(:repo)}.each do |k,v| %>
135   <div class="soo_distro soo_distro_<%= v[:flavor] %>">
136   <p>For <strong><%= k.gsub('_', ' ') %></strong> run the following as <strong>root</strong>:</p>
137   <pre><%=
138     case v[:flavor]
139       when 'openSUSE', 'SLE'
140         "zypper addrepo #{v[:repo]}#{@prj}.repo\nzypper refresh\nzypper install #{@pkg}"
141       when 'CentOS', 'Fedora', 'RHEL'
142         "cd /etc/yum/repos.d/\nwget #{v[:repo]}#{@prj}.repo\nyum update\nyum install #{@pkg}"
143       when 'Debian', 'Ubuntu'
144         "echo 'deb #{v[:repo]} ./' > /etc/apt/sources.list\napt-get update\napt-get install #{@pkg}"
145       when 'Mageia', 'Mandriva'
146         "urpmi.addmedia #{@prj} #{v[:repo]}\nurpmi.update -a\nurpmi #{@pkg}"
147       else
148         '?'
149     end
150   %></pre>
151   </div>
152   <% end %>
153 </div>
154
155 <div id="soo_pkg" class="soo_box">
156   <p class="soo_line">Grab binary packages directly<span>V</span></p>
157   <table>
158   <% @data.select {|k,v| v.has_key?(:pkg)}.each do |k,v| %>
159   <tr class="soo_distro soo_distro_<%= v[:flavor] %>"><td>Packages for <strong><%= k.gsub('_', ' ') %></strong>:</td>
160   <% v[:pkg].each do |k,v| %>
161   <td><a class="soo_pkglink" href="<%= v %>"><%= k %></a></td>
162   <% end %>
163   </tr>
164   <% end %>
165   </table>
166 </div>
167
168 </body>
169 </html>