mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
Move server to separate folder.
This commit is contained in:
42
DiscImageChef.Server/Views/Home/CODE_OF_CONDUCT.cshtml
Normal file
42
DiscImageChef.Server/Views/Home/CODE_OF_CONDUCT.cshtml
Normal file
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : CODE_OF_CONDUCT.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders code of conduct.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
DiscImageChef's code of conduct:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
42
DiscImageChef.Server/Views/Home/CONTRIBUTING.cshtml
Normal file
42
DiscImageChef.Server/Views/Home/CONTRIBUTING.cshtml
Normal file
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : CONTRIBUTING.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders contributing guidelines.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
How to contribute to DiscImageChef:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
42
DiscImageChef.Server/Views/Home/Changelog.cshtml
Normal file
42
DiscImageChef.Server/Views/Home/Changelog.cshtml
Normal file
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : Changelog.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders changelog.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
DiscImageChef list of changes:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
42
DiscImageChef.Server/Views/Home/DONATING.cshtml
Normal file
42
DiscImageChef.Server/Views/Home/DONATING.cshtml
Normal file
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : DONATING.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders list of needed donations.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
DiscImageChef list of things to be donated:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
42
DiscImageChef.Server/Views/Home/ISSUE_TEMPLATE.cshtml
Normal file
42
DiscImageChef.Server/Views/Home/ISSUE_TEMPLATE.cshtml
Normal file
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : ISSUE_TEMPLATE.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders issue's template.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
DiscImageChef's template for issue reports:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
47
DiscImageChef.Server/Views/Home/Index.cshtml
Normal file
47
DiscImageChef.Server/Views/Home/Index.cshtml
Normal file
@@ -0,0 +1,47 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : Index.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders readme.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<header>
|
||||
Welcome to
|
||||
<i>
|
||||
<a href="http://github.com/claunia/discimagechef"
|
||||
target="_blank">
|
||||
DiscImageChef
|
||||
</a>
|
||||
</i> Server version @ViewBag.lblVersion
|
||||
</header>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
42
DiscImageChef.Server/Views/Home/PULL_REQUEST_TEMPLATE.cshtml
Normal file
42
DiscImageChef.Server/Views/Home/PULL_REQUEST_TEMPLATE.cshtml
Normal file
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : PULL_REQUEST_TEMPLATE.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders pull request's template.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
DiscImageChef's template for pull requests:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
42
DiscImageChef.Server/Views/Home/TODO.cshtml
Normal file
42
DiscImageChef.Server/Views/Home/TODO.cshtml
Normal file
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : TODO.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders todo list.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<p>
|
||||
@Html.ActionLink("Return to main page.", "Index")<br />
|
||||
DiscImageChef list of things to do:
|
||||
</p>
|
||||
<div class="container">@Html.Raw(ViewBag.Markdown)</div>
|
||||
265
DiscImageChef.Server/Views/Report/View.cshtml
Normal file
265
DiscImageChef.Server/Views/Report/View.cshtml
Normal file
@@ -0,0 +1,265 @@
|
||||
@using DiscImageChef.CommonTypes.Metadata
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
ViewBag.Title = "DiscImageChef Device Report";
|
||||
}
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : View.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders device report.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<div class="container-fluid">
|
||||
DiscImageChef Report for
|
||||
@ViewBag.lblManufacturer
|
||||
@ViewBag.lblModel
|
||||
@ViewBag.lblRevision
|
||||
|
||||
@if(ViewBag.UsbItem != null)
|
||||
{
|
||||
<div id="divUsb">
|
||||
<br />
|
||||
<b>USB characteristics:</b><br />
|
||||
<i>Manufacturer:</i> @ViewBag.UsbItem.Manufacturer<br />
|
||||
<i>Product:</i> @ViewBag.UsbItem.Product<br />
|
||||
<i>Vendor ID:</i> @ViewBag.UsbItem.VendorDescription<br />
|
||||
<i>Product ID:</i> @ViewBag.UsbItem.ProductDescription
|
||||
</div>
|
||||
}
|
||||
|
||||
@if(ViewBag.FireWireItem != null)
|
||||
{
|
||||
<div id="divFireWire">
|
||||
<br />
|
||||
<b>FireWire characteristics:</b><br />
|
||||
<i>Manufacturer:</i> @ViewBag.FireWire.Manufacturer<br />
|
||||
<i>Product:</i> @ViewBag.FireWire.Product<br />
|
||||
<i>Vendor ID:</i> @ViewBag.FireWire.VendorDescription<br />
|
||||
<i>Product ID:</i> @ViewBag.FireWire.ProductDescription
|
||||
</div>
|
||||
}
|
||||
|
||||
@if(ViewBag.PcmciaItem != null)
|
||||
{
|
||||
<div id="divPcmcia">
|
||||
<br />
|
||||
<b>PCMCIA characteristics:</b><br />
|
||||
<i>Manufacturer:</i> @ViewBag.PcmciaItem.Manufacturer<br />
|
||||
<i>Product:</i> @ViewBag.PcmciaItem.ProductName<br />
|
||||
<i>Manufacturer code:</i> @ViewBag.PcmciaItem.VendorDescription<br />
|
||||
<i>Card code:</i> @ViewBag.PcmciaItem.CardCode<br />
|
||||
<i>Compliance:</i> @ViewBag.PcmciaItem.Compliance<br />
|
||||
@if(ViewBag.repPcmciaTuples != null)
|
||||
{
|
||||
foreach(KeyValuePair<string, string> kvp in ViewBag.repPcmciaTuples)
|
||||
{
|
||||
<text><i>@kvp.Key</i>: @kvp.Value<br /></text>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@if(ViewBag.AtaItem != null)
|
||||
{
|
||||
<div id="divAta">
|
||||
<br />
|
||||
<b>
|
||||
@ViewBag.AtaItem characteristics:
|
||||
</b><br />
|
||||
@ViewBag.lblAtaDeviceType<br />
|
||||
@foreach(KeyValuePair<string, string> kvp in ViewBag.repAtaTwo)
|
||||
{
|
||||
<text><i>@kvp.Key</i>: @kvp.Value<br /></text>
|
||||
}
|
||||
<br />
|
||||
@foreach(string item in ViewBag.repAtaOne)
|
||||
{
|
||||
@Html.Raw(item)<br />
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repScsi != null)
|
||||
{
|
||||
<div id="divScsi">
|
||||
<br />
|
||||
<b>SCSI characteristics:</b><br />
|
||||
<i>Vendor: </i>@ViewBag.lblScsiVendor<br />
|
||||
<i>Product: </i>@ViewBag.lblScsiProduct<br />
|
||||
<i>Revision: </i>@ViewBag.lblScsiRevision<br />
|
||||
@foreach(string item in ViewBag.repScsi)
|
||||
{
|
||||
@Html.Raw(item)<br />
|
||||
}
|
||||
@if(ViewBag.repModeSense != null)
|
||||
{
|
||||
<div id="divScsiModeSense">
|
||||
<br /><i>SCSI mode sense pages:</i>
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>Mode</th>
|
||||
<th>Contents</th>
|
||||
</tr>
|
||||
@foreach(KeyValuePair<string, string> kvp in ViewBag.repModeSense)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@kvp.Key
|
||||
</td>
|
||||
<td>
|
||||
@Html.Raw(kvp.Value)
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repEvpd != null)
|
||||
{
|
||||
<div id="divScsiEvpd">
|
||||
<br /><i>SCSI extended vital product data pages:</i>
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>EVPD</th>
|
||||
<th>Contents</th>
|
||||
</tr>
|
||||
@foreach(KeyValuePair<string, string> kvp in ViewBag.repEvpd)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@kvp.Key
|
||||
</td>
|
||||
<td>
|
||||
@Html.Raw(kvp.Value)
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repScsiMmcMode != null)
|
||||
{
|
||||
<div id="divScsiMmcMode">
|
||||
<br /><b>SCSI CD-ROM capabilities:</b><br />
|
||||
@foreach(string item in ViewBag.repScsiMmcMode)
|
||||
{
|
||||
@Html.Raw(item)<br />
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repScsiMmcFeatures != null)
|
||||
{
|
||||
<div id="divScsiMmcFeatures">
|
||||
<br /><b>SCSI MMC features:</b><br />
|
||||
@foreach(string item in ViewBag.repScsiMmcFeatures)
|
||||
{
|
||||
@Html.Raw(item)<br />
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.divScsiSscVisible == true)
|
||||
{
|
||||
<div id="divScsiSsc">
|
||||
<br /><b>SCSI Streaming device capabilities:</b><br />
|
||||
Block size granularity: @ViewBag.lblScsiSscGranularity<br />
|
||||
Maximum block length: @ViewBag.lblScsiSscMaxBlock bytes<br />
|
||||
Minimum block length: @ViewBag.lblScsiSscMinBlock bytes<br />
|
||||
@if(ViewBag.repScsiSscDensities != null)
|
||||
{
|
||||
foreach(SupportedDensity density in ViewBag.repScsiSscDensities)
|
||||
{
|
||||
<text>
|
||||
<br />
|
||||
<b>
|
||||
Information for supported density with primary code @($"{density.PrimaryCode:X2h}") and secondary code @($"{density.SecondaryCode:X2h}")
|
||||
</b><br />
|
||||
Drive can write this density: @density.Writable<br />
|
||||
Duplicate density: @density.Duplicate<br />
|
||||
Default density: @density.DefaultDensity<br />
|
||||
Density has @density.BitsPerMm bits per mm, with @density.Tracks tracks in a @density.Width mm width tape
|
||||
Name: @density.Name<br />
|
||||
Organization: @density.Organization<br />
|
||||
Description: @density.Description<br />
|
||||
Maximum capacity: @density.Capacity megabytes<br />
|
||||
</text>
|
||||
}
|
||||
}
|
||||
@if(ViewBag.repScsiSscMedias != null)
|
||||
{
|
||||
foreach(SscSupportedMedia media in ViewBag.repScsiSscMedias)
|
||||
{
|
||||
<text>
|
||||
<br />
|
||||
<b>
|
||||
Information for supported media with type code @($"{media.MediumType:X2h}")
|
||||
</b><br />
|
||||
Media is @media.Length m long in a @media.Width mm width tape
|
||||
Name: @media.Name<br />
|
||||
Organization: @media.Organization<br />
|
||||
Description: @media.Description<br />
|
||||
</text>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repTestedMedia != null)
|
||||
{
|
||||
<div id="divTestedMedia">
|
||||
<br /><b>Tested media:</b><br />
|
||||
@foreach(string item in ViewBag.repTestedMedia)
|
||||
{
|
||||
@Html.Raw(item)<br />
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repMMC != null)
|
||||
{
|
||||
<div id="divMMC">
|
||||
<br />
|
||||
<b>MultiMediaCard device:</b><br />
|
||||
@foreach(string item in ViewBag.repMMC)
|
||||
{
|
||||
@Html.Raw(item)<br />
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repSD != null)
|
||||
{
|
||||
<div id="divSD">
|
||||
<br />
|
||||
<b>SecureDigital device:</b><br />
|
||||
@foreach(string item in ViewBag.repSD)
|
||||
{
|
||||
@Html.Raw(item)<br />
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
110
DiscImageChef.Server/Views/Shared/_Layout.cshtml
Normal file
110
DiscImageChef.Server/Views/Shared/_Layout.cshtml
Normal file
@@ -0,0 +1,110 @@
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : _Layout.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Contains layout.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="UTF-8">
|
||||
<head>
|
||||
@switch(DateTime.UtcNow.DayOfYear)
|
||||
{
|
||||
// 24th January, Macintosh launch
|
||||
case 24:
|
||||
<link href="../../styles/mac/dicserver.css"
|
||||
rel="stylesheet"type="text/css" />
|
||||
<link href="../../styles/mac/dicserver_highcharts.css"
|
||||
rel="stylesheet"type="text/css" />
|
||||
break;
|
||||
default:
|
||||
<link href="../../styles/dos/dicserver.css"
|
||||
rel="stylesheet"type="text/css" />
|
||||
<link href="../../styles/dos/dicserver_highcharts.css"
|
||||
rel="stylesheet"type="text/css" />
|
||||
break;
|
||||
}
|
||||
<meta charset="utf-8" />
|
||||
<title>@ViewBag.Title</title>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async
|
||||
src="https://www.googletagmanager.com/gtag/js?id=UA-111466173-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() { dataLayer.push(arguments); }
|
||||
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-111466173-1');
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
@RenderBody()
|
||||
<footer class="container-fluid">
|
||||
© 2011-2019
|
||||
<a href="http://www.claunia.com"
|
||||
target="_blank">
|
||||
Claunia.com
|
||||
</a><br />
|
||||
@switch(DateTime.UtcNow.DayOfYear)
|
||||
{
|
||||
// 24th January, Macintosh launch
|
||||
case 24:
|
||||
@Html.Raw("Fonts are © 2014 <a href=\"http://christtrekker.users.sourceforge.net/fnt/chicago.shtml\" target=\"_blank\">Robin Casady</a>")
|
||||
;
|
||||
break;
|
||||
default:
|
||||
@Html.Raw("Fonts are © 2015 - 2016 <a href=\"http://int10h.org\" target=\"_blank\">VileR</a>")
|
||||
;
|
||||
break;
|
||||
}
|
||||
<br />
|
||||
CSS © 2018-2019
|
||||
<a href="https://getbootstrap.com/"
|
||||
target="_blank">
|
||||
Bootstrap
|
||||
</a> and
|
||||
<a href="http://www.claunia.com"
|
||||
target="_blank">
|
||||
Claunia.com
|
||||
</a>
|
||||
</footer>
|
||||
<script crossorigin="anonymous"
|
||||
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
|
||||
src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
|
||||
<script crossorigin="anonymous"
|
||||
integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script>
|
||||
<script crossorigin="anonymous"
|
||||
integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k"
|
||||
src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
706
DiscImageChef.Server/Views/Stats/Index.cshtml
Normal file
706
DiscImageChef.Server/Views/Stats/Index.cshtml
Normal file
@@ -0,0 +1,706 @@
|
||||
@using System.Collections
|
||||
@using DiscImageChef.CommonTypes.Metadata
|
||||
@using DiscImageChef.Server.Models
|
||||
@using Highsoft.Web.Mvc.Charts
|
||||
@using Chart = Highsoft.Web.Mvc.Charts.Chart
|
||||
@using Filter = DiscImageChef.Server.Models.Filter
|
||||
@{
|
||||
// /***************************************************************************
|
||||
// The Disc Image Chef
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : Index.cshtml
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : DiscImageChef Server.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Renders statistics.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2019 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
}
|
||||
@{
|
||||
ViewBag.Title = "DiscImageChef Statistics";
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
<header>
|
||||
Welcome to
|
||||
<i>
|
||||
<a href="http://github.com/claunia/discimagechef"
|
||||
target="_blank">
|
||||
DiscImageChef
|
||||
</a>
|
||||
</i> Server version @ViewBag.Version
|
||||
</header>
|
||||
<div class="container-fluid mt-3">
|
||||
@if(ViewBag.repOperatingSystems != null)
|
||||
{
|
||||
<div class="container"
|
||||
id="divOperatingSystems">
|
||||
<div class="carousel slide"
|
||||
data-ride="carousel"
|
||||
id="carouselOses">
|
||||
<ol class="carousel-indicators">
|
||||
<li class="active"
|
||||
data-slide-to="0"
|
||||
data-target="#carouselOses">
|
||||
</li>
|
||||
<li data-slide-to="1"
|
||||
data-target="#carouselOses">
|
||||
</li>
|
||||
<li data-slide-to="2"
|
||||
data-target="#carouselOses">
|
||||
</li>
|
||||
<li data-slide-to="3"
|
||||
data-target="#carouselOses">
|
||||
</li>
|
||||
</ol>
|
||||
<div class="carousel-inner">
|
||||
<div class="active carousel-item"
|
||||
id="osChart">
|
||||
</div>
|
||||
<div class="carousel-item"
|
||||
id="linuxChart">
|
||||
</div>
|
||||
<div class="carousel-item"
|
||||
id="macosChart">
|
||||
</div>
|
||||
<div class="carousel-item"
|
||||
id="windowsChart">
|
||||
</div>
|
||||
</div>
|
||||
<a class="carousel-control-prev"
|
||||
data-slide="prev"
|
||||
href="#carouselOses"
|
||||
role="button">
|
||||
<span aria-hidden="true"
|
||||
class="carousel-control-prev-icon">
|
||||
</span>
|
||||
<span class="sr-only">Previous</span>
|
||||
</a>
|
||||
<a class="carousel-control-next"
|
||||
data-slide="next"
|
||||
href="#carouselOses"
|
||||
role="button">
|
||||
<span aria-hidden="true"
|
||||
class="carousel-control-next-icon">
|
||||
</span>
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="osAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="osHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="osCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#osCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All operating systems DiscImageChef has run on...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="osHeading"
|
||||
class="collapse"
|
||||
data-parent="#osAccordion"
|
||||
id="osCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-dark">
|
||||
@foreach(NameValueStats os in ViewBag.repOperatingSystems)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
DiscImageChef has run on <i class="table-dark-em">@os.name</i> @os.Value times.
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repVersions != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divVersions">
|
||||
<div class="container"
|
||||
id="versionsChart">
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="versionsAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="versionsHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="versionsCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#versionsCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All DiscImageChef versions...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="versionsHeading"
|
||||
class="collapse"
|
||||
data-parent="#versionsAccordion"
|
||||
id="versionsCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-dark">
|
||||
@foreach(NameValueStats version in ViewBag.repVersions)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
DiscImageChef version <i class="table-dark-em">@version.name</i> has been used @version.Value times.
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repCommands != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divCommands">
|
||||
<div class="container"
|
||||
id="commandsChart">
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="commandsAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="commandsHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="commandsCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#commandsCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All DiscImageChef commands...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="commandsHeading"
|
||||
class="collapse"
|
||||
data-parent="#commandsAccordion"
|
||||
id="commandsCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-dark">
|
||||
@foreach(Command command in ViewBag.repCommands)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
<i class="table-dark-em">@command.Name</i> has been run @command.Count times.
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repFilters != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divFilters">
|
||||
<div class="container"
|
||||
id="filtersChart">
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="filtersAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="filtersHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="filtersCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#filtersCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All filters found...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="filtersHeading"
|
||||
class="collapse"
|
||||
data-parent="#filtersAccordion"
|
||||
id="filtersCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-bordered table-centered table-dark table-striped">
|
||||
<tr>
|
||||
<th class="table-dark-header">Filter</th>
|
||||
<th class="table-dark-header">Times</th>
|
||||
</tr>
|
||||
@foreach(Filter filter in ViewBag.repFilters)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-right">
|
||||
@filter.Name
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@($"{filter.Count}")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repMediaImages != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divMediaImages">
|
||||
<div class="container"
|
||||
id="formatsChart">
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="formatsAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="formatsHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="formatsCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#formatsCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All media image formats found...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="formatsHeading"
|
||||
class="collapse"
|
||||
data-parent="#formatsAccordion"
|
||||
id="formatsCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-bordered table-centered table-dark table-striped">
|
||||
<tr>
|
||||
<th class="table-dark-header">Media image format</th>
|
||||
<th class="table-dark-header">Times</th>
|
||||
</tr>
|
||||
@foreach(MediaFormat format in ViewBag.repMediaImages)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
@format.Name
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@($"{format.Count}")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repPartitions != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divPartitions">
|
||||
<div class="container"
|
||||
id="partitionsChart">
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="partitionsAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="partitionsHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="partitionsCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#partitionsCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All partitioning schemes found...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="partitionsHeading"
|
||||
class="collapse"
|
||||
data-parent="#partitionsAccordion"
|
||||
id="partitionsCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-bordered table-centered table-dark table-striped">
|
||||
<tr>
|
||||
<th class="table-dark-header">Partitioning scheme</th>
|
||||
<th class="table-dark-header">Times</th>
|
||||
</tr>
|
||||
@foreach(Partition partition in ViewBag.repPartitions)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
@partition.Name
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@($"{partition.Count}")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repFilesystems != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divFilesystems">
|
||||
<div class="container"
|
||||
id="filesystemsChart">
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="filesystemsAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="filesystemsHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="filesystemsCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#filesystemsCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All filesystems found...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="filesystemsHeading"
|
||||
class="collapse"
|
||||
data-parent="#filesystemsAccordion"
|
||||
id="filesystemsCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-bordered table-centered table-dark table-striped">
|
||||
<tr>
|
||||
<th class="table-dark-header">Filesystem name</th>
|
||||
<th class="table-dark-header">Times</th>
|
||||
</tr>
|
||||
@foreach(Filesystem filesystem in ViewBag.repFilesystems)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
@filesystem.Name
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@($"{filesystem.Count}")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repVirtualMedia != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divVirtualMedia">
|
||||
<div class="container"
|
||||
id="virtualMediaChart">
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="virtualMediaAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="virtualMediaHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="virtualMediaCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#virtualMediaCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All media types found in images...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="virtualMediaHeading"
|
||||
class="collapse"
|
||||
data-parent="#virtualMediaAccordion"
|
||||
id="virtualMediaCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-bordered table-centered table-dark table-striped">
|
||||
<tr>
|
||||
<th class="table-dark-header">Physical type</th>
|
||||
<th class="table-dark-header">Logical type</th>
|
||||
<th class="table-dark-header">Times</th>
|
||||
</tr>
|
||||
@foreach(MediaItem media in ViewBag.repVirtualMedia)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
@media.Type
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@media.SubType
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@($"{media.Count}")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repRealMedia != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divRealMedia">
|
||||
<div class="container"
|
||||
id="realMediaChart">
|
||||
</div>
|
||||
<div class="accordion mt-3"
|
||||
id="realMediaAccordion">
|
||||
<div class="card">
|
||||
<div class="card-header"
|
||||
id="realMediaHeading">
|
||||
<h2 class="mb-0">
|
||||
<button aria-controls="realMediaCollapse"
|
||||
aria-expanded="true"
|
||||
class="btn btn-link card-button collapsed"
|
||||
data-target="#realMediaCollapse"
|
||||
data-toggle="collapse"
|
||||
type="button">
|
||||
All media types found in devices...
|
||||
</button>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div aria-labelledby="realMediaHeading"
|
||||
class="collapse"
|
||||
data-parent="#realMediaAccordion"
|
||||
id="realMediaCollapse">
|
||||
<div class="card-body">
|
||||
<table class="table-bordered table-centered table-dark table-striped">
|
||||
<tr>
|
||||
<th class="table-dark-header">Physical type</th>
|
||||
<th class="table-dark-header">Logical type</th>
|
||||
<th class="table-dark-header">Times</th>
|
||||
</tr>
|
||||
@foreach(MediaItem media in ViewBag.repRealMedia)
|
||||
{
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
@media.Type
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@media.SubType
|
||||
</td>
|
||||
<td class="text-left">
|
||||
@($"{media.Count}")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@if(ViewBag.repDevices != null)
|
||||
{
|
||||
<div class="container mt-3"
|
||||
id="divDevices">
|
||||
<div class="carousel slide"
|
||||
data-ride="carousel"
|
||||
id="carouselDevices">
|
||||
<ol class="carousel-indicators">
|
||||
<li class="active"
|
||||
data-slide-to="0"
|
||||
data-target="#carouselDevices">
|
||||
</li>
|
||||
<li data-slide-to="1"
|
||||
data-target="#carouselDevices">
|
||||
</li>
|
||||
<li data-slide-to="2"
|
||||
data-target="#carouselDevices">
|
||||
</li>
|
||||
<li data-slide-to="3"
|
||||
data-target="#carouselDevices">
|
||||
</li>
|
||||
</ol>
|
||||
<div class="carousel-inner">
|
||||
<div class="active carousel-item"
|
||||
id="devicesBusChart">
|
||||
</div>
|
||||
<div class="carousel-item"
|
||||
id="devicesManufacturerChart">
|
||||
</div>
|
||||
</div>
|
||||
<a class="carousel-control-prev"
|
||||
data-slide="prev"
|
||||
href="#carouselDevices"
|
||||
role="button">
|
||||
<span aria-hidden="true"
|
||||
class="carousel-control-prev-icon">
|
||||
</span>
|
||||
<span class="sr-only">Previous</span>
|
||||
</a>
|
||||
<a class="carousel-control-next"
|
||||
data-slide="next"
|
||||
href="#carouselDevices"
|
||||
role="button">
|
||||
<span aria-hidden="true"
|
||||
class="carousel-control-next-icon">
|
||||
</span>
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="card mt-3">
|
||||
<div class="card-header">
|
||||
<h2 class="mb-0">
|
||||
<h2 class="card-button mb-0">
|
||||
All devices found...
|
||||
</h2>
|
||||
</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table-bordered table-centered table-dark table-striped">
|
||||
<tr>
|
||||
<th class="table-dark-header">Manufacturer</th>
|
||||
<th class="table-dark-header">Model</th>
|
||||
<th class="table-dark-header">Revision</th>
|
||||
<th class="table-dark-header">Bus</th>
|
||||
<th class="table-dark-header">Report</th>
|
||||
</tr>
|
||||
@foreach(DeviceItem device in ViewBag.repDevices)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@device.Manufacturer
|
||||
</td>
|
||||
<td>
|
||||
@device.Model
|
||||
</td>
|
||||
<td>
|
||||
@device.Revision
|
||||
</td>
|
||||
<td>
|
||||
@device.Bus
|
||||
</td>
|
||||
<td>
|
||||
@if(device.ReportId != 0)
|
||||
{
|
||||
<text>@Html.ActionLink("Yes", "View", "Report", new {id = device.ReportId}, new {target = "_blank"})</text>
|
||||
}
|
||||
else
|
||||
{ <text>No</text> }
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<script src="http://code.highcharts.com/highcharts.js"></script>
|
||||
<script src="https://code.highcharts.com/modules/exporting.js"></script>
|
||||
@{
|
||||
string highChartsTitleColor;
|
||||
string highChartsDataLabelColor;
|
||||
|
||||
switch(DateTime.UtcNow.DayOfYear)
|
||||
{
|
||||
// 24th January, Macintosh launch
|
||||
case 24:
|
||||
highChartsTitleColor = "#000000";
|
||||
highChartsDataLabelColor = "#000000";
|
||||
break;
|
||||
default:
|
||||
highChartsTitleColor = "#AAAAAA";
|
||||
highChartsDataLabelColor = "#FFFFFF";
|
||||
break;
|
||||
}
|
||||
|
||||
Hashtable highChartsTitleStyle = new Hashtable {{"color", highChartsTitleColor}};
|
||||
PlotOptionsPieDataLabelsStyle highChartsDataLabelStyle = new PlotOptionsPieDataLabelsStyle {Color = highChartsDataLabelColor, TextOutline = "0px"};
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Operating system usage", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["osPieData"] as List<PieSeriesData>}}}, "osChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Linux versions", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["linuxPieData"] as List<PieSeriesData>}}}, "linuxChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "macOS versions", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["macosPieData"] as List<PieSeriesData>}}}, "macosChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Windows versions", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["windowsPieData"] as List<PieSeriesData>}}}, "windowsChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "DiscImageChef versions", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["versionsPieData"] as List<PieSeriesData>}}}, "versionsChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Commands run", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["commandsPieData"] as List<PieSeriesData>}}}, "commandsChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Filters found", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["filtersPieData"] as List<PieSeriesData>}}}, "filtersChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 media image formats found", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["formatsPieData"] as List<PieSeriesData>}}}, "formatsChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 partitioning schemes found", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["partitionsPieData"] as List<PieSeriesData>}}}, "partitionsChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 filesystems found", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["filesystemsPieData"] as List<PieSeriesData>}}}, "filesystemsChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 media types found in images", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["virtualMediaPieData"] as List<PieSeriesData>}}}, "virtualMediaChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Top 10 media types found in real devices", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["realMediaPieData"] as List<PieSeriesData>}}}, "realMediaChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Devices found by bus", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["devicesBusPieData"] as List<PieSeriesData>}}}, "devicesBusChart", false))
|
||||
|
||||
@(Html.Highsoft().GetHighcharts(new Highcharts {Chart = new Chart {PlotBackgroundColor = null, PlotBorderWidth = null, PlotShadow = new Shadow {Enabled = true}}, Title = new Title {Text = "Devices found by manufacturer", Style = highChartsTitleStyle}, Tooltip = new Tooltip {PointFormat = "{series.name}: <b>{point.percentage:.1f}%</b>"}, PlotOptions = new PlotOptions {Pie = new PlotOptionsPie {AllowPointSelect = true, Cursor = PlotOptionsPieCursor.Pointer, DataLabels = new PlotOptionsPieDataLabels {Style = highChartsDataLabelStyle, Enabled = true, Format = "<b>{point.name}</b>: {point.percentage:.1f} %"}}}, Series = new List<Series> {new PieSeries {Name = "Percentage:", Data = ViewData["devicesManufacturerPieData"] as List<PieSeriesData>}}}, "devicesManufacturerChart", false))
|
||||
}
|
||||
43
DiscImageChef.Server/Views/Web.config
Normal file
43
DiscImageChef.Server/Views/Web.config
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Optimization"/>
|
||||
<add namespace="System.Web.Routing" />
|
||||
<add namespace="DiscImageChef.Server" />
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web.webPages.razor>
|
||||
|
||||
<appSettings>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
</appSettings>
|
||||
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
|
||||
<system.web>
|
||||
<compilation>
|
||||
<assemblies>
|
||||
<add assembly="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
</assemblies>
|
||||
</compilation>
|
||||
</system.web>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user