Show the "add your link" dialog BEFORE hosted sites list
[hcoop/portal.git] / portal.mlt
dissimilarity index 81%
index 711a6f2..f41f567 100644 (file)
@@ -1,65 +1,79 @@
-<% val you = Init.getUser();
-val bal = Balance.lookupBalance (#bal you);
-@header [] %>
-
-<h3><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=payment@hcoop.net&item_name=Member+payment+for+<% #name you %>">Add to your balance with PayPal</a></h3>
-
-<h3>Add to your balance with <a href="http://checkout.google.com/">Google Checkout</a>:
-    <table>
-<form action="https://checkout.google.com/cws/v2/Merchant/641723647067155/checkout" id="BB_BuyButtonForm" method="post" name="BB_BuyButtonForm">
-        <tr>
-            <td>
-                <select name="buyButtonCart">
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkMTAgdG8geW91ciBiYWxhbmNlPC9pdGVtLW5hbWU+DQogICAgICAgIDxxdWFudGl0eT4xPC9xdWFudGl0eT4NCiAgICAgICAgPHVuaXQtcHJpY2UgY3VycmVuY3k9IlVTRCI+MTAuMDwvdW5pdC1wcmljZT4NCiAgICAgICAgPGl0ZW0tZGVzY3JpcHRpb24gLz4NCiAgICAgIDwvaXRlbT4NCiAgICA8L2l0ZW1zPg0KICA8L3Nob3BwaW5nLWNhcnQ+DQogIDxjaGVja291dC1mbG93LXN1cHBvcnQ+DQogICAgPG1lcmNoYW50LWNoZWNrb3V0LWZsb3ctc3VwcG9ydCAvPg0KICA8L2NoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCjwvY2hlY2tvdXQtc2hvcHBpbmctY2FydD4NCg0K//separator//JamZPEfPuWdsrp0xWerG2bJmWYg=">&#x24;10.00 - Add &#x24;10 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkMjAgdG8geW91ciBiYWxhbmNlPC9pdGVtLW5hbWU+DQogICAgICAgIDxxdWFudGl0eT4xPC9xdWFudGl0eT4NCiAgICAgICAgPHVuaXQtcHJpY2UgY3VycmVuY3k9IlVTRCI+MjAuMDwvdW5pdC1wcmljZT4NCiAgICAgICAgPGl0ZW0tZGVzY3JpcHRpb24gLz4NCiAgICAgIDwvaXRlbT4NCiAgICA8L2l0ZW1zPg0KICA8L3Nob3BwaW5nLWNhcnQ+DQogIDxjaGVja291dC1mbG93LXN1cHBvcnQ+DQogICAgPG1lcmNoYW50LWNoZWNrb3V0LWZsb3ctc3VwcG9ydCAvPg0KICA8L2NoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCjwvY2hlY2tvdXQtc2hvcHBpbmctY2FydD4NCg0K//separator//2CDnW1MkNhBy4j1k7V6s2TVEVpI=">&#x24;20.00 - Add &#x24;20 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkNTAgdG8geW91ciBiYWxhbmNlPC9pdGVtLW5hbWU+DQogICAgICAgIDxxdWFudGl0eT4xPC9xdWFudGl0eT4NCiAgICAgICAgPHVuaXQtcHJpY2UgY3VycmVuY3k9IlVTRCI+NTAuMDwvdW5pdC1wcmljZT4NCiAgICAgICAgPGl0ZW0tZGVzY3JpcHRpb24gLz4NCiAgICAgIDwvaXRlbT4NCiAgICA8L2l0ZW1zPg0KICA8L3Nob3BwaW5nLWNhcnQ+DQogIDxjaGVja291dC1mbG93LXN1cHBvcnQ+DQogICAgPG1lcmNoYW50LWNoZWNrb3V0LWZsb3ctc3VwcG9ydCAvPg0KICA8L2NoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCjwvY2hlY2tvdXQtc2hvcHBpbmctY2FydD4NCg0K//separator//88aQDU37EdF4b2MsvLPL2FiAbRU=">&#x24;50.00 - Add &#x24;50 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkMTAwIHRvIHlvdXIgYmFsYW5jZTwvaXRlbS1uYW1lPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjEwMC4wPC91bml0LXByaWNlPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//EayZGMDTNKdL75UUBET3ivL5tPU=">&#x24;100.00 - Add &#x24;100 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkMjAwIHRvIHlvdXIgYmFsYW5jZTwvaXRlbS1uYW1lPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjIwMC4wPC91bml0LXByaWNlPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//wjow2c9hWKClWEf9bZgI00to3Oc=">&#x24;200.00 - Add &#x24;200 to your balance</option>
-                    <option value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxjaGVja291dC1zaG9wcGluZy1jYXJ0IHhtbG5zPSJodHRwOi8vY2hlY2tvdXQuZ29vZ2xlLmNvbS9zY2hlbWEvMiI+DQogIDxzaG9wcGluZy1jYXJ0Pg0KICAgIDxpdGVtcz4NCiAgICAgIDxpdGVtPg0KICAgICAgICA8aXRlbS1uYW1lPkFkZCAkNTAwIHRvIHlvdXIgYmFsYW5jZTwvaXRlbS1uYW1lPg0KICAgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+DQogICAgICAgIDx1bml0LXByaWNlIGN1cnJlbmN5PSJVU0QiPjUwMC4wPC91bml0LXByaWNlPg0KICAgICAgICA8aXRlbS1kZXNjcmlwdGlvbiAvPg0KICAgICAgPC9pdGVtPg0KICAgIDwvaXRlbXM+DQogIDwvc2hvcHBpbmctY2FydD4NCiAgPGNoZWNrb3V0LWZsb3ctc3VwcG9ydD4NCiAgICA8bWVyY2hhbnQtY2hlY2tvdXQtZmxvdy1zdXBwb3J0IC8+DQogIDwvY2hlY2tvdXQtZmxvdy1zdXBwb3J0Pg0KPC9jaGVja291dC1zaG9wcGluZy1jYXJ0Pg0KDQo=//separator//zAFfJqOZBPuO46sFs25F/VQyAdM=">&#x24;500.00 - Add &#x24;500 to your balance</option>
-                </select>
-            </td>
-            <td>
-                <input alt="" src="https://checkout.google.com/buttons/buy.gif?merchant_id=641723647067155&amp;w=117&amp;h=48&amp;style=white&amp;variant=text&amp;loc=en_US" type="image"/>
-            </td>
-        </tr>
-    </form></table></h3>
-
-<h3><a href="money">Your recent account activity</a></h3>
-
-<table>
-<tr> <td><b>Date</b></td> <td><b>Description</b></td> <td><b>Amount</b></td> </tr>
-<% foreach (amount, trn) in Money.listUserTransactionsLimit (Init.getUserId (), 5) do %>
-<tr> <td><% #d trn %></td> <td><a href="money?trn=<% #id trn %>"><% Web.html (#descr trn) %></a></td> <td><% amount %>/<% #amount trn %></td> </tr>
-<% end %>
-</table>
-<b>Balance: $<% #amount bal %></b>
-
-<% val polls = Poll.listCurrentPolls ();
-switch polls of
-       _::_ => %>
-<h3><a href="poll">Current polls</a></h3>
-
-<% foreach pol in polls do %>
-<li> <a href="poll?id=<% #id pol %>"><% Web.html (#title pol) %></a>
-<% if Poll.takingVotes pol then %><a href="poll?vote=<% #id pol %>">[VOTE]</a><% end %>
-(<% Web.html (#starts pol) %> to <% Web.html (#ends pol) %>)</li>
-<% end
-end %>
-
-<% val issues = Support.listOpenIssues (#id you);
-switch issues of
-       _::_ => %>
-<h3><a href="support">Open support issues</a></h3>
-
-<% foreach (name, issue) in issues do %>
-<a href="user?id=<% #usr issue %>"><% name %></a>: <a href="issue?cat=<% #cat issue %>&id=<% #id issue %>"><% Web.html (#title issue) %></a>
-<% switch #status issue of
-         Support.NEW => %>(New)<%
-       | Support.PENDING => %>(Pending)<%
-       | Support.CLOSED => %>(Closed)<%
-end %>
-<br>
-<% end
-end %>
-
-<% @footer [] %>
\ No newline at end of file
+<% val you = Init.getUser();
+val bal = Balance.lookupBalance (#bal you);
+val deposit = Balance.depositAmount (#id bal);
+val showBal = Util.sub (#amount bal, deposit);
+@header [] %>
+
+<div style="border: 2px solid red; background-color: LightSalmon;">
+
+<h3>Notice: Transition to Upgraded Servers in Progress</h3>
+
+<p>We are now providing a more powerful shell server and web server
+running Debian Squeeze. All members <strong>must take action</strong>
+to run their services on the new machines. There are also changes to
+mail routing that require action by most members. Read the <a
+href="http://wiki.hcoop.net/NavajosBogMigrationGuide">migration
+guide</a> for details on what you need to do to keep your account
+working. We have also called a roll call, so check your spam folder
+for recent mail from hcoop if you have not received it.
+</div>
+
+<% @payment [] %>
+
+<h3><a href="money">Your recent account activity</a></h3>
+
+<% ref running = showBal %>
+<table>
+<tr> <td><b>Date</b></td> <td><b>Description</b></td> <td><b>Amount</b></td> <td><b>Balance</b></td></tr>
+<% foreach (amount, trn) in Money.listUserTransactionsLimit (Init.getUserId (), 5) do %>
+<tr> <td><% #d trn %></td> <td><a href="money?trn=<% #id trn %>"><% Web.html (#descr trn) %></a></td> <td><% amount %>/<% #amount trn %></td>
+<td><% running %></tr>
+<% running := Util.sub (running, amount)
+end %>
+</table>
+<a href="money?lookback=inf">Show all transactions</a><br>
+<b>Balance: $<% showBal %></b><br>
+<b>Deposit: $<% deposit %></b> (3 months of dues at the minimal <a href="pledge">pledge level</a>)
+
+<!--b>Balance: $<% #amount bal %></b-->
+
+<% val polls = Poll.listCurrentPolls ();
+switch polls of
+       _::_ => %>
+<h3><a href="poll">Current polls</a></h3>
+
+<% foreach pol in polls do %>
+<li> <a href="poll?id=<% #id pol %>"><% Web.html (#title pol) %></a>
+<% if Poll.takingVotes pol then %><a href="poll?vote=<% #id pol %>">[VOTE]</a><% end %>
+(<% Web.html (#starts pol) %> to <% Web.html (#ends pol) %>)</li>
+<% end
+end %>
+
+<% val issues = Support.listOpenIssues (#id you);
+switch issues of
+       _::_ => %>
+<h3><a href="support">Open support issues</a></h3>
+
+<% foreach (name, issue) in issues do %>
+<a href="user?id=<% #usr issue %>"><% name %></a>: <a href="issue?cat=<% #cat issue %>&id=<% #id issue %>"><% Web.html (#title issue) %></a>
+<% switch #status issue of
+         Support.NEW => %>(New)<%
+       | Support.PENDING => %>(Pending)<%
+       | Support.CLOSED => %>(Closed)<%
+end %>
+<br>
+<% end
+end;
+
+val {total, vhosts} = Stats.getWebbwUser {user = Init.getUserName (), last = 0};
+switch vhosts of
+       _ :: _ =>
+       %><h3>Your web traffic this month</h3>
+       <table><tr><th>Site</th> <th>Data transferred (kB)</th></tr><%
+       foreach e in vhosts do %>
+                      <tr><td align="right"><a href="<% if #ssl (#host e) then %>https<% else %>http<% end %>://<% #hostname (#host e) %>/"><% #hostname (#host e) %><% if #ssl (#host e) then %> (SSL)<% end %></a> <a href="/webalizer/<% #id (#host e) %>/">[detail]</a></td><td><% #size e %></td></tr>
+       <% end %>
+       </table>
+<% end;
+
+@footer [] %>