first push
5
.gitignore
vendored
@ -9,7 +9,7 @@ log/*
|
||||
modules/gamification/
|
||||
upload/*
|
||||
*sitemap.xml
|
||||
|
||||
/__install/
|
||||
#### IMAGES ####
|
||||
/img/*
|
||||
!img/index.php
|
||||
@ -42,6 +42,7 @@ config/settings.inc.php
|
||||
config/settings.old.php
|
||||
config/xml/*.xml
|
||||
modules/*/config*.xml
|
||||
/_modules/
|
||||
|
||||
#### THEME ####
|
||||
themes/default/cache/*.js
|
||||
@ -85,4 +86,4 @@ modules/*/mails/*
|
||||
config.codekit
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
.zfs/
|
||||
.zfs/
|
||||
|
0
58264436f3816f50d1aa851489764fe1.txt
Normal file
49
CONTRIBUTING.md
Executable file
@ -0,0 +1,49 @@
|
||||
Contributing to PrestaShop
|
||||
--------------------------
|
||||
|
||||
PrestaShop is an open-source e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements.
|
||||
|
||||
PrestaShop 1.6 is written mostly in PHP. Other languages used throughout are JavaScript, HTML, CSS, the Smarty templating language, SQL, and XML.
|
||||
|
||||
To contribute to the project, you should ideally be familiar with Git, the source code management system that PrestaShop uses, with the official repository being hosted on Github:
|
||||
* You can learn more about Git here: http://try.github.io/ (there are many tutorials available on the Web).
|
||||
* You can get help on Github here: https://help.github.com/.
|
||||
* Windows users can get a nice interface for Git by installing TortoiseGit: http://code.google.com/p/tortoisegit/
|
||||
|
||||
Contributors should follow the following process:
|
||||
|
||||
1. Create your Github account, if you do not have one already.
|
||||
2. Fork the PrestaShop project to your Github account.
|
||||
3. Clone your fork to your local machine. Be sure to make a recursive clone (use "git clone --recursive git://github.com/username/PrestaShop.git" or check the "Recursive" box in TortoiseGit) in order to have all the PrestaShop modules cloned too!
|
||||
4. Create a branch in your local clone for your changes.
|
||||
5. Change the files in your branch. Be sure to follow [the coding standards][1].
|
||||
6. Push your changed branch to your fork in your Github account.
|
||||
7. Create a pull request for your changes on the PrestaShop project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3].
|
||||
8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code.
|
||||
|
||||
That's it: you have contributed to this open source project! Congratulations!
|
||||
|
||||
The PrestaShop documentation features a thorough explanation of the [complete process to your first pull request][4].
|
||||
|
||||
If you don't feel comfortable forking the project or using Git, you can also either:
|
||||
* Edit a file directly within Github: browse to the target file, click the "Edit" button, make your changes in the editor then click on "Propose File Change". Github will automatically create a new fork and branch on your own Github account, then suggest to create a pull request to PrestaShop. Once the pull request is submitted, you just have to wait for a core developer to answer you.
|
||||
* Submit an issue using the Forge: [PrestaShop Forge][5] is the official ticket-tracker for PrestaShop, and the best place to write a bug ticket or request an improvement, while not having to be a developer at all. You will need to create an account on the Forge: [follow these instructions][6], then wait for a core developer to answer you.
|
||||
|
||||
Thank you for your help in making PrestaShop even better!
|
||||
|
||||
|
||||
### About licenses
|
||||
|
||||
* All core files you commit in your pull request must respect/use the [Open Software License (OSL 3.0)][7].
|
||||
* All modules files you commit in your pull request must respect/use the [Academic Free License (AFL 3.0)][8].
|
||||
|
||||
|
||||
[1]: http://doc.prestashop.com/display/PS16/Coding+Standards
|
||||
[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message
|
||||
[3]: https://help.github.com/articles/using-pull-requests
|
||||
[4]: http://doc.prestashop.com/display/PS16/Contributing+code+to+PrestaShop
|
||||
[5]: http://forge.prestashop.com/
|
||||
[6]: http://doc.prestashop.com/display/PS16/How+to+use+the+Forge+to+contribute+to+PrestaShop
|
||||
[7]: http://opensource.org/licenses/OSL-3.0
|
||||
[8]: http://opensource.org/licenses/AFL-3.0
|
||||
|
299
CONTRIBUTORS.md
Executable file
@ -0,0 +1,299 @@
|
||||
GitHub contributors:
|
||||
--------------------------------
|
||||
(d)oekia
|
||||
123monsite-regis
|
||||
Adonis Karavokyros
|
||||
Adrien
|
||||
Agence CINS
|
||||
Aleksander Palyan
|
||||
Alexander Grosul
|
||||
Alexander Otchenashev
|
||||
Alexandra Even
|
||||
AlexEven
|
||||
Alexey Svistunov
|
||||
alexey-svistunov
|
||||
Alfonso Jimenez
|
||||
anat
|
||||
Anatole
|
||||
Andrew
|
||||
antoniofr
|
||||
AntonLejon
|
||||
Arnaud Lemercier
|
||||
axi
|
||||
Axome
|
||||
Balestrino
|
||||
bellini13
|
||||
Benjamin PONGY
|
||||
BigZ
|
||||
BluTiGeS
|
||||
Bruno Leveque
|
||||
bumbu
|
||||
Burhan
|
||||
Caleydon Media
|
||||
cam.lafit
|
||||
Captain FLAM
|
||||
Captain-FLAM
|
||||
ccauw
|
||||
cedricfontaine
|
||||
cedricgeffroy
|
||||
Chen.Zhidong
|
||||
Chris
|
||||
Chris Gurk
|
||||
ChristopheBoucaut
|
||||
CINS
|
||||
cippest
|
||||
cmouleyre
|
||||
codvir
|
||||
Corentin Delcourt
|
||||
Cosmin Hutanu
|
||||
Cedric Mouleyre
|
||||
Damien Metzger
|
||||
DamienMetzger
|
||||
Damon Skelhorn
|
||||
Daniel
|
||||
Daniele Giachino
|
||||
danoosh
|
||||
Danoosh Mir
|
||||
David Gasperoni
|
||||
David-Julian BUCH
|
||||
Davy Rolink
|
||||
DevNet
|
||||
Dh42
|
||||
Dimitrios Karvounaris
|
||||
Dinis Lage
|
||||
djbuch
|
||||
djfm
|
||||
dlage
|
||||
doekia
|
||||
DOEO
|
||||
Dragan Skrbic
|
||||
Dream me up
|
||||
dreammeup
|
||||
DrySs
|
||||
DrySs'
|
||||
dSevere
|
||||
Dvir Julius
|
||||
edamart
|
||||
Edouard Gaulue
|
||||
Emilien Puget
|
||||
emilien-puget
|
||||
emily-d
|
||||
Eric Le Lay
|
||||
erickturcios
|
||||
Fabio Chelly
|
||||
fchellypresta
|
||||
Felipe Uribe
|
||||
fetis
|
||||
Florian Kwakkenbos
|
||||
fram
|
||||
Francois Gaillard
|
||||
Francois-Marie de Jouvencel
|
||||
François Gaillard
|
||||
Gabriel Schwardy
|
||||
Gaelle ITZKOVITZ
|
||||
Gamesh
|
||||
ggedamed
|
||||
Gordon Coubrough
|
||||
gr4devel
|
||||
Granger Kevin
|
||||
Gregory Roussac
|
||||
gRoussac
|
||||
Gregoire Belorgey
|
||||
Guillaume DELOINCE
|
||||
Guillaume Lafarge
|
||||
Ha!*!*y
|
||||
ha99y
|
||||
hiousi
|
||||
indesign47
|
||||
iNem0o
|
||||
ironwo0d
|
||||
ITBpro.com
|
||||
ivancasasempere
|
||||
J. Danse
|
||||
janisVincent
|
||||
Javsmile
|
||||
JEAN
|
||||
jeanbe
|
||||
jeckyl
|
||||
Jerome Nadaud
|
||||
jeromenadaud
|
||||
jessylenne
|
||||
Joan Juvanteny
|
||||
joemartin247
|
||||
Joep Hendrix
|
||||
Jonadabe
|
||||
Jonathan Danse
|
||||
Jonathan SAHM
|
||||
Jorge Vargas
|
||||
joseantgv
|
||||
Julien
|
||||
Julien Bouchez
|
||||
Julien Bourdeau
|
||||
julienbourdeau
|
||||
Jachym Tousek
|
||||
Kevin Granger
|
||||
kiropowered
|
||||
kpodemski
|
||||
Krystian Podemski
|
||||
Kevin Dunglas
|
||||
ldecoker
|
||||
lesley paone
|
||||
LOIC ROSSET ltd
|
||||
Luca T.
|
||||
Lucas CERDAN
|
||||
LucasC
|
||||
LyoNick
|
||||
M-Mommsen
|
||||
Madef
|
||||
Madman
|
||||
Mainmich
|
||||
makk1ntosh
|
||||
marcinsz101
|
||||
Marco Cervellin
|
||||
matiasiglesias
|
||||
Mats Rynge
|
||||
MatthieuB
|
||||
Maxence
|
||||
Maxime
|
||||
mchojnacki
|
||||
Michel Courtade
|
||||
Mickael Desgranges
|
||||
Mikael Blotin
|
||||
Mikko Hellsing
|
||||
Milow
|
||||
Mingsong Hu
|
||||
minic studio
|
||||
misthero
|
||||
montes
|
||||
MustangZhong
|
||||
natrim
|
||||
neemzy
|
||||
nezenmoins
|
||||
Nicolas Sorosac
|
||||
Niklas Ekman
|
||||
Niko Wicaksono
|
||||
Nils-Helge Garli Hegvik
|
||||
Nino Uzelac
|
||||
nturato
|
||||
oleacorner
|
||||
Otto Nascarella
|
||||
Panagiotis Tigas
|
||||
Patanock
|
||||
Per Lejontand
|
||||
Peter Schaeffer
|
||||
peterept
|
||||
PhpMadman
|
||||
Pierre
|
||||
Piotr Kaczor
|
||||
Piotr Moćko
|
||||
PrestaEdit
|
||||
PrestaLab
|
||||
PrestanceDesign
|
||||
prestarocket
|
||||
Prestaspirit
|
||||
Priyank Bolia
|
||||
Pronux
|
||||
pxls
|
||||
quadrateam
|
||||
Quentin Montant
|
||||
Quetzacoalt91
|
||||
Raphael Malie
|
||||
raulgundin
|
||||
rGaillard
|
||||
Rhys
|
||||
Rimas Kudelis
|
||||
robert
|
||||
romainberger
|
||||
runningz
|
||||
Remi Gaillard
|
||||
s-duval
|
||||
sadlyblue
|
||||
sagaradonis
|
||||
Samy Rabih
|
||||
Sarah Lorenzini
|
||||
Seb
|
||||
Seynaeve
|
||||
sfroment42
|
||||
shaffe-fr
|
||||
Shagshag
|
||||
Shipow
|
||||
sjousse
|
||||
sLorenzini
|
||||
smartdatasoft
|
||||
soufyan
|
||||
soware
|
||||
Staging
|
||||
Stanislav Yordanov
|
||||
Steven "SDF" Sulley
|
||||
Sumh
|
||||
Sylvain Gougouzian
|
||||
Sylvain WITMEYER
|
||||
Sebastien
|
||||
Sebastien Bocahu
|
||||
tchauviere
|
||||
Thibaud Chauviere
|
||||
thoma202
|
||||
Thomas
|
||||
Thomas Blanc
|
||||
Thomas N
|
||||
Thomas Nabord
|
||||
Threef
|
||||
timsit
|
||||
TMMeilleur
|
||||
Tom Panier
|
||||
Tomasz Slominski
|
||||
tucoinfo
|
||||
Tung Dao
|
||||
vAugagneur
|
||||
Vincent Augagneur
|
||||
Vincent Schoener
|
||||
Vincent Terenti
|
||||
vinvin27
|
||||
vinzter
|
||||
web-plus
|
||||
Xavier
|
||||
Xavier Borderie
|
||||
Xavier POITAU
|
||||
xKnut
|
||||
yanngarras
|
||||
Yoozio
|
||||
zimmi1
|
||||
ZiZuu.com
|
||||
Zollner Robert
|
||||
|
||||
SVN contributors:
|
||||
--------------------------------
|
||||
aFolletete
|
||||
aKorczak
|
||||
aNiassy
|
||||
bLeveque
|
||||
bMancone
|
||||
dMetzger
|
||||
dSevere
|
||||
fBrignoli
|
||||
Francois Gaillard
|
||||
fSerny
|
||||
gBrunier
|
||||
gCharmes
|
||||
gPoulain
|
||||
hAitmansour
|
||||
jBreux
|
||||
jmCollin
|
||||
jObregon
|
||||
lBrieu
|
||||
lCherifi
|
||||
lLefevre
|
||||
mBertholino
|
||||
mDeflotte
|
||||
mMarinetti
|
||||
nPellicari
|
||||
rGaillard
|
||||
rMalie
|
||||
rMontagne
|
||||
sLorenzini
|
||||
sThiebaut
|
||||
tDidierjean
|
||||
vAugagneur
|
||||
vChabot
|
||||
vKham
|
||||
vSchoener
|
2
Install_PrestaShop.html
Executable file
@ -0,0 +1,2 @@
|
||||
<a href="http://doc.prestashop.com/display/PS15/Installing+PrestaShop?utm_source=html_installer">You will be redirected to the getting started guide</a>
|
||||
<script type="text/javascript">document.location.href = 'http://doc.prestashop.com/display/PS15/Installing+PrestaShop?utm_source=html_installer';</script>
|
81
README.md
Executable file
@ -0,0 +1,81 @@
|
||||
About PrestaShop
|
||||
--------
|
||||
|
||||
PrestaShop is a free and open-source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers. It is written in PHP, is highly customizable, supports all the major payment services, is translated in many languages and localized for many countries, is fully responsive (both front- and back-office), etc. [See all the available features][1].
|
||||
|
||||
<p align="center">
|
||||
<img src="http://www.prestashop.com/images/banners/general/ps16-screenshot-github.png" alt="PrestaShop's back-office dashboard"/>
|
||||
</p>
|
||||
|
||||
To download the latest stable version of PrestaShop, go to [the download page][2] on the official PrestaShop site.
|
||||
|
||||
|
||||
About this repository
|
||||
--------
|
||||
|
||||
This repository contains the latest version of PrestaShop: version 1.6. You can learn more about the new features of this version on [the progress page][3].
|
||||
|
||||
Clicking the "Download ZIP" button from the root of this repository will download the current state of PrestaShop 1.6 -- a branch that is in active development, and ready for production use. Note that the ZIP file will not contain the default modules: you need to make a recursive clone using Git in order to download these files too. See [CONTRIBUTING.md][8] for more information about using Git.
|
||||
|
||||
|
||||
Server configuration
|
||||
--------
|
||||
|
||||
To install PrestaShop, you need a web server running PHP 5 and any flavor of MySQL 5 (MySQL, MariaDB, Percona Server, etc.).
|
||||
You will also need a database administration tool, such as phpMyAdmin, in order to create a database for PrestaShop.
|
||||
We recommend the Apache or Nginx web servers.
|
||||
|
||||
If your host does not offer PHP 5 by default, [here are a few explanations][4] about PHP 5 or the .htaccess file for certain hosting services (1&1, Free.fr, OVH, Infomaniak, Amen, GoDaddy, etc.).
|
||||
|
||||
If you want your own store with nothing to download and install, visit [http://www.prestabox.com][5]: it lets you create your online store in less than 10 minutes without any technical knowledge.
|
||||
|
||||
|
||||
Installation
|
||||
--------
|
||||
|
||||
Once the files in the PrestaShop archive have been decompressed and uploaded on your hosting space, go to the root of your PrestaShop directory with your web browser, and the PrestaShop installer will start automatically. Follow the instructions until PrestaShop is installed.
|
||||
|
||||
If you get any PHP error, it might be that you do not have PHP 5 on your web server, or that you need to activate it. See [this page for explanations about PHP 5][4], or contact your web host directly.
|
||||
If you do not find any solution to start the installer, please post about your issue on [the PrestaShop forums][6].
|
||||
|
||||
|
||||
Documentation
|
||||
--------
|
||||
|
||||
The official PrestaShop documentation is available online [on its own website][7].
|
||||
|
||||
|
||||
Contributing
|
||||
--------
|
||||
|
||||
If you want to contribute code to PrestaShop, read the [CONTRIBUTING.md][8] file in this repository or read the [tutorials about contribution][9] on the documentation site.
|
||||
|
||||
If you want to help translate PrestaShop in your language, [join us on Crowdin][10]!
|
||||
|
||||
[![Crowdin](https://crowdin.net/badges/prestashop-official/localized.png)](https://crowdin.net/project/prestashop-official)
|
||||
|
||||
|
||||
Forums
|
||||
--------
|
||||
|
||||
You can discuss about e-commerce, help other merchants and get help, and contribute to improving PrestaShop together with the PrestaShop community on [the PrestaShop forums][6].
|
||||
|
||||
|
||||
Support
|
||||
--------
|
||||
|
||||
If you need help using PrestaShop 1.6, contact the PrestaShop support team: http://support.prestashop.com/.
|
||||
|
||||
|
||||
Thank you for downloading and using the PrestaShop e-commerce Open-source solution!
|
||||
|
||||
[1]: http://www.prestashop.com/en/features
|
||||
[2]: http://www.prestashop.com/en/download
|
||||
[3]: http://www.prestashop.com/en/progress-1-6
|
||||
[4]: http://doc.prestashop.com/display/PS16/Misc.+information#Misc.information-ActivatingPHP5
|
||||
[5]: http://www.prestabox.com
|
||||
[6]: http://www.prestashop.com/forums/
|
||||
[7]: http://doc.prestashop.com
|
||||
[8]: CONTRIBUTING.md
|
||||
[9]: http://doc.prestashop.com/display/PS16/Contributing+to+PrestaShop
|
||||
[10]: https://crowdin.net/project/prestashop-official
|
54
_.htaccess
Executable file
@ -0,0 +1,54 @@
|
||||
|
||||
#start_prestablog - not remove this comment
|
||||
RewriteRule ^(.*)blog$ /index.php?fc=module&module=psblog&controller=posts [QSA,L]
|
||||
RewriteRule ^(.*)blog/([0-9]+)\-([a-zA-Z0-9-]*) /index.php?fc=module&module=psblog&controller=posts&post=$2 [QSA,L]
|
||||
RewriteRule ^(.*)blog/category/([0-9]+)\-([a-zA-Z0-9-]*) /index.php?fc=module&module=psblog&controller=posts&category=$2 [QSA,L]
|
||||
#end_prestablogAuthName "Connexion restreinte, veuillez vous identifier"
|
||||
AuthType Basic
|
||||
AuthUserFile "/var/www/vhosts/alloprotection.com/test/.htpasswd"
|
||||
Require valid-user
|
||||
|
||||
# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
|
||||
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
|
||||
# http://www.prestashop.com - http://www.prestashop.com/forums
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
<IfModule mod_env.c>
|
||||
SetEnv HTTP_MOD_REWRITE On
|
||||
</IfModule>
|
||||
|
||||
RewriteEngine on
|
||||
RewriteRule . - [E=REWRITEBASE:/]
|
||||
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
|
||||
|
||||
# Images
|
||||
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
|
||||
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
|
||||
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
|
||||
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
|
||||
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
|
||||
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
|
||||
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
|
||||
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
|
||||
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
|
||||
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
|
||||
# AlphaImageLoader for IE and fancybox
|
||||
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
|
||||
|
||||
# Dispatcher
|
||||
RewriteCond %{REQUEST_FILENAME} -s [OR]
|
||||
RewriteCond %{REQUEST_FILENAME} -l [OR]
|
||||
RewriteCond %{REQUEST_FILENAME} -d
|
||||
RewriteRule ^.*$ - [NC,L]
|
||||
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
|
||||
</IfModule>
|
||||
|
||||
AddType application/vnd.ms-fontobject .eot
|
||||
AddType font/ttf .ttf
|
||||
AddType font/otf .otf
|
||||
AddType application/x-font-woff .woff
|
||||
|
||||
#If rewrite mod isn't enabled
|
||||
ErrorDocument 404 /index.php?controller=404
|
||||
|
||||
# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
|
43
adm/ajax-tab.php
Executable file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
|
||||
require(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
require(_PS_ADMIN_DIR_.'/functions.php');
|
||||
|
||||
// For retrocompatibility with "tab" parameter
|
||||
if (!isset($_GET['controller']) && isset($_GET['tab']))
|
||||
$_GET['controller'] = strtolower($_GET['tab']);
|
||||
if (!isset($_POST['controller']) && isset($_POST['tab']))
|
||||
$_POST['controller'] = strtolower($_POST['tab']);
|
||||
if (!isset($_REQUEST['controller']) && isset($_REQUEST['tab']))
|
||||
$_REQUEST['controller'] = strtolower($_REQUEST['tab']);
|
||||
// Retrocompatibility with 1.4
|
||||
$_REQUEST['ajaxMode'] = $_POST['ajaxMode'] = $_GET['ajaxMode'] = $_REQUEST['ajax'] = $_POST['ajax'] = $_GET['ajax'] = 1;
|
||||
|
||||
Dispatcher::getInstance()->dispatch();
|
125
adm/ajax.php
Executable file
@ -0,0 +1,125 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
|
||||
/* Getting cookie or logout */
|
||||
require_once(_PS_ADMIN_DIR_.'/init.php');
|
||||
|
||||
$context = Context::getContext();
|
||||
|
||||
if (Tools::isSubmit('ajaxReferrers'))
|
||||
require(_PS_CONTROLLER_DIR_.'admin/AdminReferrersController.php');
|
||||
|
||||
if (Tools::getValue('page') == 'prestastore' AND @fsockopen('addons.prestashop.com', 80, $errno, $errst, 3))
|
||||
readfile('http://addons.prestashop.com/adminmodules.php?lang='.$context->language->iso_code);
|
||||
|
||||
if (Tools::isSubmit('getAvailableFields') AND Tools::isSubmit('entity'))
|
||||
{
|
||||
$jsonArray = array();
|
||||
$import = new AdminImportController();
|
||||
|
||||
$fields = $import->getAvailableFields(true);
|
||||
foreach ($fields AS $field)
|
||||
$jsonArray[] = '{"field":"'.addslashes($field).'"}';
|
||||
die('['.implode(',', $jsonArray).']');
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('ajaxProductPackItems'))
|
||||
{
|
||||
$jsonArray = array();
|
||||
$products = Db::getInstance()->executeS('
|
||||
SELECT p.`id_product`, pl.`name`
|
||||
FROM `'._DB_PREFIX_.'product` p
|
||||
NATURAL LEFT JOIN `'._DB_PREFIX_.'product_lang` pl
|
||||
WHERE pl.`id_lang` = '.(int)(Tools::getValue('id_lang')).'
|
||||
'.Shop::addSqlRestrictionOnLang('pl').'
|
||||
AND p.`id_product` NOT IN (SELECT DISTINCT id_product_pack FROM `'._DB_PREFIX_.'pack`)
|
||||
AND p.`id_product` != '.(int)(Tools::getValue('id_product')));
|
||||
|
||||
foreach ($products AS $packItem)
|
||||
$jsonArray[] = '{"value": "'.(int)($packItem['id_product']).'-'.addslashes($packItem['name']).'", "text":"'.(int)($packItem['id_product']).' - '.addslashes($packItem['name']).'"}';
|
||||
die('['.implode(',', $jsonArray).']');
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('getChildrenCategories') && Tools::isSubmit('id_category_parent'))
|
||||
{
|
||||
$children_categories = Category::getChildrenWithNbSelectedSubCat(Tools::getValue('id_category_parent'), Tools::getValue('selectedCat'), Context::getContext()->language->id, null, Tools::getValue('use_shop_context'));
|
||||
die(Tools::jsonEncode($children_categories));
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('getNotifications'))
|
||||
{
|
||||
$notification = new Notification;
|
||||
die(Tools::jsonEncode($notification->getLastElements()));
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('updateElementEmployee') && Tools::getValue('updateElementEmployeeType'))
|
||||
{
|
||||
$notification = new Notification;
|
||||
die($notification->updateEmployeeLastElement(Tools::getValue('updateElementEmployeeType')));
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('searchCategory'))
|
||||
{
|
||||
$q = Tools::getValue('q');
|
||||
$limit = Tools::getValue('limit');
|
||||
$results = Db::getInstance()->executeS(
|
||||
'SELECT c.`id_category`, cl.`name`
|
||||
FROM `'._DB_PREFIX_.'category` c
|
||||
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category`'.Shop::addSqlRestrictionOnLang('cl').')
|
||||
WHERE cl.`id_lang` = '.(int)$context->language->id.' AND c.`level_depth` <> 0
|
||||
AND cl.`name` LIKE \'%'.pSQL($q).'%\'
|
||||
GROUP BY c.id_category
|
||||
ORDER BY c.`position`
|
||||
LIMIT '.(int)$limit);
|
||||
if ($results)
|
||||
foreach ($results as $result)
|
||||
echo trim($result['name']).'|'.(int)$result['id_category']."\n";
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('getParentCategoriesId') && $id_category = Tools::getValue('id_category'))
|
||||
{
|
||||
$category = new Category((int)$id_category);
|
||||
$results = Db::getInstance()->executeS('SELECT `id_category` FROM `'._DB_PREFIX_.'category` c WHERE c.`nleft` < '.(int)$category->nleft.' AND c.`nright` > '.(int)$category->nright.'');
|
||||
$output = array();
|
||||
foreach ($results as $result)
|
||||
$output[] = $result;
|
||||
|
||||
die(Tools::jsonEncode($output));
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('getZones'))
|
||||
{
|
||||
$html = '<select id="zone_to_affect" name="zone_to_affect">';
|
||||
foreach (Zone::getZones() as $z)
|
||||
$html .= '<option value="'.$z['id_zone'].'">'.$z['name'].'</option>';
|
||||
$html .= '</select>';
|
||||
$array = array('hasError' => false, 'errors' => '', 'data' => $html);
|
||||
die(Tools::jsonEncode($array));
|
||||
}
|
92
adm/ajax_products_list.php
Executable file
@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
/* Getting cookie or logout */
|
||||
require_once(_PS_ADMIN_DIR_.'/init.php');
|
||||
|
||||
$query = Tools::getValue('q', false);
|
||||
if (!$query OR $query == '' OR strlen($query) < 1)
|
||||
die();
|
||||
|
||||
/*
|
||||
* In the SQL request the "q" param is used entirely to match result in database.
|
||||
* In this way if string:"(ref : #ref_pattern#)" is displayed on the return list,
|
||||
* they are no return values just because string:"(ref : #ref_pattern#)"
|
||||
* is not write in the name field of the product.
|
||||
* So the ref pattern will be cut for the search request.
|
||||
*/
|
||||
if($pos = strpos($query, ' (ref:'))
|
||||
$query = substr($query, 0, $pos);
|
||||
|
||||
$excludeIds = Tools::getValue('excludeIds', false);
|
||||
if ($excludeIds && $excludeIds != 'NaN')
|
||||
$excludeIds = implode(',', array_map('intval', explode(',', $excludeIds)));
|
||||
else
|
||||
$excludeIds = '';
|
||||
|
||||
// Excluding downloadable products from packs because download from pack is not supported
|
||||
$excludeVirtuals = (bool)Tools::getValue('excludeVirtuals', false);
|
||||
$exclude_packs = (bool)Tools::getValue('exclude_packs', false);
|
||||
|
||||
$sql = 'SELECT p.`id_product`, pl.`link_rewrite`, p.`reference`, pl.`name`, MAX(image_shop.`id_image`) id_image, il.`legend`
|
||||
FROM `'._DB_PREFIX_.'product` p
|
||||
LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (pl.id_product = p.id_product AND pl.id_lang = '.(int)Context::getContext()->language->id.Shop::addSqlRestrictionOnLang('pl').')
|
||||
LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product`)'.
|
||||
Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').'
|
||||
LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)Context::getContext()->language->id.')
|
||||
WHERE (pl.name LIKE \'%'.pSQL($query).'%\' OR p.reference LIKE \'%'.pSQL($query).'%\')'.
|
||||
(!empty($excludeIds) ? ' AND p.id_product NOT IN ('.$excludeIds.') ' : ' ').
|
||||
($excludeVirtuals ? 'AND p.id_product NOT IN (SELECT pd.id_product FROM `'._DB_PREFIX_.'product_download` pd WHERE (pd.id_product = p.id_product))' : '').
|
||||
($exclude_packs ? 'AND (p.cache_is_pack IS NULL OR p.cache_is_pack = 0)' : '').
|
||||
' GROUP BY p.id_product';
|
||||
|
||||
$items = Db::getInstance()->executeS($sql);
|
||||
|
||||
$acc = (bool)Tools::isSubmit('excludeIds');
|
||||
|
||||
if ($items && $acc)
|
||||
foreach ($items AS $item)
|
||||
echo trim($item['name']).(!empty($item['reference']) ? ' (ref: '.$item['reference'].')' : '').'|'.(int)($item['id_product'])."\n";
|
||||
elseif ($items)
|
||||
{
|
||||
// packs
|
||||
$results = array();
|
||||
foreach ($items AS $item)
|
||||
{
|
||||
$product = array(
|
||||
'id' => (int)($item['id_product']),
|
||||
'name' => $item['name'],
|
||||
'ref' => (!empty($item['reference']) ? $item['reference'] : ''),
|
||||
'image' => str_replace('http://', Tools::getShopProtocol(), Context::getContext()->link->getImageLink($item['link_rewrite'], $item['id_image'], 'home_default')),
|
||||
);
|
||||
array_push($results, $product);
|
||||
}
|
||||
echo Tools::jsonEncode($results);
|
||||
}
|
||||
else
|
||||
json_encode(new stdClass);
|
37342
adm/anta_a.php
Normal file
76
adm/backup.php
Executable file
@ -0,0 +1,76 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
|
||||
if (!Context::getContext()->employee->isLoggedBack())
|
||||
Tools::redirectAdmin(Context::getContext()->link->getAdminLink('AdminLogin'));
|
||||
|
||||
$tabAccess = Profile::getProfileAccess(Context::getContext()->employee->id_profile,
|
||||
Tab::getIdFromClassName('AdminBackup'));
|
||||
|
||||
if ($tabAccess['view'] !== '1')
|
||||
die (Tools::displayError('You do not have permission to view this.'));
|
||||
|
||||
$backupdir = realpath(PrestaShopBackup::getBackupPath());
|
||||
|
||||
if ($backupdir === false)
|
||||
die (Tools::displayError('There is no "/backup" directory.'));
|
||||
|
||||
if (!$backupfile = Tools::getValue('filename'))
|
||||
die (Tools::displayError('No file has been specified.'));
|
||||
|
||||
// Check the realpath so we can validate the backup file is under the backup directory
|
||||
$backupfile = realpath($backupdir.DIRECTORY_SEPARATOR.$backupfile);
|
||||
|
||||
if ($backupfile === false OR strncmp($backupdir, $backupfile, strlen($backupdir)) != 0 )
|
||||
die (Tools::dieOrLog('The backup file does not exist.'));
|
||||
|
||||
if (substr($backupfile, -4) == '.bz2')
|
||||
$contentType = 'application/x-bzip2';
|
||||
else if (substr($backupfile, -3) == '.gz')
|
||||
$contentType = 'application/x-gzip';
|
||||
else
|
||||
$contentType = 'text/x-sql';
|
||||
$fp = @fopen($backupfile, 'r');
|
||||
|
||||
if ($fp === false)
|
||||
die (Tools::displayError('Unable to open backup file(s).').' "'.addslashes($backupfile).'"');
|
||||
|
||||
// Add the correct headers, this forces the file is saved
|
||||
header('Content-Type: '.$contentType);
|
||||
header('Content-Disposition: attachment; filename="'.Tools::getValue('filename'). '"');
|
||||
|
||||
if (ob_get_level() && ob_get_length() > 0)
|
||||
ob_clean();
|
||||
$ret = @fpassthru($fp);
|
||||
|
||||
fclose($fp);
|
||||
|
||||
if ($ret === false)
|
||||
die (Tools::displayError('Unable to display backup file(s).').' "'.addslashes($backupfile).'"');
|
35
adm/backups/index.php
Executable file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
|
||||
|
||||
header("Cache-Control: no-store, no-cache, must-revalidate");
|
||||
header("Cache-Control: post-check=0, pre-check=0", false);
|
||||
header("Pragma: no-cache");
|
||||
|
||||
header("Location: ../");
|
||||
exit;
|
36
adm/cron_currency_rates.php
Executable file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
|
||||
if (isset($_GET['secure_key']))
|
||||
{
|
||||
$secureKey = md5(_COOKIE_KEY_.Configuration::get('PS_SHOP_NAME'));
|
||||
if (!empty($secureKey) AND $secureKey === $_GET['secure_key'])
|
||||
Currency::refreshCurrencies();
|
||||
}
|
43
adm/cron_delete_cart_rule.php
Executable file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
//18665
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
|
||||
if (isset($_GET['secure_key']))
|
||||
{
|
||||
$secureKey = md5(_COOKIE_KEY_.Configuration::get('PS_SHOP_NAME'));
|
||||
if (!empty($secureKey) AND $secureKey === $_GET['secure_key'])
|
||||
{
|
||||
Db::getInstance()->delete('cart_rule', 'id_customer = 377');
|
||||
Db::getInstance()->delete('cart_rule', 'id_customer = 27200');
|
||||
Db::getInstance()->delete('cart_rule', 'id_customer = 27221');
|
||||
Db::getInstance()->delete('cart_rule', 'id_customer = 64601');
|
||||
}
|
||||
}
|
||||
|
37
adm/displayImage.php
Executable file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
require_once(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
require_once(_PS_ADMIN_DIR_.'/init.php');
|
||||
|
||||
if (isset($_GET['img']) AND Validate::isMd5($_GET['img']) AND isset($_GET['name']) AND Validate::isGenericName($_GET['name']) AND file_exists(_PS_UPLOAD_DIR_.$_GET['img']))
|
||||
{
|
||||
header('Content-type: image/jpeg');
|
||||
header('Content-Disposition: attachment; filename="'.$_GET['name'].'.jpg"');
|
||||
echo file_get_contents(_PS_UPLOAD_DIR_.$_GET['img']);
|
||||
}
|
104
adm/drawer.php
Executable file
@ -0,0 +1,104 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd());
|
||||
include_once(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
|
||||
$module = Tools::getValue('module');
|
||||
$render = Tools::getValue('render');
|
||||
$type = Tools::getValue('type');
|
||||
$option = Tools::getValue('option');
|
||||
$layers = Tools::getValue('layers');
|
||||
$width = Tools::getValue('width');
|
||||
$height = Tools::getValue('height');
|
||||
$id_employee = Tools::getValue('id_employee');
|
||||
$id_lang = Tools::getValue('id_lang');
|
||||
|
||||
if (!isset($cookie->id_employee) || !$cookie->id_employee || $cookie->id_employee != $id_employee)
|
||||
die(Tools::displayError());
|
||||
|
||||
if (!Validate::isModuleName($module))
|
||||
die(Tools::displayError());
|
||||
|
||||
if (!Tools::file_exists_cache($module_path = _PS_ROOT_DIR_.'/modules/'.$module.'/'.$module.'.php'))
|
||||
die(Tools::displayError());
|
||||
|
||||
$shop_id = '';
|
||||
Shop::setContext(Shop::CONTEXT_ALL);
|
||||
if (Context::getContext()->cookie->shopContext)
|
||||
{
|
||||
$split = explode('-', Context::getContext()->cookie->shopContext);
|
||||
if (count($split) == 2)
|
||||
{
|
||||
if ($split[0] == 'g')
|
||||
{
|
||||
if (Context::getContext()->employee->hasAuthOnShopGroup($split[1]))
|
||||
Shop::setContext(Shop::CONTEXT_GROUP, $split[1]);
|
||||
else
|
||||
{
|
||||
$shop_id = Context::getContext()->employee->getDefaultShopID();
|
||||
Shop::setContext(Shop::CONTEXT_SHOP, $shop_id);
|
||||
}
|
||||
}
|
||||
else if (Shop::getShop($split[1]) && Context::getContext()->employee->hasAuthOnShop($split[1]))
|
||||
{
|
||||
$shop_id = $split[1];
|
||||
Shop::setContext(Shop::CONTEXT_SHOP, $shop_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
$shop_id = Context::getContext()->employee->getDefaultShopID();
|
||||
Shop::setContext(Shop::CONTEXT_SHOP, $shop_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check multishop context and set right context if need
|
||||
if (Shop::getContext())
|
||||
{
|
||||
if (Shop::getContext() == Shop::CONTEXT_SHOP && !Shop::CONTEXT_SHOP)
|
||||
Shop::setContext(Shop::CONTEXT_GROUP, Shop::getContextShopGroupID());
|
||||
if (Shop::getContext() == Shop::CONTEXT_GROUP && !Shop::CONTEXT_GROUP)
|
||||
Shop::setContext(Shop::CONTEXT_ALL);
|
||||
}
|
||||
|
||||
// Replace existing shop if necessary
|
||||
if (!$shop_id)
|
||||
Context::getContext()->shop = new Shop(Configuration::get('PS_SHOP_DEFAULT'));
|
||||
elseif (Context::getContext()->shop->id != $shop_id)
|
||||
Context::getContext()->shop = new Shop($shop_id);
|
||||
|
||||
require_once($module_path);
|
||||
|
||||
$graph = new $module();
|
||||
$graph->setEmployee($id_employee);
|
||||
$graph->setLang($id_lang);
|
||||
if ($option)
|
||||
$graph->setOption($option, $layers);
|
||||
|
||||
$graph->create($render, $type, $width, $height, $layers);
|
||||
$graph->draw();
|
245
adm/filemanager/ajax_calls.php
Executable file
@ -0,0 +1,245 @@
|
||||
<?php
|
||||
|
||||
include('config/config.php');
|
||||
|
||||
if ($_SESSION['verify'] != 'RESPONSIVEfilemanager')
|
||||
die('forbiden');
|
||||
|
||||
include('include/utils.php');
|
||||
|
||||
if (isset($_GET['action']))
|
||||
switch ($_GET['action'])
|
||||
{
|
||||
case 'view':
|
||||
if (isset($_GET['type']))
|
||||
$_SESSION['view_type'] = $_GET['type'];
|
||||
else
|
||||
die('view type number missing');
|
||||
break;
|
||||
case 'sort':
|
||||
if (isset($_GET['sort_by']))
|
||||
$_SESSION['sort_by'] = $_GET['sort_by'];
|
||||
if (isset($_GET['descending']))
|
||||
$_SESSION['descending'] = $_GET['descending'] === 'true';
|
||||
break;
|
||||
case 'image_size':
|
||||
if (realpath(dirname(_PS_ROOT_DIR_.$_POST['path'])) != realpath(_PS_ROOT_DIR_.$upload_dir))
|
||||
die();
|
||||
$pos = strpos($_POST['path'], $upload_dir);
|
||||
if ($pos !== false)
|
||||
{
|
||||
$info = getimagesize(substr_replace($_POST['path'], $current_path, $pos, strlen($upload_dir)));
|
||||
echo json_encode($info);
|
||||
}
|
||||
|
||||
break;
|
||||
case 'save_img':
|
||||
$info = pathinfo($_POST['name']);
|
||||
if (strpos($_POST['path'], '/') === 0
|
||||
|| strpos($_POST['path'], '../') !== false
|
||||
|| strpos($_POST['path'], './') === 0
|
||||
|| strpos($_POST['url'], 'http://featherfiles.aviary.com/') !== 0
|
||||
|| $_POST['name'] != fix_filename($_POST['name'], $transliteration)
|
||||
|| !in_array(strtolower($info['extension']), array('jpg', 'jpeg', 'png'))
|
||||
)
|
||||
die('wrong data');
|
||||
$image_data = get_file_by_url($_POST['url']);
|
||||
if ($image_data === false)
|
||||
{
|
||||
die('file could not be loaded');
|
||||
}
|
||||
|
||||
$put_contents_path = $current_path;
|
||||
|
||||
if (isset($_POST['path']))
|
||||
$put_contents_path .= str_replace("\0", "", $_POST['path']);
|
||||
|
||||
if (isset($_POST['name']))
|
||||
$put_contents_path .= str_replace("\0", "", $_POST['name']);
|
||||
|
||||
file_put_contents($put_contents_path, $image_data);
|
||||
//new thumb creation
|
||||
//try{
|
||||
create_img_gd($current_path.$_POST['path'].$_POST['name'], $thumbs_base_path.$_POST['path'].$_POST['name'], 122, 91);
|
||||
new_thumbnails_creation($current_path.$_POST['path'], $current_path.$_POST['path'].$_POST['name'], $_POST['name'], $current_path, $relative_image_creation, $relative_path_from_current_pos, $relative_image_creation_name_to_prepend, $relative_image_creation_name_to_append, $relative_image_creation_width, $relative_image_creation_height, $fixed_image_creation, $fixed_path_from_filemanager, $fixed_image_creation_name_to_prepend, $fixed_image_creation_to_append, $fixed_image_creation_width, $fixed_image_creation_height);
|
||||
/*} catch (Exception $e) {
|
||||
$src_thumb=$mini_src="";
|
||||
}*/
|
||||
break;
|
||||
case 'extract':
|
||||
if (strpos($_POST['path'], '/') === 0 || strpos($_POST['path'], '../') !== false || strpos($_POST['path'], './') === 0)
|
||||
die('wrong path');
|
||||
$path = $current_path.$_POST['path'];
|
||||
$info = pathinfo($path);
|
||||
$base_folder = $current_path.fix_dirname($_POST['path']).'/';
|
||||
switch ($info['extension'])
|
||||
{
|
||||
case 'zip':
|
||||
$zip = new ZipArchive;
|
||||
if ($zip->open($path) === true)
|
||||
{
|
||||
//make all the folders
|
||||
for ($i = 0; $i < $zip->numFiles; $i++)
|
||||
{
|
||||
$OnlyFileName = $zip->getNameIndex($i);
|
||||
$FullFileName = $zip->statIndex($i);
|
||||
if ($FullFileName['name'][strlen($FullFileName['name']) - 1] == '/')
|
||||
{
|
||||
create_folder($base_folder.$FullFileName['name']);
|
||||
}
|
||||
}
|
||||
//unzip into the folders
|
||||
for ($i = 0; $i < $zip->numFiles; $i++)
|
||||
{
|
||||
$OnlyFileName = $zip->getNameIndex($i);
|
||||
$FullFileName = $zip->statIndex($i);
|
||||
|
||||
if (!($FullFileName['name'][strlen($FullFileName['name']) - 1] == '/'))
|
||||
{
|
||||
$fileinfo = pathinfo($OnlyFileName);
|
||||
if (in_array(strtolower($fileinfo['extension']), $ext))
|
||||
{
|
||||
copy('zip://'.$path.'#'.$OnlyFileName, $base_folder.$FullFileName['name']);
|
||||
}
|
||||
}
|
||||
}
|
||||
$zip->close();
|
||||
}
|
||||
else
|
||||
echo 'failed to open file';
|
||||
break;
|
||||
case 'gz':
|
||||
$p = new PharData($path);
|
||||
$p->decompress(); // creates files.tar
|
||||
break;
|
||||
case 'tar':
|
||||
// unarchive from the tar
|
||||
$phar = new PharData($path);
|
||||
$phar->decompressFiles();
|
||||
$files = array();
|
||||
check_files_extensions_on_phar($phar, $files, '', $ext);
|
||||
$phar->extractTo($current_path.fix_dirname($_POST['path']).'/', $files, true);
|
||||
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 'media_preview':
|
||||
|
||||
$preview_file = $_GET['file'];
|
||||
$info = pathinfo($preview_file);
|
||||
?>
|
||||
<div id="jp_container_1" class="jp-video " style="margin:0 auto;">
|
||||
<div class="jp-type-single">
|
||||
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
|
||||
<div class="jp-gui">
|
||||
<div class="jp-video-play">
|
||||
<a href="javascript:;" class="jp-video-play-icon" tabindex="1">play</a>
|
||||
</div>
|
||||
<div class="jp-interface">
|
||||
<div class="jp-progress">
|
||||
<div class="jp-seek-bar">
|
||||
<div class="jp-play-bar"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="jp-current-time"></div>
|
||||
<div class="jp-duration"></div>
|
||||
<div class="jp-controls-holder">
|
||||
<ul class="jp-controls">
|
||||
<li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
|
||||
<li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
|
||||
<li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
|
||||
<li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
|
||||
<li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a>
|
||||
</li>
|
||||
<li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max
|
||||
volume</a></li>
|
||||
</ul>
|
||||
<div class="jp-volume-bar">
|
||||
<div class="jp-volume-bar-value"></div>
|
||||
</div>
|
||||
<ul class="jp-toggles">
|
||||
<li><a href="javascript:;" class="jp-full-screen" tabindex="1" title="full screen">full
|
||||
screen</a></li>
|
||||
<li>
|
||||
<a href="javascript:;" class="jp-restore-screen" tabindex="1" title="restore screen">restore
|
||||
screen</a></li>
|
||||
<li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a>
|
||||
</li>
|
||||
<li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat
|
||||
off</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="jp-title" style="display:none;">
|
||||
<ul>
|
||||
<li></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="jp-no-solution">
|
||||
<span>Update Required</span>
|
||||
To play the media you will need to either update your browser to a recent version or update your
|
||||
<a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if (in_array(strtolower($info['extension']), $ext_music))
|
||||
{
|
||||
?>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#jquery_jplayer_1").jPlayer({
|
||||
ready: function () {
|
||||
$(this).jPlayer("setMedia", {
|
||||
title: "<?php Tools::safeOutput($_GET['title']); ?>",
|
||||
mp3: "<?php echo Tools::safeOutput($preview_file); ?>",
|
||||
m4a: "<?php echo Tools::safeOutput($preview_file); ?>",
|
||||
oga: "<?php echo Tools::safeOutput($preview_file); ?>",
|
||||
wav: "<?php echo Tools::safeOutput($preview_file); ?>"
|
||||
});
|
||||
},
|
||||
swfPath: "js",
|
||||
solution: "html,flash",
|
||||
supplied: "mp3, m4a, midi, mid, oga,webma, ogg, wav",
|
||||
smoothPlayBar: true,
|
||||
keyEnabled: false
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
} elseif (in_array(strtolower($info['extension']), $ext_video))
|
||||
{
|
||||
?>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#jquery_jplayer_1").jPlayer({
|
||||
ready: function () {
|
||||
$(this).jPlayer("setMedia", {
|
||||
title: "<?php Tools::safeOutput($_GET['title']); ?>",
|
||||
m4v: "<?php echo Tools::safeOutput($preview_file); ?>",
|
||||
ogv: "<?php echo Tools::safeOutput($preview_file); ?>"
|
||||
});
|
||||
},
|
||||
swfPath: "js",
|
||||
solution: "html,flash",
|
||||
supplied: "mp4, m4v, ogv, flv, webmv, webm",
|
||||
smoothPlayBar: true,
|
||||
keyEnabled: false
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
die('no action passed');
|
||||
?>
|
168
adm/filemanager/config/config.php
Executable file
@ -0,0 +1,168 @@
|
||||
<?php
|
||||
session_start();
|
||||
mb_internal_encoding('UTF-8');
|
||||
|
||||
if (!defined('_PS_ADMIN_DIR_'))
|
||||
define('_PS_ADMIN_DIR_', getcwd().'/../');
|
||||
|
||||
require_once(_PS_ADMIN_DIR_.'/../config/config.inc.php');
|
||||
require_once(_PS_ADMIN_DIR_.'/init.php');
|
||||
$products_accesses = Profile::getProfileAccess(Context::getContext()->employee->id_profile, Tab::getIdFromClassName('AdminProducts'));
|
||||
$cms_accesses = Profile::getProfileAccess(Context::getContext()->employee->id_profile, Tab::getIdFromClassName('AdminCmsContent'));
|
||||
|
||||
if (!$products_accesses['edit'] && !$cms_accesses['edit'])
|
||||
die(Tools::displayError());
|
||||
//------------------------------------------------------------------------------
|
||||
// DON'T COPY THIS VARIABLES IN FOLDERS config.php FILES
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//**********************
|
||||
//Path configuration
|
||||
//**********************
|
||||
// In this configuration the folder tree is
|
||||
// root
|
||||
// |- source <- upload folder
|
||||
// |- thumbs <- thumbnail folder [must have write permission (755)]
|
||||
// |- filemanager
|
||||
// |- js
|
||||
// | |- tinymce
|
||||
// | | |- plugins
|
||||
// | | | |- responsivefilemanager
|
||||
// | | | | |- plugin.min.js
|
||||
|
||||
$base_url="http://".$_SERVER['HTTP_HOST']; // DON'T TOUCH (base url (only domain) of site (without final /)).
|
||||
$upload_dir = __PS_BASE_URI__.'img/cms/'; // path from base_url to base of upload folder (with start and final /)
|
||||
$current_path = _PS_ROOT_DIR_.'/img/cms/'; // relative path from filemanager folder to upload folder (with final /)
|
||||
//thumbs folder can't put inside upload folder
|
||||
$thumbs_base_path = _PS_ROOT_DIR_.'/img/tmp/cms/'; // relative path from filemanager folder to thumbs folder (with final /)
|
||||
$thumbs_base_path = _PS_ROOT_DIR_.'/img/cms/'; // relative path from filemanager folder to thumbs folder (with final /)
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------
|
||||
// YOU CAN COPY AND CHANGE THESE VARIABLES INTO FOLDERS config.php FILES TO CUSTOMIZE EACH FOLDER OPTIONS
|
||||
//--------------------------------------------------------------------------------------------------------
|
||||
|
||||
$MaxSizeUpload=100; //Mb
|
||||
|
||||
$default_language="en"; //default language file name
|
||||
$icon_theme="ico"; //ico or ico_dark you can cusatomize just putting a folder inside filemanager/img
|
||||
$show_folder_size=true; //Show or not show folder size in list view feature in filemanager (is possible, if there is a large folder, to greatly increase the calculations)
|
||||
$show_sorting_bar=true; //Show or not show sorting feature in filemanager
|
||||
$loading_bar=true; //Show or not show loading bar
|
||||
$transliteration=false; //active or deactive the transliteration (mean convert all strange characters in A..Za..z0..9 characters)
|
||||
|
||||
//*******************************************
|
||||
//Images limit and resizing configuration
|
||||
//*******************************************
|
||||
|
||||
// set maximum pixel width and/or maximum pixel height for all images
|
||||
// If you set a maximum width or height, oversized images are converted to those limits. Images smaller than the limit(s) are unaffected
|
||||
// if you don't need a limit set both to 0
|
||||
$image_max_width=0;
|
||||
$image_max_height=0;
|
||||
|
||||
//Automatic resizing //
|
||||
// If you set $image_resizing to true the script converts all uploaded images exactly to image_resizing_width x image_resizing_height dimension
|
||||
// If you set width or height to 0 the script automatically calculates the other dimension
|
||||
// Is possible that if you upload very big images the script not work to overcome this increase the php configuration of memory and time limit
|
||||
$image_resizing=false;
|
||||
$image_resizing_width=0;
|
||||
$image_resizing_height=0;
|
||||
|
||||
//******************
|
||||
// Default layout setting
|
||||
//
|
||||
// 0 => boxes
|
||||
// 1 => detailed list (1 column)
|
||||
// 2 => columns list (multiple columns depending on the width of the page)
|
||||
// YOU CAN ALSO PASS THIS PARAMETERS USING SESSION VAR => $_SESSION["VIEW"]=
|
||||
//
|
||||
//******************
|
||||
$default_view=0;
|
||||
|
||||
//set if the filename is truncated when overflow first row
|
||||
$ellipsis_title_after_first_row=true;
|
||||
|
||||
//*************************
|
||||
//Permissions configuration
|
||||
//******************
|
||||
$delete_files=true;
|
||||
$create_folders=true;
|
||||
$delete_folders=true;
|
||||
$upload_files=true;
|
||||
$rename_files=true;
|
||||
$rename_folders=true;
|
||||
$duplicate_files=true;
|
||||
|
||||
//**********************
|
||||
//Allowed extensions (lowercase insert)
|
||||
//**********************
|
||||
$ext_img = array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'tiff', 'svg'); //Images
|
||||
$ext_file = array('doc', 'docx','rtf', 'pdf', 'xls', 'xlsx', 'txt', 'csv','html','xhtml','psd','sql','log','fla','xml','ade','adp','mdb','accdb','ppt','pptx','odt','ots','ott','odb','odg','otp','otg','odf','ods','odp','css','ai'); //Files
|
||||
$ext_video = array('mov', 'mpeg', 'mp4', 'avi', 'mpg','wma',"flv","webm"); //Video
|
||||
$ext_music = array('mp3', 'm4a', 'ac3', 'aiff', 'mid','ogg','wav'); //Audio
|
||||
$ext_misc = array('zip', 'rar','gz','tar','iso','dmg'); //Archives
|
||||
|
||||
$ext=array_merge($ext_img, $ext_file, $ext_misc, $ext_video,$ext_music); //allowed extensions
|
||||
|
||||
|
||||
/******************
|
||||
* AVIARY config
|
||||
*******************/
|
||||
$aviary_active=false;
|
||||
$aviary_key="dvh8qudbp6yx2bnp";
|
||||
$aviary_secret="m6xaym5q42rpw433";
|
||||
$aviary_version=3;
|
||||
$aviary_language='en';
|
||||
|
||||
|
||||
//The filter and sorter are managed through both javascript and php scripts because if you have a lot of
|
||||
//file in a folder the javascript script can't sort all or filter all, so the filemanager switch to php script.
|
||||
//The plugin automatic swich javascript to php when the current folder exceeds the below limit of files number
|
||||
$file_number_limit_js=500;
|
||||
|
||||
//**********************
|
||||
// Hidden files and folders
|
||||
//**********************
|
||||
// set the names of any folders you want hidden (eg "hidden_folder1", "hidden_folder2" ) Remember all folders with these names will be hidden (you can set any exceptions in config.php files on folders)
|
||||
$hidden_folders = array();
|
||||
// set the names of any files you want hidden. Remember these names will be hidden in all folders (eg "this_document.pdf", "that_image.jpg" )
|
||||
$hidden_files = array('config.php');
|
||||
|
||||
/*******************
|
||||
* JAVA upload
|
||||
*******************/
|
||||
$java_upload=false;
|
||||
$JAVAMaxSizeUpload=200; //Gb
|
||||
|
||||
|
||||
//************************************
|
||||
//Thumbnail for external use creation
|
||||
//************************************
|
||||
|
||||
|
||||
// New image resized creation with fixed path from filemanager folder after uploading (thumbnails in fixed mode)
|
||||
// If you want create images resized out of upload folder for use with external script you can choose this method,
|
||||
// You can create also more than one image at a time just simply add a value in the array
|
||||
// Remember than the image creation respect the folder hierarchy so if you are inside source/test/test1/ the new image will create at
|
||||
// path_from_filemanager/test/test1/
|
||||
// PS if there isn't write permission in your destination folder you must set it
|
||||
$fixed_image_creation = false; //activate or not the creation of one or more image resized with fixed path from filemanager folder
|
||||
$fixed_path_from_filemanager = array('../test/','../test1/'); //fixed path of the image folder from the current position on upload folder
|
||||
$fixed_image_creation_name_to_prepend = array('','test_'); //name to prepend on filename
|
||||
$fixed_image_creation_to_append = array('_test',''); //name to appendon filename
|
||||
$fixed_image_creation_width = array(300,400); //width of image (you can leave empty if you set height)
|
||||
$fixed_image_creation_height = array(200,''); //height of image (you can leave empty if you set width)
|
||||
|
||||
|
||||
// New image resized creation with relative path inside to upload folder after uploading (thumbnails in relative mode)
|
||||
// With Responsive filemanager you can create automatically resized image inside the upload folder, also more than one at a time
|
||||
// just simply add a value in the array
|
||||
// The image creation path is always relative so if i'm inside source/test/test1 and I upload an image, the path start from here
|
||||
$relative_image_creation = false; //activate or not the creation of one or more image resized with relative path from upload folder
|
||||
$relative_path_from_current_pos = array('thumb/','thumb/'); //relative path of the image folder from the current position on upload folder
|
||||
$relative_image_creation_name_to_prepend= array('','test_'); //name to prepend on filename
|
||||
$relative_image_creation_name_to_append = array('_test',''); //name to append on filename
|
||||
$relative_image_creation_width = array(300,400); //width of image (you can leave empty if you set height)
|
||||
$relative_image_creation_height = array(200,''); //height of image (you can leave empty if you set width)
|
||||
|
||||
?>
|
6
adm/filemanager/css/bootstrap-lightbox.min.css
vendored
Executable file
@ -0,0 +1,6 @@
|
||||
/*!
|
||||
* bootstrap-lightbox.css v0.6.0
|
||||
* Copyright 2013 Jason Butz
|
||||
* http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
*/
|
||||
.lightbox{position:relative;top:70px;z-index:1050;line-height:0;text-align:center;background-color:transparent;outline:0}.lightbox .hide{display:none}.lightbox .in{display:block}.lightbox-content{display:inline-block;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.lightbox-content .lightbox-caption{position:absolute;right:12px;bottom:11px;left:11px;padding:2%;font-size:14px;line-height:18px;color:white;text-align:center;text-shadow:0 -1px 0 #000;text-shadow:0 -1px 0 rgba(0,0,0,0.3);background:#000;background:rgba(0,0,0,0.6)}.lightbox-header .close{margin-top:-16px;margin-right:-16px;font-size:2em;color:white;opacity:.8;filter:alpha(opacity=80)}.lightbox-header .close :hover{opacity:.4;filter:alpha(opacity=40)}
|
8
adm/filemanager/css/bootstrap-modal.min.css
vendored
Executable file
@ -0,0 +1,8 @@
|
||||
/*!
|
||||
* Bootstrap Modal
|
||||
*
|
||||
* Copyright Jordan Schroter
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*/.modal-open{overflow:hidden}.modal-open.page-overflow .page-container,.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom,.modal-open.page-overflow .modal-scrollable{overflow-y:scroll}@media (max-width:840px){.modal-open.page-overflow .page-container .navbar-fixed-top,.modal-open.page-overflow .page-container .navbar-fixed-bottom{overflow-y:visible}}.modal-scrollable{position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.modal{outline:0;position:absolute;margin-top:0;top:50%;overflow:visible}.modal.fade{top:-100%;-webkit-transition:opacity .3s linear,top .3s ease-out,bottom .3s ease-out,margin-top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out,bottom .3s ease-out,margin-top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out,bottom .3s ease-out,margin-top .3s ease-out;transition:opacity .3s linear,top .3s ease-out,bottom .3s ease-out,margin-top .3s ease-out}.modal.fade.in{top:50%}.modal-body{max-height:none;overflow:visible}.modal.modal-absolute{position:absolute;z-index:950}.modal .loading-mask{position:absolute;top:0;bottom:0;left:0;right:0;background:#fff;border-radius:6px}.modal-backdrop.modal-absolute{position:absolute;z-index:940}.modal-backdrop,.modal-backdrop.fade.in{opacity:.85;filter:alpha(opacity=85);background:#eee}.modal.container{width:940px;margin-left:-470px}.modal-overflow.modal{top:1%}.modal-overflow.modal.fade{top:-100%}.modal-overflow.modal.fade.in{top:1%}.modal-overflow .modal-body{overflow:auto;-webkit-overflow-scrolling:touch}@media (min-width:1200px){.modal.container{width:1170px;margin-left:-585px}}@media (max-width:840px){.modal,.modal.container,.modal.modal-overflow{top:1%;right:1%;left:1%;bottom:auto;width:auto!important;height:auto!important;margin:0!important;padding:0!important}.modal.fade.in,.modal.container.fade.in,.modal.modal-overflow.fade.in{top:1%;bottom:auto}.modal-body,.modal-overflow .modal-body{position:static;margin:0;height:auto!important;max-height:none!important;overflow:visible!important}.modal-footer,.modal-overflow .modal-footer{position:static}}.loading-spinner{position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}
|
9
adm/filemanager/css/bootstrap-responsive.min.css
vendored
Executable file
9
adm/filemanager/css/bootstrap.min.css
vendored
Executable file
410
adm/filemanager/css/dropzone.css
Executable file
@ -0,0 +1,410 @@
|
||||
/* The MIT License */
|
||||
.dropzone,
|
||||
.dropzone *,
|
||||
.dropzone-previews,
|
||||
.dropzone-previews * {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.dropzone {
|
||||
position: relative;
|
||||
border: 1px solid rgba(0,0,0,0.08);
|
||||
background: rgba(0,0,0,0.02);
|
||||
padding: 1em;
|
||||
}
|
||||
.dropzone.dz-clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
.dropzone.dz-clickable .dz-message,
|
||||
.dropzone.dz-clickable .dz-message span {
|
||||
cursor: pointer;
|
||||
}
|
||||
.dropzone.dz-clickable * {
|
||||
cursor: default;
|
||||
}
|
||||
.dropzone .dz-message {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
.dropzone.dz-drag-hover {
|
||||
border-color: rgba(0,0,0,0.15);
|
||||
background: rgba(0,0,0,0.04);
|
||||
}
|
||||
.dropzone.dz-started .dz-message {
|
||||
display: none;
|
||||
}
|
||||
.dropzone .dz-preview,
|
||||
.dropzone-previews .dz-preview {
|
||||
background: rgba(255,255,255,0.8);
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
margin: 17px;
|
||||
vertical-align: top;
|
||||
border: 1px solid #acacac;
|
||||
padding: 6px 6px 6px 6px;
|
||||
}
|
||||
.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],
|
||||
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
|
||||
display: none;
|
||||
}
|
||||
.dropzone .dz-preview .dz-details,
|
||||
.dropzone-previews .dz-preview .dz-details {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
position: relative;
|
||||
background: #ebebeb;
|
||||
padding: 5px;
|
||||
margin-bottom: 22px;
|
||||
}
|
||||
.dropzone .dz-preview .dz-details .dz-filename,
|
||||
.dropzone-previews .dz-preview .dz-details .dz-filename {
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
}
|
||||
.dropzone .dz-preview .dz-details img,
|
||||
.dropzone-previews .dz-preview .dz-details img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.dropzone .dz-preview .dz-details .dz-size,
|
||||
.dropzone-previews .dz-preview .dz-details .dz-size {
|
||||
position: absolute;
|
||||
bottom: -28px;
|
||||
left: 3px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
}
|
||||
.dropzone .dz-preview.dz-error .dz-error-mark,
|
||||
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
|
||||
display: block;
|
||||
}
|
||||
.dropzone .dz-preview.dz-success .dz-success-mark,
|
||||
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
|
||||
display: block;
|
||||
}
|
||||
.dropzone .dz-preview:hover .dz-details img,
|
||||
.dropzone-previews .dz-preview:hover .dz-details img {
|
||||
display: none;
|
||||
}
|
||||
.dropzone .dz-preview .dz-success-mark,
|
||||
.dropzone-previews .dz-preview .dz-success-mark,
|
||||
.dropzone .dz-preview .dz-error-mark,
|
||||
.dropzone-previews .dz-preview .dz-error-mark {
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
font-size: 30px;
|
||||
text-align: center;
|
||||
right: -10px;
|
||||
top: -10px;
|
||||
}
|
||||
.dropzone .dz-preview .dz-success-mark,
|
||||
.dropzone-previews .dz-preview .dz-success-mark {
|
||||
color: #8cc657;
|
||||
}
|
||||
.dropzone .dz-preview .dz-error-mark,
|
||||
.dropzone-previews .dz-preview .dz-error-mark {
|
||||
color: #ee162d;
|
||||
}
|
||||
.dropzone .dz-preview .dz-progress,
|
||||
.dropzone-previews .dz-preview .dz-progress {
|
||||
position: absolute;
|
||||
top: 100px;
|
||||
left: 6px;
|
||||
right: 6px;
|
||||
height: 6px;
|
||||
background: #d7d7d7;
|
||||
display: none;
|
||||
}
|
||||
.dropzone .dz-preview .dz-progress .dz-upload,
|
||||
.dropzone-previews .dz-preview .dz-progress .dz-upload {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 0%;
|
||||
background-color: #8cc657;
|
||||
}
|
||||
.dropzone .dz-preview.dz-processing .dz-progress,
|
||||
.dropzone-previews .dz-preview.dz-processing .dz-progress {
|
||||
display: block;
|
||||
}
|
||||
.dropzone .dz-preview .dz-error-message,
|
||||
.dropzone-previews .dz-preview .dz-error-message {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: -20px;
|
||||
background: rgba(245,245,245,0.8);
|
||||
padding: 8px 10px;
|
||||
color: #800;
|
||||
min-width: 140px;
|
||||
max-width: 500px;
|
||||
z-index: 500;
|
||||
}
|
||||
.dropzone .dz-preview:hover.dz-error .dz-error-message,
|
||||
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
|
||||
display: block;
|
||||
}
|
||||
.dropzone {
|
||||
border: 1px solid rgba(0,0,0,0.03);
|
||||
min-height: 360px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
background: rgba(0,0,0,0.03);
|
||||
padding: 23px;
|
||||
}
|
||||
.dropzone .dz-default.dz-message {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
-webkit-transition: opacity 0.3s ease-in-out;
|
||||
-moz-transition: opacity 0.3s ease-in-out;
|
||||
-o-transition: opacity 0.3s ease-in-out;
|
||||
-ms-transition: opacity 0.3s ease-in-out;
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
background-image: url("../img/spritemap.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 0;
|
||||
position: absolute;
|
||||
width: 428px;
|
||||
height: 123px;
|
||||
margin-left: -214px;
|
||||
margin-top: -61.5px;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
|
||||
.dropzone .dz-default.dz-message {
|
||||
background-image: url("../img/spritemap@2x.png");
|
||||
-webkit-background-size: 428px 406px;
|
||||
-moz-background-size: 428px 406px;
|
||||
background-size: 428px 406px;
|
||||
}
|
||||
}
|
||||
.dropzone .dz-default.dz-message span {
|
||||
display: none;
|
||||
}
|
||||
.dropzone.dz-square .dz-default.dz-message {
|
||||
background-position: 0 -123px;
|
||||
width: 268px;
|
||||
margin-left: -134px;
|
||||
height: 174px;
|
||||
margin-top: -87px;
|
||||
}
|
||||
.dropzone.dz-drag-hover .dz-message {
|
||||
opacity: 0.15;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
|
||||
filter: alpha(opacity=15);
|
||||
}
|
||||
.dropzone.dz-started .dz-message {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
.dropzone .dz-preview,
|
||||
.dropzone-previews .dz-preview {
|
||||
-webkit-box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
|
||||
box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
|
||||
font-size: 14px;
|
||||
}
|
||||
.dropzone .dz-preview.dz-image-preview:hover .dz-details img,
|
||||
.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img {
|
||||
display: block;
|
||||
opacity: 0.1;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
|
||||
filter: alpha(opacity=10);
|
||||
}
|
||||
.dropzone .dz-preview.dz-success .dz-success-mark,
|
||||
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
.dropzone .dz-preview.dz-error .dz-error-mark,
|
||||
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
.dropzone .dz-preview.dz-error .dz-progress .dz-upload,
|
||||
.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload {
|
||||
background: #ee1e2d;
|
||||
}
|
||||
.dropzone .dz-preview .dz-error-mark,
|
||||
.dropzone-previews .dz-preview .dz-error-mark,
|
||||
.dropzone .dz-preview .dz-success-mark,
|
||||
.dropzone-previews .dz-preview .dz-success-mark {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
-webkit-transition: opacity 0.4s ease-in-out;
|
||||
-moz-transition: opacity 0.4s ease-in-out;
|
||||
-o-transition: opacity 0.4s ease-in-out;
|
||||
-ms-transition: opacity 0.4s ease-in-out;
|
||||
transition: opacity 0.4s ease-in-out;
|
||||
background-image: url("../img/spritemap.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
|
||||
.dropzone .dz-preview .dz-error-mark,
|
||||
.dropzone-previews .dz-preview .dz-error-mark,
|
||||
.dropzone .dz-preview .dz-success-mark,
|
||||
.dropzone-previews .dz-preview .dz-success-mark {
|
||||
background-image: url("../img/spritemap@2x.png");
|
||||
-webkit-background-size: 428px 406px;
|
||||
-moz-background-size: 428px 406px;
|
||||
background-size: 428px 406px;
|
||||
}
|
||||
}
|
||||
.dropzone .dz-preview .dz-error-mark span,
|
||||
.dropzone-previews .dz-preview .dz-error-mark span,
|
||||
.dropzone .dz-preview .dz-success-mark span,
|
||||
.dropzone-previews .dz-preview .dz-success-mark span {
|
||||
display: none;
|
||||
}
|
||||
.dropzone .dz-preview .dz-error-mark,
|
||||
.dropzone-previews .dz-preview .dz-error-mark {
|
||||
background-position: -268px -123px;
|
||||
}
|
||||
.dropzone .dz-preview .dz-success-mark,
|
||||
.dropzone-previews .dz-preview .dz-success-mark {
|
||||
background-position: -268px -163px;
|
||||
}
|
||||
.dropzone .dz-preview .dz-progress .dz-upload,
|
||||
.dropzone-previews .dz-preview .dz-progress .dz-upload {
|
||||
-webkit-animation: loading 0.4s linear infinite;
|
||||
-moz-animation: loading 0.4s linear infinite;
|
||||
-o-animation: loading 0.4s linear infinite;
|
||||
-ms-animation: loading 0.4s linear infinite;
|
||||
animation: loading 0.4s linear infinite;
|
||||
-webkit-transition: width 0.3s ease-in-out;
|
||||
-moz-transition: width 0.3s ease-in-out;
|
||||
-o-transition: width 0.3s ease-in-out;
|
||||
-ms-transition: width 0.3s ease-in-out;
|
||||
transition: width 0.3s ease-in-out;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
background-image: url("../img/spritemap.png");
|
||||
background-repeat: repeat-x;
|
||||
background-position: 0px -400px;
|
||||
}
|
||||
@media all and (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:1.5/1),(min-device-pixel-ratio:1.5),(min-resolution:138dpi),(min-resolution:1.5dppx) {
|
||||
.dropzone .dz-preview .dz-progress .dz-upload,
|
||||
.dropzone-previews .dz-preview .dz-progress .dz-upload {
|
||||
background-image: url("../img/spritemap@2x.png");
|
||||
-webkit-background-size: 428px 406px;
|
||||
-moz-background-size: 428px 406px;
|
||||
background-size: 428px 406px;
|
||||
}
|
||||
}
|
||||
.dropzone .dz-preview.dz-success .dz-progress,
|
||||
.dropzone-previews .dz-preview.dz-success .dz-progress {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
-webkit-transition: opacity 0.4s ease-in-out;
|
||||
-moz-transition: opacity 0.4s ease-in-out;
|
||||
-o-transition: opacity 0.4s ease-in-out;
|
||||
-ms-transition: opacity 0.4s ease-in-out;
|
||||
transition: opacity 0.4s ease-in-out;
|
||||
}
|
||||
.dropzone .dz-preview .dz-error-message,
|
||||
.dropzone-previews .dz-preview .dz-error-message {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
-webkit-transition: opacity 0.3s ease-in-out;
|
||||
-moz-transition: opacity 0.3s ease-in-out;
|
||||
-o-transition: opacity 0.3s ease-in-out;
|
||||
-ms-transition: opacity 0.3s ease-in-out;
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
}
|
||||
.dropzone .dz-preview:hover.dz-error .dz-error-message,
|
||||
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
|
||||
opacity: 1;
|
||||
-ms-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
.dropzone a.dz-remove,
|
||||
.dropzone-previews a.dz-remove {
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(1, #eee));
|
||||
background-image: -webkit-linear-gradient(top, #fafafa 0, #eee 100%);
|
||||
background-image: -moz-linear-gradient(top, #fafafa 0, #eee 100%);
|
||||
background-image: -o-linear-gradient(top, #fafafa 0, #eee 100%);
|
||||
background-image: -ms-linear-gradient(top, #fafafa 0, #eee 100%);
|
||||
background-image: linear-gradient(top, #fafafa 0, #eee 100%);
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #eee;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: 4px 5px;
|
||||
text-align: center;
|
||||
color: #aaa;
|
||||
margin-top: 26px;
|
||||
}
|
||||
.dropzone a.dz-remove:hover,
|
||||
.dropzone-previews a.dz-remove:hover {
|
||||
color: #666;
|
||||
}
|
||||
@-moz-keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
||||
@-o-keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
||||
@-ms-keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
||||
@keyframes loading {
|
||||
0% {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
|
||||
100% {
|
||||
background-position: -7px -400px;
|
||||
}
|
||||
}
|
1
adm/filemanager/css/dropzone.min.css
vendored
Executable file
37
adm/filemanager/css/jquery.contextMenu.min.css
vendored
Executable file
@ -0,0 +1,37 @@
|
||||
.context-menu-list{font-family:'Open Sans', sans-serif;width:200px;display:inline-block;position:absolute;list-style-type:none;border:1px solid #DDD;background:#fff;font-size:12px;margin:0;padding:5px}
|
||||
.context-menu-item{background-color:#fff;position:relative;height:auto;word-wrap:break-word;-webkit-user-select:none;-moz-user-select:0;-ms-user-select:none;user-select:none;padding:5px 5px 5px 30px}
|
||||
.context-menu-item:last-child{border:none}
|
||||
.context-menu-separator{padding-bottom:0;border-bottom:1px solid #DDD}
|
||||
.context-menu-item > label > input,.context-menu-item > label > textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}
|
||||
.context-menu-item.hover{cursor:pointer;background-color:#DDD}
|
||||
.context-menu-item.disabled{color:#666}
|
||||
.context-menu-input.hover,.context-menu-item.disabled.hover{cursor:default;background-color:#EEE}
|
||||
.context-menu-submenu:after{content:">";color:#666;position:absolute;top:0;right:3px;z-index:1}
|
||||
.context-menu-item.icon{min-height:18px;vertical-align:middle;background-repeat:no-repeat;background-position:4px 5px;width:auto;display:list-item}
|
||||
.context-menu-item.icon-edit{background-image:url(../img/page_white_edit.png)}
|
||||
.context-menu-item.icon-cut{background-image:url(../img/cut.png)}
|
||||
.context-menu-item.icon-copy{background-image:url(../img/page_white_copy.png)}
|
||||
.context-menu-item.icon-rename{background-image:url(../img/rename.png)}
|
||||
.context-menu-item.icon-preview{background-image:url(../img/preview.png)}
|
||||
.context-menu-item.icon-dimension{background-image:url(../img/dimension.png)}
|
||||
.context-menu-item.icon-date{background-image:url(../img/date.png)}
|
||||
.context-menu-item.icon-label{background-image:url(../img/label.png)}
|
||||
.context-menu-item.icon-size{background-image:url(../img/size.png)}
|
||||
.context-menu-item.icon-download{background-image:url(../img/download.png)}
|
||||
.context-menu-item.icon-paste{background-image:url(../img/page_white_paste.png)}
|
||||
.context-menu-item.icon-delete{background-image:url(../img/page_white_delete.png)}
|
||||
.context-menu-item.icon-add{background-image:url(../img/page_white_add.png)}
|
||||
.context-menu-item.icon-quit{background-image:url(../img/door.png)}
|
||||
.context-menu-item.icon-info{background-image:url(../img/info.png)}
|
||||
.context-menu-item.icon-extract{background-image:url(../img/zip.png)}
|
||||
.context-menu-item.icon-url{background-image:url(../img/url.png)}
|
||||
.context-menu-item.icon-edit_img{background-image:url(../img/edit_img.png)}
|
||||
.context-menu-item.icon-duplicate{background-image:url(../img/duplicate.png)}
|
||||
.context-menu-input > label > *{vertical-align:top}
|
||||
.context-menu-input > label > input[type=checkbox],.context-menu-input > label > input[type=radio]{margin-left:-17px}
|
||||
.context-menu-input > label > span{margin-left:5px}
|
||||
.context-menu-input > label,.context-menu-input > label > input[type=text],.context-menu-input > label > textarea,.context-menu-input > label > select{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}
|
||||
.context-menu-input > label > textarea{height:100px}
|
||||
.context-menu-item > .context-menu-list{display:none;right:-5px;top:5px}
|
||||
.context-menu-item.hover > .context-menu-list{display:block}
|
||||
.context-menu-accesskey{text-decoration:underline}
|
1
adm/filemanager/css/style.css
Executable file
895
adm/filemanager/css/style.less
Executable file
@ -0,0 +1,895 @@
|
||||
*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
|
||||
body, html {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-size: 100%; padding: 0; margin: 0;}
|
||||
body{
|
||||
padding-top: 32px;
|
||||
font-weight:200;
|
||||
background:#ececec;
|
||||
overflow: -moz-scrollbars-vertical;
|
||||
}
|
||||
|
||||
#qLpercentage{
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
font-size: 40px;
|
||||
line-height: 40px;
|
||||
color:#bbbbbb;
|
||||
font-weight: 200;
|
||||
height: 60px;
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
padding: 10px;
|
||||
text-shadow: 1px 1px 2px #ffffff;
|
||||
filter: dropshadow(color=#ffffff, offx=1, offy=1);
|
||||
}
|
||||
#qLbar{
|
||||
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
|
||||
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdhN2E3YSIgc3RvcC1vcGFjaXR5PSIwLjQiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzdhN2E3YSIgc3RvcC1vcGFjaXR5PSIwLjQiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
|
||||
background: -moz-linear-gradient(top, rgba(122,122,122,0.4) 0%, rgba(122,122,122,0.4) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(122,122,122,0.4)), color-stop(100%,rgba(122,122,122,0.4))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(122,122,122,0.4) 0%,rgba(122,122,122,0.4) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(122,122,122,0.4) 0%,rgba(122,122,122,0.4) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(122,122,122,0.4) 0%,rgba(122,122,122,0.4) 100%); /* IE10+ */
|
||||
background: linear-gradient(to bottom, rgba(122,122,122,0.4) 0%,rgba(122,122,122,0.4) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#667a7a7a', endColorstr='#667a7a7a',GradientType=0 ); /* IE6-8 */
|
||||
|
||||
z-index:200;
|
||||
margin:0px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.btn{
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
.container-fluid{padding-right:0 !important;margin-top:10px !important;}
|
||||
.img-precontainer{
|
||||
margin: auto;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
background: white;
|
||||
border:none;
|
||||
}
|
||||
.img-container{
|
||||
height: 91px;
|
||||
width: 122px;
|
||||
padding: 0px;
|
||||
border:none;
|
||||
overflow: hidden;
|
||||
display: table-cell;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
margin: auto;
|
||||
}
|
||||
ul.breadcrumb{
|
||||
margin-bottom:5px;
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 6px;
|
||||
background: #f0f0f0;
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.065);
|
||||
-moz-box-shadow: 0 1px 4px rgba(0,0,0,0.065);
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,0.065);
|
||||
border-bottom: 1px solid #bbbbbb;
|
||||
|
||||
.pull-left i{ margin-top:2px;}
|
||||
}
|
||||
|
||||
.alert {
|
||||
padding: 8px 35px 8px 14px;
|
||||
margin-bottom:2px;
|
||||
border: 1px solid #aaaaaa;
|
||||
color:#666666;
|
||||
font-weight: 200;
|
||||
font-size: 13px;
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
background: white;
|
||||
}
|
||||
.img-container * ,.img-container-mini * {
|
||||
vertical-align: middle;
|
||||
}
|
||||
#help{
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*\*//*/
|
||||
.img-container,.img-container-mini {
|
||||
display: block;
|
||||
}
|
||||
.img-container span, .img-container-mini span {
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
width: 1px;
|
||||
}
|
||||
/**/
|
||||
|
||||
iframe{
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling:touch;
|
||||
}
|
||||
.upload-tabbable{
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
|
||||
.upload-help{
|
||||
font-size: 11px;
|
||||
font-weight: 200;
|
||||
color: #777;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
text-align: center;
|
||||
}
|
||||
.nav{
|
||||
margin:0px;
|
||||
li a{
|
||||
font-size: 13px;
|
||||
font-weight: 200;
|
||||
color: #777;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
}
|
||||
}
|
||||
.tab-content{
|
||||
padding: 5px;
|
||||
border-bottom: 1px solid #dddddd;
|
||||
border-left: 1px solid #dddddd;
|
||||
border-rigth: 1px solid #dddddd;
|
||||
background: white;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
input#filter-input{
|
||||
margin:0px;
|
||||
width: 84px;
|
||||
height: 26px;
|
||||
vertical-align: bottom;
|
||||
margin-bottom: 2px;
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
font-size: 12px;
|
||||
font-weight:200;
|
||||
position:relative;
|
||||
left:1px;
|
||||
}
|
||||
|
||||
.qq-uploader .span9{margin-left:14px !important;width:690px !important;}
|
||||
.space10{ clear:both; height:10px; }
|
||||
|
||||
h4{ font-size:12px; font-weight:200; margin: 0px; text-align: center; padding: 0px; margin-top:6px; line-height: 18px; }
|
||||
h3{ font-size:14px; font-weight:200;}
|
||||
.boxes{ border:1px solid #CCCCCC; word-wrap: break-word; background:white;
|
||||
-webkit-box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.2);box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.2); min-height:115px;
|
||||
text-align: center;}
|
||||
.container-fluid{ padding:0px 10px !important;}
|
||||
|
||||
body .avpw .avpw_primary_button,
|
||||
body .avpw .avpw_primary_button:link,
|
||||
body .avpw .avpw_primary_button:visited,
|
||||
body .avpw .avpw_primary_button:active {
|
||||
background-color: #999999;
|
||||
color: #ffffff;
|
||||
background-image:none;
|
||||
border:none;
|
||||
}
|
||||
|
||||
body .avpw .avpw_primary_button:hover{
|
||||
border:none;
|
||||
background-color: #666666;
|
||||
}
|
||||
|
||||
.uploader{
|
||||
position:fixed;
|
||||
top:50px;
|
||||
left:14px;
|
||||
margin:auto;
|
||||
width:100%;
|
||||
z-index:9999;
|
||||
overflow: hidden;
|
||||
background:#eeeeee;
|
||||
padding-top:20px;
|
||||
border:1px solid #cccccc;
|
||||
display:none;
|
||||
-webkit-box-shadow: 0px 0px 10px 0px rgba(1, 1, 1, 0.5);
|
||||
box-shadow: 0px 0px 10px 0px rgba(1, 1, 1, 0.5);
|
||||
}
|
||||
.download-form{
|
||||
margin-bottom:25px;
|
||||
}
|
||||
|
||||
.grid li i{
|
||||
margin-left:2px;
|
||||
margin-right: 2px;
|
||||
z-index:0;
|
||||
}
|
||||
.box,.boxx{
|
||||
text-align: center;
|
||||
word-wrap: break-word;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
position: relative;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
z-index: 100;
|
||||
padding: 4px;
|
||||
}
|
||||
.box .btn{
|
||||
width: 100%;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
border:none;
|
||||
z-index: 200;
|
||||
}
|
||||
.navbar{
|
||||
margin-bottom: 0px;
|
||||
border-bottom: 1px solid #bbbbbb;
|
||||
.navbar-inner{
|
||||
border: none;
|
||||
min-height: 35px;
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
padding-bottom: 2px;
|
||||
margin: 0px;
|
||||
padding-right: 8px;
|
||||
padding-left: 8px;
|
||||
.container-fluid{
|
||||
margin: 0px;
|
||||
margin-top: 0px !important;
|
||||
padding: 0px;
|
||||
.brand{
|
||||
display: none;
|
||||
}
|
||||
.filters span{
|
||||
margin-top:0px;
|
||||
font-size:13px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul.sorting{
|
||||
position: absolute;
|
||||
left: -25px;
|
||||
top:20px;
|
||||
min-width: 0px;
|
||||
background: #eeeeee;
|
||||
li a:hover{
|
||||
background: #aaaaaa;
|
||||
}
|
||||
}
|
||||
.btn-group .dropdown-toggle.sorting-btn{
|
||||
background: none;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
position: relative;
|
||||
-webkit-box-shadow:none;
|
||||
top:-5px;
|
||||
font-size: 13px;
|
||||
}
|
||||
.btn-group .dropdown-toggle.sorting-btn:hover{
|
||||
background: none;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
-webkit-box-shadow:none;
|
||||
}
|
||||
ul.sorting.dropdown-menu>li>a{
|
||||
font-size: 12px;
|
||||
text-shadow: none;
|
||||
&.ascending{
|
||||
background-image: url(../img/down.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 6px 8px;
|
||||
}
|
||||
&.descending{
|
||||
background-image: url(../img/up.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 6px 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.sorter-container{
|
||||
a.sorter{
|
||||
color:black;
|
||||
}
|
||||
|
||||
a.ascending{
|
||||
padding-left:9px;
|
||||
background-image: url(../img/down.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 3px;
|
||||
}
|
||||
a.descending{
|
||||
padding-left:9px;
|
||||
background-image: url(../img/up.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0px 4px;
|
||||
}
|
||||
margin-top:5px;
|
||||
margin-bottom:0px;
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 6px;
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.065);
|
||||
-moz-box-shadow: 0 1px 4px rgba(0,0,0,0.065);
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,0.065);
|
||||
background-color: #f5f5f5;
|
||||
position: relative;
|
||||
border-bottom: 1px solid #bbbbbb;
|
||||
height: 24px;
|
||||
.img-dimension,.file-date,.file-size,.file-extension,.file-name,.file-operations{
|
||||
display: block;position: absolute;
|
||||
top: 0px;
|
||||
z-index: 100;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
text-align: left;
|
||||
font-size: 13px;
|
||||
margin-top: 1px;
|
||||
color:#999999;
|
||||
}
|
||||
.file-operations{
|
||||
width: 110px;
|
||||
right:0px;
|
||||
}
|
||||
.img-dimension{
|
||||
width: 65px;
|
||||
right: 123px;
|
||||
}
|
||||
.file-date{
|
||||
width: 70px;
|
||||
right: 188px;
|
||||
}
|
||||
.file-size{
|
||||
width: 55px;
|
||||
right: 258px;
|
||||
}
|
||||
|
||||
.file-extension{
|
||||
width: 40px;
|
||||
right: 313px;
|
||||
}
|
||||
|
||||
.file-name{
|
||||
width: 50px;
|
||||
left: 52px;
|
||||
}
|
||||
}
|
||||
|
||||
.img-dimension,.file-date,.file-size,.file-extension,.file-name,.file-operations{
|
||||
font-size:12px;
|
||||
font-weight:200;
|
||||
color:#777;text-shadow:0 1px 0 #fff;
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
.view-controller{
|
||||
text-align: left;
|
||||
.btn-group>.btn:first-child,.btn-group>.btn:last-child{
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar .filters .btn {
|
||||
margin-bottom: 2px;
|
||||
padding-top:2px;
|
||||
padding-bottom:2px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
margin-top:5px;
|
||||
}
|
||||
.filters .types{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
@media(max-width:780px){
|
||||
#view2{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media(max-width:839px){
|
||||
body{
|
||||
padding-top: 0px;
|
||||
}
|
||||
.filters .types{
|
||||
text-align: left;
|
||||
}
|
||||
.navbar .navbar-inner .container-fluid .brand{
|
||||
display: block;
|
||||
}
|
||||
.navbar .navbar-inner{
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
.container-fluid{
|
||||
margin:0px !important;
|
||||
padding: 0px;
|
||||
}
|
||||
#qLbar{
|
||||
height:50px !important;
|
||||
}
|
||||
}
|
||||
@media(min-width:400px) and (max-width:839px){
|
||||
.filters .row-fluid .half{
|
||||
width:48.61878453038674%;*width:48.56559304102504%; float:left;
|
||||
}
|
||||
}
|
||||
.tooltip.in{
|
||||
z-index: 10000;
|
||||
opacity:1;
|
||||
filter:alpha(opacity=1);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tooltip{
|
||||
font-weight: bold;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
/* GRID */
|
||||
.grid {
|
||||
padding: 0px 0px;
|
||||
margin: 0 auto;
|
||||
list-style: none;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.grid li {
|
||||
display: inline-block;
|
||||
width: 124px;
|
||||
border:none;
|
||||
margin: 4px;
|
||||
margin-bottom:8px;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.grid figure {
|
||||
margin: 0;
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 122px;
|
||||
margin: auto;
|
||||
|
||||
&:hover{ background: #e0e0e0 !important;}
|
||||
}
|
||||
.list-view1.grid li{
|
||||
width:100%;
|
||||
figure{
|
||||
width:100%;
|
||||
}
|
||||
}
|
||||
|
||||
.grid figcaption {
|
||||
text-align: center;
|
||||
padding: 2px;
|
||||
padding-top: 8px;
|
||||
color: white;
|
||||
height: 30px;
|
||||
width: 122px;
|
||||
margin-left:0px;
|
||||
margin-right: 0px;
|
||||
position: absolute;
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
-webkit-box-shadow: inset 0px 0px 8px 0px rgba(41, 41, 41, 0.5);
|
||||
box-shadow: inset 0px 0px 8px 0px rgba(41, 41, 41, 0.5);
|
||||
|
||||
a{
|
||||
margin: 0px;
|
||||
padding: 3px;
|
||||
}
|
||||
h3 {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.grid h4{
|
||||
text-align: center;
|
||||
color: black;
|
||||
padding: 0px;
|
||||
margin-bottom: 4px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
|
||||
/* Individual Caption Styles */
|
||||
|
||||
|
||||
/* Caption Style 2 */
|
||||
|
||||
.grid figure .box {
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
.list-view0.grid,.list-view1.grid,.list-view2.grid{
|
||||
figure{
|
||||
.box{
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
z-index: 1;
|
||||
h4.ellipsis{
|
||||
height:18px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
h4{
|
||||
z-index: 1;
|
||||
a{
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.selected{
|
||||
-webkit-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
.no-touch .list-view0 figure .box{
|
||||
z-index: 1;
|
||||
-webkit-transition: -webkit-transform 0.3s;
|
||||
-moz-transition: -moz-transform 0.3s;
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
|
||||
|
||||
.no-touch .list-view0 figure:hover .box,
|
||||
.no-touch .list-view0 figure.cs-hover .box {
|
||||
-webkit-box-shadow: 0px 0px 4px 0px rgba(1, 1, 1, 0.5);
|
||||
box-shadow: 0px 0px 4px 0px rgba(1, 1, 1, 0.5);
|
||||
-webkit-transform: translateY(-26px);
|
||||
-moz-transform: translateY(-26px);
|
||||
-ms-transform: translateY(-26px);
|
||||
transform: translateY(-26px);
|
||||
}
|
||||
.list-view0 figure:hover .box.no-effect,
|
||||
.list-view0 figure.cs-hover .box.no-effect,.no-effect{
|
||||
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
-webkit-transform: none;
|
||||
-moz-transform: none;
|
||||
-ms-transform: none;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
|
||||
.list-view0 .img-precontainer-mini{
|
||||
display: none;
|
||||
background: none;
|
||||
}
|
||||
a,a:hover{
|
||||
color:black;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.back-directory{
|
||||
.img-precontainer,.img-precontainer-mini,.box{
|
||||
background: none;
|
||||
}
|
||||
}
|
||||
form{
|
||||
margin:0px;
|
||||
padding: 0px;
|
||||
}
|
||||
.modal-body{
|
||||
form,input{
|
||||
margin:0px;
|
||||
}
|
||||
}
|
||||
|
||||
.modal-header h3{
|
||||
font-weight: 300;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
/* LIST VIEW */
|
||||
.list-view1.sorter-container{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.list-view0.sorter-container, .list-view2.sorter-container{
|
||||
display: none;
|
||||
}
|
||||
.list-view0.grid{
|
||||
.img-precontainer{
|
||||
.img-container{
|
||||
|
||||
img{
|
||||
max-width:122px !important;
|
||||
max-height:91px !important;
|
||||
}
|
||||
img.icon{
|
||||
width: 122px;
|
||||
margin-top:0px;
|
||||
}
|
||||
}
|
||||
.filetype{
|
||||
position:absolute;
|
||||
top:0px;
|
||||
width:120px;
|
||||
text-align:center;
|
||||
color:white;
|
||||
font-size: 13px;
|
||||
line-height: 22px;
|
||||
|
||||
}
|
||||
}
|
||||
.cover{
|
||||
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
|
||||
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMC4yNSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
|
||||
background: -moz-linear-gradient(top, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.25) 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.25)), color-stop(100%,rgba(255,255,255,0.25))); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.25) 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.25) 100%); /* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.25) 100%); /* IE10+ */
|
||||
background: linear-gradient(to bottom, rgba(255,255,255,0.25) 0%,rgba(255,255,255,0.25) 100%); /* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#40ffffff', endColorstr='#40ffffff',GradientType=0 ); /* IE6-8 */
|
||||
|
||||
|
||||
width: 122px;
|
||||
position:absolute;
|
||||
top:22px;
|
||||
right:0px;
|
||||
height: 69px;
|
||||
}
|
||||
.box{
|
||||
background: white;
|
||||
}
|
||||
.directory{
|
||||
background: #dddddd;
|
||||
}
|
||||
figure.back-directory{
|
||||
.directory{
|
||||
background: #bbbbbb;
|
||||
}
|
||||
}
|
||||
|
||||
figcaption{
|
||||
background:#ffffff;
|
||||
}
|
||||
}
|
||||
|
||||
.list-view1.grid , .list-view2.grid {
|
||||
li{
|
||||
margin: 0px;
|
||||
&.back{
|
||||
figure.back-directory{
|
||||
height: 34px;
|
||||
}
|
||||
}
|
||||
}
|
||||
li:nth-child(odd) figure {background: #f9f9f9; }
|
||||
li:nth-child(odd) figure.directory {background: #eaeaea; }
|
||||
|
||||
li figure{
|
||||
border-bottom: 1px solid #cccccc;
|
||||
background: white;
|
||||
&.back-directory{
|
||||
background: #bbbbbb;
|
||||
.box{
|
||||
background: none;
|
||||
}
|
||||
}
|
||||
&.directory{
|
||||
background: #efefef;
|
||||
box{
|
||||
padding: 0px;
|
||||
min-height: 10px;
|
||||
}
|
||||
}
|
||||
.box{
|
||||
h4{
|
||||
padding-top:1px;
|
||||
font-size: 13px;
|
||||
text-align: left;
|
||||
}
|
||||
margin-left: 50px;
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
.img-precontainer-mini{
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 45px;
|
||||
height: 34px;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
img{
|
||||
height: 34px;
|
||||
}
|
||||
.filetype{
|
||||
position:absolute;
|
||||
top:5px;
|
||||
text-align: center;
|
||||
left:5px;
|
||||
padding:1px 2px;
|
||||
font-size: 13px;
|
||||
line-height: 22px;
|
||||
width:34px;
|
||||
height: 24px;
|
||||
color:white;
|
||||
background: #333333;
|
||||
}
|
||||
}
|
||||
.cover{
|
||||
display: none;
|
||||
}
|
||||
.img-container-mini{
|
||||
width: 45px;
|
||||
height: 34px;
|
||||
border:none;
|
||||
overflow: hidden;
|
||||
display: table-cell;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.img-precontainer-mini.original-thumb{
|
||||
padding: 0px;
|
||||
img{
|
||||
width: auto;
|
||||
margin: 0px;
|
||||
height: 34px;
|
||||
}
|
||||
|
||||
img.original{
|
||||
width: auto;
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.img-precontainer{
|
||||
display: none;
|
||||
}
|
||||
|
||||
figcaption{
|
||||
background:none;
|
||||
width: 120px;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
z-index: 1;
|
||||
bottom: 0;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
text-align: right;
|
||||
|
||||
}
|
||||
.selected{
|
||||
-webkit-box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.2);
|
||||
background: red;
|
||||
}
|
||||
}
|
||||
|
||||
.list-view1.grid{
|
||||
.img-dimension,.file-date,.file-size,.file-extension{
|
||||
overflow: hidden;
|
||||
display: block;position: absolute;
|
||||
top: 0px;
|
||||
z-index: 1;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
text-align: left;
|
||||
margin-top:7px;
|
||||
}
|
||||
.img-dimension{
|
||||
width: 65px;
|
||||
right: 120px;
|
||||
}
|
||||
.file-date{
|
||||
width: 70px;
|
||||
right: 185px;
|
||||
}
|
||||
.file-size{
|
||||
width: 55px;
|
||||
right: 255px;
|
||||
}
|
||||
.file-extension{
|
||||
width: 40px;
|
||||
right: 310px;
|
||||
}
|
||||
figure .box{
|
||||
padding-right: 352px;
|
||||
}
|
||||
}
|
||||
.list-view2.grid{
|
||||
figure{
|
||||
.box{
|
||||
padding-right: 115px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media(max-width:610px){
|
||||
.list-view1.grid figure{
|
||||
.box{
|
||||
padding-right: 312px;
|
||||
}
|
||||
.file-extension{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.sorter-container .file-extension{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media(max-width:565px){
|
||||
.list-view1.grid figure{
|
||||
.box{
|
||||
padding-right: 257px;
|
||||
}
|
||||
.file-size{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.sorter-container .file-size{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media(max-width:495px){
|
||||
.list-view1.grid figure{
|
||||
.box{
|
||||
padding-right: 187px;
|
||||
}
|
||||
.file-date{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.sorter-container .file-date{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media(max-width:430px){
|
||||
.list-view1.grid figure{
|
||||
.box{
|
||||
padding-right: 115px;
|
||||
}
|
||||
.img-dimension{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.sorter-container .img-dimension{
|
||||
display: none;
|
||||
}
|
||||
.breadcrumb{
|
||||
margin-left:0px;
|
||||
margin-right:0px;
|
||||
}
|
||||
}
|
||||
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.pdf{ background:#CB0011; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.css{ background:#D10698; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.ai{ background:#D6772F; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.psd{ background:#0960A4; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.html,&.xhtml{ background:#035BC4; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.fla,&.flv{ background:#CF302E; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.ppt,&.pptx{ background:#DA5B00; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.xls,&.xlsx,&.css{ background:#1A712C; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.rts,&.doc,&.docx{ background:#002093; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.rar,&.zip,&.gzip{ background:#FE9221; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.mp4,&.mpeg,&.mov,&.avi,&.mpg,&.wma,&.webm{ background:#31231E; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.mp3,&.m4a,&.ac3,&.aiff,&.mid,&.ogg,&.wav{ background:#9F008B; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.odt,&.ots,&.ott,&.odb,&.odg,&.otp,&.otg,&.odf,&.ods,&.odp{ background:#367BBE; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.jpg,&.jpeg,&.png,&.bmp,&.gif,&.tiff,&.svg{ background:#CFA554; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.txt,&.sql,&.xml,&.log,&.iso,&.dmg{ background:#CACACA; }}}
|
||||
.list-view2.grid,.list-view1.grid{.img-precontainer-mini .filetype{&.ade,&.adp,&.mdb,&.accdb{ background:#B61C19; }}}
|
990
adm/filemanager/dialog.php
Executable file
@ -0,0 +1,990 @@
|
||||
<?php
|
||||
include('config/config.php');
|
||||
|
||||
$_SESSION["verify"] = "RESPONSIVEfilemanager";
|
||||
|
||||
if (isset($_POST['submit']))
|
||||
include('upload.php');
|
||||
else
|
||||
{
|
||||
|
||||
include('include/utils.php');
|
||||
|
||||
|
||||
|
||||
if (isset($_GET['fldr'])
|
||||
&& !empty($_GET['fldr'])
|
||||
&& preg_match('/\.{1,2}[\/|\\\]/', urldecode($_GET['fldr'])) === 0
|
||||
)
|
||||
$subdir = urldecode(trim(str_replace("\0", '', $_GET['fldr']), '/').'/');
|
||||
else
|
||||
$subdir = '';
|
||||
|
||||
//remember last position
|
||||
setcookie('last_position', $subdir, time() + (86400 * 7));
|
||||
|
||||
if ($subdir == '')
|
||||
{
|
||||
if (!empty($_COOKIE['last_position'])
|
||||
&& strpos($_COOKIE['last_position'], '.') === false
|
||||
)
|
||||
$subdir = trim($_COOKIE['last_position']);
|
||||
}
|
||||
|
||||
if ($subdir == '/')
|
||||
$subdir = '';
|
||||
|
||||
|
||||
/***
|
||||
*SUB-DIR CODE
|
||||
***/
|
||||
if (!isset($_SESSION['subfolder'])) $_SESSION['subfolder'] = '';
|
||||
$subfolder = '';
|
||||
if (!empty($_SESSION['subfolder']) && strpos($_SESSION['subfolder'], '../') === false
|
||||
&& strpos($_SESSION['subfolder'], './') === false && strpos($_SESSION['subfolder'], '/') !== 0
|
||||
&& strpos($_SESSION['subfolder'], '.') === false
|
||||
) $subfolder = $_SESSION['subfolder'];
|
||||
|
||||
if ($subfolder != '' && $subfolder[strlen($subfolder) - 1] != '/') $subfolder .= '/';
|
||||
|
||||
if (!file_exists($current_path.$subfolder.$subdir))
|
||||
{
|
||||
$subdir = '';
|
||||
if (!file_exists($current_path.$subfolder.$subdir))
|
||||
$subfolder = '';
|
||||
}
|
||||
|
||||
if (trim($subfolder) == '')
|
||||
{
|
||||
$cur_dir = $upload_dir.$subdir;
|
||||
$cur_path = $current_path.$subdir;
|
||||
$thumbs_path = $thumbs_base_path;
|
||||
$parent = $subdir;
|
||||
} else
|
||||
{
|
||||
$cur_dir = $upload_dir.$subfolder.$subdir;
|
||||
$cur_path = $current_path.$subfolder.$subdir;
|
||||
$thumbs_path = $thumbs_base_path.$subfolder;
|
||||
$parent = $subfolder.$subdir;
|
||||
}
|
||||
|
||||
$cycle = true;
|
||||
$max_cycles = 50;
|
||||
$i = 0;
|
||||
while ($cycle && $i < $max_cycles)
|
||||
{
|
||||
$i++;
|
||||
if ($parent == './') $parent = '';
|
||||
if (file_exists($current_path.$parent.'config.php'))
|
||||
{
|
||||
require_once($current_path.$parent.'config.php');
|
||||
$cycle = false;
|
||||
}
|
||||
|
||||
if ($parent == '') $cycle = false;
|
||||
else $parent = fix_dirname($parent).'/';
|
||||
}
|
||||
|
||||
if (!is_dir($thumbs_path.$subdir))
|
||||
{
|
||||
create_folder(false, $thumbs_path.$subdir);
|
||||
}
|
||||
|
||||
if (isset($_GET['popup'])) $popup = $_GET['popup']; else $popup = 0;
|
||||
//Sanitize popup
|
||||
$popup = !!$popup;
|
||||
|
||||
//view type
|
||||
if (!isset($_SESSION['view_type']))
|
||||
{
|
||||
$view = $default_view;
|
||||
$_SESSION['view_type'] = $view;
|
||||
}
|
||||
if (isset($_GET['view']))
|
||||
{
|
||||
$view = $_GET['view'];
|
||||
$_SESSION['view_type'] = $view;
|
||||
}
|
||||
$view = $_SESSION['view_type'];
|
||||
|
||||
if (isset($_GET['filter'])) $filter = fix_filename($_GET['filter'], $transliteration);
|
||||
else $filter = '';
|
||||
|
||||
if (!isset($_SESSION['sort_by'])) $_SESSION['sort_by'] = '';
|
||||
if (isset($_GET['sort_by'])) $sort_by = $_SESSION['sort_by'] = fix_filename($_GET['sort_by'], $transliteration);
|
||||
else $sort_by = $_SESSION['sort_by'];
|
||||
|
||||
if (!isset($_SESSION['descending'])) $_SESSION['descending'] = false;
|
||||
if (isset($_GET['descending'])) $descending = $_SESSION['descending'] = fix_filename($_GET['descending'], $transliteration) === 'true';
|
||||
else $descending = $_SESSION['descending'];
|
||||
|
||||
|
||||
$lang = $default_language;
|
||||
if (isset($_GET['lang']) && $_GET['lang'] != 'undefined' && $_GET['lang'] != '')
|
||||
$lang = $_GET['lang'];
|
||||
|
||||
$language_file = 'lang/'.$default_language.'.php';
|
||||
if ($lang != $default_language)
|
||||
{
|
||||
$path_parts = pathinfo($lang);
|
||||
if (is_readable('lang/'.$path_parts['basename'].'.php'))
|
||||
$language_file = 'lang/'.$path_parts['basename'].'.php';
|
||||
else
|
||||
$lang = $default_language;
|
||||
}
|
||||
|
||||
|
||||
require_once $language_file;
|
||||
|
||||
if (!isset($_GET['type'])) $_GET['type'] = 0;
|
||||
if (!isset($_GET['field_id'])) $_GET['field_id'] = '';
|
||||
|
||||
$get_params = http_build_query(
|
||||
array(
|
||||
'type' => Tools::safeOutput($_GET['type']),
|
||||
'lang' => Tools::safeOutput($lang),
|
||||
'popup' => $popup,
|
||||
'field_id' => isset($_GET['field_id']) ? (int)$_GET['field_id'] : '',
|
||||
'fldr' => ''
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="https://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
<title>Responsive FileManager</title>
|
||||
<link rel="shortcut icon" href="img/ico/favicon.ico">
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="css/bootstrap-lightbox.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="css/dropzone.min.css" type="text/css" rel="stylesheet"/>
|
||||
<link href="css/jquery.contextMenu.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="css/bootstrap-modal.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="jPlayer/skin/blue.monday/jplayer.blue.monday.css" rel="stylesheet" type="text/css">
|
||||
<!--[if lt IE 8]>
|
||||
<style>
|
||||
.img-container span, .img-container-mini span {
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
}
|
||||
</style><![endif]-->
|
||||
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
if (typeof jQuery === 'undefined') {
|
||||
document.write(unescape("%3Cscript src='js/jquery.js' type='text/javascript'%3E%3C/script%3E"));
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="js/bootstrap-lightbox.min.js"></script>
|
||||
<script type="text/javascript" src="js/dropzone.min.js"></script>
|
||||
<script type="text/javascript" src="js/jquery.touchSwipe.min.js"></script>
|
||||
<script type="text/javascript" src="js/modernizr.custom.js"></script>
|
||||
<script type="text/javascript" src="js/bootbox.min.js"></script>
|
||||
<script type="text/javascript" src="js/bootstrap-modal.min.js"></script>
|
||||
<script type="text/javascript" src="js/bootstrap-modalmanager.min.js"></script>
|
||||
<script type="text/javascript" src="jPlayer/jquery.jplayer.min.js"></script>
|
||||
<script type="text/javascript" src="js/imagesloaded.pkgd.min.js"></script>
|
||||
<script type="text/javascript" src="js/jquery.queryloader2.min.js"></script>
|
||||
<?php
|
||||
if ($aviary_active)
|
||||
{
|
||||
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443)
|
||||
{
|
||||
?>
|
||||
<script type="text/javascript" src="https://dme0ih8comzn4.cloudfront.net/js/feather.js"></script>
|
||||
<?php }else{ ?>
|
||||
<script type="text/javascript" src="http://feather.aviary.com/js/feather.js "></script>
|
||||
<?php
|
||||
}
|
||||
} ?>
|
||||
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.2/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
<script src="js/jquery.ui.position.min.js" type="text/javascript"></script>
|
||||
<script src="js/jquery.contextMenu.min.js" type="text/javascript"></script>
|
||||
|
||||
<script>
|
||||
var ext_img = new Array('<?php echo implode("','", $ext_img)?>');
|
||||
var allowed_ext = new Array('<?php echo implode("','", $ext)?>');
|
||||
var loading_bar =<?php echo $loading_bar?"true":"false"; ?>;
|
||||
var image_editor =<?php echo $aviary_active?"true":"false"; ?>;
|
||||
//dropzone config
|
||||
Dropzone.options.myAwesomeDropzone = {
|
||||
dictInvalidFileType: "<?php echo lang_Error_extension;?>",
|
||||
dictFileTooBig: "<?php echo lang_Error_Upload; ?>",
|
||||
dictResponseError: "SERVER ERROR",
|
||||
paramName: "file", // The name that will be used to transfer the file
|
||||
maxFilesize: <?php echo $MaxSizeUpload; ?>, // MB
|
||||
url: "upload.php",
|
||||
accept: function (file, done) {
|
||||
var extension = file.name.split('.').pop();
|
||||
extension = extension.toLowerCase();
|
||||
if ($.inArray(extension, allowed_ext) > -1) {
|
||||
done();
|
||||
}
|
||||
else {
|
||||
done("<?php echo lang_Error_extension;?>");
|
||||
}
|
||||
}
|
||||
};
|
||||
if (image_editor) {
|
||||
var featherEditor = new Aviary.Feather({
|
||||
apiKey: "<?php echo $aviary_key; ?>",
|
||||
apiVersion: <?php echo $aviary_version; ?>,
|
||||
language: "<?php echo $aviary_language; ?>",
|
||||
theme: 'light',
|
||||
tools: 'all',
|
||||
onSave: function (imageID, newURL) {
|
||||
show_animation();
|
||||
var img = document.getElementById(imageID);
|
||||
img.src = newURL;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "ajax_calls.php?action=save_img",
|
||||
data: { url: newURL, path: $('#sub_folder').val() + $('#fldr_value').val(), name: $('#aviary_img').data('name') }
|
||||
}).done(function (msg) {
|
||||
featherEditor.close();
|
||||
d = new Date();
|
||||
$("figure[data-name='" + $('#aviary_img').data('name') + "']").find('img').each(function () {
|
||||
$(this).attr('src', $(this).attr('src') + "?" + d.getTime());
|
||||
});
|
||||
$("figure[data-name='" + $('#aviary_img').data('name') + "']").find('figcaption a.preview').each(function () {
|
||||
$(this).data('url', $(this).data('url') + "?" + d.getTime());
|
||||
});
|
||||
hide_animation();
|
||||
});
|
||||
return false;
|
||||
},
|
||||
onError: function (errorObj) {
|
||||
bootbox.alert(errorObj.message);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="js/include.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<input type="hidden" id="popup" value="<?php echo Tools::safeOutput($popup); ?>"/>
|
||||
<input type="hidden" id="view" value="<?php echo Tools::safeOutput($view); ?>"/>
|
||||
<input type="hidden" id="cur_dir" value="<?php echo Tools::safeOutput($cur_dir); ?>"/>
|
||||
<input type="hidden" id="cur_dir_thumb" value="<?php echo Tools::safeOutput($subdir); ?>"/>
|
||||
<input type="hidden" id="insert_folder_name" value="<?php echo Tools::safeOutput(lang_Insert_Folder_Name); ?>"/>
|
||||
<input type="hidden" id="new_folder" value="<?php echo Tools::safeOutput(lang_New_Folder); ?>"/>
|
||||
<input type="hidden" id="ok" value="<?php echo Tools::safeOutput(lang_OK); ?>"/>
|
||||
<input type="hidden" id="cancel" value="<?php echo Tools::safeOutput(lang_Cancel); ?>"/>
|
||||
<input type="hidden" id="rename" value="<?php echo Tools::safeOutput(lang_Rename); ?>"/>
|
||||
<input type="hidden" id="lang_duplicate" value="<?php echo Tools::safeOutput(lang_Duplicate); ?>"/>
|
||||
<input type="hidden" id="duplicate" value="<?php if ($duplicate_files) echo 1; else echo 0; ?>"/>
|
||||
<input type="hidden" id="base_url" value="<?php echo Tools::safeOutput($base_url) ?>"/>
|
||||
<input type="hidden" id="base_url_true" value="<?php echo base_url(); ?>"/>
|
||||
<input type="hidden" id="fldr_value" value="<?php echo Tools::safeOutput($subdir); ?>"/>
|
||||
<input type="hidden" id="sub_folder" value="<?php echo Tools::safeOutput($subfolder); ?>"/>
|
||||
<input type="hidden" id="file_number_limit_js" value="<?php echo Tools::safeOutput($file_number_limit_js); ?>"/>
|
||||
<input type="hidden" id="descending" value="<?php echo $descending ? "true" : "false"; ?>"/>
|
||||
<?php $protocol = 'http'; ?>
|
||||
<input type="hidden" id="current_url" value="<?php echo str_replace(array('&filter='.$filter), array(''), $protocol."://".$_SERVER['HTTP_HOST'].Tools::safeOutput($_SERVER['REQUEST_URI'])); ?>"/>
|
||||
<input type="hidden" id="lang_show_url" value="<?php echo Tools::safeOutput(lang_Show_url); ?>"/>
|
||||
<input type="hidden" id="lang_extract" value="<?php echo Tools::safeOutput(lang_Extract); ?>"/>
|
||||
<input type="hidden" id="lang_file_info" value="<?php echo fix_strtoupper(lang_File_info); ?>"/>
|
||||
<input type="hidden" id="lang_edit_image" value="<?php echo Tools::safeOutput(lang_Edit_image); ?>"/>
|
||||
<input type="hidden" id="transliteration" value="<?php echo $transliteration ? "true" : "false"; ?>"/>
|
||||
<?php if ($upload_files)
|
||||
{
|
||||
?>
|
||||
<!----- uploader div start ------->
|
||||
|
||||
<div class="uploader">
|
||||
<center>
|
||||
<button class="btn btn-inverse close-uploader">
|
||||
<i class="icon-backward icon-white"></i> <?php echo Tools::safeOutput(lang_Return_Files_List) ?></button>
|
||||
</center>
|
||||
<div class="space10"></div>
|
||||
<div class="space10"></div>
|
||||
<?php if ($java_upload){ ?>
|
||||
<div class="tabbable upload-tabbable"> <!-- Only required for left/right tabs -->
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active"><a href="#tab1" data-toggle="tab"><?php echo Tools::safeOutput(lang_Upload_base); ?></a></li>
|
||||
<li><a href="#tab2" id="uploader-btn" data-toggle="tab"><?php echo Tools::safeOutput(lang_Upload_java); ?></a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tab1">
|
||||
<?php } ?>
|
||||
<form action="dialog.php" method="post" enctype="multipart/form-data" id="myAwesomeDropzone" class="dropzone">
|
||||
<input type="hidden" name="path" value="<?php echo Tools::safeOutput($subfolder.$subdir); ?>"/>
|
||||
<input type="hidden" name="path_thumb" value="<?php echo Tools::safeOutput($subfolder.$subdir); ?>"/>
|
||||
|
||||
<div class="fallback">
|
||||
<?php echo lang_Upload_file ?>:<br/>
|
||||
<input name="file" type="file"/>
|
||||
<input type="hidden" name="fldr" value="<?php echo Tools::safeOutput($subdir); ?>"/>
|
||||
<input type="hidden" name="view" value="<?php echo Tools::safeOutput($view); ?>"/>
|
||||
<input type="hidden" name="type" value="<?php echo Tools::safeOutput($_GET['type']); ?>"/>
|
||||
<input type="hidden" name="field_id" value="<?php echo (int)$_GET['field_id']; ?>"/>
|
||||
<input type="hidden" name="popup" value="<?php echo Tools::safeOutput($popup); ?>"/>
|
||||
<input type="hidden" name="lang" value="<?php echo Tools::safeOutput($lang); ?>"/>
|
||||
<input type="hidden" name="filter" value="<?php echo Tools::safeOutput($filter); ?>"/>
|
||||
<input type="submit" name="submit" value="<?php echo lang_OK ?>"/>
|
||||
</div>
|
||||
</form>
|
||||
<div class="upload-help"><?php echo Tools::safeOutput(lang_Upload_base_help); ?></div>
|
||||
<?php if ($java_upload){ ?>
|
||||
</div>
|
||||
<div class="tab-pane" id="tab2">
|
||||
<div id="iframe-container">
|
||||
|
||||
</div>
|
||||
<div class="upload-help"><?php echo Tools::safeOutput(lang_Upload_java_help); ?></div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!----- uploader div start ------->
|
||||
|
||||
<?php } ?>
|
||||
<div class="container-fluid">
|
||||
|
||||
<?php
|
||||
|
||||
$class_ext = '';
|
||||
$src = '';
|
||||
|
||||
if ($_GET['type'] == 1) $apply = 'apply_img';
|
||||
elseif ($_GET['type'] == 2) $apply = 'apply_link';
|
||||
elseif ($_GET['type'] == 0 && $_GET['field_id'] == '') $apply = 'apply_none';
|
||||
elseif ($_GET['type'] == 3) $apply = 'apply_video';
|
||||
else $apply = 'apply';
|
||||
|
||||
$files = scandir($current_path.$subfolder.$subdir);
|
||||
$n_files = count($files);
|
||||
|
||||
//php sorting
|
||||
$sorted = array();
|
||||
$current_folder = array();
|
||||
$prev_folder = array();
|
||||
foreach ($files as $k => $file)
|
||||
{
|
||||
if ($file == ".") $current_folder = array('file' => $file);
|
||||
elseif ($file == "..") $prev_folder = array('file' => $file);
|
||||
elseif (is_dir($current_path.$subfolder.$subdir.$file))
|
||||
{
|
||||
$date = filemtime($current_path.$subfolder.$subdir.$file);
|
||||
$size = foldersize($current_path.$subfolder.$subdir.$file);
|
||||
$file_ext = lang_Type_dir;
|
||||
$sorted[$k] = array('file' => $file, 'date' => $date, 'size' => $size, 'extension' => $file_ext);
|
||||
} else
|
||||
{
|
||||
$file_path = $current_path.$subfolder.$subdir.$file;
|
||||
$date = filemtime($file_path);
|
||||
$size = filesize($file_path);
|
||||
$file_ext = substr(strrchr($file, '.'), 1);
|
||||
$sorted[$k] = array('file' => $file, 'date' => $date, 'size' => $size, 'extension' => $file_ext);
|
||||
}
|
||||
}
|
||||
|
||||
function filenameSort($x, $y)
|
||||
{
|
||||
return $x['file'] < $y['file'];
|
||||
}
|
||||
|
||||
function dateSort($x, $y)
|
||||
{
|
||||
return $x['date'] < $y['date'];
|
||||
}
|
||||
|
||||
function sizeSort($x, $y)
|
||||
{
|
||||
return $x['size'] - $y['size'];
|
||||
}
|
||||
|
||||
function extensionSort($x, $y)
|
||||
{
|
||||
return $x['extension'] < $y['extension'];
|
||||
}
|
||||
|
||||
switch ($sort_by)
|
||||
{
|
||||
case 'name':
|
||||
usort($sorted, 'filenameSort');
|
||||
break;
|
||||
case 'date':
|
||||
usort($sorted, 'dateSort');
|
||||
break;
|
||||
case 'size':
|
||||
usort($sorted, 'sizeSort');
|
||||
break;
|
||||
case 'extension':
|
||||
usort($sorted, 'extensionSort');
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if ($descending)
|
||||
{
|
||||
$sorted = array_reverse($sorted);
|
||||
}
|
||||
|
||||
$files = array_merge(array($prev_folder), array($current_folder), $sorted);
|
||||
?>
|
||||
<!----- header div start ------->
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container-fluid">
|
||||
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<div class="brand"><?php echo Tools::safeOutput(lang_Toolbar); ?> -></div>
|
||||
<div class="nav-collapse collapse">
|
||||
<div class="filters">
|
||||
<div class="row-fluid">
|
||||
<div class="span3 half">
|
||||
<span><?php echo Tools::safeOutput(lang_Actions); ?>:</span>
|
||||
<?php if ($upload_files)
|
||||
{
|
||||
?>
|
||||
<button class="tip btn upload-btn" title="<?php echo Tools::safeOutput(lang_Upload_file); ?>">
|
||||
<i class="icon-plus"></i><i class="icon-file"></i></button>
|
||||
<?php } ?>
|
||||
<?php if ($create_folders)
|
||||
{
|
||||
?>
|
||||
<button class="tip btn new-folder" title="<?php echo Tools::safeOutput(lang_New_Folder) ?>">
|
||||
<i class="icon-plus"></i><i class="icon-folder-open"></i></button>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<div class="span3 half view-controller">
|
||||
<span><?php echo lang_View; ?>:</span>
|
||||
<button class="btn tip<?php if ($view == 0) echo " btn-inverse"; ?>" id="view0" data-value="0" title="<?php echo Tools::safeOutput(lang_View_boxes); ?>">
|
||||
<i class="icon-th <?php if ($view == 0) echo "icon-white"; ?>"></i></button>
|
||||
<button class="btn tip<?php if ($view == 1) echo " btn-inverse"; ?>" id="view1" data-value="1" title="<?php echo Tools::safeOutput(lang_View_list); ?>">
|
||||
<i class="icon-align-justify <?php if ($view == 1) echo "icon-white"; ?>"></i>
|
||||
</button>
|
||||
<button class="btn tip<?php if ($view == 2) echo " btn-inverse"; ?>" id="view2" data-value="2" title="<?php echo Tools::safeOutput(lang_View_columns_list); ?>">
|
||||
<i class="icon-fire <?php if ($view == 2) echo "icon-white"; ?>"></i></button>
|
||||
</div>
|
||||
<div class="span6 types">
|
||||
<span><?php echo Tools::safeOutput(lang_Filters); ?>:</span>
|
||||
<?php if ($_GET['type'] != 1 && $_GET['type'] != 3)
|
||||
{
|
||||
?>
|
||||
<input id="select-type-1" name="radio-sort" type="radio" data-item="ff-item-type-1" checked="checked" class="hide"/>
|
||||
<label id="ff-item-type-1" title="<?php echo Tools::safeOutput(lang_Files); ?>" for="select-type-1" class="tip btn ff-label-type-1"><i class="icon-file"></i></label>
|
||||
<input id="select-type-2" name="radio-sort" type="radio" data-item="ff-item-type-2" class="hide"/>
|
||||
<label id="ff-item-type-2" title="<?php echo Tools::safeOutput(lang_Images); ?>" for="select-type-2" class="tip btn ff-label-type-2"><i class="icon-picture"></i></label>
|
||||
<input id="select-type-3" name="radio-sort" type="radio" data-item="ff-item-type-3" class="hide"/>
|
||||
<label id="ff-item-type-3" title="<?php echo Tools::safeOutput(lang_Archives); ?>" for="select-type-3" class="tip btn ff-label-type-3"><i class="icon-inbox"></i></label>
|
||||
<input id="select-type-4" name="radio-sort" type="radio" data-item="ff-item-type-4" class="hide"/>
|
||||
<label id="ff-item-type-4" title="<?php echo Tools::safeOutput(lang_Videos); ?>" for="select-type-4" class="tip btn ff-label-type-4"><i class="icon-film"></i></label>
|
||||
<input id="select-type-5" name="radio-sort" type="radio" data-item="ff-item-type-5" class="hide"/>
|
||||
<label id="ff-item-type-5" title="<?php echo Tools::safeOutput(lang_Music); ?>" for="select-type-5" class="tip btn ff-label-type-5"><i class="icon-music"></i></label>
|
||||
<?php } ?>
|
||||
<input accesskey="f" type="text" class="filter-input" id="filter-input" name="filter" placeholder="<?php echo fix_strtolower(lang_Text_filter); ?>..." value="<?php echo Tools::safeOutput($filter); ?>"/><?php if ($n_files > $file_number_limit_js)
|
||||
{
|
||||
?><label id="filter" class="btn"><i class="icon-play"></i></label><?php } ?>
|
||||
|
||||
<input id="select-type-all" name="radio-sort" type="radio" data-item="ff-item-type-all" class="hide"/>
|
||||
<label id="ff-item-type-all" title="<?php echo Tools::safeOutput(lang_All); ?>" <?php if (Tools::getValue('type') == 1 || Tools::getValue('type') == 3){ ?>style="visibility: hidden;" <?php } ?> data-item="ff-item-type-all" for="select-type-all" style="margin-rigth:0px;" class="tip btn btn-inverse ff-label-type-all"><i class="icon-align-justify icon-white"></i></label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!----- header div end ------->
|
||||
|
||||
<!----- breadcrumb div start ------->
|
||||
|
||||
<div class="row-fluid">
|
||||
<?php
|
||||
$link = "dialog.php?".$get_params;
|
||||
?>
|
||||
<ul class="breadcrumb">
|
||||
<li class="pull-left"><a href="<?php echo Tools::safeOutput($link) ?>/"><i class="icon-home"></i></a></li>
|
||||
<li><span class="divider">/</span></li>
|
||||
<?php
|
||||
$bc = explode("/", $subdir);
|
||||
$tmp_path = '';
|
||||
if (!empty($bc))
|
||||
foreach ($bc as $k => $b)
|
||||
{
|
||||
$tmp_path .= $b."/";
|
||||
if ($k == count($bc) - 2)
|
||||
{
|
||||
?>
|
||||
<li class="active"><?php echo Tools::safeOutput($b) ?></li><?php
|
||||
} elseif ($b != "")
|
||||
{
|
||||
?>
|
||||
<li><a href="<?php echo Tools::safeOutput($link.$tmp_path)?>"><?php echo Tools::safeOutput($b) ?></a></li>
|
||||
<li><span class="divider"><?php echo "/"; ?></span></li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
<li class="pull-right">
|
||||
<a class="btn-small" href="javascript:void('')" id="info"><i class="icon-question-sign"></i></a></li>
|
||||
<li class="pull-right">
|
||||
<a id="refresh" class="btn-small" href="dialog.php?<?php echo Tools::safeOutput($get_params.$subdir."&".uniqid()) ?>"><i class="icon-refresh"></i></a>
|
||||
</li>
|
||||
|
||||
<li class="pull-right">
|
||||
<div class="btn-group">
|
||||
<a class="btn dropdown-toggle sorting-btn" data-toggle="dropdown" href="#">
|
||||
<i class="icon-signal"></i>
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu pull-left sorting">
|
||||
<li>
|
||||
<center><strong><?php echo Tools::safeOutput(lang_Sorting) ?></strong></center>
|
||||
</li>
|
||||
<li><a class="sorter sort-name <?php if ($sort_by == "name")
|
||||
{
|
||||
echo ($descending) ? "descending" : "ascending";
|
||||
} ?>" href="javascript:void('')" data-sort="name"><?php echo Tools::safeOutput(lang_Filename); ?></a></li>
|
||||
<li><a class="sorter sort-date <?php if ($sort_by == "date")
|
||||
{
|
||||
echo ($descending) ? "descending" : "ascending";
|
||||
} ?>" href="javascript:void('')" data-sort="date"><?php echo Tools::safeOutput(lang_Date); ?></a></li>
|
||||
<li><a class="sorter sort-size <?php if ($sort_by == "size")
|
||||
{
|
||||
echo ($descending) ? "descending" : "ascending";
|
||||
} ?>" href="javascript:void('')" data-sort="size"><?php echo Tools::safeOutput(lang_Size); ?></a></li>
|
||||
<li><a class="sorter sort-extension <?php if ($sort_by == "extension")
|
||||
{
|
||||
echo ($descending) ? "descending" : "ascending";
|
||||
} ?>" href="javascript:void('')" data-sort="extension"><?php echo Tools::safeOutput(lang_Type); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!----- breadcrumb div end ------->
|
||||
<div class="row-fluid ff-container">
|
||||
<div class="span12">
|
||||
<?php if (@opendir($current_path.$subfolder.$subdir) === false){ ?>
|
||||
<br/>
|
||||
<div class="alert alert-error">There is an error! The upload folder there isn't. Check your config.php file.
|
||||
</div>
|
||||
<?php }else{ ?>
|
||||
<h4 id="help"><?php echo Tools::safeOutput(lang_Swipe_help); ?></h4>
|
||||
<?php if (isset($folder_message))
|
||||
{
|
||||
?>
|
||||
<div class="alert alert-block"><?php echo Tools::safeOutput($folder_message); ?></div>
|
||||
<?php } ?>
|
||||
<?php if ($show_sorting_bar)
|
||||
{
|
||||
?>
|
||||
<!-- sorter -->
|
||||
<div class="sorter-container <?php echo "list-view".Tools::safeOutput($view); ?>">
|
||||
<div class="file-name"><a class="sorter sort-name <?php if ($sort_by == "name")
|
||||
{
|
||||
echo ($descending) ? "descending" : "ascending";
|
||||
} ?>" href="javascript:void('')" data-sort="name"><?php echo Tools::safeOutput(lang_Filename); ?></a></div>
|
||||
<div class="file-date"><a class="sorter sort-date <?php if ($sort_by == "date")
|
||||
{
|
||||
echo ($descending) ? "descending" : "ascending";
|
||||
} ?>" href="javascript:void('')" data-sort="date"><?php echo Tools::safeOutput(lang_Date); ?></a></div>
|
||||
<div class="file-size"><a class="sorter sort-size <?php if ($sort_by == "size")
|
||||
{
|
||||
echo ($descending) ? "descending" : "ascending";
|
||||
} ?>" href="javascript:void('')" data-sort="size"><?php echo Tools::safeOutput(lang_Size); ?></a></div>
|
||||
<div class='img-dimension'><?php echo Tools::safeOutput(lang_Dimension); ?></div>
|
||||
<div class='file-extension'><a class="sorter sort-extension <?php if ($sort_by == "extension")
|
||||
{
|
||||
echo ($descending) ? "descending" : "ascending";
|
||||
} ?>" href="javascript:void('')" data-sort="extension"><?php echo Tools::safeOutput(lang_Type); ?></a></div>
|
||||
<div class='file-operations'><?php echo Tools::safeOutput(lang_Operations); ?></div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<input type="hidden" id="file_number" value="<?php echo Tools::safeOutput($n_files); ?>"/>
|
||||
<!--ul class="thumbnails ff-items"-->
|
||||
<ul class="grid cs-style-2 <?php echo "list-view".Tools::safeOutput($view); ?>">
|
||||
<?php
|
||||
|
||||
$jplayer_ext = array(
|
||||
"mp4",
|
||||
"flv",
|
||||
"webmv",
|
||||
"webma",
|
||||
"webm",
|
||||
"m4a",
|
||||
"m4v",
|
||||
"ogv",
|
||||
"oga",
|
||||
"mp3",
|
||||
"midi",
|
||||
"mid",
|
||||
"ogg",
|
||||
"wav"
|
||||
);
|
||||
foreach ($files as $file_array)
|
||||
{
|
||||
$file = $file_array['file'];
|
||||
if ($file == '.' || (isset($file_array['extension']) && $file_array['extension'] != lang_Type_dir) || ($file == '..' && $subdir == '') || in_array($file, $hidden_folders) || ($filter != '' && $file != ".." && strpos($file, $filter) === false))
|
||||
continue;
|
||||
$new_name = fix_filename($file, $transliteration);
|
||||
if ($file != '..' && $file != $new_name)
|
||||
{
|
||||
//rename
|
||||
rename_folder($current_path.$subdir.$new_name, $new_name, $transliteration);
|
||||
$file = $new_name;
|
||||
}
|
||||
//add in thumbs folder if not exist
|
||||
if (!file_exists($thumbs_path.$subdir.$file)) create_folder(false, $thumbs_path.$subdir.$file);
|
||||
$class_ext = 3;
|
||||
if ($file == '..' && trim($subdir) != '')
|
||||
{
|
||||
$src = explode("/", $subdir);
|
||||
unset($src[count($src) - 2]);
|
||||
$src = implode("/", $src);
|
||||
if ($src == '') $src = "/";
|
||||
} elseif ($file != '..')
|
||||
{
|
||||
$src = $subdir.$file."/";
|
||||
}
|
||||
|
||||
?>
|
||||
<li data-name="<?php echo Tools::safeOutput($file) ?>" <?php if ($file == '..') echo 'class="back"'; else echo 'class="dir"'; ?>>
|
||||
<figure data-name="<?php echo Tools::safeOutput($file) ?>" class="<?php if ($file == "..") echo "back-"; ?>directory" data-type="<?php if ($file != "..")
|
||||
{
|
||||
echo "dir";
|
||||
} ?>">
|
||||
<a class="folder-link" href="dialog.php?<?php echo $get_params.rawurlencode($src)."&".uniqid() ?>">
|
||||
<div class="img-precontainer">
|
||||
<div class="img-container directory"><span></span>
|
||||
<img class="directory-img" src="img/<?php echo Tools::safeOutput($icon_theme); ?>/folder<?php if ($file == "..")
|
||||
{
|
||||
echo "_back";
|
||||
} ?>.jpg" alt="folder"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="img-precontainer-mini directory">
|
||||
<div class="img-container-mini">
|
||||
<span></span>
|
||||
<img class="directory-img" src="img/<?php echo Tools::safeOutput($icon_theme); ?>/folder<?php if ($file == "..")
|
||||
{
|
||||
echo "_back";
|
||||
} ?>.png" alt="folder"/>
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($file == ".."){ ?>
|
||||
<div class="box no-effect">
|
||||
<h4><?php echo Tools::safeOutput(lang_Back) ?></h4>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<?php
|
||||
} else
|
||||
{
|
||||
?>
|
||||
</a>
|
||||
<div class="box">
|
||||
<h4 class="<?php if ($ellipsis_title_after_first_row)
|
||||
{
|
||||
echo "ellipsis";
|
||||
} ?>">
|
||||
<a class="folder-link" data-file="<?php echo Tools::safeOutput($file) ?>" href="dialog.php?<?php echo Tools::safeOutput($get_params.rawurlencode($src)."&".uniqid()) ?>"><?php echo Tools::safeOutput($file); ?></a>
|
||||
</h4>
|
||||
</div>
|
||||
<input type="hidden" class="name" value=""/>
|
||||
<input type="hidden" class="date" value="<?php echo Tools::safeOutput($file_array['date']); ?>"/>
|
||||
<input type="hidden" class="size" value="<?php echo Tools::safeOutput($file_array['size']); ?>"/>
|
||||
<input type="hidden" class="extension" value="<?php echo lang_Type_dir; ?>"/>
|
||||
<div class="file-date"><?php echo date(lang_Date_type, $file_array['date']) ?></div>
|
||||
<?php if ($show_folder_size)
|
||||
{
|
||||
?>
|
||||
<div class="file-size"><?php echo makeSize($file_array['size']) ?></div><?php } ?>
|
||||
<div class='file-extension'><?php echo lang_Type_dir; ?></div>
|
||||
<figcaption>
|
||||
<a href="javascript:void('')" class="tip-left edit-button <?php if ($rename_folders) echo "rename-folder"; ?>" title="<?php echo lang_Rename ?>" data-path="<?php echo Tools::safeOutput($subfolder.$subdir.$file); ?>" data-thumb="<?php echo Tools::safeOutput($subdir.$file); ?>">
|
||||
<i class="icon-pencil <?php if (!$rename_folders) echo 'icon-white'; ?>"></i></a>
|
||||
<a href="javascript:void('')" class="tip-left erase-button <?php if ($delete_folders) echo "delete-folder"; ?>" title="<?php echo lang_Erase ?>" data-confirm="<?php echo lang_Confirm_Folder_del; ?>" data-path="<?php echo Tools::safeOutput($subfolder.$subdir.$file); ?>" data-thumb="<?php echo Tools::safeOutput($subdir.$file); ?>">
|
||||
<i class="icon-trash <?php if (!$delete_folders) echo 'icon-white'; ?>"></i>
|
||||
</a>
|
||||
</figcaption>
|
||||
<?php } ?>
|
||||
</figure>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
|
||||
foreach ($files as $nu => $file_array) {
|
||||
$file = $file_array['file'];
|
||||
|
||||
if ($file == '.' || $file == '..' || is_dir($current_path.$subfolder.$subdir.$file) || in_array($file, $hidden_files) || !in_array(fix_strtolower($file_array['extension']), $ext) || ($filter != '' && strpos($file, $filter) === false))
|
||||
continue;
|
||||
|
||||
$file_path = $current_path.$subfolder.$subdir.$file;
|
||||
//check if file have illegal caracter
|
||||
|
||||
$filename = substr($file, 0, '-'.(strlen($file_array['extension']) + 1));
|
||||
|
||||
if ($file != fix_filename($file, $transliteration))
|
||||
{
|
||||
$file1 = fix_filename($file, $transliteration);
|
||||
$file_path1 = ($current_path.$subfolder.$subdir.$file1);
|
||||
if (file_exists($file_path1))
|
||||
{
|
||||
$i = 1;
|
||||
$info = pathinfo($file1);
|
||||
while (file_exists($current_path.$subfolder.$subdir.$info['filename'].".[".$i."].".$info['extension']))
|
||||
{
|
||||
$i++;
|
||||
}
|
||||
$file1 = $info['filename'].".[".$i."].".$info['extension'];
|
||||
$file_path1 = ($current_path.$subfolder.$subdir.$file1);
|
||||
}
|
||||
|
||||
$filename = substr($file1, 0, '-'.(strlen($file_array['extension']) + 1));
|
||||
rename_file($file_path, fix_filename($filename, $transliteration), $transliteration);
|
||||
$file = $file1;
|
||||
$file_array['extension'] = fix_filename($file_array['extension'], $transliteration);
|
||||
$file_path = $file_path1;
|
||||
}
|
||||
|
||||
$is_img = false;
|
||||
$is_video = false;
|
||||
$is_audio = false;
|
||||
$show_original = false;
|
||||
$show_original_mini = false;
|
||||
$mini_src = "";
|
||||
$src_thumb = "";
|
||||
$extension_lower = fix_strtolower($file_array['extension']);
|
||||
if (in_array($extension_lower, $ext_img))
|
||||
{
|
||||
$src = $base_url.$cur_dir.rawurlencode($file);
|
||||
$mini_src = $src_thumb = $thumbs_path.$subdir.$file;
|
||||
|
||||
if (strpos($src_thumb, _PS_ROOT_DIR_) === 0)
|
||||
$mini = $thumb = __PS_BASE_URI__.substr($thumbs_path.$subdir.$file, strlen(_PS_ROOT_DIR_) + 1);
|
||||
//add in thumbs folder if not exist
|
||||
if (!file_exists($src_thumb))
|
||||
{
|
||||
try
|
||||
{
|
||||
create_img_gd($file_path, $src_thumb, 122, 91);
|
||||
new_thumbnails_creation($current_path.$subfolder.$subdir, $file_path, $file, $current_path, $relative_image_creation, $relative_path_from_current_pos, $relative_image_creation_name_to_prepend, $relative_image_creation_name_to_append, $relative_image_creation_width, $relative_image_creation_height, $fixed_image_creation, $fixed_path_from_filemanager, $fixed_image_creation_name_to_prepend, $fixed_image_creation_to_append, $fixed_image_creation_width, $fixed_image_creation_height);
|
||||
} catch (Exception $e)
|
||||
{
|
||||
$src_thumb = $mini_src = "";
|
||||
}
|
||||
}
|
||||
$is_img = true;
|
||||
//check if is smaller than thumb
|
||||
list($img_width, $img_height, $img_type, $attr) = getimagesize($file_path);
|
||||
if ($img_width < 122 && $img_height < 91)
|
||||
{
|
||||
$src_thumb = $current_path.$subfolder.$subdir.$file;
|
||||
$show_original = true;
|
||||
}
|
||||
|
||||
if ($img_width < 45 && $img_height < 38)
|
||||
{
|
||||
$mini_src = $current_path.$subfolder.$subdir.$file;
|
||||
$show_original_mini = true;
|
||||
}
|
||||
}
|
||||
|
||||
$is_icon_thumb = false;
|
||||
$is_icon_thumb_mini = false;
|
||||
$no_thumb = false;
|
||||
if ($src_thumb == "")
|
||||
{
|
||||
$no_thumb = true;
|
||||
if (file_exists('img/'.$icon_theme.'/'.$extension_lower.".jpg"))
|
||||
{
|
||||
$src_thumb = 'img/'.$icon_theme.'/'.$extension_lower.".jpg";
|
||||
} else
|
||||
{
|
||||
$src_thumb = "img/".$icon_theme."/default.jpg";
|
||||
}
|
||||
$is_icon_thumb = true;
|
||||
}
|
||||
if ($mini_src == "")
|
||||
{
|
||||
$is_icon_thumb_mini = false;
|
||||
}
|
||||
|
||||
$class_ext = 0;
|
||||
if (in_array($extension_lower, $ext_video))
|
||||
{
|
||||
$class_ext = 4;
|
||||
$is_video = true;
|
||||
} elseif (in_array($extension_lower, $ext_img))
|
||||
{
|
||||
$class_ext = 2;
|
||||
} elseif (in_array($extension_lower, $ext_music))
|
||||
{
|
||||
$class_ext = 5;
|
||||
$is_audio = true;
|
||||
} elseif (in_array($extension_lower, $ext_misc))
|
||||
{
|
||||
$class_ext = 3;
|
||||
} else
|
||||
{
|
||||
$class_ext = 1;
|
||||
}
|
||||
if ((!(Tools::getValue('type') == 1 && !$is_img) && !((Tools::getValue('type') == 3 && !$is_video) && (Tools::getValue('type') == 3 && !$is_audio))) && $class_ext > 0){
|
||||
?>
|
||||
<li class="ff-item-type-<?php echo Tools::safeOutput($class_ext); ?> file" data-name="<?php echo Tools::safeOutput($file); ?>">
|
||||
<figure data-name="<?php echo Tools::safeOutput($file) ?>" data-type="<?php if ($is_img)
|
||||
{
|
||||
echo "img";
|
||||
} else
|
||||
{
|
||||
echo "file";
|
||||
} ?>">
|
||||
<a href="javascript:void('')" class="link" data-file="<?php echo Tools::safeOutput($file); ?>" data-field_id="" data-function="<?php echo Tools::safeOutput($apply); ?>">
|
||||
<div class="img-precontainer">
|
||||
<?php if ($is_icon_thumb)
|
||||
{
|
||||
?>
|
||||
<div class="filetype"><?php echo $extension_lower ?></div><?php } ?>
|
||||
<div class="img-container">
|
||||
<span></span>
|
||||
<img alt="<?php echo Tools::safeOutput($filename." thumbnails"); ?>" class="<?php echo $show_original ? "original" : "" ?> <?php echo $is_icon_thumb ? "icon" : "" ?>" src="<?php echo Tools::safeOutput($thumb); ?>">
|
||||
</div>
|
||||
</div>
|
||||
<div class="img-precontainer-mini <?php if ($is_img) echo 'original-thumb' ?>">
|
||||
<div class="filetype <?php echo $extension_lower ?> <?php if (!$is_icon_thumb)
|
||||
{
|
||||
echo "hide";
|
||||
} ?>"><?php echo $extension_lower ?></div>
|
||||
<div class="img-container-mini">
|
||||
<span></span>
|
||||
<?php if ($mini_src != "")
|
||||
{
|
||||
?>
|
||||
<img alt="<?php echo Tools::safeOutput($filename." thumbnails"); ?>" class="<?php echo $show_original_mini ? "original" : "" ?> <?php echo $is_icon_thumb_mini ? "icon" : "" ?>" src="<?php echo Tools::safeOutput($mini); ?>">
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($is_icon_thumb)
|
||||
{
|
||||
?>
|
||||
<div class="cover"></div>
|
||||
<?php } ?>
|
||||
</a>
|
||||
|
||||
<div class="box">
|
||||
<h4 class="<?php if ($ellipsis_title_after_first_row)
|
||||
{
|
||||
echo "ellipsis";
|
||||
} ?>">
|
||||
<a href="javascript:void('')" class="link" data-file="<?php echo Tools::safeOutput($file); ?>" data-field_id="" data-function="<?php echo Tools::safeOutput($apply); ?>">
|
||||
<?php echo Tools::safeOutput($filename); ?></a></h4>
|
||||
</div>
|
||||
<input type="hidden" class="date" value="<?php echo $file_array['date']; ?>"/>
|
||||
<input type="hidden" class="size" value="<?php echo $file_array['size'] ?>"/>
|
||||
<input type="hidden" class="extension" value="<?php echo $extension_lower; ?>"/>
|
||||
<input type="hidden" class="name" value=""/>
|
||||
|
||||
<div class="file-date"><?php echo date(lang_Date_type, $file_array['date']) ?></div>
|
||||
<div class="file-size"><?php echo makeSize($file_array['size']) ?></div>
|
||||
<div class='img-dimension'><?php if ($is_img)
|
||||
{
|
||||
echo $img_width."x".$img_height;
|
||||
} ?></div>
|
||||
<div class='file-extension'><?php echo Tools::safeOutput($extension_lower); ?></div>
|
||||
<figcaption>
|
||||
<form action="force_download.php" method="post" class="download-form" id="form<?php echo Tools::safeOutput($nu); ?>">
|
||||
<input type="hidden" name="path" value="<?php echo Tools::safeOutput($subfolder.$subdir) ?>"/>
|
||||
<input type="hidden" class="name_download" name="name" value="<?php echo Tools::safeOutput($file) ?>"/>
|
||||
|
||||
<a title="<?php echo lang_Download ?>" class="tip-right" href="javascript:void('')" onclick="$('#form<?php echo Tools::safeOutput($nu); ?>').submit();"><i class="icon-download"></i></a>
|
||||
<?php if ($is_img && $src_thumb != "")
|
||||
{
|
||||
?>
|
||||
<a class="tip-right preview" title="<?php echo lang_Preview ?>" data-url="<?php echo Tools::safeOutput($src); ?>" data-toggle="lightbox" href="#previewLightbox"><i class=" icon-eye-open"></i></a>
|
||||
<?php
|
||||
} elseif (($is_video || $is_audio) && in_array($extension_lower, $jplayer_ext))
|
||||
{
|
||||
?>
|
||||
<a class="tip-right modalAV <?php if ($is_audio)
|
||||
{
|
||||
echo "audio";
|
||||
} else
|
||||
{
|
||||
echo "video";
|
||||
} ?>"
|
||||
title="<?php echo lang_Preview ?>" data-url="ajax_calls.php?action=media_preview&title=<?php echo Tools::safeOutput($filename); ?>&file=<?php echo Tools::safeOutput($current_path.$subfolder.$subdir.$file); ?>"
|
||||
href="javascript:void('');"><i class=" icon-eye-open"></i></a>
|
||||
<?php
|
||||
} else
|
||||
{
|
||||
?>
|
||||
<a class="preview disabled"><i class="icon-eye-open icon-white"></i></a>
|
||||
<?php } ?>
|
||||
<a href="javascript:void('')" class="tip-left edit-button <?php if ($rename_files) echo "rename-file"; ?>" title="<?php echo lang_Rename ?>" data-path="<?php echo Tools::safeOutput($subfolder.$subdir.$file); ?>" data-thumb="<?php echo Tools::safeOutput($subdir.$file); ?>">
|
||||
<i class="icon-pencil <?php if (!$rename_files) echo 'icon-white'; ?>"></i></a>
|
||||
|
||||
<a href="javascript:void('')" class="tip-left erase-button <?php if ($delete_files) echo "delete-file"; ?>" title="<?php echo lang_Erase ?>" data-confirm="<?php echo lang_Confirm_del; ?>" data-path="<?php echo Tools::safeOutput($subfolder.$subdir.$file); ?>" data-thumb="<?php echo Tools::safeOutput($subdir.$file); ?>">
|
||||
<i class="icon-trash <?php if (!$delete_files) echo 'icon-white'; ?>"></i>
|
||||
</a>
|
||||
</form>
|
||||
</figcaption>
|
||||
</figure>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
?></div>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!----- lightbox div start ------->
|
||||
<div id="previewLightbox" class="lightbox hide fade" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class='lightbox-content'>
|
||||
<img id="full-img" src="">
|
||||
</div>
|
||||
</div>
|
||||
<!----- lightbox div end ------->
|
||||
|
||||
<!----- loading div start ------->
|
||||
<div id="loading_container" style="display:none;">
|
||||
<div id="loading" style="background-color:#000; position:fixed; width:100%; height:100%; top:0px; left:0px;z-index:100000"></div>
|
||||
<img id="loading_animation" src="img/storing_animation.gif" alt="loading" style="z-index:10001; margin-left:-32px; margin-top:-32px; position:fixed; left:50%; top:50%"/>
|
||||
</div>
|
||||
<!----- loading div end ------->
|
||||
|
||||
<!----- player div start ------->
|
||||
<div class="modal hide fade" id="previewAV">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3><?php echo lang_Preview; ?></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row-fluid body-preview">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!----- player div end ------->
|
||||
<img id='aviary_img' src='' class="hide"/>
|
||||
</body>
|
||||
</html>
|
||||
<?php } ?>
|
205
adm/filemanager/execute.php
Executable file
@ -0,0 +1,205 @@
|
||||
<?php
|
||||
include('config/config.php');
|
||||
if ($_SESSION['verify'] != 'RESPONSIVEfilemanager') die('forbiden');
|
||||
include('include/utils.php');
|
||||
|
||||
$_POST['path_thumb'] = $thumbs_base_path.$_POST['path_thumb'];
|
||||
if (!isset($_POST['path_thumb']) && trim($_POST['path_thumb']) == '')
|
||||
die('wrong path');
|
||||
|
||||
$thumb_pos = strpos($_POST['path_thumb'], $thumbs_base_path);
|
||||
if ($thumb_pos === false
|
||||
|| preg_match('/\.{1,2}[\/|\\\]/', $_POST['path_thumb']) !== 0
|
||||
|| preg_match('/\.{1,2}[\/|\\\]/', $_POST['path']) !== 0
|
||||
)
|
||||
die('wrong path');
|
||||
|
||||
$language_file = 'lang/en.php';
|
||||
if (isset($_GET['lang']) && $_GET['lang'] != 'undefined' && $_GET['lang'] != '')
|
||||
{
|
||||
$path_parts = pathinfo($_GET['lang']);
|
||||
if (is_readable('lang/'.$path_parts['basename'].'.php'))
|
||||
$language_file = 'lang/'.$path_parts['basename'].'.php';
|
||||
}
|
||||
require_once $language_file;
|
||||
|
||||
$base = $current_path;
|
||||
|
||||
if (isset($_POST['path']))
|
||||
$path = $current_path.str_replace("\0", "", $_POST['path']);
|
||||
else
|
||||
$path = $current_path;
|
||||
|
||||
$cycle = true;
|
||||
$max_cycles = 50;
|
||||
$i = 0;
|
||||
while ($cycle && $i < $max_cycles)
|
||||
{
|
||||
$i++;
|
||||
if ($path == $base) $cycle = false;
|
||||
|
||||
if (file_exists($path.'config.php'))
|
||||
{
|
||||
require_once($path.'config.php');
|
||||
$cycle = false;
|
||||
}
|
||||
$path = fix_dirname($path).'/';
|
||||
$cycle = false;
|
||||
}
|
||||
|
||||
$path = $current_path.str_replace("\0", "", $_POST['path']);
|
||||
$path_thumb = $_POST['path_thumb'];
|
||||
if (isset($_POST['name']))
|
||||
{
|
||||
$name = $_POST['name'];
|
||||
if (preg_match('/\.{1,2}[\/|\\\]/', $name) !== 0) die('wrong name');
|
||||
}
|
||||
|
||||
$info = pathinfo($path);
|
||||
if (isset($info['extension']) && !(isset($_GET['action']) && $_GET['action'] == 'delete_folder') && !in_array(strtolower($info['extension']), $ext))
|
||||
die('wrong extension');
|
||||
|
||||
if (isset($_GET['action']))
|
||||
{
|
||||
|
||||
switch ($_GET['action'])
|
||||
{
|
||||
case 'delete_file':
|
||||
if ($delete_files)
|
||||
{
|
||||
unlink($path);
|
||||
if (file_exists($path_thumb))
|
||||
unlink($path_thumb);
|
||||
|
||||
$info = pathinfo($path);
|
||||
if ($relative_image_creation)
|
||||
{
|
||||
foreach ($relative_path_from_current_pos as $k => $path)
|
||||
{
|
||||
if ($path != '' && $path[strlen($path) - 1] != '/')
|
||||
$path .= '/';
|
||||
if (file_exists($info['dirname'].'/'.$path.$relative_image_creation_name_to_prepend[$k].$info['filename'].$relative_image_creation_name_to_append[$k].'.'.$info['extension']))
|
||||
unlink($info['dirname'].'/'.$path.$relative_image_creation_name_to_prepend[$k].$info['filename'].$relative_image_creation_name_to_append[$k].'.'.$info['extension']);
|
||||
}
|
||||
}
|
||||
|
||||
if ($fixed_image_creation)
|
||||
{
|
||||
foreach ($fixed_path_from_filemanager as $k => $path)
|
||||
{
|
||||
if ($path != '' && $path[strlen($path) - 1] != '/')
|
||||
$path .= '/';
|
||||
$base_dir = $path.substr_replace($info['dirname'].'/', '', 0, strlen($current_path));
|
||||
if (file_exists($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension']))
|
||||
unlink($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension']);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'delete_folder':
|
||||
if ($delete_folders)
|
||||
{
|
||||
if (is_dir($path_thumb))
|
||||
deleteDir($path_thumb);
|
||||
if (is_dir($path))
|
||||
{
|
||||
deleteDir($path);
|
||||
if ($fixed_image_creation)
|
||||
{
|
||||
foreach ($fixed_path_from_filemanager as $k => $paths)
|
||||
{
|
||||
if ($paths != '' && $paths[strlen($paths) - 1] != '/') $paths .= '/';
|
||||
$base_dir = $paths.substr_replace($path, '', 0, strlen($current_path));
|
||||
if (is_dir($base_dir))
|
||||
deleteDir($base_dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'create_folder':
|
||||
if ($create_folders)
|
||||
create_folder(fix_path($path, $transliteration), fix_path($path_thumb, $transliteration));
|
||||
break;
|
||||
case 'rename_folder':
|
||||
if ($rename_folders)
|
||||
{
|
||||
$name = fix_filename($name, $transliteration);
|
||||
$name = str_replace('.', '', $name);
|
||||
|
||||
if (!empty($name))
|
||||
{
|
||||
if (!rename_folder($path, $name, $transliteration))
|
||||
die(lang_Rename_existing_folder);
|
||||
rename_folder($path_thumb, $name, $transliteration);
|
||||
if ($fixed_image_creation)
|
||||
{
|
||||
foreach ($fixed_path_from_filemanager as $k => $paths)
|
||||
{
|
||||
if ($paths != '' && $paths[strlen($paths) - 1] != '/') $paths .= '/';
|
||||
$base_dir = $paths.substr_replace($path, '', 0, strlen($current_path));
|
||||
rename_folder($base_dir, $name, $transliteration);
|
||||
}
|
||||
}
|
||||
} else
|
||||
die(lang_Empty_name);
|
||||
}
|
||||
break;
|
||||
case 'rename_file':
|
||||
if ($rename_files)
|
||||
{
|
||||
$name = fix_filename($name, $transliteration);
|
||||
if (!empty($name))
|
||||
{
|
||||
if (!rename_file($path, $name, $transliteration))
|
||||
die(lang_Rename_existing_file);
|
||||
rename_file($path_thumb, $name, $transliteration);
|
||||
if ($fixed_image_creation)
|
||||
{
|
||||
$info = pathinfo($path);
|
||||
foreach ($fixed_path_from_filemanager as $k => $paths)
|
||||
{
|
||||
if ($paths != '' && $paths[strlen($paths) - 1] != '/') $paths .= '/';
|
||||
$base_dir = $paths.substr_replace($info['dirname'].'/', '', 0, strlen($current_path));
|
||||
if (file_exists($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension']))
|
||||
rename_file($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension'], $fixed_image_creation_name_to_prepend[$k].$name.$fixed_image_creation_to_append[$k], $transliteration);
|
||||
}
|
||||
}
|
||||
} else
|
||||
die(lang_Empty_name);
|
||||
}
|
||||
break;
|
||||
case 'duplicate_file':
|
||||
if ($duplicate_files)
|
||||
{
|
||||
$name = fix_filename($name, $transliteration);
|
||||
if (!empty($name))
|
||||
{
|
||||
if (!duplicate_file($path, $name))
|
||||
die(lang_Rename_existing_file);
|
||||
duplicate_file($path_thumb, $name);
|
||||
if ($fixed_image_creation)
|
||||
{
|
||||
$info = pathinfo($path);
|
||||
foreach ($fixed_path_from_filemanager as $k => $paths)
|
||||
{
|
||||
if ($paths != '' && $paths[strlen($paths) - 1] != '/') $paths .= '/';
|
||||
$base_dir = $paths.substr_replace($info['dirname'].'/', '', 0, strlen($current_path));
|
||||
if (file_exists($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension']))
|
||||
duplicate_file($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension'], $fixed_image_creation_name_to_prepend[$k].$name.$fixed_image_creation_to_append[$k]);
|
||||
}
|
||||
}
|
||||
} else
|
||||
die(lang_Empty_name);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
die('wrong action');
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
27
adm/filemanager/force_download.php
Executable file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
include('config/config.php');
|
||||
if ($_SESSION['verify'] != 'RESPONSIVEfilemanager') die('forbiden');
|
||||
include('include/utils.php');
|
||||
|
||||
if (preg_match('/\.{1,2}[\/|\\\]/', $_POST['path']) !== 0)
|
||||
die('wrong path');
|
||||
|
||||
if (strpos($_POST['name'], '/') !== false || strpos($_POST['name'], '\\') !== false)
|
||||
die('wrong path');
|
||||
|
||||
$path = $current_path.$_POST['path'];
|
||||
$name = $_POST['name'];
|
||||
|
||||
$info = pathinfo($name);
|
||||
if (!in_array(fix_strtolower($info['extension']), $ext))
|
||||
die('wrong extension');
|
||||
|
||||
header('Pragma: private');
|
||||
header('Cache-control: private, must-revalidate');
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-Length: '.(string)filesize($path.$name));
|
||||
header('Content-Disposition: attachment; filename="'.($name).'"');
|
||||
readfile($path.$name);
|
||||
|
||||
exit;
|
||||
?>
|
BIN
adm/filemanager/img/cut.png
Executable file
After Width: | Height: | Size: 587 B |
BIN
adm/filemanager/img/date.png
Executable file
After Width: | Height: | Size: 471 B |
BIN
adm/filemanager/img/dimension.png
Executable file
After Width: | Height: | Size: 288 B |
BIN
adm/filemanager/img/door.png
Executable file
After Width: | Height: | Size: 343 B |
BIN
adm/filemanager/img/down.png
Executable file
After Width: | Height: | Size: 112 B |
BIN
adm/filemanager/img/download.png
Executable file
After Width: | Height: | Size: 431 B |
BIN
adm/filemanager/img/duplicate.png
Executable file
After Width: | Height: | Size: 524 B |
BIN
adm/filemanager/img/edit_img.png
Executable file
After Width: | Height: | Size: 316 B |
BIN
adm/filemanager/img/glyphicons-halflings-white.png
Executable file
After Width: | Height: | Size: 8.4 KiB |
BIN
adm/filemanager/img/glyphicons-halflings.png
Executable file
After Width: | Height: | Size: 15 KiB |
BIN
adm/filemanager/img/ico/ac3.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/accdb.jpg
Executable file
After Width: | Height: | Size: 2.3 KiB |
BIN
adm/filemanager/img/ico/ade.jpg
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
adm/filemanager/img/ico/adp.jpg
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
adm/filemanager/img/ico/ai.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/aiff.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/avi.jpg
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
adm/filemanager/img/ico/bmp.jpg
Executable file
After Width: | Height: | Size: 1.6 KiB |
BIN
adm/filemanager/img/ico/css.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/csv.jpg
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
adm/filemanager/img/ico/default.jpg
Executable file
After Width: | Height: | Size: 1.3 KiB |
BIN
adm/filemanager/img/ico/dmg.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/doc.jpg
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
adm/filemanager/img/ico/docx.jpg
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
adm/filemanager/img/ico/favicon.ico
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
adm/filemanager/img/ico/fla.jpg
Executable file
After Width: | Height: | Size: 1.5 KiB |
BIN
adm/filemanager/img/ico/flv.jpg
Executable file
After Width: | Height: | Size: 1.5 KiB |
BIN
adm/filemanager/img/ico/folder.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/folder.png
Executable file
After Width: | Height: | Size: 565 B |
BIN
adm/filemanager/img/ico/folder_back.jpg
Executable file
After Width: | Height: | Size: 979 B |
BIN
adm/filemanager/img/ico/folder_back.png
Executable file
After Width: | Height: | Size: 795 B |
BIN
adm/filemanager/img/ico/gif.jpg
Executable file
After Width: | Height: | Size: 1.6 KiB |
BIN
adm/filemanager/img/ico/gz.jpg
Executable file
After Width: | Height: | Size: 1.3 KiB |
BIN
adm/filemanager/img/ico/html.jpg
Executable file
After Width: | Height: | Size: 1.5 KiB |
BIN
adm/filemanager/img/ico/iso.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/jpeg.jpg
Executable file
After Width: | Height: | Size: 1.6 KiB |
BIN
adm/filemanager/img/ico/jpg.jpg
Executable file
After Width: | Height: | Size: 1.6 KiB |
BIN
adm/filemanager/img/ico/log.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/m4a.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/mdb.jpg
Executable file
After Width: | Height: | Size: 2.3 KiB |
BIN
adm/filemanager/img/ico/mid.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/mov.jpg
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
adm/filemanager/img/ico/mp3.jpg
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
adm/filemanager/img/ico/mp4.jpg
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
adm/filemanager/img/ico/mpeg.jpg
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
adm/filemanager/img/ico/mpg.jpg
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
adm/filemanager/img/ico/odb.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/odf.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/odg.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/odp.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/ods.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/odt.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/ogg.jpg
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
adm/filemanager/img/ico/otg.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/otp.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/ots.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/ott.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/pdf.jpg
Executable file
After Width: | Height: | Size: 1.5 KiB |
BIN
adm/filemanager/img/ico/png.jpg
Executable file
After Width: | Height: | Size: 1.6 KiB |
BIN
adm/filemanager/img/ico/ppt.jpg
Executable file
After Width: | Height: | Size: 2.0 KiB |
BIN
adm/filemanager/img/ico/pptx.jpg
Executable file
After Width: | Height: | Size: 2.1 KiB |
BIN
adm/filemanager/img/ico/psd.jpg
Executable file
After Width: | Height: | Size: 1.7 KiB |
BIN
adm/filemanager/img/ico/rar.jpg
Executable file
After Width: | Height: | Size: 1.3 KiB |
BIN
adm/filemanager/img/ico/rtf.jpg
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
adm/filemanager/img/ico/sql.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/svg.jpg
Executable file
After Width: | Height: | Size: 1.6 KiB |
BIN
adm/filemanager/img/ico/tar.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |
BIN
adm/filemanager/img/ico/tiff.jpg
Executable file
After Width: | Height: | Size: 1.6 KiB |
BIN
adm/filemanager/img/ico/txt.jpg
Executable file
After Width: | Height: | Size: 1.4 KiB |