feat: Add comprehensive documentation suite and reorganize project structure

- Created complete documentation in docs/ directory
- Added PROJECT_OVERVIEW.md with feature highlights and getting started guide
- Added ARCHITECTURE.md with system design and technical details
- Added SECURITY.md with comprehensive security implementation guide
- Added DEVELOPMENT.md with development workflows and best practices
- Added DEPLOYMENT.md with production deployment instructions
- Added API.md with complete REST API documentation
- Added CONTRIBUTING.md with contribution guidelines
- Added CHANGELOG.md with version history and migration notes
- Reorganized all documentation files into docs/ directory for better organization
- Updated README.md with proper documentation links and quick navigation
- Enhanced project structure with professional documentation standards
This commit is contained in:
SamiAhmed7777
2025-10-21 00:39:45 -07:00
commit 0b7e2d0a5b
6080 changed files with 1332936 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
<Files ~ "\.(php*|s?p?html|cgi|pl|py|asp|aspx|sh|cin)$">
deny from all
</Files>

View File

@@ -0,0 +1,520 @@
/*
Plupload
------------------------------------------------------------------- */
.plupload_button.plupload_start {
display: inline-block;
}
.plupload_button {
display: inline-block;
}
.plupload_button-off {
display: -moz-inline-box; /* FF < 3*/
display: inline-block;
font: normal 12px sans-serif;
text-decoration: none;
color: #42454a;
border: 1px solid #bababa;
padding: 2px 8px 3px 20px;
margin-right: 4px;
background: #f3f3f3 url('../img/buttons.png') no-repeat 0 center;
outline: 0;
/* Optional rounded corners for browsers that support it */
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.plupload_button-off:hover {
color: #000;
text-decoration: none;
}
.plupload_disabled, a.plupload_disabled:hover {
color: #737373;
border-color: #c5c5c5;
background: #ededed url('../img/buttons-disabled.png') no-repeat 0 center;
cursor: default;
}
.plupload_add-off {
background-position: -181px center;
}
.plupload_wrapper {
font-size: 14px;
width: 100%;
}
.plupload_container {
padding: 8px;
background: url('../img/transp50.png');
}
.plupload_header {background: #2A2C2E url('../img/backgrounds.gif') repeat-x;}
.plupload_header_content {
background: url('../img/backgrounds.gif') no-repeat 0 -317px;
min-height: 56px;
padding-left: 60px;
color: #FFF;
}
.plupload_filelist {
margin: 0;
padding: 0;
list-style: none;
}
.plupload_scroll .plupload_filelist {
background: #f8f8f8;
}
.plupload_filelist li:not(.pl-entry-edit):not(.plupload_droptext) {
padding: 10px 8px;
background: #F5F5F5 url('../img/backgrounds.gif') repeat-x 0 -156px;
border-bottom: 1px solid #DDD;
}
.plupload_filelist li:not(.pl-entry-edit):hover {
}
.plupload_filelist ul.choices li {
padding: 5px 5px 5px 15px !important;
border-bottom: 0px !important;
background-image: none !important;
}
.entry-edit-icon {
color: green;
cursor: pointer;
}
.backend_tpl_upload .cbp-spmenu-push, .tpl_upload .cbp-spmenu-push {
overflow-x: visible;
}
li.pl-entry-edit {
background-color: #fff;
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
#uploader .entry-form-class.entry-form-edit {
width: 100%;
padding: 10px 30px;
}
.entry-edit-icon {
margin-left: 10px;
}
.plupload_filelist_header, .plupload_filelist_footer {
background: #ececec;
padding: 8px 8px;
color: #454545;
}
.plupload_filelist_header {
border-top: 1px solid #EEE;
border-bottom: 1px solid #CDCDCD;
}
.plupload_filelist_footer {border-top: 1px solid #FFF; height: 22px; line-height: 20px; vertical-align: middle;}
.plupload_file_name {float: left; overflow: hidden}
.plupload_file_status {color: #777;}
.plupload_file_status span {color: #42454A;}
/*.plupload_file_size, .plupload_file_status,*/ .plupload_progress {
float: left;
width: 100%;
}
.plupload_file_status, .plupload_file_size {
float: right;
width: 125px;
text-align: center;
}
.plupload_file_size, .plupload_file_status, .plupload_file_action {text-align: right;}
.plupload_filelist .plupload_file_name {
/* white-space: nowrap;*/
text-overflow: ellipsis;
max-width: 500px;
}
.plupload_file_action {
float: right;
width: 16px;
height: 16px;
margin-left: 15px;
}
.plupload_filelist_header .plupload_file_action {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_action {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header .plupload_file_status {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_status {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header .plupload_file_size {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_size {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_file_action * {
width: 16px;
height: 16px;
}
li.plupload_uploading {background: #ECF3DC url('../img/backgrounds.gif') repeat-x 0 -238px;}
li.plupload_done {color:#AAA}
li.plupload_delete a {
display: inline-block !important;
color: red;
font-size: 18px;
}
li.plupload_failed a {
cursor: default;
display: inline-block !important;
color: red;
font-size: 16px;
}
li.plupload_failed {
color: red;
}
li.plupload_done a {
cursor: default;
display: inline-block !important;
color: green;
font-size: 18px;
}
.plupload_progress, .plupload_upload_status {
display: block;
}
.plupload_total_file_size {
font-size: 15px;
left: 10px;
position: absolute;
line-height: 20px;
color: #fff;
}
.plupload_progress_container {
margin-top: 1px;
border: 1px solid #CCC;
background: #FFF;
padding: 1px;
width: 100%;
position: relative;
}
.plupload_progress_bar {
width: 0px;
height: 22px;
background: #199900;
display: block;
}
.plupload_total_status {
font-size: 15px;
left: 50%;
position: absolute;
line-height: 20px;
}
.plupload_scroll .plupload_filelist_header .plupload_file_action, .plupload_scroll .plupload_filelist_footer .plupload_file_action {
}
/* Floats */
.plupload_clear,.plupload_clearer {clear: both;}
.plupload_clearer/*, .plupload_progress_bar*/ {
display: block;
font-size: 0;
line-height: 0;
}
li.plupload_droptext {
background: transparent;
text-align: center;
vertical-align: middle;
border: 0;
min-height: 165px;
}
#uploader .section-top-bar .sb-search {
float: left;
display: inline-block;
}
#uploader .section-top-bar #dobrowse {
float: left;
display: inline-block;
}
#uploader .section-top-bar #nobrowse {
float: left;
display: inline-block;
}
#uploader .section-top-bar .sb-icon-search::before {
content: "\e60b";
}
#uploader .section-top-bar .sb-icon-search {
font-family: "icomoonBe";
}
#uploader_filelist .plupload_file_status {
}
#uploader .section-top-bar .selector {
}
#uploader .section-top-bar .sb-search.sb-search-open, .no-js .sb-search {
width: 170px;
position: relative;
}
#uploader a.browse i {
margin-right: 10px;
margin-left: 10px;
}
#uploader a.browse.off i, #uploader a.start.off i, #uploader .section-top-bar .sb-icon-search.off {
background: #ccc;
}
#uploader a.browse.set i, #uploader a.start.set i, #uploader .section-top-bar .sb-icon-search.set {
background: #199900;
}
#uploader a.browse i, #uploader a.start i, #uploader a.setup i, #uploader .section-top-bar .sb-icon-search {
background: #06a2cb;
}
#uploader a.browse i, #uploader a.start i, #uploader a.setup i {
font-size: 16px;
color: white;
width: 28px;
height: 28px;
display: block;
line-height: 28px;
text-align: center;
float: left;
cursor: pointer;
}
#uploader .entry-form-class {
width: 175px;
display: inline-block;
margin: 0;
padding: 0;
float: left;
}
#uploader .upload-buttons {
float: left;
margin-left: 16px;
}
#uploader.frontend .upload-buttons {
float: left;
margin-left: 0px;
}
#uploader .upload-buttons.no-categ, #uploader.frontend i.iconBe-plus.no-categ {
margin-left: 0px;
}
#fsUploadStats {
margin: 0px 10px;
}
.plupload_done i.icon-times::before {
content: "\f00c" !important;
}
.plupload_uploading i.icon-times {
display: none;
}
@media screen and (max-width: 950px) {
#uploader .vs-column.half.upload-left-fix {
width: 58.5%;
}
#uploader .vs-column.half.upload-right-fix {
width: 40%;
}
}
@media screen and (max-width: 850px) {
#uploader .vs-column.half.upload-left-fix {
width: 100%;
}
#uploader .vs-column.half.upload-right-fix {
width: 100%;
}
#uploader .upload-buttons.no-categ {
float: left;
}
#uploader .upload-buttons {
float: right;
}
#uploader .plupload_progress {
margin-top: 10px;
}
}
@media screen and (max-width: 650px) {
.plupload_filelist .plupload_file_name {
width: 190px;
white-space: nowrap;
text-overflow: ellipsis;
}
#uploader .upload-buttons.no-categ {
float: none;
}
i.entry-edit-icon {
display: inherit;
margin-left: 0px;
margin-top: 5px;
}
}
@media screen and (max-width: 500px) {
.plupload_filelist_header .plupload_file_action {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_action {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header .plupload_file_status {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_status {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header .plupload_file_size {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_size {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header, #uploader_filelist {
font-size: 13px;
}
}
@media screen and (max-width: 490px) {
#uploader.frontend .entry-form-class {
width: auto;
display: block;
margin: 0;
padding: 0;
float: left;
margin-bottom: 10px;
}
#uploader .entry-form-class {
width: 100%;
display: block;
margin: 0;
padding: 0;
float: none;
margin-bottom: 10px;
}
#uploader .section-top-bar .sb-search.sb-search-open, .no-js .sb-search {
width: 80%;
}
#uploader .section-top-bar .sb-search {
float: left;
display: block;
}
#uploader .upload-buttons {
float: none;
}
#uploader .section-top-bar .sb-search-input {
position: absolute;
top: 0;
right: 0;
border: none;
outline: none;
background: #fff;
width: 100%;
height: 28px;
max-width: 400px;
}
#uploader.frontend .section-top-bar .upload-buttons.no-categ #dobrowse {
float: left;
}
#uploader .section-top-bar #dobrowse {
float: right;
display: inline-block;
text-align: right;
}
#uploader .section-top-bar #nobrowse {
float: right;
display: inline-block;
margin: 0;
text-align: right;
}
#uploader i.browse {
margin-right: 10px;
margin-left: 0px;
}
#uploader .upload-buttons {
margin-left: 0px;
}
}
@media screen and (max-width: 450px) {
.plupload_filelist .plupload_file_name {
width: 100px;
white-space: nowrap;
text-overflow: ellipsis;
}
#uploader .section-top-bar .sb-search.sb-search-open, .no-js .sb-search {
width: 70%;
}
#uploader .section-top-bar #nobrowse {
float: right;
display: inline-block;
margin: 0;
text-align: right;
}
#uploader .section-top-bar #dobrowse {
float: right;
display: inline-block;
text-align: right;
}
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

