Skip to content

Commit

Permalink
hello github! 馃槝
Browse files Browse the repository at this point in the history
  • Loading branch information
abdumu committed Jan 8, 2018
0 parents commit 7f4a4f6
Show file tree
Hide file tree
Showing 540 changed files with 70,817 additions and 0 deletions.
23 changes: 23 additions & 0 deletions .gitignore
@@ -0,0 +1,23 @@
cache/*.php
cache/*.log
plugins/*.php
config.php
uploads/*
!uploads/index.html
!uploads/php.ini
!uploads/thumbs
uploads/thumbs/*
!uploads/thumbs/index.html
!uploads/thumbs/php.ini
.DS_Store
*/.DS_Store
*/*/.DS_Store
encodings.xml
kleeja.iml
modules.xml
php.xml
vcs.xml
workspace.xml
Project_Default.xml
.buildpath
.project
126 changes: 126 additions & 0 deletions CHANGELOG.md
@@ -0,0 +1,126 @@
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).


## 2.3
- fix bug where 'empty files' error when url uplaoding is on.
- fix bug where limiting download size is not working.
- fix bugs where some images in ACP are not shown/missing.
- you can use {username} in folder name now.
- only show/validate captcha for login/admin login if GD is installed.
- fix progress bar (with a style that supports that).

## 2.2
- fix a bug where a user can not upload files with uppercase extensions like PNG.
- fix a bug where a long filename might ruin the download.html page.
- fix a bug where the 'site is closed' not shown.
- new functions add_to_htaccess, remove_from_htaccess to make it easier for plugins to add rules.
- fix typo in download.html link target attribute.


## 2.1
- fix bug where installation shows white page if mysqli is not installed.
- fix bug where some links in admin/users page doesn't work
- prevent non-founder admins from installing/uploading/enabling plugins or styles.
- fix bug where uploading doesn't work because of default php uploading error system.
- fix a problem where a plugin cache still exists after enabling/disabling it.
- fix a bug where file inputs don't increase (reported by ali iraq)
- fix a bug where an admin can not login when Kleeja is closed.


## 2.0
- New file-based-plugin system. No more 'eval' function.
- Removed the ability to edit a template or restore backup template.
- IP addresses now respect CloudFlare integration
- wrong time at show last visit files/images (reported by: bader_vip)
- fix bug:1104, where kleeja_date doesn't respect user time zone (reported by: bader_vip)
- fix bug:1124, fix permission for fileuser (reported by: sadiq6210)
- fix bug:1134, where you can download files without waiting using imgf links (reported by: 2mka)
- fix bug:1121, where kleeja web site links are wrong (reported by: yasorno)
- fix bug:1120, where editing ACLs doesn't work .. (reported by: sadiq6210)
- Captcha in admin login to prevent automated bots.
- screenshots+info of styles in control panel
- fix bug when searching for selected images鈥檚 by ip, or username.
- fix bug 1102, where mobile devices users can not copy urls from inputs (style)
- fix bug where calls+reports deleting queue doesn't work! (un-reported)
- fix bug:1117, deleting files from user folder other than page 1 won't work (reported by: bader_vip)
- when enabling htaccess url, rename file from htaccess.tx to .htaccess
- remove KLIVE codes
- fix Default style to be responsive (works with mobile phones + tables)
- fix acp notifications
- alert the user if the file is not allowed [ext + size] before uploading.
- use ig, ip, g, p
- new style based on Bootstrap 4
- new Admin style based on Bootstrap 4
- kljuploader class refactored to an interface, so we could add other uploading methods
- fix image quality problem if watermark is on
- new way of detecting and securing kleeja during uploading.
- open ip search in new window
- fix htaccess rule where fileuser page not accessible by others
- Images has their own links form now.
- Captcha in login page to prevent password guessing.
- you can now use parameters in uploading folder input like {year} {month} {week} {day}.
- show captcha for admin login if first attempt was wrong.
- only support php 7+.


## 1.7
- Kleeja 1.7 is compatible with PHP7 now.
- some other fixes.


## 1.6
- Fix XSS bug at uploading files [ thanks to Ebram Atef @geekpero ]; bug#1253
- Add useful https header to improve security.
- fix compatibility issue with php 5.5; bug#1252, bug#1240, bug#1239, bug#1241
- fix an error with thumbs.php if no GD installed
- fix bug where admin can not change the ACL [permissions] of users. bug##1229
- fix bug where user can鈥檛 see his folder if ACL to see other鈥檚 folders is off to him. bug#1228.
- remove gzip feature because user who doesn鈥檛 know how to use it keep using it. bug#1226
- no more mysql driver, all now transformed to mysqli. bug #1224
- fix bug if number of files that user can upload is 0, he can still upload! bug#1223.
- remove backup feature, no need for it.


## 1.5.4
- When the database old, tell the user to update.
- fix bug in ACP where secondary menu not appear
- add link to user folder at do.php?id=.. page


## 1.5.3
- add turkish language.
- disable ajax by default at ACP ( you can add AJAX_ACP in config.php to turn ajax on )
- some style improvments at ACP
- hide un-important items from ACP menu and add a button to show them.
- fix problems with login + captcha that's appeared at 1.5.2


## 1.5.2
- Add Persian language (thanx for dverbame)
- Fix bug with thumbs size (reported by : Tony Broomfield)
- fix bug where Last visit in ACP doesnt use Kleeja zone (reborted by: Bader_vip)
- fix bug where total files number excludes images (reborted by: Bader_vip)
- fix bug where guests can not access user folders, ucp.php?go=fileuser&id=[userid] (reported by: ibragate)
- fix bug where kleeja doesnt respect decoding type when it set to nothing (reported by: althani)
- fix security issue ..
- Username at registering now should be between 4 to 25 characters (reported by ibragate)
- fix bug where user can not open other page while uploading files (reported by gulfup.com)
- faster home page with new improved javascript tabs
- Juqery.js library is included offically with Kleeja now
- fix bug when there is no file and request thumbf=..., it shows txt error instead of image error.
- good look of images at userfile while loading instead of just white spaces.
- return back to "mysql_real_escape_string, (reported by twitter/Abdullah_says)

## 1.5.1
- Fix bug with uploading from URL.
- Fix bug in SQL when reparing tables.
- FIx bug where function is miswritten [helper_thumb_imagick]
- Fix unclear halt at install.php file


## 1.0 (was in 2007)
- ...
59 changes: 59 additions & 0 deletions README.md
@@ -0,0 +1,59 @@
# Kleeja
The powerful and easiest way to run File Upload Service on your website.
Trusted by thousands of webmasters since 2007.


## Key Features & Highlights

### Multi-lingual
The script allows you to change the language from Admin Panel easily...
### User-friendly interface with multiple file fields:
The admin can choose the number of file fields which will appear to the user in a very elegant way ... the script interface is also very user-friendly.
### Security:
The script has a user sessions system and the Admin user can also sign out from the Admin Panel and act as a normal user...
### Limit file types and sizes:
The script has an advanced file types management system, The Admin can also control the file size for every single file type for users and guests...
### Limited upload space:
You can limit your upload space and the upload center will close automatically with a simple message when it reaches the limit
### Want to use google Analytics?
You can simply add the "Google Analytics" code in the script settings without having to edit the script files..
### Forums user integration:
You can integrate your current (phpBB ,VBulltin) forum users with your upload center easily...
### Watermark:
The Admin can enable the Watermark option, so that the site logo will appear on the uploaded images...
### Image Thumbnails:
The Admin can also enable this option from the Admin Panel so that the users will be given thumbnail links for the uploaded images...
### Report abuse system:
The user can report abusing files from a simple page without even having to enter the abusing file URL... All the reports will be sent to the Admin Panel with a simple report management system and the Admin can also reply to it ...
### Advanced contact system:
The users can contact the Admin and the messages will be sent to the Admin Panel , with the Admin reply ability...
### Cache system:
This script uses cache (APC, or Flat files) so that the pages would load faster...
### Registration control:
The Admin can choose to open or close new user registration at any time with ease...
### Closing the upload center:
The Admin can choose to open or close the upload center with a custom message.
### UTF8:
The script uses UTF8 encoding
### Who's online:
The Admin can enable the (Who's online) option in a elegant way with separation between users and guests...
### Adjustable Download Counter:
Adjust the waiting period for users before they can download (great for showing ads, so users will spend more time on your pages)
### Single or Mass banning system:
The Admin can ban users using a simplified banning system...
### Multiple Admins:
Yes, you can add more than one Admin user from the Admin Panel ...
### Total repair system:
Deletes cache, Re-checks counters and repairs tables...
### Changing file name with two methods:
You can automatically change the uploaded file's name by the "time" function, the "MD5 encryption" function or you can choose not to use any...
### Uploading from URLs (leech):
Yes, the Admin can enable it from the Admin Panel, although this option is in development...
### Advanced Admin Dashboard:
The Admin home page is the starter page for the Admin where statistics and usage details are listed...
### Terms of service:
The user can't upload before agreeing to the terms, which you can easily edit...
### File deletion URL:
because we care about the privacy of our users, a URL will be given to users after a successful uploading process which the users can use for deleting the uploaded files...
### Spams & Flood Protection:
Kleeja has Spam protection and Flood protection, also it comes with Captcha system.
34 changes: 34 additions & 0 deletions admin/Masmak/admin_ban.html
@@ -0,0 +1,34 @@


<!-- Breadcrumbs -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
<li class="breadcrumb-item active">{lang.R_BAN}</li>
</ol>

<div class="card">
<div class="card-body">
{lang.BAN_EXP1}
<br>
{lang.BAN_EXP2}
</div>
</div>

<br>

<form method="post" action="{action}" id="ban_form">

<div class="form-group">
<!-- textarea -->
<textarea name="ban_text" class="form-control" rows="2" cols="20" style="width:99%; height: 100px;direction:ltr;">{ban}</textarea>
</div>

<br>

<input type="submit" name="submit" value="{lang.UPDATE_BAN}" class="btn btn-primary">


{H_FORM_KEYS}
</form>


114 changes: 114 additions & 0 deletions admin/Masmak/admin_calls.html
@@ -0,0 +1,114 @@

<!-- Breadcrumbs -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
<li class="breadcrumb-item active">{lang.R_CALLS}</li>
<IF NAME="current_smt == show_h24"><li class="breadcrumb-item active"> {lang.SHOW_FROM_24H}</li></IF>
</ol>


<IF NAME="no_results">
<div class="alert alert-info">{lang.MESSAGE_NONE}</div>
<ELSE>


<form method="post" name="callform" action="{action}" id="calls_form">


<div id="accordion" role="tablist" aria-multiselectable="true">

<LOOP NAME="arr">
<div class="card mb-1" id="su[{{id}}]">
<div class="card-header" role="tab" id="heading{{id}}">

<h6 class="mb-0">
<input type="checkbox" class="custom-checkbox" name="del_{{id}}" value="{{id}}" onclick="change_color(this,'su[{{id}}]', 'bg-warning card', 'card');" rel="_del" />

<a data-toggle="collapse" data-parent="#accordion" href="#collapse{{id}}" aria-expanded="false" aria-controls="collapse{{id}}">
{{name}}
<IF LOOP="sent"><i class="fa fa-reply" title="{lang.IS_SEND_MAIL}" data-toggle="tooltip"></i></IF>
</a>
<small class="pull-(lang.DIR==ltr?right:left)">{{human_time}}</small>
</h6>

</div>
<div id="collapse{{id}}" class="collapse" role="tabpanel" aria-labelledby="heading{{id}}">

<div class="card-body">
{{text}}
<br>
<br>
____<br>
<IF LOOP="mail"><span class="text-muted">{lang.EMAIL}:</span> {{mail}}<br></IF>
<span class="text-muted">{lang.IP}:</span> <a href="{{ip_finder}}" target="_blank">{{ip}}</a><br>
<span class="text-muted">{lang.TIME}:</span> {{time}}<br>
<IF LOOP="mail">
<hr>
<a class="btn btn-primary" data-toggle="modal" data-target="#contactForm{{id}}" href="#">
{lang.REPLY_CALL}
</a>
</IF>
</div>

</div>
</div>
</LOOP>
</div>


<!-- pagination -->
{page_nums}
<div class="clearfix"></div>

<br>
<div class="row justify-content-between">
<div class="col col-md-auto">[ <a href="javascript:void(0);" onclick="checkAll(document.callform, '_del', 'su', 'card bg-warning mb-1', 'card mb-1');">{lang.CHECK_ALL}</a> ]</div>
<div class="col col-md-auto"><input type="submit" class="btn btn-outline-primary" name="submit" value="{lang.DEL_SELECTED}" /></div>
</div>

{H_FORM_KEYS}
</form>

<!-- contact form modals -->
<LOOP NAME="arr">
<div class="modal" id="contactForm{{id}}">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form method="post" action="{action}" id="send_form" role="form">
<div class="modal-header">
<h5 class="modal-title">{lang.REPLY_CALL}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>

<div class="modal-body">
{{text}}
<br>
<br>
____<br>
<IF LOOP="mail"><span class="text-muted">{lang.EMAIL}:</span> {{mail}}<br></IF>
<br>

<textarea name="v_{{id}}" cols="80" class="form-control" rows="3" placeholder="{lang.TEXT}"></textarea>
<input type="hidden" name="reply_submit" value="1">

</div>
<div class="modal-footer">
<button type="submit" name="reply_submit" class="btn btn-primary btn-sm"><span>{lang.REPLY}</span></button>
</div>
</form>
</div>
</div>
</div>

</LOOP>

</IF>



<IF NAME="there_queue">
<br><hr>
<div class="alert alert-info">{lang.DELETE_PROCESS_IN_WORK}</div>
</IF>
30 changes: 30 additions & 0 deletions admin/Masmak/admin_check_update.html
@@ -0,0 +1,30 @@

<IF NAME="current_smt == general">

<!-- Breadcrumbs -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
<li class="breadcrumb-item active">{lang.R_CHECK_UPDATE}</li>
</ol>

<div class="alert <IF NAME="error">alert-warning<ELSE>alert-info</IF>">{text}</div>


<ELSEIF NAME="current_smt == howto">

<!-- Breadcrumbs -->
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="./">{lang.R_CPINDEX}</a></li>
<li class="breadcrumb-item active">{lang.HOW_UPDATE_KLEEJA}</li>
</ol>

<ul class="update_list">
<li>{lang.HOW_UPDATE_KLEEJA_STEP1}</li>
<li>{lang.HOW_UPDATE_KLEEJA_STEP2}</li>
<li>{lang.HOW_UPDATE_KLEEJA_STEP3}
<input class="form-control" type="text" value="{update_link}" readonly>
</li>
</ul>


</IF>

0 comments on commit 7f4a4f6

Please sign in to comment.