+++ /dev/null
-<tr>
- <td>
- <img src="{{ static_url("images/icons/ipfire.png") }}" alt="IPFire" />
- </td>
- <td>
- <br />
- <strong>{{ build.release }}</strong> ({{ build.arch }})<br />
- {{ build.date }}
- </td>
- <td>
- <br />
- <a href="#">{{ build.iso }}</a> | {{ build.size }}<br />
- {{ build.pxe }}
- </td>
-</tr>
+++ /dev/null
-<div class="row">
- <div class="col-lg-6 col-md-6">
- <h4 class="text-center">{{ _("Donate with PayPal") }}</h4>
-
- <div class="ac">
- {% module DonationButton(reason_for_transfer=reason_for_transfer) %}
-
- <br>
-
- <ul class="list-inline">
- {% for currency in ("USD", "GBP", "CHF", "AUD", "NZD", "CAD") %}
- <li>
- {% module DonationButton(reason_for_transfer=reason_for_transfer, currency=currency) %}
- </li>
- {% end %}
- </ul>
- </div>
- </div>
-
- <div class="col-lg-6 col-md-6">
- <h4 class="text-center">{{ _("Donate by Bank Transfer") }}</h4>
-
- <dl class="dl-horizontal">
- <dt>{{ _("IBAN") }}</dt>
- <dd>DE76 3605 0105 1010 8206 84</dd>
-
- <dt>{{ _("BIC-/SWIFT-Code") }}</dt>
- <dd>SPESDE3EXXX</dd>
-
- {% if reason_for_transfer %}
- <dt>{{ _("Reason for transfer") }}</dt>
- <dd>{{ reason_for_transfer }}</dd>
- {% end %}
- </dl>
-
- <p class="ac">
- <small>
- The IPFire project is not a registered non-profit organisation.
- <br>
- Hence we are not able to issue a tax-deductible contribution receipt
- for your donation.
- </small>
- </p>
- </div>
-</div>
+++ /dev/null
-<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
- <input type="hidden" name="cmd" value="_donations">
- <input type="hidden" name="business" value="QBQCHP9ZK7GYY">
- <input type="hidden" name="lc" value="{{ lc }}">
- <input type="hidden" name="item_name" value="{{ reason_for_transfer or "IPFire.org" }}">
- <input type="hidden" name="no_note" value="0">
- <input type="hidden" name="cn" value="{{ _("Send a note to the project:") }}">
- <input type="hidden" name="no_shipping" value="1">
- <input type="hidden" name="currency_code" value="{{ currency }}">
- <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
- {% if primary %}
- <input type="submit" class="btn btn-primary" value="{{ _("Donate %s") % currency }}">
- {% else %}
- <input type="submit" class="btn btn-link" value="{{ currency }}">
- {% end %}
-</form>
+++ /dev/null
-<form class="form-inline" action="https://www.paypal.com/cgi-bin/webscr" method="POST" target="_top">
- <input type="hidden" name="cmd" value="_donations">
- <input type="hidden" name="business" value="QBQCHP9ZK7GYY">
- <input type="hidden" name="lc" value="{{ lc }}">
- <input type="hidden" name="item_name" value="{{ _("Donation to the IPFire Project") }}">
- <input type="hidden" name="no_note" value="0">
- <input type="hidden" name="cn" value="{{ _("Send a note to the project:") }}">
- <input type="hidden" name="no_shipping" value="1">
- <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted">
-
- <div class="form-group d-flex justify-content-center flex-column d-inline-flex">
- <label class="sr-only" for="InputAmount">{{ _("Amount") }}</label>
- <div class="input-group d-flex flex-row-reverse justify-content-center">
- <div class="input-group-addon">
- <select class="form-control mx-3" name="currency_code">
- {% for c in currencies %}
- <option value="{{ c }}">
- {% if c == "EUR" %}
- €
- {% elif c == "USD" %}
- US$
- {% elif c == "GBP" %}
- £
- {% else %}
- {{ c }}
- {% end %}
- </option>
- {% end %}
- </select>
- </div>
-
- <input type="text" class="form-control input-lg" id="InputAmount"
- name="amount" placeholder="{{ _("Amount") }}">
- </div>
-
- <button type="submit" class="btn btn-lg btn-primary mt-3">{{ _("Donate with PayPal") }}</button>
- </div>
-</form>
+++ /dev/null
-<div class="row">
- <div class="col-lg-6 col-md-6 col-lg-offset-3 ac">
- <form class="form-inline" action="/search" method="GET">
- <div class="form-group">
- <label class="sr-only" for="searchBox">{{ _("Search") }}</label>
- <input type="text" class="form-control" name="q" id="searchBox"
- placeholder="{{ _("Search") }}" autocomplete="off" {% if query %}value="{{ query }}"{% end %}>
- <button type="submit" class="btn btn-default">
- <i class="glyphicon glyphicon-search"></i>
- </button>
- </div>
- </form>
- </div>
-</div>
+++ /dev/null
-{% if item %}
- <h4>{{ item.caption }}</h4>
- <a href="{{ item.uri }}" {% if item.uri.startswith("https://") %}target="_blank" {% end %}>
- <img src="{{ static_url("images/banners/" + item.image) }}" border="0" alt="{{ _("Banner") }}" />
- </a>
-{% end %}
+++ /dev/null
-<h4>{% block heading %}{{ item.heading }}{% end block %}</h4>
-{% block body %}{{ item.body }}{% end block %}
+++ /dev/null
-{% if latest %}
- <!-- XXX not good style -->
- <div style="text-align: center;">
- <h3>{{ _("Latest release") }}</h3>
- <p>
- <a href="/downloads">{{ latest.name }}</a>
- </p>
- <p>
- <a class="btn btn-success" href="/downloads">{{ _("Download now") }}</a>
- </p>
- </div>
-{% end %}
+++ /dev/null
-<dl class="dl-horizontal">
- {% for k, v in items %}
- <dt>{{ k }}</dt>
- <dd>
- <div class="progress">
- <div class="progress-bar" style="{{ "width: %.2f%%" % v }}">
- {{ "%.2f" % v }}%
- </div>
- </div>
- </dd>
- {% end %}
-</dl>
"format_month_name" : self.format_month_name,
},
"ui_modules" : {
+ "Menu" : MenuModule,
+
# Blog
"BlogHistoryNavigation": blog.HistoryNavigationModule,
"BlogList" : blog.ListModule,
"Map" : MapModule,
# Old modules
- "Advertisement" : AdvertisementModule,
- "DonationBox" : DonationBoxModule,
- "DonationButton" : DonationButtonModule,
- "DonationInputBox" : DonationInputBoxModule,
"DownloadButton" : DownloadButtonModule,
"LanguageName" : LanguageNameModule,
- "Menu" : MenuModule,
+
"MirrorItem" : MirrorItemModule,
"MirrorsTable" : MirrorsTableModule,
"NetBootMenuConfig" : NetBootMenuConfigModule,
"NetBootMenuSeparator" : NetBootMenuSeparatorModule,
"ProgressBar" : ProgressBarModule,
"ReleaseItem" : ReleaseItemModule,
- "SidebarBanner" : SidebarBannerModule,
- "SidebarRelease" : SidebarReleaseModule,
"FireinfoDeviceTable" : FireinfoDeviceTableModule,
"FireinfoDeviceAndGroupsTable" : FireinfoDeviceAndGroupsTableModule,
"FireinfoGeoTable" : FireinfoGeoTableModule,
def accounts(self):
return self.handler.accounts
- @property
- def advertisements(self):
- return self.handler.advertisements
-
@property
def banners(self):
return self.handler.banners
return self.handler.talk
-class AdvertisementModule(UIModule):
- def render(self, where):
- assert where in ("download-splash",), where
-
- ad = self.advertisements.get(where)
- if not ad:
- return ""
-
- # Mark that advert has been shown.
- ad.update_impressions()
-
- return self.render_string("modules/ads/%s.html" % where, ad=ad)
-
-
class FireinfoDeviceTableModule(UIModule):
def render(self, devices):
return self.render_string("fireinfo/modules/table-devices.html",
return self.render_string("netboot/menu-separator.cfg")
-class SidebarItemModule(UIModule):
- def render(self):
- return self.render_string("modules/sidebar-item.html")
-
-
-class SidebarReleaseModule(UIModule):
- def render(self):
- return self.render_string("modules/sidebar-release.html",
- latest=self.releases.get_latest())
-
-
class ReleaseItemModule(UIModule):
def render(self, release, latest=False):
arches = ("x86_64", "i586", "arm")
release=release, latest=latest, downloads=downloads)
-class SidebarBannerModule(UIModule):
- def render(self, item=None):
- if not item:
- item = self.banners.get_random()
-
- return self.render_string("modules/sidebar-banner.html", item=item)
-
-
class DownloadButtonModule(UIModule):
def render(self, release, text="Download now!"):
best_image = None
return self.render_string("talk/modules/ongoing-calls.html",
account=account, channels=channels, debug=debug)
-
-
-class DonationBoxModule(UIModule):
- def render(self, reason_for_transfer=None):
- if reason_for_transfer:
- reason_for_transfer = "IPFire.org - %s" % reason_for_transfer
-
- return self.render_string("modules/donation-box.html",
- reason_for_transfer=reason_for_transfer)
-
-
-class DonationButtonModule(UIModule):
- # https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/
- COUNTRIES = (
- "AU",
- "AT",
- "BE",
- "BR",
- "CA",
- "CH",
- "CN",
- "DE",
- "ES",
- "GB",
- "FR",
- "IT",
- "NL",
- "PL",
- "PT",
- "RU",
- "US",
- )
-
- LOCALES = (
- "da_DK",
- "he_IL",
- "id_ID",
- "ja_JP",
- "no_NO",
- "pt_BR",
- "ru_RU",
- "sv_SE",
- "th_TH",
- "zh_CN",
- "zh_HK",
- "zh_TW",
- )
-
- def render(self, reason_for_transfer=None, currency="EUR"):
- if not reason_for_transfer:
- reason_for_transfer = "IPFire.org"
-
- primary = (currency == "EUR")
-
- return self.render_string("modules/donation-button.html", primary=primary,
- reason_for_transfer=reason_for_transfer, currency=currency, lc=self.lc)
-
- @property
- def lc(self):
- """
- Returns the locale of the user
- """
- try:
- locale, delimiter, encoding = self.locale.code.partition(".")
-
- # Break for languages in specific countries
- if locale in self.LOCALES:
- return locale
-
- lang, delimiter, country_code = locale.partition("_")
-
- if country_code and country_code in self.COUNTRIES:
- return country_code
-
- lang = lang.upper()
- if lang in self.COUNTRIES:
- return lang
- except:
- pass
-
- # If anything goes wrong, fall back to GB
- return "GB"
-
-
-class DonationInputBoxModule(DonationButtonModule):
- def render(self):
- currencies = ("EUR", "USD", "GBP", "CHF", "AUD", "NZD", "CAD")
-
- return self.render_string("modules/donation-input-box.html",
- currencies=currencies, lc=self.lc)