View File

@@ -0,0 +1,513 @@
.plupload_button.plupload_start {
display: inline-block;
}
.plupload_button {
display: inline-block;
}
.plupload_button-off {
display: -moz-inline-box;
display: inline-block;
font: normal 12px sans-serif;
text-decoration: none;
color: #42454a;
border: 1px solid #bababa;
padding: 2px 8px 3px 20px;
margin-right: 4px;
background: #f3f3f3 url('../img/buttons.png') no-repeat 0 center;
outline: 0;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.plupload_button-off:hover {
color: #000;
text-decoration: none;
}
.plupload_disabled, a.plupload_disabled:hover {
color: #737373;
border-color: #c5c5c5;
background: #ededed url('../img/buttons-disabled.png') no-repeat 0 center;
cursor: default;
}
.plupload_add-off {
background-position: -181px center;
}
.plupload_wrapper {
font-size: 14px;
width: 100%;
}
.plupload_container {
padding: 8px;
background: url('../img/transp50.png');
}
.plupload_header {background: #2A2C2E url('../img/backgrounds.gif') repeat-x;}
.plupload_header_content {
background: url('../img/backgrounds.gif') no-repeat 0 -317px;
min-height: 56px;
padding-left: 60px;
color: #FFF;
}
.plupload_filelist {
margin: 0;
padding: 0;
list-style: none;
}
.plupload_scroll .plupload_filelist {
background: #f8f8f8;
}
.plupload_filelist li:not(.pl-entry-edit):not(.plupload_droptext) {
padding: 10px 8px;
background: #F5F5F5 url('../img/backgrounds.gif') repeat-x 0 -156px;
border-bottom: 1px solid #DDD;
}
.plupload_filelist li:not(.pl-entry-edit):hover {
}
.plupload_filelist ul.choices li {
padding: 5px 5px 5px 15px !important;
border-bottom: 0px !important;
background-image: none !important;
}
.entry-edit-icon {
color: green;
cursor: pointer;
}
.backend_tpl_upload .cbp-spmenu-push, .tpl_upload .cbp-spmenu-push {
overflow-x: visible;
}
li.pl-entry-edit {
background-color: #fff;
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
#uploader .entry-form-class.entry-form-edit {
width: 100%;
padding: 10px 30px;
}
.entry-edit-icon {
margin-left: 10px;
}
.plupload_filelist_header, .plupload_filelist_footer {
background: #ececec;
padding: 8px 8px;
color: #454545;
}
.plupload_filelist_header {
border-top: 1px solid #EEE;
border-bottom: 1px solid #CDCDCD;
}
.plupload_filelist_footer {border-top: 1px solid #FFF; height: 22px; line-height: 20px; vertical-align: middle;}
.plupload_file_name {float: left; overflow: hidden}
.plupload_file_status {color: #777;}
.plupload_file_status span {color: #42454A;}
.plupload_progress {
float: left;
width: 100%;
}
.plupload_file_status, .plupload_file_size {
float: right;
width: 125px;
text-align: center;
}
.plupload_file_size, .plupload_file_status, .plupload_file_action {text-align: right;}
.plupload_filelist .plupload_file_name {
text-overflow: ellipsis;
max-width: 500px;
}
.plupload_file_action {
float: right;
width: 16px;
height: 16px;
margin-left: 15px;
}
.plupload_filelist_header .plupload_file_action {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_action {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header .plupload_file_status {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_status {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header .plupload_file_size {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_size {
float: right;
width: 80px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_file_action * {
width: 16px;
height: 16px;
}
li.plupload_uploading {background: #ECF3DC url('../img/backgrounds.gif') repeat-x 0 -238px;}
li.plupload_done {color:#AAA}
li.plupload_delete a {
display: inline-block !important;
color: red;
font-size: 18px;
}
li.plupload_failed a {
cursor: default;
display: inline-block !important;
color: red;
font-size: 16px;
}
li.plupload_failed {
color: red;
}
li.plupload_done a {
cursor: default;
display: inline-block !important;
color: green;
font-size: 18px;
}
.plupload_progress, .plupload_upload_status {
display: block;
}
.plupload_total_file_size {
font-size: 15px;
left: 10px;
position: absolute;
line-height: 20px;
color: #fff;
}
.plupload_progress_container {
margin-top: 1px;
border: 1px solid #CCC;
background: #FFF;
padding: 1px;
width: 100%;
position: relative;
}
.plupload_progress_bar {
width: 0px;
height: 22px;
background: #199900;
display: block;
}
.plupload_total_status {
font-size: 15px;
left: 50%;
position: absolute;
line-height: 20px;
}
.plupload_scroll .plupload_filelist_header .plupload_file_action, .plupload_scroll .plupload_filelist_footer .plupload_file_action {
}
/* Floats */
.plupload_clear,.plupload_clearer {clear: both;}
.plupload_clearer {
display: block;
font-size: 0;
line-height: 0;
}
li.plupload_droptext {
background: transparent;
text-align: center;
vertical-align: middle;
border: 0;
min-height: 165px;
}
#uploader .section-top-bar .sb-search {
float: left;
display: inline-block;
}
#uploader .section-top-bar #dobrowse {
float: left;
display: inline-block;
}
#uploader .section-top-bar #nobrowse {
float: left;
display: inline-block;
}
#uploader .section-top-bar .sb-icon-search::before {
content: "\e60b";
}
#uploader .section-top-bar .sb-icon-search {
font-family: "icomoonBe";
}
#uploader_filelist .plupload_file_status {
}
#uploader .section-top-bar .selector {
}
#uploader .section-top-bar .sb-search.sb-search-open, .no-js .sb-search {
width: 170px;
position: relative;
}
#uploader a.browse i {
margin-right: 10px;
margin-left: 10px;
}
#uploader a.browse.off i, #uploader a.start.off i, #uploader .section-top-bar .sb-icon-search.off {
background: #ccc;
}
#uploader a.browse.set i, #uploader a.start.set i, #uploader .section-top-bar .sb-icon-search.set {
background: #199900;
}
#uploader a.browse i, #uploader a.start i, #uploader a.setup i, #uploader .section-top-bar .sb-icon-search {
background: #06a2cb;
}
#uploader a.browse i, #uploader a.start i, #uploader a.setup i {
font-size: 16px;
color: white;
width: 28px;
height: 28px;
display: block;
line-height: 28px;
text-align: center;
float: left;
cursor: pointer;
}
#uploader .entry-form-class {
width: 175px;
display: inline-block;
margin: 0;
padding: 0;
float: left;
}
#uploader .upload-buttons {
float: left;
margin-left: 16px;
}
#uploader.frontend .upload-buttons {
float: left;
margin-left: 0px;
}
#uploader .upload-buttons.no-categ, #uploader.frontend i.iconBe-plus.no-categ {
margin-left: 0px;
}
#fsUploadStats {
margin: 0px 10px;
}
.plupload_done i.icon-times::before {
content: "\f00c" !important;
}
.plupload_uploading i.icon-times {
display: none;
}
@media screen and (max-width: 950px) {
#uploader .vs-column.half.upload-left-fix {
width: 58.5%;
}
#uploader .vs-column.half.upload-right-fix {
width: 40%;
}
}
@media screen and (max-width: 850px) {
#uploader .vs-column.half.upload-left-fix {
width: 100%;
}
#uploader .vs-column.half.upload-right-fix {
width: 100%;
}
#uploader .upload-buttons.no-categ {
float: left;
}
#uploader .upload-buttons {
float: right;
}
#uploader .plupload_progress {
margin-top: 10px;
}
}
@media screen and (max-width: 650px) {
.plupload_filelist .plupload_file_name {
width: 190px;
white-space: nowrap;
text-overflow: ellipsis;
}
#uploader .upload-buttons.no-categ {
float: none;
}
i.entry-edit-icon {
display: inherit;
margin-left: 0px;
margin-top: 5px;
}
}
@media screen and (max-width: 500px) {
.plupload_filelist_header .plupload_file_action {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_action {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header .plupload_file_status {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_status {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header .plupload_file_size {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
#uploader_filelist .plupload_file_size {
float: right;
width: 60px;
height: 16px;
margin-left: 0px;
text-align: center;
}
.plupload_filelist_header, #uploader_filelist {
font-size: 13px;
}
}
@media screen and (max-width: 490px) {
#uploader.frontend .entry-form-class {
display: block;
margin: 0;
padding: 10px;
float: left;
margin-bottom: 10px;
}
#uploader .entry-form-class {
width: 100%;
display: block;
margin: 0;
padding: 0;
float: none;
margin-bottom: 10px;
}
#uploader .section-top-bar .sb-search.sb-search-open, .no-js .sb-search {
width: 80%;
}
#uploader .section-top-bar .sb-search {
float: left;
display: block;
}
#uploader .upload-buttons {
float: none;
}
#uploader .section-top-bar .sb-search-input {
position: absolute;
top: 0;
right: 0;
border: none;
outline: none;
background: #fff;
width: 100%;
height: 28px;
max-width: 400px;
}
#uploader.frontend .section-top-bar .upload-buttons.no-categ #dobrowse {
float: left;
}
#uploader .section-top-bar #dobrowse {
float: right;
display: inline-block;
text-align: right;
}
#uploader .section-top-bar #nobrowse {
float: right;
display: inline-block;
margin: 0;
text-align: right;
}
#uploader i.browse {
margin-right: 10px;
margin-left: 0px;
}
#uploader .upload-buttons {
margin-left: 0px;
}
}
@media screen and (max-width: 450px) {
.plupload_filelist .plupload_file_name {
width: 100px;
white-space: nowrap;
text-overflow: ellipsis;
}
#uploader .section-top-bar .sb-search.sb-search-open, .no-js .sb-search {
width: 70%;
}
#uploader .section-top-bar #nobrowse {
float: right;
display: inline-block;
margin: 0;
text-align: right;
}
#uploader .section-top-bar #dobrowse {
float: right;
display: inline-block;
text-align: right;
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long