add movielib
5
movielib/.gitattributes
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
* text eol=lf
|
||||||
|
*.ttf binary
|
||||||
|
*.png binary
|
||||||
|
*.jpg binary
|
||||||
|
*.ico binary
|
2
movielib/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
hash.py
|
||||||
|
/nbproject
|
16
movielib/.htaccess
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
|
||||||
|
# Tell PHP that the mod_rewrite module is ENABLED.
|
||||||
|
SetEnv HTTP_MOD_REWRITE On
|
||||||
|
|
||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
RewriteRule ^index.html$ index.php
|
||||||
|
|
||||||
|
RewriteRule ^(index,[^/]+)-([^/]+)$ $1=$2 [N]
|
||||||
|
RewriteRule ^(index,[^/]+),([^/]+)$ $1&$2 [N]
|
||||||
|
|
||||||
|
RewriteRule ^index,([^/]+).html$ index.php?$1
|
||||||
|
RewriteRule ^index,(.*)/([^/]+).html$ $1/index.php?$2
|
||||||
|
|
||||||
|
</IfModule>
|
111
movielib/CHANGELOG.txt
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
v. 2.8.1
|
||||||
|
- fixed creating database indexes
|
||||||
|
|
||||||
|
v. 2.8.0
|
||||||
|
- fixed filter delete button
|
||||||
|
- fixed database tables
|
||||||
|
- added indexes to database
|
||||||
|
- added cleaning function
|
||||||
|
- separate image sync
|
||||||
|
- fixed filter links
|
||||||
|
- added delete button for each image in admin panel
|
||||||
|
- added playcount digit in default view
|
||||||
|
- added function to autosync webserver settings for control remote
|
||||||
|
|
||||||
|
v. 2.7.3
|
||||||
|
- add uhd flag
|
||||||
|
- add htaccess and mod rewrite
|
||||||
|
- option to set default sorting
|
||||||
|
- optin to set default watched status
|
||||||
|
- option to set hidden the select media header bar
|
||||||
|
- add imdb link
|
||||||
|
|
||||||
|
v. 2.7.2
|
||||||
|
- added sync episode thumbnail
|
||||||
|
- added new episodes view
|
||||||
|
|
||||||
|
v. 2.7.1
|
||||||
|
- added navigate buttons to remote
|
||||||
|
- added star rating
|
||||||
|
- added video new flag
|
||||||
|
- fixed audio and subs flag
|
||||||
|
- fixed deleting episodes when delete tvshow
|
||||||
|
- fixed banner
|
||||||
|
- fixed sync episodes
|
||||||
|
- added next, prev buttons for extrathumb view
|
||||||
|
- added cached actors in admin panel
|
||||||
|
- fixed facebook tags
|
||||||
|
- added facebook buttons
|
||||||
|
|
||||||
|
v. 2.7.0
|
||||||
|
- added extra thumbs
|
||||||
|
- added multi audio track
|
||||||
|
- added audio and subtitles language
|
||||||
|
- now movies info update when XBMC do some changes
|
||||||
|
- added actors to live search
|
||||||
|
- rewrite sync functions
|
||||||
|
|
||||||
|
v. 2.6.1
|
||||||
|
- added studio panel
|
||||||
|
- added studio flags
|
||||||
|
- added language: Spanish, Italian
|
||||||
|
|
||||||
|
v. 2.6.0
|
||||||
|
- added remote control XBMC
|
||||||
|
- added support for download video file
|
||||||
|
- added support for playing video directly
|
||||||
|
- added filter watched/unwatched
|
||||||
|
|
||||||
|
v. 2.5.4
|
||||||
|
- fixed install process
|
||||||
|
- added Danish language
|
||||||
|
|
||||||
|
v. 2.5.3
|
||||||
|
- added banner with last played movie or tvshow
|
||||||
|
|
||||||
|
v. 2.5.2
|
||||||
|
- added ability to hide movie or tvshow
|
||||||
|
|
||||||
|
v. 2.5.1
|
||||||
|
- fixed switching between views
|
||||||
|
- added banner support
|
||||||
|
|
||||||
|
v. 2.5.0
|
||||||
|
- added views
|
||||||
|
|
||||||
|
v. 2.4.0
|
||||||
|
- fixed sync images
|
||||||
|
- added TVshows
|
||||||
|
- added filter info
|
||||||
|
|
||||||
|
v. 2.3.3
|
||||||
|
- fixed default poster image in live search
|
||||||
|
- added checking files integrity
|
||||||
|
- added checking tables integrity (auto update to new versions)
|
||||||
|
- added checking if allow_url_fopen is enabled
|
||||||
|
- added support for movies set
|
||||||
|
|
||||||
|
v. 2.3.2
|
||||||
|
- fixed graphics for HD movies
|
||||||
|
- fixed create tables in install process
|
||||||
|
|
||||||
|
v. 2.3.1
|
||||||
|
- fixed sorting
|
||||||
|
|
||||||
|
v. 2.3.0
|
||||||
|
- added cast field
|
||||||
|
- added actors thumbnail
|
||||||
|
- added live search
|
||||||
|
|
||||||
|
v. 2.2.0
|
||||||
|
- language translation by Transifex
|
||||||
|
- rewrite creating cache function
|
||||||
|
- added trailer support
|
||||||
|
- added support for sync poster and fanart stored localy
|
||||||
|
|
||||||
|
v. 2.1.0
|
||||||
|
- added more filter options
|
||||||
|
- PA: possibility to manualy delete movie option
|
||||||
|
|
||||||
|
v. 2.0.0
|
||||||
|
- init new version
|
674
movielib/LICENSE.txt
Normal file
@ -0,0 +1,674 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The GNU General Public License is a free, copyleft license for
|
||||||
|
software and other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed
|
||||||
|
to take away your freedom to share and change the works. By contrast,
|
||||||
|
the GNU General Public License is intended to guarantee your freedom to
|
||||||
|
share and change all versions of a program--to make sure it remains free
|
||||||
|
software for all its users. We, the Free Software Foundation, use the
|
||||||
|
GNU General Public License for most of our software; it applies also to
|
||||||
|
any other work released this way by its authors. You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
them if you wish), that you receive source code or can get it if you
|
||||||
|
want it, that you can change the software or use pieces of it in new
|
||||||
|
free programs, and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you
|
||||||
|
these rights or asking you to surrender the rights. Therefore, you have
|
||||||
|
certain responsibilities if you distribute copies of the software, or if
|
||||||
|
you modify it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must pass on to the recipients the same
|
||||||
|
freedoms that you received. You must make sure that they, too, receive
|
||||||
|
or can get the source code. And you must show them these terms so they
|
||||||
|
know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps:
|
||||||
|
(1) assert copyright on the software, and (2) offer you this License
|
||||||
|
giving you legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains
|
||||||
|
that there is no warranty for this free software. For both users' and
|
||||||
|
authors' sake, the GPL requires that modified versions be marked as
|
||||||
|
changed, so that their problems will not be attributed erroneously to
|
||||||
|
authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run
|
||||||
|
modified versions of the software inside them, although the manufacturer
|
||||||
|
can do so. This is fundamentally incompatible with the aim of
|
||||||
|
protecting users' freedom to change the software. The systematic
|
||||||
|
pattern of such abuse occurs in the area of products for individuals to
|
||||||
|
use, which is precisely where it is most unacceptable. Therefore, we
|
||||||
|
have designed this version of the GPL to prohibit the practice for those
|
||||||
|
products. If such problems arise substantially in other domains, we
|
||||||
|
stand ready to extend this provision to those domains in future versions
|
||||||
|
of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents.
|
||||||
|
States should not allow patents to restrict development and use of
|
||||||
|
software on general-purpose computers, but in those that do, we wish to
|
||||||
|
avoid the special danger that patents applied to a free program could
|
||||||
|
make it effectively proprietary. To prevent this, the GPL assures that
|
||||||
|
patents cannot be used to render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this
|
||||||
|
License. Each licensee is addressed as "you". "Licensees" and
|
||||||
|
"recipients" may be individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work
|
||||||
|
in a fashion requiring copyright permission, other than the making of an
|
||||||
|
exact copy. The resulting work is called a "modified version" of the
|
||||||
|
earlier work or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without
|
||||||
|
permission, would make you directly or secondarily liable for
|
||||||
|
infringement under applicable copyright law, except executing it on a
|
||||||
|
computer or modifying a private copy. Propagation includes copying,
|
||||||
|
distribution (with or without modification), making available to the
|
||||||
|
public, and in some countries other activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other
|
||||||
|
parties to make or receive copies. Mere interaction with a user through
|
||||||
|
a computer network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices"
|
||||||
|
to the extent that it includes a convenient and prominently visible
|
||||||
|
feature that (1) displays an appropriate copyright notice, and (2)
|
||||||
|
tells the user that there is no warranty for the work (except to the
|
||||||
|
extent that warranties are provided), that licensees may convey the
|
||||||
|
work under this License, and how to view a copy of this License. If
|
||||||
|
the interface presents a list of user commands or options, such as a
|
||||||
|
menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work
|
||||||
|
for making modifications to it. "Object code" means any non-source
|
||||||
|
form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official
|
||||||
|
standard defined by a recognized standards body, or, in the case of
|
||||||
|
interfaces specified for a particular programming language, one that
|
||||||
|
is widely used among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other
|
||||||
|
than the work as a whole, that (a) is included in the normal form of
|
||||||
|
packaging a Major Component, but which is not part of that Major
|
||||||
|
Component, and (b) serves only to enable use of the work with that
|
||||||
|
Major Component, or to implement a Standard Interface for which an
|
||||||
|
implementation is available to the public in source code form. A
|
||||||
|
"Major Component", in this context, means a major essential component
|
||||||
|
(kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to
|
||||||
|
produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all
|
||||||
|
the source code needed to generate, install, and (for an executable
|
||||||
|
work) run the object code and to modify the work, including scripts to
|
||||||
|
control those activities. However, it does not include the work's
|
||||||
|
System Libraries, or general-purpose tools or generally available free
|
||||||
|
programs which are used unmodified in performing those activities but
|
||||||
|
which are not part of the work. For example, Corresponding Source
|
||||||
|
includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically
|
||||||
|
linked subprograms that the work is specifically designed to require,
|
||||||
|
such as by intimate data communication or control flow between those
|
||||||
|
subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users
|
||||||
|
can regenerate automatically from other parts of the Corresponding
|
||||||
|
Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that
|
||||||
|
same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of
|
||||||
|
copyright on the Program, and are irrevocable provided the stated
|
||||||
|
conditions are met. This License explicitly affirms your unlimited
|
||||||
|
permission to run the unmodified Program. The output from running a
|
||||||
|
covered work is covered by this License only if the output, given its
|
||||||
|
content, constitutes a covered work. This License acknowledges your
|
||||||
|
rights of fair use or other equivalent, as provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not
|
||||||
|
convey, without conditions so long as your license otherwise remains
|
||||||
|
in force. You may convey covered works to others for the sole purpose
|
||||||
|
of having them make modifications exclusively for you, or provide you
|
||||||
|
with facilities for running those works, provided that you comply with
|
||||||
|
the terms of this License in conveying all material for which you do
|
||||||
|
not control copyright. Those thus making or running the covered works
|
||||||
|
for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of
|
||||||
|
your copyrighted material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under
|
||||||
|
the conditions stated below. Sublicensing is not allowed; section 10
|
||||||
|
makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological
|
||||||
|
measure under any applicable law fulfilling obligations under article
|
||||||
|
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||||
|
similar laws prohibiting or restricting circumvention of such
|
||||||
|
measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention
|
||||||
|
is effected by exercising rights under this License with respect to
|
||||||
|
the covered work, and you disclaim any intention to limit operation or
|
||||||
|
modification of the work as a means of enforcing, against the work's
|
||||||
|
users, your or third parties' legal rights to forbid circumvention of
|
||||||
|
technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you
|
||||||
|
receive it, in any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright notice;
|
||||||
|
keep intact all notices stating that this License and any
|
||||||
|
non-permissive terms added in accord with section 7 apply to the code;
|
||||||
|
keep intact all notices of the absence of any warranty; and give all
|
||||||
|
recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey,
|
||||||
|
and you may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to
|
||||||
|
produce it from the Program, in the form of source code under the
|
||||||
|
terms of section 4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified
|
||||||
|
it, and giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is
|
||||||
|
released under this License and any conditions added under section
|
||||||
|
7. This requirement modifies the requirement in section 4 to
|
||||||
|
"keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this
|
||||||
|
License to anyone who comes into possession of a copy. This
|
||||||
|
License will therefore apply, along with any applicable section 7
|
||||||
|
additional terms, to the whole of the work, and all its parts,
|
||||||
|
regardless of how they are packaged. This License gives no
|
||||||
|
permission to license the work in any other way, but it does not
|
||||||
|
invalidate such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive
|
||||||
|
interfaces that do not display Appropriate Legal Notices, your
|
||||||
|
work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent
|
||||||
|
works, which are not by their nature extensions of the covered work,
|
||||||
|
and which are not combined with it such as to form a larger program,
|
||||||
|
in or on a volume of a storage or distribution medium, is called an
|
||||||
|
"aggregate" if the compilation and its resulting copyright are not
|
||||||
|
used to limit the access or legal rights of the compilation's users
|
||||||
|
beyond what the individual works permit. Inclusion of a covered work
|
||||||
|
in an aggregate does not cause this License to apply to the other
|
||||||
|
parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms
|
||||||
|
of sections 4 and 5, provided that you also convey the
|
||||||
|
machine-readable Corresponding Source under the terms of this License,
|
||||||
|
in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the
|
||||||
|
Corresponding Source fixed on a durable physical medium
|
||||||
|
customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a
|
||||||
|
written offer, valid for at least three years and valid for as
|
||||||
|
long as you offer spare parts or customer support for that product
|
||||||
|
model, to give anyone who possesses the object code either (1) a
|
||||||
|
copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical
|
||||||
|
medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this
|
||||||
|
conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the
|
||||||
|
written offer to provide the Corresponding Source. This
|
||||||
|
alternative is allowed only occasionally and noncommercially, and
|
||||||
|
only if you received the object code with such an offer, in accord
|
||||||
|
with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated
|
||||||
|
place (gratis or for a charge), and offer equivalent access to the
|
||||||
|
Corresponding Source in the same way through the same place at no
|
||||||
|
further charge. You need not require recipients to copy the
|
||||||
|
Corresponding Source along with the object code. If the place to
|
||||||
|
copy the object code is a network server, the Corresponding Source
|
||||||
|
may be on a different server (operated by you or a third party)
|
||||||
|
that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the
|
||||||
|
Corresponding Source, you remain obligated to ensure that it is
|
||||||
|
available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided
|
||||||
|
you inform other peers where the object code and Corresponding
|
||||||
|
Source of the work are being offered to the general public at no
|
||||||
|
charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded
|
||||||
|
from the Corresponding Source as a System Library, need not be
|
||||||
|
included in conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any
|
||||||
|
tangible personal property which is normally used for personal, family,
|
||||||
|
or household purposes, or (2) anything designed or sold for incorporation
|
||||||
|
into a dwelling. In determining whether a product is a consumer product,
|
||||||
|
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||||
|
product received by a particular user, "normally used" refers to a
|
||||||
|
typical or common use of that class of product, regardless of the status
|
||||||
|
of the particular user or of the way in which the particular user
|
||||||
|
actually uses, or expects or is expected to use, the product. A product
|
||||||
|
is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent
|
||||||
|
the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods,
|
||||||
|
procedures, authorization keys, or other information required to install
|
||||||
|
and execute modified versions of a covered work in that User Product from
|
||||||
|
a modified version of its Corresponding Source. The information must
|
||||||
|
suffice to ensure that the continued functioning of the modified object
|
||||||
|
code is in no case prevented or interfered with solely because
|
||||||
|
modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as
|
||||||
|
part of a transaction in which the right of possession and use of the
|
||||||
|
User Product is transferred to the recipient in perpetuity or for a
|
||||||
|
fixed term (regardless of how the transaction is characterized), the
|
||||||
|
Corresponding Source conveyed under this section must be accompanied
|
||||||
|
by the Installation Information. But this requirement does not apply
|
||||||
|
if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has
|
||||||
|
been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates
|
||||||
|
for a work that has been modified or installed by the recipient, or for
|
||||||
|
the User Product in which it has been modified or installed. Access to a
|
||||||
|
network may be denied when the modification itself materially and
|
||||||
|
adversely affects the operation of the network or violates the rules and
|
||||||
|
protocols for communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided,
|
||||||
|
in accord with this section must be in a format that is publicly
|
||||||
|
documented (and with an implementation available to the public in
|
||||||
|
source code form), and must require no special password or key for
|
||||||
|
unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this
|
||||||
|
License by making exceptions from one or more of its conditions.
|
||||||
|
Additional permissions that are applicable to the entire Program shall
|
||||||
|
be treated as though they were included in this License, to the extent
|
||||||
|
that they are valid under applicable law. If additional permissions
|
||||||
|
apply only to part of the Program, that part may be used separately
|
||||||
|
under those permissions, but the entire Program remains governed by
|
||||||
|
this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option
|
||||||
|
remove any additional permissions from that copy, or from any part of
|
||||||
|
it. (Additional permissions may be written to require their own
|
||||||
|
removal in certain cases when you modify the work.) You may place
|
||||||
|
additional permissions on material, added by you to a covered work,
|
||||||
|
for which you have or can give appropriate copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you
|
||||||
|
add to a covered work, you may (if authorized by the copyright holders of
|
||||||
|
that material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the
|
||||||
|
terms of sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or
|
||||||
|
author attributions in that material or in the Appropriate Legal
|
||||||
|
Notices displayed by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in
|
||||||
|
reasonable ways as different from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some
|
||||||
|
trade names, trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that
|
||||||
|
material by anyone who conveys the material (or modified versions of
|
||||||
|
it) with contractual assumptions of liability to the recipient, for
|
||||||
|
any liability that these contractual assumptions directly impose on
|
||||||
|
those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is
|
||||||
|
governed by this License along with a term that is a further
|
||||||
|
restriction, you may remove that term. If a license document contains
|
||||||
|
a further restriction but permits relicensing or conveying under this
|
||||||
|
License, you may add to a covered work material governed by the terms
|
||||||
|
of that license document, provided that the further restriction does
|
||||||
|
not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you
|
||||||
|
must place, in the relevant source files, a statement of the
|
||||||
|
additional terms that apply to those files, or a notice indicating
|
||||||
|
where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the
|
||||||
|
form of a separately written license, or stated as exceptions;
|
||||||
|
the above requirements apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly
|
||||||
|
provided under this License. Any attempt otherwise to propagate or
|
||||||
|
modify it is void, and will automatically terminate your rights under
|
||||||
|
this License (including any patent licenses granted under the third
|
||||||
|
paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your
|
||||||
|
license from a particular copyright holder is reinstated (a)
|
||||||
|
provisionally, unless and until the copyright holder explicitly and
|
||||||
|
finally terminates your license, and (b) permanently, if the copyright
|
||||||
|
holder fails to notify you of the violation by some reasonable means
|
||||||
|
prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, you do not qualify to receive new licenses for the same
|
||||||
|
material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or
|
||||||
|
run a copy of the Program. Ancillary propagation of a covered work
|
||||||
|
occurring solely as a consequence of using peer-to-peer transmission
|
||||||
|
to receive a copy likewise does not require acceptance. However,
|
||||||
|
nothing other than this License grants you permission to propagate or
|
||||||
|
modify any covered work. These actions infringe copyright if you do
|
||||||
|
not accept this License. Therefore, by modifying or propagating a
|
||||||
|
covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically
|
||||||
|
receives a license from the original licensors, to run, modify and
|
||||||
|
propagate that work, subject to this License. You are not responsible
|
||||||
|
for enforcing compliance by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered
|
||||||
|
work results from an entity transaction, each party to that
|
||||||
|
transaction who receives a copy of the work also receives whatever
|
||||||
|
licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the
|
||||||
|
Corresponding Source of the work from the predecessor in interest, if
|
||||||
|
the predecessor has it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the
|
||||||
|
rights granted or affirmed under this License. For example, you may
|
||||||
|
not impose a license fee, royalty, or other charge for exercise of
|
||||||
|
rights granted under this License, and you may not initiate litigation
|
||||||
|
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||||
|
any patent claim is infringed by making, using, selling, offering for
|
||||||
|
sale, or importing the Program or any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this
|
||||||
|
License of the Program or a work on which the Program is based. The
|
||||||
|
work thus licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims
|
||||||
|
owned or controlled by the contributor, whether already acquired or
|
||||||
|
hereafter acquired, that would be infringed by some manner, permitted
|
||||||
|
by this License, of making, using, or selling its contributor version,
|
||||||
|
but do not include claims that would be infringed only as a
|
||||||
|
consequence of further modification of the contributor version. For
|
||||||
|
purposes of this definition, "control" includes the right to grant
|
||||||
|
patent sublicenses in a manner consistent with the requirements of
|
||||||
|
this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||||
|
patent license under the contributor's essential patent claims, to
|
||||||
|
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||||
|
propagate the contents of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent
|
||||||
|
(such as an express permission to practice a patent or covenant not to
|
||||||
|
sue for patent infringement). To "grant" such a patent license to a
|
||||||
|
party means to make such an agreement or commitment not to enforce a
|
||||||
|
patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license,
|
||||||
|
and the Corresponding Source of the work is not available for anyone
|
||||||
|
to copy, free of charge and under the terms of this License, through a
|
||||||
|
publicly available network server or other readily accessible means,
|
||||||
|
then you must either (1) cause the Corresponding Source to be so
|
||||||
|
available, or (2) arrange to deprive yourself of the benefit of the
|
||||||
|
patent license for this particular work, or (3) arrange, in a manner
|
||||||
|
consistent with the requirements of this License, to extend the patent
|
||||||
|
license to downstream recipients. "Knowingly relying" means you have
|
||||||
|
actual knowledge that, but for the patent license, your conveying the
|
||||||
|
covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that
|
||||||
|
country that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or
|
||||||
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||||
|
covered work, and grant a patent license to some of the parties
|
||||||
|
receiving the covered work authorizing them to use, propagate, modify
|
||||||
|
or convey a specific copy of the covered work, then the patent license
|
||||||
|
you grant is automatically extended to all recipients of the covered
|
||||||
|
work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within
|
||||||
|
the scope of its coverage, prohibits the exercise of, or is
|
||||||
|
conditioned on the non-exercise of one or more of the rights that are
|
||||||
|
specifically granted under this License. You may not convey a covered
|
||||||
|
work if you are a party to an arrangement with a third party that is
|
||||||
|
in the business of distributing software, under which you make payment
|
||||||
|
to the third party based on the extent of your activity of conveying
|
||||||
|
the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory
|
||||||
|
patent license (a) in connection with copies of the covered work
|
||||||
|
conveyed by you (or copies made from those copies), or (b) primarily
|
||||||
|
for and in connection with specific products or compilations that
|
||||||
|
contain the covered work, unless you entered into that arrangement,
|
||||||
|
or that patent license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting
|
||||||
|
any implied license or other defenses to infringement that may
|
||||||
|
otherwise be available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot convey a
|
||||||
|
covered work so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you may
|
||||||
|
not convey it at all. For example, if you agree to terms that obligate you
|
||||||
|
to collect a royalty for further conveying from those to whom you convey
|
||||||
|
the Program, the only way you could satisfy both those terms and this
|
||||||
|
License would be to refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have
|
||||||
|
permission to link or combine any covered work with a work licensed
|
||||||
|
under version 3 of the GNU Affero General Public License into a single
|
||||||
|
combined work, and to convey the resulting work. The terms of this
|
||||||
|
License will continue to apply to the part which is the covered work,
|
||||||
|
but the special requirements of the GNU Affero General Public License,
|
||||||
|
section 13, concerning interaction through a network will apply to the
|
||||||
|
combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the GNU General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Program specifies that a certain numbered version of the GNU General
|
||||||
|
Public License "or any later version" applies to it, you have the
|
||||||
|
option of following the terms and conditions either of that numbered
|
||||||
|
version or of any later version published by the Free Software
|
||||||
|
Foundation. If the Program does not specify a version number of the
|
||||||
|
GNU General Public License, you may choose any version ever published
|
||||||
|
by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future
|
||||||
|
versions of the GNU General Public License can be used, that proxy's
|
||||||
|
public statement of acceptance of a version permanently authorizes you
|
||||||
|
to choose that version for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different
|
||||||
|
permissions. However, no additional obligations are imposed on any
|
||||||
|
author or copyright holder as a result of your choosing to follow a
|
||||||
|
later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||||
|
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||||
|
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||||
|
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||||
|
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||||
|
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||||
|
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||||
|
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||||
|
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||||
|
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided
|
||||||
|
above cannot be given local legal effect according to their terms,
|
||||||
|
reviewing courts shall apply local law that most closely approximates
|
||||||
|
an absolute waiver of all civil liability in connection with the
|
||||||
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
|
copy of the Program in return for a fee.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
state the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short
|
||||||
|
notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands
|
||||||
|
might be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||||
|
For more information on this, and how to apply and follow the GNU GPL, see
|
||||||
|
<http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you
|
||||||
|
may consider it more useful to permit linking proprietary applications with
|
||||||
|
the library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License. But first, please read
|
||||||
|
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
11
movielib/README.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
The script automatically synchronizes and displays XBMC/Kodi library.
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
- Server with Apache server, PHP 5, MySql 5
|
||||||
|
- Addon "Movielib" for XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Default passwords:
|
||||||
|
Access to site: user
|
||||||
|
Access to admin panel: admin
|
||||||
|
|
||||||
|
In Panel Admin section you need to generate token and put it to addon settings with URL to script.
|
681
movielib/admin.php
Normal file
@ -0,0 +1,681 @@
|
|||||||
|
<?PHP
|
||||||
|
session_start();
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
|
||||||
|
include('config.php');
|
||||||
|
include('function.php');
|
||||||
|
|
||||||
|
if ($option == 'delete_install') {
|
||||||
|
unlink('install.php');
|
||||||
|
header('Location:admin.php');
|
||||||
|
die('Can\'t redirect to admin.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!file_exists('db.php')) {
|
||||||
|
if (file_exists('install.php')) {
|
||||||
|
header('Location:install.php');
|
||||||
|
die('Can\'t redirect to install.php');
|
||||||
|
}
|
||||||
|
die('Copy install.php file to script directory');
|
||||||
|
}
|
||||||
|
|
||||||
|
// connect to database
|
||||||
|
connect($mysql_ml);
|
||||||
|
|
||||||
|
// get settings from db
|
||||||
|
$setting = get_settings();
|
||||||
|
include('lang/' . $setting['language'] . '/lang.php');
|
||||||
|
|
||||||
|
// check install.php file exist
|
||||||
|
if (file_exists('install.php')) {
|
||||||
|
$output_panel_info.= $lang['a_install_exist'] . '<br />';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ######################
|
||||||
|
* CHECK ADMIN PASSWORD #
|
||||||
|
*/######################
|
||||||
|
if (!isset($_SESSION['logged_admin']) or $_SESSION['logged_admin'] !== true) {
|
||||||
|
header('Location:login.php?login=admin');
|
||||||
|
die('Cant\'t redirect to login.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # CHECK DIR #
|
||||||
|
*/#############
|
||||||
|
foreach ($dir_assoc as $dir) {
|
||||||
|
if (!file_exists($dir)) {
|
||||||
|
mkdir($dir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # MAIN SITE #
|
||||||
|
*/#############
|
||||||
|
$output_panel = '';
|
||||||
|
if ($option == '') {
|
||||||
|
|
||||||
|
// get version from db
|
||||||
|
$db_vers_sql = 'SELECT version FROM config';
|
||||||
|
$db_vers_result = mysql_q($db_vers_sql);
|
||||||
|
$db_version_assoc = mysql_fetch_assoc($db_vers_result);
|
||||||
|
$db_version = $db_version_assoc['version'];
|
||||||
|
|
||||||
|
// check tables if versions not match
|
||||||
|
if ($db_version !== $version or isset($_GET['tables'])) {
|
||||||
|
$output_panel_info.= create_table($mysql_tables, $mysql_indexes, $lang, $version, 0);
|
||||||
|
|
||||||
|
// delete session var
|
||||||
|
$_SESSION = array();
|
||||||
|
$_SESSION['logged_admin'] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Watched
|
||||||
|
$overall_movies_sql = 'SELECT play_count, hide FROM movies';
|
||||||
|
$overall_movies_result = mysql_q($overall_movies_sql);
|
||||||
|
$overall_movies_all = mysql_num_rows($overall_movies_result);
|
||||||
|
$overall_movies_watched = 0;
|
||||||
|
$overall_movies_hidden = 0;
|
||||||
|
while ($overall_movies = mysql_fetch_array($overall_movies_result)) {
|
||||||
|
if ($overall_movies['hide'] == 1) {
|
||||||
|
$overall_movies_hidden++;
|
||||||
|
} else {
|
||||||
|
if ($overall_movies['play_count'] > 0) {
|
||||||
|
$overall_movies_watched++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$overall_movies_unwatched = $overall_movies_all - $overall_movies_watched;
|
||||||
|
|
||||||
|
$overall_tvshows_sql = 'SELECT play_count, hide FROM tvshows';
|
||||||
|
$overall_tvshows_result = mysql_q($overall_tvshows_sql);
|
||||||
|
$overall_tvshows_all = mysql_num_rows($overall_tvshows_result);
|
||||||
|
$overall_tvshows_watched = 0;
|
||||||
|
$overall_tvshows_hidden = 0;
|
||||||
|
while ($overall_tvshows = mysql_fetch_array($overall_tvshows_result)) {
|
||||||
|
if ($overall_tvshows['hide'] == 1) {
|
||||||
|
$overall_tvshows_hidden++;
|
||||||
|
} else {
|
||||||
|
if ($overall_tvshows['play_count'] > 0) {
|
||||||
|
$overall_tvshows_watched++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$overall_tvshows_unwatched = $overall_tvshows_all - $overall_tvshows_watched;
|
||||||
|
|
||||||
|
// Cached poster and fanarts
|
||||||
|
$cached_dir = scandir('cache/');
|
||||||
|
$poster_cached = 0;
|
||||||
|
$fanart_cached = 0;
|
||||||
|
$exthumb_cached = 0;
|
||||||
|
foreach ($cached_dir as $val) {
|
||||||
|
if (preg_match_all('/_[0-9]+\.jpg/', $val, $res) == 1) {
|
||||||
|
$poster_cached++;
|
||||||
|
}
|
||||||
|
if (preg_match_all('/_[0-9]+_f\.jpg/', $val, $res) == 1) {
|
||||||
|
$fanart_cached++;
|
||||||
|
}
|
||||||
|
if (preg_match_all('/_[0-9]+_t[0-9]\.jpg/', $val, $res) == 1) {
|
||||||
|
$exthumb_cached++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cached actors
|
||||||
|
$cached_dir = scandir('cache/actors/');
|
||||||
|
$actors_cached = 0;
|
||||||
|
foreach ($cached_dir as $val) {
|
||||||
|
if (preg_match_all('/[0-9a-z]{10}\.jpg/', $val, $res) == 1) {
|
||||||
|
$actors_cached++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Directories
|
||||||
|
$output_dirs = '';
|
||||||
|
foreach ($dir_assoc as $dir) {
|
||||||
|
if (file_exists($dir)) {
|
||||||
|
$output_dirs.= '<tr><td>' . $dir . '</td><td>' . (file_exists($dir) ? '<span class="green">' . $lang['a_exists'] . '</span>' : '<span class="red">' . $lang['a_not_exists'] . '</span>') . '</td></tr>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// MD5 files
|
||||||
|
$md5_file = 'files.md5';
|
||||||
|
$output_md5 = '';
|
||||||
|
$fp = fopen($md5_file, 'r');
|
||||||
|
$data = fread($fp, filesize($md5_file));
|
||||||
|
fclose($fp);
|
||||||
|
foreach (explode(';', $data) as $f) {
|
||||||
|
$file = explode(':', $f);
|
||||||
|
$output_md5.= '<tr><td>' . $file[0] . '</td><td>' . (md5_file($file[0]) == $file[1] ? '<span class="green">' . $lang['a_match'] . '</span>' : '<span class="red">' . $lang['a_mismatch'] . '</span>') . '</td></tr>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$output_panel = '
|
||||||
|
<table class="table">
|
||||||
|
<tr><td class="bold orange">' . $lang['a_movies'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_all'] . '</td><td>' . $overall_movies_all . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_watched'] . '</td><td>' . $overall_movies_watched . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_unwatched'] . '</td><td>' . $overall_movies_unwatched . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_hidden'] . '</td><td>' . $overall_movies_hidden . '</td></tr>
|
||||||
|
<tr><td class="bold orange">' . $lang['a_tvshows'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_all'] . '</td><td>' . $overall_tvshows_all . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_watched'] . '</td><td>' . $overall_tvshows_watched . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_unwatched'] . '</td><td>' . $overall_tvshows_unwatched . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_hidden'] . '</td><td>' . $overall_tvshows_hidden . '</td></tr>
|
||||||
|
<tr><td class="bold orange">' . $lang['a_cache'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_cached_posters'] . '</td><td>' . $poster_cached . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_cached_fanarts'] . '</td><td>' . $fanart_cached . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_cached_actors'] . '</td><td>' . $actors_cached . '</td></tr>
|
||||||
|
<tr><td>' . $lang['a_cached_exthumb'] . '</td><td>' . $exthumb_cached . '</td></tr>
|
||||||
|
<tr><td class="bold orange">' . $lang['a_server_settings'] . '</td><td></td></tr>
|
||||||
|
<tr><td>GD</td><td>' . (extension_loaded('gd') && function_exists('gd_info') ? '<span class="green">' . $lang['a_setting_on'] . '</span>' : '<span class="red">' . $lang['a_setting_off'] . '</span>') . '</td></tr>
|
||||||
|
<tr><td>CURL</td><td>' . (function_exists('curl_version') ? '<span class="green">' . $lang['a_setting_on'] . '</span>' : '<span class="red">' . $lang['a_setting_off'] . '</span>') . '</td></tr>
|
||||||
|
<tr><td>MOD REWRITE</td><td>' . (array_key_exists('HTTP_MOD_REWRITE', $_SERVER) ? '<span class="green">' . $lang['a_setting_on'] . '</span>' : '<span class="red">' . $lang['a_setting_off'] . '</span>') . '</td></tr>
|
||||||
|
<tr><td>ALLOW URL FOPEN</td><td>' . (ini_get('allow_url_fopen') == 1 ? '<span class="green">' . $lang['a_setting_on'] . '</span>' : '<span class="red">' . $lang['a_setting_off'] . '</span>') . '</td></tr>
|
||||||
|
<tr><td>MAX EXECUTION TIME</td><td>' . ini_get('max_execution_time') . '</td></tr>
|
||||||
|
<tr><td>UPLOAD MAX FILESIZE</td><td>' . ini_get('upload_max_filesize') . '</td></tr>
|
||||||
|
<tr><td>POST MAX SIZE</td><td>' . ini_get('post_max_size') . '</td></tr>
|
||||||
|
<tr><td class="bold orange">' . $lang['a_server_directories'] . '</td><td></td></tr>
|
||||||
|
' . $output_dirs . '
|
||||||
|
<tr><td class="bold orange">' . $lang['a_files_md5'] . '</td><td></td></tr>
|
||||||
|
' . $output_md5 . '
|
||||||
|
</table>';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #########################
|
||||||
|
* # MOVIE AND TVSHOW LIST #
|
||||||
|
*/#########################
|
||||||
|
if ($option == 'movieslist' or $option == 'tvshowslist') {
|
||||||
|
if ($option == 'movieslist') {
|
||||||
|
$t = 'movies';
|
||||||
|
$list_sql = 'SELECT id, title, trailer, play_count, hide FROM movies ORDER BY title';
|
||||||
|
} else {
|
||||||
|
$t = 'tvshows';
|
||||||
|
$list_sql = 'SELECT id, title, play_count, hide FROM tvshows ORDER BY title';
|
||||||
|
}
|
||||||
|
|
||||||
|
$list_result = mysql_q($list_sql);
|
||||||
|
$output_panel = '
|
||||||
|
<table id="' . substr($t, 0, -1) . '" class="table">
|
||||||
|
<tr class="bold">
|
||||||
|
<td></td>
|
||||||
|
<td>ID</td>
|
||||||
|
<td>' . $lang['a_title'] . '</td>
|
||||||
|
<td><img src="admin/img/i_poster.png" title="' . $lang['a_poster'] . '" alt=""></td>
|
||||||
|
<td><img src="admin/img/i_fanart.png" title="' . $lang['a_fanart'] . '" alt=""></td>
|
||||||
|
<td><img src="admin/img/i_trailer.png" title="' . $lang['a_trailer'] . '" alt=""></td>
|
||||||
|
<td><img src="admin/img/i_hidden.png" title="' . $lang['a_visible'] . ' / ' . $lang['a_hidden'] . '" alt=""></td>
|
||||||
|
<td><img src="admin/img/i_delete.png" title="' . $lang['a_delete'] . '" alt=""></td>
|
||||||
|
</tr>';
|
||||||
|
$i = 0;
|
||||||
|
while ($list = mysql_fetch_array($list_result)) {
|
||||||
|
if (file_exists('cache/' . $t . '_' . $list['id'] . '.jpg')) {
|
||||||
|
$poster_exist = '<img class="p_exist animate" src="admin/img/exist.png" alt="" title="' . $lang['a_delete_poster'] . '">';
|
||||||
|
} else {
|
||||||
|
$poster_exist = '';
|
||||||
|
}
|
||||||
|
if (file_exists('cache/' . $t . '_' . $list['id'] . '_f.jpg')) {
|
||||||
|
$fanart_exist = '<img class="f_exist animate" src="admin/img/exist.png" alt="" title="' . $lang['a_delete_fanart'] . '">';
|
||||||
|
} else {
|
||||||
|
$fanart_exist = '';
|
||||||
|
}
|
||||||
|
if ($t == 'movies' && stristr($list['trailer'], 'http://')) {
|
||||||
|
$trailer_link = '<a href="' . $list['trailer'] . '" target="_blank"><img class="animate" src="admin/img/link.png" title="Link" alt=""></a>';
|
||||||
|
} else {
|
||||||
|
$trailer_link = '';
|
||||||
|
}
|
||||||
|
if ($list['hide'] == 1) {
|
||||||
|
$hide = '<img class="hidden animate" src="admin/img/hidden.png" title="' . $lang['a_visible'] . ' / ' . $lang['a_hidden'] . '" alt="">';
|
||||||
|
} else {
|
||||||
|
$hide = '<img class="visible animate" src="admin/img/visible.png" title="' . $lang['a_visible'] . ' / ' . $lang['a_hidden'] . '" alt="">';
|
||||||
|
}
|
||||||
|
$i++;
|
||||||
|
$output_panel.= '
|
||||||
|
<tr id="' . $list['id'] . '">
|
||||||
|
<td>' . $i . '</td><td>' . $list['id'] . '</td>
|
||||||
|
<td>' . $list['title'] . '</td>
|
||||||
|
<td class="poster">' . $poster_exist . '</td>
|
||||||
|
<td class="fanart">' . $fanart_exist . '</td>
|
||||||
|
<td>' . $trailer_link . '</td>
|
||||||
|
<td>' . $hide . '</td>
|
||||||
|
<td><img class="delete_row animate" src="admin/img/delete.png" title="' . $lang['a_delete'] . '" alt=""></td>
|
||||||
|
</tr>';
|
||||||
|
}
|
||||||
|
$output_panel.= '</table><a id="delete_all" class="box" href="admin.php?option=delete_all_' . $t . '">' . $lang['a_delete_all'] . '</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// DELETE ALL
|
||||||
|
if ($option == 'delete_all_movies' or $option == 'delete_all_tvshows') {
|
||||||
|
if ($option == 'delete_all_movies') {
|
||||||
|
$truncate = array('movies', 'movies_country', 'movies_actor', 'movies_director', 'movies_genre', 'movies_stream', 'movies_studio');
|
||||||
|
$reg_exp = '#^(movies)#';
|
||||||
|
} else {
|
||||||
|
$truncate = array('tvshows', 'tvshows_actor', 'tvshows_genre', 'episodes', 'episodes_stream');
|
||||||
|
$reg_exp = '#^(tvshows|episodes)#';
|
||||||
|
}
|
||||||
|
foreach ($truncate as $t) {
|
||||||
|
$sql = 'TRUNCATE `' . $t . '`';
|
||||||
|
mysql_q($sql);
|
||||||
|
}
|
||||||
|
$files = scandir('cache/');
|
||||||
|
$files_to_remove = array();
|
||||||
|
foreach($files as $file) {
|
||||||
|
$match = preg_match_all($reg_exp, $file);
|
||||||
|
if ($match > 0) {
|
||||||
|
$files_to_remove[] = $file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
remove_images($files_to_remove);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ############
|
||||||
|
* # SETTINGS #
|
||||||
|
*/############
|
||||||
|
if ($option == 'settings') {
|
||||||
|
|
||||||
|
$output_lang = '';
|
||||||
|
$output_theme = '';
|
||||||
|
$output_select_media_header = '';
|
||||||
|
$output_view = '';
|
||||||
|
$output_panel_top = '';
|
||||||
|
$output_panel_view = '';
|
||||||
|
$output_watched_status = '';
|
||||||
|
$output_show_playcount = '';
|
||||||
|
$output_live_search = '';
|
||||||
|
$output_live_search_max_res = '';
|
||||||
|
$output_panel_overall = '';
|
||||||
|
$output_panel_genre = '';
|
||||||
|
$output_panel_year = '';
|
||||||
|
$output_panel_country = '';
|
||||||
|
$output_panel_set = '';
|
||||||
|
$output_panel_studio = '';
|
||||||
|
$output_show_fanart = '';
|
||||||
|
$output_fadeout_fanart = '';
|
||||||
|
$output_show_trailer = '';
|
||||||
|
$output_show_facebook = '';
|
||||||
|
$output_protect_site = '';
|
||||||
|
$output_mod_rewrite = '';
|
||||||
|
$output_per_page = '';
|
||||||
|
$output_default_sort = '';
|
||||||
|
$output_default_watch = '';
|
||||||
|
$output_panel_top_limit = '';
|
||||||
|
$output_xbmc_thumbs = '';
|
||||||
|
$output_xbmc_posters = '';
|
||||||
|
$output_xbmc_fanarts = '';
|
||||||
|
$output_xbmc_exthumbs = '';
|
||||||
|
$output_xbmc_exthumbs_q = '';
|
||||||
|
$output_xbmc_auto_conf_remote = '';
|
||||||
|
$output_xbmc_master = '';
|
||||||
|
|
||||||
|
// set language input
|
||||||
|
$option_language = scandir('lang/');
|
||||||
|
foreach ($option_language as $val) {
|
||||||
|
if (file_exists('lang/' . $val . '/lang.php')) {
|
||||||
|
if (array_key_exists($val, $langs)) {
|
||||||
|
$lang_title = $langs[$val];
|
||||||
|
} else {
|
||||||
|
$lang_title = $val;
|
||||||
|
}
|
||||||
|
$output_lang.= '<option' . ($val == $setting['language'] ? ' selected="selected"' : '') . ' value="' . $val . '">' . $lang_title . '</option>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set default sort
|
||||||
|
$sort_array = array(
|
||||||
|
1 => $lang['i_title'],
|
||||||
|
4 => $lang['i_rating'],
|
||||||
|
5 => $lang['i_added'],
|
||||||
|
7 => $lang['i_last_played'],
|
||||||
|
8 => $lang['i_most_watched']
|
||||||
|
);
|
||||||
|
foreach ($sort_array as $key => $val) {
|
||||||
|
$output_default_sort.= '<option' . ($key == $setting['default_sort'] ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// set default watch
|
||||||
|
$watch_array = array(
|
||||||
|
0 => $lang['i_all'],
|
||||||
|
1 => $lang['i_watched'],
|
||||||
|
2 => $lang['i_unwatched']
|
||||||
|
);
|
||||||
|
foreach ($watch_array as $key => $val) {
|
||||||
|
$output_default_watch.= '<option' . ($key == $setting['default_watch'] ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// set theme input
|
||||||
|
$option_theme = scandir('templates/');
|
||||||
|
foreach ($option_theme as $val) {
|
||||||
|
if ($val !== '.' && $val !== '..') {
|
||||||
|
$output_theme.= '<option' . ($val == $setting['theme'] ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set view input
|
||||||
|
foreach ($views as $key => $val) {
|
||||||
|
$output_view.= '<option' . ($key == $setting['view'] ? ' selected="selected"' : '') . ' value="' . $key . '">' . $lang['a_' . $val] . '</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// extra thumbs size
|
||||||
|
$dimens = array('1920x1080', '1280x720', '853x480');
|
||||||
|
foreach ($dimens as $val) {
|
||||||
|
$output_xbmc_exthumbs_q.= '<option' . ($val == $setting['xbmc_exthumbs_q'] ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$mode = array(0, 1);
|
||||||
|
foreach ($mode as $val) {
|
||||||
|
$output_panel_top.= '<option' . ($setting['panel_top'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_select_media_header.= '<option' . ($setting['select_media_header'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_panel_view.= '<option' . ($setting['panel_view'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_watched_status.= '<option' . ($setting['watched_status'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_show_playcount.= '<option' . ($setting['show_playcount'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_live_search.= '<option' . ($setting['live_search'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_show_fanart.= '<option' . ($setting['show_fanart'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_fadeout_fanart.= '<option' . ($setting['fadeout_fanart'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_show_trailer.= '<option' . ($setting['show_trailer'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_show_facebook.= '<option' . ($setting['show_facebook'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_protect_site.= '<option' . ($setting['protect_site'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_mod_rewrite.= '<option' . ($setting['mod_rewrite'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_xbmc_thumbs.= '<option' . ($setting['xbmc_thumbs'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_xbmc_posters.= '<option' . ($setting['xbmc_posters'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_xbmc_fanarts.= '<option' . ($setting['xbmc_fanarts'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_xbmc_exthumbs.= '<option' . ($setting['xbmc_exthumbs'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_xbmc_auto_conf_remote.= '<option' . ($setting['xbmc_auto_conf_remote'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
$output_xbmc_master.= '<option' . ($setting['xbmc_master'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . ($val == 0 ? $lang['a_setting_off'] : $lang['a_setting_on']) . '</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$mode2 = array(0 => $lang['a_setting_off'], 1 => $lang['a_setting_on_expanded'], 2 => $lang['a_setting_on_collapsed']);
|
||||||
|
foreach ($mode2 as $key => $val) {
|
||||||
|
$output_panel_overall.= '<option' . ($setting['panel_overall'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
|
||||||
|
$output_panel_genre.= '<option' . ($setting['panel_genre'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
|
||||||
|
$output_panel_year.= '<option' . ($setting['panel_year'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
|
||||||
|
$output_panel_country.= '<option' . ($setting['panel_country'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
|
||||||
|
$output_panel_set.= '<option' . ($setting['panel_set'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
|
||||||
|
$output_panel_studio.= '<option' . ($setting['panel_studio'] == $key ? ' selected="selected"' : '') . ' value="' . $key . '">' . $val . '</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$quantity = array(5, 10, 20, 50, 100);
|
||||||
|
foreach ($quantity as $val) {
|
||||||
|
// set per page input
|
||||||
|
$output_per_page.= '<option' . ($setting['per_page'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
|
||||||
|
// set panel top limit
|
||||||
|
$output_panel_top_limit.= '<option' . ($setting['panel_top_limit'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
|
||||||
|
// set live search max res
|
||||||
|
$output_live_search_max_res.= '<option' . ($setting['live_search_max_res'] == $val ? ' selected="selected"' : '') . ' value="' . $val . '">' . $val . '</option>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// output form
|
||||||
|
$output_panel.= '
|
||||||
|
<form action="admin.php?option=settings_save" method="post">
|
||||||
|
<table class="table">
|
||||||
|
<tr><td class="bold orange">' . $lang['a_set_sync'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_thumbs'] . ':</td><td><select name="xbmc_thumbs">' . $output_xbmc_thumbs . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_posters'] . ':</td><td><select name="xbmc_posters">' . $output_xbmc_posters . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_fanarts'] . ':</td><td><select name="xbmc_fanarts">' . $output_xbmc_fanarts . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_exthumbs'] . ':</td><td><select name="xbmc_exthumbs">' . $output_xbmc_exthumbs . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_exthumbs_q'] . ':</td><td><select name="xbmc_exthumbs_q">' . $output_xbmc_exthumbs_q . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_auto_conf_remote'] . ':</td><td><select name="xbmc_auto_conf_remote">' . $output_xbmc_auto_conf_remote . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_master'] . ':</td><td><select name="xbmc_master">' . $output_xbmc_master . '</select></td></tr>
|
||||||
|
<tr><td class="bold orange">' . $lang['a_set_main'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_site_name'] . ':</td><td><input type="text" name="site_name" value="' . $setting['site_name'] . '" /></td></tr>
|
||||||
|
<tr><td>' . $lang['a_language'] . ':</td><td><select name="language">' . $output_lang . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_theme'] . ':</td><td><select name="theme">' . $output_theme . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_select_media_header'] . ':</td><td><select name="select_media_header">' . $output_select_media_header . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_view'] . ':</td><td><select name="view">' . $output_view . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_per_page'] . ':</td><td><select name="per_page">' . $output_per_page . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_default_sort'] . ':</td><td><select name="default_sort">' . $output_default_sort . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_default_watch'] . ':</td><td><select name="default_watch">' . $output_default_watch . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_top'] . ':</td><td><select name="panel_top">' . $output_panel_top . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_view'] . ':</td><td><select name="panel_view">' . $output_panel_view . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_watched_status'] . ':</td><td><select name="watched_status">' . $output_watched_status . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_show_playcount'] . ':</td><td><select name="show_playcount">' . $output_show_playcount . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_live_search'] . ':</td><td><select name="live_search">' . $output_live_search . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_live_search_max_res'] . ':</td><td><select name="live_search_max_res">' . $output_live_search_max_res . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_show_fanart'] . ':</td><td><select name="show_fanart">' . $output_show_fanart . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_fadeout_fanart'] . ':</td><td><select name="fadeout_fanart">' . $output_fadeout_fanart . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_show_trailer'] . ':</td><td><select name="show_trailer">' . $output_show_trailer . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_show_facebook'] . ':</td><td><select name="show_facebook">' . $output_show_facebook . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_protect_site'] . ':</td><td><select name="protect_site">' . $output_protect_site . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_mod_rewrite'] . ':</td><td><select name="mod_rewrite">' . $output_mod_rewrite . '</select></td></tr>
|
||||||
|
<tr><td class="bold orange">' . $lang['a_set_panel_left'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_overall'] . ':</td><td><select name="panel_overall">' . $output_panel_overall . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_genre'] . ':</td><td><select name="panel_genre">' . $output_panel_genre . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_year'] . ':</td><td><select name="panel_year">' . $output_panel_year . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_country'] . ':</td><td><select name="panel_country">' . $output_panel_country . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_set'] . ':</td><td><select name="panel_set">' . $output_panel_set . '</select></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_studio'] . ':</td><td><select name="panel_studio">' . $output_panel_studio . '</select></td></tr>
|
||||||
|
<tr><td class="bold orange">' . $lang['a_set_panel_top'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_top_time'] . ':</td><td><input type="text" name="panel_top_time" value="' . $setting['panel_top_time'] . '" /></td></tr>
|
||||||
|
<tr><td>' . $lang['a_panel_top_limit'] . ':</td><td><select name="panel_top_limit">' . $output_panel_top_limit . '</select></td></tr>
|
||||||
|
</table><br />
|
||||||
|
<input type="submit" value="' . $lang['a_save'] . '" />
|
||||||
|
</form>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Saving settings
|
||||||
|
if ($option == 'settings_save' && isset($_POST) && count($_POST) > 10) {
|
||||||
|
$settings_array = array();
|
||||||
|
$test = true;
|
||||||
|
foreach ($_POST as $key => $val) {
|
||||||
|
$settings_array[] = $key . ' = "' . $val . '"';
|
||||||
|
if (strlen($val) == 0) {
|
||||||
|
$test = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$settings_update_sql = 'UPDATE config SET ' . implode(', ', $settings_array);
|
||||||
|
|
||||||
|
// delete session var
|
||||||
|
$_SESSION = array();
|
||||||
|
$_SESSION['logged_admin'] = true;
|
||||||
|
if ($test) {
|
||||||
|
$settings_update_res = mysql_q($settings_update_sql);
|
||||||
|
$output_panel_info.= $lang['a_saved'] . '<br />';
|
||||||
|
} else {
|
||||||
|
$output_panel_info.= $lang['a_not_saved'] . '<br />';
|
||||||
|
}
|
||||||
|
reset_hash();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ###################
|
||||||
|
* # CHANGE PASSWORD #
|
||||||
|
*/###################
|
||||||
|
if ($option == 'password') {
|
||||||
|
$output_panel.= '
|
||||||
|
<form action="admin.php?option=password_save" method="post">
|
||||||
|
<table class="table">
|
||||||
|
<tr><td class="bold orange">' . $lang['a_user'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_new_password'] . '</td><td><input type="password" name="password" /></td></tr>
|
||||||
|
<tr><td>' . $lang['a_new_password_re'] . '</td><td><input type="password" name="password_re" /></td></tr>
|
||||||
|
<tr><td class="bold orange">' . $lang['a_admin'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_new_password'] . '</td><td><input type="password" name="password_admin" /></td></tr>
|
||||||
|
<tr><td>' . $lang['a_new_password_re'] . '</td><td><input type="password" name="password_admin_re" /></td></tr>
|
||||||
|
</table><br />
|
||||||
|
<input type="submit" value="' . $lang['a_save'] . '" />
|
||||||
|
</form>
|
||||||
|
';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save password
|
||||||
|
if ($option == 'password_save') {
|
||||||
|
if (strlen($_POST['password']) > 0) {
|
||||||
|
if ($_POST['password'] == $_POST['password_re']) {
|
||||||
|
if (strlen($_POST['password']) > 3) {
|
||||||
|
$password_update_sql = 'UPDATE users SET password = "' . md5($_POST['password']) . '" WHERE login ="user"';
|
||||||
|
mysql_q($password_update_sql);
|
||||||
|
$output_panel_info.= $lang['a_user_pass_changed'] . '<br />';
|
||||||
|
} else {
|
||||||
|
$output_panel_info.= $lang['a_user_pass_min'] . '<br />';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$output_panel_info.= $lang['a_user_pass_n_match'] . '<br />';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strlen($_POST['password_admin']) > 0) {
|
||||||
|
if ($_POST['password_admin'] == $_POST['password_admin_re']) {
|
||||||
|
if (strlen($_POST['password_admin']) > 3) {
|
||||||
|
$password_update_sql = 'UPDATE users SET password = "' . md5($_POST['password_admin']) . '" WHERE login ="admin"';
|
||||||
|
mysql_q($password_update_sql);
|
||||||
|
$output_panel_info.= $lang['a_admin_pass_changed'] . '<br />';
|
||||||
|
} else {
|
||||||
|
$output_panel_info.= $lang['a_admin_pass_min'] . '<br />';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$output_panel_info.= $lang['a_admin_pass_n_match'] . '<br />';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// check admin pass is not default
|
||||||
|
$pass_check_sql = 'SELECT * FROM users WHERE login = "admin"';
|
||||||
|
$pass_check_result = mysql_q($pass_check_sql);
|
||||||
|
$pass_check = mysql_fetch_array($pass_check_result);
|
||||||
|
if ($pass_check['password'] == '21232f297a57a5a743894a0e4a801fc3') {
|
||||||
|
$output_panel_info.= $lang['a_pass_default'] . '<br />';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #########
|
||||||
|
* # TOKEN #
|
||||||
|
*/#########
|
||||||
|
if ($option == 'token') {
|
||||||
|
if (isset($_POST['new_token'])) {
|
||||||
|
$new_token = change_token();
|
||||||
|
$output_panel_info.= $lang['a_token_changed'] . '<br />';
|
||||||
|
} else {
|
||||||
|
$new_token = $setting['token'];
|
||||||
|
}
|
||||||
|
$output_panel.= '
|
||||||
|
<table class="table">
|
||||||
|
<tr><td>Token:</td><td class="bold orange">' . $new_token . '</td></tr>
|
||||||
|
</table><br />
|
||||||
|
<form action="admin.php?option=token" method="post">
|
||||||
|
<input type="hidden" name="new_token" />
|
||||||
|
<input type="submit" value="' . $lang['a_token_change'] . '" />
|
||||||
|
</form>
|
||||||
|
';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##########
|
||||||
|
* # BANNER #
|
||||||
|
*/##########
|
||||||
|
if ($option == 'banner') {
|
||||||
|
if (isset($_POST['banner'])) {
|
||||||
|
foreach ($_POST['banner'] as $val) {
|
||||||
|
if (!is_numeric($val)) {
|
||||||
|
if (!preg_match('/^[0-9abcdefABCDEF]{6}$/', $val)) {
|
||||||
|
$false = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!isset($false)) {
|
||||||
|
$update_sql = 'UPDATE config SET `banner` = "' . banner2str($_POST['banner']) . '"';
|
||||||
|
mysql_q($update_sql);
|
||||||
|
$_SESSION['banner'] = $setting['banner'] = banner2str($_POST['banner']);
|
||||||
|
$b = create_banner($lang, 'banner.jpg', banner2str($_POST['banner']));
|
||||||
|
} else {
|
||||||
|
$output_panel_info.= $lang['a_error_form'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_POST['reset'])) {
|
||||||
|
$b = create_banner($lang, 'banner.jpg', '0');
|
||||||
|
$_SESSION['banner'] = $setting['banner'] = banner2str($b);
|
||||||
|
}
|
||||||
|
|
||||||
|
$b = create_banner($lang, 'banner_v.jpg', $setting['banner']);
|
||||||
|
|
||||||
|
$output_panel.= '<img id="banner" src="cache/banner_v.jpg">';
|
||||||
|
$output_panel.= '<form class="banner" action="admin.php?option=banner" method="post"><table id="t_banner">';
|
||||||
|
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_size'] . ':</td><td class="text_left orange">W <input id="w" class="ban" type="text" name="banner[w]" value="' . $b['w'] . '"> H <input id="h" class="ban" type="text" name="banner[h]" value="' . $b['h'] . '"></td></tr>';
|
||||||
|
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_bg'] . ':</td><td class="text_left orange"> color #<input id="bg_c" class="ban" type="text" name="banner[bg_c]" value="' . $b['bg_c'] . '"></td></tr>';
|
||||||
|
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_last_played'] . ':</td><td class="text_left orange"> color #<input id="lw_c" class="ban" type="text" name="banner[lw_c]" value="' . $b['lw_c'] . '"> size <input id="lw_s" class="ban" type="text" name="banner[lw_s]" value="' . $b['lw_s'] . '"> poz. X <input id="lw_x" class="ban" type="text" name="banner[lw_x]" value="' . $b['lw_x'] . '"> poz. Y <input id="lw_y" class="ban" type="text" name="banner[lw_y]" value="' . $b['lw_y'] . '"></td></tr>';
|
||||||
|
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_title'] . ':</td><td class="text_left orange"> color #<input id="t_c" class="ban" type="text" name="banner[t_c]" value="' . $b['t_c'] . '"> size <input id="t_s" class="ban" type="text" name="banner[t_s]" value="' . $b['t_s'] . '"> poz. X <input id="t_x" class="ban" type="text" name="banner[t_x]" value="' . $b['t_x'] . '"> poz. Y <input id="t_y" class="ban" type="text" name="banner[t_y]" value="' . $b['t_y'] . '"></td></tr>';
|
||||||
|
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_o_title'] . ':</td><td class="text_left orange"> color #<input id="o_c" class="ban" type="text" name="banner[o_c]" value="' . $b['o_c'] . '"> size <input id="o_s" class="ban" type="text" name="banner[o_s]" value="' . $b['o_s'] . '"> poz. X <input id="o_x" class="ban" type="text" name="banner[o_x]" value="' . $b['o_x'] . '"> poz. Y <input id="o_y" class="ban" type="text" name="banner[o_y]" value="' . $b['o_y'] . '"></td></tr>';
|
||||||
|
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_info'] . ':</td><td class="text_left orange"> color #<input id="i_c" class="ban" type="text" name="banner[i_c]" value="' . $b['i_c'] . '"> size <input id="i_s" class="ban" type="text" name="banner[i_s]" value="' . $b['i_s'] . '"> poz. X <input id="i_x" class="ban" type="text" name="banner[i_x]" value="' . $b['i_x'] . '"> poz. Y <input id="i_y" class="ban" type="text" name="banner[i_y]" value="' . $b['i_y'] . '"></td></tr>';
|
||||||
|
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_stroke'] . ':</td><td class="text_left orange"> color #<input id="st_c" class="ban" type="text" name="banner[st_c]" value="' . $b['st_c'] . '"></td></tr>';
|
||||||
|
$output_panel.= '<tr><td class="text_right">' . $lang['a_banner_border'] . ':</td><td class="text_left orange"> color #<input id="b_c" class="ban" type="text" name="banner[b_c]" value="' . $b['b_c'] . '"></td></tr>';
|
||||||
|
$output_panel.= '</table><input type="submit" value="' . $lang['a_save'] . '"></form>';
|
||||||
|
$output_panel.= '<p><form action="admin.php?option=banner" method="post">';
|
||||||
|
$output_panel.= '<input type="submit" name="reset" value="' . $lang['a_reset'] . '"></form></p>';
|
||||||
|
$url = 'http://' . $_SERVER['SERVER_NAME'] . implode('/', array_slice(explode('/', $_SERVER['REQUEST_URI']), 0, -1)) . '/';
|
||||||
|
$output_panel.= '<textarea readonly="readonly">' . $url . 'cache/banner.jpg</textarea>';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ########
|
||||||
|
* # XBMC #
|
||||||
|
*/########
|
||||||
|
if ($option == 'xbmc') {
|
||||||
|
$_SESSION = array();
|
||||||
|
$_SESSION['logged_admin'] = true;
|
||||||
|
if ($setting['xbmc_auto_conf_remote'] == 1) {
|
||||||
|
$output_panel.= '<p class="green">' . $lang['a_xbmc_auto_conf_enabled'] . '</p>';
|
||||||
|
$d = 'disabled';
|
||||||
|
} else {
|
||||||
|
$d = '';
|
||||||
|
}
|
||||||
|
$output_panel.= '
|
||||||
|
<form action="admin.php?option=xbmc_save" method="post">
|
||||||
|
<table class="table">
|
||||||
|
<tr><td class="bold orange">' . $lang['a_xbmc_settings'] . '</td><td></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_host'] . '</td><td><input id="xbmc_host" type="input" name="xbmc_host" value="' . $setting['xbmc_host'] . '" ' . $d . '/></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_port'] . '</td><td><input id="xbmc_port" type="input" name="xbmc_port" value="' . $setting['xbmc_port'] . '" ' . $d . '/></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_login'] . '</td><td><input id="xbmc_login" type="input" name="xbmc_login" value="' . $setting['xbmc_login'] . '" ' . $d . '/></td></tr>
|
||||||
|
<tr><td>' . $lang['a_xbmc_pass'] . '</td><td><input id="xbmc_pass" type="input" name="xbmc_pass" value="' . $setting['xbmc_pass'] . '" ' . $d . '/></td></tr>
|
||||||
|
</table>
|
||||||
|
<div id="xbmc_test" class="box"><div></div>' . $lang['a_xmbc_test'] . '</div>
|
||||||
|
<input type="submit" value="' . $lang['a_save'] . '" ' . $d . '/>
|
||||||
|
</form>
|
||||||
|
';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save connection
|
||||||
|
if ($option == 'xbmc_save') {
|
||||||
|
$xbmc_update_sql = 'UPDATE config SET
|
||||||
|
xbmc_host = "' . $_POST['xbmc_host'] . '",
|
||||||
|
xbmc_port = "' . $_POST['xbmc_port'] . '",
|
||||||
|
xbmc_login = "' . $_POST['xbmc_login'] . '",
|
||||||
|
xbmc_pass = "' . $_POST['xbmc_pass'] . '"';
|
||||||
|
mysql_q($xbmc_update_sql);
|
||||||
|
$output_panel_info.= $lang['a_xbmc_saved'] . '<br />';
|
||||||
|
$_SESSION = array();
|
||||||
|
$_SESSION['logged_admin'] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##############
|
||||||
|
* # PANEL INFO #
|
||||||
|
*/##############
|
||||||
|
if ($output_panel_info !== '') {
|
||||||
|
$output_panel_info = '<div class="panel_info">' . $output_panel_info . '</div>';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title><?PHP echo $setting['site_name'] ?> - <?PHP echo $lang['a_html_admin_panel'] ?></title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<!--[if IE]>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
|
<![endif]-->
|
||||||
|
<link type="image/x-icon" href="admin/img/icon.ico" rel="icon" media="all" />
|
||||||
|
<link type="text/css" href="admin/css/style.css" rel="stylesheet" media="all" />
|
||||||
|
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
|
||||||
|
<script type="text/javascript" src="js/jquery.script.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<?PHP echo $output_panel_info ?>
|
||||||
|
<div class="container">
|
||||||
|
<div id="panel_left">
|
||||||
|
<a class="box" href="admin.php"><?PHP echo $lang['a_html_overall'] ?></a>
|
||||||
|
<a class="box" href="index.php"><?PHP echo $lang['a_html_library'] ?></a>
|
||||||
|
<a class="box" href="admin.php?option=movieslist"><?PHP echo $lang['a_html_movie_list'] ?></a>
|
||||||
|
<a class="box" href="admin.php?option=tvshowslist"><?PHP echo $lang['a_html_tvshow_list'] ?></a>
|
||||||
|
<a class="box" href="admin.php?option=settings"><?PHP echo $lang['a_html_settings'] ?></a>
|
||||||
|
<a class="box" href="admin.php?option=password"><?PHP echo $lang['a_html_password'] ?></a>
|
||||||
|
<a class="box" href="admin.php?option=token"><?PHP echo $lang['a_html_change_token'] ?></a>
|
||||||
|
<a class="box" href="admin.php?option=banner"><?PHP echo $lang['a_html_banner'] ?></a>
|
||||||
|
<a class="box" href="admin.php?option=xbmc">XBMC</a>
|
||||||
|
<a class="box" href="login.php?login=admin_logout"><?PHP echo $lang['a_html_logout'] ?></a>
|
||||||
|
</div>
|
||||||
|
<div id="panel_right">
|
||||||
|
<?PHP echo $output_panel ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
movielib/admin/css/font/archivonarrow.ttf
Normal file
47
movielib/admin/css/style.css
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
|
body { background-color:#000; font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#ddd; border:0px; padding:0px; margin:0px; outline:none; }
|
||||||
|
#background { position:fixed; top:0; left:0; z-index:-10; min-width:100%; min-height:100%; }
|
||||||
|
img { vertical-align:middle; border:0px; }
|
||||||
|
|
||||||
|
a:link { color:#999; text-decoration:none; }
|
||||||
|
a:visited { color:#999; text-decoration:none; }
|
||||||
|
a:hover { color:#FFF; text-decoration:none; }
|
||||||
|
a:active { color:#FFF; text-decoration:none; }
|
||||||
|
|
||||||
|
.bold { font-weight:bold; }
|
||||||
|
.orange { color:#ff7300; }
|
||||||
|
.red { color:#FF0000; }
|
||||||
|
.green { color:#0FE800; }
|
||||||
|
.animate { cursor:pointer; }
|
||||||
|
.center { text-align:center; }
|
||||||
|
|
||||||
|
input, select { resize:none; background-color:#222; color:#dddddd; border:1px solid #000; font-size:11px; width:160px; height:20px; }
|
||||||
|
textarea { resize:none; background-color:#222; color:#dddddd; border:1px solid #000; font-size:11px; width:500px; height:18px; padding:5px; margin:10px; }
|
||||||
|
input:disabled, select:disabled, textarea:disabled { color:#888; }
|
||||||
|
|
||||||
|
.panel_info { border:3px solid #00cc00; background-color:#66ff33; font-weight:bold; color:#000; padding:5px; }
|
||||||
|
.panel_error { border:3px solid #750000; background-color:#FF0000; font-weight:bold; color:#000; padding:5px; }
|
||||||
|
|
||||||
|
.container { background-color:#111; border:1px solid #333; width:800px; overflow:hidden; margin:auto; padding-bottom:20px; padding-top:10px; opacity:0.9; }
|
||||||
|
|
||||||
|
#panel_left { float:left; width:140px; margin-left:10px; margin-top:10px; }
|
||||||
|
#panel_right { text-align:center; float:right; width:630px; margin-right:10px; margin-top:10px; }
|
||||||
|
|
||||||
|
.box { display:block; width:100px; font-weight:bold; border:1px solid #333; background-color:#000; margin:auto; margin-bottom:10px; padding:3px; padding-left:10px; padding-right:10px; text-align:center; cursor:pointer; }
|
||||||
|
|
||||||
|
.table { border:1px solid #222; text-align:left; width:100%; margin-bottom:10px; }
|
||||||
|
.table td { background-color:#000; padding:2px 5px 2px 5px; }
|
||||||
|
.table img { display:block; margin:auto; }
|
||||||
|
.text_left { text-align:left; }
|
||||||
|
.text_right { text-align:right; }
|
||||||
|
|
||||||
|
#banner { margin-top:5px; margin-bottom:20px; }
|
||||||
|
.ban{ width:50px; }
|
||||||
|
|
||||||
|
/* INSTALL */
|
||||||
|
.container_install { margin:auto; }
|
||||||
|
.container_install input, .container_install select { display:block; margin:auto; background-color:#222; color:#dddddd; border:1px solid #000; font-size:11px; width:160px; height:20px; }
|
||||||
|
.container_install textarea { display:block; width:600px; height:420px; background-color:#111; color:#fff; border:1px solid #333; margin:auto; margin-top:10px; margin-bottom:10px; resize:none; padding:10px; }
|
||||||
|
.title { width:300px; margin:auto; background-color:#111; border:1px solid #333; margin-top:20px; margin-bottom:20px; padding:10px; text-align:center; font-size:14px; font-weight:bold; }
|
||||||
|
.container_install table { margin:auto; border:1px solid #222; text-align:left; width:300px; margin-bottom:10px; margin-top:10px; }
|
BIN
movielib/admin/img/delete.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
movielib/admin/img/exist.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
movielib/admin/img/hidden.png
Normal file
After Width: | Height: | Size: 456 B |
BIN
movielib/admin/img/i_delete.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
movielib/admin/img/i_fanart.png
Normal file
After Width: | Height: | Size: 328 B |
BIN
movielib/admin/img/i_hidden.png
Normal file
After Width: | Height: | Size: 341 B |
BIN
movielib/admin/img/i_poster.png
Normal file
After Width: | Height: | Size: 364 B |
BIN
movielib/admin/img/i_trailer.png
Normal file
After Width: | Height: | Size: 332 B |
BIN
movielib/admin/img/icon.ico
Normal file
After Width: | Height: | Size: 894 B |
BIN
movielib/admin/img/link.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
movielib/admin/img/movies.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
movielib/admin/img/tvshows.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
movielib/admin/img/visible.png
Normal file
After Width: | Height: | Size: 454 B |
482
movielib/config.php
Normal file
@ -0,0 +1,482 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
$version = '2.8.1';
|
||||||
|
|
||||||
|
if (file_exists('db.php')) {
|
||||||
|
include('db.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dir
|
||||||
|
$dir_assoc = array('cache', 'cache/actors');
|
||||||
|
|
||||||
|
// Output panel
|
||||||
|
$output_panel_info = '';
|
||||||
|
$output_panel_error = '';
|
||||||
|
|
||||||
|
// Video resolution
|
||||||
|
$vres_assoc = array(
|
||||||
|
0 => 0,
|
||||||
|
640 => 480,
|
||||||
|
768 => 576,
|
||||||
|
1280 => 720,
|
||||||
|
1920 => 1080,
|
||||||
|
3000 => 4096
|
||||||
|
);
|
||||||
|
|
||||||
|
// Video codec
|
||||||
|
$vtype_assoc['3ivx'] = array('3ivx', '3iv2', '3ivd');
|
||||||
|
$vtype_assoc['avc'] = array('avc', 'avc1');
|
||||||
|
$vtype_assoc['divx'] = array('divx', 'div1', 'div2', 'div3', 'div4', 'div5', 'div6');
|
||||||
|
$vtype_assoc['flv'] = array('flv');
|
||||||
|
$vtype_assoc['h264'] = array('h264', 'x264');
|
||||||
|
$vtype_assoc['mp4'] = array('mp4');
|
||||||
|
$vtype_assoc['mpeg'] = array('mpeg', 'pim1');
|
||||||
|
$vtype_assoc['mpeg2'] = array('mpeg2', 'em2v', 'lmp2', 'mmes', 'mpeg-2');
|
||||||
|
$vtype_assoc['mpeg4'] = array('mpeg4', 'dm4v', 'dx50', 'geox', 'm4s2', 'mpeg-4', 'nds', 'ndx', 'pvmm');
|
||||||
|
$vtype_assoc['qt'] = array('qt', '8bps', 'advj', 'avrn', 'rle', 'rpza', 'smc', 'sv10', 'svq', 'zygo');
|
||||||
|
$vtype_assoc['wmv'] = array('wmv', 'wma');
|
||||||
|
$vtype_assoc['xvid'] = array('xvid', 'xvix');
|
||||||
|
$vtype_assoc['hevc'] = array('h265', 'x265');
|
||||||
|
|
||||||
|
// Audio codec
|
||||||
|
$atype_assoc['aac'] = array('aac');
|
||||||
|
$atype_assoc['ac3'] = array('ac3');
|
||||||
|
$atype_assoc['aif'] = array('aif', 'aifc', 'aiff');
|
||||||
|
$atype_assoc['dd'] = array('dd', 'dtshd', 'dtsma', 'dtshr');
|
||||||
|
$atype_assoc['dts'] = array('dts', 'dca');
|
||||||
|
$atype_assoc['flac'] = array('flac');
|
||||||
|
$atype_assoc['mp3'] = array('mp3', 'mp2', 'mp1');
|
||||||
|
$atype_assoc['ogg'] = array('ogg', 'a_vorbis', 'vorbis');
|
||||||
|
$atype_assoc['truehd'] = array('truehd');
|
||||||
|
$atype_assoc['wma'] = array('wma', 'wmav2', 'wmahd', 'wmapro');
|
||||||
|
|
||||||
|
// Audio channel
|
||||||
|
$achan_assoc = array(
|
||||||
|
'1' => '1',
|
||||||
|
'2' => '2',
|
||||||
|
'6' => '6',
|
||||||
|
'8' => '8'
|
||||||
|
);
|
||||||
|
|
||||||
|
// Language
|
||||||
|
$langs = array(
|
||||||
|
'bg' => 'Bulgarian',
|
||||||
|
'cs' => 'Czech',
|
||||||
|
'da' => 'Danish',
|
||||||
|
'de' => 'German',
|
||||||
|
'en' => 'English',
|
||||||
|
'es' => 'Spanish',
|
||||||
|
'fr' => 'French',
|
||||||
|
'hu' => 'Hungarian',
|
||||||
|
'it' => 'Italian',
|
||||||
|
'nl' => 'Dutch',
|
||||||
|
'no' => 'Norwegian',
|
||||||
|
'pl' => 'Polish',
|
||||||
|
'pt' => 'Portuguese',
|
||||||
|
'ru' => 'Russian',
|
||||||
|
'hr' => 'Croatian',
|
||||||
|
'sk' => 'Slovak',
|
||||||
|
'sr' => 'Serbian'
|
||||||
|
);
|
||||||
|
|
||||||
|
// MimeType
|
||||||
|
$mimetype_assoc['video/mp4'] = array('mp4');
|
||||||
|
$mimetype_assoc['video/ogg'] = array('ogg', 'ogv');
|
||||||
|
$mimetype_assoc['video/webm'] = array('webm');
|
||||||
|
$mimetype_assoc['video/flv'] = array('flv');
|
||||||
|
|
||||||
|
// tables
|
||||||
|
$mysql_tables['movies'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL PRIMARY KEY',
|
||||||
|
'title' => 'varchar(100) DEFAULT ""',
|
||||||
|
'plot' => 'varchar(5000) DEFAULT ""',
|
||||||
|
'rating' => 'float DEFAULT NULL',
|
||||||
|
'trailer' => 'varchar(255) DEFAULT ""',
|
||||||
|
'runtime' => 'int(4) DEFAULT NULL',
|
||||||
|
'originaltitle' => 'varchar(255) DEFAULT ""',
|
||||||
|
'year' => 'int(4) DEFAULT NULL',
|
||||||
|
'set' => 'varchar(255) DEFAULT ""',
|
||||||
|
'file' => 'varchar(255) DEFAULT ""',
|
||||||
|
'imdbid' => 'varchar(12) DEFAULT ""',
|
||||||
|
'play_count' => 'int(10) DEFAULT 0',
|
||||||
|
'last_played' => 'varchar(20) DEFAULT ""',
|
||||||
|
'date_added' => 'varchar(20) DEFAULT ""',
|
||||||
|
'hide' => 'int(1) DEFAULT 0',
|
||||||
|
'hash' => 'varchar(32) DEFAULT ""'
|
||||||
|
);
|
||||||
|
$mysql_tables['tvshows'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL PRIMARY KEY',
|
||||||
|
'title' => 'varchar(100) DEFAULT ""',
|
||||||
|
'plot' => 'varchar(5000) DEFAULT ""',
|
||||||
|
'rating' => 'float DEFAULT NULL',
|
||||||
|
'originaltitle' => 'varchar(255) DEFAULT ""',
|
||||||
|
'premiered' => 'varchar(20) DEFAULT ""',
|
||||||
|
'play_count' => 'int(10) DEFAULT 0',
|
||||||
|
'last_played' => 'varchar(20) DEFAULT ""',
|
||||||
|
'date_added' => 'varchar(20) DEFAULT ""',
|
||||||
|
'hide' => 'int(1) DEFAULT 0',
|
||||||
|
'hash' => 'varchar(32) DEFAULT ""'
|
||||||
|
);
|
||||||
|
$mysql_tables['episodes'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL PRIMARY KEY',
|
||||||
|
'title' => 'varchar(100) DEFAULT ""',
|
||||||
|
'plot' => 'varchar(5000) DEFAULT ""',
|
||||||
|
'episode' => 'int(6) NOT NULL',
|
||||||
|
'season' => 'int(6) NOT NULL',
|
||||||
|
'tvshow' => 'int(6) NOT NULL',
|
||||||
|
'firstaired' => 'varchar(20) DEFAULT ""',
|
||||||
|
'file' => 'varchar(255) DEFAULT ""',
|
||||||
|
'play_count' => 'int(10) DEFAULT 0',
|
||||||
|
'last_played' => 'varchar(20) DEFAULT ""',
|
||||||
|
'date_added' => 'varchar(20) DEFAULT ""',
|
||||||
|
'hash' => 'varchar(32) DEFAULT ""'
|
||||||
|
);
|
||||||
|
$mysql_tables['actor'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL AUTO_INCREMENT PRIMARY KEY',
|
||||||
|
'actor' => 'varchar(255) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['movies_actor'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'actorid' => 'int(6) NOT NULL',
|
||||||
|
'order' => 'int(2) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['tvshows_actor'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'actorid' => 'int(6) NOT NULL',
|
||||||
|
'order' => 'int(2) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['genre'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL AUTO_INCREMENT PRIMARY KEY',
|
||||||
|
'genre' => 'varchar(255) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['movies_genre'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'genreid' => 'int(6) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['tvshows_genre'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'genreid' => 'int(6) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['country'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL AUTO_INCREMENT PRIMARY KEY',
|
||||||
|
'country' => 'varchar(255) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['movies_country'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'countryid' => 'int(6) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['studio'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL AUTO_INCREMENT PRIMARY KEY',
|
||||||
|
'studio' => 'varchar(255) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['movies_studio'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'studioid' => 'int(6) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['director'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL AUTO_INCREMENT PRIMARY KEY',
|
||||||
|
'director' => 'varchar(255) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['movies_director'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'directorid' => 'int(6) NOT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['movies_stream'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'type' => 'varchar(1) NOT NULL',
|
||||||
|
'v_codec' => 'varchar(255)',
|
||||||
|
'v_aspect' => 'varchar(15)',
|
||||||
|
'v_width' => 'int(11)',
|
||||||
|
'v_height' => 'int(11)',
|
||||||
|
'v_duration' => 'int(11)',
|
||||||
|
'a_codec' => 'varchar(255)',
|
||||||
|
'a_chan' => 'int(11)',
|
||||||
|
'a_lang' => 'varchar(10)',
|
||||||
|
's_lang' => 'varchar(10)'
|
||||||
|
);
|
||||||
|
$mysql_tables['episodes_stream'] = array(
|
||||||
|
'id' => 'int(6) NOT NULL',
|
||||||
|
'type' => 'varchar(1) NOT NULL',
|
||||||
|
'v_codec' => 'varchar(255)',
|
||||||
|
'v_aspect' => 'varchar(15)',
|
||||||
|
'v_width' => 'int(11)',
|
||||||
|
'v_height' => 'int(11)',
|
||||||
|
'v_duration' => 'int(11)',
|
||||||
|
'a_codec' => 'varchar(255)',
|
||||||
|
'a_chan' => 'int(11)',
|
||||||
|
'a_lang' => 'varchar(10)',
|
||||||
|
's_lang' => 'varchar(10)'
|
||||||
|
);
|
||||||
|
$mysql_tables['config'] = array(
|
||||||
|
'site_name' => 'varchar(30) DEFAULT "MovieLib"',
|
||||||
|
'language' => 'varchar(2) DEFAULT "en"',
|
||||||
|
'theme' => 'varchar(15) DEFAULT "default"',
|
||||||
|
'select_media_header' => 'int(1) DEFAULT 0',
|
||||||
|
'view' => 'int(1) DEFAULT 0',
|
||||||
|
'per_page' => 'int(5) DEFAULT 50',
|
||||||
|
'default_sort' => 'int(1) DEFAULT 1',
|
||||||
|
'default_watch' => 'int(1) DEFAULT 0',
|
||||||
|
'panel_top_limit' => 'int(5) DEFAULT 10',
|
||||||
|
'panel_top_time' => 'int(5) DEFAULT 5',
|
||||||
|
'panel_top' => 'int(1) DEFAULT 1',
|
||||||
|
'panel_view' => 'int(1) DEFAULT 1',
|
||||||
|
'watched_status' => 'int(1) DEFAULT 1',
|
||||||
|
'show_playcount' => 'int(1) DEFAULT 1',
|
||||||
|
'live_search' => 'int(1) DEFAULT 1',
|
||||||
|
'live_search_max_res' => 'int(4) DEFAULT 10',
|
||||||
|
'panel_overall' => 'int(1) DEFAULT 1',
|
||||||
|
'panel_genre' => 'int(1) DEFAULT 1',
|
||||||
|
'panel_year' => 'int(1) DEFAULT 1',
|
||||||
|
'panel_country' => 'int(1) DEFAULT 1',
|
||||||
|
'panel_set' => 'int(1) DEFAULT 1',
|
||||||
|
'panel_studio' => 'int(1) DEFAULT 1',
|
||||||
|
'show_fanart' => 'int(1) DEFAULT 1',
|
||||||
|
'fadeout_fanart' => 'int(1) DEFAULT 0',
|
||||||
|
'show_trailer' => 'int(1) DEFAULT 1',
|
||||||
|
'show_facebook' => 'int(1) DEFAULT 1',
|
||||||
|
'banner' => 'varchar(200) DEFAULT 0',
|
||||||
|
'protect_site' => 'int(1) DEFAULT 0',
|
||||||
|
'mod_rewrite' => 'int(1) DEFAULT 0',
|
||||||
|
'token' => 'varchar(6) DEFAULT ""',
|
||||||
|
'xbmc_thumbs' => 'int(1) DEFAULT 1',
|
||||||
|
'xbmc_posters' => 'int(1) DEFAULT 1',
|
||||||
|
'xbmc_fanarts' => 'int(1) DEFAULT 1',
|
||||||
|
'xbmc_exthumbs' => 'int(1) DEFAULT 1',
|
||||||
|
'xbmc_exthumbs_q' => 'varchar(10) DEFAULT "853x480"',
|
||||||
|
'xbmc_auto_conf_remote' => 'int(1) DEFAULT 0',
|
||||||
|
'xbmc_master' => 'int(1) DEFAULT 0',
|
||||||
|
'xbmc_host' => 'varchar(30) DEFAULT ""',
|
||||||
|
'xbmc_port' => 'varchar(5) DEFAULT ""',
|
||||||
|
'xbmc_login' => 'varchar(30) DEFAULT ""',
|
||||||
|
'xbmc_pass' => 'varchar(30) DEFAULT ""',
|
||||||
|
'version' => 'varchar(6) DEFAULT "' . $version . '"'
|
||||||
|
);
|
||||||
|
$mysql_tables['users'] = array(
|
||||||
|
'id' => 'int(2) NOT NULL PRIMARY KEY',
|
||||||
|
'login' => 'varchar(5) DEFAULT NULL',
|
||||||
|
'password' => 'varchar(32) DEFAULT NULL'
|
||||||
|
);
|
||||||
|
$mysql_tables['hash'] = array(
|
||||||
|
'movies' => 'varchar(32) DEFAULT ""',
|
||||||
|
'tvshows' => 'varchar(32) DEFAULT ""',
|
||||||
|
'episodes' => 'varchar(32) DEFAULT ""',
|
||||||
|
'images' => 'varchar(32) DEFAULT ""'
|
||||||
|
);
|
||||||
|
|
||||||
|
// indexes
|
||||||
|
$mysql_indexes['actor'] = array('ix_actor');
|
||||||
|
$mysql_indexes['country'] = array('ix_country');
|
||||||
|
$mysql_indexes['director'] = array('ix_director');
|
||||||
|
$mysql_indexes['genre'] = array('ix_genre');
|
||||||
|
$mysql_indexes['studio'] = array('ix_studio');
|
||||||
|
|
||||||
|
$mysql_indexes['movies'] = array('ix_title', 'ix_rating', 'ix_runtime', 'ix_originaltitle', 'ix_year', 'ix_set', 'ix_play_count', 'ix_last_played', 'ix_date_added', 'ix_hide');
|
||||||
|
$mysql_indexes['movies_actor'] = array('ix_id', 'ix_actorid', 'ix_order');
|
||||||
|
$mysql_indexes['movies_country'] = array('ix_id', 'ix_countryid');
|
||||||
|
$mysql_indexes['movies_director'] = array('ix_id', 'ix_directorid');
|
||||||
|
$mysql_indexes['movies_genre'] = array('ix_id', 'ix_genreid');
|
||||||
|
$mysql_indexes['movies_studio'] = array('ix_id', 'ix_studioid');
|
||||||
|
$mysql_indexes['movies_stream'] = array('ix_id');
|
||||||
|
|
||||||
|
$mysql_indexes['tvshows'] = array('ix_title', 'ix_rating', 'ix_originaltitle', 'ix_premiered', 'ix_play_count', 'ix_last_played', 'ix_date_added', 'ix_hide');
|
||||||
|
$mysql_indexes['tvshows_actor'] = array('ix_id', 'ix_actorid', 'ix_order');
|
||||||
|
$mysql_indexes['tvshows_genre'] = array('ix_id', 'ix_genreid');
|
||||||
|
|
||||||
|
$mysql_indexes['episodes'] = array('ix_season', 'ix_tvshow');
|
||||||
|
$mysql_indexes['episodes_stream'] = array('ix_id');
|
||||||
|
|
||||||
|
// views
|
||||||
|
$views = array('view_default', 'view_list', 'view_sposter', 'view_bposter');
|
||||||
|
|
||||||
|
//outputs
|
||||||
|
$item = array(
|
||||||
|
'select_media',
|
||||||
|
'view',
|
||||||
|
'include_view',
|
||||||
|
'sort',
|
||||||
|
'watch',
|
||||||
|
'url_delete_filter',
|
||||||
|
'meta_title',
|
||||||
|
'meta_img',
|
||||||
|
'meta_url',
|
||||||
|
'meta_desc',
|
||||||
|
'meta_type',
|
||||||
|
'facebook',
|
||||||
|
'version',
|
||||||
|
'panel_top',
|
||||||
|
'panel_top_last_added',
|
||||||
|
'panel_top_most_watched',
|
||||||
|
'panel_top_last_played',
|
||||||
|
'panel_top_top_rated',
|
||||||
|
'overall_all',
|
||||||
|
'overall_watched',
|
||||||
|
'overall_unwatched',
|
||||||
|
'panel_remote',
|
||||||
|
'panel_genre',
|
||||||
|
'panel_year',
|
||||||
|
'panel_country',
|
||||||
|
'panel_set',
|
||||||
|
'panel_studio',
|
||||||
|
'panel_live_search',
|
||||||
|
'panel_sort',
|
||||||
|
'panel_view',
|
||||||
|
'panel_watch',
|
||||||
|
'panel_nav',
|
||||||
|
'panel_filter'
|
||||||
|
);
|
||||||
|
$item_desc = array(
|
||||||
|
'mysql_table',
|
||||||
|
'id',
|
||||||
|
'video',
|
||||||
|
'view',
|
||||||
|
'include_view',
|
||||||
|
'sort',
|
||||||
|
'title',
|
||||||
|
'originaltitle',
|
||||||
|
'url_title',
|
||||||
|
'file',
|
||||||
|
'xbmc',
|
||||||
|
'xbmc_episode',
|
||||||
|
'watched_img',
|
||||||
|
'playcount_img',
|
||||||
|
'genre',
|
||||||
|
'rating',
|
||||||
|
'rating_star',
|
||||||
|
'imdb_url',
|
||||||
|
'actor',
|
||||||
|
'plot',
|
||||||
|
'year',
|
||||||
|
'country',
|
||||||
|
'runtime',
|
||||||
|
'director',
|
||||||
|
'set',
|
||||||
|
'studio',
|
||||||
|
'studio_art',
|
||||||
|
'ribbon_new',
|
||||||
|
'img_flag_v',
|
||||||
|
'img_flag_a',
|
||||||
|
'img_flag_s',
|
||||||
|
'facebook_button',
|
||||||
|
'extra_thumbs',
|
||||||
|
'trailer_img',
|
||||||
|
'trailer',
|
||||||
|
'premiered',
|
||||||
|
'seasons',
|
||||||
|
'episodes',
|
||||||
|
'episodes_plot',
|
||||||
|
'fb_url'
|
||||||
|
);
|
||||||
|
$item_episode = array(
|
||||||
|
'episode',
|
||||||
|
'season',
|
||||||
|
'season_title',
|
||||||
|
'thumbnail',
|
||||||
|
'file',
|
||||||
|
'xbmc',
|
||||||
|
'plot',
|
||||||
|
'aired',
|
||||||
|
'img_flag_v',
|
||||||
|
'img_flag_a',
|
||||||
|
'img_flag_s',
|
||||||
|
'watched_img',
|
||||||
|
'ribbon_new'
|
||||||
|
);
|
||||||
|
|
||||||
|
// array for language audio and subs
|
||||||
|
$iso_lang = array(
|
||||||
|
'ces' => array('ces', 'cze', 'czech'),
|
||||||
|
'dan' => array('dan', 'danish'),
|
||||||
|
'deu' => array('deu', 'ger', 'german', 'deutch'),
|
||||||
|
'dut' => array('dut', 'nld', 'dutch'),
|
||||||
|
'egy' => array('egy', 'egyptian'),
|
||||||
|
'ell' => array('ell', 'gre', 'greek'),
|
||||||
|
'eng' => array('eng', 'english'),
|
||||||
|
'est' => array('est', 'estonian'),
|
||||||
|
'fin' => array('fin', 'finnish'),
|
||||||
|
'fra' => array('fra', 'fre', 'french'),
|
||||||
|
'gle' => array('gle', 'irish'),
|
||||||
|
'heb' => array('heb', 'hebrew'),
|
||||||
|
'hun' => array('hun', 'hungarian'),
|
||||||
|
'ind' => array('ind', 'indonesian'),
|
||||||
|
'ira' => array('ira', 'iranian'),
|
||||||
|
'isl' => array('isl', 'ice', 'icelandic'),
|
||||||
|
'ita' => array('ita', 'italian'),
|
||||||
|
'jpn' => array('jpn', 'japanese'),
|
||||||
|
'kat' => array('kat', 'geo', 'georgian'),
|
||||||
|
'khm' => array('khm', 'khmer'),
|
||||||
|
'kor' => array('kor', 'korean'),
|
||||||
|
'mlt' => array('mlt', 'maltese'),
|
||||||
|
'mol' => array('mol'),
|
||||||
|
'mon' => array('mon', 'mongolian'),
|
||||||
|
'nep' => array('nep', 'nepali'),
|
||||||
|
'nno' => array('nno', 'norwegian'),
|
||||||
|
'pol' => array('pol', 'polish'),
|
||||||
|
'por' => array('por', 'portuguese'),
|
||||||
|
'ron' => array('ron', 'rum', 'romanian'),
|
||||||
|
'rus' => array('rus', 'russian'),
|
||||||
|
'slk' => array('slk', 'slo', 'slovak'),
|
||||||
|
'slv' => array('slv', 'slovenian'),
|
||||||
|
'spa' => array('spa', 'spanish'),
|
||||||
|
'srp' => array('srp', 'serbian'),
|
||||||
|
'swe' => array('swe', 'swedish'),
|
||||||
|
'tur' => array('tur', 'turkish'),
|
||||||
|
'ukr' => array('ukr', 'ukrainian'),
|
||||||
|
'zho' => array('zho', 'chi', 'chinese')
|
||||||
|
);
|
||||||
|
|
||||||
|
// array for language facebook buttons
|
||||||
|
$lang_fb_assoc = array(
|
||||||
|
'sq' => 'sq_AL',
|
||||||
|
'bg' => 'bg_BG',
|
||||||
|
'cs' => 'cs_CZ',
|
||||||
|
'da' => 'da_DK',
|
||||||
|
'nl' => 'nl_NL',
|
||||||
|
'en' => 'en_GB',
|
||||||
|
'en' => 'en_US',
|
||||||
|
'et' => 'et_EE',
|
||||||
|
'fr' => 'fr_FR',
|
||||||
|
'de' => 'de_DE',
|
||||||
|
'el' => 'el_GR',
|
||||||
|
'hu' => 'hu_HU',
|
||||||
|
'it' => 'it_IT',
|
||||||
|
'nb' => 'nb_NO',
|
||||||
|
'pl' => 'pl_PL',
|
||||||
|
'pt' => 'pt_PT',
|
||||||
|
'ro' => 'ro_RO',
|
||||||
|
'ru' => 'ru_RU',
|
||||||
|
'sk' => 'sk_SK',
|
||||||
|
'sl' => 'sl_SI',
|
||||||
|
'es' => 'es_LA',
|
||||||
|
'uk' => 'uk_UA'
|
||||||
|
);
|
||||||
|
|
||||||
|
// JSON function
|
||||||
|
$json_f = array(
|
||||||
|
'play' => array('p' => '', 'm' => 'Player.Open'),
|
||||||
|
'stop' => array('p' => '"playerid": 1', 'm' => 'Player.Stop'),
|
||||||
|
'pause' => array('p' => '"playerid": 1', 'm' => 'Player.PlayPause'),
|
||||||
|
'v_up' => array('p' => '"action": "volumeup"', 'm' => 'Input.ExecuteAction'),
|
||||||
|
'v_down' => array('p' => '"action": "volumedown"', 'm' => 'Input.ExecuteAction'),
|
||||||
|
'playing' => array('p' => '"playerid": 1', 'm' => 'Player.GetItem')
|
||||||
|
);
|
||||||
|
|
||||||
|
// Set var
|
||||||
|
$var = array(
|
||||||
|
'id' => 0,
|
||||||
|
'search' => '',
|
||||||
|
'page' => 1,
|
||||||
|
'token' => '',
|
||||||
|
'option' => '',
|
||||||
|
'filter' => '',
|
||||||
|
'filterid' => '',
|
||||||
|
'fb_link' => ''
|
||||||
|
);
|
||||||
|
foreach ($var as $key => $val) {
|
||||||
|
if (isset($_GET[$key])) {
|
||||||
|
$$key = $_GET[$key];
|
||||||
|
} else {
|
||||||
|
$$key = $val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
1
movielib/files.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
admin.php:a08251fe59c1a6ec3e23d8c770642dc7;config.php:31e094f8c836d82ec2cb9516de141be2;function.js.php:3b55a87df8f482825fc93880a9ef4cd6;function.php:4d24cbbf9e91f0c5b837c013fc9ceba0;index.php:9a84dbe80d1bad4129601031d747acc2;login.php:a075317bff5dd423526595dd5997f2a2;sync.php:3d3ed8a0023587aa1bbc8e95ad1427f1;js/jquery-1.9.1.js:08c235d357750c657ac1db7d1cf656a9;js/jquery.cycle.lite.js:2ab8505038a95e0e5a913c65c163898c;js/jquery.script.js:366d6d350a1ef52b256f733fcf39f218;js/video.js:e7d1334eab76e6022f929b50f83e95d6
|
410
movielib/function.js.php
Normal file
@ -0,0 +1,410 @@
|
|||||||
|
<?PHP
|
||||||
|
session_start();
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
|
||||||
|
include('config.php');
|
||||||
|
|
||||||
|
// get setting for js
|
||||||
|
if ($option == 'settings') {
|
||||||
|
include('function.php');
|
||||||
|
connect($mysql_ml);
|
||||||
|
$setting = get_settings();
|
||||||
|
$set_js = array(
|
||||||
|
'show_fanart' => (isset($setting['show_fanart']) ? $setting['show_fanart'] : ''),
|
||||||
|
'fadeout_fanart' => (isset($setting['fadeout_fanart']) ? $setting['fadeout_fanart'] : ''),
|
||||||
|
'panel_top_time' => (isset($setting['panel_top_time']) ? $setting['panel_top_time'] : ''),
|
||||||
|
'theme' => (isset($setting['theme']) ? $setting['theme'] : '')
|
||||||
|
);
|
||||||
|
echo json_encode($set_js);
|
||||||
|
}
|
||||||
|
|
||||||
|
// save panel status
|
||||||
|
if ($option == 'panel') {
|
||||||
|
echo $_GET['id'] . ' - ' . $_GET['opt'];
|
||||||
|
$_SESSION[$_GET['id']] = $_GET['opt'];
|
||||||
|
$setting[$_GET['id']] = $_GET['opt'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// live search
|
||||||
|
if ($option == 'search') {
|
||||||
|
include('function.php');
|
||||||
|
connect($mysql_ml);
|
||||||
|
$setting = get_settings();
|
||||||
|
$output = '';
|
||||||
|
|
||||||
|
function search($table, $search_sql, $search_array, $a_href, $setting) {
|
||||||
|
$output = '';
|
||||||
|
$search_res = mysql_q($search_sql);
|
||||||
|
if (mysql_num_rows($search_res) > 0) {
|
||||||
|
while($searched = mysql_fetch_assoc($search_res)) {
|
||||||
|
// thumb
|
||||||
|
if ($table == 'movies' or $table == 'tvshows') {
|
||||||
|
if (file_exists('cache/' . $table . '_' . $searched['id'] . '.jpg')) {
|
||||||
|
$searched['thumb'] = 'cache/' . $table . '_' . $searched['id'] . '.jpg';
|
||||||
|
} else {
|
||||||
|
$searched['thumb'] = 'templates/' . $setting['theme'] . '/img/d_poster.jpg';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($table == 'actor') {
|
||||||
|
if (file_exists('cache/actors/' . substr(md5($searched['actor']), 0, 10) . '.jpg')) {
|
||||||
|
$searched['thumb'] = 'cache/actors/' . substr(md5($searched['actor']), 0, 10) . '.jpg';
|
||||||
|
} else {
|
||||||
|
$searched['thumb'] = 'templates/' . $setting['theme'] . '/img/d_actor.jpg';
|
||||||
|
}
|
||||||
|
$searched['title'] = $searched['actor'];
|
||||||
|
}
|
||||||
|
// panels
|
||||||
|
foreach ($search_array as $val) {
|
||||||
|
$sel_sql = 'SELECT ' . $val . '.' . $val . ' FROM ' . $val . ', ' . $table . '_' . $val . ' WHERE ' . $val . '.id = ' . $table . '_' . $val . '.' . $val . 'id AND ' . $table . '_' . $val . '.id = "' . $searched['id'] . '"';
|
||||||
|
$sel_res = mysql_q($sel_sql);
|
||||||
|
$out = array();
|
||||||
|
while ($s = mysql_fetch_row($sel_res)) {
|
||||||
|
$out[] = $s[0];
|
||||||
|
}
|
||||||
|
$searched[$val] = implode(' / ', $out);
|
||||||
|
}
|
||||||
|
$output.= '
|
||||||
|
<a href="' . $a_href . $searched['id'] . '">
|
||||||
|
<div class="live_search_box" title="' . $searched['title'] . '">
|
||||||
|
<img class="img_live_search" src="' . $searched['thumb'] . '">
|
||||||
|
<div class="live_search_title">' . $searched['title'] . '</div>' .
|
||||||
|
(isset($searched['originaltitle']) ? '<div class="live_search_orig_title">' . $searched['originaltitle'] . '</div>' : '') .
|
||||||
|
(isset($searched['year']) ? $searched['year'] . ' | ' : '') .
|
||||||
|
(isset($searched['rating']) ? $searched['rating'] . ' | ' : '') .
|
||||||
|
(isset($searched['runtime']) ? $searched['runtime'] . ' min. | ' : '') .
|
||||||
|
(isset($searched['genre']) ? $searched['genre'] . ' | ' : '') .
|
||||||
|
(isset($searched['country']) ? $searched['country'] . ' | ' : '') .
|
||||||
|
(isset($searched['director']) ? $searched['director'] : '') . '
|
||||||
|
</div>
|
||||||
|
</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_GET['video'] == 'search_movies') {
|
||||||
|
$table = 'movies';
|
||||||
|
$search_sql = 'SELECT id, title, rating, year, runtime, originaltitle, hide FROM ' . $table . ' WHERE (title LIKE "%' . $_GET['search'] . '%" OR originaltitle LIKE "%' . $_GET['search'] . '%") AND hide=0 LIMIT 0, ' . $setting['live_search_max_res'];
|
||||||
|
$search_array = array('director', 'genre', 'country');
|
||||||
|
$a_href = 'index.php?video=' . $table . '&id=';
|
||||||
|
$output.= search($table, $search_sql, $search_array, $a_href, $setting);
|
||||||
|
}
|
||||||
|
if ($_GET['video'] == 'search_tvshows') {
|
||||||
|
$table = 'tvshows';
|
||||||
|
$search_sql = 'SELECT id, title, rating, originaltitle, hide FROM ' . $table . ' WHERE (title LIKE "%' . $_GET['search'] . '%" OR originaltitle LIKE "%' . $_GET['search'] . '%") AND hide=0 LIMIT 0, ' . $setting['live_search_max_res'];
|
||||||
|
$search_array = array('genre');
|
||||||
|
$a_href = 'index.php?video=' . $table . '&id=';
|
||||||
|
$output.= search($table, $search_sql, $search_array, $a_href, $setting);
|
||||||
|
}
|
||||||
|
|
||||||
|
$table = 'actor';
|
||||||
|
$search_sql = 'SELECT id, actor FROM ' . $table . ' WHERE actor LIKE "%' . $_GET['search'] . '%" LIMIT 0, ' . $setting['live_search_max_res'];
|
||||||
|
$search_array = array();
|
||||||
|
$a_href = 'index.php?video=' . ($_GET['video'] == 'search_movies' ? 'movies' : 'tvshows') . '&filter=actor&filterid=';
|
||||||
|
$output.= search($table, $search_sql, $search_array, $a_href, $setting);
|
||||||
|
|
||||||
|
echo $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
// remote control
|
||||||
|
if ($option == 'remote') {
|
||||||
|
// admin permission
|
||||||
|
if (!isset($_SESSION['logged_admin']) or $_SESSION['logged_admin'] !== true) {
|
||||||
|
die('no permission');
|
||||||
|
}
|
||||||
|
include('function.php');
|
||||||
|
$setting = get_settings();
|
||||||
|
|
||||||
|
$time_assoc['http'] = array('timeout' => 3);
|
||||||
|
$timeout = stream_context_create($time_assoc);
|
||||||
|
|
||||||
|
switch ($_GET['f']) {
|
||||||
|
case 'list':
|
||||||
|
file_put_contents('cache/list.m3u', $_GET['file']);
|
||||||
|
break;
|
||||||
|
case 'play':
|
||||||
|
if ($_GET['video'] == 'tvshows') {
|
||||||
|
$video = 'episodeid';
|
||||||
|
} else {
|
||||||
|
$video = 'movieid';
|
||||||
|
}
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"item": {"' . $video . '": ' . $_GET['id'] . '}}, "method": "Player.Open", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'stepforward': // stepforward
|
||||||
|
case '190':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"action": "stepforward"}, "method": "Input.ExecuteAction", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'stepback': // stepback
|
||||||
|
case '188':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"action": "stepback"}, "method": "Input.ExecuteAction", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'bigstepforward': // bigstepforward
|
||||||
|
case '221':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"action": "bigstepforward"}, "method": "Input.ExecuteAction", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'bigstepback': // bigstepback
|
||||||
|
case '219':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"action": "bigstepback"}, "method": "Input.ExecuteAction", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'v_up': // volume up
|
||||||
|
case '61':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"action": "volumeup"}, "method": "Input.ExecuteAction", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'v_down': // volume down
|
||||||
|
case '173':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"action": "volumedown"}, "method": "Input.ExecuteAction", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'mute': // volume mute
|
||||||
|
case '48':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"action": "mute"}, "method": "Input.ExecuteAction", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'stop': // stop
|
||||||
|
case '88':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"playerid": 1}, "method": "Player.Stop", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'pause': // pause
|
||||||
|
case '32':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"playerid": 1}, "method": "Player.PlayPause", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'right': // right
|
||||||
|
case '39':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "method": "Input.Right", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'left': // left
|
||||||
|
case '37':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "method": "Input.Left", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'up': // up
|
||||||
|
case '38':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "method": "Input.Up", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'down': // down
|
||||||
|
case '40':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "method": "Input.Down", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'watch': // watched
|
||||||
|
case '87':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"action": "togglewatched"}, "method": "Input.ExecuteAction", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'info': // info
|
||||||
|
case '73':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "method": "Input.Info", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'select': // select
|
||||||
|
case '13':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "method": "Input.Select", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'back': // back
|
||||||
|
case '8':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "method": "Input.Back", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'context': // context menu
|
||||||
|
case '67':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "method": "Input.ContextMenu", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'power': // shutdown menu
|
||||||
|
case '83':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"window":"shutdownmenu"}, "method": "GUI.ActivateWindow", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'sync': // sync
|
||||||
|
case '82':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"addonid":"script.movielib"}, "method": "Addons.ExecuteAddon", "id": 1}');
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'playing':
|
||||||
|
// get player status
|
||||||
|
$json_player = urlencode('{"jsonrpc": "2.0", "params": {"playerid": 1}, "method": "Player.GetItem", "id": 1}');
|
||||||
|
$get_player = @file_get_contents('http://' . $setting['xbmc_login'] . ':' . $setting['xbmc_pass'] . '@' . $setting['xbmc_host'] . ':' . $setting['xbmc_port'] . '/jsonrpc?request=' . $json_player, false, $timeout);
|
||||||
|
$player = json_decode($get_player, true);
|
||||||
|
if (isset($player['result'])) {
|
||||||
|
$json_player_status = urlencode('{"jsonrpc": "2.0", "params": {"playerid": 1, "properties": ["percentage", "time", "totaltime"]}, "method": "Player.GetProperties", "id": 1}');
|
||||||
|
$get_player_status = @file_get_contents('http://' . $setting['xbmc_login'] . ':' . $setting['xbmc_pass'] . '@' . $setting['xbmc_host'] . ':' . $setting['xbmc_port'] . '/jsonrpc?request=' . $json_player_status, false, $timeout);
|
||||||
|
$player_status = json_decode($get_player_status, true);
|
||||||
|
$item = array_merge($player['result']['item'], $player_status['result']);
|
||||||
|
connect($mysql_ml);
|
||||||
|
include('lang/' . $setting['language'] . '/lang.php');
|
||||||
|
if ($item['type'] == 'episode') {
|
||||||
|
// get episode
|
||||||
|
$episode_sql = 'SELECT tvshow, season, episode, title, plot FROM episodes WHERE id = "' . $item['id'] . '"';
|
||||||
|
$episode_result = mysql_q($episode_sql);
|
||||||
|
$episode = mysql_fetch_assoc($episode_result);
|
||||||
|
// get tvshow
|
||||||
|
$tvshow_sql = 'SELECT title, rating FROM tvshows WHERE id = "' . $episode['tvshow'] . '"';
|
||||||
|
$tvshow_result = mysql_q($tvshow_sql);
|
||||||
|
$tvshow = mysql_fetch_assoc($tvshow_result);
|
||||||
|
// get panels
|
||||||
|
$search_array = array('genre');
|
||||||
|
foreach ($search_array as $val) {
|
||||||
|
$sel_sql = 'SELECT ' . $val . '.' . $val . ' FROM ' . $val . ', tvshows_' . $val . ' WHERE ' . $val . '.id = tvshows_' . $val . '.' . $val . 'id AND tvshows_' . $val . '.id = "' . $item['id'] . '"';
|
||||||
|
$sel_res = mysql_q($sel_sql);
|
||||||
|
$out = array();
|
||||||
|
while ($s = mysql_fetch_row($sel_res)) {
|
||||||
|
$out[] = $s[0];
|
||||||
|
}
|
||||||
|
$tvshow[$val] = implode(' / ', $out);
|
||||||
|
}
|
||||||
|
$item['type'] = 'tvshows';
|
||||||
|
$item['id'] = $episode['tvshow'];
|
||||||
|
$item['details'] = '
|
||||||
|
<div id="np_d_title">' . $tvshow['title'] . '</div>
|
||||||
|
<div id="np_d_otitle">' . zero($episode['season']) . 'x' . zero($episode['episode']) . ' ' . $episode['title'] . '</div>
|
||||||
|
<div id="bar"><div id="prog"></div></div>
|
||||||
|
<div id="np_d_time">' . zero($item['time']['hours']) . ':' . zero($item['time']['minutes']) . ':' . zero($item['time']['seconds']) . ' / ' . zero($item['totaltime']['hours']) . ':' . zero($item['totaltime']['minutes']) . ':' . zero($item['totaltime']['seconds']) . '</div>
|
||||||
|
' . (file_exists('cache/tvshows_' . $item['id'] . '.jpg') ? '<img src="cache/tvshows_' . $item['id'] . '.jpg">' : '') . '
|
||||||
|
<div id="np_d_det">
|
||||||
|
<div><span>' . $lang['i_season'] . ':</span> ' . $episode['season'] . '</div>
|
||||||
|
<div><span>' . $lang['i_episode'] . ':</span> ' . $episode['episode'] . '</div>
|
||||||
|
<div><span>' . $lang['i_rating'] . ':</span> ' . $tvshow['rating'] . '</div>
|
||||||
|
<div><span>' . $lang['i_genre'] . ':</span> ' . $tvshow['genre'] . '</div>
|
||||||
|
<div><span>' . $lang['i_plot'] . ':</span> ' . $episode['plot'] . '</div>
|
||||||
|
</div>';
|
||||||
|
} else if($item['type'] == 'movie') {
|
||||||
|
// get movie
|
||||||
|
$movie_sql = 'SELECT `title`, `originaltitle`, `rating`, `runtime`, `plot`, `set`, `year` FROM movies WHERE id = "' . $item['id'] . '"';
|
||||||
|
$movie_result = mysql_q($movie_sql);
|
||||||
|
$movie = mysql_fetch_assoc($movie_result);
|
||||||
|
// get panels
|
||||||
|
$search_array = array('genre', 'country', 'director', 'studio');
|
||||||
|
foreach ($search_array as $val) {
|
||||||
|
$sel_sql = 'SELECT ' . $val . '.' . $val . ' FROM ' . $val . ', movies_' . $val . ' WHERE ' . $val . '.id = movies_' . $val . '.' . $val . 'id AND movies_' . $val . '.id = "' . $item['id'] . '"';
|
||||||
|
$sel_res = mysql_q($sel_sql);
|
||||||
|
$out = array();
|
||||||
|
while ($s = mysql_fetch_row($sel_res)) {
|
||||||
|
$out[] = $s[0];
|
||||||
|
}
|
||||||
|
$movie[$val] = implode(' / ', $out);
|
||||||
|
}
|
||||||
|
$item['type'] = 'movies';
|
||||||
|
$item['details'] = '
|
||||||
|
<div id="np_d_title">' . $movie['title'] . '</div>
|
||||||
|
<div id="np_d_otitle">' . $movie['originaltitle'] . '</div>
|
||||||
|
<div id="bar"><div id="prog"></div></div>
|
||||||
|
<div id="np_d_time">' . zero($item['time']['hours']) . ':' . zero($item['time']['minutes']) . ':' . zero($item['time']['seconds']) . ' / ' . zero($item['totaltime']['hours']) . ':' . zero($item['totaltime']['minutes']) . ':' . zero($item['totaltime']['seconds']) . '</div>
|
||||||
|
' . (file_exists('cache/movies_' . $item['id'] . '.jpg') ? '<img src="cache/movies_' . $item['id'] . '.jpg">' : '') . '
|
||||||
|
<div id="np_d_det">'
|
||||||
|
. ($movie['year'] == '' ? '' : '<div><span>' . $lang['i_year'] . ':</span> ' . $movie['year'] . '</div>')
|
||||||
|
. ($movie['rating'] == '' ? '' : '<div><span>' . $lang['i_rating'] . ':</span> ' . $movie['rating'] . '</div>')
|
||||||
|
. ($movie['runtime'] == '' ? '' : '<div><span>' . $lang['i_runtime'] . ':</span> ' . $movie['runtime'] . ' ' . $lang['i_minute'] . '</div>')
|
||||||
|
. ($movie['genre'] == '' ? '' : '<div><span>' . $lang['i_genre'] . ':</span> ' . $movie['genre'] . '</div>')
|
||||||
|
. ($movie['country'] == '' ? '' : '<div><span>' . $lang['i_country'] . ':</span> ' . $movie['country'] . '</div>')
|
||||||
|
. ($movie['director'] == '' ? '' : '<div><span>' . $lang['i_director'] . ':</span> ' . $movie['director'] . '</div>')
|
||||||
|
. ($movie['set'] == '' ? '' : '<div><span>' . $lang['i_set'] . ':</span> ' . $movie['set'] . '</div>')
|
||||||
|
. ($movie['studio'] == '' ? '' : '<div><span>' . $lang['i_studio'] . ':</span> ' . $movie['studio'] . '</div>')
|
||||||
|
. ($movie['plot'] == '' ? '' : '<div><span>' . $lang['i_plot'] . ':</span> ' . $movie['plot'] . '</div>') . '
|
||||||
|
</div>';
|
||||||
|
} else {
|
||||||
|
$item['details'] = '
|
||||||
|
<div id="np_d_title">' . $item['label'] . '</div>
|
||||||
|
<div id="bar"><div id="prog"></div></div>
|
||||||
|
<div id="np_d_time">' . zero($item['time']['hours']) . ':' . zero($item['time']['minutes']) . ':' . zero($item['time']['seconds']) . ' / ' . zero($item['totaltime']['hours']) . ':' . zero($item['totaltime']['minutes']) . ':' . zero($item['totaltime']['seconds']) . '</div>
|
||||||
|
';
|
||||||
|
|
||||||
|
}
|
||||||
|
echo json_encode($item);
|
||||||
|
} else {
|
||||||
|
echo '{"stop": "stop"}';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'check':
|
||||||
|
$json = urlencode('{"jsonrpc": "2.0", "params": {"labels": ["System.BuildVersion"]}, "method": "XBMC.GetInfoLabels", "id": 1}');
|
||||||
|
break;
|
||||||
|
case 'xbmc_test':
|
||||||
|
$json_test = urlencode('{"jsonrpc": "2.0", "params": {"labels": ["System.BuildVersion"]}, "method": "XBMC.GetInfoLabels", "id": 1}');
|
||||||
|
$get_test = @file_get_contents('http://' . $_GET['xbmc_login'] . ':' . $_GET['xbmc_pass'] . '@' . $_GET['xbmc_host'] . ':' . $_GET['xbmc_port'] . '/jsonrpc?request=' . $json_test, false, $timeout);
|
||||||
|
if (!$get_test) {
|
||||||
|
echo '{"error": "error"}';
|
||||||
|
} else {
|
||||||
|
echo $get_test;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (isset($json)) {
|
||||||
|
$get = @file_get_contents('http://' . $setting['xbmc_login'] . ':' . $setting['xbmc_pass'] . '@' . $setting['xbmc_host'] . ':' . $setting['xbmc_port'] . '/jsonrpc?request=' . $json, false, $timeout);
|
||||||
|
if (!$get) {
|
||||||
|
echo '{"error": "error"}';
|
||||||
|
} else {
|
||||||
|
echo $get;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// delete movie or tvshow
|
||||||
|
if ($option == 'deletemovie' or $option == 'deletetvshow') {
|
||||||
|
// admin permission
|
||||||
|
if (!isset($_SESSION['logged_admin']) or $_SESSION['logged_admin'] !== true) {
|
||||||
|
die('no permission');
|
||||||
|
}
|
||||||
|
include('function.php');
|
||||||
|
connect($mysql_ml);
|
||||||
|
if ($option == 'deletemovie') {
|
||||||
|
sync_delete(array($_GET['id']), 'movies');
|
||||||
|
} else {
|
||||||
|
$episodes_sql = 'SELECT id FROM episodes WHERE tvshow = "' . $_GET['id'] . '"';
|
||||||
|
$episodes_res = mysql_q($episodes_sql);
|
||||||
|
$episodes_id = array();
|
||||||
|
while ($epi = mysql_fetch_assoc($episodes_res)) {
|
||||||
|
$episodes_id[] = $epi['id'];
|
||||||
|
}
|
||||||
|
sync_delete(array($_GET['id']), 'tvshows');
|
||||||
|
sync_delete($episodes_id, 'episodes');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// delete img
|
||||||
|
if ($option == 'deleteposter' or $option == 'deletefanart') {
|
||||||
|
// admin permission
|
||||||
|
if (!isset($_SESSION['logged_admin']) or $_SESSION['logged_admin'] !== true) {
|
||||||
|
die('no permission');
|
||||||
|
}
|
||||||
|
include('function.php');
|
||||||
|
connect($mysql_ml);
|
||||||
|
$filename = $_GET['video'] . '_' . $_GET['id'] . ($option == 'deletefanart' ? '_f' : '') . '.jpg';
|
||||||
|
remove_images(array($filename));
|
||||||
|
}
|
||||||
|
|
||||||
|
// hide movie or tvshow
|
||||||
|
if ($option == 'hidemovie' or $option == 'hidetvshow' or $option == 'visiblemovie' or $option == 'visibletvshow') {
|
||||||
|
// admin permission
|
||||||
|
if (!isset($_SESSION['logged_admin']) or $_SESSION['logged_admin'] !== true) {
|
||||||
|
die('no permission');
|
||||||
|
}
|
||||||
|
include('function.php');
|
||||||
|
$id = $_GET['id'];
|
||||||
|
if($option == 'hidemovie' or $option == 'hidetvshow') {
|
||||||
|
$hide = 1;
|
||||||
|
} else {
|
||||||
|
$hide = 0;
|
||||||
|
}
|
||||||
|
if($option == 'hidemovie' or $option == 'visiblemovie') {
|
||||||
|
$table = 'movies';
|
||||||
|
} else {
|
||||||
|
$table = 'tvshows';
|
||||||
|
}
|
||||||
|
connect($mysql_ml);
|
||||||
|
$hide_sql = 'UPDATE `' . $table . '` SET hide = ' . $hide . ' WHERE id = "' . $id . '"';
|
||||||
|
mysql_q($hide_sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
// banner
|
||||||
|
if ($option == 'banner') {
|
||||||
|
// admin permission
|
||||||
|
if (!isset($_SESSION['logged_admin']) or $_SESSION['logged_admin'] !== true) {
|
||||||
|
die('no permission');
|
||||||
|
}
|
||||||
|
include('function.php');
|
||||||
|
connect($mysql_ml);
|
||||||
|
$setting = get_settings();
|
||||||
|
include('lang/' . $setting['language'] . '/lang.php');
|
||||||
|
$b = create_banner($lang, 'banner_v.jpg', $_GET['banner']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// fanart exist
|
||||||
|
if ($option == 'fexist') {
|
||||||
|
if (file_exists('cache/' . $_GET['id'] . '_f.jpg')) {
|
||||||
|
echo '{"fexist": "exist"}';
|
||||||
|
} else {
|
||||||
|
echo '{"fexist": "notexist"}';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
780
movielib/function.php
Normal file
@ -0,0 +1,780 @@
|
|||||||
|
<?PHP
|
||||||
|
/* #########
|
||||||
|
* # CLASS #
|
||||||
|
*/#########
|
||||||
|
class Teamplate {
|
||||||
|
function __construct($file, $setting, $lang) {
|
||||||
|
$this->file = 'templates/' . $setting['theme'] . '/' . $file;
|
||||||
|
$this->set = $setting;
|
||||||
|
$this->lang = $lang;
|
||||||
|
$this->tpl = array();
|
||||||
|
$this->show = array();
|
||||||
|
}
|
||||||
|
function tpl($title, $val) {
|
||||||
|
$this->tpl[$title] = $val;
|
||||||
|
}
|
||||||
|
function show($title, $val) {
|
||||||
|
$this->show[$title] = $val;
|
||||||
|
}
|
||||||
|
function init() {
|
||||||
|
$cont = file_get_contents($this->file);
|
||||||
|
|
||||||
|
foreach ($this->tpl as $key => $val) {
|
||||||
|
$cont = str_replace('{' . $key . '}', $val, $cont);
|
||||||
|
}
|
||||||
|
foreach ($this->lang as $key => $val) {
|
||||||
|
$cont = str_replace('{LANG.' . $key . '}', $val, $cont);
|
||||||
|
}
|
||||||
|
foreach ($this->set as $key => $val) {
|
||||||
|
$cont = str_replace('{SET.' . $key . '}', $val, $cont);
|
||||||
|
}
|
||||||
|
foreach ($this->show as $key => $val) {
|
||||||
|
if ($val == 0) {
|
||||||
|
$cont = preg_replace('|{SHOW\.' . $key . '}.*?{/SHOW\.' . $key . '}|s', '', $cont);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$cont = preg_replace('|{.?SHOW\.[^}]+}|s', '', $cont);
|
||||||
|
return $cont;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # FUNCTIONS #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # MYSQL query #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
function mysql_q($query) {
|
||||||
|
$time = microtime(true);
|
||||||
|
$result = mysql_query($query);
|
||||||
|
if (!$result) {
|
||||||
|
echo $query . '<br>';
|
||||||
|
die ('ERROR: MySQL - ' . mysql_error());
|
||||||
|
} else {
|
||||||
|
if (isset($_GET['debug'])) {
|
||||||
|
echo $query . ' - ' . (microtime(true) - $time) . '<br>';
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ########################
|
||||||
|
* # Connect to databaase #
|
||||||
|
*/########################
|
||||||
|
function connect($mysql_ml) {
|
||||||
|
$conn_ml = @mysql_connect($mysql_ml[0] . ':' . $mysql_ml[1], $mysql_ml[2], $mysql_ml[3]);
|
||||||
|
if (!$conn_ml) {
|
||||||
|
die(mysql_error());
|
||||||
|
}
|
||||||
|
$sel_ml = @mysql_select_db($mysql_ml[4]);
|
||||||
|
if (!$sel_ml) {
|
||||||
|
die(mysql_error());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sets utf8 connections
|
||||||
|
mysql_q('SET CHARACTER SET utf8');
|
||||||
|
mysql_q('SET NAMES utf8');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##############################
|
||||||
|
* # Get settings from database #
|
||||||
|
*/##############################
|
||||||
|
function get_settings() {
|
||||||
|
|
||||||
|
// if settings in session not exists get it from database
|
||||||
|
if (!isset($_SESSION) or count($_SESSION) < 10) {
|
||||||
|
$set_sql = 'SELECT * FROM `config`';
|
||||||
|
$set_res = mysql_q($set_sql);
|
||||||
|
$get_set = mysql_fetch_assoc($set_res);
|
||||||
|
foreach($get_set as $key => $val) {
|
||||||
|
$_SESSION[$key] = $val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $_SESSION;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ###########################
|
||||||
|
* # Create and check tables #
|
||||||
|
*/###########################
|
||||||
|
function create_table($mysql_tables, $mysql_indexes, $lang, $version, $drop) {
|
||||||
|
|
||||||
|
// drop tables
|
||||||
|
if ($drop == 1) {
|
||||||
|
foreach ($mysql_tables as $table => $table_val) {
|
||||||
|
$drop_table_sql = 'DROP TABLE IF EXISTS `' . $table . '`';
|
||||||
|
$drop_table_res = mysql_q($drop_table_sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$tables_array = array();
|
||||||
|
$tables_sql = 'SHOW TABLES';
|
||||||
|
$tables_result = mysql_q($tables_sql);
|
||||||
|
while ($tables_db = mysql_fetch_array($tables_result)) {
|
||||||
|
$tables_array[] = $tables_db[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
// all tables
|
||||||
|
foreach ($mysql_tables as $table => $table_val) {
|
||||||
|
if (!in_array($table, $tables_array)) {
|
||||||
|
$create_sql_array = array();
|
||||||
|
foreach($table_val as $key => $val) {
|
||||||
|
$create_sql_array[] = '`' . $key . '` ' . $val;
|
||||||
|
}
|
||||||
|
$create_sql = 'CREATE TABLE IF NOT EXISTS `' . $table . '` (' . implode(', ', $create_sql_array) . ') DEFAULT CHARSET=utf8';
|
||||||
|
$create_res = mysql_q($create_sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// insert config
|
||||||
|
$sel = 'SELECT * FROM config';
|
||||||
|
$res = mysql_q($sel);
|
||||||
|
if (mysql_num_rows($res) == 0) {
|
||||||
|
$insert_config_sql = 'INSERT INTO `config` () VALUES ()';
|
||||||
|
$insert_config_res = mysql_q($insert_config_sql);
|
||||||
|
}
|
||||||
|
// insert users
|
||||||
|
$sel = 'SELECT * FROM users';
|
||||||
|
$res = mysql_q($sel);
|
||||||
|
if (mysql_num_rows($res) == 0) {
|
||||||
|
$insert_users_sql = 'INSERT INTO `users` (`id`, `login`, `password`) VALUES (1, "admin", "21232f297a57a5a743894a0e4a801fc3"), (2, "user", "ee11cbb19052e40b07aac0ca060c23ee")';
|
||||||
|
$insert_users_res = mysql_q($insert_users_sql);
|
||||||
|
}
|
||||||
|
// insert hash
|
||||||
|
$sel = 'SELECT * FROM hash';
|
||||||
|
$res = mysql_q($sel);
|
||||||
|
if (mysql_num_rows($res) == 0) {
|
||||||
|
$insert_hash_sql = 'INSERT INTO `hash` () VALUES ()';
|
||||||
|
$insert_hash_res = mysql_q ($insert_hash_sql);
|
||||||
|
}
|
||||||
|
// check columns
|
||||||
|
$columns_db_array = array();
|
||||||
|
foreach ($mysql_tables as $table => $table_val) {
|
||||||
|
$columns_sql = 'SHOW COLUMNS FROM `' . $table . '`';
|
||||||
|
$columns_result = mysql_q($columns_sql);
|
||||||
|
while($columns = mysql_fetch_assoc($columns_result)) {
|
||||||
|
$columns_db_array[$table][] = $columns['Field'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($mysql_tables as $table => $tables_val) {
|
||||||
|
$alter = array();
|
||||||
|
foreach($tables_val as $col_key => $col_type) {
|
||||||
|
if (!in_array($col_key, $columns_db_array[$table])) {
|
||||||
|
$alter[] = 'ADD `' . $col_key . '` ' . $col_type;
|
||||||
|
} else {
|
||||||
|
if ($col_key !== 'id') {
|
||||||
|
$alter[] = 'CHANGE `' . $col_key . '` `' . $col_key . '` ' . $col_type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($columns_db_array[$table] as $col) {
|
||||||
|
if (!array_key_exists($col, $mysql_tables[$table])) {
|
||||||
|
$alter[] = 'DROP COLUMN `' . $col . '`';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$alter_sql = 'ALTER TABLE `' . $table . '` ' . implode(', ', $alter);
|
||||||
|
mysql_q($alter_sql);
|
||||||
|
}
|
||||||
|
// check indexes
|
||||||
|
$index_db_array = array();
|
||||||
|
foreach ($mysql_indexes as $table => $index_val) {
|
||||||
|
$index_sql = 'SHOW INDEX FROM `' . $table . '`';
|
||||||
|
$index_res = mysql_q($index_sql);
|
||||||
|
while($index = mysql_fetch_assoc($index_res)) {
|
||||||
|
if ($index['Key_name'] !== 'PRIMARY') {
|
||||||
|
$index_db_array[$table][] = $index['Key_name'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($mysql_indexes as $table => $index_val) {
|
||||||
|
if (in_array($table, array_keys($index_db_array))) {
|
||||||
|
foreach (array_unique($index_db_array[$table]) as $index) {
|
||||||
|
$alter_sql = 'DROP INDEX `' . $index . '` ON `' . $table . '`';
|
||||||
|
mysql_q($alter_sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach($index_val as $index_name) {
|
||||||
|
$alter_sql = 'CREATE INDEX `' . $index_name . '` ON `' . $table . '` (`' . substr($index_name, 3) . '`)';
|
||||||
|
mysql_q($alter_sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// update version
|
||||||
|
$update_v_sql = 'UPDATE `config` SET `version` = "' . $version . '" WHERE `version` LIKE "%"';
|
||||||
|
mysql_q($update_v_sql);
|
||||||
|
$output_create_table = $lang['a_tables_updated'] . '<br>';
|
||||||
|
return $output_create_table;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #############################
|
||||||
|
* # SYNC - show video from db #
|
||||||
|
*/#############################
|
||||||
|
function show($cols, $table) {
|
||||||
|
$show_sql = 'SELECT `' . implode('`, `', $cols) . '` FROM `' . $table . '`';
|
||||||
|
$show_result = mysql_q($show_sql);
|
||||||
|
|
||||||
|
$output = array();
|
||||||
|
while ($d = mysql_fetch_row($show_result)) {
|
||||||
|
$output[$d[0]] = $d[1];
|
||||||
|
}
|
||||||
|
if (count($output) > 0) {
|
||||||
|
echo json_encode($output);
|
||||||
|
} else {
|
||||||
|
echo '{}';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ######################
|
||||||
|
* # SYNC - show images #
|
||||||
|
*/######################
|
||||||
|
function show_images() {
|
||||||
|
$types = array(
|
||||||
|
'movies' => array(
|
||||||
|
'poster' => '^movies_([0-9]+)\.jpg$',
|
||||||
|
'fanart' => '^movies_([0-9]+)_f\.jpg$',
|
||||||
|
'exthumb' => '^movies_([0-9]+)_t([0-9])\.jpg$'
|
||||||
|
),
|
||||||
|
'tvshows' => array(
|
||||||
|
'poster' => '^tvshows_([0-9]+)\.jpg$',
|
||||||
|
'fanart' => '^tvshows_([0-9]+)_f\.jpg$',
|
||||||
|
'exthumb' => '^tvshows_([0-9]+)_t([0-9])\.jpg$'
|
||||||
|
),
|
||||||
|
'episodes' => array(
|
||||||
|
'poster' => '^episodes_([0-9]+)\.jpg$'
|
||||||
|
),
|
||||||
|
'actors' => array(
|
||||||
|
'thumb' => '^([^_]{10})\.jpg$'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$files = scandir('cache');
|
||||||
|
$files_a = scandir('cache/actors');
|
||||||
|
$output = array(
|
||||||
|
'movies' => array('poster' => array(), 'fanart' => array(), 'exthumb' => array()),
|
||||||
|
'tvshows' => array('poster' => array(), 'fanart' => array(), 'exthumb' => array()),
|
||||||
|
'episodes' => array('poster' => array()),
|
||||||
|
'actors' => array('thumb' => array())
|
||||||
|
);
|
||||||
|
foreach ($types as $type => $img_type) {
|
||||||
|
$thumb_temp = array();
|
||||||
|
foreach ($img_type as $img => $regexp) {
|
||||||
|
if ($type == 'actors') {
|
||||||
|
foreach ($files_a as $file) {
|
||||||
|
preg_match('|' . $regexp . '|', $file, $match);
|
||||||
|
if (count($match) > 1) {
|
||||||
|
$output[$type][$img][] = $match[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
foreach ($files as $file) {
|
||||||
|
preg_match('|' . $regexp . '|', $file, $match);
|
||||||
|
if (count($match) > 1) {
|
||||||
|
if ($img == 'exthumb') {
|
||||||
|
$output[$type]['exthumb'][] = $match[1] . '_t' . $match[2];
|
||||||
|
} else {
|
||||||
|
$output[$type][$img][] = (int)$match[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($output) > 0) {
|
||||||
|
echo json_encode($output);
|
||||||
|
} else {
|
||||||
|
echo '{}';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #####################
|
||||||
|
* # SYNC - add images #
|
||||||
|
*/#####################
|
||||||
|
function add_images($data) {
|
||||||
|
// create img
|
||||||
|
$name = $data['name'];
|
||||||
|
$img_thumb = base64_decode($data['img']);
|
||||||
|
if (!file_exists('cache/' . $name) && $img_thumb !== '') {
|
||||||
|
$fp = fopen('cache/' . $name, 'wb');
|
||||||
|
fwrite($fp, $img_thumb);
|
||||||
|
fclose($fp);
|
||||||
|
if (preg_match('|^([^_]+_[0-9]+_t[0-9]).jpg|', $name, $t)) {
|
||||||
|
gd_convert('cache/' . $t[1] . 'm.jpg', 'cache/' . $name, 100, 54);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #######################
|
||||||
|
* # SYNC - remove images #
|
||||||
|
*/########################
|
||||||
|
function remove_images($data) {
|
||||||
|
foreach ($data as $name) {
|
||||||
|
if (file_exists('cache/' . $name)) {
|
||||||
|
unlink('cache/' . $name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reset_hash();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##########################
|
||||||
|
* # SYNC - add Video to DB #
|
||||||
|
*/##########################
|
||||||
|
function sync_add($mysql_tables) {
|
||||||
|
$insert_array = array();
|
||||||
|
// add actors, genres, countries
|
||||||
|
$panels = array('actor', 'genre', 'country', 'studio', 'director', 'stream');
|
||||||
|
foreach ($panels as $panel) {
|
||||||
|
if (isset($_POST[$panel])) {
|
||||||
|
$values = array();
|
||||||
|
foreach ($_POST[$panel] as $key => $val) {
|
||||||
|
// add stream
|
||||||
|
if ($panel == 'stream') {
|
||||||
|
$cols = array_keys($mysql_tables['movies_stream']);
|
||||||
|
$str = explode(';', $val);
|
||||||
|
foreach ($str as $k => $s) {
|
||||||
|
if (substr($mysql_tables['movies_stream'][$cols[$k+1]], 0, 3) == 'int') {
|
||||||
|
$str[$k] = ($s == '' ? 'NULL' : $s);
|
||||||
|
} else {
|
||||||
|
$str[$k] = '"' . $s . '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$values[] = '("' . $_POST['id'] . '", ' . implode(', ', $str) . ')';
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// check if panel exist
|
||||||
|
$sql_id = 'SELECT `id` FROM `' . $panel . '` WHERE `' . $panel . '` = "' . add_slash($val) . '"';
|
||||||
|
$res_id = mysql_q($sql_id);
|
||||||
|
if (!mysql_num_rows($res_id)) {
|
||||||
|
$sql_ins = 'INSERT INTO `' . $panel . '` (`' . $panel . '`) VALUES ("' . add_slash($val) . '")';
|
||||||
|
mysql_q($sql_ins);
|
||||||
|
$id = mysql_insert_id();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$row = mysql_fetch_assoc($res_id);
|
||||||
|
$id = $row['id'];
|
||||||
|
}
|
||||||
|
// add panels info
|
||||||
|
if($panel == 'actor') {
|
||||||
|
$cols = array('id', $panel . 'id', 'order');
|
||||||
|
$values[] = '("' . $_POST['id'] . '", "' . $id . '", "' . $key . '")';
|
||||||
|
} else {
|
||||||
|
$cols = array('id', $panel . 'id');
|
||||||
|
$values[] = '("' . $_POST['id'] . '", "' . $id . '")';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$insert_sql = 'INSERT INTO `' . $_POST['table'] . '_' . $panel . '` (`' . implode('`, `', $cols) . '`) VALUES ' . implode(', ', $values);
|
||||||
|
$result = mysql_q($insert_sql);
|
||||||
|
unset($_POST[$panel]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# insert values
|
||||||
|
foreach($mysql_tables[$_POST['table']] as $key => $val) {
|
||||||
|
if (isset($_POST[$key]) && strlen($_POST[$key]) > 0) {
|
||||||
|
if (substr($val, 0, 3) == 'int' or substr($val, 0, 5) == 'float') {
|
||||||
|
$insert_array['`' . $key . '`'] = add_slash($_POST[$key]);
|
||||||
|
} else {
|
||||||
|
$insert_array['`' . $key . '`'] = '"' . add_slash($_POST[$key]) . '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$insert_sql = 'INSERT INTO `' . $_POST['table'] . '` (' . implode(', ', array_keys($insert_array)) . ') VALUES (' . implode(', ', $insert_array) . ')';
|
||||||
|
$insert = mysql_q($insert_sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ###############################
|
||||||
|
* # SYNC - delete Video from DB #
|
||||||
|
*/###############################
|
||||||
|
function sync_delete($id, $table) {
|
||||||
|
$del_array = array($table);
|
||||||
|
if ($table == 'movies') {
|
||||||
|
array_push($del_array, $table . '_actor', $table . '_genre', $table . '_country', $table . '_studio', $table . '_director', $table . '_stream');
|
||||||
|
}
|
||||||
|
if ($table == 'tvshows') {
|
||||||
|
array_push($del_array, $table . '_actor', $table . '_genre');
|
||||||
|
}
|
||||||
|
if ($table == 'episodes') {
|
||||||
|
array_push($del_array, $table . '_stream');
|
||||||
|
}
|
||||||
|
foreach ($del_array as $t) {
|
||||||
|
$delete_sql = 'DELETE FROM `' . $t . '` WHERE `id` IN ("' . implode('", "', $id) . '")';
|
||||||
|
$delete = mysql_q($delete_sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
# delete images
|
||||||
|
$files_to_remove = array();
|
||||||
|
$files = scandir('cache/');
|
||||||
|
foreach ($id as $i) {
|
||||||
|
foreach($files as $file) {
|
||||||
|
$match = preg_match('/^' . $table . '_' . $i . '[_\.]/', $file);
|
||||||
|
if ($match == 1) {
|
||||||
|
$files_to_remove[] = $file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
remove_images($files_to_remove);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##################
|
||||||
|
* # Clean database #
|
||||||
|
*/##################
|
||||||
|
function clean_db() {
|
||||||
|
$clean_array = array('movies_actor', 'movies_country', 'movies_director', 'movies_genre', 'movies_studio', 'movies_stream', 'tvshows_actor', 'tvshows_genre', 'episodes_stream');
|
||||||
|
foreach ($clean_array as $table) {
|
||||||
|
$split = explode('_', $table);
|
||||||
|
$video = $split[0];
|
||||||
|
$panel = $split[1];
|
||||||
|
# delete from video_panel not existing id in movies or tvshow table
|
||||||
|
$clean_sql = 'DELETE FROM `' . $table . '` WHERE `id` NOT IN (SELECT `' . $video . '`.`id` FROM `' . $video . '`)';
|
||||||
|
mysql_q($clean_sql);
|
||||||
|
# delete from video_panel not existing id in panel table
|
||||||
|
if ($panel != 'stream') {
|
||||||
|
$clean_sql = 'DELETE FROM `' . $table . '` WHERE `' . $panel . 'id` NOT IN (SELECT `' . $panel . '`.`id` FROM `' . $panel . '`)';
|
||||||
|
mysql_q($clean_sql);
|
||||||
|
}
|
||||||
|
# delete from panel not existing id in video_panel table
|
||||||
|
if ($video == 'movies' && $panel != 'stream') {
|
||||||
|
$clean_sql = 'DELETE FROM `' . $panel . '` WHERE `id` NOT IN (SELECT `movies_' . $panel . '`.`' . $panel . 'id` FROM `movies_' . $panel . '`)';
|
||||||
|
if ($panel == 'actor' or $panel == 'genre') {
|
||||||
|
$clean_sql.= ' AND `id` NOT IN (SELECT `tvshows_' . $panel . '`.`' . $panel . 'id` FROM `tvshows_' . $panel . '`)';
|
||||||
|
}
|
||||||
|
mysql_q($clean_sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##############
|
||||||
|
* # Reset hash #
|
||||||
|
*/##############
|
||||||
|
function reset_hash() {
|
||||||
|
$reset_sql = 'UPDATE `hash` SET `movies` = "", `tvshows` = "", `episodes` = "", `images` = ""';
|
||||||
|
mysql_q($reset_sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ################
|
||||||
|
* # Change Token #
|
||||||
|
*/################
|
||||||
|
function change_token() {
|
||||||
|
$array = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',0,1,2,3,4,5,6,7,8,9);
|
||||||
|
$new_token = '';
|
||||||
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
|
$new_token.= $array[array_rand($array)];
|
||||||
|
}
|
||||||
|
$update_sql = 'UPDATE `config` SET `token` = "' . $new_token . '"';
|
||||||
|
$update = mysql_q($update_sql);
|
||||||
|
$_SESSION['token'] = $new_token;
|
||||||
|
return $new_token;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #################
|
||||||
|
* # GD conversion #
|
||||||
|
*/#################
|
||||||
|
function gd_convert($cache_path, $img_link, $new_width, $new_height) {
|
||||||
|
if (!file_exists($cache_path) and !empty($img_link)) {
|
||||||
|
$img = @imagecreatefromjpeg($img_link);
|
||||||
|
if (!$img) {
|
||||||
|
$curl_opt = array(
|
||||||
|
CURLOPT_RETURNTRANSFER => true,
|
||||||
|
CURLOPT_FOLLOWLOCATION => true
|
||||||
|
);
|
||||||
|
$c = curl_init($img_link);
|
||||||
|
curl_setopt_array($c, $curl_opt);
|
||||||
|
curl_exec($c);
|
||||||
|
$redirect = curl_getinfo($c);
|
||||||
|
curl_close($c);
|
||||||
|
$img = @imagecreatefromjpeg($redirect['redirect_url']);
|
||||||
|
}
|
||||||
|
if ($img) {
|
||||||
|
$width = imagesx($img);
|
||||||
|
$height = imagesy($img);
|
||||||
|
$img_temp = imagecreatetruecolor($new_width, $new_height);
|
||||||
|
imagecopyresampled($img_temp, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
|
||||||
|
imagejpeg($img_temp, $cache_path, 80);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # ADD SLASHES #
|
||||||
|
*/###############
|
||||||
|
function add_slash($string){
|
||||||
|
if (get_magic_quotes_gpc()) {
|
||||||
|
return $string;
|
||||||
|
} else {
|
||||||
|
return addslashes($string);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ####################
|
||||||
|
* # ARRAYS FOR PANEL #
|
||||||
|
*/####################
|
||||||
|
function panels_array($columns, $table) {
|
||||||
|
|
||||||
|
$sep_tab = array('actor', 'genre', 'country', 'studio', 'director');
|
||||||
|
$panels_array = array();
|
||||||
|
foreach ($columns as $val) {
|
||||||
|
if (in_array($val, $sep_tab)) {
|
||||||
|
$sel = 'SELECT DISTINCT ' . $val . '.id, ' . $val . '.' . $val . ' FROM `' . $val . '`, `' . $table . '_' . $val . '` WHERE ' . $val . '.id=' . $table . '_' . $val . '.' . $val . 'id ORDER BY ' . $val . '.' . $val;
|
||||||
|
$res = mysql_q($sel);
|
||||||
|
while ($r = mysql_fetch_assoc($res)) {
|
||||||
|
$panels_array[$val][$r['id']] = $r[$val];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$sel = 'SELECT DISTINCT `' . $val . '` FROM `' . $table . '` WHERE `hide` = 0 ORDER BY `' . $val . '`';
|
||||||
|
$res = mysql_q($sel);
|
||||||
|
if (mysql_num_rows($res) > 0) {
|
||||||
|
while ($r = mysql_fetch_assoc($res)) {
|
||||||
|
if ($r[$val] != '') {
|
||||||
|
$panels_array[$val][] = $r[$val];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isset($panels_array['year'])) { rsort($panels_array['year']); }
|
||||||
|
|
||||||
|
return $panels_array;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##############
|
||||||
|
* # CREATE URL #
|
||||||
|
*/##############
|
||||||
|
function create_url($setting, $urls) {
|
||||||
|
if ($setting['mod_rewrite'] == 1 && array_key_exists('HTTP_MOD_REWRITE', $_SERVER)) {
|
||||||
|
$index = 'index,';
|
||||||
|
$p = '-';
|
||||||
|
$c = ',';
|
||||||
|
$end = '.html';
|
||||||
|
} else {
|
||||||
|
$index = 'index.php?';
|
||||||
|
$p = '=';
|
||||||
|
$c = '&';
|
||||||
|
$end = '';
|
||||||
|
}
|
||||||
|
$pair = array();
|
||||||
|
foreach ($urls as $k => $v) {
|
||||||
|
if (strlen($v) > 0) {
|
||||||
|
$pair[] = $k . $p . $v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $index . implode($c, $pair) . $end;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ######################
|
||||||
|
* # AUTO CONFIG REMOTE #
|
||||||
|
*/######################
|
||||||
|
function auto_conf_remote($s) {
|
||||||
|
$ip = $_SERVER['REMOTE_ADDR'];
|
||||||
|
$xbmc_update_sql = 'UPDATE `config` SET
|
||||||
|
`xbmc_host` = "' . $ip . '",
|
||||||
|
`xbmc_port` = "' . $s['webserverport'] . '",
|
||||||
|
`xbmc_login` = "' . $s['webserverusername'] . '",
|
||||||
|
`xbmc_pass` = "' . $s['webserverpassword'] . '"';
|
||||||
|
mysql_q($xbmc_update_sql);
|
||||||
|
$_SESSION = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #################
|
||||||
|
* # CREATE BANNER #
|
||||||
|
*/#################
|
||||||
|
function create_banner($lang, $file, $data) {
|
||||||
|
|
||||||
|
$movie_sql = 'SELECT `id`, `title`, `originaltitle`, `rating`, `runtime`, `year`, `last_played` FROM `movies` ORDER BY `last_played` DESC LIMIT 0, 1';
|
||||||
|
$movie_result = mysql_q($movie_sql);
|
||||||
|
$movie = mysql_fetch_assoc($movie_result);
|
||||||
|
|
||||||
|
$episode_sql = 'SELECT `episode`, `season`, `tvshow`, `title`, `last_played` FROM `episodes` ORDER BY `last_played` DESC LIMIT 0, 1';
|
||||||
|
$episode_result = mysql_q($episode_sql);
|
||||||
|
$episode = mysql_fetch_assoc($episode_result);
|
||||||
|
$episode['e_title'] = $episode['title'];
|
||||||
|
unset($episode['title']);
|
||||||
|
|
||||||
|
if (isset($episode['last_played']) && $episode['last_played'] > $movie['last_played']) {
|
||||||
|
$tvshow_sql = 'SELECT `id`, `title`, `originaltitle`, `rating`, `last_played` FROM `tvshows` WHERE `id` = ' . $episode['tvshow'];
|
||||||
|
$tvshow_result = mysql_q($tvshow_sql);
|
||||||
|
$tvshow = mysql_fetch_assoc($tvshow_result);
|
||||||
|
$ban = array_merge($tvshow, $episode);
|
||||||
|
$table = 'tvshows';
|
||||||
|
$panels_array = array('genre');
|
||||||
|
} else {
|
||||||
|
$ban = $movie;
|
||||||
|
$table = 'movies';
|
||||||
|
$panels_array = array('genre', 'country');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($ban['id'])) {
|
||||||
|
foreach ($panels_array as $val) {
|
||||||
|
$sel_sql = 'SELECT ' . $val . '.' . $val . ' FROM ' . $val . ', ' . $table . '_' . $val . ' WHERE ' . $val . '.id = ' . $table . '_' . $val . '.' . $val . 'id AND ' . $table . '_' . $val . '.id = "' . $ban['id'] . '"';
|
||||||
|
$sel_res = mysql_q($sel_sql);
|
||||||
|
$out = array();
|
||||||
|
while ($s = mysql_fetch_row($sel_res)) {
|
||||||
|
$out[] = $s[0];
|
||||||
|
}
|
||||||
|
$ban[$val] = implode(' / ', $out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$b = array();
|
||||||
|
$b['w'] = 400; // banner width
|
||||||
|
$b['h'] = 70; // banner height
|
||||||
|
$b['bg_c'] = '141414'; // background color
|
||||||
|
$b['lw_c'] = 'FFFFFF'; // last watched color
|
||||||
|
$b['lw_s'] = 10; // last watched font size
|
||||||
|
$b['lw_x'] = 130; // last watched pos. x
|
||||||
|
$b['lw_y'] = 20; // last watched pos. y
|
||||||
|
$b['t_c'] = 'FFFFFF'; // title color
|
||||||
|
$b['t_s'] = 8; // title font size
|
||||||
|
$b['t_x'] = 136; // title pos. x
|
||||||
|
$b['t_y'] = 36; // title pos. y
|
||||||
|
$b['o_c'] = 'AAAAAA'; // title color
|
||||||
|
$b['o_s'] = 8; // title font size
|
||||||
|
$b['o_x'] = 136; // title pos. x
|
||||||
|
$b['o_y'] = 51; // title pos. y
|
||||||
|
$b['i_c'] = '808080'; // info color
|
||||||
|
$b['i_s'] = 6; // info font size
|
||||||
|
$b['i_x'] = 130; // info pos. x
|
||||||
|
$b['i_y'] = 63; // info pos. y
|
||||||
|
$b['st_c'] = '000000'; // stroke color
|
||||||
|
$b['b_c'] = 'FFFFFF'; // border color
|
||||||
|
|
||||||
|
if ($data !== '0') {
|
||||||
|
$banner_array = explode(';', $data);
|
||||||
|
$banner = array();
|
||||||
|
foreach ($banner_array as $val) {
|
||||||
|
$i = explode(':', $val);
|
||||||
|
$banner[$i[0]] = $i[1];
|
||||||
|
}
|
||||||
|
$b = $banner;
|
||||||
|
}
|
||||||
|
|
||||||
|
$bg_c = hex2rgb($b['bg_c']);
|
||||||
|
$lw_c = hex2rgb($b['lw_c']);
|
||||||
|
$t_c = hex2rgb($b['t_c']);
|
||||||
|
$o_c = hex2rgb($b['o_c']);
|
||||||
|
$i_c = hex2rgb($b['i_c']);
|
||||||
|
$st_c = hex2rgb($b['st_c']);
|
||||||
|
$b_c = hex2rgb($b['b_c']);
|
||||||
|
|
||||||
|
$font = 'admin/css/font/archivonarrow.ttf';
|
||||||
|
|
||||||
|
// background
|
||||||
|
$banner = imagecreatetruecolor($b['w'], $b['h']);
|
||||||
|
$bg_color = imagecolorallocate($banner, $bg_c['r'], $bg_c['g'], $bg_c['b']);
|
||||||
|
imagefill($banner, 0, 0, $bg_color);
|
||||||
|
|
||||||
|
// get poster and copy
|
||||||
|
if (file_exists('cache/' . $table . '_' . $ban['id'] . '_f.jpg')) {
|
||||||
|
$post = imagecreatefromjpeg('cache/' . $table . '_' . $ban['id'] . '_f.jpg');
|
||||||
|
} elseif (file_exists('cache/' . $table . '_' . $ban['id'] . '.jpg')) {
|
||||||
|
$post = imagecreatefromjpeg('cache/' . $table . '_' . $ban['id'] . '.jpg');
|
||||||
|
} else {
|
||||||
|
$post = imagecreatefromjpeg('templates/default/img/d_poster.jpg');
|
||||||
|
}
|
||||||
|
$width = imagesx($post);
|
||||||
|
$height = imagesy($post);
|
||||||
|
$new_height = $b['h'];
|
||||||
|
$new_width = $width / ($height / $new_height);
|
||||||
|
imagecopyresampled($banner, $post, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
|
||||||
|
|
||||||
|
// add gradient
|
||||||
|
$width = $b['h'];
|
||||||
|
$gradient = imagecreatetruecolor($width, $b['h']);
|
||||||
|
$gradient_color = imagecolorallocatealpha($gradient, $bg_c['r'], $bg_c['g'], $bg_c['b'], 127);
|
||||||
|
imagefill($gradient, 0, 0, $gradient_color);
|
||||||
|
for ($x=0; $x < $width; ++$x) {
|
||||||
|
$alpha = 127 - $x*(127/$width);
|
||||||
|
$gradient_color = imagecolorallocatealpha($gradient, $bg_c['r'], $bg_c['g'], $bg_c['b'], $alpha);
|
||||||
|
imageline($gradient, $x, 0, $x, $b['h'], $gradient_color);
|
||||||
|
}
|
||||||
|
imagecopyresampled($banner, $gradient, $new_width-$width, 0, 0, 0, $width, $b['h'], $width, $b['h']);
|
||||||
|
|
||||||
|
// add text
|
||||||
|
$last_watched_color = imagecolorallocate($banner, $lw_c['r'], $lw_c['g'], $lw_c['b']);
|
||||||
|
$title_color = imagecolorallocate($banner, $t_c['r'], $t_c['g'], $t_c['b']);
|
||||||
|
$o_title_color = imagecolorallocate($banner, $o_c['r'], $o_c['g'], $o_c['b']);
|
||||||
|
$info_color = imagecolorallocate($banner, $i_c['r'], $i_c['g'], $i_c['b']);
|
||||||
|
$stroke_color = imagecolorallocate($banner, $st_c['r'], $st_c['g'], $st_c['b']);
|
||||||
|
imagettfstroketext($banner, $b['lw_s'], 0, $b['lw_x'], $b['lw_y'], $last_watched_color, $stroke_color, $font, $lang['i_last_played'], 1);
|
||||||
|
imagettfstroketext($banner, $b['t_s'], 0, $b['t_x'], $b['t_y'], $title_color, $stroke_color, $font,
|
||||||
|
(isset($ban['title']) ? $ban['title'] : '') .
|
||||||
|
(isset($ban['season']) ? ' - ' . $ban['season'] . 'x' : '') .
|
||||||
|
(isset($ban['episode']) ? $ban['episode'] . ' ' : '') .
|
||||||
|
(isset($ban['e_title']) ? $ban['e_title'] : '')
|
||||||
|
, 1);
|
||||||
|
imagettfstroketext($banner, $b['o_s'], 0, $b['o_x'], $b['o_y'], $o_title_color, $stroke_color, $font, (isset($ban['originaltitle']) ? $ban['originaltitle'] : ''), 1);
|
||||||
|
imagettfstroketext($banner, $b['i_s'], 0, $b['i_x'], $b['i_y'], $info_color, $stroke_color, $font,
|
||||||
|
(isset($ban['year']) ? $ban['year'] : '') . ' | ' .
|
||||||
|
(isset($ban['rating']) ? $ban['rating'] : '') . ' | ' .
|
||||||
|
(isset($ban['runtime']) ? $ban['runtime'] . ' ' . $lang['i_minute'] : '') . ' | ' .
|
||||||
|
(isset($ban['genre']) ? $ban['genre'] : '') . ' | ' .
|
||||||
|
(isset($ban['country']) ? $ban['country'] : '')
|
||||||
|
, 1);
|
||||||
|
|
||||||
|
// icon
|
||||||
|
$icon = imagecreatefrompng('admin/img/' . $table . '.png');
|
||||||
|
imagecopy($banner, $icon, $b['w']-26, 6, 0, 0, 18, 18);
|
||||||
|
|
||||||
|
// border
|
||||||
|
$border_color = imagecolorallocate($banner, $b_c['r'], $b_c['g'], $b_c['b']);
|
||||||
|
imageline($banner, 0, 0, $b['w']-1, 0, $border_color);
|
||||||
|
imageline($banner, $b['w']-1, 0, $b['w']-1, $b['h']-1, $border_color);
|
||||||
|
imageline($banner, 0, $b['h']-1, $b['w']-1, $b['h']-1, $border_color);
|
||||||
|
imageline($banner, 0, 0, 0, $b['h']-1, $border_color);
|
||||||
|
|
||||||
|
// save as file
|
||||||
|
imagejpeg($banner, 'cache/' . $file, 100);
|
||||||
|
return $b;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ################
|
||||||
|
* # BANNER 2 STR #
|
||||||
|
*/################
|
||||||
|
function banner2str($array) {
|
||||||
|
$banner = '';
|
||||||
|
foreach ($array as $key => $val) {
|
||||||
|
$banner.= $key . ':' . strtoupper($val) . ';';
|
||||||
|
}
|
||||||
|
return substr($banner, 0, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # HEX 2 RGB #
|
||||||
|
*/#############
|
||||||
|
function hex2rgb($hex) {
|
||||||
|
$match = preg_match('/^[0-9abcdefABCDEF]{6}$/', $hex);
|
||||||
|
if ($match == true) {
|
||||||
|
$rgb = str_split($hex, 2);
|
||||||
|
$rgb = array('r' => hexdec($rgb[0]), 'g' => hexdec($rgb[1]), 'b' => hexdec($rgb[2]));
|
||||||
|
return $rgb;
|
||||||
|
} else {
|
||||||
|
return False;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##########################
|
||||||
|
* # STROKE FOR BANNER TEXT #
|
||||||
|
*/##########################
|
||||||
|
function imagettfstroketext(&$image, $size, $angle, $x, $y, &$textcolor, &$strokecolor, $fontfile, $text, $px) {
|
||||||
|
for($c1 = ($x-abs($px)); $c1 <= ($x+abs($px)); $c1++)
|
||||||
|
for($c2 = ($y-abs($px)); $c2 <= ($y+abs($px)); $c2++)
|
||||||
|
$banner = imagettftext($image, $size, $angle, $c1, $c2, $strokecolor, $fontfile, $text);
|
||||||
|
return imagettftext($image, $size, $angle, $x, $y, $textcolor, $fontfile, $text);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #################
|
||||||
|
* # ADD 0 TO LEFT #
|
||||||
|
*/#################
|
||||||
|
function zero($dig) {
|
||||||
|
return str_pad($dig, 2, 0, STR_PAD_LEFT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #################
|
||||||
|
* # LANGUAGE FLAG #
|
||||||
|
*/#################
|
||||||
|
function check_flag($f, $iso_lang) {
|
||||||
|
foreach ($iso_lang as $k => $v) {
|
||||||
|
if (in_array($f, $v)) {
|
||||||
|
return $k;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
910
movielib/index.php
Normal file
@ -0,0 +1,910 @@
|
|||||||
|
<?PHP
|
||||||
|
session_start();
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
|
||||||
|
include('config.php');
|
||||||
|
include('function.php');
|
||||||
|
|
||||||
|
if (!file_exists('db.php')) {
|
||||||
|
if (file_exists('install.php')) {
|
||||||
|
header('Location:install.php');
|
||||||
|
die('Can\'t redirect to install.php');
|
||||||
|
}
|
||||||
|
die('Copy install.php file to script directory');
|
||||||
|
}
|
||||||
|
|
||||||
|
// connect to database
|
||||||
|
connect($mysql_ml);
|
||||||
|
|
||||||
|
// get settings from db
|
||||||
|
$setting = get_settings();
|
||||||
|
include('lang/' . $setting['language'] . '/lang.php');
|
||||||
|
|
||||||
|
/* ##################
|
||||||
|
* # CHECK PASSWORD #
|
||||||
|
*/##################
|
||||||
|
if ($setting['protect_site'] == 1) {
|
||||||
|
if ($_SESSION['logged'] !== true) {
|
||||||
|
header('Location:login.php');
|
||||||
|
die('Can\'t redirect to login.php');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #################
|
||||||
|
* # DEFINE ARRAYS #
|
||||||
|
*/#################
|
||||||
|
if (!isset($_GET['video'])) {
|
||||||
|
$video = 'movies';
|
||||||
|
} else {
|
||||||
|
$video = $_GET['video'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ############
|
||||||
|
* # FACEBOOK #
|
||||||
|
*/############
|
||||||
|
if ($fb_link !== '') {
|
||||||
|
if ($video == 'tvshows') {
|
||||||
|
$face_sql = 'SELECT id FROM tvshows WHERE title="' . urldecode($fb_link) . '" LIMIT 0, 1';
|
||||||
|
} else {
|
||||||
|
$face_sql = 'SELECT id FROM movies WHERE title="' . urldecode(substr($fb_link, 0, -4)) . '" AND year="' . substr($fb_link, -4, 4) . '" LIMIT 0, 1';
|
||||||
|
}
|
||||||
|
$face_res = mysql_q($face_sql);
|
||||||
|
$face_id = mysql_fetch_assoc($face_res);
|
||||||
|
$id = $face_id['id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// views
|
||||||
|
$view = $setting['view'];
|
||||||
|
if (isset($_COOKIE['view'])) {
|
||||||
|
$view = $_COOKIE['view'];
|
||||||
|
}
|
||||||
|
if (isset($_GET['view'])) {
|
||||||
|
$view = $_GET['view'];
|
||||||
|
setcookie('view', $view, time()+(60 * 60 * 24 * 7));
|
||||||
|
}
|
||||||
|
if ($id == 0) {
|
||||||
|
$include_view = $view;
|
||||||
|
} else {
|
||||||
|
$include_view = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// output and show arrays
|
||||||
|
$output = array();
|
||||||
|
$show = array();
|
||||||
|
foreach ($item as $val) {
|
||||||
|
$output[$val] = '';
|
||||||
|
$show[$val] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// sort selected
|
||||||
|
if (isset($_GET['sort'])) {
|
||||||
|
$sort = $_GET['sort'];
|
||||||
|
} else {
|
||||||
|
$sort = $setting['default_sort'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// sort selected
|
||||||
|
if (isset($_GET['watch'])) {
|
||||||
|
$watch = $_GET['watch'];
|
||||||
|
} else {
|
||||||
|
$watch = $setting['default_watch'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$output['version'] = $version;
|
||||||
|
$output['view'] = $view;
|
||||||
|
$output['include_view'] = $views[$include_view];
|
||||||
|
$output['video'] = $video;
|
||||||
|
$output['watch'] = $watch;
|
||||||
|
if ($id == 0) {
|
||||||
|
$output['url_delete_filter'] = create_url($setting, array('video' => $video, 'view' => $view, 'sort' => $sort));
|
||||||
|
} else {
|
||||||
|
$output['url_delete_filter'] = create_url($setting, array('video' => $video, 'view' => $view, 'sort' => $sort, 'filter' => $filter, 'filterid' => $filterid));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ################
|
||||||
|
* # SELECT MEDIA #
|
||||||
|
*/################
|
||||||
|
if ($video == 'tvshows') {
|
||||||
|
$mysql_table = 'tvshows';
|
||||||
|
} else {
|
||||||
|
$mysql_table = 'movies';
|
||||||
|
}
|
||||||
|
$output['select_media'] = '<a class="' . ($video == 'movies' ? "selected" : "") . '" href="' . create_url($setting, array('video' => 'movies', 'view' => $view)) . '">' . mb_strtoupper($lang['i_movies']) . '</a><a class="' . ($video == 'tvshows' ? "selected" : "") . '" href="' . create_url($setting, array('video' => 'tvshows', 'view' => $view)) . '">' . mb_strtoupper($lang['i_tvshows']) . '</a>';
|
||||||
|
if ($setting['select_media_header'] == 1) {
|
||||||
|
$count_movies = mysql_result(mysql_q('SELECT COUNT( * ) FROM movies'), 0);
|
||||||
|
$count_tvshows = mysql_result(mysql_q('SELECT COUNT( * ) FROM tvshows'), 0);
|
||||||
|
if ($count_movies == 0 or $count_tvshows == 0) {
|
||||||
|
$output['select_media'] = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # TOP PANEL #
|
||||||
|
*/#############
|
||||||
|
$show['panel_top'] = $setting['panel_top'];
|
||||||
|
if ($setting['panel_top'] == 1) {
|
||||||
|
$top_panel_sql = array(
|
||||||
|
'top_item_last_added' => 'SELECT id, title, date_added, hide FROM ' . $mysql_table . ' WHERE hide=0 ORDER BY date_added DESC LIMIT ' . $setting['panel_top_limit'],
|
||||||
|
'top_item_most_watched' => 'SELECT id, title, hide FROM ' . $mysql_table . ' WHERE hide=0 ORDER BY play_count DESC LIMIT ' . $setting['panel_top_limit'],
|
||||||
|
'top_item_last_played' => 'SELECT id, title, last_played, hide FROM ' . $mysql_table . ' WHERE hide=0 ORDER BY last_played DESC LIMIT ' . $setting['panel_top_limit'],
|
||||||
|
'top_item_top_rated' => 'SELECT id, title, rating, hide FROM ' . $mysql_table . ' WHERE hide=0 ORDER BY rating DESC LIMIT ' . $setting['panel_top_limit']
|
||||||
|
);
|
||||||
|
foreach ($top_panel_sql as $name => $item_top_sql) {
|
||||||
|
$output[$name] = '';
|
||||||
|
$item_top_result = mysql_q($item_top_sql);
|
||||||
|
while ($item_top = mysql_fetch_array($item_top_result)) {
|
||||||
|
if (file_exists('cache/' . $mysql_table . '_' . $item_top['id'] . '.jpg')) {
|
||||||
|
$output[$name].= '<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'id' => $item_top['id'])) . '"><img src="cache/' . $mysql_table . '_' . $item_top['id'] . '.jpg" title="' . $item_top['title'] . '" alt=""></a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ####################
|
||||||
|
* # ARRAYS FOR PANEL #
|
||||||
|
*/####################
|
||||||
|
if ($video == 'tvshows') {
|
||||||
|
$columns = array('actor', 'genre', 'premiered');
|
||||||
|
} else {
|
||||||
|
$columns = array('actor', 'genre', 'country', 'year', 'director', 'set', 'studio');
|
||||||
|
}
|
||||||
|
$panels_array = panels_array($columns, $mysql_table);
|
||||||
|
|
||||||
|
$filter_array = array('actor', 'genre', 'country', 'studio', 'director');
|
||||||
|
if ($filter == '') {
|
||||||
|
$mysql_table2 = '';
|
||||||
|
$filter_mysql = '';
|
||||||
|
} else if (in_array($filter, $filter_array)) {
|
||||||
|
$mysql_table2 = ', ' . $mysql_table . '_' . $filter;
|
||||||
|
$filter_mysql = $mysql_table . '_' . $filter . '.' . $filter . 'id = '. $filterid . ' AND ' . $mysql_table . '.id = ' . $mysql_table . '_' . $filter . '.id AND';
|
||||||
|
} else {
|
||||||
|
$mysql_table2 = '';
|
||||||
|
$filter_mysql = $mysql_table . '.' . $filter . ' LIKE "%' . $panels_array[$filter][$filterid] . '%" AND';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##############
|
||||||
|
* # LEFT PANEL #
|
||||||
|
*/##############
|
||||||
|
|
||||||
|
// overall panel
|
||||||
|
$show['panel_overall'] = $setting['panel_overall'];
|
||||||
|
if ($setting['panel_overall'] > 0) {
|
||||||
|
$overall_sql = 'SELECT play_count, hide FROM ' . $mysql_table . ' WHERE hide=0';
|
||||||
|
$overall_result = mysql_q($overall_sql);
|
||||||
|
$overall_all = mysql_num_rows($overall_result);
|
||||||
|
$overall_watched = 0;
|
||||||
|
while($overall = mysql_fetch_array($overall_result)) {
|
||||||
|
if ($overall['play_count'] > 0) {
|
||||||
|
$overall_watched++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$output['overall_all'] = $overall_all;
|
||||||
|
$output['overall_watched'] = $overall_watched;
|
||||||
|
$output['overall_unwatched'] = $overall_all - $overall_watched;
|
||||||
|
}
|
||||||
|
|
||||||
|
// menu panel
|
||||||
|
$menu_array = array('genre', 'year', 'country', 'set', 'studio');
|
||||||
|
foreach ($menu_array as $menu_name) {
|
||||||
|
$output['panel_' . $menu_name] = '';
|
||||||
|
if ($setting['panel_' . $menu_name] <> 0 && isset($panels_array[$menu_name]) && count($panels_array[$menu_name]) > 0) {
|
||||||
|
$show['panel_' . $menu_name] = 1;
|
||||||
|
foreach ($panels_array[$menu_name] as $key => $val) {
|
||||||
|
if ($filter == $menu_name && $filterid == $key) {
|
||||||
|
$output['panel_' . $menu_name].= '<li>' . $val . '</li>';
|
||||||
|
} else {
|
||||||
|
$output['panel_' . $menu_name].= '<li><a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => $menu_name, 'filterid' => $key)) . '">' . $val . '</a></li>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ########
|
||||||
|
* # SORT #
|
||||||
|
*/########
|
||||||
|
$sort_array = array(
|
||||||
|
1 => array($lang['i_title'], 'title ASC'),
|
||||||
|
2 => array($lang['i_premiered'], 'premiered DESC'),
|
||||||
|
3 => array($lang['i_year'], 'year DESC'),
|
||||||
|
4 => array($lang['i_rating'], 'rating DESC'),
|
||||||
|
5 => array($lang['i_added'], 'date_added DESC'),
|
||||||
|
6 => array($lang['i_runtime'], ' CAST( runtime AS DECIMAL( 10, 2 ) ) DESC'),
|
||||||
|
7 => array($lang['i_last_played'], 'last_played DESC'),
|
||||||
|
8 => array($lang['i_most_watched'], 'play_count DESC')
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($video == 'tvshows') {
|
||||||
|
unset($sort_array[3], $sort_array[6]);
|
||||||
|
} else {
|
||||||
|
unset($sort_array[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$output['panel_sort'] = '';
|
||||||
|
foreach ($sort_array as $key => $val) {
|
||||||
|
$output['panel_sort'].= ($sort == $key ?
|
||||||
|
'<span>' . $val[0] . '</span>' :
|
||||||
|
'<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $key,
|
||||||
|
'filter' => $filter,
|
||||||
|
'filterid' => $filterid)) .
|
||||||
|
'" title="' . $lang['i_sort'] . '">' . $val[0] . '</a>');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #########
|
||||||
|
* # WATCH #
|
||||||
|
*/#########
|
||||||
|
$show['panel_watch'] = 1;
|
||||||
|
$watch_arr = array(0 => 'all', 1 => 'watched', 2 => 'unwatched');
|
||||||
|
$output['panel_watch'].= '<div id="watch_menu"><div id="watch_title">' . $lang['i_watched_status'] . ': ' . $lang['i_' . $watch_arr[$watch]] . '</div><div id="watches">';
|
||||||
|
foreach ($watch_arr as $key => $val) {
|
||||||
|
if ($watch == $key) {
|
||||||
|
$output['panel_watch'].= '<span>' . $lang['i_' . $val] . '</span>';
|
||||||
|
} else {
|
||||||
|
$output['panel_watch'].= '<a href="' . create_url($setting, array('id' => $id, 'video' => $video, 'view' => $view, 'watch' => $key, 'sort' => $sort, 'filter' => $filter, 'filterid' => $filterid)) . '">' . $lang['i_' . $val] . '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($watch == 1) {
|
||||||
|
$watch_mysql = ' > 0';
|
||||||
|
} elseif ($watch == 2) {
|
||||||
|
$watch_mysql = ' = 0';
|
||||||
|
} else {
|
||||||
|
$watch_mysql = ' >= 0';
|
||||||
|
}
|
||||||
|
$output['panel_watch'].= '</div></div>';
|
||||||
|
|
||||||
|
/* ########
|
||||||
|
* # VIEW #
|
||||||
|
*/########
|
||||||
|
if ($setting['panel_view'] > 0) {
|
||||||
|
$show['panel_view'] = 1;
|
||||||
|
$output['panel_view'].= '<div id="view_menu"><div id="view_title">' . $lang['i_view'] . ': ' . $lang['i_' . $views[$view]] . '</div><div id="views">';
|
||||||
|
foreach ($views as $key => $val) {
|
||||||
|
if ($view == $key) {
|
||||||
|
$output['panel_view'].= '<span>' . $lang['i_' . $val] . '</span>';
|
||||||
|
} else {
|
||||||
|
$output['panel_view'].= '<a href="' . create_url($setting, array('id' => $id, 'video' => $video, 'view' => $key, 'watch' => $watch, 'sort' => $sort, 'filter' => $filter, 'filterid' => $filterid)) . '">' . $lang['i_' . $val] . '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$output['panel_view'].= '</div></div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##########
|
||||||
|
* # SEARCH #
|
||||||
|
*/##########
|
||||||
|
$show['panel_live_search'] = $setting['live_search'];
|
||||||
|
$search_mysql = '%';
|
||||||
|
if ($search !== '') {
|
||||||
|
$search_mysql = $search;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # PANEL NAV #
|
||||||
|
*/#############
|
||||||
|
$id_mysql = ($id == 0 ? '%' : $id);
|
||||||
|
$nav_sql = 'SELECT ' . $mysql_table . '.id FROM ' . $mysql_table . $mysql_table2 . ' WHERE
|
||||||
|
' . $filter_mysql . '
|
||||||
|
' . $mysql_table . '.title LIKE "%' . $search_mysql . '%" AND
|
||||||
|
' . $mysql_table . '.id LIKE "' . $id_mysql . '" AND
|
||||||
|
' . $mysql_table . '.play_count ' . $watch_mysql . ' AND
|
||||||
|
' . $mysql_table . '.hide=0
|
||||||
|
ORDER BY ' . $sort_array[$sort][1];
|
||||||
|
|
||||||
|
$nav_result = mysql_q($nav_sql);
|
||||||
|
$row = mysql_num_rows($nav_result);
|
||||||
|
if ($setting['per_page'] == 0) {
|
||||||
|
$i_pages = 1;
|
||||||
|
$output['panel_nav'] = '';
|
||||||
|
} else {
|
||||||
|
$i_pages = (ceil($row / $setting['per_page']));
|
||||||
|
$output['panel_nav'] = ($page == 1 ? '<span>' . $lang['i_previous'] . '</span>' : '<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'page' => ($page - 1), 'filter' => $filter, 'filterid' => $filterid, 'search' => $search)) . '">' . $lang['i_previous'] . '</a>')
|
||||||
|
. ' <span>' . $lang['i_page'] . ' ' . $page . ' / ' . $i_pages . '</span> ' .
|
||||||
|
($page == $i_pages ? '<span>' . $lang['i_next'] . '</span>' : '<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'page' => ($page + 1), 'filter' => $filter, 'filterid' => $filterid, 'search' => $search)) . '">' . $lang['i_next'] . '</a>');
|
||||||
|
if ($row == 0) {
|
||||||
|
$output['panel_nav'] = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ################
|
||||||
|
* # PANEL FILTER #
|
||||||
|
*/################
|
||||||
|
if ($filter !== '') {
|
||||||
|
$output['panel_filter'] = '<span>' . $lang['i_filter'] . ': </span>' . $lang['i_' . $filter] . ' » ' . $panels_array[$filter][$filterid];
|
||||||
|
$show['panel_filter'] = 1;
|
||||||
|
}
|
||||||
|
if ($search !== '') {
|
||||||
|
$output['panel_filter'] = '<span>' . $lang['i_search'] . ': </span>' . $lang['i_result'] . ' » ' . $search;
|
||||||
|
$show['panel_filter'] = 1;
|
||||||
|
}
|
||||||
|
if ($id > 0) {
|
||||||
|
$output['panel_filter'] = '<span>' . $lang['i_filter'] . ': </span>' . $lang['i_title'];
|
||||||
|
$show['panel_filter'] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##################
|
||||||
|
* # CONTROL REMOTE #
|
||||||
|
*/##################
|
||||||
|
if (isset($_SESSION['logged_admin']) && $_SESSION['logged_admin'] == true) {
|
||||||
|
$show['panel_remote'] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##############
|
||||||
|
* # MOVIE LIST #
|
||||||
|
*/##############
|
||||||
|
if ($setting['per_page'] == 0) {
|
||||||
|
$limit_sql = '';
|
||||||
|
} else {
|
||||||
|
$start = ($page - 1) * $setting['per_page'];
|
||||||
|
$limit_sql = ' LIMIT ' . $start . ', ' . $setting['per_page'];
|
||||||
|
}
|
||||||
|
$list_sql = 'SELECT ' . $mysql_table . '.* FROM ' . $mysql_table . $mysql_table2 . ' WHERE
|
||||||
|
' . $filter_mysql . '
|
||||||
|
' . $mysql_table . '.title LIKE "%' . $search_mysql . '%" AND
|
||||||
|
' . $mysql_table . '.id LIKE "' . $id_mysql . '" AND
|
||||||
|
' . $mysql_table . '.play_count ' . $watch_mysql . ' AND
|
||||||
|
' . $mysql_table . '.hide=0
|
||||||
|
ORDER BY ' . $sort_array[$sort][1] . $limit_sql;
|
||||||
|
|
||||||
|
$list_result = mysql_q($list_sql);
|
||||||
|
|
||||||
|
// get date for last added
|
||||||
|
$new_sql = 'SELECT ' . $mysql_table . '.date_added FROM ' . $mysql_table . ' ORDER BY ' . $mysql_table . '.date_added DESC LIMIT 0, 1';
|
||||||
|
$new_result = mysql_q($new_sql);
|
||||||
|
$new_date = mysql_fetch_assoc($new_result);
|
||||||
|
$new_date = substr($new_date['date_added'], 0, 10);
|
||||||
|
|
||||||
|
$output_panel_list = '';
|
||||||
|
while ($list = mysql_fetch_assoc($list_result)) {
|
||||||
|
|
||||||
|
// output and show desc arrays
|
||||||
|
$output_desc = array();
|
||||||
|
$show_desc = array();
|
||||||
|
foreach ($item_desc as $val) {
|
||||||
|
$output_desc[$val] = '';
|
||||||
|
$show_desc[$val] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output_desc['mysql_table'] = $mysql_table;
|
||||||
|
$output_desc['id'] = $list['id'];
|
||||||
|
$output_desc['video'] = $video;
|
||||||
|
$output_desc['view'] = $view;
|
||||||
|
$output_desc['sort'] = $sort;
|
||||||
|
$output_desc['title'] = $list['title'];
|
||||||
|
|
||||||
|
$show_desc['mysql_table'] = 1;
|
||||||
|
$show_desc['id'] = 1;
|
||||||
|
$show_desc['video'] = 1;
|
||||||
|
$show_desc['title'] = 1;
|
||||||
|
|
||||||
|
if (isset($_SESSION['logged_admin']) && $_SESSION['logged_admin'] == true && $video == 'movies') {
|
||||||
|
$show_desc['xbmc'] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// link title
|
||||||
|
$output_desc['url_title'] = create_url($setting, array('id' => $list['id'], 'video' => $video, 'view' => $view, 'sort' => $sort, 'filter' => $filter, 'filterid' => $filterid));
|
||||||
|
|
||||||
|
// originaltitle
|
||||||
|
if ($list['originaltitle'] !== '') {
|
||||||
|
$show_desc['originaltitle'] = 1;
|
||||||
|
$output_desc['originaltitle'] = $list['originaltitle'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// file
|
||||||
|
if ($video == 'movies') {
|
||||||
|
$output_desc['file'] = 'http://' . $setting['xbmc_login'] . ':' . $setting['xbmc_pass'] . '@' . $setting['xbmc_host'] . ':' . $setting['xbmc_port'] . '/vfs/' . urlencode($list['file']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// poster
|
||||||
|
$poster = 'cache/' . $mysql_table . '_' . $list['id'] . '.jpg';
|
||||||
|
if (!file_exists($poster)) {
|
||||||
|
$output_desc['poster'] = 'templates/' . $setting['theme'] . '/img/d_poster.jpg';
|
||||||
|
} else {
|
||||||
|
$output_desc['poster'] = $poster;
|
||||||
|
}
|
||||||
|
|
||||||
|
// wached status
|
||||||
|
if ($setting['watched_status'] == 1 && $list['play_count'] > 0) {
|
||||||
|
$output_desc['watched_img'] = '<img class="watched_img" src="templates/' . $setting['theme'] . '/img/watched.png" title="' . $lang['i_last_played'] . ': ' . $list['last_played'] . '" alt="">';
|
||||||
|
}
|
||||||
|
|
||||||
|
// play count
|
||||||
|
if ($setting['show_playcount'] == 1 && $list['play_count'] > 0) {
|
||||||
|
$playcount_array = str_split($list['play_count']);
|
||||||
|
$output_desc['playcount_img'] = '<div class="playcount_block">';
|
||||||
|
foreach ($playcount_array as $int) {
|
||||||
|
$output_desc['playcount_img'].= '<img class="playcount_img" src="templates/' . $setting['theme'] . '/img/' . $int . '.png" title="' . $lang['i_last_played'] . ': ' . $list['last_played'] . '" alt="">';
|
||||||
|
}
|
||||||
|
$output_desc['playcount_img'].= '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// genre
|
||||||
|
$output_genre_array = array();
|
||||||
|
$genre_sql = 'SELECT genre.id, genre.genre FROM genre, ' . $video . '_genre WHERE ' . $video . '_genre.id = "' . $list['id'] . '" AND genre.id = ' . $video . '_genre.genreid';
|
||||||
|
$genre_res = mysql_q($genre_sql);
|
||||||
|
|
||||||
|
while ($val = mysql_fetch_assoc($genre_res)) {
|
||||||
|
$output_genre_array[] = '<a href="'. create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => 'genre', 'filterid' => $val['id'])) . '">' . $val['genre'] . '</a>';
|
||||||
|
}
|
||||||
|
if (count($output_genre_array) > 0) {
|
||||||
|
$show_desc['genre'] = 1;
|
||||||
|
$output_desc['genre'] = implode(' / ', $output_genre_array);
|
||||||
|
}
|
||||||
|
|
||||||
|
// rating
|
||||||
|
if ($list['rating'] !== '') {
|
||||||
|
$show_desc['rating'] = 1;
|
||||||
|
$output_desc['rating'] = $list['rating'];
|
||||||
|
|
||||||
|
$show_desc['rating_star'] = 1;
|
||||||
|
$output_desc['rating_star'] = '';
|
||||||
|
$r = $output_desc['rating'];
|
||||||
|
for ($s = 1; $s <= 10; $s++) {
|
||||||
|
if ($r >= 1) {
|
||||||
|
$output_desc['rating_star'].= '<img src="templates/' . $setting['theme'] . '/img/star.png"> ';
|
||||||
|
} else if ($r >= 0.5) {
|
||||||
|
$output_desc['rating_star'].= '<img src="templates/' . $setting['theme'] . '/img/star_h.png"> ';
|
||||||
|
} else {
|
||||||
|
$output_desc['rating_star'].= '<img src="templates/' . $setting['theme'] . '/img/star_g.png"> ';
|
||||||
|
}
|
||||||
|
$r--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// actors
|
||||||
|
$output_actor_array = array();
|
||||||
|
$actor_sql = 'SELECT actor.id, actor.actor FROM actor, ' . $video . '_actor WHERE ' . $video . '_actor.id = "' . $list['id'] . '" AND actor.id = ' . $video . '_actor.actorid ORDER BY ' . $video . '_actor.order';
|
||||||
|
$actor_res = mysql_q($actor_sql);
|
||||||
|
|
||||||
|
while ($val = mysql_fetch_assoc($actor_res)) {
|
||||||
|
if ($val['actor'] !== '') {
|
||||||
|
if (file_exists('cache/actors/' . substr(md5($val['actor']), 0, 10) . '.jpg')) {
|
||||||
|
$actor_thumb = '<img class="actor_thumb" src="cache/actors/' . substr(md5($val['actor']), 0, 10) . '.jpg">';
|
||||||
|
} else {
|
||||||
|
$actor_thumb = '';
|
||||||
|
}
|
||||||
|
$output_actor_array[] = '<a class="actor_img" href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => 'actor', 'filterid' => $val['id'])) . '" alt="' . substr(md5($val['actor']), 0, 10) . '">' . $actor_thumb . $val['actor'] . '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($output_actor_array) > 0) {
|
||||||
|
$show_desc['actor'] = 1;
|
||||||
|
$output_desc['actor'] = implode(' / ', $output_actor_array);
|
||||||
|
}
|
||||||
|
|
||||||
|
// plot
|
||||||
|
if ($list['plot'] !== '') {
|
||||||
|
$show_desc['plot'] = 1;
|
||||||
|
$output_desc['plot'] = $list['plot'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// only movies
|
||||||
|
if ($video == 'movies') {
|
||||||
|
|
||||||
|
// year
|
||||||
|
if ($list['year'] !== '') {
|
||||||
|
$show_desc['year'] = 1;
|
||||||
|
$output_desc['year'] = '<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => 'year', 'filterid' => array_search($list['year'], $panels_array['year']))) . '">' . $list['year'] . '</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// country
|
||||||
|
$output_country_array = array();
|
||||||
|
$country_sql = 'SELECT country.id, country.country FROM country, ' . $video . '_country WHERE ' . $video . '_country.id = "' . $list['id'] . '" AND country.id = ' . $video . '_country.countryid';
|
||||||
|
$country_res = mysql_q($country_sql);
|
||||||
|
|
||||||
|
while ($val = mysql_fetch_assoc($country_res)) {
|
||||||
|
$output_country_array[] = '<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => 'country', 'filterid' => $val['id'])) . '">' . $val['country'] . '</a>';
|
||||||
|
}
|
||||||
|
if (count($output_country_array) > 0) {
|
||||||
|
$show_desc['country'] = 1;
|
||||||
|
$output_desc['country'] = implode(' / ', $output_country_array);
|
||||||
|
}
|
||||||
|
|
||||||
|
// runtime
|
||||||
|
if ($list['runtime'] !== NULL) {
|
||||||
|
$show_desc['runtime'] = 1;
|
||||||
|
$output_desc['runtime'] = $list['runtime'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// director
|
||||||
|
$director_sql = 'SELECT director.id, director.director FROM director, ' . $video . '_director WHERE ' . $video . '_director.id = "' . $list['id'] . '" AND director.id = ' . $video . '_director.directorid';
|
||||||
|
$director_res = mysql_q($director_sql);
|
||||||
|
$val = mysql_fetch_assoc($director_res);
|
||||||
|
if (isset($val['director'])) {
|
||||||
|
$show_desc['director'] = 1;
|
||||||
|
$output_desc['director'] = '<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => 'director', 'filterid' => $val['id'])) . '">' . $val['director'] . '</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// set
|
||||||
|
if ($list['set'] !== '') {
|
||||||
|
$show_desc['set'] = 1;
|
||||||
|
$output_desc['set'] = '<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => 'set', 'filterid' => array_search($list['set'], $panels_array['set']))) . '">' . $list['set'] . '</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// imdb id
|
||||||
|
if ($list['imdbid'] !== '' && $list['imdbid']{0} == 't') {
|
||||||
|
$output_desc['imdb_url'] = '<a target="_blank" href="http://www.imdb.com/title/' . $list['imdbid'] . '/"><img class="imdb_img" src="templates/' . $setting['theme'] . '/img/imdb.png"></a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// studio
|
||||||
|
$studio_sql = 'SELECT studio.id, studio.studio FROM studio, ' . $video . '_studio WHERE ' . $video . '_studio.id = "' . $list['id'] . '" AND studio.id = ' . $video . '_studio.studioid';
|
||||||
|
$studio_res = mysql_q($studio_sql);
|
||||||
|
$val = mysql_fetch_assoc($studio_res);
|
||||||
|
if (isset($val['studio'])) {
|
||||||
|
$show_desc['studio'] = 1;
|
||||||
|
$output_desc['studio'] = '<a href="' . create_url($setting, array('video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => 'studio', 'filterid' => $val['id'])) . '">' . $val['studio'] . '</a>';
|
||||||
|
if (file_exists('templates/' . $setting['theme'] . '/img/studios/' . $val['studio'] . '.png')) {
|
||||||
|
$show_desc['studio_art'] = 1;
|
||||||
|
$output_desc['studio_art'] = '<img class="studio" src="templates/' . $setting['theme'] . '/img/studios/' . $val['studio'] . '.png">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ribbon new
|
||||||
|
if (substr($list['date_added'], 0, 10) == $new_date) {
|
||||||
|
$show_desc['ribbon_new'] = 1;
|
||||||
|
$output_desc['ribbon_new'] = '<div class="ribbon_new_text">' . mb_strtoupper($lang['i_ribbon_new']) . '</div><img class="ribbon_new" src="templates/' . $setting['theme'] . '/img/ribbon_new.png">';
|
||||||
|
}
|
||||||
|
|
||||||
|
// streams
|
||||||
|
$stream_sql = 'SELECT * FROM `movies_stream` WHERE id = "' . $list['id'] . '"';
|
||||||
|
$stream_res = mysql_q($stream_sql);
|
||||||
|
|
||||||
|
if (mysql_num_rows($stream_res) > 0) {
|
||||||
|
$str = array('v' => array(), 'a' => array(), 's' => array());
|
||||||
|
while ($stream = mysql_fetch_assoc($stream_res)) {
|
||||||
|
$str[$stream['type']][] = $stream;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$img_flag_vres = '';
|
||||||
|
$img_flag_vtype = '';
|
||||||
|
$img_flag_vq = '';
|
||||||
|
if (isset($str['v'])) {
|
||||||
|
foreach ($str['v'] as $s) {
|
||||||
|
// video resolution
|
||||||
|
foreach ($vres_assoc as $key => $val) {
|
||||||
|
if (is_numeric($s['v_width']) && $s['v_width'] >= $key) {
|
||||||
|
$img_flag_vres = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/vres_' . $val . '.png" alt="">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// video codec
|
||||||
|
foreach ($vtype_assoc as $key => $val) {
|
||||||
|
if (in_array($s['v_codec'], $vtype_assoc[$key])) {
|
||||||
|
$img_flag_vtype = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/vc_' . $key . '.png" alt="">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// video sd, hd or uhd
|
||||||
|
$img_flag_vq = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/v_sd.png" alt="">';
|
||||||
|
if (is_numeric($s['v_width']) && $s['v_width'] >= 1280) {
|
||||||
|
$img_flag_vq = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/v_hd.png" alt="">';
|
||||||
|
}
|
||||||
|
if (is_numeric($s['v_width']) && $s['v_width'] >= 3000) {
|
||||||
|
$img_flag_vq = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/v_uhd.png" alt="">';
|
||||||
|
}
|
||||||
|
|
||||||
|
$output_desc['img_flag_v'].= '<div>' . $img_flag_vres . $img_flag_vtype . $img_flag_vq . '</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isset($str['a'])) {
|
||||||
|
foreach ($str['a'] as $s) {
|
||||||
|
// audio codec
|
||||||
|
foreach ($atype_assoc as $key => $val) {
|
||||||
|
if(in_array($s['a_codec'], $atype_assoc[$key])) {
|
||||||
|
$img_flag_atype = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/ac_' . $key . '.png" alt="">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// audio channel
|
||||||
|
foreach ($achan_assoc as $val) {
|
||||||
|
if (is_numeric($s['a_chan']) && $s['a_chan'] >= $val) {
|
||||||
|
$img_flag_achan = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/ach_' . $val . '.png" alt="">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// audio language
|
||||||
|
if (file_exists('templates/' . $setting['theme'] . '/img/flags/l_' . check_flag($s['a_lang'], $iso_lang) . '.png')) {
|
||||||
|
$img_flag_alang = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/l_' . check_flag($s['a_lang'], $iso_lang) . '.png" alt="">';
|
||||||
|
} else {
|
||||||
|
$img_flag_alang = $s['a_lang'];
|
||||||
|
}
|
||||||
|
$output_desc['img_flag_a'].= '<div>' . $img_flag_atype . $img_flag_achan . $img_flag_alang . '</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// subtitles
|
||||||
|
if (isset($str['s'])) {
|
||||||
|
foreach ($str['s'] as $s) {
|
||||||
|
if (file_exists('templates/' . $setting['theme'] . '/img/flags/l_' . check_flag($s['s_lang'], $iso_lang) . '.png')) {
|
||||||
|
$img_flag_slang = '<img src="templates/' . $setting['theme'] . '/img/flags/sub.png" alt=""><img class="flag" src="templates/' . $setting['theme'] . '/img/flags/l_' . check_flag($s['s_lang'], $iso_lang) . '.png" alt="">';
|
||||||
|
} else {
|
||||||
|
$img_flag_slang = $s['s_lang'];
|
||||||
|
}
|
||||||
|
$output_desc['img_flag_s'].= '<div>' . $img_flag_slang . '</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// extra thumbs
|
||||||
|
$ex_thumb_array = array();
|
||||||
|
for ($c=1;$c<10;$c++) {
|
||||||
|
$ex_t = 'cache/movies_' . $list['id'] . '_t' . $c . 'm.jpg';
|
||||||
|
if (file_exists($ex_t)) {
|
||||||
|
$ex_thumb_array[] = '<img src="' . $ex_t . '">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($ex_thumb_array) > 0) {
|
||||||
|
$show_desc['extra_thumbs'] = 1;
|
||||||
|
$output_desc['extra_thumbs'] = '<div class="ex_thumbs">' . implode('', $ex_thumb_array) . '</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// trailer
|
||||||
|
if ($list['trailer'] !== '' && $setting['show_trailer'] == 1) {
|
||||||
|
$output_desc['trailer_img'] = '<a href="' . create_url($setting, array('id' => $list['id'], 'video' => $video, 'view' => $view, 'watch' => $watch, 'sort' => $sort, 'filter' => $filter, 'filterid' => $filterid)) . '#trailer"><img class="trailer_img animate" src="templates/' . $setting['theme'] . '/img/trailer.png" title="' . $lang['i_show_trailer'] . '" alt=""></a>';
|
||||||
|
}
|
||||||
|
if ($list['trailer'] !== '' && $setting['show_trailer'] == 1 && $id <> 0) {
|
||||||
|
$show_desc['trailer'] = 1;
|
||||||
|
if (substr($list['trailer'], 0, 18) == 'http://www.youtube') {
|
||||||
|
$output_desc['trailer'].= '
|
||||||
|
<iframe id="player" type="text/html" width="560" height="260" src="' . $list['trailer'] . '" frameborder="0"></iframe>
|
||||||
|
';
|
||||||
|
} else {
|
||||||
|
$ext = substr($list['trailer'], strrpos($list['trailer'], '.')+1, strlen($list['trailer']));
|
||||||
|
foreach ($mimetype_assoc as $key => $val) {
|
||||||
|
if(in_array($ext, $val)) {
|
||||||
|
$mimetype = $key;
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
$mimetype = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($ext == 'mov') {
|
||||||
|
$output_desc['trailer'].= '
|
||||||
|
<embed src="' . $list['trailer'] . '" width="560" height="260" cache="false" autoplay="false" scale="tofit" />';
|
||||||
|
} else {
|
||||||
|
$output_desc['trailer'].= '
|
||||||
|
<video id="player" class="video-js vjs-default-skin player" controls preload="none" width="560" height="260" data-setup="{}">
|
||||||
|
<source src="' . $list['trailer'] . '" type="' . $mimetype . '" />
|
||||||
|
</video>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// only tvshows
|
||||||
|
if ($video == 'tvshows') {
|
||||||
|
|
||||||
|
// premiered
|
||||||
|
if ($list['premiered'] !== '') {
|
||||||
|
$show_desc['premiered'] = 1;
|
||||||
|
$output_desc['premiered'] = '<a href="' . create_url($setting, array('video' => 'tvshows', 'view' => $view, 'sort' => $sort, 'filter' => 'premiered', 'filterid' => array_search($list['premiered'], $panels_array['premiered']))) . '">' . $list['premiered'] . '</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// seasons
|
||||||
|
$season_array = array();
|
||||||
|
$seasons_sql = 'SELECT season FROM episodes WHERE tvshow = "' . $list['id'] . '" ORDER BY season';
|
||||||
|
$seasons_result = mysql_q($seasons_sql);
|
||||||
|
while ($seasons = mysql_fetch_array($seasons_result)) {
|
||||||
|
if (!array_key_exists($seasons['season'], $season_array)) {
|
||||||
|
$season_array[$seasons['season']] = '<a href="' . create_url($setting, array('video' => 'tvshows', 'view' => $view, 'id' => $list['id'])) . '#season_' . $seasons['season'] . '">' . $lang['i_season'] . ' ' . $seasons['season'] . '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($season_array) <> 0) {
|
||||||
|
$show_desc['seasons'] = 1;
|
||||||
|
$output_desc['seasons'] = implode(' / ', $season_array);
|
||||||
|
}
|
||||||
|
|
||||||
|
// episodes
|
||||||
|
if ($id <> 0) {
|
||||||
|
// get date for last added episode
|
||||||
|
$new_episode_sql = 'SELECT date_added FROM episodes ORDER BY date_added DESC LIMIT 0, 1';
|
||||||
|
$new_episode_result = mysql_q($new_episode_sql);
|
||||||
|
$new_episode_date = mysql_fetch_assoc($new_episode_result);
|
||||||
|
$new_episode_date = substr($new_episode_date['date_added'], 0, 10);
|
||||||
|
|
||||||
|
$show_desc['episodes'] = 1;
|
||||||
|
$episodes_sql = 'SELECT id, title, episode, season, plot, firstaired, file, play_count, date_added, last_played FROM episodes WHERE tvshow = "' . $list['id'] . '" ORDER BY season, episode ASC';
|
||||||
|
$episodes_result = mysql_q($episodes_sql);
|
||||||
|
$i = -1;
|
||||||
|
|
||||||
|
$output_epiosde_list = '';
|
||||||
|
while ($episodes = mysql_fetch_assoc($episodes_result)) {
|
||||||
|
|
||||||
|
// output and show episodes arrays
|
||||||
|
$output_episode = array();
|
||||||
|
$show_episode = array();
|
||||||
|
foreach ($item_episode as $val) {
|
||||||
|
$output_episode[$val] = '';
|
||||||
|
$show_episode[$val] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_SESSION['logged_admin']) && $_SESSION['logged_admin'] == true && $video == 'tvshows') {
|
||||||
|
$show_episode['xbmc'] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output_episode['episode'] = $episodes['id'];
|
||||||
|
$output_episode['season'] = $episodes['season'];
|
||||||
|
$output_episode['plot'] = $episodes['plot'];
|
||||||
|
$output_episode['aired'] = $episodes['firstaired'];
|
||||||
|
|
||||||
|
// title
|
||||||
|
$output_episode['title'] = $episodes['episode'] . '. ' . ($episodes['title'] == '' ? $lang['i_episode'] . ' ' . $episodes['episode'] : $episodes['title']);
|
||||||
|
|
||||||
|
// file
|
||||||
|
$output_episode['file'] = 'http://' . $setting['xbmc_login'] . ':' . $setting['xbmc_pass'] . '@' . $setting['xbmc_host'] . ':' . $setting['xbmc_port'] . '/vfs/' . urlencode($episodes['file']);
|
||||||
|
|
||||||
|
// thumbnail
|
||||||
|
if (file_exists('cache/episodes_' . $episodes['id'] . '.jpg')) {
|
||||||
|
$output_episode['thumbnail'] = '<img class="thumbnail" src="cache/episodes_' . $episodes['id'] . '.jpg">';
|
||||||
|
} else {
|
||||||
|
$output_episode['thumbnail'] = '<img class="thumbnail" src="templates/' . $setting['theme'] . '/img/d_thumbnail.jpg">';
|
||||||
|
}
|
||||||
|
|
||||||
|
// wached status
|
||||||
|
if ($setting['watched_status'] == 1 && $episodes['play_count'] > 0) {
|
||||||
|
$output_episode['watched_img'] = '<img class="episode_watched" src="templates/' . $setting['theme'] . '/img/watched.png" title="' . $lang['i_last_played'] . ': ' . $episodes['last_played'] . '" alt="">';
|
||||||
|
}
|
||||||
|
|
||||||
|
// episode ribbon new
|
||||||
|
if (substr($episodes['date_added'], 0, 10) == $new_episode_date) {
|
||||||
|
$output_episode['ribbon_new'] = '<div class="episode_ribbon_new_text">' . mb_strtoupper($lang['i_ribbon_new']) . '</div><img class="episode_ribbon_new" src="templates/' . $setting['theme'] . '/img/ribbon_new.png">';
|
||||||
|
}
|
||||||
|
|
||||||
|
// episode streams
|
||||||
|
$stream_sql = 'SELECT * FROM `episodes_stream` WHERE id = "' . $episodes['id'] . '"';
|
||||||
|
$stream_res = mysql_q($stream_sql);
|
||||||
|
|
||||||
|
if (mysql_num_rows($stream_res) > 0) {
|
||||||
|
$str = array('v' => array(), 'a' => array(), 's' => array());
|
||||||
|
while ($stream = mysql_fetch_assoc($stream_res)) {
|
||||||
|
$str[$stream['type']][] = $stream;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$img_flag_vres = '';
|
||||||
|
$img_flag_vtype = '';
|
||||||
|
$img_flag_vq = '';
|
||||||
|
if (isset($str['v'])) {
|
||||||
|
foreach ($str['v'] as $s) {
|
||||||
|
// episode video resolution
|
||||||
|
foreach ($vres_assoc as $key => $val) {
|
||||||
|
if (is_numeric($s['v_width']) && $s['v_width'] >= $key) {
|
||||||
|
$img_flag_vres = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/vres_' . $val . '.png" alt="">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// episode video codec
|
||||||
|
foreach ($vtype_assoc as $key => $val) {
|
||||||
|
if (in_array($s['v_codec'], $vtype_assoc[$key])) {
|
||||||
|
$img_flag_vtype = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/vc_' . $key . '.png" alt="">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// episode video sd, hd or uhd
|
||||||
|
$img_flag_vq = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/v_sd.png" alt="">';
|
||||||
|
if (is_numeric($s['v_width']) && $s['v_width'] >= 1280) {
|
||||||
|
$img_flag_vq = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/v_hd.png" alt="">';
|
||||||
|
}
|
||||||
|
if (is_numeric($s['v_width']) && $s['v_width'] >= 3000) {
|
||||||
|
$img_flag_vq = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/v_uhd.png" alt="">';
|
||||||
|
}
|
||||||
|
$output_episode['img_flag_v'].= $img_flag_vres . $img_flag_vtype . $img_flag_vq;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isset($str['a'])) {
|
||||||
|
foreach ($str['a'] as $s) {
|
||||||
|
// episode audio codec
|
||||||
|
foreach ($atype_assoc as $key => $val) {
|
||||||
|
if(in_array($s['a_codec'], $atype_assoc[$key])) {
|
||||||
|
$img_flag_atype = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/ac_' . $key . '.png" alt="">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// episode audio channel
|
||||||
|
foreach ($achan_assoc as $val) {
|
||||||
|
if (is_numeric($s['a_chan']) && $s['a_chan'] >= $val) {
|
||||||
|
$img_flag_achan = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/ach_' . $val . '.png" alt="">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// episode audio language
|
||||||
|
if (file_exists('templates/' . $setting['theme'] . '/img/flags/l_' . check_flag($s['a_lang'], $iso_lang) . '.png')) {
|
||||||
|
$img_flag_alang = '<img class="flag" src="templates/' . $setting['theme'] . '/img/flags/l_' . check_flag($s['a_lang'], $iso_lang) . '.png" alt="">';
|
||||||
|
} else {
|
||||||
|
$img_flag_alang = $s['a_lang'];
|
||||||
|
}
|
||||||
|
$output_episode['img_flag_a'].= $img_flag_atype . $img_flag_achan . $img_flag_alang;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isset($str['s'])) {
|
||||||
|
foreach ($str['s'] as $s) {
|
||||||
|
// episode subtitles
|
||||||
|
if (file_exists('templates/' . $setting['theme'] . '/img/flags/l_' . check_flag($s['s_lang'], $iso_lang) . '.png')) {
|
||||||
|
$img_flag_slang = '<img src="templates/' . $setting['theme'] . '/img/flags/sub.png" alt=""><img class="flag" src="templates/' . $setting['theme'] . '/img/flags/l_' . check_flag($s['s_lang'], $iso_lang) . '.png" alt="">';
|
||||||
|
} else {
|
||||||
|
$img_flag_slang = $s['s_lang'];
|
||||||
|
}
|
||||||
|
$output_episode['img_flag_s'].= $img_flag_slang ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($episodes['season'] <> $i) {
|
||||||
|
$show_episode['season_title'] = 1;
|
||||||
|
}
|
||||||
|
$i = $episodes['season'];
|
||||||
|
|
||||||
|
$episode_list = new Teamplate('episodes.tpl', $setting, $lang);
|
||||||
|
foreach ($output_episode as $key => $val) {
|
||||||
|
$episode_list->tpl($key, $val);
|
||||||
|
}
|
||||||
|
foreach ($show_episode as $key => $val) {
|
||||||
|
$episode_list->show($key, $val);
|
||||||
|
}
|
||||||
|
$output_epiosde_list.= $episode_list->init();
|
||||||
|
$output_desc['episodes'] = $output_epiosde_list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// facebook meta data
|
||||||
|
if ($setting['show_facebook'] == 1) {
|
||||||
|
$show_desc['facebook_button'] = 1;
|
||||||
|
}
|
||||||
|
$url = 'http://' . $_SERVER['SERVER_NAME'] . implode('/', array_slice(explode('/', $_SERVER['REQUEST_URI']), 0, -1)) . '/';
|
||||||
|
$output_desc['fb_url'] = $url . 'index.php?video=' . $video . '&fb_link=' . urlencode($list['title']) . ($video == 'movies' ? $list['year'] : '');
|
||||||
|
if ($id <> 0) {
|
||||||
|
$output['meta_img'] = (file_exists('cache/' . $mysql_table . '_' . $id . '.jpg') ? $url . 'cache/' . $mysql_table . '_' . $id . '.jpg' : 'templates/' . $setting['theme'] . '/img/d_poster.jpg');
|
||||||
|
$output['meta_title'] = htmlspecialchars($list['title']);
|
||||||
|
$output['meta_desc'] = htmlspecialchars($list['plot']);
|
||||||
|
$output['meta_url'] = $output_desc['fb_url'];
|
||||||
|
$output['meta_type'] = ($video == 'tvshows' ? 'video.tv_show' : 'video.movie');
|
||||||
|
}
|
||||||
|
|
||||||
|
// panel movie
|
||||||
|
$panel_list = new Teamplate($views[$include_view] . '.tpl', $setting, $lang);
|
||||||
|
foreach ($output_desc as $key => $val) {
|
||||||
|
$panel_list->tpl($key, $val);
|
||||||
|
}
|
||||||
|
foreach ($show_desc as $key => $val) {
|
||||||
|
$panel_list->show($key, $val);
|
||||||
|
}
|
||||||
|
$output_panel_list.= $panel_list->init();
|
||||||
|
}
|
||||||
|
$output['panel_list'] = $output_panel_list;
|
||||||
|
$output['sort'] = $sort;
|
||||||
|
|
||||||
|
// faccebok meta data
|
||||||
|
if ($id == 0) {
|
||||||
|
$url = 'http://' . $_SERVER['SERVER_NAME'] . implode('/', array_slice(explode('/', $_SERVER['REQUEST_URI']), 0, -1)) . '/';
|
||||||
|
$output['meta_title'] = $setting['site_name'];
|
||||||
|
$output['meta_url'] = $url . 'index.php';
|
||||||
|
$output['meta_img'] = $url . ('templates/' . $setting['theme'] . '/img/logo.jpg');
|
||||||
|
$output['meta_type'] = 'website';
|
||||||
|
$output['meta_desc'] = 'Page whereby using XBMC can present your library of movies and TV series.';
|
||||||
|
}
|
||||||
|
if ($setting['show_facebook'] == 1) {
|
||||||
|
$show['facebook'] = 1;
|
||||||
|
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
|
||||||
|
$get_lang = strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
|
||||||
|
} else {
|
||||||
|
$get_lang = 'en';
|
||||||
|
}
|
||||||
|
if (array_key_exists ($get_lang , $lang_fb_assoc)) {
|
||||||
|
$lang_fb = $lang_fb_assoc[$get_lang];
|
||||||
|
} else {
|
||||||
|
$lang_fb = $lang_fb_assoc['en'];
|
||||||
|
}
|
||||||
|
$output['facebook'] = '<div id="fb-root"></div>
|
||||||
|
<script>(function(d, s, id) {
|
||||||
|
var js, fjs = d.getElementsByTagName(s)[0];
|
||||||
|
if (d.getElementById(id)) return;
|
||||||
|
js = d.createElement(s); js.id = id;
|
||||||
|
js.src = "//connect.facebook.net/' . $lang_fb . '/sdk.js#xfbml=1&version=v2.0";
|
||||||
|
fjs.parentNode.insertBefore(js, fjs);
|
||||||
|
}(document, \'script\', \'facebook-jssdk\'));</script>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// create page
|
||||||
|
$index = new Teamplate('index.tpl', $setting, $lang);
|
||||||
|
foreach ($output as $key => $val) {
|
||||||
|
$index->tpl($key, $val);
|
||||||
|
}
|
||||||
|
foreach ($show as $key => $val) {
|
||||||
|
$index->show($key, $val);
|
||||||
|
}
|
||||||
|
|
||||||
|
$site = $index->init();
|
||||||
|
print $site;
|
||||||
|
|
||||||
|
?>
|
186
movielib/install.php
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
<?PHP
|
||||||
|
session_start();
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
|
||||||
|
include('config.php');
|
||||||
|
include('function.php');
|
||||||
|
|
||||||
|
/* ############
|
||||||
|
* # LANGUAGE #
|
||||||
|
*/############
|
||||||
|
if (isset($_POST['install_lang'])) {
|
||||||
|
$_SESSION['install_lang'] = $_POST['install_lang'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// check user language from browser
|
||||||
|
if (!isset($_SESSION['install_lang'])) {
|
||||||
|
$install_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
|
||||||
|
if (!file_exists('lang/' . $install_lang . '/lang.php')) {
|
||||||
|
$install_lang = 'en';
|
||||||
|
}
|
||||||
|
$_SESSION['install_lang'] = $install_lang;
|
||||||
|
} else {
|
||||||
|
$install_lang = $_SESSION['install_lang'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// check dir for language file
|
||||||
|
$output_install_lang = '';
|
||||||
|
$option_install_language = scandir('lang/');
|
||||||
|
foreach ($option_install_language as $val) {
|
||||||
|
if (file_exists('lang/' . $val . '/lang.php')) {
|
||||||
|
|
||||||
|
if (array_key_exists($val, $langs)) {
|
||||||
|
$lang_title = $langs[$val];
|
||||||
|
} else {
|
||||||
|
$lang_title = $val;
|
||||||
|
}
|
||||||
|
$output_install_lang.= '<option' . ($val == $install_lang ? ' selected="selected"' : '') . ' value="' . $val . '">' . $lang_title . '</option>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
include('lang/' . $install_lang . '/lang.php');
|
||||||
|
$output_panel = '';
|
||||||
|
|
||||||
|
switch ($option) {
|
||||||
|
|
||||||
|
case 'license':
|
||||||
|
/* ###########
|
||||||
|
* # LICENSE #
|
||||||
|
*/###########
|
||||||
|
$license_file = 'LICENSE.txt';
|
||||||
|
if (file_exists($license_file)) {
|
||||||
|
$fp = fopen($license_file, 'r');
|
||||||
|
$license = fread($fp, 88192);
|
||||||
|
} else {
|
||||||
|
$license = 'No license file.';
|
||||||
|
}
|
||||||
|
$title = $lang['ins_license'];
|
||||||
|
$output_panel = '
|
||||||
|
<form>
|
||||||
|
<textarea class="textera" readonly="readonly">' . $license . '</textarea>
|
||||||
|
</form>
|
||||||
|
<a class="box" href="install.php?option=database">' . $lang['ins_accept'] . '</a>
|
||||||
|
';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'database':
|
||||||
|
/* ################
|
||||||
|
* # SET DATABASE #
|
||||||
|
*/################
|
||||||
|
if (file_exists('db.php')) {
|
||||||
|
$output_panel_info.= $lang['ins_db_exist'] . '<br />';
|
||||||
|
}
|
||||||
|
$title = $lang['inst_conn_db'];
|
||||||
|
$output_panel = '
|
||||||
|
<form action="install.php?option=success" method="post">
|
||||||
|
<table>
|
||||||
|
<tr><td>' . $lang['inst_server'] . ':</td><td><input type="text" name="host" value="localhost"></td></tr>
|
||||||
|
<tr><td>' . $lang['inst_port'] . ':</td><td><input type="text" name="port" value="3306"></td></tr>
|
||||||
|
<tr><td>' . $lang['inst_login'] . ':</td><td><input type="text" name="login" value="xbmc"></td></tr>
|
||||||
|
<tr><td>' . $lang['inst_pass'] . ':</td><td><input type="password" name="pass" value=""></td></tr>
|
||||||
|
<tr><td>' . $lang['inst_database'] . ':</td><td><input type="text" name="database" value="movielib"></td></tr>
|
||||||
|
</table>
|
||||||
|
<input id="ok" type="submit" value="OK" />
|
||||||
|
</form>';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'success':
|
||||||
|
/* ##################
|
||||||
|
* # CHECK DATABASE #
|
||||||
|
*/##################
|
||||||
|
$conn_install = mysql_connect($_POST['host'] . ':' . $_POST['port'], $_POST['login'], $_POST['pass']);
|
||||||
|
if (!$conn_install) {
|
||||||
|
die($lang['ins_could_connect'] . ' - ' . mysql_error());
|
||||||
|
}
|
||||||
|
$create_sql = 'CREATE DATABASE IF NOT EXISTS ' . $_POST['database'];
|
||||||
|
mysql_q($create_sql);
|
||||||
|
|
||||||
|
$sel_install = mysql_select_db($_POST['database']);
|
||||||
|
if (!$sel_install) {
|
||||||
|
die($lang['ins_could_connect'] . ' - ' . mysql_error());
|
||||||
|
}
|
||||||
|
create_table($mysql_tables, $mysql_indexes, $lang, $version, 1);
|
||||||
|
|
||||||
|
// create db.php
|
||||||
|
$to_write = '<?PHP $mysql_ml = array(\'' . $_POST['host'] . '\', \'' . $_POST['port'] . '\', \'' . $_POST['login'] . '\', \'' . $_POST['pass'] . '\', \'' . $_POST['database'] . '\'); ?>';
|
||||||
|
$fp = @fopen('db.php', 'w');
|
||||||
|
if (!$fp) {
|
||||||
|
$title = $lang['ins_error'];
|
||||||
|
if (file_exists('db.php')) {
|
||||||
|
$output_panel_error.= $lang['ins_file_db_ex'] . ' ' . substr(decoct(fileperms('db.php')), -3) . '<br>';
|
||||||
|
} else {
|
||||||
|
$output_panel_error.= $lang['ins_file_db_not'] . ' ' . substr(decoct(fileperms('.')), -3) . '<br>';
|
||||||
|
}
|
||||||
|
$output_panel = '
|
||||||
|
<div class="center">' . $lang['ins_file_db_cre'] . ':</div>
|
||||||
|
<form action="install.php?option=success" method="post">
|
||||||
|
<textarea readonly="readonly">' . $to_write . '</textarea>
|
||||||
|
</form>';
|
||||||
|
} else {
|
||||||
|
fwrite($fp, $to_write);
|
||||||
|
fclose($fp);
|
||||||
|
$title = $lang['ins_finished'];
|
||||||
|
$output_panel = '<a class="box" href="admin.php?option=delete_install">' . $lang['ins_admin'] . '</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// delete session var
|
||||||
|
$_SESSION = array();
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
/* ##########
|
||||||
|
* # README #
|
||||||
|
*/##########
|
||||||
|
|
||||||
|
$readme_file = 'lang/' . $_SESSION['install_lang'] . '/readme';
|
||||||
|
if (!file_exists($readme_file)) {
|
||||||
|
$readme_file = 'README.txt';
|
||||||
|
}
|
||||||
|
$fp = fopen($readme_file, 'r');
|
||||||
|
$readme = fread($fp, 88192);
|
||||||
|
$title = $lang['ins_lang_file'];
|
||||||
|
$output_panel = '
|
||||||
|
<form action="install.php" method="post">
|
||||||
|
<select onchange="this.form.submit()" name="install_lang">' . $output_install_lang . '</select>
|
||||||
|
</form>
|
||||||
|
<form>
|
||||||
|
<textarea readonly="readonly">' . $readme . '</textarea>
|
||||||
|
</form>
|
||||||
|
<a class="box" href="install.php?option=license">' . $lang['ins_next'] . '</a>
|
||||||
|
';
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ##############
|
||||||
|
* # PANEL INFO #
|
||||||
|
*/##############
|
||||||
|
if ($output_panel_info !== '') {
|
||||||
|
$output_panel_info = '<div class="panel_info">' . $output_panel_info . '</div>';
|
||||||
|
}
|
||||||
|
if ($output_panel_error !== '') {
|
||||||
|
$output_panel_error = '<div class="panel_error">' . $output_panel_error . '</div>';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>MovieLib - <?PHP echo $lang['ins_title'] ?></title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<!--[if IE]>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
|
<![endif]-->
|
||||||
|
<link type="image/x-icon" href="admin/img/icon.ico" rel="icon" media="all" />
|
||||||
|
<link type="text/css" href="admin/css/style.css" rel="stylesheet" media="all" />
|
||||||
|
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
|
||||||
|
<script type="text/javascript" src="js/jquery.script.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<?PHP echo $output_panel_info ?>
|
||||||
|
<?PHP echo $output_panel_error ?>
|
||||||
|
<div class="container_install">
|
||||||
|
<div class="title"><?PHP echo $title ?></div>
|
||||||
|
<?PHP echo $output_panel ?>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
9597
movielib/js/jquery-1.9.1.js
vendored
Normal file
235
movielib/js/jquery.cycle.lite.js
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
/*!
|
||||||
|
* jQuery Cycle Lite Plugin
|
||||||
|
* http://malsup.com/jquery/cycle/lite/
|
||||||
|
* Copyright (c) 2008-2012 M. Alsup
|
||||||
|
* Version: 1.7 (20-FEB-2013)
|
||||||
|
* Dual licensed under the MIT and GPL licenses:
|
||||||
|
* http://www.opensource.org/licenses/mit-license.php
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
* Requires: jQuery v1.3.2 or later
|
||||||
|
*/
|
||||||
|
;(function($) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var ver = 'Lite-1.7';
|
||||||
|
var msie = /MSIE/.test(navigator.userAgent);
|
||||||
|
|
||||||
|
$.fn.cycle = function(options) {
|
||||||
|
return this.each(function() {
|
||||||
|
options = options || {};
|
||||||
|
|
||||||
|
if (this.cycleTimeout)
|
||||||
|
clearTimeout(this.cycleTimeout);
|
||||||
|
|
||||||
|
this.cycleTimeout = 0;
|
||||||
|
this.cyclePause = 0;
|
||||||
|
|
||||||
|
var $cont = $(this);
|
||||||
|
var $slides = options.slideExpr ? $(options.slideExpr, this) : $cont.children();
|
||||||
|
var els = $slides.get();
|
||||||
|
if (els.length < 2) {
|
||||||
|
if (window.console)
|
||||||
|
console.log('terminating; too few slides: ' + els.length);
|
||||||
|
return; // don't bother
|
||||||
|
}
|
||||||
|
|
||||||
|
// support metadata plugin (v1.0 and v2.0)
|
||||||
|
var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
|
||||||
|
var meta = $.isFunction($cont.data) ? $cont.data(opts.metaAttr) : null;
|
||||||
|
if (meta)
|
||||||
|
opts = $.extend(opts, meta);
|
||||||
|
|
||||||
|
opts.before = opts.before ? [opts.before] : [];
|
||||||
|
opts.after = opts.after ? [opts.after] : [];
|
||||||
|
opts.after.unshift(function(){ opts.busy=0; });
|
||||||
|
|
||||||
|
// allow shorthand overrides of width, height and timeout
|
||||||
|
var cls = this.className;
|
||||||
|
opts.width = parseInt((cls.match(/w:(\d+)/)||[])[1], 10) || opts.width;
|
||||||
|
opts.height = parseInt((cls.match(/h:(\d+)/)||[])[1], 10) || opts.height;
|
||||||
|
opts.timeout = parseInt((cls.match(/t:(\d+)/)||[])[1], 10) || opts.timeout;
|
||||||
|
|
||||||
|
if ($cont.css('position') == 'static')
|
||||||
|
$cont.css('position', 'relative');
|
||||||
|
if (opts.width)
|
||||||
|
$cont.width(opts.width);
|
||||||
|
if (opts.height && opts.height != 'auto')
|
||||||
|
$cont.height(opts.height);
|
||||||
|
|
||||||
|
var first = 0;
|
||||||
|
$slides.css({position: 'absolute', top:0}).each(function(i) {
|
||||||
|
$(this).css('z-index', els.length-i);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(els[first]).css('opacity',1).show(); // opacity bit needed to handle reinit case
|
||||||
|
if (msie)
|
||||||
|
els[first].style.removeAttribute('filter');
|
||||||
|
|
||||||
|
if (opts.fit && opts.width)
|
||||||
|
$slides.width(opts.width);
|
||||||
|
if (opts.fit && opts.height && opts.height != 'auto')
|
||||||
|
$slides.height(opts.height);
|
||||||
|
if (opts.pause)
|
||||||
|
$cont.hover(function(){this.cyclePause=1;}, function(){this.cyclePause=0;});
|
||||||
|
|
||||||
|
var txFn = $.fn.cycle.transitions[opts.fx];
|
||||||
|
if (txFn)
|
||||||
|
txFn($cont, $slides, opts);
|
||||||
|
|
||||||
|
$slides.each(function() {
|
||||||
|
var $el = $(this);
|
||||||
|
this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
|
||||||
|
this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();
|
||||||
|
});
|
||||||
|
|
||||||
|
if (opts.cssFirst)
|
||||||
|
$($slides[first]).css(opts.cssFirst);
|
||||||
|
|
||||||
|
if (opts.timeout) {
|
||||||
|
// ensure that timeout and speed settings are sane
|
||||||
|
if (opts.speed.constructor == String)
|
||||||
|
opts.speed = {slow: 600, fast: 200}[opts.speed] || 400;
|
||||||
|
if (!opts.sync)
|
||||||
|
opts.speed = opts.speed / 2;
|
||||||
|
while((opts.timeout - opts.speed) < 250)
|
||||||
|
opts.timeout += opts.speed;
|
||||||
|
}
|
||||||
|
opts.speedIn = opts.speed;
|
||||||
|
opts.speedOut = opts.speed;
|
||||||
|
|
||||||
|
opts.slideCount = els.length;
|
||||||
|
opts.currSlide = first;
|
||||||
|
opts.nextSlide = 1;
|
||||||
|
|
||||||
|
// fire artificial events
|
||||||
|
var e0 = $slides[first];
|
||||||
|
if (opts.before.length)
|
||||||
|
opts.before[0].apply(e0, [e0, e0, opts, true]);
|
||||||
|
if (opts.after.length > 1)
|
||||||
|
opts.after[1].apply(e0, [e0, e0, opts, true]);
|
||||||
|
|
||||||
|
if (opts.click && !opts.next)
|
||||||
|
opts.next = opts.click;
|
||||||
|
if (opts.next)
|
||||||
|
$(opts.next).unbind('click.cycle').bind('click.cycle', function(){return advance(els,opts,opts.rev?-1:1);});
|
||||||
|
if (opts.prev)
|
||||||
|
$(opts.prev).unbind('click.cycle').bind('click.cycle', function(){return advance(els,opts,opts.rev?1:-1);});
|
||||||
|
|
||||||
|
if (opts.timeout)
|
||||||
|
this.cycleTimeout = setTimeout(function() {
|
||||||
|
go(els,opts,0,!opts.rev);
|
||||||
|
}, opts.timeout + (opts.delay||0));
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
function go(els, opts, manual, fwd) {
|
||||||
|
if (opts.busy)
|
||||||
|
return;
|
||||||
|
var p = els[0].parentNode, curr = els[opts.currSlide], next = els[opts.nextSlide];
|
||||||
|
if (p.cycleTimeout === 0 && !manual)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (manual || !p.cyclePause) {
|
||||||
|
if (opts.before.length)
|
||||||
|
$.each(opts.before, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
|
||||||
|
var after = function() {
|
||||||
|
if (msie)
|
||||||
|
this.style.removeAttribute('filter');
|
||||||
|
$.each(opts.after, function(i,o) { o.apply(next, [curr, next, opts, fwd]); });
|
||||||
|
queueNext(opts);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (opts.nextSlide != opts.currSlide) {
|
||||||
|
opts.busy = 1;
|
||||||
|
$.fn.cycle.custom(curr, next, opts, after);
|
||||||
|
}
|
||||||
|
var roll = (opts.nextSlide + 1) == els.length;
|
||||||
|
opts.nextSlide = roll ? 0 : opts.nextSlide+1;
|
||||||
|
opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
|
||||||
|
} else {
|
||||||
|
queueNext(opts);
|
||||||
|
}
|
||||||
|
|
||||||
|
function queueNext(opts) {
|
||||||
|
if (opts.timeout)
|
||||||
|
p.cycleTimeout = setTimeout(function() { go(els,opts,0,!opts.rev); }, opts.timeout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// advance slide forward or back
|
||||||
|
function advance(els, opts, val) {
|
||||||
|
var p = els[0].parentNode, timeout = p.cycleTimeout;
|
||||||
|
if (timeout) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
p.cycleTimeout = 0;
|
||||||
|
}
|
||||||
|
opts.nextSlide = opts.currSlide + val;
|
||||||
|
if (opts.nextSlide < 0) {
|
||||||
|
opts.nextSlide = els.length - 1;
|
||||||
|
}
|
||||||
|
else if (opts.nextSlide >= els.length) {
|
||||||
|
opts.nextSlide = 0;
|
||||||
|
}
|
||||||
|
go(els, opts, 1, val>=0);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.cycle.custom = function(curr, next, opts, cb) {
|
||||||
|
var $l = $(curr), $n = $(next);
|
||||||
|
$n.css(opts.cssBefore);
|
||||||
|
var fn = function() {$n.animate(opts.animIn, opts.speedIn, opts.easeIn, cb);};
|
||||||
|
$l.animate(opts.animOut, opts.speedOut, opts.easeOut, function() {
|
||||||
|
$l.css(opts.cssAfter);
|
||||||
|
if (!opts.sync)
|
||||||
|
fn();
|
||||||
|
});
|
||||||
|
if (opts.sync)
|
||||||
|
fn();
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.cycle.transitions = {
|
||||||
|
fade: function($cont, $slides, opts) {
|
||||||
|
$slides.not(':eq(0)').hide();
|
||||||
|
opts.cssBefore = { opacity: 0, display: 'block' };
|
||||||
|
opts.cssAfter = { display: 'none' };
|
||||||
|
opts.animOut = { opacity: 0 };
|
||||||
|
opts.animIn = { opacity: 1 };
|
||||||
|
},
|
||||||
|
fadeout: function($cont, $slides, opts) {
|
||||||
|
opts.before.push(function(curr,next,opts,fwd) {
|
||||||
|
$(curr).css('zIndex',opts.slideCount + (fwd === true ? 1 : 0));
|
||||||
|
$(next).css('zIndex',opts.slideCount + (fwd === true ? 0 : 1));
|
||||||
|
});
|
||||||
|
$slides.not(':eq(0)').hide();
|
||||||
|
opts.cssBefore = { opacity: 1, display: 'block', zIndex: 1 };
|
||||||
|
opts.cssAfter = { display: 'none', zIndex: 0 };
|
||||||
|
opts.animOut = { opacity: 0 };
|
||||||
|
opts.animIn = { opacity: 1 };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$.fn.cycle.ver = function() { return ver; };
|
||||||
|
|
||||||
|
// @see: http://malsup.com/jquery/cycle/lite/
|
||||||
|
$.fn.cycle.defaults = {
|
||||||
|
animIn: {},
|
||||||
|
animOut: {},
|
||||||
|
fx: 'fade',
|
||||||
|
after: null,
|
||||||
|
before: null,
|
||||||
|
cssBefore: {},
|
||||||
|
cssAfter: {},
|
||||||
|
delay: 0,
|
||||||
|
fit: 0,
|
||||||
|
height: 'auto',
|
||||||
|
metaAttr: 'cycle',
|
||||||
|
next: null,
|
||||||
|
pause: false,
|
||||||
|
prev: null,
|
||||||
|
speed: 1000,
|
||||||
|
slideExpr: null,
|
||||||
|
sync: true,
|
||||||
|
timeout: 4000
|
||||||
|
};
|
||||||
|
|
||||||
|
})(jQuery);
|
437
movielib/js/jquery.script.js
Normal file
@ -0,0 +1,437 @@
|
|||||||
|
// get settings
|
||||||
|
var show_fanart;
|
||||||
|
var fadeout_fanart;
|
||||||
|
var panel_top_time;
|
||||||
|
$.ajax({
|
||||||
|
dataType: "json",
|
||||||
|
url: "function.js.php?option=settings",
|
||||||
|
async: false,
|
||||||
|
success: function(set){
|
||||||
|
show_fanart = set['show_fanart'];
|
||||||
|
fadeout_fanart = set['fadeout_fanart'];
|
||||||
|
panel_top_time = set['panel_top_time'];
|
||||||
|
theme = set['theme'];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
// show panel header when site load
|
||||||
|
$('.panel_top_item, .panel_top_item_title').hide().fadeIn(3000);
|
||||||
|
$('.panel_top_item').mouseover(function(){
|
||||||
|
$(this).animate({
|
||||||
|
opacity: '.7'
|
||||||
|
}, {
|
||||||
|
queue:false,
|
||||||
|
duration:300
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$('.panel_top_item').mouseleave(function(){
|
||||||
|
$(this).animate({
|
||||||
|
opacity: '1'
|
||||||
|
}, {
|
||||||
|
queue:false,
|
||||||
|
duration:300
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// hide info panel
|
||||||
|
$('.panel_info').delay(4000).fadeOut(4000);
|
||||||
|
|
||||||
|
// show panels in loop
|
||||||
|
$(function() {
|
||||||
|
var timeout = panel_top_time * 1000;
|
||||||
|
if ($('.panel_top_item').length > 0) {
|
||||||
|
$('.panel_top_item').cycle({
|
||||||
|
timeout: +timeout
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// view menu
|
||||||
|
$('#view_menu').mouseenter(function () {
|
||||||
|
$('#views').show();
|
||||||
|
});
|
||||||
|
$('#view_menu').mouseleave(function () {
|
||||||
|
$('#views').hide();
|
||||||
|
});
|
||||||
|
$('#watch_menu').mouseenter(function () {
|
||||||
|
$('#watches').show();
|
||||||
|
});
|
||||||
|
$('#watch_menu').mouseleave(function () {
|
||||||
|
$('#watches').hide();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Default value for search input
|
||||||
|
$('input').focus(function () {
|
||||||
|
if ($(this).val() == $(this).attr('title')) {
|
||||||
|
$(this).val('');
|
||||||
|
}
|
||||||
|
}).blur(function () {
|
||||||
|
if ($(this).val() == '') {
|
||||||
|
$(this).val($(this).attr('title'));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// live search movie
|
||||||
|
var wait;
|
||||||
|
$(document).on('keyup click', '.search', function() {
|
||||||
|
clearTimeout(wait);
|
||||||
|
wait = setTimeout(function() {
|
||||||
|
var video = $('.search').attr('id');
|
||||||
|
var search = $('.search').val();
|
||||||
|
if (search.length > 0) {
|
||||||
|
var url = "function.js.php?option=search&search="+search+"&video="+video;
|
||||||
|
$.get(url, function(data) {
|
||||||
|
$('#panel_live_search').empty();
|
||||||
|
$('#panel_live_search').append(data);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$('#panel_live_search').empty();
|
||||||
|
}
|
||||||
|
$(document).click(function(){
|
||||||
|
$('#panel_live_search').empty();
|
||||||
|
});
|
||||||
|
}, 500);
|
||||||
|
});
|
||||||
|
$(document).on('mouseenter', '.live_search_box', function(){
|
||||||
|
$(this).addClass('live_hover');
|
||||||
|
});
|
||||||
|
$(document).on('mouseleave', '.live_search_box', function(){
|
||||||
|
$(this).removeClass('live_hover');
|
||||||
|
});
|
||||||
|
|
||||||
|
// change background
|
||||||
|
if (show_fanart == '1') {
|
||||||
|
var bg = $('#background').attr('src');
|
||||||
|
// mouse enter
|
||||||
|
$('.movie').mouseenter(function(){
|
||||||
|
var movie_id = $(this).attr('id');
|
||||||
|
$.ajax({
|
||||||
|
url: 'function.js.php?option=fexist&id='+movie_id,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(data){
|
||||||
|
if (data['fexist'] == 'exist') {
|
||||||
|
$('#background').fadeOut(500, function(){
|
||||||
|
$(this).delay(100).attr('src', 'cache/'+movie_id+'_f.jpg');
|
||||||
|
$(this).fadeIn(500);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
// mouse leave
|
||||||
|
$('.movie').mouseleave(function(){
|
||||||
|
if (fadeout_fanart == '1') {
|
||||||
|
var movie_id = $(this).attr('id');
|
||||||
|
$.ajax({
|
||||||
|
url: 'cache/'+movie_id+'_f.jpg',
|
||||||
|
success: function(data){
|
||||||
|
$('#background').fadeOut(500, function(){
|
||||||
|
$(this).delay(100).attr('src', bg);
|
||||||
|
$(this).fadeIn(500);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// toggle panel_box
|
||||||
|
$('.panel_box').each(function(){
|
||||||
|
var opt = $(this).attr('class').replace('panel_box ', '');
|
||||||
|
if (opt == 2) {
|
||||||
|
var id = $(this).attr('id');
|
||||||
|
$('#'+id).hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('.panel_box_title').click(function(){
|
||||||
|
var id = $(this).attr('id');
|
||||||
|
$('#panel_'+id).slideToggle();
|
||||||
|
var opt = $('#panel_'+id).attr('class').replace('panel_box ', '');
|
||||||
|
if (opt == 1) {
|
||||||
|
$('#panel_'+id).attr('alt', 'panel_box 2');
|
||||||
|
$.ajax({url: 'function.js.php?option=panel&id=panel_'+id+'&opt=2'});
|
||||||
|
}
|
||||||
|
if (opt == 2) {
|
||||||
|
$('#panel_'+id).attr('alt', 'panel_box 1');
|
||||||
|
$.ajax({url: 'function.js.php?option=panel&id=panel_'+id+'&opt=1'});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// animate delete button
|
||||||
|
$('.animate').mouseenter(function(){
|
||||||
|
$(this).css('opacity', '.7');
|
||||||
|
});
|
||||||
|
$('.animate').mouseleave(function(){
|
||||||
|
$(this).css('opacity', '1');
|
||||||
|
});
|
||||||
|
|
||||||
|
// delete movie
|
||||||
|
$('.delete_row').click(function(){
|
||||||
|
var id = $(this).parent().parent().attr('id');
|
||||||
|
var video = $(this).parent().parent().parent().parent().attr('id');
|
||||||
|
$('#'+id).hide();
|
||||||
|
$.ajax({url: 'function.js.php?option=delete'+video+'&id='+id});
|
||||||
|
});
|
||||||
|
|
||||||
|
// delete all
|
||||||
|
$('#delete_all').click(function(){
|
||||||
|
var c = $('#delete_all').html();
|
||||||
|
return confirm(c);
|
||||||
|
});
|
||||||
|
|
||||||
|
// actor thumbnail
|
||||||
|
$('.actor_img').mouseenter(function(){
|
||||||
|
$(this).mousemove(function(event) {
|
||||||
|
var posX = event.pageX;
|
||||||
|
var posY = event.pageY;
|
||||||
|
$(this).children('.actor_thumb').css({'top': posY-110, 'left': posX+10});
|
||||||
|
});
|
||||||
|
$(this).children('.actor_thumb').delay(500).show(0);
|
||||||
|
});
|
||||||
|
$('.actor_img').mouseleave(function(){
|
||||||
|
$('.actor_thumb').dequeue().hide();
|
||||||
|
});
|
||||||
|
|
||||||
|
// extra thumb
|
||||||
|
$(document).on('mouseenter', '.ex_thumbs img', function(){
|
||||||
|
$(this).animate({'opacity': '.7'}).dequeue();
|
||||||
|
});
|
||||||
|
$(document).on('mouseleave', '.ex_thumbs img', function(){
|
||||||
|
$(this).animate({'opacity': '1'}).dequeue();
|
||||||
|
});
|
||||||
|
$(document).on('click', '.ex_thumbs img', function(){
|
||||||
|
// opened thumb
|
||||||
|
var get_link = $(this).attr('src').slice(0, -5);
|
||||||
|
// create array for all thumbs
|
||||||
|
thumb_array = [];
|
||||||
|
$(this).parent().find('img').each(function(thumb){
|
||||||
|
thumb_array.push($(this).attr('src').slice(0, -5));
|
||||||
|
});
|
||||||
|
// actual thumb index
|
||||||
|
act = thumb_array.indexOf(get_link);
|
||||||
|
show_thumb(thumb_array[act], act, thumb_array);
|
||||||
|
});
|
||||||
|
$(document).on('click', '.ex_prev', function(){
|
||||||
|
act = act - 1;
|
||||||
|
$('.ex_thumb_con').fadeOut(300, function(){
|
||||||
|
$(this).remove();
|
||||||
|
show_thumb(thumb_array[act], act, thumb_array);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$(document).on('click', '.ex_next', function(){
|
||||||
|
act = act + 1;
|
||||||
|
$('.ex_thumb_con').fadeOut(300, function(){
|
||||||
|
$(this).remove();
|
||||||
|
show_thumb(thumb_array[act], act, thumb_array);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$(document).on('click', '.ex_thumb_con', function(){
|
||||||
|
$('.ex_thumb_con').fadeOut(300, function(){
|
||||||
|
$('.ex_thumb_con').remove();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
function show_thumb(link, act, thumb_array) {
|
||||||
|
var prev = (act == 0 ? '' : '<div class="ex_prev"><</div>');
|
||||||
|
var next = (thumb_array.length == act+1 ? '' : '<div class="ex_next">></div>');
|
||||||
|
$('body').append('<div class="ex_thumb_con">'+prev+'<img id="opened" class="ex_thumb" src="' + link + '.jpg">'+next+'</div>');
|
||||||
|
$("img#opened").load(function() {
|
||||||
|
var b = 20; // border size
|
||||||
|
var img_h = $(this).height(); // get image height
|
||||||
|
var img_w = $(this).width(); // get image width
|
||||||
|
var win_h = $(window).height(); // get window height
|
||||||
|
var win_w = $(window).width(); // get window width
|
||||||
|
if (img_h > win_h - 100) { // if image height is greather than windows height
|
||||||
|
var aspect = img_w / img_h; // calculate aspect ratio
|
||||||
|
var r_h = img_h - win_h + 100; // get resize value
|
||||||
|
img_h = img_h - r_h; // set new image height
|
||||||
|
img_w = img_w - (r_h * aspect); // set new image width
|
||||||
|
}
|
||||||
|
if (img_w > win_w - 100) { // same for width is the above
|
||||||
|
var aspect = img_h / img_w;
|
||||||
|
var r_w = img_w - win_w + 100;
|
||||||
|
img_w = img_w - r_w;
|
||||||
|
img_h = img_h - (r_w * aspect);
|
||||||
|
}
|
||||||
|
var pos_x = (win_w-img_w)/2; // set position X
|
||||||
|
var pos_y = (win_h-img_h)/2; // set position Y
|
||||||
|
$('.ex_thumb_con').css({'left': '0px', 'top': '0px', 'right': '0px', 'bottom': '0px', 'position': 'fixed', 'display': 'none'});
|
||||||
|
$('.ex_thumb').css({'position': 'relative', 'height': img_h+'px', 'width': img_w+'px', 'top':pos_y-b+'px', 'left': pos_x-b+'px', 'border': b+'px solid #fff'});
|
||||||
|
$('.ex_prev, .ex_next').css({'top': (win_h-60)/2+'px', 'opacity': '.3', 'user-select': 'none'});
|
||||||
|
$('.ex_prev').css({'left': pos_x});
|
||||||
|
$('.ex_next').css({'left': pos_x+img_w-60});
|
||||||
|
$('.ex_thumb_con').fadeIn(300);
|
||||||
|
});
|
||||||
|
$('.ex_prev, .ex_next').mouseenter(function(){
|
||||||
|
$(this).dequeue().animate({opacity: '1'}, 300);
|
||||||
|
});
|
||||||
|
$('.ex_prev, .ex_next').mouseleave(function(){
|
||||||
|
$(this).dequeue().animate({opacity: '.3'}, 300);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// control remote - check connection and change logo
|
||||||
|
$.ajax({url: 'function.js.php?option=remote&f=check', dataType: 'json', success: function(data){
|
||||||
|
if ('result' in data) {
|
||||||
|
$('#r_right img').attr('src', 'templates/'+theme+'/img/xbmc_v.png');
|
||||||
|
} else {
|
||||||
|
$('#r_right img').attr('src', 'templates/'+theme+'/img/xbmc_vd.png');
|
||||||
|
}
|
||||||
|
}});
|
||||||
|
|
||||||
|
// show remote and now playing
|
||||||
|
$('#panel_remote').on('mouseenter click', function(){
|
||||||
|
keypress = true;
|
||||||
|
$.ajax({url: 'function.js.php?option=remote&f=check', dataType: 'json', success: function(data){
|
||||||
|
if ('result' in data) {
|
||||||
|
$('#r_right img').attr('src', 'templates/'+theme+'/img/xbmc_v.png');
|
||||||
|
} else {
|
||||||
|
$('#r_right img').attr('src', 'templates/'+theme+'/img/xbmc_vd.png');
|
||||||
|
}
|
||||||
|
}});
|
||||||
|
$('#panel_remote').animate({marginLeft: '10px'}, {queue: false, duration: 500, complete: function(){
|
||||||
|
$.ajax({url: 'function.js.php?option=remote&f=playing', dataType: 'json', success: function(data){
|
||||||
|
if ('type' in data) {
|
||||||
|
$('#np_details').html(data['details']);
|
||||||
|
var width = parseInt($('#bar').css('width'));
|
||||||
|
var w = (width * (parseInt(data['percentage']) / 100));
|
||||||
|
$('#prog').css('width', w+'px');
|
||||||
|
$('#now_playing').animate({marginLeft: '10px'}, {queue: false, duration: 500});
|
||||||
|
}
|
||||||
|
}});
|
||||||
|
}});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
// hide remote and now playing
|
||||||
|
$('#panel_remote, #now_playing').mouseleave(function(){
|
||||||
|
keypress = false;
|
||||||
|
$('#panel_remote').animate({marginLeft: '-100px'}, {queue: false, duration: 500, complete: function(){
|
||||||
|
$('#now_playing').animate({marginLeft: '-500px'}, {queue: false, duration: 500});
|
||||||
|
}});
|
||||||
|
});
|
||||||
|
|
||||||
|
// remote keypresing
|
||||||
|
$(document).on('keydown', function(e) {
|
||||||
|
if (keypress == true) {
|
||||||
|
e.preventDefault();
|
||||||
|
$.ajax({url: 'function.js.php?option=remote&f='+e.keyCode});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// hide now playing on stop button
|
||||||
|
$('#stop').click(function(){
|
||||||
|
$('#now_playing').animate({marginLeft: '-500px'}, {queue: false, duration: 500});
|
||||||
|
});
|
||||||
|
|
||||||
|
// button remote action
|
||||||
|
$('#panel_remote img').click(function(){
|
||||||
|
var act = $(this).attr('id');
|
||||||
|
$.ajax({url: 'function.js.php?option=remote&f='+act});
|
||||||
|
});
|
||||||
|
|
||||||
|
// panel desc
|
||||||
|
$('.movie, .episode').mouseenter(function(){
|
||||||
|
$(this).children('.xbmc_hide').animate({opacity: 1}, {queue: false, duration: 300});
|
||||||
|
});
|
||||||
|
$('.movie, .episode').mouseleave(function(){
|
||||||
|
$(this).children('.xbmc_hide').animate({opacity: .0}, {queue: false, duration: 300});
|
||||||
|
});
|
||||||
|
|
||||||
|
// create list.m3u
|
||||||
|
$('.list').mouseenter(function(){
|
||||||
|
var file = $(this).parent().attr('id');
|
||||||
|
var id = $(this).parent().parent().attr('id');
|
||||||
|
$.ajax({url: 'function.js.php?option=remote&f=list&id='+id+'&file='+file});
|
||||||
|
});
|
||||||
|
|
||||||
|
// play movie in xbmc
|
||||||
|
$('.play').click(function(){
|
||||||
|
var id = $(this).parent().attr('id');
|
||||||
|
var video = $('#panel_list').attr('class');
|
||||||
|
$.ajax({url: 'function.js.php?option=remote&f=play&id='+id+'&video='+video});
|
||||||
|
});
|
||||||
|
|
||||||
|
// admin visible - hidden
|
||||||
|
$(document).on('click', '.visible', function(){
|
||||||
|
var id = $(this).parent().parent().attr('id');
|
||||||
|
var video = $(this).parent().parent().parent().parent().attr('id');
|
||||||
|
$(this).attr('src', 'admin/img/hidden.png');
|
||||||
|
$(this).addClass('hidden');
|
||||||
|
$(this).removeClass('visible');
|
||||||
|
$.ajax({url: 'function.js.php?option=hide'+video+'&id='+id});
|
||||||
|
});
|
||||||
|
$(document).on('click', '.hidden', function(){
|
||||||
|
var id = $(this).parent().parent().attr('id');
|
||||||
|
var video = $(this).parent().parent().parent().parent().attr('id');
|
||||||
|
$(this).attr('src', 'admin/img/visible.png');
|
||||||
|
$(this).addClass('visible');
|
||||||
|
$(this).removeClass('hidden');
|
||||||
|
$.ajax({url: 'function.js.php?option=visible'+video+'&id='+id});
|
||||||
|
});
|
||||||
|
|
||||||
|
// admin image delete
|
||||||
|
$(document).on('mouseover', '.p_exist, .f_exist', function(){
|
||||||
|
$(this).attr('src', 'admin/img/delete.png');
|
||||||
|
$(this).on('mouseleave', '', function(){
|
||||||
|
$(this).attr('src', 'admin/img/exist.png');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$(document).on('click', '.p_exist, .f_exist', function(){
|
||||||
|
var id = $(this).parent().parent().attr('id');
|
||||||
|
var video = $(this).parent().parent().parent().parent().attr('id');
|
||||||
|
var type = $(this).parent().attr('class');
|
||||||
|
$(this).remove();
|
||||||
|
$.ajax({url: 'function.js.php?option=delete'+type+'&id='+id+'&video='+video+'s'});
|
||||||
|
});
|
||||||
|
|
||||||
|
// admin banner
|
||||||
|
$(document).on('keyup', '.ban', function() {
|
||||||
|
var b = [];
|
||||||
|
var f = false;
|
||||||
|
$('.ban').each(function(){
|
||||||
|
var key = $(this).attr('id');
|
||||||
|
var val = $(this).val();
|
||||||
|
b.push(key+':'+val);
|
||||||
|
if (f == false) {
|
||||||
|
if (!$.isNumeric(val)) {
|
||||||
|
if (!val.match(/[0-9abcdefABCDEF]{6}/)) {
|
||||||
|
f = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
banner = b.join(';');
|
||||||
|
if (f == false) {
|
||||||
|
$.ajax({
|
||||||
|
url: 'function.js.php?option=banner&banner='+banner,
|
||||||
|
success: function(){
|
||||||
|
$('#banner').attr('src', 'cache/banner_v.jpg?'+Math.random());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// test XBMC conn
|
||||||
|
$('#xbmc_test').click(function(){
|
||||||
|
var xbmc_host = $('#xbmc_host').val();
|
||||||
|
var xbmc_port = $('#xbmc_port').val();
|
||||||
|
var xbmc_login = $('#xbmc_login').val();
|
||||||
|
var xbmc_pass = $('#xbmc_pass').val();
|
||||||
|
$.ajax({url: 'function.js.php?option=remote&f=xbmc_test&xbmc_host='+xbmc_host+'&xbmc_port='+xbmc_port+'&xbmc_login='+xbmc_login+'&xbmc_pass='+xbmc_pass,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(data){
|
||||||
|
if ('result' in data) {
|
||||||
|
$('#xbmc_test div').html('<img src="admin/img/exist.png">');
|
||||||
|
$('#xbmc_test').css({'border': '2px solid #0FE800'});
|
||||||
|
$('#xbmc_test img').css({'display': 'block', 'position': 'absolute', 'margin-left': '120px'});
|
||||||
|
} else {
|
||||||
|
$('#xbmc_test div').html('<img src="admin/img/delete.png">');
|
||||||
|
$('#xbmc_test').css('border', '2px solid #FF0000');
|
||||||
|
$('#xbmc_test img').css({'display': 'block', 'position': 'absolute', 'margin-left': '120px'});
|
||||||
|
}
|
||||||
|
}});
|
||||||
|
});
|
||||||
|
});
|
7101
movielib/js/video.js
Normal file
239
movielib/lang/bg/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Заглавие';
|
||||||
|
$lang['i_movies'] = 'Филми';
|
||||||
|
$lang['i_tvshows'] = 'ТВ Сериали';
|
||||||
|
$lang['i_year'] = 'Година';
|
||||||
|
$lang['i_rating'] = 'Рейтинг';
|
||||||
|
$lang['i_added'] = 'Последно добавени';
|
||||||
|
$lang['i_last_played'] = 'Последно гледане';
|
||||||
|
$lang['i_most_watched'] = 'Най-гледани';
|
||||||
|
$lang['i_watched_status'] = 'Watched Status';
|
||||||
|
$lang['i_all'] = 'Всички';
|
||||||
|
$lang['i_watched'] = 'Изгледани';
|
||||||
|
$lang['i_unwatched'] = 'Неизгледани';
|
||||||
|
$lang['i_view'] = 'Изглед';
|
||||||
|
$lang['i_view_default'] = 'Стандартен';
|
||||||
|
$lang['i_view_list'] = 'Списък';
|
||||||
|
$lang['i_view_sposter'] = 'Малък плакат';
|
||||||
|
$lang['i_view_bposter'] = 'Голям плакат';
|
||||||
|
$lang['i_page'] = 'Страница';
|
||||||
|
$lang['i_premiered'] = 'Premiered';
|
||||||
|
$lang['i_aired'] = 'Излъчен';
|
||||||
|
$lang['i_genre'] = 'Жанр';
|
||||||
|
$lang['i_sort'] = 'Сортирай';
|
||||||
|
$lang['i_show_trailer'] = 'Трейлър';
|
||||||
|
$lang['i_xbmc_stop'] = 'Стоп';
|
||||||
|
$lang['i_xbmc_pause'] = 'Пауза';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Увеличи звука';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Намали звука';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Mute';
|
||||||
|
$lang['i_xbmc_info'] = 'Информация';
|
||||||
|
$lang['i_xbmc_up'] = 'Нагоре';
|
||||||
|
$lang['i_xbmc_down'] = 'Надолу';
|
||||||
|
$lang['i_xbmc_left'] = 'Наляво';
|
||||||
|
$lang['i_xbmc_right'] = 'Надясно';
|
||||||
|
$lang['i_xbmc_watched'] = 'Изгледани';
|
||||||
|
$lang['i_xbmc_select'] = 'Избор';
|
||||||
|
$lang['i_xbmc_context'] = 'Контекстно меню';
|
||||||
|
$lang['i_xbmc_back'] = 'Назад';
|
||||||
|
$lang['i_xbmc_power'] = 'Shutdown Menu';
|
||||||
|
$lang['i_xbmc_sync'] = 'Начало на синхронизиране';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Стъпка назад';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Стъпка напред';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Голяма стъпка назад';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Голяма стъпка напред';
|
||||||
|
$lang['i_xbmc_play'] = 'Възпроизведи в XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Свали видеото';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Свали като плейлист тип m3u';
|
||||||
|
$lang['i_plot'] = 'Сюжет';
|
||||||
|
$lang['i_cast'] = 'Участници';
|
||||||
|
$lang['i_actor'] = 'Актьор';
|
||||||
|
$lang['i_actors'] = 'Актьори';
|
||||||
|
$lang['i_episode'] = 'Епизод';
|
||||||
|
$lang['i_season'] = 'Сезон';
|
||||||
|
$lang['i_seasons'] = 'Сезони';
|
||||||
|
$lang['i_runtime'] = 'Времетраене';
|
||||||
|
$lang['i_director'] = 'Режисьор';
|
||||||
|
$lang['i_set'] = 'Поредица';
|
||||||
|
$lang['i_studio'] = 'Студио';
|
||||||
|
$lang['i_ribbon_new'] = 'New';
|
||||||
|
$lang['i_country'] = 'Държава';
|
||||||
|
$lang['i_minute'] = 'мин.';
|
||||||
|
$lang['i_previous'] = 'Предишна';
|
||||||
|
$lang['i_next'] = 'Следваща';
|
||||||
|
$lang['i_search'] = 'Търсене';
|
||||||
|
$lang['i_filter'] = 'Филтър';
|
||||||
|
$lang['i_del_result'] = 'Назад';
|
||||||
|
$lang['i_result'] = 'Резултат от търсенето за:';
|
||||||
|
$lang['i_overall_title'] = 'База от данни';
|
||||||
|
$lang['i_overall_all'] = 'Всички';
|
||||||
|
$lang['i_overall_watched'] = 'Изгледани';
|
||||||
|
$lang['i_overall_notwatched'] = 'Неизгледани';
|
||||||
|
$lang['i_last_added'] = 'Последно добавени';
|
||||||
|
$lang['i_top_rated'] = 'Най-високо оценените';
|
||||||
|
$lang['i_now_playing'] = 'Сега се възпроизвежда';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Панел за вписване';
|
||||||
|
$lang['l_pass'] = 'Паролата за достъп до сайта';
|
||||||
|
$lang['l_pass_admin'] = 'Паролата за достъп до администраторския панел';
|
||||||
|
$lang['l_wrong_pass'] = 'Грешна парола';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Не сте променили стандартната парола за достъп до администраторския панел. Препоръчително е да я смените - за вашата сигурност.';
|
||||||
|
$lang['a_install_exist'] = 'Файлът install.php все още съществува. За вашата сигурност е препоръчително да го изтриете.';
|
||||||
|
$lang['a_tables_updated'] = 'Таблиците са обновени';
|
||||||
|
$lang['a_movies'] = 'Филми';
|
||||||
|
$lang['a_tvshows'] = 'ТВ Сериали';
|
||||||
|
$lang['a_all'] = 'Общо';
|
||||||
|
$lang['a_watched'] = 'Изгледани';
|
||||||
|
$lang['a_unwatched'] = 'Неизгледани';
|
||||||
|
$lang['a_hidden'] = 'Скрити';
|
||||||
|
$lang['a_visible'] = 'Видими';
|
||||||
|
$lang['a_title'] = 'Заглавие';
|
||||||
|
$lang['a_cache'] = 'Кеш';
|
||||||
|
$lang['a_cached_posters'] = 'Кеширани плакати';
|
||||||
|
$lang['a_cached_fanarts'] = 'Кеширан fanart';
|
||||||
|
$lang['a_cached_actors'] = 'Cached actors';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Настройки на сървъра';
|
||||||
|
$lang['a_files_md5'] = 'Контролна сума';
|
||||||
|
$lang['a_server_directories'] = 'Директории';
|
||||||
|
$lang['a_exists'] = 'Съществува';
|
||||||
|
$lang['a_not_exists'] = 'Не съществува';
|
||||||
|
$lang['a_match'] = 'Съвпада';
|
||||||
|
$lang['a_mismatch'] = 'Не съвпада';
|
||||||
|
$lang['a_poster'] = 'Плакат';
|
||||||
|
$lang['a_fanart'] = 'Фанарт';
|
||||||
|
$lang['a_trailer'] = 'Трейлър';
|
||||||
|
$lang['a_delete'] = 'Изтриване';
|
||||||
|
$lang['a_delete_all'] = 'Изтрий всичко';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Синхронизиране';
|
||||||
|
$lang['a_set_main'] = 'Основни';
|
||||||
|
$lang['a_set_panel_left'] = 'Ляв панел';
|
||||||
|
$lang['a_set_panel_top'] = 'Горен панел';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Синхронизирай миниатюрите на актьорите';
|
||||||
|
$lang['a_xbmc_posters'] = 'Синхронизирай плакатите';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Синхронизирай фанарта';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Sync extra thumbs';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Extra thumbs quality';
|
||||||
|
$lang['a_xbmc_master'] = 'Sync only in Master Mode';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Заглавие на сайта';
|
||||||
|
$lang['a_language'] = 'Език';
|
||||||
|
$lang['a_theme'] = 'Тема';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Стандартен изглед';
|
||||||
|
$lang['a_view_default'] = 'Стандартен';
|
||||||
|
$lang['a_view_list'] = 'Списък';
|
||||||
|
$lang['a_view_sposter'] = 'Малък плакат';
|
||||||
|
$lang['a_view_bposter'] = 'Голям плакат';
|
||||||
|
$lang['a_per_page'] = 'Брой елементи на страница';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Елементи за редуване в горния панел';
|
||||||
|
$lang['a_panel_top_time'] = 'Смяна на елементите в горния панел през... (сек.)';
|
||||||
|
$lang['a_panel_top'] = 'Горен панел';
|
||||||
|
$lang['a_panel_view'] = 'Панел за избор на изглед';
|
||||||
|
$lang['a_watched_status'] = 'Състояние Изгледан/Неизгледан';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Търсене';
|
||||||
|
$lang['a_live_search_max_res'] = 'Максимален брой резултати от търсене';
|
||||||
|
$lang['a_panel_overall'] = 'Панел на общите стойности';
|
||||||
|
$lang['a_panel_genre'] = 'Панел за жанра';
|
||||||
|
$lang['a_panel_year'] = 'Панел за годината';
|
||||||
|
$lang['a_panel_country'] = 'Панел за държавата';
|
||||||
|
$lang['a_panel_set'] = 'Set panel';
|
||||||
|
$lang['a_panel_studio'] = 'Панел за студиото';
|
||||||
|
$lang['a_show_fanart'] = 'Показвай fanart на за заден план';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Fadeout fanart when mouse leave movie window';
|
||||||
|
$lang['a_show_trailer'] = 'Показвай трейлър';
|
||||||
|
$lang['a_show_facebook'] = 'Show facebook buttons';
|
||||||
|
$lang['a_protect_site'] = 'Защитаване на сайта с парола';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Запиши';
|
||||||
|
$lang['a_setting_on'] = 'Вкл.';
|
||||||
|
$lang['a_setting_off'] = 'Изкл.';
|
||||||
|
$lang['a_setting_on_expanded'] = 'Вкл. в разгърнато състояние';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'Вкл. в свито състояние';
|
||||||
|
$lang['a_saved'] = 'Настройките са записани';
|
||||||
|
$lang['a_not_saved'] = 'Настройките не са запаметени';
|
||||||
|
$lang['a_user'] = 'Потребител';
|
||||||
|
$lang['a_admin'] = 'Администратор';
|
||||||
|
$lang['a_new_password'] = 'Нова парола';
|
||||||
|
$lang['a_new_password_re'] = 'Въведете повторно';
|
||||||
|
$lang['a_user_pass_changed'] = 'Потребителската парола е променена';
|
||||||
|
$lang['a_user_pass_min'] = 'Потребителската парола трябва да има поне 4 букви';
|
||||||
|
$lang['a_user_pass_n_match'] = 'Потребителската парола не съвпада';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Администраторската парола е променена';
|
||||||
|
$lang['a_admin_pass_min'] = 'Администраторската парола трябва да има поне 4 букви';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Администраторската парола не съвпада';
|
||||||
|
$lang['a_token_change'] = 'Промени';
|
||||||
|
$lang['a_token_changed'] = 'Токенът е променен';
|
||||||
|
$lang['a_error_form'] = 'Error in form';
|
||||||
|
$lang['a_reset'] = 'Нулиране';
|
||||||
|
$lang['a_banner_size'] = 'Размер';
|
||||||
|
$lang['a_banner_bg'] = 'Фон';
|
||||||
|
$lang['a_banner_last_played'] = 'Последно възпроизвеждане';
|
||||||
|
$lang['a_banner_title'] = 'Заглавие';
|
||||||
|
$lang['a_banner_o_title'] = 'Оригинално заглавие';
|
||||||
|
$lang['a_banner_info'] = 'Информация';
|
||||||
|
$lang['a_banner_stroke'] = 'Контур';
|
||||||
|
$lang['a_banner_border'] = 'Граница';
|
||||||
|
$lang['a_xbmc_settings'] = 'Настройки за връзка с XBMC';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Хост';
|
||||||
|
$lang['a_xbmc_port'] = 'Порт';
|
||||||
|
$lang['a_xbmc_login'] = 'Потребителско име';
|
||||||
|
$lang['a_xbmc_pass'] = 'Парола';
|
||||||
|
$lang['a_xbmc_saved'] = 'Насройките са записани';
|
||||||
|
$lang['a_xmbc_test'] = 'Тест';
|
||||||
|
$lang['a_html_admin_panel'] = 'Администраторски панел';
|
||||||
|
$lang['a_html_library'] = 'Библиотека';
|
||||||
|
$lang['a_html_overall'] = 'Общи';
|
||||||
|
$lang['a_html_movie_list'] = 'Списък с филми';
|
||||||
|
$lang['a_html_tvshow_list'] = 'Списък на ТВ Сериали';
|
||||||
|
$lang['a_html_settings'] = 'Настройки';
|
||||||
|
$lang['a_html_password'] = 'Парола';
|
||||||
|
$lang['a_html_change_token'] = 'Токен';
|
||||||
|
$lang['a_html_banner'] = 'Банер';
|
||||||
|
$lang['a_html_logout'] = 'Отписване';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Инсталиране';
|
||||||
|
$lang['ins_lang_file'] = 'Изберете език';
|
||||||
|
$lang['ins_next'] = 'Напред';
|
||||||
|
$lang['ins_license'] = 'Лиценз';
|
||||||
|
$lang['ins_accept'] = 'Приемам';
|
||||||
|
$lang['ins_finished'] = 'Инсталацията приключи';
|
||||||
|
$lang['ins_error'] = 'Грешка пи инсталацията';
|
||||||
|
$lang['ins_file_db_ex'] = 'Файлът db.php съществува, но не може да бъде поменян. Файлът CHMOD е';
|
||||||
|
$lang['ins_file_db_not'] = 'Файлът db.php не може да бъде създаден, root директорията CHMOD е';
|
||||||
|
$lang['ins_file_db_cre'] = 'Може да създадете db.php ръчно в root дирекоията и да поставете следния код в него';
|
||||||
|
$lang['ins_admin'] = 'Администраторски панел';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Свързването с базата от данни не е възможно';
|
||||||
|
$lang['inst_conn_db'] = 'База от данни';
|
||||||
|
$lang['inst_server'] = 'Сървър';
|
||||||
|
$lang['inst_port'] = 'Порт';
|
||||||
|
$lang['inst_login'] = 'Потребител';
|
||||||
|
$lang['inst_pass'] = 'Парола';
|
||||||
|
$lang['inst_database'] = 'База от данни';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/bg/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Скриптът автоматично синхронизира и изобразява библиотеката на XBMC/Kodi.
|
||||||
|
|
||||||
|
Изисквания:
|
||||||
|
- Сървър с Apache, PHP 5 и MySQL 5
|
||||||
|
- Добавката "Movielib" за XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Стандартните пароли:
|
||||||
|
За сайта: user
|
||||||
|
За администраторския панел: admin
|
||||||
|
|
||||||
|
Необходимо да генерирате нов токен от администраторския панел и да го въведете в настройките на добавката Movielib в XBMC, заедно с URL адреса на скрипта.
|
239
movielib/lang/da/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Titel';
|
||||||
|
$lang['i_movies'] = 'Film';
|
||||||
|
$lang['i_tvshows'] = 'TVshows';
|
||||||
|
$lang['i_year'] = 'År';
|
||||||
|
$lang['i_rating'] = 'Bedømmelse';
|
||||||
|
$lang['i_added'] = 'Sidst tilføjet';
|
||||||
|
$lang['i_last_played'] = 'Sidst afspillet';
|
||||||
|
$lang['i_most_watched'] = 'Mest sete';
|
||||||
|
$lang['i_watched_status'] = 'Watched Status';
|
||||||
|
$lang['i_all'] = 'Alle';
|
||||||
|
$lang['i_watched'] = 'Set';
|
||||||
|
$lang['i_unwatched'] = 'Uset';
|
||||||
|
$lang['i_view'] = 'Se';
|
||||||
|
$lang['i_view_default'] = 'Standart';
|
||||||
|
$lang['i_view_list'] = 'Liste';
|
||||||
|
$lang['i_view_sposter'] = 'Lille plakat';
|
||||||
|
$lang['i_view_bposter'] = 'Stor plakat';
|
||||||
|
$lang['i_page'] = 'Side';
|
||||||
|
$lang['i_premiered'] = 'Udkom';
|
||||||
|
$lang['i_aired'] = 'Sendt første gang';
|
||||||
|
$lang['i_genre'] = 'Genre';
|
||||||
|
$lang['i_sort'] = 'Sorter';
|
||||||
|
$lang['i_show_trailer'] = 'Show Trailer';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stop';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pause';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Vol Up';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Vol Down';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Mute';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Up';
|
||||||
|
$lang['i_xbmc_down'] = 'Down';
|
||||||
|
$lang['i_xbmc_left'] = 'Left';
|
||||||
|
$lang['i_xbmc_right'] = 'Right';
|
||||||
|
$lang['i_xbmc_watched'] = 'Set';
|
||||||
|
$lang['i_xbmc_select'] = 'Select';
|
||||||
|
$lang['i_xbmc_context'] = 'Context Menu';
|
||||||
|
$lang['i_xbmc_back'] = 'Back';
|
||||||
|
$lang['i_xbmc_power'] = 'Shutdown Menu';
|
||||||
|
$lang['i_xbmc_sync'] = 'Start Sync';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Step Back';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Step Forward';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Big Step Back';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Big Step Forward';
|
||||||
|
$lang['i_xbmc_play'] = 'Play in XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Download Video';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Download m3u playlist';
|
||||||
|
$lang['i_plot'] = 'Plot';
|
||||||
|
$lang['i_cast'] = 'Medvirkende';
|
||||||
|
$lang['i_actor'] = 'Actor';
|
||||||
|
$lang['i_actors'] = 'Actors';
|
||||||
|
$lang['i_episode'] = 'Episode';
|
||||||
|
$lang['i_season'] = 'Sæson';
|
||||||
|
$lang['i_seasons'] = 'Sæsoner';
|
||||||
|
$lang['i_runtime'] = 'Spilletid';
|
||||||
|
$lang['i_director'] = 'Instruktør';
|
||||||
|
$lang['i_set'] = 'Sæt';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'New';
|
||||||
|
$lang['i_country'] = 'Land';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Forrige';
|
||||||
|
$lang['i_next'] = 'Næste';
|
||||||
|
$lang['i_search'] = 'Søg';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Slet resultater';
|
||||||
|
$lang['i_result'] = 'Resultat';
|
||||||
|
$lang['i_overall_title'] = 'Database';
|
||||||
|
$lang['i_overall_all'] = 'Alle';
|
||||||
|
$lang['i_overall_watched'] = 'Set';
|
||||||
|
$lang['i_overall_notwatched'] = 'Uset';
|
||||||
|
$lang['i_last_added'] = 'Sidst tilføjet';
|
||||||
|
$lang['i_top_rated'] = 'Bedste bedømmelse';
|
||||||
|
$lang['i_now_playing'] = 'Now Playing';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Login panel';
|
||||||
|
$lang['l_pass'] = 'Password for at se siden';
|
||||||
|
$lang['l_pass_admin'] = 'Password for at se adminpanelet';
|
||||||
|
$lang['l_wrong_pass'] = 'Forkert password';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Passwordet til Admin Panelet er stadig standart. Skift det for mere sikkerhed';
|
||||||
|
$lang['a_install_exist'] = 'install.php findes stadig. Slet det for mere sikkerhed';
|
||||||
|
$lang['a_tables_updated'] = 'Tabellerne er opdateret';
|
||||||
|
$lang['a_movies'] = 'Film';
|
||||||
|
$lang['a_tvshows'] = 'TVshows';
|
||||||
|
$lang['a_all'] = 'Alle';
|
||||||
|
$lang['a_watched'] = 'Set';
|
||||||
|
$lang['a_unwatched'] = 'Uset';
|
||||||
|
$lang['a_hidden'] = 'Skjul';
|
||||||
|
$lang['a_visible'] = 'Synlig';
|
||||||
|
$lang['a_title'] = 'Titel';
|
||||||
|
$lang['a_cache'] = 'Lager';
|
||||||
|
$lang['a_cached_posters'] = 'Lagrede plakater';
|
||||||
|
$lang['a_cached_fanarts'] = 'Lagrede fanskabte billeder';
|
||||||
|
$lang['a_cached_actors'] = 'Cached actors';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Server indstillinger';
|
||||||
|
$lang['a_files_md5'] = 'File checksume';
|
||||||
|
$lang['a_server_directories'] = 'Directories';
|
||||||
|
$lang['a_exists'] = 'Exists';
|
||||||
|
$lang['a_not_exists'] = 'Not exists';
|
||||||
|
$lang['a_match'] = 'Ens';
|
||||||
|
$lang['a_mismatch'] = 'Ikke ens';
|
||||||
|
$lang['a_poster'] = 'Plakat';
|
||||||
|
$lang['a_fanart'] = 'Fankunst';
|
||||||
|
$lang['a_trailer'] = 'Trailer';
|
||||||
|
$lang['a_delete'] = 'Slet';
|
||||||
|
$lang['a_delete_all'] = 'Slet alt';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Synkronisering';
|
||||||
|
$lang['a_set_main'] = 'Main';
|
||||||
|
$lang['a_set_panel_left'] = 'Venste panel';
|
||||||
|
$lang['a_set_panel_top'] = 'Top panel';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Synkroniser skuespiller billeder';
|
||||||
|
$lang['a_xbmc_posters'] = 'Synkroniser plakater';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Synkroniser fankunst';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Sync extra thumbs';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Extra thumbs quality';
|
||||||
|
$lang['a_xbmc_master'] = 'Sync only in Master Mode';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Sidens titel';
|
||||||
|
$lang['a_language'] = 'Sprog';
|
||||||
|
$lang['a_theme'] = 'Tema';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Se standart';
|
||||||
|
$lang['a_view_default'] = 'Standart';
|
||||||
|
$lang['a_view_list'] = 'Liste';
|
||||||
|
$lang['a_view_sposter'] = 'Lille plakat';
|
||||||
|
$lang['a_view_bposter'] = 'Stor plakat';
|
||||||
|
$lang['a_per_page'] = 'Ting per side';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Ting som skal køres i loop i Top panelet';
|
||||||
|
$lang['a_panel_top_time'] = 'Top panelets skifte tid (sek.)';
|
||||||
|
$lang['a_panel_top'] = 'Panelets top';
|
||||||
|
$lang['a_panel_view'] = 'Se Panel';
|
||||||
|
$lang['a_watched_status'] = 'Set status';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Live søgning';
|
||||||
|
$lang['a_live_search_max_res'] = 'Live søgning max resulater';
|
||||||
|
$lang['a_panel_overall'] = 'Overall panel';
|
||||||
|
$lang['a_panel_genre'] = 'Genre panel';
|
||||||
|
$lang['a_panel_year'] = 'Årstal panel';
|
||||||
|
$lang['a_panel_country'] = 'Land panel';
|
||||||
|
$lang['a_panel_set'] = 'Set panel';
|
||||||
|
$lang['a_panel_studio'] = 'Studio panel';
|
||||||
|
$lang['a_show_fanart'] = 'Vis fanskabte billeder i baggrunden';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Utydeliggør fanskabte billeder når musen fjernes fra film vinduet';
|
||||||
|
$lang['a_show_trailer'] = 'Vis trailer';
|
||||||
|
$lang['a_show_facebook'] = 'Show facebook buttons';
|
||||||
|
$lang['a_protect_site'] = 'Beskyt siden';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Gem';
|
||||||
|
$lang['a_setting_on'] = 'On';
|
||||||
|
$lang['a_setting_off'] = 'Off';
|
||||||
|
$lang['a_setting_on_expanded'] = 'On, udvidet';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'On, uden udvidelse';
|
||||||
|
$lang['a_saved'] = 'Indstillinger gemt';
|
||||||
|
$lang['a_not_saved'] = 'Settings not saved';
|
||||||
|
$lang['a_user'] = 'Bruger';
|
||||||
|
$lang['a_admin'] = 'Admin';
|
||||||
|
$lang['a_new_password'] = 'Nyt password';
|
||||||
|
$lang['a_new_password_re'] = 'Genskriv Password';
|
||||||
|
$lang['a_user_pass_changed'] = 'Bruger password ændret';
|
||||||
|
$lang['a_user_pass_min'] = 'Bruger passwordet skal bestå af mindst 4 bogstaver';
|
||||||
|
$lang['a_user_pass_n_match'] = 'Bruger passwordene er ikke ens';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Admin password er skiftet';
|
||||||
|
$lang['a_admin_pass_min'] = 'Admin passwordet skal bestå af mindst 4 bogstaver';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Admin passwordene er ikke ens';
|
||||||
|
$lang['a_token_change'] = 'Skift';
|
||||||
|
$lang['a_token_changed'] = 'Token skiftet';
|
||||||
|
$lang['a_error_form'] = 'Fejl i formen';
|
||||||
|
$lang['a_reset'] = 'Reset';
|
||||||
|
$lang['a_banner_size'] = 'Størrelse';
|
||||||
|
$lang['a_banner_bg'] = 'Baggrund';
|
||||||
|
$lang['a_banner_last_played'] = 'Sidst afspillet';
|
||||||
|
$lang['a_banner_title'] = 'Titel';
|
||||||
|
$lang['a_banner_o_title'] = 'Original titel';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Tryk';
|
||||||
|
$lang['a_banner_border'] = 'Kant';
|
||||||
|
$lang['a_xbmc_settings'] = 'XBMC Settings';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Host';
|
||||||
|
$lang['a_xbmc_port'] = 'Port';
|
||||||
|
$lang['a_xbmc_login'] = 'Login';
|
||||||
|
$lang['a_xbmc_pass'] = 'Password';
|
||||||
|
$lang['a_xbmc_saved'] = 'XBMC Settings saved';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Admin Panel';
|
||||||
|
$lang['a_html_library'] = 'Library';
|
||||||
|
$lang['a_html_overall'] = 'Overall';
|
||||||
|
$lang['a_html_movie_list'] = 'Film liste';
|
||||||
|
$lang['a_html_tvshow_list'] = 'Tvshows liste';
|
||||||
|
$lang['a_html_settings'] = 'Indstillinger';
|
||||||
|
$lang['a_html_password'] = 'Password';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'Log ud';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Installer';
|
||||||
|
$lang['ins_lang_file'] = 'Vælg sprog';
|
||||||
|
$lang['ins_next'] = 'Næste';
|
||||||
|
$lang['ins_license'] = 'Licens';
|
||||||
|
$lang['ins_accept'] = 'Accepter';
|
||||||
|
$lang['ins_finished'] = 'Installation Finished';
|
||||||
|
$lang['ins_error'] = 'Installation Error';
|
||||||
|
$lang['ins_file_db_ex'] = 'File db.php exist, but can\'t write into it, file CHMOD is';
|
||||||
|
$lang['ins_file_db_not'] = 'Can\'t create db.php file, root directory CHMOD is';
|
||||||
|
$lang['ins_file_db_cre'] = 'You can create db.php file manually in root directory and past this code into it';
|
||||||
|
$lang['ins_admin'] = 'Admin panel';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Kunne ikke forbinde til databasen';
|
||||||
|
$lang['inst_conn_db'] = 'Database';
|
||||||
|
$lang['inst_server'] = 'Server';
|
||||||
|
$lang['inst_port'] = 'Port';
|
||||||
|
$lang['inst_login'] = 'Login';
|
||||||
|
$lang['inst_pass'] = 'Password';
|
||||||
|
$lang['inst_database'] = 'Database';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/da/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Dette script synkronisere automatisk og viser XBMC/Kodi biblioteket
|
||||||
|
|
||||||
|
Krav:
|
||||||
|
- Server med Apache server, PHP 5, MySql 5
|
||||||
|
- Addonet "Movielib" til XBMC/Kodi. Som kan hentes her https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Standart passwords:
|
||||||
|
Adgang til siden: user
|
||||||
|
Adgang til admin panelet: admin
|
||||||
|
|
||||||
|
I admin panelet skal du generere en token og derefter putte den ind i addon indstillingerne i XBMC sammen med URL'en til scriptet
|
239
movielib/lang/de/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Titel';
|
||||||
|
$lang['i_movies'] = 'Filme';
|
||||||
|
$lang['i_tvshows'] = 'Fernsehshows';
|
||||||
|
$lang['i_year'] = 'Jahr';
|
||||||
|
$lang['i_rating'] = 'Bewertung';
|
||||||
|
$lang['i_added'] = 'Zuletzt hinzugefügt';
|
||||||
|
$lang['i_last_played'] = 'Zuletzt wiedergegeben';
|
||||||
|
$lang['i_most_watched'] = 'Meistgesehene';
|
||||||
|
$lang['i_watched_status'] = 'Gesehen-Status';
|
||||||
|
$lang['i_all'] = 'Alle';
|
||||||
|
$lang['i_watched'] = 'Gesehen';
|
||||||
|
$lang['i_unwatched'] = 'Ungesehen';
|
||||||
|
$lang['i_view'] = 'Ansicht';
|
||||||
|
$lang['i_view_default'] = 'Standard';
|
||||||
|
$lang['i_view_list'] = 'Liste';
|
||||||
|
$lang['i_view_sposter'] = 'Kleines Poster';
|
||||||
|
$lang['i_view_bposter'] = 'Großes Poster';
|
||||||
|
$lang['i_page'] = 'Seite';
|
||||||
|
$lang['i_premiered'] = 'Premiere';
|
||||||
|
$lang['i_aired'] = 'Ausgestrahlt';
|
||||||
|
$lang['i_genre'] = 'Genre';
|
||||||
|
$lang['i_sort'] = 'Sortieren';
|
||||||
|
$lang['i_show_trailer'] = 'Filmvorschau anzeigen';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stopp';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pause';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Lauter';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Leiser';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Stumm';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Oben';
|
||||||
|
$lang['i_xbmc_down'] = 'Unten';
|
||||||
|
$lang['i_xbmc_left'] = 'Links';
|
||||||
|
$lang['i_xbmc_right'] = 'Rechts';
|
||||||
|
$lang['i_xbmc_watched'] = 'Gesehen';
|
||||||
|
$lang['i_xbmc_select'] = 'Auswählen';
|
||||||
|
$lang['i_xbmc_context'] = 'Kontextmenü';
|
||||||
|
$lang['i_xbmc_back'] = 'Zurück';
|
||||||
|
$lang['i_xbmc_power'] = 'Herunterfahrenmenü';
|
||||||
|
$lang['i_xbmc_sync'] = 'Synchronisierung starten';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Schritt zurück';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Schritt vorwärts';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Großen Schritt zurück';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Großen Schritt vorwärts';
|
||||||
|
$lang['i_xbmc_play'] = 'In XBMC wiedergeben';
|
||||||
|
$lang['i_xbmc_download'] = 'Video herunterladen';
|
||||||
|
$lang['i_xbmc_m3u'] = 'm3u-Wiedergabeliste herunterladen';
|
||||||
|
$lang['i_plot'] = 'Handlung';
|
||||||
|
$lang['i_cast'] = 'Besetzung';
|
||||||
|
$lang['i_actor'] = 'Schauspieler';
|
||||||
|
$lang['i_actors'] = 'Schauspieler';
|
||||||
|
$lang['i_episode'] = 'Folge';
|
||||||
|
$lang['i_season'] = 'Staffel';
|
||||||
|
$lang['i_seasons'] = 'Staffeln';
|
||||||
|
$lang['i_runtime'] = 'Laufzeit';
|
||||||
|
$lang['i_director'] = 'Regisseur';
|
||||||
|
$lang['i_set'] = 'Film-Kollektion';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'Neu';
|
||||||
|
$lang['i_country'] = 'Land';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Zurück';
|
||||||
|
$lang['i_next'] = 'Weiter';
|
||||||
|
$lang['i_search'] = 'Suche';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Ergebnisse löschen';
|
||||||
|
$lang['i_result'] = 'Suchergebnis für';
|
||||||
|
$lang['i_overall_title'] = 'Datenbank';
|
||||||
|
$lang['i_overall_all'] = 'Alle';
|
||||||
|
$lang['i_overall_watched'] = 'Gesehen';
|
||||||
|
$lang['i_overall_notwatched'] = 'Ungesehen';
|
||||||
|
$lang['i_last_added'] = 'Zuletzt hinzugefügt';
|
||||||
|
$lang['i_top_rated'] = 'Top-Bewertung';
|
||||||
|
$lang['i_now_playing'] = 'Wird gerade wiedergegeben';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Anmeldebereich';
|
||||||
|
$lang['l_pass'] = 'Passwort eingeben, um auf die Seite zuzugreifen';
|
||||||
|
$lang['l_pass_admin'] = 'Passwort eingeben, um auf den Administrator-Bereich zuzugreifen';
|
||||||
|
$lang['l_wrong_pass'] = 'Falsches Passwort';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Das Passwort für den Administrator-Bereich wurde noch nicht geändert! Ändern Sie es für mehr Sicherheit';
|
||||||
|
$lang['a_install_exist'] = 'install.php-Datei noch vorhanden! Löschen Sie sie für mehr Sicherheit';
|
||||||
|
$lang['a_tables_updated'] = 'Tabellen aktualisiert';
|
||||||
|
$lang['a_movies'] = 'Filme';
|
||||||
|
$lang['a_tvshows'] = 'Fernsehshows';
|
||||||
|
$lang['a_all'] = 'Alle';
|
||||||
|
$lang['a_watched'] = 'Gesehen';
|
||||||
|
$lang['a_unwatched'] = 'Ungesehen';
|
||||||
|
$lang['a_hidden'] = 'Versteckt';
|
||||||
|
$lang['a_visible'] = 'Sichtbar';
|
||||||
|
$lang['a_title'] = 'Titel';
|
||||||
|
$lang['a_cache'] = 'Cache';
|
||||||
|
$lang['a_cached_posters'] = 'Gecachte Poster';
|
||||||
|
$lang['a_cached_fanarts'] = 'Gecachte Fankünste';
|
||||||
|
$lang['a_cached_actors'] = 'Gecachte Schauspieler';
|
||||||
|
$lang['a_cached_exthumb'] = 'Zwischengespeicherte zusätzliche Vorschaubilder';
|
||||||
|
$lang['a_server_settings'] = 'Servereinstellungen';
|
||||||
|
$lang['a_files_md5'] = 'Dateiprüfsummen';
|
||||||
|
$lang['a_server_directories'] = 'Verzeichnisse';
|
||||||
|
$lang['a_exists'] = 'Vorhanden';
|
||||||
|
$lang['a_not_exists'] = 'Nicht vorhanden';
|
||||||
|
$lang['a_match'] = 'Übereinstimmung';
|
||||||
|
$lang['a_mismatch'] = 'Nichtübereinstimmung';
|
||||||
|
$lang['a_poster'] = 'Poster';
|
||||||
|
$lang['a_fanart'] = 'Fankunst';
|
||||||
|
$lang['a_trailer'] = 'Filmvorschau';
|
||||||
|
$lang['a_delete'] = 'Löschen';
|
||||||
|
$lang['a_delete_all'] = 'Alles löschen';
|
||||||
|
$lang['a_delete_poster'] = 'Poster löschen';
|
||||||
|
$lang['a_delete_fanart'] = 'Fankunst löschen';
|
||||||
|
$lang['a_set_sync'] = 'Synchronisation';
|
||||||
|
$lang['a_set_main'] = 'Grundeinstellungen';
|
||||||
|
$lang['a_set_panel_left'] = 'Linker Bereich';
|
||||||
|
$lang['a_set_panel_top'] = 'Oberer Bereich';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Schauspieler-Bilder synchronisieren';
|
||||||
|
$lang['a_xbmc_posters'] = 'Poster synchronisieren';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Fankünste synchonisieren';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Zusätzliche Vorschaubilder synchronisieren';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Qualität der zusätzlichen Vorschaubilder';
|
||||||
|
$lang['a_xbmc_master'] = 'Nur im Hauptmodus synchronisieren';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Einstellungen für Fernbedienung automatisch konfigurieren';
|
||||||
|
$lang['a_site_name'] = 'Seitentitel';
|
||||||
|
$lang['a_language'] = 'Sprache';
|
||||||
|
$lang['a_theme'] = 'Thema';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Standardansicht';
|
||||||
|
$lang['a_view_default'] = 'Standard';
|
||||||
|
$lang['a_view_list'] = 'Liste';
|
||||||
|
$lang['a_view_sposter'] = 'Kleines Poster';
|
||||||
|
$lang['a_view_bposter'] = 'Großes Poster';
|
||||||
|
$lang['a_per_page'] = 'Elemente pro Seite';
|
||||||
|
$lang['a_default_sort'] = 'Standardsortierung';
|
||||||
|
$lang['a_default_watch'] = 'Standardmäßiger Gesehen-Status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Objekte wechseln im oberen Bereich';
|
||||||
|
$lang['a_panel_top_time'] = 'Wechselintervall (Sek.) im oberen Bereich';
|
||||||
|
$lang['a_panel_top'] = 'Oberer Bereich';
|
||||||
|
$lang['a_panel_view'] = 'Bereichsansicht';
|
||||||
|
$lang['a_watched_status'] = 'Gesehen-Status';
|
||||||
|
$lang['a_show_playcount'] = 'Wiedergabeanzahl anzeigen';
|
||||||
|
$lang['a_live_search'] = 'Live-Suche';
|
||||||
|
$lang['a_live_search_max_res'] = 'Max. Ergebnisse der Live-Suche';
|
||||||
|
$lang['a_panel_overall'] = 'Alle Bereiche';
|
||||||
|
$lang['a_panel_genre'] = 'Genre-Bereich';
|
||||||
|
$lang['a_panel_year'] = 'Jahr-Bereich';
|
||||||
|
$lang['a_panel_country'] = 'Land-Bereich';
|
||||||
|
$lang['a_panel_set'] = 'Panel festlegen';
|
||||||
|
$lang['a_panel_studio'] = 'Studiotafel';
|
||||||
|
$lang['a_show_fanart'] = 'Fankunst im Hintergrund anzeigen';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Fankunst ausblenden, wenn die Maus das Filmfenster verlässt';
|
||||||
|
$lang['a_show_trailer'] = 'Filmvorschau anzeigen';
|
||||||
|
$lang['a_show_facebook'] = 'Facebook-Schaltflächen anzeigen';
|
||||||
|
$lang['a_protect_site'] = 'Seite schützen';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Speichern';
|
||||||
|
$lang['a_setting_on'] = 'Ein';
|
||||||
|
$lang['a_setting_off'] = 'Aus';
|
||||||
|
$lang['a_setting_on_expanded'] = 'Ein, sichtbar';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'Ein, verborgen';
|
||||||
|
$lang['a_saved'] = 'Einstellungen gespeichert';
|
||||||
|
$lang['a_not_saved'] = 'Einstellungen nicht gespeichert';
|
||||||
|
$lang['a_user'] = 'Benutzer';
|
||||||
|
$lang['a_admin'] = 'Administrator';
|
||||||
|
$lang['a_new_password'] = 'Neues Passwort';
|
||||||
|
$lang['a_new_password_re'] = 'Passwort erneut eingeben';
|
||||||
|
$lang['a_user_pass_changed'] = 'Benutzerpasswort geändert';
|
||||||
|
$lang['a_user_pass_min'] = 'Benutzerpasswort muss aus mindestens 4 Buchstaben bestehen';
|
||||||
|
$lang['a_user_pass_n_match'] = 'Benutzerpasswort stimmt nicht überein';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Administratorpasswort geändert';
|
||||||
|
$lang['a_admin_pass_min'] = 'Administratorpasswort muss aus mindestens 4 Buchstaben bestehen';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Administratorpasswort stimmt nicht überein';
|
||||||
|
$lang['a_token_change'] = 'Ändern';
|
||||||
|
$lang['a_token_changed'] = 'Token geändert';
|
||||||
|
$lang['a_error_form'] = 'Fehler in Eingabemaske';
|
||||||
|
$lang['a_reset'] = 'Zurücksetzen';
|
||||||
|
$lang['a_banner_size'] = 'Größe';
|
||||||
|
$lang['a_banner_bg'] = 'Hintergrund';
|
||||||
|
$lang['a_banner_last_played'] = 'Zuletzt wiedergegeben';
|
||||||
|
$lang['a_banner_title'] = 'Titel';
|
||||||
|
$lang['a_banner_o_title'] = 'Originaltitel';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Schriftzug';
|
||||||
|
$lang['a_banner_border'] = 'Grenze';
|
||||||
|
$lang['a_xbmc_settings'] = 'XBMC-Einstellungen';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Automatische Konfiguration der Fernbedienungseinstellungen ist aktiviert. Unterhalb der Einstellungen ist XBMC auf automatisch eingestellt';
|
||||||
|
$lang['a_xbmc_host'] = 'Host';
|
||||||
|
$lang['a_xbmc_port'] = 'Port';
|
||||||
|
$lang['a_xbmc_login'] = 'Benutzername';
|
||||||
|
$lang['a_xbmc_pass'] = 'Passwort';
|
||||||
|
$lang['a_xbmc_saved'] = 'XBMC-Einstellungen gespeichert';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Administrator-Bereich';
|
||||||
|
$lang['a_html_library'] = 'Bibliothek';
|
||||||
|
$lang['a_html_overall'] = 'Übersicht';
|
||||||
|
$lang['a_html_movie_list'] = 'Filmliste';
|
||||||
|
$lang['a_html_tvshow_list'] = 'Fernsehshowliste';
|
||||||
|
$lang['a_html_settings'] = 'Einstellungen';
|
||||||
|
$lang['a_html_password'] = 'Passwort';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'Abmelden';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Installieren';
|
||||||
|
$lang['ins_lang_file'] = 'Sprache auswählen';
|
||||||
|
$lang['ins_next'] = 'Nächste';
|
||||||
|
$lang['ins_license'] = 'Lizenz';
|
||||||
|
$lang['ins_accept'] = 'Akzeptieren';
|
||||||
|
$lang['ins_finished'] = 'Installation abgeschlossen';
|
||||||
|
$lang['ins_error'] = 'Installationsfehler';
|
||||||
|
$lang['ins_file_db_ex'] = 'Datei db.php ist vorhanden, aber es kann nicht hineingeschrieben werden, Datei-CHMOD ist';
|
||||||
|
$lang['ins_file_db_not'] = 'Datei db.php kann nicht erstellt werden, Wurzelverzeichnis-CHMOD ist';
|
||||||
|
$lang['ins_file_db_cre'] = 'Sie können eine db.php-Datei manuell im Wurzelverzeichnis erstellen und diesen Code einfügen';
|
||||||
|
$lang['ins_admin'] = 'Administrator-Bereich';
|
||||||
|
$lang['ins_db_exist'] = 'Datenbank-Konfigurationsdatei ist bereits vorhanden. Bei Fortsetzung werden die vorhandenen Einstellungen überschrieben. Wenn die Konfiguration der Datenbank erfolgreich war, bitte die Datei install.php löschen';
|
||||||
|
$lang['ins_could_connect'] = 'Verbindung zur Datenbank nicht möglich';
|
||||||
|
$lang['inst_conn_db'] = 'Datenbank';
|
||||||
|
$lang['inst_server'] = 'Server';
|
||||||
|
$lang['inst_port'] = 'Port';
|
||||||
|
$lang['inst_login'] = 'Login';
|
||||||
|
$lang['inst_pass'] = 'Passwort';
|
||||||
|
$lang['inst_database'] = 'Datenbank';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/de/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Dieses Skript synchronisiert automatisch und zeigt die XBMC/Kodi-Bibliothek an.
|
||||||
|
|
||||||
|
Anforderungen:
|
||||||
|
- Server mit Apache, PHP 5, MySql 5
|
||||||
|
- Das Addon "Movielib" für XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Standardpasswörter:
|
||||||
|
Seitenzugang: Benutzer
|
||||||
|
Zugang zum Administratorbereich: admin
|
||||||
|
|
||||||
|
Im Administratorbereich muss ein neuer Token generiert werden, dieser Token muss in den Einstellungen des Addon's inklusive URL zum Skript angegeben werden.
|
239
movielib/lang/en/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Title';
|
||||||
|
$lang['i_movies'] = 'Movies';
|
||||||
|
$lang['i_tvshows'] = 'TVshows';
|
||||||
|
$lang['i_year'] = 'Year';
|
||||||
|
$lang['i_rating'] = 'Rating';
|
||||||
|
$lang['i_added'] = 'Last Added';
|
||||||
|
$lang['i_last_played'] = 'Last Played';
|
||||||
|
$lang['i_most_watched'] = 'Most Watched';
|
||||||
|
$lang['i_watched_status'] = 'Watched Status';
|
||||||
|
$lang['i_all'] = 'All';
|
||||||
|
$lang['i_watched'] = 'Watched';
|
||||||
|
$lang['i_unwatched'] = 'Unwatched';
|
||||||
|
$lang['i_view'] = 'View';
|
||||||
|
$lang['i_view_default'] = 'Default';
|
||||||
|
$lang['i_view_list'] = 'List';
|
||||||
|
$lang['i_view_sposter'] = 'Small Poster';
|
||||||
|
$lang['i_view_bposter'] = 'Big Poster';
|
||||||
|
$lang['i_page'] = 'Page';
|
||||||
|
$lang['i_premiered'] = 'Premiered';
|
||||||
|
$lang['i_aired'] = 'Aired';
|
||||||
|
$lang['i_genre'] = 'Genre';
|
||||||
|
$lang['i_sort'] = 'Sort';
|
||||||
|
$lang['i_show_trailer'] = 'Show Trailer';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stop';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pause';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Vol Up';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Vol Down';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Mute';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Up';
|
||||||
|
$lang['i_xbmc_down'] = 'Down';
|
||||||
|
$lang['i_xbmc_left'] = 'Left';
|
||||||
|
$lang['i_xbmc_right'] = 'Right';
|
||||||
|
$lang['i_xbmc_watched'] = 'Watched';
|
||||||
|
$lang['i_xbmc_select'] = 'Select';
|
||||||
|
$lang['i_xbmc_context'] = 'Context Menu';
|
||||||
|
$lang['i_xbmc_back'] = 'Back';
|
||||||
|
$lang['i_xbmc_power'] = 'Shutdown Menu';
|
||||||
|
$lang['i_xbmc_sync'] = 'Start Sync';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Step Back';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Step Forward';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Big Step Back';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Big Step Forward';
|
||||||
|
$lang['i_xbmc_play'] = 'Play in XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Download Video';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Download m3u playlist';
|
||||||
|
$lang['i_plot'] = 'Plot';
|
||||||
|
$lang['i_cast'] = 'Cast';
|
||||||
|
$lang['i_actor'] = 'Actor';
|
||||||
|
$lang['i_actors'] = 'Actors';
|
||||||
|
$lang['i_episode'] = 'Episode';
|
||||||
|
$lang['i_season'] = 'Season';
|
||||||
|
$lang['i_seasons'] = 'Seasons';
|
||||||
|
$lang['i_runtime'] = 'Runtime';
|
||||||
|
$lang['i_director'] = 'Director';
|
||||||
|
$lang['i_set'] = 'Set';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'New';
|
||||||
|
$lang['i_country'] = 'Country';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Previous';
|
||||||
|
$lang['i_next'] = 'Next';
|
||||||
|
$lang['i_search'] = 'Search';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Delete results';
|
||||||
|
$lang['i_result'] = 'Result for phrase';
|
||||||
|
$lang['i_overall_title'] = 'Database';
|
||||||
|
$lang['i_overall_all'] = 'All';
|
||||||
|
$lang['i_overall_watched'] = 'Watched';
|
||||||
|
$lang['i_overall_notwatched'] = 'Unwatched';
|
||||||
|
$lang['i_last_added'] = 'Last Added';
|
||||||
|
$lang['i_top_rated'] = 'Top Rated';
|
||||||
|
$lang['i_now_playing'] = 'Now Playing';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Login panel';
|
||||||
|
$lang['l_pass'] = 'Password to access site';
|
||||||
|
$lang['l_pass_admin'] = 'Password to access Admin Panel';
|
||||||
|
$lang['l_wrong_pass'] = 'Wrong password';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Password to Admin Panel is still default. Change it for more safety';
|
||||||
|
$lang['a_install_exist'] = 'install.php file still exist. Delete it to for more safety';
|
||||||
|
$lang['a_tables_updated'] = 'Tables updated';
|
||||||
|
$lang['a_movies'] = 'Movies';
|
||||||
|
$lang['a_tvshows'] = 'TVshows';
|
||||||
|
$lang['a_all'] = 'All';
|
||||||
|
$lang['a_watched'] = 'Watched';
|
||||||
|
$lang['a_unwatched'] = 'Unwatched';
|
||||||
|
$lang['a_hidden'] = 'Hidden';
|
||||||
|
$lang['a_visible'] = 'Visible';
|
||||||
|
$lang['a_title'] = 'Title';
|
||||||
|
$lang['a_cache'] = 'Cache';
|
||||||
|
$lang['a_cached_posters'] = 'Cached posters';
|
||||||
|
$lang['a_cached_fanarts'] = 'Cached fanarts';
|
||||||
|
$lang['a_cached_actors'] = 'Cached actors';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Server Settings';
|
||||||
|
$lang['a_files_md5'] = 'File checksums';
|
||||||
|
$lang['a_server_directories'] = 'Directories';
|
||||||
|
$lang['a_exists'] = 'Exists';
|
||||||
|
$lang['a_not_exists'] = 'Not exists';
|
||||||
|
$lang['a_match'] = 'Match';
|
||||||
|
$lang['a_mismatch'] = 'Mismatch';
|
||||||
|
$lang['a_poster'] = 'Poster';
|
||||||
|
$lang['a_fanart'] = 'Fanart';
|
||||||
|
$lang['a_trailer'] = 'Trailer';
|
||||||
|
$lang['a_delete'] = 'Delete';
|
||||||
|
$lang['a_delete_all'] = 'Delete All';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Synchronization';
|
||||||
|
$lang['a_set_main'] = 'Main';
|
||||||
|
$lang['a_set_panel_left'] = 'Left panel';
|
||||||
|
$lang['a_set_panel_top'] = 'Top panel';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Sync actors thumb';
|
||||||
|
$lang['a_xbmc_posters'] = 'Sync posters';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Sync fanarts';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Sync extra thumbs';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Extra thumbs quality';
|
||||||
|
$lang['a_xbmc_master'] = 'Sync only in Master Mode';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Site title';
|
||||||
|
$lang['a_language'] = 'Language';
|
||||||
|
$lang['a_theme'] = 'Theme';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Default View';
|
||||||
|
$lang['a_view_default'] = 'Default';
|
||||||
|
$lang['a_view_list'] = 'List';
|
||||||
|
$lang['a_view_sposter'] = 'Small Poster';
|
||||||
|
$lang['a_view_bposter'] = 'Big Poster';
|
||||||
|
$lang['a_per_page'] = 'Item per page';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Item to loop in Top panel';
|
||||||
|
$lang['a_panel_top_time'] = 'Panel top changeing time (sec.)';
|
||||||
|
$lang['a_panel_top'] = 'Panel top';
|
||||||
|
$lang['a_panel_view'] = 'Panel view';
|
||||||
|
$lang['a_watched_status'] = 'Watched status';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Live search';
|
||||||
|
$lang['a_live_search_max_res'] = 'Live search max results';
|
||||||
|
$lang['a_panel_overall'] = 'Overall panel';
|
||||||
|
$lang['a_panel_genre'] = 'Genre panel';
|
||||||
|
$lang['a_panel_year'] = 'Year panel';
|
||||||
|
$lang['a_panel_country'] = 'Country panel';
|
||||||
|
$lang['a_panel_set'] = 'Set panel';
|
||||||
|
$lang['a_panel_studio'] = 'Studio panel';
|
||||||
|
$lang['a_show_fanart'] = 'Show fanart in background';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Fadeout fanart when mouse leave movie window';
|
||||||
|
$lang['a_show_trailer'] = 'Show trailer';
|
||||||
|
$lang['a_show_facebook'] = 'Show facebook buttons';
|
||||||
|
$lang['a_protect_site'] = 'Protect site';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Save';
|
||||||
|
$lang['a_setting_on'] = 'On';
|
||||||
|
$lang['a_setting_off'] = 'Off';
|
||||||
|
$lang['a_setting_on_expanded'] = 'On, expanded';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'On, collapsed';
|
||||||
|
$lang['a_saved'] = 'Settings saved';
|
||||||
|
$lang['a_not_saved'] = 'Settings not saved';
|
||||||
|
$lang['a_user'] = 'User';
|
||||||
|
$lang['a_admin'] = 'Admin';
|
||||||
|
$lang['a_new_password'] = 'New password';
|
||||||
|
$lang['a_new_password_re'] = 'Re-type Password';
|
||||||
|
$lang['a_user_pass_changed'] = 'User password changed';
|
||||||
|
$lang['a_user_pass_min'] = 'User password must have minimum 4 letters';
|
||||||
|
$lang['a_user_pass_n_match'] = 'User password not match';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Admin password changed';
|
||||||
|
$lang['a_admin_pass_min'] = 'Admin password must have minimum 4 letters';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Admin password not match';
|
||||||
|
$lang['a_token_change'] = 'Change';
|
||||||
|
$lang['a_token_changed'] = 'Token Changed';
|
||||||
|
$lang['a_error_form'] = 'Error in form';
|
||||||
|
$lang['a_reset'] = 'Reset';
|
||||||
|
$lang['a_banner_size'] = 'Size';
|
||||||
|
$lang['a_banner_bg'] = 'Background';
|
||||||
|
$lang['a_banner_last_played'] = 'Last Played';
|
||||||
|
$lang['a_banner_title'] = 'Title';
|
||||||
|
$lang['a_banner_o_title'] = 'Originaltitle';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Stroke';
|
||||||
|
$lang['a_banner_border'] = 'Border';
|
||||||
|
$lang['a_xbmc_settings'] = 'XBMC Settings';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Host';
|
||||||
|
$lang['a_xbmc_port'] = 'Port';
|
||||||
|
$lang['a_xbmc_login'] = 'Login';
|
||||||
|
$lang['a_xbmc_pass'] = 'Password';
|
||||||
|
$lang['a_xbmc_saved'] = 'XBMC Settings saved';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Admin Panel';
|
||||||
|
$lang['a_html_library'] = 'Library';
|
||||||
|
$lang['a_html_overall'] = 'Overall';
|
||||||
|
$lang['a_html_movie_list'] = 'Movie List';
|
||||||
|
$lang['a_html_tvshow_list'] = 'TVshow List';
|
||||||
|
$lang['a_html_settings'] = 'Settings';
|
||||||
|
$lang['a_html_password'] = 'Password';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'Logout';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Install';
|
||||||
|
$lang['ins_lang_file'] = 'Choose language';
|
||||||
|
$lang['ins_next'] = 'Next';
|
||||||
|
$lang['ins_license'] = 'License';
|
||||||
|
$lang['ins_accept'] = 'Accept';
|
||||||
|
$lang['ins_finished'] = 'Installation Finished';
|
||||||
|
$lang['ins_error'] = 'Installation Error';
|
||||||
|
$lang['ins_file_db_ex'] = 'File db.php exist, but can\'t write into it, file CHMOD is';
|
||||||
|
$lang['ins_file_db_not'] = 'Can\'t create db.php file, root directory CHMOD is';
|
||||||
|
$lang['ins_file_db_cre'] = 'You can create db.php file manually in root directory and past this code into it';
|
||||||
|
$lang['ins_admin'] = 'Admin Panel';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Could not connect to database';
|
||||||
|
$lang['inst_conn_db'] = 'Database';
|
||||||
|
$lang['inst_server'] = 'Server';
|
||||||
|
$lang['inst_port'] = 'Port';
|
||||||
|
$lang['inst_login'] = 'Login';
|
||||||
|
$lang['inst_pass'] = 'Password';
|
||||||
|
$lang['inst_database'] = 'Database';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/en/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
The script automatically synchronizes and displays XBMC/Kodi library.
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
- Server with Apache server, PHP 5, MySql 5
|
||||||
|
- Addon "Movielib" for XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Default passwords:
|
||||||
|
Access to site: user
|
||||||
|
Access to admin panel: admin
|
||||||
|
|
||||||
|
In Panel Admin section you need to generate token and put it to addon settings with URL to script.
|
239
movielib/lang/es/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Titulo';
|
||||||
|
$lang['i_movies'] = 'Peliculas';
|
||||||
|
$lang['i_tvshows'] = 'Series de TV';
|
||||||
|
$lang['i_year'] = 'Año';
|
||||||
|
$lang['i_rating'] = 'Valoración';
|
||||||
|
$lang['i_added'] = 'Last Added';
|
||||||
|
$lang['i_last_played'] = 'Last Played';
|
||||||
|
$lang['i_most_watched'] = 'Mas Visto';
|
||||||
|
$lang['i_watched_status'] = 'Watched Status';
|
||||||
|
$lang['i_all'] = 'Todo';
|
||||||
|
$lang['i_watched'] = 'Visto';
|
||||||
|
$lang['i_unwatched'] = 'No Visto';
|
||||||
|
$lang['i_view'] = 'Ver';
|
||||||
|
$lang['i_view_default'] = 'Por Defecto';
|
||||||
|
$lang['i_view_list'] = 'Lista';
|
||||||
|
$lang['i_view_sposter'] = 'Poster Pequeño';
|
||||||
|
$lang['i_view_bposter'] = 'Poster Grande';
|
||||||
|
$lang['i_page'] = 'Pagina';
|
||||||
|
$lang['i_premiered'] = 'Estrenado';
|
||||||
|
$lang['i_aired'] = 'Transmitido';
|
||||||
|
$lang['i_genre'] = 'Genero';
|
||||||
|
$lang['i_sort'] = 'Ordenar';
|
||||||
|
$lang['i_show_trailer'] = 'Mostrar Avance';
|
||||||
|
$lang['i_xbmc_stop'] = 'Parar';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pausa';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Subir Volumen';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Bajar Volumen';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Mute';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Up';
|
||||||
|
$lang['i_xbmc_down'] = 'Down';
|
||||||
|
$lang['i_xbmc_left'] = 'Left';
|
||||||
|
$lang['i_xbmc_right'] = 'Right';
|
||||||
|
$lang['i_xbmc_watched'] = 'Visto';
|
||||||
|
$lang['i_xbmc_select'] = 'Select';
|
||||||
|
$lang['i_xbmc_context'] = 'Context Menu';
|
||||||
|
$lang['i_xbmc_back'] = 'Back';
|
||||||
|
$lang['i_xbmc_power'] = 'Shutdown Menu';
|
||||||
|
$lang['i_xbmc_sync'] = 'Start Sync';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Rebobinar';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Avanzar';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Big Step Back';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Big Step Forward';
|
||||||
|
$lang['i_xbmc_play'] = 'Reproducir en XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Videos Descargados';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Listas M3U Descargadas';
|
||||||
|
$lang['i_plot'] = 'Descripción';
|
||||||
|
$lang['i_cast'] = 'Elenco';
|
||||||
|
$lang['i_actor'] = 'Actor';
|
||||||
|
$lang['i_actors'] = 'Actores';
|
||||||
|
$lang['i_episode'] = 'Episodio';
|
||||||
|
$lang['i_season'] = 'Temporada';
|
||||||
|
$lang['i_seasons'] = 'Temporadas';
|
||||||
|
$lang['i_runtime'] = 'Tiempo de Ejecución';
|
||||||
|
$lang['i_director'] = 'Director';
|
||||||
|
$lang['i_set'] = 'Set';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'New';
|
||||||
|
$lang['i_country'] = 'Pais';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Previous';
|
||||||
|
$lang['i_next'] = 'Next';
|
||||||
|
$lang['i_search'] = 'Search';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Delete results';
|
||||||
|
$lang['i_result'] = 'Result for phrase';
|
||||||
|
$lang['i_overall_title'] = 'Database';
|
||||||
|
$lang['i_overall_all'] = 'Todo';
|
||||||
|
$lang['i_overall_watched'] = 'Visto';
|
||||||
|
$lang['i_overall_notwatched'] = 'No Visto';
|
||||||
|
$lang['i_last_added'] = 'Last Added';
|
||||||
|
$lang['i_top_rated'] = 'Top Rated';
|
||||||
|
$lang['i_now_playing'] = 'Now Playing';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Login panel';
|
||||||
|
$lang['l_pass'] = 'Password to access site';
|
||||||
|
$lang['l_pass_admin'] = 'Password to access Admin Panel';
|
||||||
|
$lang['l_wrong_pass'] = 'Wrong password';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Password to Admin Panel is still default. Change it for more safety';
|
||||||
|
$lang['a_install_exist'] = 'install.php file still exist. Delete it to for more safety';
|
||||||
|
$lang['a_tables_updated'] = 'Tables updated';
|
||||||
|
$lang['a_movies'] = 'Películas';
|
||||||
|
$lang['a_tvshows'] = 'Series de TV';
|
||||||
|
$lang['a_all'] = 'Todo';
|
||||||
|
$lang['a_watched'] = 'Visto';
|
||||||
|
$lang['a_unwatched'] = 'No Visto';
|
||||||
|
$lang['a_hidden'] = 'Hidden';
|
||||||
|
$lang['a_visible'] = 'Visible';
|
||||||
|
$lang['a_title'] = 'Titulo';
|
||||||
|
$lang['a_cache'] = 'Cache';
|
||||||
|
$lang['a_cached_posters'] = 'Cached posters';
|
||||||
|
$lang['a_cached_fanarts'] = 'Cached fanarts';
|
||||||
|
$lang['a_cached_actors'] = 'Cached actors';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Server Settings';
|
||||||
|
$lang['a_files_md5'] = 'File checksums';
|
||||||
|
$lang['a_server_directories'] = 'Directories';
|
||||||
|
$lang['a_exists'] = 'Exists';
|
||||||
|
$lang['a_not_exists'] = 'Not exists';
|
||||||
|
$lang['a_match'] = 'Match';
|
||||||
|
$lang['a_mismatch'] = 'Mismatch';
|
||||||
|
$lang['a_poster'] = 'Poster';
|
||||||
|
$lang['a_fanart'] = 'Fanart';
|
||||||
|
$lang['a_trailer'] = 'Trailer';
|
||||||
|
$lang['a_delete'] = 'Delete';
|
||||||
|
$lang['a_delete_all'] = 'Delete All';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Sincronización';
|
||||||
|
$lang['a_set_main'] = 'Main';
|
||||||
|
$lang['a_set_panel_left'] = 'Left panel';
|
||||||
|
$lang['a_set_panel_top'] = 'Top panel';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Sincronizar miniaturas de los actores';
|
||||||
|
$lang['a_xbmc_posters'] = 'Sincronizar posters';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Sincronizar fanarts';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Sync extra thumbs';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Extra thumbs quality';
|
||||||
|
$lang['a_xbmc_master'] = 'Sync only in Master Mode';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Site title';
|
||||||
|
$lang['a_language'] = 'Language';
|
||||||
|
$lang['a_theme'] = 'Theme';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Default View';
|
||||||
|
$lang['a_view_default'] = 'Por Defecto';
|
||||||
|
$lang['a_view_list'] = 'Lista';
|
||||||
|
$lang['a_view_sposter'] = 'Poster Pequeño';
|
||||||
|
$lang['a_view_bposter'] = 'Poster Grande';
|
||||||
|
$lang['a_per_page'] = 'Item per page';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Item to loop in Top panel';
|
||||||
|
$lang['a_panel_top_time'] = 'Panel top changeing time (sec.)';
|
||||||
|
$lang['a_panel_top'] = 'Panel top';
|
||||||
|
$lang['a_panel_view'] = 'Panel view';
|
||||||
|
$lang['a_watched_status'] = 'Watched status';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Live search';
|
||||||
|
$lang['a_live_search_max_res'] = 'Live search max results';
|
||||||
|
$lang['a_panel_overall'] = 'Overall panel';
|
||||||
|
$lang['a_panel_genre'] = 'Genre panel';
|
||||||
|
$lang['a_panel_year'] = 'Year panel';
|
||||||
|
$lang['a_panel_country'] = 'Country panel';
|
||||||
|
$lang['a_panel_set'] = 'Set panel';
|
||||||
|
$lang['a_panel_studio'] = 'Studio panel';
|
||||||
|
$lang['a_show_fanart'] = 'Show fanart in background';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Fadeout fanart when mouse leave movie window';
|
||||||
|
$lang['a_show_trailer'] = 'Show trailer';
|
||||||
|
$lang['a_show_facebook'] = 'Show facebook buttons';
|
||||||
|
$lang['a_protect_site'] = 'Protect site';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Save';
|
||||||
|
$lang['a_setting_on'] = 'On';
|
||||||
|
$lang['a_setting_off'] = 'Off';
|
||||||
|
$lang['a_setting_on_expanded'] = 'On, expanded';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'On, collapsed';
|
||||||
|
$lang['a_saved'] = 'Settings saved';
|
||||||
|
$lang['a_not_saved'] = 'Settings not saved';
|
||||||
|
$lang['a_user'] = 'User';
|
||||||
|
$lang['a_admin'] = 'Admin';
|
||||||
|
$lang['a_new_password'] = 'New password';
|
||||||
|
$lang['a_new_password_re'] = 'Re-type Password';
|
||||||
|
$lang['a_user_pass_changed'] = 'User password changed';
|
||||||
|
$lang['a_user_pass_min'] = 'User password must have minimum 4 letters';
|
||||||
|
$lang['a_user_pass_n_match'] = 'User password not match';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Admin password changed';
|
||||||
|
$lang['a_admin_pass_min'] = 'Admin password must have minimum 4 letters';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Admin password not match';
|
||||||
|
$lang['a_token_change'] = 'Change';
|
||||||
|
$lang['a_token_changed'] = 'Token Changed';
|
||||||
|
$lang['a_error_form'] = 'Error in form';
|
||||||
|
$lang['a_reset'] = 'Reset';
|
||||||
|
$lang['a_banner_size'] = 'Size';
|
||||||
|
$lang['a_banner_bg'] = 'Background';
|
||||||
|
$lang['a_banner_last_played'] = 'Last Played';
|
||||||
|
$lang['a_banner_title'] = 'Titulo';
|
||||||
|
$lang['a_banner_o_title'] = 'Originaltitle';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Stroke';
|
||||||
|
$lang['a_banner_border'] = 'Border';
|
||||||
|
$lang['a_xbmc_settings'] = 'XBMC Settings';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Host';
|
||||||
|
$lang['a_xbmc_port'] = 'Port';
|
||||||
|
$lang['a_xbmc_login'] = 'Login';
|
||||||
|
$lang['a_xbmc_pass'] = 'Password';
|
||||||
|
$lang['a_xbmc_saved'] = 'XBMC Settings saved';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Admin Panel';
|
||||||
|
$lang['a_html_library'] = 'Library';
|
||||||
|
$lang['a_html_overall'] = 'Overall';
|
||||||
|
$lang['a_html_movie_list'] = 'Movie List';
|
||||||
|
$lang['a_html_tvshow_list'] = 'TVshow List';
|
||||||
|
$lang['a_html_settings'] = 'Settings';
|
||||||
|
$lang['a_html_password'] = 'Password';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'Logout';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Install';
|
||||||
|
$lang['ins_lang_file'] = 'Choose language';
|
||||||
|
$lang['ins_next'] = 'Next';
|
||||||
|
$lang['ins_license'] = 'License';
|
||||||
|
$lang['ins_accept'] = 'Accept';
|
||||||
|
$lang['ins_finished'] = 'Installation Finished';
|
||||||
|
$lang['ins_error'] = 'Installation Error';
|
||||||
|
$lang['ins_file_db_ex'] = 'File db.php exist, but can\'t write into it, file CHMOD is';
|
||||||
|
$lang['ins_file_db_not'] = 'Can\'t create db.php file, root directory CHMOD is';
|
||||||
|
$lang['ins_file_db_cre'] = 'You can create db.php file manually in root directory and past this code into it';
|
||||||
|
$lang['ins_admin'] = 'Admin Panel';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Could not connect to database';
|
||||||
|
$lang['inst_conn_db'] = 'Database';
|
||||||
|
$lang['inst_server'] = 'Server';
|
||||||
|
$lang['inst_port'] = 'Port';
|
||||||
|
$lang['inst_login'] = 'Login';
|
||||||
|
$lang['inst_pass'] = 'Password';
|
||||||
|
$lang['inst_database'] = 'Database';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/es/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
El script se sincroniza automáticamente y muestra la librería de XBMC/Kodi.
|
||||||
|
|
||||||
|
Requisitos:
|
||||||
|
- Servidor con Apache Server, PHP 5, MySql 5
|
||||||
|
- Extensión "Movielib" para XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Contraseñas por defecto:
|
||||||
|
Acceso al sitio: user
|
||||||
|
Acceso al panel de administración: admin
|
||||||
|
|
||||||
|
In Panel Admin section you need to generate token and put it to addon settings with URL to script.
|
239
movielib/lang/fr/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Titre';
|
||||||
|
$lang['i_movies'] = 'Films';
|
||||||
|
$lang['i_tvshows'] = 'TVshows';
|
||||||
|
$lang['i_year'] = 'Année';
|
||||||
|
$lang['i_rating'] = 'Note';
|
||||||
|
$lang['i_added'] = 'Last Added';
|
||||||
|
$lang['i_last_played'] = 'Récemment joué';
|
||||||
|
$lang['i_most_watched'] = 'Les plus vus';
|
||||||
|
$lang['i_watched_status'] = 'Watched Status';
|
||||||
|
$lang['i_all'] = 'Tout';
|
||||||
|
$lang['i_watched'] = 'Vus';
|
||||||
|
$lang['i_unwatched'] = 'Non vus';
|
||||||
|
$lang['i_view'] = 'View';
|
||||||
|
$lang['i_view_default'] = 'Default';
|
||||||
|
$lang['i_view_list'] = 'List';
|
||||||
|
$lang['i_view_sposter'] = 'Small Poster';
|
||||||
|
$lang['i_view_bposter'] = 'Big Poster';
|
||||||
|
$lang['i_page'] = 'Page';
|
||||||
|
$lang['i_premiered'] = 'Premiered';
|
||||||
|
$lang['i_aired'] = 'Aired';
|
||||||
|
$lang['i_genre'] = 'Genre';
|
||||||
|
$lang['i_sort'] = 'Trier';
|
||||||
|
$lang['i_show_trailer'] = 'Show Trailer';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stop';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pause';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Vol Up';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Vol Down';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Mute';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Up';
|
||||||
|
$lang['i_xbmc_down'] = 'Down';
|
||||||
|
$lang['i_xbmc_left'] = 'Left';
|
||||||
|
$lang['i_xbmc_right'] = 'Right';
|
||||||
|
$lang['i_xbmc_watched'] = 'Vus';
|
||||||
|
$lang['i_xbmc_select'] = 'Select';
|
||||||
|
$lang['i_xbmc_context'] = 'Context Menu';
|
||||||
|
$lang['i_xbmc_back'] = 'Back';
|
||||||
|
$lang['i_xbmc_power'] = 'Shutdown Menu';
|
||||||
|
$lang['i_xbmc_sync'] = 'Start Sync';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Step Back';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Step Forward';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Big Step Back';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Big Step Forward';
|
||||||
|
$lang['i_xbmc_play'] = 'Play in XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Download Video';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Download m3u playlist';
|
||||||
|
$lang['i_plot'] = 'Résumé';
|
||||||
|
$lang['i_cast'] = 'Cast';
|
||||||
|
$lang['i_actor'] = 'Actor';
|
||||||
|
$lang['i_actors'] = 'Actors';
|
||||||
|
$lang['i_episode'] = 'Episode';
|
||||||
|
$lang['i_season'] = 'Season';
|
||||||
|
$lang['i_seasons'] = 'Seasons';
|
||||||
|
$lang['i_runtime'] = 'Durée';
|
||||||
|
$lang['i_director'] = 'Réalisateur';
|
||||||
|
$lang['i_set'] = 'Set';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'New';
|
||||||
|
$lang['i_country'] = 'Pays';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Précédent';
|
||||||
|
$lang['i_next'] = 'Suivant';
|
||||||
|
$lang['i_search'] = 'Rechercher';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Delete results';
|
||||||
|
$lang['i_result'] = 'Résultats pour la phrase';
|
||||||
|
$lang['i_overall_title'] = 'Base de donnée';
|
||||||
|
$lang['i_overall_all'] = 'Tout';
|
||||||
|
$lang['i_overall_watched'] = 'Vus';
|
||||||
|
$lang['i_overall_notwatched'] = 'Non vus';
|
||||||
|
$lang['i_last_added'] = 'Last Added';
|
||||||
|
$lang['i_top_rated'] = 'Top Rated';
|
||||||
|
$lang['i_now_playing'] = 'Now Playing';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Panneau de connexion';
|
||||||
|
$lang['l_pass'] = 'Mot de passe du site';
|
||||||
|
$lang['l_pass_admin'] = 'Mot de passe du panneau d\'administration';
|
||||||
|
$lang['l_wrong_pass'] = 'Mot de passe incorrect';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Le mot de passe du panneau d\'administration est resté par défaut. Changez le pour augmenter la sécurité';
|
||||||
|
$lang['a_install_exist'] = 'le fichier install.php existe toujours. Supprimez le pour augmenter la sécurité';
|
||||||
|
$lang['a_tables_updated'] = 'Tables updated';
|
||||||
|
$lang['a_movies'] = 'Films';
|
||||||
|
$lang['a_tvshows'] = 'TVshows';
|
||||||
|
$lang['a_all'] = 'Tout';
|
||||||
|
$lang['a_watched'] = 'Vus';
|
||||||
|
$lang['a_unwatched'] = 'Non vus';
|
||||||
|
$lang['a_hidden'] = 'Hidden';
|
||||||
|
$lang['a_visible'] = 'Visible';
|
||||||
|
$lang['a_title'] = 'Titre';
|
||||||
|
$lang['a_cache'] = 'Cache';
|
||||||
|
$lang['a_cached_posters'] = 'Posters en cache';
|
||||||
|
$lang['a_cached_fanarts'] = 'Fanarts en cache';
|
||||||
|
$lang['a_cached_actors'] = 'Cached actors';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Paramètres du serveur';
|
||||||
|
$lang['a_files_md5'] = 'File checksums';
|
||||||
|
$lang['a_server_directories'] = 'Directories';
|
||||||
|
$lang['a_exists'] = 'Exists';
|
||||||
|
$lang['a_not_exists'] = 'Not exists';
|
||||||
|
$lang['a_match'] = 'Match';
|
||||||
|
$lang['a_mismatch'] = 'Mismatch';
|
||||||
|
$lang['a_poster'] = 'Poster';
|
||||||
|
$lang['a_fanart'] = 'Fanart';
|
||||||
|
$lang['a_trailer'] = 'Trailer';
|
||||||
|
$lang['a_delete'] = 'Effacer';
|
||||||
|
$lang['a_delete_all'] = 'Delete All';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Synchronization';
|
||||||
|
$lang['a_set_main'] = 'Principal';
|
||||||
|
$lang['a_set_panel_left'] = 'Panneau de gauche';
|
||||||
|
$lang['a_set_panel_top'] = 'Panneau supérieur';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Sync actors thumb';
|
||||||
|
$lang['a_xbmc_posters'] = 'Sync posters';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Sync fanarts';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Sync extra thumbs';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Extra thumbs quality';
|
||||||
|
$lang['a_xbmc_master'] = 'Sync only in Master Mode';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Titre du site';
|
||||||
|
$lang['a_language'] = 'Langage';
|
||||||
|
$lang['a_theme'] = 'Thème';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Default View';
|
||||||
|
$lang['a_view_default'] = 'Default';
|
||||||
|
$lang['a_view_list'] = 'List';
|
||||||
|
$lang['a_view_sposter'] = 'Small Poster';
|
||||||
|
$lang['a_view_bposter'] = 'Big Poster';
|
||||||
|
$lang['a_per_page'] = 'Eléments par pages';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Elément à boucler dans le panneau supérieur';
|
||||||
|
$lang['a_panel_top_time'] = 'Période de changement du panneau supérieur (sec.)';
|
||||||
|
$lang['a_panel_top'] = 'Panneau supérieur';
|
||||||
|
$lang['a_panel_view'] = 'Panel view';
|
||||||
|
$lang['a_watched_status'] = 'Statut vu / non vu';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Live search';
|
||||||
|
$lang['a_live_search_max_res'] = 'Live search max results';
|
||||||
|
$lang['a_panel_overall'] = 'Panneau général';
|
||||||
|
$lang['a_panel_genre'] = 'Panneau genre';
|
||||||
|
$lang['a_panel_year'] = 'Panneau année';
|
||||||
|
$lang['a_panel_country'] = 'Panneau pays';
|
||||||
|
$lang['a_panel_set'] = 'Set panel';
|
||||||
|
$lang['a_panel_studio'] = 'Studio panel';
|
||||||
|
$lang['a_show_fanart'] = 'Voir le fanart d\'arrière-plan';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Fadeout fanart when mouse leave movie window';
|
||||||
|
$lang['a_show_trailer'] = 'Voir les bandes-annonces';
|
||||||
|
$lang['a_show_facebook'] = 'Show facebook buttons';
|
||||||
|
$lang['a_protect_site'] = 'Protéger le site';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Sauvegarder';
|
||||||
|
$lang['a_setting_on'] = 'On';
|
||||||
|
$lang['a_setting_off'] = 'Off';
|
||||||
|
$lang['a_setting_on_expanded'] = 'On, étendu';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'On, réduit';
|
||||||
|
$lang['a_saved'] = 'Paramètres sauvegardés';
|
||||||
|
$lang['a_not_saved'] = 'Settings not saved';
|
||||||
|
$lang['a_user'] = 'Utilisateur';
|
||||||
|
$lang['a_admin'] = 'Admin';
|
||||||
|
$lang['a_new_password'] = 'Nouveau mot de passe';
|
||||||
|
$lang['a_new_password_re'] = 'Retapez le mot de passe';
|
||||||
|
$lang['a_user_pass_changed'] = 'Mot de passe utilisateur modifié';
|
||||||
|
$lang['a_user_pass_min'] = 'Le mot de passe utilisateur doit contenir 4 caractères au minimum';
|
||||||
|
$lang['a_user_pass_n_match'] = 'Les mots de passe sont différents';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Mot de passe administrateur modifié';
|
||||||
|
$lang['a_admin_pass_min'] = 'Le mot de passe administrateur doit contenir 4 caractères au minimum';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Les mots de passe sont différents';
|
||||||
|
$lang['a_token_change'] = 'Modifier';
|
||||||
|
$lang['a_token_changed'] = 'Jeton modifié';
|
||||||
|
$lang['a_error_form'] = 'Error in form';
|
||||||
|
$lang['a_reset'] = 'Reset';
|
||||||
|
$lang['a_banner_size'] = 'Size';
|
||||||
|
$lang['a_banner_bg'] = 'Background';
|
||||||
|
$lang['a_banner_last_played'] = 'Récemment joué';
|
||||||
|
$lang['a_banner_title'] = 'Titre';
|
||||||
|
$lang['a_banner_o_title'] = 'Originaltitle';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Stroke';
|
||||||
|
$lang['a_banner_border'] = 'Border';
|
||||||
|
$lang['a_xbmc_settings'] = 'XBMC Settings';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Host';
|
||||||
|
$lang['a_xbmc_port'] = 'Port';
|
||||||
|
$lang['a_xbmc_login'] = 'identifiant';
|
||||||
|
$lang['a_xbmc_pass'] = 'Mot de passe';
|
||||||
|
$lang['a_xbmc_saved'] = 'XBMC Settings saved';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Panneau d\'administration';
|
||||||
|
$lang['a_html_library'] = 'Library';
|
||||||
|
$lang['a_html_overall'] = 'Overall';
|
||||||
|
$lang['a_html_movie_list'] = 'Liste des films';
|
||||||
|
$lang['a_html_tvshow_list'] = 'TVshow List';
|
||||||
|
$lang['a_html_settings'] = 'Paramètres';
|
||||||
|
$lang['a_html_password'] = 'Mot de passe';
|
||||||
|
$lang['a_html_change_token'] = 'Jeton';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'Déconnexion';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Installer';
|
||||||
|
$lang['ins_lang_file'] = 'Choisissez une langue';
|
||||||
|
$lang['ins_next'] = 'Suivant';
|
||||||
|
$lang['ins_license'] = 'Licence';
|
||||||
|
$lang['ins_accept'] = 'Accepter';
|
||||||
|
$lang['ins_finished'] = 'Installation Finished';
|
||||||
|
$lang['ins_error'] = 'Installation Error';
|
||||||
|
$lang['ins_file_db_ex'] = 'File db.php exist, but can\'t write into it, file CHMOD is';
|
||||||
|
$lang['ins_file_db_not'] = 'Can\'t create db.php file, root directory CHMOD is';
|
||||||
|
$lang['ins_file_db_cre'] = 'You can create db.php file manually in root directory and past this code into it';
|
||||||
|
$lang['ins_admin'] = 'Panneau d\'administration';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Impossible de se connecter à la base';
|
||||||
|
$lang['inst_conn_db'] = 'Base de donnée';
|
||||||
|
$lang['inst_server'] = 'Serveur';
|
||||||
|
$lang['inst_port'] = 'Port';
|
||||||
|
$lang['inst_login'] = 'identifiant';
|
||||||
|
$lang['inst_pass'] = 'Mot de passe';
|
||||||
|
$lang['inst_database'] = 'Base de données';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/fr/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Le script synchronise et affiche automatiquement la librairie XBMC/Kodi.
|
||||||
|
|
||||||
|
Prérequis:
|
||||||
|
- Un serveur avec Apache, PHP5, MySql 5
|
||||||
|
- Extension "Movielib" pour XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Mots de passe par défaut:
|
||||||
|
Accès au site: utilisateur
|
||||||
|
Accès au panneau d'administration: admin
|
||||||
|
|
||||||
|
Vous devez générer un jeton dans le panneau d'administration et l'ajouter aux paramètres de l'extension avec l'URL du script
|
239
movielib/lang/hr/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Naslov';
|
||||||
|
$lang['i_movies'] = 'Filmovi';
|
||||||
|
$lang['i_tvshows'] = 'TV Serije';
|
||||||
|
$lang['i_year'] = 'Godina';
|
||||||
|
$lang['i_rating'] = 'Ocjena';
|
||||||
|
$lang['i_added'] = 'Nedavno dodano';
|
||||||
|
$lang['i_last_played'] = 'Nedavno gledano';
|
||||||
|
$lang['i_most_watched'] = 'Najvise gledano';
|
||||||
|
$lang['i_watched_status'] = 'Status geldanja';
|
||||||
|
$lang['i_all'] = 'Sve';
|
||||||
|
$lang['i_watched'] = 'Pogledano';
|
||||||
|
$lang['i_unwatched'] = 'Nepogledano';
|
||||||
|
$lang['i_view'] = 'Izgled';
|
||||||
|
$lang['i_view_default'] = 'Izvorno';
|
||||||
|
$lang['i_view_list'] = 'Lista';
|
||||||
|
$lang['i_view_sposter'] = 'Mali poster';
|
||||||
|
$lang['i_view_bposter'] = 'Veliki poster';
|
||||||
|
$lang['i_page'] = 'Stranica';
|
||||||
|
$lang['i_premiered'] = 'Premijera';
|
||||||
|
$lang['i_aired'] = 'Emitirano';
|
||||||
|
$lang['i_genre'] = 'Žanr';
|
||||||
|
$lang['i_sort'] = 'Sortiraj';
|
||||||
|
$lang['i_show_trailer'] = 'Pogledaj najavu';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stop';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pauza';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Vol +';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Vol -';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Mute';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Gore';
|
||||||
|
$lang['i_xbmc_down'] = 'Dolje';
|
||||||
|
$lang['i_xbmc_left'] = 'Lijevo';
|
||||||
|
$lang['i_xbmc_right'] = 'Desno';
|
||||||
|
$lang['i_xbmc_watched'] = 'Pogledano';
|
||||||
|
$lang['i_xbmc_select'] = 'Odaberi';
|
||||||
|
$lang['i_xbmc_context'] = 'Izbornik';
|
||||||
|
$lang['i_xbmc_back'] = 'Natrag';
|
||||||
|
$lang['i_xbmc_power'] = 'Izbornik Gašenja';
|
||||||
|
$lang['i_xbmc_sync'] = 'Pokreni sinkronizaciju';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Korak unazad';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Korak naprijed';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Veći korak unazad';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Veći korak naprijed';
|
||||||
|
$lang['i_xbmc_play'] = 'Pokreni u XBMC/Kodi';
|
||||||
|
$lang['i_xbmc_download'] = 'Preuzmi video';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Preuzmi m3u listu izvođenja';
|
||||||
|
$lang['i_plot'] = 'Sinopsis';
|
||||||
|
$lang['i_cast'] = 'Glumci i filmaši';
|
||||||
|
$lang['i_actor'] = 'Glumac';
|
||||||
|
$lang['i_actors'] = 'Glumci';
|
||||||
|
$lang['i_episode'] = 'Epizoda';
|
||||||
|
$lang['i_season'] = 'Sezona';
|
||||||
|
$lang['i_seasons'] = 'Sezone';
|
||||||
|
$lang['i_runtime'] = 'Trajanje';
|
||||||
|
$lang['i_director'] = 'Redatelj';
|
||||||
|
$lang['i_set'] = 'Kolekcija';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'Novo';
|
||||||
|
$lang['i_country'] = 'Zemlja';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Prethodna';
|
||||||
|
$lang['i_next'] = 'Slijedeća';
|
||||||
|
$lang['i_search'] = 'Pretraži';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Izbriši rezultate';
|
||||||
|
$lang['i_result'] = 'Rezultat za frazu';
|
||||||
|
$lang['i_overall_title'] = 'Baza podataka';
|
||||||
|
$lang['i_overall_all'] = 'Sve';
|
||||||
|
$lang['i_overall_watched'] = 'Pogledano';
|
||||||
|
$lang['i_overall_notwatched'] = 'Nepogledano';
|
||||||
|
$lang['i_last_added'] = 'Nedavno dodano';
|
||||||
|
$lang['i_top_rated'] = 'Najveća ocjena';
|
||||||
|
$lang['i_now_playing'] = 'Sada se izvodi';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Prijava';
|
||||||
|
$lang['l_pass'] = 'Lozinka za pristup stranici';
|
||||||
|
$lang['l_pass_admin'] = 'Lozinka za pristup admin stranici';
|
||||||
|
$lang['l_wrong_pass'] = 'Pogrešna lozinka';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Lozinka za pristum admin stranici je još uvijek izvorna. Molimo da ju promjenite.';
|
||||||
|
$lang['a_install_exist'] = 'install.php datoteka još uvijek postoji. Molimo da ju obrišete radi sigurnosti.';
|
||||||
|
$lang['a_tables_updated'] = 'Tablica osvježeno';
|
||||||
|
$lang['a_movies'] = 'Filmovi';
|
||||||
|
$lang['a_tvshows'] = 'TV Serije';
|
||||||
|
$lang['a_all'] = 'Sve';
|
||||||
|
$lang['a_watched'] = 'Pogledano';
|
||||||
|
$lang['a_unwatched'] = 'Nepogledano';
|
||||||
|
$lang['a_hidden'] = 'Sakriveno';
|
||||||
|
$lang['a_visible'] = 'Vidljivo';
|
||||||
|
$lang['a_title'] = 'Naslov';
|
||||||
|
$lang['a_cache'] = 'Predmemorija';
|
||||||
|
$lang['a_cached_posters'] = 'Posteri u predmemoriji';
|
||||||
|
$lang['a_cached_fanarts'] = 'Fanarti u predmemoriji';
|
||||||
|
$lang['a_cached_actors'] = 'Glumci u predmemoriji';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Postavke servera';
|
||||||
|
$lang['a_files_md5'] = 'Provjera datoteka';
|
||||||
|
$lang['a_server_directories'] = 'Direktorija';
|
||||||
|
$lang['a_exists'] = 'Postoji';
|
||||||
|
$lang['a_not_exists'] = 'Ne postoji';
|
||||||
|
$lang['a_match'] = 'Dobro';
|
||||||
|
$lang['a_mismatch'] = 'Greška';
|
||||||
|
$lang['a_poster'] = 'Poster';
|
||||||
|
$lang['a_fanart'] = 'Fanart';
|
||||||
|
$lang['a_trailer'] = 'Najava';
|
||||||
|
$lang['a_delete'] = 'Obriši';
|
||||||
|
$lang['a_delete_all'] = 'Obriši sve';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Sinkronizacija';
|
||||||
|
$lang['a_set_main'] = 'Glavno';
|
||||||
|
$lang['a_set_panel_left'] = 'Lijevi panel';
|
||||||
|
$lang['a_set_panel_top'] = 'Gornji panel';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Sinkroniziraj sličice glumaca';
|
||||||
|
$lang['a_xbmc_posters'] = 'Sinkroniziraj postere';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Sinkroniziraj fanart';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Sinkroniziraj dodatne sličice';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Kvaliteta dodatnih slićica';
|
||||||
|
$lang['a_xbmc_master'] = 'Sinkroniziraj samo u Master Mod-u';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Naslov stranice';
|
||||||
|
$lang['a_language'] = 'Jezik';
|
||||||
|
$lang['a_theme'] = 'Tema';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Izvorni izgled';
|
||||||
|
$lang['a_view_default'] = 'Izvorno';
|
||||||
|
$lang['a_view_list'] = 'Lista';
|
||||||
|
$lang['a_view_sposter'] = 'Mali poster';
|
||||||
|
$lang['a_view_bposter'] = 'Veliki poster';
|
||||||
|
$lang['a_per_page'] = 'Stavki po stranici';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Broj stavki za izmjenjivanje u gornjem panelu';
|
||||||
|
$lang['a_panel_top_time'] = 'Vrijeme mjenjanja u gornjem panelu (sek.)';
|
||||||
|
$lang['a_panel_top'] = 'Gornji panel';
|
||||||
|
$lang['a_panel_view'] = 'Panel izgleda';
|
||||||
|
$lang['a_watched_status'] = 'Status gledanja';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Pretraživanje uživo';
|
||||||
|
$lang['a_live_search_max_res'] = 'Najviše rezultata kod prtraživanja uživo';
|
||||||
|
$lang['a_panel_overall'] = 'Panel pregleda';
|
||||||
|
$lang['a_panel_genre'] = 'Panel Žanr';
|
||||||
|
$lang['a_panel_year'] = 'Panel godina';
|
||||||
|
$lang['a_panel_country'] = 'Panel zemlja';
|
||||||
|
$lang['a_panel_set'] = 'Panel kolekcija';
|
||||||
|
$lang['a_panel_studio'] = 'Panel studia';
|
||||||
|
$lang['a_show_fanart'] = 'Prikaži fanart u pozadini';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Sakrij fanart kada miš napusti područje filma';
|
||||||
|
$lang['a_show_trailer'] = 'Pogledaj najavu';
|
||||||
|
$lang['a_show_facebook'] = 'Prikaži facebook gumbe';
|
||||||
|
$lang['a_protect_site'] = 'Zaštiti stranicu';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Spremi';
|
||||||
|
$lang['a_setting_on'] = 'On';
|
||||||
|
$lang['a_setting_off'] = 'Off';
|
||||||
|
$lang['a_setting_on_expanded'] = 'On, otvoreno';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'On, zatvoreno';
|
||||||
|
$lang['a_saved'] = 'Postavke spremljene';
|
||||||
|
$lang['a_not_saved'] = 'Postavke nisu spremljene';
|
||||||
|
$lang['a_user'] = 'Korisnik';
|
||||||
|
$lang['a_admin'] = 'Administrator';
|
||||||
|
$lang['a_new_password'] = 'Nova lozinka';
|
||||||
|
$lang['a_new_password_re'] = 'Potvrdi lozinku';
|
||||||
|
$lang['a_user_pass_changed'] = 'Korisnička lozinka je promjenjena';
|
||||||
|
$lang['a_user_pass_min'] = 'Korisnička lozinka mora imati najmanje 4 slova';
|
||||||
|
$lang['a_user_pass_n_match'] = 'Koricnička lozinka se ne podudara';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Administracijska lozinka je promjenjena';
|
||||||
|
$lang['a_admin_pass_min'] = 'Administracijska lozinka mora imati najmanje 4 slova';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Administracijska lozinka se ne podudara';
|
||||||
|
$lang['a_token_change'] = 'Izmjeni';
|
||||||
|
$lang['a_token_changed'] = 'Token je izmjenjen';
|
||||||
|
$lang['a_error_form'] = 'Greška u formularu';
|
||||||
|
$lang['a_reset'] = 'Resetiraj';
|
||||||
|
$lang['a_banner_size'] = 'Veličina';
|
||||||
|
$lang['a_banner_bg'] = 'Pozadina';
|
||||||
|
$lang['a_banner_last_played'] = 'Nedavno gledano';
|
||||||
|
$lang['a_banner_title'] = 'Naslov';
|
||||||
|
$lang['a_banner_o_title'] = 'Orginalni naziv';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Ipuna';
|
||||||
|
$lang['a_banner_border'] = 'Rub';
|
||||||
|
$lang['a_xbmc_settings'] = 'XBMC/Kodi postavke';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Poslužitelj';
|
||||||
|
$lang['a_xbmc_port'] = 'Ulaz';
|
||||||
|
$lang['a_xbmc_login'] = 'Korisničko ime';
|
||||||
|
$lang['a_xbmc_pass'] = 'Lozinka';
|
||||||
|
$lang['a_xbmc_saved'] = 'XBMC/Kodi postavke spremljene';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Administracijska ploča';
|
||||||
|
$lang['a_html_library'] = 'Biblioteka';
|
||||||
|
$lang['a_html_overall'] = 'Sveukupno';
|
||||||
|
$lang['a_html_movie_list'] = 'Lista filmova';
|
||||||
|
$lang['a_html_tvshow_list'] = 'Lista TV Serija';
|
||||||
|
$lang['a_html_settings'] = 'Postavke';
|
||||||
|
$lang['a_html_password'] = 'Lozinka';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Baner';
|
||||||
|
$lang['a_html_logout'] = 'Odjavi se';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Instaliraj';
|
||||||
|
$lang['ins_lang_file'] = 'Odaberi jezik';
|
||||||
|
$lang['ins_next'] = 'Slijedeća';
|
||||||
|
$lang['ins_license'] = 'Licenca';
|
||||||
|
$lang['ins_accept'] = 'Prihvati';
|
||||||
|
$lang['ins_finished'] = 'Instalacija dovršena';
|
||||||
|
$lang['ins_error'] = 'Greška u instalaciji';
|
||||||
|
$lang['ins_file_db_ex'] = 'Datoteka db.php postoji, ali se ne može upisivati u nju, CHMOD je';
|
||||||
|
$lang['ins_file_db_not'] = 'Ne može se kreirati datoteka db.php, CHMOD korijenskog direktorija je';
|
||||||
|
$lang['ins_file_db_cre'] = 'Možete ručno napraviti db.php datoteku u korijenskom direktoriju i zaljepiti ovaj kod u nju';
|
||||||
|
$lang['ins_admin'] = 'Adminstracijska ploča';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Nije se moguće spojiti na bazu podataka';
|
||||||
|
$lang['inst_conn_db'] = 'Baza podataka';
|
||||||
|
$lang['inst_server'] = 'Poslužitelj';
|
||||||
|
$lang['inst_port'] = 'Ulaz';
|
||||||
|
$lang['inst_login'] = 'Korisničko ime';
|
||||||
|
$lang['inst_pass'] = 'Lozinka';
|
||||||
|
$lang['inst_database'] = 'Baza podataka';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/hr/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Ova skripta automatski sinkronizira i pokazuje XBMC/Kodi biblioteku.
|
||||||
|
|
||||||
|
Zahtjevi:
|
||||||
|
- Poslužitelj sa Apache servisom, PHP 5 i MySql 5
|
||||||
|
- Dodatak "Movielib" za XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Zadana lozinka:
|
||||||
|
Pristup stranici: user
|
||||||
|
Pristup stranici: admin
|
||||||
|
|
||||||
|
U Administracijskoj ploči morate generirati token i upisati ga u postavke dodatka zajedno sa putanjom do skripte.
|
239
movielib/lang/it/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Titolo';
|
||||||
|
$lang['i_movies'] = 'Movies';
|
||||||
|
$lang['i_tvshows'] = 'Serie TV';
|
||||||
|
$lang['i_year'] = 'Anno';
|
||||||
|
$lang['i_rating'] = 'Rating';
|
||||||
|
$lang['i_added'] = 'Ultimo aggiunto';
|
||||||
|
$lang['i_last_played'] = 'Ultima visualizzazione';
|
||||||
|
$lang['i_most_watched'] = 'Più visti';
|
||||||
|
$lang['i_watched_status'] = 'Visto';
|
||||||
|
$lang['i_all'] = 'Tutti';
|
||||||
|
$lang['i_watched'] = 'Visti';
|
||||||
|
$lang['i_unwatched'] = 'Non Visti';
|
||||||
|
$lang['i_view'] = 'Vedi';
|
||||||
|
$lang['i_view_default'] = 'Default';
|
||||||
|
$lang['i_view_list'] = 'Lista';
|
||||||
|
$lang['i_view_sposter'] = 'Poster Piccolo';
|
||||||
|
$lang['i_view_bposter'] = 'Poster Grande';
|
||||||
|
$lang['i_page'] = 'Pagina';
|
||||||
|
$lang['i_premiered'] = 'Premiere';
|
||||||
|
$lang['i_aired'] = 'Trasmesso';
|
||||||
|
$lang['i_genre'] = 'Genere';
|
||||||
|
$lang['i_sort'] = 'Ordine';
|
||||||
|
$lang['i_show_trailer'] = 'Vedi Trailer';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stop';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pausa';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Vol Up';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Vol Down';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Muto';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Su';
|
||||||
|
$lang['i_xbmc_down'] = 'Giù';
|
||||||
|
$lang['i_xbmc_left'] = 'Sinistra';
|
||||||
|
$lang['i_xbmc_right'] = 'Destra';
|
||||||
|
$lang['i_xbmc_watched'] = 'Visti';
|
||||||
|
$lang['i_xbmc_select'] = 'Seleziona';
|
||||||
|
$lang['i_xbmc_context'] = 'Menù Contestuale';
|
||||||
|
$lang['i_xbmc_back'] = 'Indietro';
|
||||||
|
$lang['i_xbmc_power'] = 'Menù Spegnimento';
|
||||||
|
$lang['i_xbmc_sync'] = 'Avvia Sincronizzazione';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Indietro';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Avanti';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Grande Passo Indietro';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Grande Passo Avanti';
|
||||||
|
$lang['i_xbmc_play'] = 'Riproduci in XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Download Video';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Download playlist m3u';
|
||||||
|
$lang['i_plot'] = 'Trama';
|
||||||
|
$lang['i_cast'] = 'Cast';
|
||||||
|
$lang['i_actor'] = 'Attore';
|
||||||
|
$lang['i_actors'] = 'Attori';
|
||||||
|
$lang['i_episode'] = 'Episodio';
|
||||||
|
$lang['i_season'] = 'Stagione';
|
||||||
|
$lang['i_seasons'] = 'Stagioni';
|
||||||
|
$lang['i_runtime'] = 'Durata';
|
||||||
|
$lang['i_director'] = 'Regista';
|
||||||
|
$lang['i_set'] = 'Set';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'Nuovo';
|
||||||
|
$lang['i_country'] = 'Paese';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Precedente';
|
||||||
|
$lang['i_next'] = 'Successiovo';
|
||||||
|
$lang['i_search'] = 'Cerca';
|
||||||
|
$lang['i_filter'] = 'Filtra';
|
||||||
|
$lang['i_del_result'] = 'Cancella risultati';
|
||||||
|
$lang['i_result'] = 'Risultati per frase';
|
||||||
|
$lang['i_overall_title'] = 'Database';
|
||||||
|
$lang['i_overall_all'] = 'Tutti';
|
||||||
|
$lang['i_overall_watched'] = 'Visti';
|
||||||
|
$lang['i_overall_notwatched'] = 'Non Visti';
|
||||||
|
$lang['i_last_added'] = 'Ultimo aggiunto';
|
||||||
|
$lang['i_top_rated'] = 'Top Rated';
|
||||||
|
$lang['i_now_playing'] = 'In Riproduzione';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Pannello di Login';
|
||||||
|
$lang['l_pass'] = 'Password per accedere al sito';
|
||||||
|
$lang['l_pass_admin'] = 'Password per accedere al panello di amministatore';
|
||||||
|
$lang['l_wrong_pass'] = 'Password sbagliata';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'La password al pannello di amministratore è ancora quella di default. Cambiala in una più sicura';
|
||||||
|
$lang['a_install_exist'] = 'il file install.php esiste ancora. Cancellalo per maggior sicurezza';
|
||||||
|
$lang['a_tables_updated'] = 'Tabelle aggiornate';
|
||||||
|
$lang['a_movies'] = 'Movies';
|
||||||
|
$lang['a_tvshows'] = 'Serie TV';
|
||||||
|
$lang['a_all'] = 'Tutti';
|
||||||
|
$lang['a_watched'] = 'Visti';
|
||||||
|
$lang['a_unwatched'] = 'Non Visti';
|
||||||
|
$lang['a_hidden'] = 'Nascosto';
|
||||||
|
$lang['a_visible'] = 'Visibile';
|
||||||
|
$lang['a_title'] = 'Titolo';
|
||||||
|
$lang['a_cache'] = 'Cache';
|
||||||
|
$lang['a_cached_posters'] = 'Posters Salvati';
|
||||||
|
$lang['a_cached_fanarts'] = 'Fanarts Salvate';
|
||||||
|
$lang['a_cached_actors'] = 'Attori Salvati';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Impostazioni Server';
|
||||||
|
$lang['a_files_md5'] = 'File checksums';
|
||||||
|
$lang['a_server_directories'] = 'Cartelle';
|
||||||
|
$lang['a_exists'] = 'Esiste';
|
||||||
|
$lang['a_not_exists'] = 'Non esiste';
|
||||||
|
$lang['a_match'] = 'Combacia';
|
||||||
|
$lang['a_mismatch'] = 'Non Combacia';
|
||||||
|
$lang['a_poster'] = 'Poster';
|
||||||
|
$lang['a_fanart'] = 'Fanart';
|
||||||
|
$lang['a_trailer'] = 'Trailer';
|
||||||
|
$lang['a_delete'] = 'Cancella';
|
||||||
|
$lang['a_delete_all'] = 'Cancella Tutti';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Sincronizzazione';
|
||||||
|
$lang['a_set_main'] = 'Principale';
|
||||||
|
$lang['a_set_panel_left'] = 'Pannello di Sinistra';
|
||||||
|
$lang['a_set_panel_top'] = 'Pannello Superiore';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Sync thumbnails attori';
|
||||||
|
$lang['a_xbmc_posters'] = 'Sync posters';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Sync fanarts';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Sync miniature extra';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Qualità miniature extra';
|
||||||
|
$lang['a_xbmc_master'] = 'Sincronizza solo in Master Mode';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Titolo del sito';
|
||||||
|
$lang['a_language'] = 'Linguaggio';
|
||||||
|
$lang['a_theme'] = 'Tema';
|
||||||
|
$lang['a_select_media_header'] = 'Nascondi automaticamente l\'header Seleziona Media se entrambi i media non sono disponibili';
|
||||||
|
$lang['a_view'] = 'Vista di Default';
|
||||||
|
$lang['a_view_default'] = 'Default';
|
||||||
|
$lang['a_view_list'] = 'Lista';
|
||||||
|
$lang['a_view_sposter'] = 'Poster Piccolo';
|
||||||
|
$lang['a_view_bposter'] = 'Poster Grande';
|
||||||
|
$lang['a_per_page'] = 'Oggetti per pagina';
|
||||||
|
$lang['a_default_sort'] = 'Ordinamento predefinito';
|
||||||
|
$lang['a_default_watch'] = 'Stato visti predefinito';
|
||||||
|
$lang['a_panel_top_limit'] = 'Elemento da ciclare nel pannello Top';
|
||||||
|
$lang['a_panel_top_time'] = 'Intervallo pannello Top (sec.)';
|
||||||
|
$lang['a_panel_top'] = 'Pannello top';
|
||||||
|
$lang['a_panel_view'] = 'View pannello';
|
||||||
|
$lang['a_watched_status'] = 'Stato Visto';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Ricerca live';
|
||||||
|
$lang['a_live_search_max_res'] = 'Risultati massimi ricerca live';
|
||||||
|
$lang['a_panel_overall'] = 'Pannello generale';
|
||||||
|
$lang['a_panel_genre'] = 'Pannello Genere';
|
||||||
|
$lang['a_panel_year'] = 'Pannello anno';
|
||||||
|
$lang['a_panel_country'] = 'Pannello Regione';
|
||||||
|
$lang['a_panel_set'] = 'Pannello set';
|
||||||
|
$lang['a_panel_studio'] = 'Pannello studio';
|
||||||
|
$lang['a_show_fanart'] = 'Visualizza fanart sullo sfondo';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Fadeout fanart quando il mouse lascia la finestra del film';
|
||||||
|
$lang['a_show_trailer'] = 'Visualizza trailer';
|
||||||
|
$lang['a_show_facebook'] = 'Visualizza bottoni faceboo';
|
||||||
|
$lang['a_protect_site'] = 'Proteggi il sito';
|
||||||
|
$lang['a_mod_rewrite'] = 'Attiva mod rewrite';
|
||||||
|
$lang['a_save'] = 'Salva';
|
||||||
|
$lang['a_setting_on'] = 'Acceso';
|
||||||
|
$lang['a_setting_off'] = 'Spento';
|
||||||
|
$lang['a_setting_on_expanded'] = 'Acceso, espanso';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'Acceso, piegato';
|
||||||
|
$lang['a_saved'] = 'Impostazioni salvate';
|
||||||
|
$lang['a_not_saved'] = 'Impostazioni non salvate';
|
||||||
|
$lang['a_user'] = 'Utente';
|
||||||
|
$lang['a_admin'] = 'Amministratore';
|
||||||
|
$lang['a_new_password'] = 'Nuova password';
|
||||||
|
$lang['a_new_password_re'] = 'Re-inserisci Password';
|
||||||
|
$lang['a_user_pass_changed'] = 'Password utente modificata';
|
||||||
|
$lang['a_user_pass_min'] = 'La password del utente deve avere almeno 4 lettere';
|
||||||
|
$lang['a_user_pass_n_match'] = 'La password del utente non combacia';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Password amministratore cambiata';
|
||||||
|
$lang['a_admin_pass_min'] = 'La password del amministratore deve avere almeno 4 lettere';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'La password del amministratore non combacia';
|
||||||
|
$lang['a_token_change'] = 'Cambia';
|
||||||
|
$lang['a_token_changed'] = 'Token Cambiato';
|
||||||
|
$lang['a_error_form'] = 'Errore nel form';
|
||||||
|
$lang['a_reset'] = 'Reset';
|
||||||
|
$lang['a_banner_size'] = 'Grandezza';
|
||||||
|
$lang['a_banner_bg'] = 'Sfondo';
|
||||||
|
$lang['a_banner_last_played'] = 'Ultima visualizzazione';
|
||||||
|
$lang['a_banner_title'] = 'Titolo';
|
||||||
|
$lang['a_banner_o_title'] = 'Titolo Originale';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Stroke';
|
||||||
|
$lang['a_banner_border'] = 'Bordo';
|
||||||
|
$lang['a_xbmc_settings'] = 'Impostazioni XBMC';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Host';
|
||||||
|
$lang['a_xbmc_port'] = 'Porta';
|
||||||
|
$lang['a_xbmc_login'] = 'Login';
|
||||||
|
$lang['a_xbmc_pass'] = 'Password';
|
||||||
|
$lang['a_xbmc_saved'] = 'Impostazioni XBMC salvate';
|
||||||
|
$lang['a_xmbc_test'] = 'Prova';
|
||||||
|
$lang['a_html_admin_panel'] = 'Pannello Amministratore';
|
||||||
|
$lang['a_html_library'] = 'Libreria';
|
||||||
|
$lang['a_html_overall'] = 'Globale';
|
||||||
|
$lang['a_html_movie_list'] = 'Lista Film';
|
||||||
|
$lang['a_html_tvshow_list'] = 'Lista Serie TV';
|
||||||
|
$lang['a_html_settings'] = 'Impostazioni';
|
||||||
|
$lang['a_html_password'] = 'Password';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'Logout';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Installa';
|
||||||
|
$lang['ins_lang_file'] = 'Scegli la lingua';
|
||||||
|
$lang['ins_next'] = 'Successiovo';
|
||||||
|
$lang['ins_license'] = 'Licenza';
|
||||||
|
$lang['ins_accept'] = 'Accetta';
|
||||||
|
$lang['ins_finished'] = 'Installazione Finita';
|
||||||
|
$lang['ins_error'] = 'Errore nel installazione';
|
||||||
|
$lang['ins_file_db_ex'] = 'Il file db.php esiste ma non può essere scritto, cambiarne i permessi';
|
||||||
|
$lang['ins_file_db_not'] = 'Non posso creare il file db.php, cambiare i permessi della directory';
|
||||||
|
$lang['ins_file_db_cre'] = 'Puoi manualmente creare il file db.php nella directory base e inserire questo codice';
|
||||||
|
$lang['ins_admin'] = 'Pannello Amministratore';
|
||||||
|
$lang['ins_db_exist'] = 'La configurazione del database esiste già. Continuare comporterà la sovrascrittura delle impostazioni esistenti. Se hai già configurato con successo il database cancella il file install.php';
|
||||||
|
$lang['ins_could_connect'] = 'Non riesco a connettermi al database';
|
||||||
|
$lang['inst_conn_db'] = 'Database';
|
||||||
|
$lang['inst_server'] = 'Server';
|
||||||
|
$lang['inst_port'] = 'Porta';
|
||||||
|
$lang['inst_login'] = 'Login';
|
||||||
|
$lang['inst_pass'] = 'Password';
|
||||||
|
$lang['inst_database'] = 'Database';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/it/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Lo script sincronizza e visualizza automaticamente la libreria di XBMC/Kodi.
|
||||||
|
|
||||||
|
Requisiti:
|
||||||
|
- Server con Apache, PHP 5, MySql 5
|
||||||
|
- Addon "Movielib" per XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Password di default:
|
||||||
|
Accesso al sito: user
|
||||||
|
Accesso al pannello di amministrazione: admin
|
||||||
|
|
||||||
|
Nel pannello di amministrazione devi generare un token e metterlo nelle impostazioni dell'Addon insieme all'URL
|
240
movielib/lang/nl/lang.php
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Titel';
|
||||||
|
$lang['i_movies'] = 'Films';
|
||||||
|
$lang['i_tvshows'] = 'TV-series';
|
||||||
|
$lang['i_year'] = 'Jaar';
|
||||||
|
$lang['i_rating'] = 'Beoordeling';
|
||||||
|
$lang['i_added'] = 'Laatst toegevoegd';
|
||||||
|
$lang['i_last_played'] = 'Laatst afgespeeld';
|
||||||
|
$lang['i_most_watched'] = 'Meest bekeken';
|
||||||
|
$lang['i_watched_status'] = 'Bekeken status';
|
||||||
|
$lang['i_all'] = 'Alle';
|
||||||
|
$lang['i_watched'] = 'Bekeken';
|
||||||
|
$lang['i_unwatched'] = 'Niet Bekeken';
|
||||||
|
$lang['i_view'] = 'Toon';
|
||||||
|
$lang['i_view_default'] = 'Standaard';
|
||||||
|
$lang['i_view_list'] = 'Lijst';
|
||||||
|
$lang['i_view_sposter'] = 'Kleine poster';
|
||||||
|
$lang['i_view_bposter'] = 'Grote poster';
|
||||||
|
$lang['i_page'] = 'Pagina';
|
||||||
|
$lang['i_premiered'] = 'In première';
|
||||||
|
$lang['i_aired'] = 'Uitgezonden';
|
||||||
|
$lang['i_genre'] = 'Genre';
|
||||||
|
$lang['i_sort'] = 'Sorteren';
|
||||||
|
$lang['i_show_trailer'] = 'Toon Trailer';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stop';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pauze';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Volume omhoog';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Volume omlaag';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Dempen';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Omhoog';
|
||||||
|
$lang['i_xbmc_down'] = 'Omlaag';
|
||||||
|
$lang['i_xbmc_left'] = 'Links';
|
||||||
|
$lang['i_xbmc_right'] = 'Rechts';
|
||||||
|
$lang['i_xbmc_watched'] = 'Bekeken';
|
||||||
|
$lang['i_xbmc_select'] = 'Selecteer';
|
||||||
|
$lang['i_xbmc_context'] = 'Contextmenu';
|
||||||
|
$lang['i_xbmc_back'] = 'Terug';
|
||||||
|
$lang['i_xbmc_power'] = 'Afsluitmenu';
|
||||||
|
$lang['i_xbmc_sync'] = 'Start sync';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Stap terug';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Stap vooruit';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Grote stap terug';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Grote stap vooruit';
|
||||||
|
$lang['i_xbmc_play'] = 'Spelen in XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Download Video';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Download m3u afspeellijst';
|
||||||
|
$lang['i_plot'] = 'Samenvatting';
|
||||||
|
$lang['i_cast'] = 'Cast';
|
||||||
|
$lang['i_actor'] = 'acteur';
|
||||||
|
$lang['i_actors'] = 'Acteurs';
|
||||||
|
$lang['i_episode'] = 'Aflevering';
|
||||||
|
$lang['i_season'] = 'Seizoen ';
|
||||||
|
$lang['i_seasons'] = 'Seizoenen';
|
||||||
|
$lang['i_runtime'] = 'looptijd';
|
||||||
|
$lang['i_director'] = 'Regisseur';
|
||||||
|
$lang['i_set'] = 'Set';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'Nieuw';
|
||||||
|
$lang['i_country'] = 'Land';
|
||||||
|
$lang['i_minute'] = 'minuten';
|
||||||
|
$lang['i_previous'] = 'Vorige';
|
||||||
|
$lang['i_next'] = 'Volgende';
|
||||||
|
$lang['i_search'] = 'Zoek';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Verwijder resultaten';
|
||||||
|
$lang['i_result'] = 'resultaat voor uitdrukking';
|
||||||
|
$lang['i_overall_title'] = 'Database';
|
||||||
|
$lang['i_overall_all'] = 'Alle';
|
||||||
|
$lang['i_overall_watched'] = 'Gezien';
|
||||||
|
$lang['i_overall_notwatched'] = 'Nog niet gezien';
|
||||||
|
$lang['i_last_added'] = 'Laatst toegevoegd';
|
||||||
|
$lang['i_top_rated'] = 'Top gewaardeerd';
|
||||||
|
$lang['i_now_playing'] = 'Nu afspelend';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'login paneel';
|
||||||
|
$lang['l_pass'] = 'toegangs wachtwoord';
|
||||||
|
$lang['l_pass_admin'] = 'administratie wachtwoord';
|
||||||
|
$lang['l_wrong_pass'] = 'verkeerd wachtwoord';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Administratie wachtwoord is nog niet verandert. Gelieve te veranderen voor meer veiligheid.';
|
||||||
|
$lang['a_install_exist'] = 'install.php bestaat nog steeds. Gelieve te verwijderen voor meer veiligheid.';
|
||||||
|
$lang['a_tables_updated'] = 'Tabellen geüpdatet';
|
||||||
|
$lang['a_movies'] = 'Films';
|
||||||
|
$lang['a_tvshows'] = 'TV-series';
|
||||||
|
$lang['a_all'] = 'Alle';
|
||||||
|
$lang['a_watched'] = 'Bekeken';
|
||||||
|
$lang['a_unwatched'] = 'niet bekeken';
|
||||||
|
$lang['a_hidden'] = 'Verbergen';
|
||||||
|
$lang['a_visible'] = 'Zichtbaar';
|
||||||
|
$lang['a_title'] = 'Titel';
|
||||||
|
$lang['a_cache'] = 'cache';
|
||||||
|
$lang['a_cached_posters'] = 'cached posters';
|
||||||
|
$lang['a_cached_fanarts'] = 'cached fanarts';
|
||||||
|
$lang['a_cached_actors'] = 'gebufferde acteurs';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Server instellingen';
|
||||||
|
$lang['a_files_md5'] = 'Bestand checksums';
|
||||||
|
$lang['a_server_directories'] = 'locaties';
|
||||||
|
$lang['a_exists'] = 'Bestaat';
|
||||||
|
$lang['a_not_exists'] = 'Bestaat niet';
|
||||||
|
$lang['a_match'] = 'Overeenkomst';
|
||||||
|
$lang['a_mismatch'] = 'Geen overeenkomst';
|
||||||
|
$lang['a_poster'] = 'Poster';
|
||||||
|
$lang['a_fanart'] = 'Fanart';
|
||||||
|
$lang['a_trailer'] = 'Trailer';
|
||||||
|
$lang['a_delete'] = 'verwijderen';
|
||||||
|
$lang['a_delete_all'] = 'Verwijder alle';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Synchronisatie';
|
||||||
|
$lang['a_set_main'] = 'hoofd';
|
||||||
|
$lang['a_set_panel_left'] = 'linkse paneel';
|
||||||
|
$lang['a_set_panel_top'] = 'boven paneel';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Synchroniseer acteurs miniatuur';
|
||||||
|
$lang['a_xbmc_posters'] = 'Synchroniseer posters';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Synchroniseer fanarts';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Synchroniseer extra miniaturen';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Exter miniatuur kwaliteit';
|
||||||
|
$lang['a_xbmc_master'] = 'Synchroniseer alleen in beheerder modus';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'website titel';
|
||||||
|
$lang['a_language'] = 'taal';
|
||||||
|
$lang['a_theme'] = 'thema';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Standaardweergave';
|
||||||
|
$lang['a_view_default'] = 'Standaard';
|
||||||
|
$lang['a_view_list'] = 'Ljist';
|
||||||
|
$lang['a_view_sposter'] = 'Kleine poster';
|
||||||
|
$lang['a_view_bposter'] = 'Grote poster';
|
||||||
|
$lang['a_per_page'] = 'fragment per pagina';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Item te lussen in top paneel';
|
||||||
|
$lang['a_panel_top_time'] = 'verander tijd boven paneel (sec.)';
|
||||||
|
$lang['a_panel_top'] = 'boven paneel';
|
||||||
|
$lang['a_panel_view'] = 'Paneel weergave';
|
||||||
|
$lang['a_watched_status'] = 'Bekeken status';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Live zoeken';
|
||||||
|
$lang['a_live_search_max_res'] = 'Live zoeken maximum resultaten';
|
||||||
|
$lang['a_panel_overall'] = 'Algemeen paneel';
|
||||||
|
$lang['a_panel_genre'] = 'Genre paneel';
|
||||||
|
$lang['a_panel_year'] = 'Jaar paneel';
|
||||||
|
$lang['a_panel_country'] = 'Land paneel';
|
||||||
|
$lang['a_panel_set'] = 'Set paneel';
|
||||||
|
$lang['a_panel_studio'] = 'Studio paneel';
|
||||||
|
$lang['a_show_fanart'] = 'Toon fanart in achtergrond';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Fade-out fanart wanneer de muis het filmscherm verlaat';
|
||||||
|
$lang['a_show_trailer'] = 'Toon trailer';
|
||||||
|
$lang['a_show_facebook'] = 'Toon facebook knoppen';
|
||||||
|
$lang['a_protect_site'] = 'Bescherm site';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Bewaren';
|
||||||
|
$lang['a_setting_on'] = 'Aan';
|
||||||
|
$lang['a_setting_off'] = 'Uit';
|
||||||
|
$lang['a_setting_on_expanded'] = 'aan, uitgeklapt';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'Aan, ingeklapt';
|
||||||
|
$lang['a_saved'] = 'instellingen bewaart';
|
||||||
|
$lang['a_not_saved'] = 'Instelingen niet opgeslagen';
|
||||||
|
$lang['a_user'] = 'Gebruiker';
|
||||||
|
$lang['a_admin'] = 'Admin';
|
||||||
|
$lang['a_new_password'] = 'Nieuw wachtwoord';
|
||||||
|
$lang['a_new_password_re'] = 'voer uw wachtwoord nogmaals in';
|
||||||
|
$lang['a_user_pass_changed'] = 'gebruikers wachtwoord verandert';
|
||||||
|
$lang['a_user_pass_min'] = 'wachtwoord moet minimaal 4 letters bevatten';
|
||||||
|
$lang['a_user_pass_n_match'] = 'wachtwoorden komen niet overeen';
|
||||||
|
$lang['a_admin_pass_changed'] = 'admin wachtwoord verandert';
|
||||||
|
$lang['a_admin_pass_min'] = 'wachtwoord moet minimaal 4 letters bevatten
|
||||||
|
';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'wachtwoorden komen niet overeen';
|
||||||
|
$lang['a_token_change'] = 'Veranderen';
|
||||||
|
$lang['a_token_changed'] = 'Token aangepast';
|
||||||
|
$lang['a_error_form'] = 'Fout in vorm';
|
||||||
|
$lang['a_reset'] = 'Herstel';
|
||||||
|
$lang['a_banner_size'] = 'Grootte';
|
||||||
|
$lang['a_banner_bg'] = 'Achtergrond';
|
||||||
|
$lang['a_banner_last_played'] = 'Laatst afgespeeld';
|
||||||
|
$lang['a_banner_title'] = 'Titel';
|
||||||
|
$lang['a_banner_o_title'] = 'Originele titel';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Lijn';
|
||||||
|
$lang['a_banner_border'] = 'rand';
|
||||||
|
$lang['a_xbmc_settings'] = 'XBMC instellingen';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Host';
|
||||||
|
$lang['a_xbmc_port'] = 'Poort';
|
||||||
|
$lang['a_xbmc_login'] = 'Log-in';
|
||||||
|
$lang['a_xbmc_pass'] = 'Wachtwoord';
|
||||||
|
$lang['a_xbmc_saved'] = 'XBMC instellingen bewaard';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Admin paneel';
|
||||||
|
$lang['a_html_library'] = 'Bibliotheek';
|
||||||
|
$lang['a_html_overall'] = 'Algemeen';
|
||||||
|
$lang['a_html_movie_list'] = 'Filmlijst';
|
||||||
|
$lang['a_html_tvshow_list'] = 'TV-serie lijst';
|
||||||
|
$lang['a_html_settings'] = 'instellingen';
|
||||||
|
$lang['a_html_password'] = 'Wachtwoord';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'uitloggen';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Installatie';
|
||||||
|
$lang['ins_lang_file'] = 'Kies uw taal';
|
||||||
|
$lang['ins_next'] = 'Volgende';
|
||||||
|
$lang['ins_license'] = 'Licentie';
|
||||||
|
$lang['ins_accept'] = 'accepteren';
|
||||||
|
$lang['ins_finished'] = 'Installatie voltooid';
|
||||||
|
$lang['ins_error'] = 'Installatie fout';
|
||||||
|
$lang['ins_file_db_ex'] = 'Bestand db.php bestaat, maar kan er niet naar schrijven. bestand CHMOD is';
|
||||||
|
$lang['ins_file_db_not'] = 'Kan niet db.php bestand creëren, hoofdlocatie CHMOD is';
|
||||||
|
$lang['ins_file_db_cre'] = 'Je kan db.php bestand manueel creëren in de hoofdlocatie en deze code hierin plaatsen';
|
||||||
|
$lang['ins_admin'] = 'Admin panel';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Geen verbinding met de Database mogelijk';
|
||||||
|
$lang['inst_conn_db'] = 'Database';
|
||||||
|
$lang['inst_server'] = 'Server';
|
||||||
|
$lang['inst_port'] = 'Poort';
|
||||||
|
$lang['inst_login'] = 'Login';
|
||||||
|
$lang['inst_pass'] = 'Wachtwoord';
|
||||||
|
$lang['inst_database'] = 'Database';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/nl/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Het script synchroniseert automatisch en toont de XBMC/Kodi bibliotheek.
|
||||||
|
|
||||||
|
Vereisten:
|
||||||
|
- Server met Apache server, PHP 5, MySql 5
|
||||||
|
- Addon "Movielib" voor XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Standaard wachtwoorden:
|
||||||
|
Toegang tot site: gebruiker
|
||||||
|
Toegan to admin paneel: admin
|
||||||
|
|
||||||
|
In Admin Paneel sectie moet je een token genereren en toevoegen aan de addon instellingen met URL naar script.
|
239
movielib/lang/pl/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Tytuł';
|
||||||
|
$lang['i_movies'] = 'Filmy';
|
||||||
|
$lang['i_tvshows'] = 'Seriale';
|
||||||
|
$lang['i_year'] = 'Rok';
|
||||||
|
$lang['i_rating'] = 'Ocena';
|
||||||
|
$lang['i_added'] = 'Ostatnio dodane';
|
||||||
|
$lang['i_last_played'] = 'Ostatnio Oglądane';
|
||||||
|
$lang['i_most_watched'] = 'Najczęściej oglądane';
|
||||||
|
$lang['i_watched_status'] = 'Status oglądania';
|
||||||
|
$lang['i_all'] = 'Wszystkie';
|
||||||
|
$lang['i_watched'] = 'Oglądane';
|
||||||
|
$lang['i_unwatched'] = 'Nieoglądane';
|
||||||
|
$lang['i_view'] = 'Widok';
|
||||||
|
$lang['i_view_default'] = 'Domyślny';
|
||||||
|
$lang['i_view_list'] = 'Lista';
|
||||||
|
$lang['i_view_sposter'] = 'Mały Plakat';
|
||||||
|
$lang['i_view_bposter'] = 'Duży Plakat';
|
||||||
|
$lang['i_page'] = 'Strona';
|
||||||
|
$lang['i_premiered'] = 'Premiera';
|
||||||
|
$lang['i_aired'] = 'Wyemitowany';
|
||||||
|
$lang['i_genre'] = 'Gatunek';
|
||||||
|
$lang['i_sort'] = 'Sortuj';
|
||||||
|
$lang['i_show_trailer'] = 'Pokaż Trailer';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stop';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pauza';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Głośniej';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Ciszej';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Wyciszenie';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Góra';
|
||||||
|
$lang['i_xbmc_down'] = 'Dół';
|
||||||
|
$lang['i_xbmc_left'] = 'Lewo';
|
||||||
|
$lang['i_xbmc_right'] = 'Prawo';
|
||||||
|
$lang['i_xbmc_watched'] = 'Oglądane';
|
||||||
|
$lang['i_xbmc_select'] = 'Wybierz';
|
||||||
|
$lang['i_xbmc_context'] = 'Menu kontekstowe';
|
||||||
|
$lang['i_xbmc_back'] = 'Do tyłu';
|
||||||
|
$lang['i_xbmc_power'] = 'Menu zamykania';
|
||||||
|
$lang['i_xbmc_sync'] = 'Uruchom synchronizację';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Do tyłu';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Do przodu';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Dużo do tyłu';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Dużo do przodu';
|
||||||
|
$lang['i_xbmc_play'] = 'Odtwarzaj w XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Pobierz wideo';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Pobierz listę odtwarzania';
|
||||||
|
$lang['i_plot'] = 'Opis';
|
||||||
|
$lang['i_cast'] = 'Obsada';
|
||||||
|
$lang['i_actor'] = 'Aktor';
|
||||||
|
$lang['i_actors'] = 'Aktorzy';
|
||||||
|
$lang['i_episode'] = 'Odcinek';
|
||||||
|
$lang['i_season'] = 'Sezon';
|
||||||
|
$lang['i_seasons'] = 'Sezony';
|
||||||
|
$lang['i_runtime'] = 'Czas';
|
||||||
|
$lang['i_director'] = 'Reżyser';
|
||||||
|
$lang['i_set'] = 'Kolekcja';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'Nowy';
|
||||||
|
$lang['i_country'] = 'Kraj';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Poprzednia';
|
||||||
|
$lang['i_next'] = 'Następna';
|
||||||
|
$lang['i_search'] = 'Szukaj';
|
||||||
|
$lang['i_filter'] = 'Filtr';
|
||||||
|
$lang['i_del_result'] = 'Usuń wyniki';
|
||||||
|
$lang['i_result'] = 'Wynik dla frazy';
|
||||||
|
$lang['i_overall_title'] = 'Baza filmów';
|
||||||
|
$lang['i_overall_all'] = 'Wszystkich';
|
||||||
|
$lang['i_overall_watched'] = 'Oglądanych';
|
||||||
|
$lang['i_overall_notwatched'] = 'Nieoglądanych';
|
||||||
|
$lang['i_last_added'] = 'Ostatnio Dodane';
|
||||||
|
$lang['i_top_rated'] = 'Najwyżej Oceniane';
|
||||||
|
$lang['i_now_playing'] = 'Teraz odtwarzane';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Panel logowania';
|
||||||
|
$lang['l_pass'] = 'Hasło dostępu do strony';
|
||||||
|
$lang['l_pass_admin'] = 'Hasło dostępu do panelu Administratora';
|
||||||
|
$lang['l_wrong_pass'] = 'Błędne hasło';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Hasło do Panelu Administratora jest wciąż domyślne. Zmień je dla zwiększenia bezpieczeństwa';
|
||||||
|
$lang['a_install_exist'] = 'Plik install.php wciąż istnieje. Usuń go dla zwiększenia bezpieczeństwa';
|
||||||
|
$lang['a_tables_updated'] = 'Tabele uaktualnione';
|
||||||
|
$lang['a_movies'] = 'Filmy';
|
||||||
|
$lang['a_tvshows'] = 'Seriale';
|
||||||
|
$lang['a_all'] = 'Wszystkie';
|
||||||
|
$lang['a_watched'] = 'Oglądane';
|
||||||
|
$lang['a_unwatched'] = 'Nieoglądane';
|
||||||
|
$lang['a_hidden'] = 'Ukryty';
|
||||||
|
$lang['a_visible'] = 'Widoczny';
|
||||||
|
$lang['a_title'] = 'Tytuł';
|
||||||
|
$lang['a_cache'] = 'Cache';
|
||||||
|
$lang['a_cached_posters'] = 'Okładki posiadające cache';
|
||||||
|
$lang['a_cached_fanarts'] = 'Fanarty posiadające cache';
|
||||||
|
$lang['a_cached_actors'] = 'Aktorzy posiadający cache';
|
||||||
|
$lang['a_cached_exthumb'] = 'Dodatkowe miniatury posiadające cache';
|
||||||
|
$lang['a_server_settings'] = 'Ustawienia serwera';
|
||||||
|
$lang['a_files_md5'] = 'Sumy kontrolne plików';
|
||||||
|
$lang['a_server_directories'] = 'Katalogi';
|
||||||
|
$lang['a_exists'] = 'Istnieje';
|
||||||
|
$lang['a_not_exists'] = 'Nie istnieje';
|
||||||
|
$lang['a_match'] = 'Zgodny';
|
||||||
|
$lang['a_mismatch'] = 'Niezgodny';
|
||||||
|
$lang['a_poster'] = 'Okładka';
|
||||||
|
$lang['a_fanart'] = 'Fanart';
|
||||||
|
$lang['a_trailer'] = 'Zwiastun';
|
||||||
|
$lang['a_delete'] = 'Usuń';
|
||||||
|
$lang['a_delete_all'] = 'Usuń wszystko';
|
||||||
|
$lang['a_delete_poster'] = 'Usuń okładkę';
|
||||||
|
$lang['a_delete_fanart'] = 'Usuń fanart';
|
||||||
|
$lang['a_set_sync'] = 'Synchronizacja';
|
||||||
|
$lang['a_set_main'] = 'Główne';
|
||||||
|
$lang['a_set_panel_left'] = 'Lewy panel';
|
||||||
|
$lang['a_set_panel_top'] = 'Górny panel';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Synchronizuj miniatury aktorów';
|
||||||
|
$lang['a_xbmc_posters'] = 'Synchronizuj okładki';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Synchronizuj fanarty';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Synchronizuj dodatkowe miniatury';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Jakość dodatkowych miniatur';
|
||||||
|
$lang['a_xbmc_master'] = 'Synchronizuj tylko w Master Mode';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Automatyczna konfiguracja ustawień dla zdalnego sterowania';
|
||||||
|
$lang['a_site_name'] = 'Tytuł strony';
|
||||||
|
$lang['a_language'] = 'Język';
|
||||||
|
$lang['a_theme'] = 'Skóra';
|
||||||
|
$lang['a_select_media_header'] = 'Automatycznie chowaj nagłówek wyboru mediów jeśli dostępny jest tylko jeden';
|
||||||
|
$lang['a_view'] = 'Domyślny Widok';
|
||||||
|
$lang['a_view_default'] = 'Domyślny';
|
||||||
|
$lang['a_view_list'] = 'Lista';
|
||||||
|
$lang['a_view_sposter'] = 'Mały Plakat';
|
||||||
|
$lang['a_view_bposter'] = 'Duży Plakat';
|
||||||
|
$lang['a_per_page'] = 'Pozycji na stronie';
|
||||||
|
$lang['a_default_sort'] = 'Domyślne sortowanie';
|
||||||
|
$lang['a_default_watch'] = 'Domyślny widok pozycji obejrzanych';
|
||||||
|
$lang['a_panel_top_limit'] = 'Pozycji do powtórzenia w panelu górnym';
|
||||||
|
$lang['a_panel_top_time'] = 'Czas zmiany panelu (sek.)';
|
||||||
|
$lang['a_panel_top'] = 'Górny panel';
|
||||||
|
$lang['a_panel_view'] = 'Panel widoku';
|
||||||
|
$lang['a_watched_status'] = 'Status oglądania';
|
||||||
|
$lang['a_show_playcount'] = 'Pokazuj ilość odtworzeń';
|
||||||
|
$lang['a_live_search'] = 'Wyszukiwarka Live';
|
||||||
|
$lang['a_live_search_max_res'] = 'Ilość wyników wyszukiwarki Live';
|
||||||
|
$lang['a_panel_overall'] = 'Panel podsumowania';
|
||||||
|
$lang['a_panel_genre'] = 'Panel gatunku';
|
||||||
|
$lang['a_panel_year'] = 'Panel roku';
|
||||||
|
$lang['a_panel_country'] = 'Panel kraju';
|
||||||
|
$lang['a_panel_set'] = 'Panel kolekcji';
|
||||||
|
$lang['a_panel_studio'] = 'Panel studio';
|
||||||
|
$lang['a_show_fanart'] = 'Pokazuj fanart w tle';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Usuń fanart po opuszczeniu myszką okna filmu';
|
||||||
|
$lang['a_show_trailer'] = 'Pokazuj trailer';
|
||||||
|
$lang['a_show_facebook'] = 'Pokaż przyciski facebooka';
|
||||||
|
$lang['a_protect_site'] = 'Chroń dostęp do strony';
|
||||||
|
$lang['a_mod_rewrite'] = 'Włącz mod rewrite';
|
||||||
|
$lang['a_save'] = 'Zapisz';
|
||||||
|
$lang['a_setting_on'] = 'Włączone';
|
||||||
|
$lang['a_setting_off'] = 'Wyłączone';
|
||||||
|
$lang['a_setting_on_expanded'] = 'Włączone, rozwnięte';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'Włączone, zwinięte';
|
||||||
|
$lang['a_saved'] = 'Ustawienia zapisane';
|
||||||
|
$lang['a_not_saved'] = 'Ustawienia nie zapisane';
|
||||||
|
$lang['a_user'] = 'Użytkownik';
|
||||||
|
$lang['a_admin'] = 'Administrator';
|
||||||
|
$lang['a_new_password'] = 'Nowe hasło';
|
||||||
|
$lang['a_new_password_re'] = 'Powtórz hasło';
|
||||||
|
$lang['a_user_pass_changed'] = 'Hasło użytkownika zmienione';
|
||||||
|
$lang['a_user_pass_min'] = 'Hasło użytkownika musi składać się z conajmniej 4 znaków';
|
||||||
|
$lang['a_user_pass_n_match'] = 'Hasło użytkowika nie zgadza się';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Hasło administratora zmienione';
|
||||||
|
$lang['a_admin_pass_min'] = 'Hasło administratora musi składać się z conajmniej 4 znaków';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Hasło administratora nie zgadza się';
|
||||||
|
$lang['a_token_change'] = 'Zmień';
|
||||||
|
$lang['a_token_changed'] = 'Token zmieniony';
|
||||||
|
$lang['a_error_form'] = 'Błąd w formularzu';
|
||||||
|
$lang['a_reset'] = 'Resetuj';
|
||||||
|
$lang['a_banner_size'] = 'Rozmiar';
|
||||||
|
$lang['a_banner_bg'] = 'Tło';
|
||||||
|
$lang['a_banner_last_played'] = 'Ostatnio oglądane';
|
||||||
|
$lang['a_banner_title'] = 'Tytuł';
|
||||||
|
$lang['a_banner_o_title'] = 'Tytuł oryginalny';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Kontur';
|
||||||
|
$lang['a_banner_border'] = 'Obramowanie';
|
||||||
|
$lang['a_xbmc_settings'] = 'Ustawienia XBMC';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Automatyczne konfigurowanie ustawień dla zdalnego sterowania jest włączone. Poniższe ustawienia będą ustawione automatycznie.';
|
||||||
|
$lang['a_xbmc_host'] = 'Adres';
|
||||||
|
$lang['a_xbmc_port'] = 'Port';
|
||||||
|
$lang['a_xbmc_login'] = 'Użytkownik';
|
||||||
|
$lang['a_xbmc_pass'] = 'Hasło';
|
||||||
|
$lang['a_xbmc_saved'] = 'Ustawienia XBMC zapisane';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Panel Administracyjny';
|
||||||
|
$lang['a_html_library'] = 'Biblioteka';
|
||||||
|
$lang['a_html_overall'] = 'Podsumowanie';
|
||||||
|
$lang['a_html_movie_list'] = 'Lista Filmów';
|
||||||
|
$lang['a_html_tvshow_list'] = 'Lista Seriali';
|
||||||
|
$lang['a_html_settings'] = 'Ustawienia';
|
||||||
|
$lang['a_html_password'] = 'Hasło';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Baner';
|
||||||
|
$lang['a_html_logout'] = 'Wyloguj';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Instalacja';
|
||||||
|
$lang['ins_lang_file'] = 'Wybierz język';
|
||||||
|
$lang['ins_next'] = 'Dalej';
|
||||||
|
$lang['ins_license'] = 'Licencja';
|
||||||
|
$lang['ins_accept'] = 'Akceptuje';
|
||||||
|
$lang['ins_finished'] = 'Koniec instalacji';
|
||||||
|
$lang['ins_error'] = 'Błąd instalacji';
|
||||||
|
$lang['ins_file_db_ex'] = 'Plik db.php istnieje, ale nie można go nadpisać, CHMOD pliku to';
|
||||||
|
$lang['ins_file_db_not'] = 'Nie można utworzyć pliku db.php, CHMOD głównego katalogu to';
|
||||||
|
$lang['ins_file_db_cre'] = 'Możesz utworzyć plik db.php ręcznie w głównym katalogu i wkleić do niego kod';
|
||||||
|
$lang['ins_admin'] = 'Panel Admina';
|
||||||
|
$lang['ins_db_exist'] = 'Baza danych istnieje. Kontynuowanie nadpisze wszystkie ustawienia. Jeśli poprawnie skonfigurowałeś bazę danych usuń plik install.php';
|
||||||
|
$lang['ins_could_connect'] = 'Nie można połączyć z bazą danych';
|
||||||
|
$lang['inst_conn_db'] = 'Baza Danych';
|
||||||
|
$lang['inst_server'] = 'Serwer';
|
||||||
|
$lang['inst_port'] = 'Port';
|
||||||
|
$lang['inst_login'] = 'Użytkownik';
|
||||||
|
$lang['inst_pass'] = 'Hasło';
|
||||||
|
$lang['inst_database'] = 'Baza Danych';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/pl/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Skrypt automatycznie synchronizuje i wyświetla zawartość biblioteki z XBMC/Kodi.
|
||||||
|
|
||||||
|
Wymagania:
|
||||||
|
- Serwer Apache, PHP 5, MySql 5
|
||||||
|
- Add-on "Movielib" dla XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Domyślne hasła:
|
||||||
|
Dostęp do strony: user
|
||||||
|
Dostęp do panelu administratora: admin
|
||||||
|
|
||||||
|
W Panelu Admina należy wygenerować token i wpisać go w opcjach wtyczki podając również adres skryptu.
|
239
movielib/lang/sk/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Názov';
|
||||||
|
$lang['i_movies'] = 'Filmy';
|
||||||
|
$lang['i_tvshows'] = 'SERIÁLY';
|
||||||
|
$lang['i_year'] = 'Rok';
|
||||||
|
$lang['i_rating'] = 'Hodnotenie';
|
||||||
|
$lang['i_added'] = 'Naposledy pridané';
|
||||||
|
$lang['i_last_played'] = 'Naposledy videné';
|
||||||
|
$lang['i_most_watched'] = 'Najviac videné';
|
||||||
|
$lang['i_watched_status'] = 'Stav zhliadnutí';
|
||||||
|
$lang['i_all'] = 'Všetky';
|
||||||
|
$lang['i_watched'] = 'Videné';
|
||||||
|
$lang['i_unwatched'] = 'Nevidené';
|
||||||
|
$lang['i_view'] = 'Zobrazenie';
|
||||||
|
$lang['i_view_default'] = 'Predvolené';
|
||||||
|
$lang['i_view_list'] = 'Zoznam';
|
||||||
|
$lang['i_view_sposter'] = 'Malý plagát';
|
||||||
|
$lang['i_view_bposter'] = 'Veľký Plagát';
|
||||||
|
$lang['i_page'] = 'Strana';
|
||||||
|
$lang['i_premiered'] = 'Premiéra';
|
||||||
|
$lang['i_aired'] = 'Vysielané';
|
||||||
|
$lang['i_genre'] = 'Žáner';
|
||||||
|
$lang['i_sort'] = 'Zoradiť';
|
||||||
|
$lang['i_show_trailer'] = 'Ukáž Trailer';
|
||||||
|
$lang['i_xbmc_stop'] = 'Zastaviť';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pauza';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Zvýšiť hlasitosť';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Znížiť hlasitosť';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Stlmiť zvuk';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Hore';
|
||||||
|
$lang['i_xbmc_down'] = 'Dole';
|
||||||
|
$lang['i_xbmc_left'] = 'Doprava';
|
||||||
|
$lang['i_xbmc_right'] = 'Doľava';
|
||||||
|
$lang['i_xbmc_watched'] = 'Videné';
|
||||||
|
$lang['i_xbmc_select'] = 'Vyber';
|
||||||
|
$lang['i_xbmc_context'] = 'Kontextové menu';
|
||||||
|
$lang['i_xbmc_back'] = 'Späť';
|
||||||
|
$lang['i_xbmc_power'] = 'Menu pre vypnutie';
|
||||||
|
$lang['i_xbmc_sync'] = 'Spusti synchronizáciu';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Krok späť';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Krok dopredu';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Veľký krok späť';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Veľký krok dopredu';
|
||||||
|
$lang['i_xbmc_play'] = 'Prehraj na XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Stiahni Video';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Stiahni m3u playlist';
|
||||||
|
$lang['i_plot'] = 'Obsah';
|
||||||
|
$lang['i_cast'] = 'Obsadenie';
|
||||||
|
$lang['i_actor'] = 'Herec';
|
||||||
|
$lang['i_actors'] = 'Herci';
|
||||||
|
$lang['i_episode'] = 'Epizóda';
|
||||||
|
$lang['i_season'] = 'Sezóna';
|
||||||
|
$lang['i_seasons'] = 'Sezóny';
|
||||||
|
$lang['i_runtime'] = 'Dĺžka';
|
||||||
|
$lang['i_director'] = 'Režisér';
|
||||||
|
$lang['i_set'] = 'Nastav';
|
||||||
|
$lang['i_studio'] = 'Štúdio';
|
||||||
|
$lang['i_ribbon_new'] = 'Nové';
|
||||||
|
$lang['i_country'] = 'Krajina';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Predošlé';
|
||||||
|
$lang['i_next'] = 'Ďalšie';
|
||||||
|
$lang['i_search'] = 'Hľadaj';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Vymaž výsledky';
|
||||||
|
$lang['i_result'] = 'Výsledky pre frázu';
|
||||||
|
$lang['i_overall_title'] = 'Databáza';
|
||||||
|
$lang['i_overall_all'] = 'Všetky';
|
||||||
|
$lang['i_overall_watched'] = 'Videné';
|
||||||
|
$lang['i_overall_notwatched'] = 'Nevidené';
|
||||||
|
$lang['i_last_added'] = 'Naposledy pridané';
|
||||||
|
$lang['i_top_rated'] = 'Najviac hodnotené';
|
||||||
|
$lang['i_now_playing'] = 'Práve hrá';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Ovládací panel používateľa';
|
||||||
|
$lang['l_pass'] = 'Heslo na prihlásenie';
|
||||||
|
$lang['l_pass_admin'] = 'Heslo na prihlasenie do Admin sekcie';
|
||||||
|
$lang['l_wrong_pass'] = 'Zlé heslo';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Heslo do Admin sekcie je stále nezmenené. Prosím Vás zmenťe si ho pre väčšiu bezpečnosť.';
|
||||||
|
$lang['a_install_exist'] = 'install.php stále existuje. Prosím Vás zmenťe si ho pre väčšiu bezpečnosť.';
|
||||||
|
$lang['a_tables_updated'] = 'Tabuľky aktualizované';
|
||||||
|
$lang['a_movies'] = 'Filmy';
|
||||||
|
$lang['a_tvshows'] = 'Seriály';
|
||||||
|
$lang['a_all'] = 'Všetky';
|
||||||
|
$lang['a_watched'] = 'Videné';
|
||||||
|
$lang['a_unwatched'] = 'Nevidené';
|
||||||
|
$lang['a_hidden'] = 'Skryté';
|
||||||
|
$lang['a_visible'] = 'Viditeľné';
|
||||||
|
$lang['a_title'] = 'Názov';
|
||||||
|
$lang['a_cache'] = 'Medzipamäť';
|
||||||
|
$lang['a_cached_posters'] = 'Plagáty v medzipamäti';
|
||||||
|
$lang['a_cached_fanarts'] = 'FanArty v medzipamäti';
|
||||||
|
$lang['a_cached_actors'] = 'Herci v medzipamäti';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Nastavenie servera';
|
||||||
|
$lang['a_files_md5'] = 'Kontrolný súčet';
|
||||||
|
$lang['a_server_directories'] = 'Priečinky';
|
||||||
|
$lang['a_exists'] = 'Existujúce';
|
||||||
|
$lang['a_not_exists'] = 'Neexistujúce';
|
||||||
|
$lang['a_match'] = 'Zhoda';
|
||||||
|
$lang['a_mismatch'] = 'Nezhoda';
|
||||||
|
$lang['a_poster'] = 'Plagát';
|
||||||
|
$lang['a_fanart'] = 'FanArt';
|
||||||
|
$lang['a_trailer'] = 'Trailer';
|
||||||
|
$lang['a_delete'] = 'Vymaž';
|
||||||
|
$lang['a_delete_all'] = 'Vymaž všetky';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Synchronizácia';
|
||||||
|
$lang['a_set_main'] = 'Hlavný';
|
||||||
|
$lang['a_set_panel_left'] = 'Ľavý panel';
|
||||||
|
$lang['a_set_panel_top'] = 'Vrchný panel';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Synchronizuj náhľady hercov';
|
||||||
|
$lang['a_xbmc_posters'] = 'Synchronizuj náhľady plagátov';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Synchronizuj FanArty';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Synchronizuj extra náhľady';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Kvalita extra náhľadov';
|
||||||
|
$lang['a_xbmc_master'] = 'Synchronizuj len v Master Móde';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Názov stránky';
|
||||||
|
$lang['a_language'] = 'Jazyk';
|
||||||
|
$lang['a_theme'] = 'Motív';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Predvolené zobrazenie';
|
||||||
|
$lang['a_view_default'] = 'Predvolené';
|
||||||
|
$lang['a_view_list'] = 'Zoznam';
|
||||||
|
$lang['a_view_sposter'] = 'Malý Plagát';
|
||||||
|
$lang['a_view_bposter'] = 'Veľký Plagát';
|
||||||
|
$lang['a_per_page'] = 'Počet položiek na stránke';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Prehrávanie položiek na Vrchnom Panely';
|
||||||
|
$lang['a_panel_top_time'] = 'Zmena času zmeny na vrchnom panely (sek.)';
|
||||||
|
$lang['a_panel_top'] = 'Panel na vrchu';
|
||||||
|
$lang['a_panel_view'] = 'Zobrazenie Panelu';
|
||||||
|
$lang['a_watched_status'] = 'Stav zhliadnutí';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Okamžité vyhľadávanie';
|
||||||
|
$lang['a_live_search_max_res'] = 'Maximálny počet výsledkov pri okamžitom vyhľadávaní';
|
||||||
|
$lang['a_panel_overall'] = 'Hlavný panel';
|
||||||
|
$lang['a_panel_genre'] = 'Panel žánrov';
|
||||||
|
$lang['a_panel_year'] = 'Rok';
|
||||||
|
$lang['a_panel_country'] = 'Krajina panel';
|
||||||
|
$lang['a_panel_set'] = 'Nastavenie panel';
|
||||||
|
$lang['a_panel_studio'] = 'Štúdio panel';
|
||||||
|
$lang['a_show_fanart'] = 'Ukáž fanart v pozadí';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Urob prechod ked myšou prejdeš okno filmu';
|
||||||
|
$lang['a_show_trailer'] = 'Ukáž trailer';
|
||||||
|
$lang['a_show_facebook'] = 'Ukáž facebook tlačítka';
|
||||||
|
$lang['a_protect_site'] = 'Zabezpečenie stránky';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Ulož';
|
||||||
|
$lang['a_setting_on'] = 'Zapni';
|
||||||
|
$lang['a_setting_off'] = 'Vypni';
|
||||||
|
$lang['a_setting_on_expanded'] = 'Zapni, rozšírené';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'Zapni, nerozšírené';
|
||||||
|
$lang['a_saved'] = 'Nastavenie uložené';
|
||||||
|
$lang['a_not_saved'] = 'Nastavenie nie je uložené';
|
||||||
|
$lang['a_user'] = 'Užívateľ';
|
||||||
|
$lang['a_admin'] = 'Admin';
|
||||||
|
$lang['a_new_password'] = 'Nové heslo';
|
||||||
|
$lang['a_new_password_re'] = 'Heslo znova';
|
||||||
|
$lang['a_user_pass_changed'] = 'Nastavenie hesla pre užívateľa sa zmenilo';
|
||||||
|
$lang['a_user_pass_min'] = 'Heslo používateľa musí mať minimálne 4 znaky';
|
||||||
|
$lang['a_user_pass_n_match'] = 'Heslá užívateľa sa nezhodujú';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Heslo pre admin a sa zmenilo';
|
||||||
|
$lang['a_admin_pass_min'] = 'Heslo pre admina musí mať najmenej 4 znaky';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Heslá pre admina sa nezhodujú';
|
||||||
|
$lang['a_token_change'] = 'Zmeniť';
|
||||||
|
$lang['a_token_changed'] = 'Token sa zmenil';
|
||||||
|
$lang['a_error_form'] = 'Chyba vo formulári';
|
||||||
|
$lang['a_reset'] = 'Obnoviť';
|
||||||
|
$lang['a_banner_size'] = 'Veľkosť';
|
||||||
|
$lang['a_banner_bg'] = 'Pozadie';
|
||||||
|
$lang['a_banner_last_played'] = 'Naposledy prehrané';
|
||||||
|
$lang['a_banner_title'] = 'Názov';
|
||||||
|
$lang['a_banner_o_title'] = 'Originálny názov';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Stlačiť kláves';
|
||||||
|
$lang['a_banner_border'] = 'Hranica';
|
||||||
|
$lang['a_xbmc_settings'] = 'Nastavenia Kodi/XBMC';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Server';
|
||||||
|
$lang['a_xbmc_port'] = 'Port';
|
||||||
|
$lang['a_xbmc_login'] = 'Prihlasovacie meno';
|
||||||
|
$lang['a_xbmc_pass'] = 'Heslo';
|
||||||
|
$lang['a_xbmc_saved'] = 'Nastavenie pre Kodi/XBMC zmenené';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Admin sekcia';
|
||||||
|
$lang['a_html_library'] = 'Knižnica';
|
||||||
|
$lang['a_html_overall'] = 'Celkovo';
|
||||||
|
$lang['a_html_movie_list'] = 'Zoznam filmov';
|
||||||
|
$lang['a_html_tvshow_list'] = 'Zoznam Seriálov';
|
||||||
|
$lang['a_html_settings'] = 'Nastavenie';
|
||||||
|
$lang['a_html_password'] = 'Heslo';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'Odhlásenie';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Inštalácia';
|
||||||
|
$lang['ins_lang_file'] = 'Výber jazyka';
|
||||||
|
$lang['ins_next'] = 'Ďalší';
|
||||||
|
$lang['ins_license'] = 'Licencia';
|
||||||
|
$lang['ins_accept'] = 'Potvrď';
|
||||||
|
$lang['ins_finished'] = 'Inštalácia prebehla úspešne';
|
||||||
|
$lang['ins_error'] = 'Chyba inštalácie';
|
||||||
|
$lang['ins_file_db_ex'] = 'Súbor db.php existuje ale nevie doňho zapisovať. Urob naňho CHMOD.';
|
||||||
|
$lang['ins_file_db_not'] = 'Nevie vytvoriť db.php. Urob CHMOD na stromový priečinok.';
|
||||||
|
$lang['ins_file_db_cre'] = 'Môžeš vytvorit db.php súber v koreňovom adresári a vlož doň tento kód';
|
||||||
|
$lang['ins_admin'] = 'Admin sekcia';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Neviem sa pripojiť do databázy';
|
||||||
|
$lang['inst_conn_db'] = 'Databáza';
|
||||||
|
$lang['inst_server'] = 'Server';
|
||||||
|
$lang['inst_port'] = 'Port';
|
||||||
|
$lang['inst_login'] = 'Prihlasovacie meno';
|
||||||
|
$lang['inst_pass'] = 'Heslo';
|
||||||
|
$lang['inst_database'] = 'Databáza';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/sk/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Skript automaticky synchronizuje a zobrazuje XBMC/Kodi knižnicu.
|
||||||
|
|
||||||
|
Požiadavky
|
||||||
|
- Server with Apache server, PHP 5, MySql 5
|
||||||
|
- Doplnok "Movielib" pre XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Predvolené heslá:
|
||||||
|
Prístup na stránku:user
|
||||||
|
Prístup do Admin sekcie:admin
|
||||||
|
|
||||||
|
V Admin sekcii môžete vygenerovať toke a pridať ho následne do nastavenie doplnku s URL.
|
239
movielib/lang/sr/lang.php
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
<?PHP
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # INDEX.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['i_title'] = 'Naslov';
|
||||||
|
$lang['i_movies'] = 'Filmovi';
|
||||||
|
$lang['i_tvshows'] = 'TV Serije';
|
||||||
|
$lang['i_year'] = 'Year';
|
||||||
|
$lang['i_rating'] = 'Rating';
|
||||||
|
$lang['i_added'] = 'Last Added';
|
||||||
|
$lang['i_last_played'] = 'Last Played';
|
||||||
|
$lang['i_most_watched'] = 'Most Watched';
|
||||||
|
$lang['i_watched_status'] = 'Watched Status';
|
||||||
|
$lang['i_all'] = 'All';
|
||||||
|
$lang['i_watched'] = 'Watched';
|
||||||
|
$lang['i_unwatched'] = 'Unwatched';
|
||||||
|
$lang['i_view'] = 'View';
|
||||||
|
$lang['i_view_default'] = 'Default';
|
||||||
|
$lang['i_view_list'] = 'List';
|
||||||
|
$lang['i_view_sposter'] = 'Small Poster';
|
||||||
|
$lang['i_view_bposter'] = 'Big Poster';
|
||||||
|
$lang['i_page'] = 'Page';
|
||||||
|
$lang['i_premiered'] = 'Premiered';
|
||||||
|
$lang['i_aired'] = 'Aired';
|
||||||
|
$lang['i_genre'] = 'Genre';
|
||||||
|
$lang['i_sort'] = 'Sort';
|
||||||
|
$lang['i_show_trailer'] = 'Show Trailer';
|
||||||
|
$lang['i_xbmc_stop'] = 'Stop';
|
||||||
|
$lang['i_xbmc_pause'] = 'Pause';
|
||||||
|
$lang['i_xbmc_v_up'] = 'Vol Up';
|
||||||
|
$lang['i_xbmc_v_down'] = 'Vol Down';
|
||||||
|
$lang['i_xbmc_v_mute'] = 'Mute';
|
||||||
|
$lang['i_xbmc_info'] = 'Info';
|
||||||
|
$lang['i_xbmc_up'] = 'Up';
|
||||||
|
$lang['i_xbmc_down'] = 'Down';
|
||||||
|
$lang['i_xbmc_left'] = 'Left';
|
||||||
|
$lang['i_xbmc_right'] = 'Right';
|
||||||
|
$lang['i_xbmc_watched'] = 'Watched';
|
||||||
|
$lang['i_xbmc_select'] = 'Select';
|
||||||
|
$lang['i_xbmc_context'] = 'Context Menu';
|
||||||
|
$lang['i_xbmc_back'] = 'Back';
|
||||||
|
$lang['i_xbmc_power'] = 'Shutdown Menu';
|
||||||
|
$lang['i_xbmc_sync'] = 'Start Sync';
|
||||||
|
$lang['i_xbmc_stepback'] = 'Step Back';
|
||||||
|
$lang['i_xbmc_stepforward'] = 'Step Forward';
|
||||||
|
$lang['i_xbmc_bigstepback'] = 'Big Step Back';
|
||||||
|
$lang['i_xbmc_bigstepforward'] = 'Big Step Forward';
|
||||||
|
$lang['i_xbmc_play'] = 'Play in XBMC';
|
||||||
|
$lang['i_xbmc_download'] = 'Download Video';
|
||||||
|
$lang['i_xbmc_m3u'] = 'Download m3u playlist';
|
||||||
|
$lang['i_plot'] = 'Plot';
|
||||||
|
$lang['i_cast'] = 'Cast';
|
||||||
|
$lang['i_actor'] = 'Actor';
|
||||||
|
$lang['i_actors'] = 'Actors';
|
||||||
|
$lang['i_episode'] = 'Episode';
|
||||||
|
$lang['i_season'] = 'Season';
|
||||||
|
$lang['i_seasons'] = 'Seasons';
|
||||||
|
$lang['i_runtime'] = 'Runtime';
|
||||||
|
$lang['i_director'] = 'Director';
|
||||||
|
$lang['i_set'] = 'Set';
|
||||||
|
$lang['i_studio'] = 'Studio';
|
||||||
|
$lang['i_ribbon_new'] = 'New';
|
||||||
|
$lang['i_country'] = 'Country';
|
||||||
|
$lang['i_minute'] = 'min.';
|
||||||
|
$lang['i_previous'] = 'Previous';
|
||||||
|
$lang['i_next'] = 'Next';
|
||||||
|
$lang['i_search'] = 'Search';
|
||||||
|
$lang['i_filter'] = 'Filter';
|
||||||
|
$lang['i_del_result'] = 'Delete results';
|
||||||
|
$lang['i_result'] = 'Result for phrase';
|
||||||
|
$lang['i_overall_title'] = 'Database';
|
||||||
|
$lang['i_overall_all'] = 'All';
|
||||||
|
$lang['i_overall_watched'] = 'Watched';
|
||||||
|
$lang['i_overall_notwatched'] = 'Unwatched';
|
||||||
|
$lang['i_last_added'] = 'Last Added';
|
||||||
|
$lang['i_top_rated'] = 'Top Rated';
|
||||||
|
$lang['i_now_playing'] = 'Now Playing';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # LOGIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['l_html_login'] = 'Login panel';
|
||||||
|
$lang['l_pass'] = 'Password to access site';
|
||||||
|
$lang['l_pass_admin'] = 'Password to access Admin Panel';
|
||||||
|
$lang['l_wrong_pass'] = 'Wrong password';
|
||||||
|
|
||||||
|
/* #############
|
||||||
|
* # ADMIN.PHP #
|
||||||
|
*/#############
|
||||||
|
|
||||||
|
$lang['a_pass_default'] = 'Password to Admin Panel is still default. Change it for more safety';
|
||||||
|
$lang['a_install_exist'] = 'install.php file still exist. Delete it to for more safety';
|
||||||
|
$lang['a_tables_updated'] = 'Tables updated';
|
||||||
|
$lang['a_movies'] = 'Filmovi';
|
||||||
|
$lang['a_tvshows'] = 'TV Serije';
|
||||||
|
$lang['a_all'] = 'All';
|
||||||
|
$lang['a_watched'] = 'Watched';
|
||||||
|
$lang['a_unwatched'] = 'Unwatched';
|
||||||
|
$lang['a_hidden'] = 'Hidden';
|
||||||
|
$lang['a_visible'] = 'Visible';
|
||||||
|
$lang['a_title'] = 'Naslov';
|
||||||
|
$lang['a_cache'] = 'Cache';
|
||||||
|
$lang['a_cached_posters'] = 'Cached posters';
|
||||||
|
$lang['a_cached_fanarts'] = 'Cached fanarts';
|
||||||
|
$lang['a_cached_actors'] = 'Cached actors';
|
||||||
|
$lang['a_cached_exthumb'] = 'Cached extra thumbnails';
|
||||||
|
$lang['a_server_settings'] = 'Server Settings';
|
||||||
|
$lang['a_files_md5'] = 'File checksums';
|
||||||
|
$lang['a_server_directories'] = 'Directories';
|
||||||
|
$lang['a_exists'] = 'Exists';
|
||||||
|
$lang['a_not_exists'] = 'Not exists';
|
||||||
|
$lang['a_match'] = 'Match';
|
||||||
|
$lang['a_mismatch'] = 'Mismatch';
|
||||||
|
$lang['a_poster'] = 'Poster';
|
||||||
|
$lang['a_fanart'] = 'Fanart';
|
||||||
|
$lang['a_trailer'] = 'Trailer';
|
||||||
|
$lang['a_delete'] = 'Delete';
|
||||||
|
$lang['a_delete_all'] = 'Delete All';
|
||||||
|
$lang['a_delete_poster'] = 'Delete Poster';
|
||||||
|
$lang['a_delete_fanart'] = 'Delete Fanart';
|
||||||
|
$lang['a_set_sync'] = 'Synchronization';
|
||||||
|
$lang['a_set_main'] = 'Main';
|
||||||
|
$lang['a_set_panel_left'] = 'Left panel';
|
||||||
|
$lang['a_set_panel_top'] = 'Top panel';
|
||||||
|
$lang['a_xbmc_thumbs'] = 'Sync actors thumb';
|
||||||
|
$lang['a_xbmc_posters'] = 'Sync posters';
|
||||||
|
$lang['a_xbmc_fanarts'] = 'Sync fanarts';
|
||||||
|
$lang['a_xbmc_exthumbs'] = 'Sync extra thumbs';
|
||||||
|
$lang['a_xbmc_exthumbs_q'] = 'Extra thumbs quality';
|
||||||
|
$lang['a_xbmc_master'] = 'Sync only in Master Mode';
|
||||||
|
$lang['a_xbmc_auto_conf_remote'] = 'Auto configure settings for remote';
|
||||||
|
$lang['a_site_name'] = 'Site title';
|
||||||
|
$lang['a_language'] = 'Language';
|
||||||
|
$lang['a_theme'] = 'Theme';
|
||||||
|
$lang['a_select_media_header'] = 'Auto hide Select Media header if both media are not available';
|
||||||
|
$lang['a_view'] = 'Default View';
|
||||||
|
$lang['a_view_default'] = 'Default';
|
||||||
|
$lang['a_view_list'] = 'List';
|
||||||
|
$lang['a_view_sposter'] = 'Small Poster';
|
||||||
|
$lang['a_view_bposter'] = 'Big Poster';
|
||||||
|
$lang['a_per_page'] = 'Item per page';
|
||||||
|
$lang['a_default_sort'] = 'Default sorting';
|
||||||
|
$lang['a_default_watch'] = 'Default watched status';
|
||||||
|
$lang['a_panel_top_limit'] = 'Item to loop in Top panel';
|
||||||
|
$lang['a_panel_top_time'] = 'Panel top changeing time (sec.)';
|
||||||
|
$lang['a_panel_top'] = 'Panel top';
|
||||||
|
$lang['a_panel_view'] = 'Panel view';
|
||||||
|
$lang['a_watched_status'] = 'Watched status';
|
||||||
|
$lang['a_show_playcount'] = 'Show play count';
|
||||||
|
$lang['a_live_search'] = 'Live search';
|
||||||
|
$lang['a_live_search_max_res'] = 'Live search max results';
|
||||||
|
$lang['a_panel_overall'] = 'Overall panel';
|
||||||
|
$lang['a_panel_genre'] = 'Genre panel';
|
||||||
|
$lang['a_panel_year'] = 'Year panel';
|
||||||
|
$lang['a_panel_country'] = 'Country panel';
|
||||||
|
$lang['a_panel_set'] = 'Set panel';
|
||||||
|
$lang['a_panel_studio'] = 'Studio panel';
|
||||||
|
$lang['a_show_fanart'] = 'Show fanart in background';
|
||||||
|
$lang['a_fadeout_fanart'] = 'Fadeout fanart when mouse leave movie window';
|
||||||
|
$lang['a_show_trailer'] = 'Show trailer';
|
||||||
|
$lang['a_show_facebook'] = 'Show facebook buttons';
|
||||||
|
$lang['a_protect_site'] = 'Protect site';
|
||||||
|
$lang['a_mod_rewrite'] = 'Enable mod rewrite';
|
||||||
|
$lang['a_save'] = 'Save';
|
||||||
|
$lang['a_setting_on'] = 'On';
|
||||||
|
$lang['a_setting_off'] = 'Off';
|
||||||
|
$lang['a_setting_on_expanded'] = 'On, expanded';
|
||||||
|
$lang['a_setting_on_collapsed'] = 'On, collapsed';
|
||||||
|
$lang['a_saved'] = 'Settings saved';
|
||||||
|
$lang['a_not_saved'] = 'Settings not saved';
|
||||||
|
$lang['a_user'] = 'User';
|
||||||
|
$lang['a_admin'] = 'Admin';
|
||||||
|
$lang['a_new_password'] = 'New password';
|
||||||
|
$lang['a_new_password_re'] = 'Re-type Password';
|
||||||
|
$lang['a_user_pass_changed'] = 'User password changed';
|
||||||
|
$lang['a_user_pass_min'] = 'User password must have minimum 4 letters';
|
||||||
|
$lang['a_user_pass_n_match'] = 'User password not match';
|
||||||
|
$lang['a_admin_pass_changed'] = 'Admin password changed';
|
||||||
|
$lang['a_admin_pass_min'] = 'Admin password must have minimum 4 letters';
|
||||||
|
$lang['a_admin_pass_n_match'] = 'Admin password not match';
|
||||||
|
$lang['a_token_change'] = 'Change';
|
||||||
|
$lang['a_token_changed'] = 'Token Changed';
|
||||||
|
$lang['a_error_form'] = 'Error in form';
|
||||||
|
$lang['a_reset'] = 'Reset';
|
||||||
|
$lang['a_banner_size'] = 'Size';
|
||||||
|
$lang['a_banner_bg'] = 'Background';
|
||||||
|
$lang['a_banner_last_played'] = 'Last Played';
|
||||||
|
$lang['a_banner_title'] = 'Naslov';
|
||||||
|
$lang['a_banner_o_title'] = 'Originaltitle';
|
||||||
|
$lang['a_banner_info'] = 'Info';
|
||||||
|
$lang['a_banner_stroke'] = 'Stroke';
|
||||||
|
$lang['a_banner_border'] = 'Border';
|
||||||
|
$lang['a_xbmc_settings'] = 'XBMC Settings';
|
||||||
|
$lang['a_xbmc_auto_conf_enabled'] = 'Auto configure remote settings is enabled. XBMC set below settings automatically';
|
||||||
|
$lang['a_xbmc_host'] = 'Host';
|
||||||
|
$lang['a_xbmc_port'] = 'Port';
|
||||||
|
$lang['a_xbmc_login'] = 'Login';
|
||||||
|
$lang['a_xbmc_pass'] = 'Password';
|
||||||
|
$lang['a_xbmc_saved'] = 'XBMC Settings saved';
|
||||||
|
$lang['a_xmbc_test'] = 'Test';
|
||||||
|
$lang['a_html_admin_panel'] = 'Admin Panel';
|
||||||
|
$lang['a_html_library'] = 'Library';
|
||||||
|
$lang['a_html_overall'] = 'Overall';
|
||||||
|
$lang['a_html_movie_list'] = 'Movie List';
|
||||||
|
$lang['a_html_tvshow_list'] = 'TVshow List';
|
||||||
|
$lang['a_html_settings'] = 'Settings';
|
||||||
|
$lang['a_html_password'] = 'Password';
|
||||||
|
$lang['a_html_change_token'] = 'Token';
|
||||||
|
$lang['a_html_banner'] = 'Banner';
|
||||||
|
$lang['a_html_logout'] = 'Logout';
|
||||||
|
|
||||||
|
/* ###############
|
||||||
|
* # INSTALL.PHP #
|
||||||
|
*/###############
|
||||||
|
|
||||||
|
$lang['ins_title'] = 'Install';
|
||||||
|
$lang['ins_lang_file'] = 'Choose language';
|
||||||
|
$lang['ins_next'] = 'Next';
|
||||||
|
$lang['ins_license'] = 'License';
|
||||||
|
$lang['ins_accept'] = 'Accept';
|
||||||
|
$lang['ins_finished'] = 'Installation Finished';
|
||||||
|
$lang['ins_error'] = 'Installation Error';
|
||||||
|
$lang['ins_file_db_ex'] = 'File db.php exist, but can\'t write into it, file CHMOD is';
|
||||||
|
$lang['ins_file_db_not'] = 'Can\'t create db.php file, root directory CHMOD is';
|
||||||
|
$lang['ins_file_db_cre'] = 'You can create db.php file manually in root directory and past this code into it';
|
||||||
|
$lang['ins_admin'] = 'Admin Panel';
|
||||||
|
$lang['ins_db_exist'] = 'Database configuration file already exists. Continue will overwrite the existing settings. If you successful configured database please delete install.php file';
|
||||||
|
$lang['ins_could_connect'] = 'Could not connect to database';
|
||||||
|
$lang['inst_conn_db'] = 'Database';
|
||||||
|
$lang['inst_server'] = 'Server';
|
||||||
|
$lang['inst_port'] = 'Port';
|
||||||
|
$lang['inst_login'] = 'Login';
|
||||||
|
$lang['inst_pass'] = 'Password';
|
||||||
|
$lang['inst_database'] = 'Database';
|
||||||
|
|
||||||
|
?>
|
11
movielib/lang/sr/readme
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
The script automatically synchronizes and displays XBMC/Kodi library.
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
- Server with Apache server, PHP 5, MySql 5
|
||||||
|
- Addon "Movielib" for XBMC/Kodi https://raw.github.com/Regss/xbmc-regss-repository/master/repo/repository.regss/repository.regss-1.2.1.zip
|
||||||
|
|
||||||
|
Default passwords:
|
||||||
|
Access to site: user
|
||||||
|
Access to admin panel: admin
|
||||||
|
|
||||||
|
In Panel Admin section you need to generate token and put it to addon settings with URL to script.
|
91
movielib/login.php
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
<?PHP
|
||||||
|
session_start();
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
|
||||||
|
include('config.php');
|
||||||
|
include('function.php');
|
||||||
|
|
||||||
|
// connect to database
|
||||||
|
connect($mysql_ml);
|
||||||
|
|
||||||
|
$setting = get_settings();
|
||||||
|
include('lang/' . $setting['language'] . '/lang.php');
|
||||||
|
|
||||||
|
if (!isset($_GET['login'])) {
|
||||||
|
header('Location:login.php?login=user');
|
||||||
|
die('Login script internal error');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Logout
|
||||||
|
if ($_GET['login'] === 'admin_logout') {
|
||||||
|
unset($_SESSION['logged_admin']);
|
||||||
|
header('Location:index.php');
|
||||||
|
die('Login script internal error');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check password
|
||||||
|
$output = '';
|
||||||
|
|
||||||
|
// admin
|
||||||
|
if ($_GET['login'] === 'admin') {
|
||||||
|
$admin_check_sql = 'SELECT * FROM users WHERE login = "admin"';
|
||||||
|
$admin_check_result = mysql_q($admin_check_sql);
|
||||||
|
while ($admin_check = mysql_fetch_array($admin_check_result)) {
|
||||||
|
if (isset($_POST['movielib_admin_pass']) && md5($_POST['movielib_admin_pass']) == $admin_check['password']) {
|
||||||
|
$_SESSION['logged_admin'] = true;
|
||||||
|
header('Location:admin.php');
|
||||||
|
die('Login script internal error');
|
||||||
|
} else {
|
||||||
|
if (isset($_POST['movielib_admin_pass'])) {
|
||||||
|
$output = '<div class="panel_info">' . $lang['l_wrong_pass'] . '</div>';
|
||||||
|
}
|
||||||
|
$login_info = $lang['l_pass_admin'];
|
||||||
|
$input_action = 'login.php?login=admin';
|
||||||
|
$input_name = 'movielib_admin_pass';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// user
|
||||||
|
if ($_GET['login'] === 'user') {
|
||||||
|
$user_check_sql = 'SELECT * FROM users WHERE login = "user"';
|
||||||
|
$user_check_result = mysql_q($user_check_sql);
|
||||||
|
while ($user_check = mysql_fetch_array($user_check_result)) {
|
||||||
|
if (isset($_POST['movielib_pass']) && md5($_POST['movielib_pass']) == $user_check['password']) {
|
||||||
|
$_SESSION['logged'] = true;
|
||||||
|
header('Location:index.php');
|
||||||
|
} else {
|
||||||
|
if (isset($_POST['movielib_pass'])) {
|
||||||
|
$output = '<div class="panel_info">' . $lang['l_wrong_pass'] . '</div>';
|
||||||
|
}
|
||||||
|
$login_info = $lang['l_pass'];
|
||||||
|
$input_action = 'login.php?login=user';
|
||||||
|
$input_name = 'movielib_pass';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title><?PHP echo $setting['site_name'] ?> - <?PHP echo $lang['l_html_login'] ?></title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<!--[if IE]>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
|
<![endif]-->
|
||||||
|
<link type="image/x-icon" href="templates/<?PHP echo $setting['theme'] ?>/img/icon.ico" rel="icon" media="all" />
|
||||||
|
<link type="text/css" href="templates/<?PHP echo $setting['theme'] ?>/css/style.css" rel="stylesheet" media="all" />
|
||||||
|
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
|
||||||
|
<script type="text/javascript" src="js/jquery.script.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<?PHP echo $output ?>
|
||||||
|
<div class="container_login">
|
||||||
|
<div class="bold orange"><?PHP echo $login_info ?></div>
|
||||||
|
<form action="<?PHP echo $input_action ?>" method="post"><br />
|
||||||
|
<input type="password" name="<?PHP echo $input_name ?>"><br /><br />
|
||||||
|
<input type="submit" value="OK">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
114
movielib/sync.php
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
<?PHP
|
||||||
|
session_start();
|
||||||
|
header('Content-type: text/html; charset=utf-8');
|
||||||
|
|
||||||
|
include('config.php');
|
||||||
|
include('function.php');
|
||||||
|
|
||||||
|
// connect to database
|
||||||
|
connect($mysql_ml);
|
||||||
|
|
||||||
|
// get settings from db
|
||||||
|
$setting = get_settings();
|
||||||
|
include('lang/' . $setting['language'] . '/lang.php');
|
||||||
|
|
||||||
|
/* #################
|
||||||
|
* # SYNC DATABASE #
|
||||||
|
*/#################
|
||||||
|
|
||||||
|
// check settings
|
||||||
|
if ($option == 'checksettings') {
|
||||||
|
$s = $setting;
|
||||||
|
$s['token_md5'] = md5($setting['token']);
|
||||||
|
$s['version'] = $version;
|
||||||
|
$s['GD'] = (extension_loaded('gd') && function_exists('gd_info') ? 'On' : 'Off');
|
||||||
|
$s['CURL'] = (function_exists('curl_version') ? 'On' : 'Off');
|
||||||
|
$s['MAX_EXECUTION_TIME'] = ini_get('max_execution_time');
|
||||||
|
$s['UPLOAD_MAX_FILESIZE'] = ini_get('upload_max_filesize');
|
||||||
|
$s['POST_MAX_SIZE'] = ini_get('post_max_size');
|
||||||
|
$s['ALLOW_URL_FOPEN'] = (ini_get('allow_url_fopen') == 1 ? 'true' : 'false');
|
||||||
|
unset($s['token']);
|
||||||
|
echo json_encode($s);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token == $setting['token']) {
|
||||||
|
|
||||||
|
switch ($option) {
|
||||||
|
// auto config remote
|
||||||
|
case 'autoconfremote':
|
||||||
|
auto_conf_remote($_POST);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// generate banner
|
||||||
|
case 'generatebanner':
|
||||||
|
create_banner($lang, 'banner.jpg', $setting['banner']);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// get hash
|
||||||
|
case 'showhash':
|
||||||
|
$hash_sql = 'SELECT * FROM hash';
|
||||||
|
$hash_res = mysql_q($hash_sql);
|
||||||
|
$hash = mysql_fetch_assoc($hash_res);
|
||||||
|
echo json_encode($hash);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// update hash
|
||||||
|
case 'updatehash':
|
||||||
|
foreach ($_POST as $table => $hash) {
|
||||||
|
$update_sql = 'UPDATE `hash` SET ' . $table . ' = "' . $hash . '"';
|
||||||
|
}
|
||||||
|
$update_res = mysql_q($update_sql);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// clean dataabse
|
||||||
|
case 'cleandb':
|
||||||
|
clean_db();
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* #########
|
||||||
|
* # VIDEO #
|
||||||
|
*/#########
|
||||||
|
case 'showvideo':
|
||||||
|
$cols = array('id', 'hash');
|
||||||
|
echo show($cols, $_GET['table']);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'addvideo':
|
||||||
|
if (isset($_POST['id'])) {
|
||||||
|
sync_delete(array($_POST['id']), $_GET['t']);
|
||||||
|
sync_add($mysql_tables);
|
||||||
|
} else {
|
||||||
|
echo 'No POST data';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'removevideo':
|
||||||
|
sync_delete($_POST, $_GET['t']);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'updatevideo':
|
||||||
|
if (isset($_POST['id'])) {
|
||||||
|
sync_delete(array($_POST['id']), $_GET['t']);
|
||||||
|
sync_add($mysql_tables);
|
||||||
|
} else {
|
||||||
|
echo 'No POST data';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* ##########
|
||||||
|
* # IMAGES #
|
||||||
|
*/##########
|
||||||
|
case 'showimages':
|
||||||
|
show_images();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'addimages':
|
||||||
|
add_images($_POST);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'removeimages':
|
||||||
|
remove_images($_POST);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
BIN
movielib/templates/default/css/font/vjs.eot
Normal file
65
movielib/templates/default/css/font/vjs.svg
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<metadata>
|
||||||
|
This is a custom SVG font generated by IcoMoon.
|
||||||
|
<iconset grid="16"></iconset>
|
||||||
|
</metadata>
|
||||||
|
<defs>
|
||||||
|
<font id="VideoJS" horiz-adv-x="512" >
|
||||||
|
<font-face units-per-em="512" ascent="480" descent="-32" />
|
||||||
|
<missing-glyph horiz-adv-x="512" />
|
||||||
|
<glyph class="hidden" unicode="" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
|
||||||
|
<glyph unicode="" d="M 64,416L 224,416L 224,32L 64,32zM 288,416L 448,416L 448,32L 288,32z" />
|
||||||
|
<glyph unicode="" d="M 200.666,440.666 C 213.5,453.5 224,449.15 224,431 L 224,17 C 224-1.15 213.5-5.499 200.666,7.335 L 80,128 L 0,128 L 0,320 L 80,320 L 200.666,440.666 Z" />
|
||||||
|
<glyph unicode="" d="M 274.51,109.49c-6.143,0-12.284,2.343-16.971,7.029c-9.373,9.373-9.373,24.568,0,33.941
|
||||||
|
c 40.55,40.55, 40.55,106.529,0,147.078c-9.373,9.373-9.373,24.569,0,33.941c 9.373,9.372, 24.568,9.372, 33.941,0
|
||||||
|
c 59.265-59.265, 59.265-155.696,0-214.961C 286.794,111.833, 280.652,109.49, 274.51,109.49zM 200.666,440.666 C 213.5,453.5 224,449.15 224,431 L 224,17 C 224-1.15 213.5-5.499 200.666,7.335 L 80,128 L 0,128 L 0,320 L 80,320 L 200.666,440.666 Z" />
|
||||||
|
<glyph unicode="" d="M 359.765,64.235c-6.143,0-12.284,2.343-16.971,7.029c-9.372,9.372-9.372,24.568,0,33.941
|
||||||
|
c 65.503,65.503, 65.503,172.085,0,237.588c-9.372,9.373-9.372,24.569,0,33.941c 9.372,9.371, 24.569,9.372, 33.941,0
|
||||||
|
C 417.532,335.938, 440,281.696, 440,224c0-57.695-22.468-111.938-63.265-152.735C 372.049,66.578, 365.907,64.235, 359.765,64.235zM 274.51,109.49c-6.143,0-12.284,2.343-16.971,7.029c-9.373,9.373-9.373,24.568,0,33.941
|
||||||
|
c 40.55,40.55, 40.55,106.529,0,147.078c-9.373,9.373-9.373,24.569,0,33.941c 9.373,9.372, 24.568,9.372, 33.941,0
|
||||||
|
c 59.265-59.265, 59.265-155.696,0-214.961C 286.794,111.833, 280.652,109.49, 274.51,109.49zM 200.666,440.666 C 213.5,453.5 224,449.15 224,431 L 224,17 C 224-1.15 213.5-5.499 200.666,7.335 L 80,128 L 0,128 L 0,320 L 80,320 L 200.666,440.666 Z" />
|
||||||
|
<glyph unicode="" d="M 445.020,18.98c-6.143,0-12.284,2.343-16.971,7.029c-9.372,9.373-9.372,24.568,0,33.941
|
||||||
|
C 471.868,103.771, 496.001,162.030, 496.001,224c0,61.969-24.133,120.229-67.952,164.049c-9.372,9.373-9.372,24.569,0,33.941
|
||||||
|
c 9.372,9.372, 24.569,9.372, 33.941,0c 52.885-52.886, 82.011-123.2, 82.011-197.99c0-74.791-29.126-145.104-82.011-197.99
|
||||||
|
C 457.304,21.323, 451.162,18.98, 445.020,18.98zM 359.765,64.235c-6.143,0-12.284,2.343-16.971,7.029c-9.372,9.372-9.372,24.568,0,33.941
|
||||||
|
c 65.503,65.503, 65.503,172.085,0,237.588c-9.372,9.373-9.372,24.569,0,33.941c 9.372,9.371, 24.569,9.372, 33.941,0
|
||||||
|
C 417.532,335.938, 440,281.696, 440,224c0-57.695-22.468-111.938-63.265-152.735C 372.049,66.578, 365.907,64.235, 359.765,64.235zM 274.51,109.49c-6.143,0-12.284,2.343-16.971,7.029c-9.373,9.373-9.373,24.568,0,33.941
|
||||||
|
c 40.55,40.55, 40.55,106.529,0,147.078c-9.373,9.373-9.373,24.569,0,33.941c 9.373,9.372, 24.568,9.372, 33.941,0
|
||||||
|
c 59.265-59.265, 59.265-155.696,0-214.961C 286.794,111.833, 280.652,109.49, 274.51,109.49zM 200.666,440.666 C 213.5,453.5 224,449.15 224,431 L 224,17 C 224-1.15 213.5-5.499 200.666,7.335 L 80,128 L 0,128 L 0,320 L 80,320 L 200.666,440.666 Z" horiz-adv-x="544" />
|
||||||
|
<glyph unicode="" d="M 256,480L 96,224L 256-32L 416,224 z" />
|
||||||
|
<glyph unicode="" d="M 0,480 L 687.158,480 L 687.158-35.207 L 0-35.207 L 0,480 z M 622.731,224.638 C 621.878,314.664 618.46,353.922 597.131,381.656 C 593.291,387.629 586.038,391.042 580.065,395.304 C 559.158,410.669 460.593,416.211 346.247,416.211 C 231.896,416.211 128.642,410.669 108.162,395.304 C 101.762,391.042 94.504,387.629 90.242,381.656 C 69.331,353.922 66.349,314.664 65.069,224.638 C 66.349,134.607 69.331,95.353 90.242,67.62 C 94.504,61.22 101.762,58.233 108.162,53.967 C 128.642,38.18 231.896,33.060 346.247,32.207 C 460.593,33.060 559.158,38.18 580.065,53.967 C 586.038,58.233 593.291,61.22 597.131,67.62 C 618.46,95.353 621.878,134.607 622.731,224.638 z M 331.179,247.952 C 325.389,318.401 287.924,359.905 220.901,359.905 C 159.672,359.905 111.54,304.689 111.54,215.965 C 111.54,126.859 155.405,71.267 227.907,71.267 C 285.79,71.267 326.306,113.916 332.701,184.742 L 263.55,184.742 C 260.81,158.468 249.843,138.285 226.69,138.285 C 190.136,138.285 183.435,174.462 183.435,212.92 C 183.435,265.854 198.665,292.886 223.951,292.886 C 246.492,292.886 260.81,276.511 262.939,247.952 L 331.179,247.952 z M 570.013,247.952 C 564.228,318.401 526.758,359.905 459.74,359.905 C 398.507,359.905 350.379,304.689 350.379,215.965 C 350.379,126.859 394.244,71.267 466.746,71.267 C 524.625,71.267 565.14,113.916 571.536,184.742 L 502.384,184.742 C 499.649,158.468 488.682,138.285 465.529,138.285 C 428.971,138.285 422.27,174.462 422.27,212.92 C 422.27,265.854 437.504,292.886 462.785,292.886 C 485.327,292.886 499.649,276.511 501.778,247.952 L 570.013,247.952 z " horiz-adv-x="687.158" />
|
||||||
|
<glyph unicode="" d="M 64,416L 448,416L 448,32L 64,32z" />
|
||||||
|
<glyph unicode="" d="M 192,416A64,64 12780 1 1 320,416A64,64 12780 1 1 192,416zM 327.765,359.765A64,64 12780 1 1 455.765,359.765A64,64 12780 1 1 327.765,359.765zM 416,224A32,32 12780 1 1 480,224A32,32 12780 1 1 416,224zM 359.765,88.235A32,32 12780 1 1 423.765,88.23500000000001A32,32 12780 1 1 359.765,88.23500000000001zM 224.001,32A32,32 12780 1 1 288.001,32A32,32 12780 1 1 224.001,32zM 88.236,88.235A32,32 12780 1 1 152.236,88.23500000000001A32,32 12780 1 1 88.236,88.23500000000001zM 72.236,359.765A48,48 12780 1 1 168.236,359.765A48,48 12780 1 1 72.236,359.765zM 28,224A36,36 12780 1 1 100,224A36,36 12780 1 1 28,224z" />
|
||||||
|
<glyph unicode="" d="M 224,192 L 224-16 L 144,64 L 48-32 L 0,16 L 96,112 L 16,192 ZM 512,432 L 416,336 L 496,256 L 288,256 L 288,464 L 368,384 L 464,480 Z" />
|
||||||
|
<glyph unicode="" d="M 256,448 C 397.385,448 512,354.875 512,240 C 512,125.124 397.385,32 256,32 C 242.422,32 229.095,32.867 216.088,34.522 C 161.099-20.467 95.463-30.328 32-31.776 L 32-18.318 C 66.268-1.529 96,29.052 96,64 C 96,68.877 95.621,73.665 94.918,78.348 C 37.020,116.48 0,174.725 0,240 C 0,354.875 114.615,448 256,448 Z" />
|
||||||
|
<glyph unicode="" d="M 256,480C 114.615,480,0,365.385,0,224s 114.615-256, 256-256s 256,114.615, 256,256S 397.385,480, 256,480z M 256,352
|
||||||
|
c 70.692,0, 128-57.308, 128-128s-57.308-128-128-128s-128,57.308-128,128S 185.308,352, 256,352z M 408.735,71.265
|
||||||
|
C 367.938,30.468, 313.695,8, 256,8c-57.696,0-111.938,22.468-152.735,63.265C 62.468,112.062, 40,166.304, 40,224
|
||||||
|
c0,57.695, 22.468,111.938, 63.265,152.735l 33.941-33.941c0,0,0,0,0,0c-65.503-65.503-65.503-172.085,0-237.588
|
||||||
|
C 168.937,73.475, 211.125,56, 256,56c 44.874,0, 87.062,17.475, 118.794,49.206c 65.503,65.503, 65.503,172.084,0,237.588l 33.941,33.941
|
||||||
|
C 449.532,335.938, 472,281.695, 472,224C 472,166.304, 449.532,112.062, 408.735,71.265z" />
|
||||||
|
<glyph unicode="" d="M 512,224c-0.639,33.431-7.892,66.758-21.288,97.231c-13.352,30.5-32.731,58.129-56.521,80.96
|
||||||
|
c-23.776,22.848-51.972,40.91-82.492,52.826C 321.197,466.979, 288.401,472.693, 256,472c-32.405-0.641-64.666-7.687-94.167-20.678
|
||||||
|
c-29.524-12.948-56.271-31.735-78.367-54.788c-22.112-23.041-39.58-50.354-51.093-79.899C 20.816,287.104, 15.309,255.375, 16,224
|
||||||
|
c 0.643-31.38, 7.482-62.574, 20.067-91.103c 12.544-28.55, 30.738-54.414, 53.055-75.774c 22.305-21.377, 48.736-38.252, 77.307-49.36
|
||||||
|
C 194.988-3.389, 225.652-8.688, 256-8c 30.354,0.645, 60.481,7.277, 88.038,19.457c 27.575,12.141, 52.558,29.74, 73.183,51.322
|
||||||
|
c 20.641,21.57, 36.922,47.118, 47.627,74.715c 6.517,16.729, 10.94,34.2, 13.271,51.899c 0.623-0.036, 1.249-0.060, 1.881-0.060
|
||||||
|
c 17.673,0, 32,14.326, 32,32c0,0.898-0.047,1.786-0.119,2.666L 512,223.999 z M 461.153,139.026c-11.736-26.601-28.742-50.7-49.589-70.59
|
||||||
|
c-20.835-19.905-45.5-35.593-72.122-45.895C 312.828,12.202, 284.297,7.315, 256,8c-28.302,0.649-56.298,6.868-81.91,18.237
|
||||||
|
c-25.625,11.333-48.842,27.745-67.997,47.856c-19.169,20.099-34.264,43.882-44.161,69.529C 51.997,169.264, 47.318,196.729, 48,224
|
||||||
|
c 0.651,27.276, 6.664,54.206, 17.627,78.845c 10.929,24.65, 26.749,46.985, 46.123,65.405c 19.365,18.434, 42.265,32.935, 66.937,42.428
|
||||||
|
C 203.356,420.208, 229.755,424.681, 256,424c 26.25-0.653, 52.114-6.459, 75.781-17.017c 23.676-10.525, 45.128-25.751, 62.812-44.391
|
||||||
|
c 17.698-18.629, 31.605-40.647, 40.695-64.344C 444.412,274.552, 448.679,249.219, 448,224l 0.119,0 c-0.072-0.88-0.119-1.768-0.119-2.666
|
||||||
|
c0-16.506, 12.496-30.087, 28.543-31.812C 473.431,172.111, 468.278,155.113, 461.153,139.026z" />
|
||||||
|
<glyph unicode="" d="M 256,480 C 116.626,480 3.271,368.619 0.076,230.013 C 3.036,350.945 94.992,448 208,448 C 322.875,448 416,347.712 416,224 C 416,197.49 437.49,176 464,176 C 490.51,176 512,197.49 512,224 C 512,365.385 397.385,480 256,480 ZM 256-32 C 395.374-32 508.729,79.381 511.924,217.987 C 508.964,97.055 417.008,0 304,0 C 189.125,0 96,100.288 96,224 C 96,250.51 74.51,272 48,272 C 21.49,272 0,250.51 0,224 C 0,82.615 114.615-32 256-32 Z" />
|
||||||
|
<glyph unicode="" d="M 432,128c-22.58,0-42.96-9.369-57.506-24.415L 158.992,211.336C 159.649,215.462, 160,219.689, 160,224
|
||||||
|
s-0.351,8.538-1.008,12.663l 215.502,107.751C 389.040,329.369, 409.42,320, 432,320c 44.183,0, 80,35.817, 80,80S 476.183,480, 432,480
|
||||||
|
s-80-35.817-80-80c0-4.311, 0.352-8.538, 1.008-12.663L 137.506,279.585C 122.96,294.63, 102.58,304, 80,304c-44.183,0-80-35.818-80-80
|
||||||
|
c0-44.184, 35.817-80, 80-80c 22.58,0, 42.96,9.369, 57.506,24.414l 215.502-107.751C 352.352,56.538, 352,52.311, 352,48
|
||||||
|
c0-44.184, 35.817-80, 80-80s 80,35.816, 80,80C 512,92.182, 476.183,128, 432,128z" />
|
||||||
|
<glyph unicode="" d="M 96,416L 416,224L 96,32 z" />
|
||||||
|
<glyph unicode="" d="M 512,480 L 512,272 L 432,352 L 336,256 L 288,304 L 384,400 L 304,480 ZM 224,144 L 128,48 L 208-32 L 0-32 L 0,176 L 80,96 L 176,192 Z" />
|
||||||
|
<glyph unicode=" " horiz-adv-x="256" />
|
||||||
|
</font></defs></svg>
|
After Width: | Height: | Size: 9.6 KiB |
BIN
movielib/templates/default/css/font/vjs.ttf
Normal file
BIN
movielib/templates/default/css/font/vjs.woff
Normal file
87
movielib/templates/default/css/style.css
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
|
body { background-color:#000; font-family:Arial, sans-serif; font-size:11px; color:#ddd; border:0px; padding:0px; margin:0px; outline:none; }
|
||||||
|
#background { position:fixed; top:0; left:0; z-index:-10; min-width:100%; min-height:100%; }
|
||||||
|
img { border:0px; }
|
||||||
|
|
||||||
|
a:link { color:#999; text-decoration:none; }
|
||||||
|
a:visited { color:#999; text-decoration:none; }
|
||||||
|
a:hover { color:#FFF; text-decoration:none; }
|
||||||
|
a:active { color:#FFF; text-decoration:none; }
|
||||||
|
|
||||||
|
.bold { font-weight:bold; }
|
||||||
|
.orange { color:#ff7300; }
|
||||||
|
.text_left { text-align:left; }
|
||||||
|
.text_right { text-align:right; }
|
||||||
|
|
||||||
|
input, select { background-color:#222; color:#ddd; border:1px solid #000; font-size:11px; width:160px; height:20px; }
|
||||||
|
.panel_info { border:3px solid #00cc00; background-color:#66ff33; font-weight:bold; color:#000; padding:5px; }
|
||||||
|
|
||||||
|
.container { background-color:#111; border:1px solid #333; border-top:0px; width:800px; overflow:hidden; margin:auto; padding-bottom:20px; opacity:0.9; }
|
||||||
|
.container_login { width:300px; margin:auto; background-color:#111; border:1px solid #333; margin-top:20px; padding:10px; text-align:center; }
|
||||||
|
|
||||||
|
#select_media { width:800px; margin:auto; overflow:hidden; color:#ff7300; padding-bottom:10px; font-family:Verdana, Tahoma, sans-serif; font-size:20px; font-weight:bold; text-align:center; }
|
||||||
|
#select_media a { display:block; width:399px; float:left; border-bottom:1px solid #333; border-left:1px solid #333; background-color:#000; padding: 10px 0px 10px 0px; }
|
||||||
|
#select_media a.selected:link { color:#FF7300; }
|
||||||
|
#select_media a.selected:visited { color:#FF7300; }
|
||||||
|
#select_media a.selected:hover { color:#FFF; }
|
||||||
|
#select_media a.selected:active { color:#FFF; }
|
||||||
|
|
||||||
|
#panel_top, #panel_title { width:728px; overflow:hidden; margin:auto; }
|
||||||
|
.panel_top_item_title { float:left; color:#ff7300; font-weight:bold; padding-top:3px; padding-left:4px; background-color:#000; width:138px; height:17px; margin-left:20px; margin-right:20px; }
|
||||||
|
.panel_top_item { border:1px solid #000; width:140px; height:198px; margin-left:20px; margin-right:20px; overflow:hidden; float:left; }
|
||||||
|
.panel_top_item img { display:block; width:140px; }
|
||||||
|
|
||||||
|
#panel_left { width:140px; float:left; margin-left:10px; margin-top:5px; }
|
||||||
|
.panel_box_title { border:1px solid #222; font-weight:bold; text-align:center; background-color:#000; padding:2px; margin-top:5px; cursor:pointer; }
|
||||||
|
.panel_box { padding:5px; border:1px solid #000; border-top:0px; background-color:#222; }
|
||||||
|
.panel_box ul, .panel_box li, .panel_box a { display:block; list-style:none; margin:0; padding:0 }
|
||||||
|
|
||||||
|
#panel_right { width:630px; float:right; text-align:center; margin:10px; }
|
||||||
|
|
||||||
|
#panel_sort { text-align:center; background-color:#222; border:1px solid #000; margin-bottom:10px; }
|
||||||
|
#panel_sort a, #panel_sort span { display:inline-block; font-weight:bold; border:1px solid #333; background-color:#000; margin:5px 3px 5px 3px; padding:3px 10px 3px 10px; text-align:center; }
|
||||||
|
|
||||||
|
#panel_nav a, #panel_nav span { display:inline-block; font-weight:bold; border:1px solid #333; background-color:#000; margin:5px 3px 5px 3px; padding:3px 10px 3px 10px; text-align:center;}
|
||||||
|
|
||||||
|
#panel_view { margin-bottom:10px; font-weight:bold; overflow:hidden; }
|
||||||
|
#view_menu, #watch_menu { width:180px; float:right; margin-left:10px; }
|
||||||
|
#view_title, #views a, #views span, #watch_title, #watches a, #watches span { width:178px; display:block; background-color:#222; border:1px solid #000; padding: 4px 0px 4px 0px; }
|
||||||
|
#views, #watches { position:absolute; display:none; z-index:5; }
|
||||||
|
|
||||||
|
input.search { width:248px; }
|
||||||
|
#panel_search { margin-bottom:10px; overflow:hidden; text-align:right; }
|
||||||
|
#panel_input_search { width:252px; float:right; }
|
||||||
|
#panel_live_search { position:absolute; z-index:20; border:0px solid #000; background-color:#222; overflow:hidden; }
|
||||||
|
.live_search_box { width:248px; text-align:left; cursor:pointer; border:1px solid #000; margin:1px; font-size:10px; overflow: hidden; }
|
||||||
|
.live_search_title { width:181px; margin:3px; font-weight:bold; color:#ff7300; font-size:12px; white-space:nowrap; text-overflow:ellipsis; display: block; overflow:hidden }
|
||||||
|
.live_search_orig_title { width:181px; margin:3px; font-weight:bold; color:#aaaaaa; font-size:10px; white-space:nowrap; text-overflow:ellipsis; display: block; overflow:hidden }
|
||||||
|
.img_live_search { width:48px; height:68px; border:1px solid #fff; margin:5px; float:left; }
|
||||||
|
.live_hover { background-color: #333; }
|
||||||
|
|
||||||
|
#panel_filter { text-align:left; overflow:hidden; margin-top: 5px; margin-bottom:5px; }
|
||||||
|
#filter_text { float:left; margin-left: 8px; }
|
||||||
|
#filter_text span { color:#ff7300; font-weight:bold; }
|
||||||
|
#filter_delete_img { margin:2px 5px 0px 5px; float:left; }
|
||||||
|
|
||||||
|
#panel_list { overflow:hidden; }
|
||||||
|
|
||||||
|
#panel_remote { width:130px; background-color:#000; border:1px solid #333; position:fixed; margin-top:60px; margin-left:-100px; z-index:4; border-top-left-radius:10px; border-top-right-radius:10px; border-bottom-right-radius:10px; border-bottom-left-radius:10px; }
|
||||||
|
#r_left { float:left; margin:6px; width:90px; }
|
||||||
|
#r_left div { display:block; float:left; margin:2px; width:26px; height:26px; }
|
||||||
|
#r_left img { display:block; cursor:pointer; }
|
||||||
|
#r_right { float:right; margin-top:8px; margin-right:8px; }
|
||||||
|
|
||||||
|
#now_playing { max-width:450px; background-color:#000; border:1px solid #333; position:fixed; margin-top:300px; margin-left:-500px; padding:10px; z-index:4; border-top-left-radius:10px; border-top-right-radius:10px; border-bottom-right-radius:10px; border-bottom-left-radius:10px; }
|
||||||
|
#np_title { font-size:22px; margin-bottom:4px; font-weight:bold; color:#ddd; }
|
||||||
|
#bar { height:4px; background-color:#444; margin:4px; }
|
||||||
|
#prog { height:4px; background-color:#aaa; }
|
||||||
|
#np_d_time {font-size:14px; font-weight:bold; text-align:center; }
|
||||||
|
#now_playing img { display:block; width:120px; border: 1px solid #fff; float:left; margin:5px 5px 5px 0px; }
|
||||||
|
#np_d_title { font-size:20px; font-weight:bold; color:#ff7300; padding-left:4px; }
|
||||||
|
#np_d_otitle { font-size:16px; font-weight:bold; color:#555; padding-left:8px; }
|
||||||
|
#np_d_det { font-size:10px; float:left; max-width:310px; margin:5px; }
|
||||||
|
#np_d_det div { margin-bottom:2px; }
|
||||||
|
#np_d_det span { color:#ff7300; font-weight:bold; }
|
||||||
|
|
||||||
|
#panel_bottom { bottom:0px; text-align:right; color:#999; background-color:#111; margin-top:20px; padding:3px; padding-right:20px; }
|
767
movielib/templates/default/css/video.css
Normal file
@ -0,0 +1,767 @@
|
|||||||
|
/*!
|
||||||
|
Video.js Default Styles (http://videojs.com)
|
||||||
|
Version 4.3.0
|
||||||
|
Create your own skin at http://designer.videojs.com
|
||||||
|
*/
|
||||||
|
/* SKIN
|
||||||
|
================================================================================
|
||||||
|
The main class name for all skin-specific styles. To make your own skin,
|
||||||
|
replace all occurances of 'vjs-default-skin' with a new name. Then add your new
|
||||||
|
skin name to your video tag instead of the default skin.
|
||||||
|
e.g. <video class="video-js my-skin-name">
|
||||||
|
*/
|
||||||
|
.vjs-default-skin {
|
||||||
|
color: #cccccc;
|
||||||
|
}
|
||||||
|
/* Custom Icon Font
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
The control icons are from a custom font. Each icon corresponds to a character
|
||||||
|
(e.g. "\e001"). Font icons allow for easy scaling and coloring of icons.
|
||||||
|
*/
|
||||||
|
@font-face {
|
||||||
|
font-family: 'VideoJS';
|
||||||
|
src: url('font/vjs.eot');
|
||||||
|
src: url('font/vjs.eot?#iefix') format('embedded-opentype'), url('font/vjs.woff') format('woff'), url('font/vjs.ttf') format('truetype');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
/* Base UI Component Classes
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
/* Slider - used for Volume bar and Seek bar */
|
||||||
|
.vjs-default-skin .vjs-slider {
|
||||||
|
/* Replace browser focus hightlight with handle highlight */
|
||||||
|
outline: 0;
|
||||||
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 0;
|
||||||
|
/* background-color-with-alpha */
|
||||||
|
background-color: #333333;
|
||||||
|
background-color: rgba(51, 51, 51, 0.9);
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-slider:focus {
|
||||||
|
/* box-shadow */
|
||||||
|
-webkit-box-shadow: 0 0 2em #ffffff;
|
||||||
|
-moz-box-shadow: 0 0 2em #ffffff;
|
||||||
|
box-shadow: 0 0 2em #ffffff;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-slider-handle {
|
||||||
|
position: absolute;
|
||||||
|
/* Needed for IE6 */
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-slider-handle:before {
|
||||||
|
content: "\e009";
|
||||||
|
font-family: VideoJS;
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 1;
|
||||||
|
text-align: center;
|
||||||
|
text-shadow: 0em 0em 1em #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
/* Rotate the square icon to make a diamond */
|
||||||
|
/* transform */
|
||||||
|
-webkit-transform: rotate(-45deg);
|
||||||
|
-moz-transform: rotate(-45deg);
|
||||||
|
-ms-transform: rotate(-45deg);
|
||||||
|
-o-transform: rotate(-45deg);
|
||||||
|
transform: rotate(-45deg);
|
||||||
|
}
|
||||||
|
/* Control Bar
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
The default control bar that is a container for most of the controls.
|
||||||
|
*/
|
||||||
|
.vjs-default-skin .vjs-control-bar {
|
||||||
|
/* Start hidden */
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
/* Place control bar at the bottom of the player box/video.
|
||||||
|
If you want more margin below the control bar, add more height. */
|
||||||
|
bottom: 0;
|
||||||
|
/* Use left/right to stretch to 100% width of player div */
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
/* Height includes any margin you want above or below control items */
|
||||||
|
height: 3.0em;
|
||||||
|
/* background-color-with-alpha */
|
||||||
|
background-color: #000000;
|
||||||
|
background-color: rgba(0, 0, 0, 0.7);
|
||||||
|
}
|
||||||
|
/* Show the control bar only once the video has started playing */
|
||||||
|
.vjs-default-skin.vjs-has-started .vjs-control-bar {
|
||||||
|
display: block;
|
||||||
|
/* Visibility needed to make sure things hide in older browsers too. */
|
||||||
|
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
/* transition */
|
||||||
|
-webkit-transition: visibility 0.1s, opacity 0.1s;
|
||||||
|
-moz-transition: visibility 0.1s, opacity 0.1s;
|
||||||
|
-o-transition: visibility 0.1s, opacity 0.1s;
|
||||||
|
transition: visibility 0.1s, opacity 0.1s;
|
||||||
|
}
|
||||||
|
/* Hide the control bar when the video is playing and the user is inactive */
|
||||||
|
.vjs-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
|
||||||
|
display: block;
|
||||||
|
visibility: hidden;
|
||||||
|
opacity: 0;
|
||||||
|
/* transition */
|
||||||
|
-webkit-transition: visibility 1s, opacity 1s;
|
||||||
|
-moz-transition: visibility 1s, opacity 1s;
|
||||||
|
-o-transition: visibility 1s, opacity 1s;
|
||||||
|
transition: visibility 1s, opacity 1s;
|
||||||
|
}
|
||||||
|
.vjs-default-skin.vjs-controls-disabled .vjs-control-bar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.vjs-default-skin.vjs-using-native-controls .vjs-control-bar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* IE8 is flakey with fonts, and you have to change the actual content to force
|
||||||
|
fonts to show/hide properly.
|
||||||
|
- "\9" IE8 hack didn't work for this
|
||||||
|
- Found in XP IE8 from http://modern.ie. Does not show up in "IE8 mode" in IE9
|
||||||
|
*/
|
||||||
|
@media \0screen {
|
||||||
|
.vjs-default-skin.vjs-user-inactive.vjs-playing .vjs-control-bar :before {
|
||||||
|
content: "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* General styles for individual controls. */
|
||||||
|
.vjs-default-skin .vjs-control {
|
||||||
|
outline: none;
|
||||||
|
position: relative;
|
||||||
|
float: left;
|
||||||
|
text-align: center;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
height: 3.0em;
|
||||||
|
width: 4em;
|
||||||
|
}
|
||||||
|
/* FontAwsome button icons */
|
||||||
|
.vjs-default-skin .vjs-control:before {
|
||||||
|
font-family: VideoJS;
|
||||||
|
font-size: 1.5em;
|
||||||
|
line-height: 2;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
/* Replacement for focus outline */
|
||||||
|
.vjs-default-skin .vjs-control:focus:before,
|
||||||
|
.vjs-default-skin .vjs-control:hover:before {
|
||||||
|
text-shadow: 0em 0em 1em #ffffff;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-control:focus {
|
||||||
|
/* outline: 0; */
|
||||||
|
/* keyboard-only users cannot see the focus on several of the UI elements when
|
||||||
|
this is set to 0 */
|
||||||
|
|
||||||
|
}
|
||||||
|
/* Hide control text visually, but have it available for screenreaders */
|
||||||
|
.vjs-default-skin .vjs-control-text {
|
||||||
|
/* hide-visually */
|
||||||
|
border: 0;
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
height: 1px;
|
||||||
|
margin: -1px;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
position: absolute;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
/* Play/Pause
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
.vjs-default-skin .vjs-play-control {
|
||||||
|
width: 5em;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-play-control:before {
|
||||||
|
content: "\e001";
|
||||||
|
}
|
||||||
|
.vjs-default-skin.vjs-playing .vjs-play-control:before {
|
||||||
|
content: "\e002";
|
||||||
|
}
|
||||||
|
/* Volume/Mute
|
||||||
|
-------------------------------------------------------------------------------- */
|
||||||
|
.vjs-default-skin .vjs-mute-control,
|
||||||
|
.vjs-default-skin .vjs-volume-menu-button {
|
||||||
|
cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-mute-control:before,
|
||||||
|
.vjs-default-skin .vjs-volume-menu-button:before {
|
||||||
|
content: "\e006";
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-mute-control.vjs-vol-0:before,
|
||||||
|
.vjs-default-skin .vjs-volume-menu-button.vjs-vol-0:before {
|
||||||
|
content: "\e003";
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-mute-control.vjs-vol-1:before,
|
||||||
|
.vjs-default-skin .vjs-volume-menu-button.vjs-vol-1:before {
|
||||||
|
content: "\e004";
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-mute-control.vjs-vol-2:before,
|
||||||
|
.vjs-default-skin .vjs-volume-menu-button.vjs-vol-2:before {
|
||||||
|
content: "\e005";
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-volume-control {
|
||||||
|
width: 5em;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-volume-bar {
|
||||||
|
width: 5em;
|
||||||
|
height: 0.6em;
|
||||||
|
margin: 1.1em auto 0;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-volume-menu-button .vjs-menu-content {
|
||||||
|
height: 2.9em;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-volume-level {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 0.5em;
|
||||||
|
background: #DDDDDD;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-volume-bar .vjs-volume-handle {
|
||||||
|
width: 0.5em;
|
||||||
|
height: 0.5em;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-volume-handle:before {
|
||||||
|
font-size: 0.9em;
|
||||||
|
top: -0.2em;
|
||||||
|
left: -0.2em;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-volume-menu-button .vjs-menu .vjs-menu-content {
|
||||||
|
width: 6em;
|
||||||
|
left: -4em;
|
||||||
|
}
|
||||||
|
/* Progress
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
.vjs-default-skin .vjs-progress-control {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
width: auto;
|
||||||
|
font-size: 0.3em;
|
||||||
|
height: 1em;
|
||||||
|
/* Set above the rest of the controls. */
|
||||||
|
top: -1em;
|
||||||
|
/* Shrink the bar slower than it grows. */
|
||||||
|
/* transition */
|
||||||
|
-webkit-transition: all 0.4s;
|
||||||
|
-moz-transition: all 0.4s;
|
||||||
|
-o-transition: all 0.4s;
|
||||||
|
transition: all 0.4s;
|
||||||
|
}
|
||||||
|
/* On hover, make the progress bar grow to something that's more clickable.
|
||||||
|
This simply changes the overall font for the progress bar, and this
|
||||||
|
updates both the em-based widths and heights, as wells as the icon font */
|
||||||
|
.vjs-default-skin:hover .vjs-progress-control {
|
||||||
|
font-size: .9em;
|
||||||
|
/* Even though we're not changing the top/height, we need to include them in
|
||||||
|
the transition so they're handled correctly. */
|
||||||
|
|
||||||
|
/* transition */
|
||||||
|
-webkit-transition: all 0.2s;
|
||||||
|
-moz-transition: all 0.2s;
|
||||||
|
-o-transition: all 0.2s;
|
||||||
|
transition: all 0.2s;
|
||||||
|
}
|
||||||
|
/* Box containing play and load progresses. Also acts as seek scrubber. */
|
||||||
|
.vjs-default-skin .vjs-progress-holder {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* Progress Bars */
|
||||||
|
.vjs-default-skin .vjs-progress-holder .vjs-play-progress,
|
||||||
|
.vjs-default-skin .vjs-progress-holder .vjs-load-progress {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
/* Needed for IE6 */
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-play-progress {
|
||||||
|
/*
|
||||||
|
Using a data URI to create the white diagonal lines with a transparent
|
||||||
|
background. Surprisingly works in IE8.
|
||||||
|
Created using http://www.patternify.com
|
||||||
|
Changing the first color value will change the bar color.
|
||||||
|
Also using a paralax effect to make the lines move backwards.
|
||||||
|
The -50% left position makes that happen.
|
||||||
|
*/
|
||||||
|
|
||||||
|
background: #DDDDDD;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-load-progress {
|
||||||
|
background: #646464 /* IE8- Fallback */;
|
||||||
|
background: rgba(255, 255, 255, 0.4);
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-seek-handle {
|
||||||
|
width: 1.5em;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-seek-handle:before {
|
||||||
|
padding-top: 0.1em /* Minor adjustment */;
|
||||||
|
}
|
||||||
|
/* Time Display
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
.vjs-default-skin .vjs-time-controls {
|
||||||
|
font-size: 1em;
|
||||||
|
/* Align vertically by making the line height the same as the control bar */
|
||||||
|
line-height: 3em;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-current-time {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-duration {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
/* Remaining time is in the HTML, but not included in default design */
|
||||||
|
.vjs-default-skin .vjs-remaining-time {
|
||||||
|
display: none;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.vjs-time-divider {
|
||||||
|
float: left;
|
||||||
|
line-height: 3em;
|
||||||
|
}
|
||||||
|
/* Fullscreen
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
.vjs-default-skin .vjs-fullscreen-control {
|
||||||
|
width: 3.8em;
|
||||||
|
cursor: pointer;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-fullscreen-control:before {
|
||||||
|
content: "\e000";
|
||||||
|
}
|
||||||
|
/* Switch to the exit icon when the player is in fullscreen */
|
||||||
|
.vjs-default-skin.vjs-fullscreen .vjs-fullscreen-control:before {
|
||||||
|
content: "\e00b";
|
||||||
|
}
|
||||||
|
/* Big Play Button (play button at start)
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Positioning of the play button in the center or other corners can be done more
|
||||||
|
easily in the skin designer. http://designer.videojs.com/
|
||||||
|
*/
|
||||||
|
.vjs-default-skin .vjs-big-play-button {
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
font-size: 3.8em;
|
||||||
|
display: block;
|
||||||
|
z-index: 2;
|
||||||
|
position: absolute;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
margin: -50px 0px 0px -50px;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
cursor: pointer;
|
||||||
|
opacity: 1;
|
||||||
|
/* Need a slightly gray bg so it can be seen on black backgrounds */
|
||||||
|
/* background-color-with-alpha */
|
||||||
|
background-color: #000000;
|
||||||
|
background-color: rgba(0, 0, 0, 0.7);
|
||||||
|
border: 0.1em solid #aaaaaa;
|
||||||
|
/* border-radius */
|
||||||
|
-webkit-border-radius: 3em;
|
||||||
|
-moz-border-radius: 3em;
|
||||||
|
border-radius: 3em;
|
||||||
|
/* box-shadow */
|
||||||
|
-webkit-box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
|
||||||
|
-moz-box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
|
||||||
|
box-shadow: 0px 0px 1em rgba(255, 255, 255, 0.25);
|
||||||
|
/* transition */
|
||||||
|
-webkit-transition: all 0.4s;
|
||||||
|
-moz-transition: all 0.4s;
|
||||||
|
-o-transition: all 0.4s;
|
||||||
|
transition: all 0.4s;
|
||||||
|
}
|
||||||
|
/* Optionally center */
|
||||||
|
.vjs-default-skin.vjs-big-play-centered .vjs-big-play-button {
|
||||||
|
/* Center it horizontally */
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -2.1em;
|
||||||
|
/* Center it vertically */
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -1.4000000000000001em;
|
||||||
|
}
|
||||||
|
/* Hide if controls are disabled */
|
||||||
|
.vjs-default-skin.vjs-controls-disabled .vjs-big-play-button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* Hide when video starts playing */
|
||||||
|
.vjs-default-skin.vjs-has-started .vjs-big-play-button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* Hide on mobile devices. Remove when we stop using native controls
|
||||||
|
by default on mobile */
|
||||||
|
.vjs-default-skin.vjs-using-native-controls .vjs-big-play-button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.vjs-default-skin:hover .vjs-big-play-button,
|
||||||
|
.vjs-default-skin .vjs-big-play-button:focus {
|
||||||
|
outline: 0;
|
||||||
|
border-color: #fff;
|
||||||
|
/* IE8 needs a non-glow hover state */
|
||||||
|
background-color: #505050;
|
||||||
|
background-color: rgba(50, 50, 50, 0.75);
|
||||||
|
/* box-shadow */
|
||||||
|
-webkit-box-shadow: 0 0 3em #ffffff;
|
||||||
|
-moz-box-shadow: 0 0 3em #ffffff;
|
||||||
|
box-shadow: 0 0 3em #ffffff;
|
||||||
|
/* transition */
|
||||||
|
-webkit-transition: all 0s;
|
||||||
|
-moz-transition: all 0s;
|
||||||
|
-o-transition: all 0s;
|
||||||
|
transition: all 0s;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-big-play-button:before {
|
||||||
|
content: "\e001";
|
||||||
|
font-family: VideoJS;
|
||||||
|
/* In order to center the play icon vertically we need to set the line height
|
||||||
|
to the same as the button height */
|
||||||
|
|
||||||
|
line-height: 2.6em;
|
||||||
|
text-shadow: 0.05em 0.05em 0.1em #000;
|
||||||
|
text-align: center /* Needed for IE8 */;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* Loading Spinner
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
.vjs-loading-spinner {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
font-size: 4em;
|
||||||
|
line-height: 1;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
margin-left: -0.5em;
|
||||||
|
margin-top: -0.5em;
|
||||||
|
opacity: 0.75;
|
||||||
|
/* animation */
|
||||||
|
-webkit-animation: spin 1.5s infinite linear;
|
||||||
|
-moz-animation: spin 1.5s infinite linear;
|
||||||
|
-o-animation: spin 1.5s infinite linear;
|
||||||
|
animation: spin 1.5s infinite linear;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-loading-spinner:before {
|
||||||
|
content: "\e01e";
|
||||||
|
font-family: VideoJS;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
text-align: center;
|
||||||
|
text-shadow: 0em 0em 0.1em #000;
|
||||||
|
}
|
||||||
|
@-moz-keyframes spin {
|
||||||
|
0% {
|
||||||
|
-moz-transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
-moz-transform: rotate(359deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@-webkit-keyframes spin {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(359deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@-o-keyframes spin {
|
||||||
|
0% {
|
||||||
|
-o-transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
-o-transform: rotate(359deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotate(359deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* Menu Buttons (Captions/Subtitles/etc.)
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
.vjs-default-skin .vjs-menu-button {
|
||||||
|
float: right;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-menu {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0em;
|
||||||
|
/* (Width of vjs-menu - width of button) / 2 */
|
||||||
|
|
||||||
|
width: 0em;
|
||||||
|
height: 0em;
|
||||||
|
margin-bottom: 3em;
|
||||||
|
border-left: 2em solid transparent;
|
||||||
|
border-right: 2em solid transparent;
|
||||||
|
border-top: 1.55em solid #000000;
|
||||||
|
/* Same width top as ul bottom */
|
||||||
|
|
||||||
|
border-top-color: rgba(7, 40, 50, 0.5);
|
||||||
|
/* Same as ul background */
|
||||||
|
|
||||||
|
}
|
||||||
|
/* Button Pop-up Menu */
|
||||||
|
.vjs-default-skin .vjs-menu-button .vjs-menu .vjs-menu-content {
|
||||||
|
display: block;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
position: absolute;
|
||||||
|
width: 10em;
|
||||||
|
bottom: 1.5em;
|
||||||
|
/* Same bottom as vjs-menu border-top */
|
||||||
|
|
||||||
|
max-height: 15em;
|
||||||
|
overflow: auto;
|
||||||
|
left: -5em;
|
||||||
|
/* Width of menu - width of button / 2 */
|
||||||
|
|
||||||
|
/* background-color-with-alpha */
|
||||||
|
background-color: #07141e;
|
||||||
|
background-color: rgba(7, 20, 30, 0.7);
|
||||||
|
/* box-shadow */
|
||||||
|
-webkit-box-shadow: -0.2em -0.2em 0.3em rgba(255, 255, 255, 0.2);
|
||||||
|
-moz-box-shadow: -0.2em -0.2em 0.3em rgba(255, 255, 255, 0.2);
|
||||||
|
box-shadow: -0.2em -0.2em 0.3em rgba(255, 255, 255, 0.2);
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-menu-button:hover .vjs-menu {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-menu-button ul li {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.3em 0 0.3em 0;
|
||||||
|
line-height: 1.4em;
|
||||||
|
font-size: 1.2em;
|
||||||
|
text-align: center;
|
||||||
|
text-transform: lowercase;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-menu-button ul li.vjs-selected {
|
||||||
|
background-color: #000;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-menu-button ul li:focus,
|
||||||
|
.vjs-default-skin .vjs-menu-button ul li:hover,
|
||||||
|
.vjs-default-skin .vjs-menu-button ul li.vjs-selected:focus,
|
||||||
|
.vjs-default-skin .vjs-menu-button ul li.vjs-selected:hover {
|
||||||
|
outline: 0;
|
||||||
|
color: #111;
|
||||||
|
/* background-color-with-alpha */
|
||||||
|
background-color: #ffffff;
|
||||||
|
background-color: rgba(255, 255, 255, 0.75);
|
||||||
|
/* box-shadow */
|
||||||
|
-webkit-box-shadow: 0 0 1em #ffffff;
|
||||||
|
-moz-box-shadow: 0 0 1em #ffffff;
|
||||||
|
box-shadow: 0 0 1em #ffffff;
|
||||||
|
}
|
||||||
|
.vjs-default-skin .vjs-menu-button ul li.vjs-menu-title {
|
||||||
|
text-align: center;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 2em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 0 0.3em 0;
|
||||||
|
font-weight: bold;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
/* Subtitles Button */
|
||||||
|
.vjs-default-skin .vjs-subtitles-button:before {
|
||||||
|
content: "\e00c";
|
||||||
|
}
|
||||||
|
/* Captions Button */
|
||||||
|
.vjs-default-skin .vjs-captions-button:before {
|
||||||
|
content: "\e008";
|
||||||
|
}
|
||||||
|
/* Replacement for focus outline */
|
||||||
|
.vjs-default-skin .vjs-captions-button:focus .vjs-control-content:before,
|
||||||
|
.vjs-default-skin .vjs-captions-button:hover .vjs-control-content:before {
|
||||||
|
/* box-shadow */
|
||||||
|
-webkit-box-shadow: 0 0 1em #ffffff;
|
||||||
|
-moz-box-shadow: 0 0 1em #ffffff;
|
||||||
|
box-shadow: 0 0 1em #ffffff;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
REQUIRED STYLES (be careful overriding)
|
||||||
|
================================================================================
|
||||||
|
When loading the player, the video tag is replaced with a DIV,
|
||||||
|
that will hold the video tag or object tag for other playback methods.
|
||||||
|
The div contains the video playback element (Flash or HTML5) and controls,
|
||||||
|
and sets the width and height of the video.
|
||||||
|
|
||||||
|
** If you want to add some kind of border/padding (e.g. a frame), or special
|
||||||
|
positioning, use another containing element. Otherwise you risk messing up
|
||||||
|
control positioning and full window mode. **
|
||||||
|
*/
|
||||||
|
.video-js {
|
||||||
|
background-color: #000;
|
||||||
|
position: relative;
|
||||||
|
padding: 0;
|
||||||
|
/* Start with 10px for base font size so other dimensions can be em based and
|
||||||
|
easily calculable. */
|
||||||
|
|
||||||
|
font-size: 10px;
|
||||||
|
/* Allow poster to be vertially aligned. */
|
||||||
|
|
||||||
|
vertical-align: middle;
|
||||||
|
/* display: table-cell; */
|
||||||
|
/*This works in Safari but not Firefox.*/
|
||||||
|
|
||||||
|
/* Provide some basic defaults for fonts */
|
||||||
|
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
/* Avoiding helvetica: issue #376 */
|
||||||
|
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
/* Turn off user selection (text highlighting) by default.
|
||||||
|
The majority of player components will not be text blocks.
|
||||||
|
Text areas will need to turn user selection back on. */
|
||||||
|
|
||||||
|
/* user-select */
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
/* Playback technology elements expand to the width/height of the containing div
|
||||||
|
<video> or <object> */
|
||||||
|
.video-js .vjs-tech {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
/* Fix for Firefox 9 fullscreen (only if it is enabled). Not needed when
|
||||||
|
checking fullScreenEnabled. */
|
||||||
|
.video-js:-moz-full-screen {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
/* Fullscreen Styles */
|
||||||
|
body.vjs-full-window {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
height: 100%;
|
||||||
|
/* Fix for IE6 full-window. http://www.cssplay.co.uk/layouts/fixed.html */
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
.video-js.vjs-fullscreen {
|
||||||
|
position: fixed;
|
||||||
|
overflow: hidden;
|
||||||
|
z-index: 1000;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 100% !important;
|
||||||
|
height: 100% !important;
|
||||||
|
/* IE6 full-window (underscore hack) */
|
||||||
|
_position: absolute;
|
||||||
|
}
|
||||||
|
.video-js:-webkit-full-screen {
|
||||||
|
width: 100% !important;
|
||||||
|
height: 100% !important;
|
||||||
|
}
|
||||||
|
.video-js.vjs-fullscreen.vjs-user-inactive {
|
||||||
|
cursor: none;
|
||||||
|
}
|
||||||
|
/* Poster Styles */
|
||||||
|
.vjs-poster {
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 50% 50%;
|
||||||
|
background-size: contain;
|
||||||
|
cursor: pointer;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.vjs-poster img {
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
max-height: 100%;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
/* Hide the poster when native controls are used otherwise it covers them */
|
||||||
|
.video-js.vjs-using-native-controls .vjs-poster {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
/* Text Track Styles */
|
||||||
|
/* Overall track holder for both captions and subtitles */
|
||||||
|
.video-js .vjs-text-track-display {
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 4em;
|
||||||
|
/* Leave padding on left and right */
|
||||||
|
left: 1em;
|
||||||
|
right: 1em;
|
||||||
|
}
|
||||||
|
/* Individual tracks */
|
||||||
|
.video-js .vjs-text-track {
|
||||||
|
display: none;
|
||||||
|
font-size: 1.4em;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 0.1em;
|
||||||
|
/* Transparent black background, or fallback to all black (oldIE) */
|
||||||
|
/* background-color-with-alpha */
|
||||||
|
background-color: #000000;
|
||||||
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
.video-js .vjs-subtitles {
|
||||||
|
color: #ffffff /* Subtitles are white */;
|
||||||
|
}
|
||||||
|
.video-js .vjs-captions {
|
||||||
|
color: #ffcc66 /* Captions are yellow */;
|
||||||
|
}
|
||||||
|
.vjs-tt-cue {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
/* Hide disabled or unsupported controls */
|
||||||
|
.vjs-default-skin .vjs-hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.vjs-lock-showing {
|
||||||
|
display: block !important;
|
||||||
|
opacity: 1;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
/* -----------------------------------------------------------------------------
|
||||||
|
The original source of this file lives at
|
||||||
|
https://github.com/videojs/video.js/blob/master/src/css/video-js.less */
|
7
movielib/templates/default/css/view_bposter.css
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
.movie { border:1px solid #fff; margin:10px; display:inline-block; }
|
||||||
|
.poster { width:180px; display:block; }
|
||||||
|
.xbmc_hide { width:22px; position:absolute; opacity:.0; margin-top:10px; margin-left:5px; }
|
||||||
|
.xbmc_hide img { cursor:pointer; }
|
||||||
|
.ribbon_new { position: absolute; margin-left:-22px; margin-top:-271px; width:117px; height:120px; }
|
||||||
|
.ribbon_new_text { font-smooth:always; width:140px; z-index:10; position: absolute; margin-left:70px; margin-top:-232px; text-align:center; font-size:12px; color:#fff; text-shadow: 1px 1px #000000; font-family:Verdana, Tahoma; font-weight:bold; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); writing-mode: lr-tb; }
|
||||||
|
.watched_img { position:absolute; margin-left:143px; margin-top:-40px; display:block; z-index:1; }
|
49
movielib/templates/default/css/view_default.css
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
.movie { text-align:left; border:1px solid #000; background-color:#222; min-height:280px; margin-top:10px; margin-bottom:10px; padding:5px 10px 5px 10px; }
|
||||||
|
.poster_container { float:left; margin-top:5px; margin-right:5px; }
|
||||||
|
.studio { float:right; margin-top:-30px; width:140px; }
|
||||||
|
.ribbon_new { position: absolute; margin-left:338px; margin-top:-51px; }
|
||||||
|
.ribbon_new_text { width:140px; z-index:10; position: absolute; margin-left:500px; margin-top:-8px; text-align:center; font-size:16px; text-shadow: 1px 1px #000000; font-family:Verdana, Tahoma; font-weight:bold; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); writing-mode: lr-tb; }
|
||||||
|
.poster { width:142px; border:1px solid #fff; }
|
||||||
|
.fb { position: absolute; display:block; width:142px; text-align:center; margin-top:230px; }
|
||||||
|
.title { font-size:20px; font-weight:bold; color:#ff7300; }
|
||||||
|
.title a:link { font-size:20px; font-weight:bold; color:#ff7300; }
|
||||||
|
.title a:visited { font-size:20px; font-weight:bold; color:#ff7300; }
|
||||||
|
.title a:active { font-size:20px; font-weight:bold; color:#ff7300; }
|
||||||
|
.title a:hover { font-size:20px; font-weight:bold; color:#ff7300; text-decoration:underline; }
|
||||||
|
.xbmc_hide { width:22px; position:absolute; opacity:.0; margin-top:10px; margin-left:5px; }
|
||||||
|
.xbmc_hide img { cursor:pointer; }
|
||||||
|
.xbmc_e { margin-left:10px; }
|
||||||
|
.title_org { font-size:11px; font-weight:bold; color:#aaa; }
|
||||||
|
.imdb_img { position: absolute; margin-left:5px; margin-top:-1px; }
|
||||||
|
.watched_img { display:block; position:absolute; margin-left:102px; margin-top:-44px; }
|
||||||
|
.playcount_block { display:block; position:absolute; margin-left:140px; margin-top:-20px; }
|
||||||
|
.playcount_img { margin-left: -6px; }
|
||||||
|
.trailer_img { position:absolute; margin-left:94px; margin-top:8px; display:block; }
|
||||||
|
.table_flags { margin:auto; }
|
||||||
|
.table_flags td { padding-left:10px; padding-right:10px; vertical-align:top; }
|
||||||
|
.table_flags img { margin:2px; height:14px; }
|
||||||
|
.ex_thumbs { margin:10px; text-align:center; }
|
||||||
|
.ex_thumbs img { border:3px solid #fff; margin:2px; cursor:pointer; }
|
||||||
|
.ex_prev { width: 60px; height: 60px; line-height:60px; background-color:#fff; font-size:48px; font-weight:bold; cursor:pointer; text-align: center; color:#000; left:0px; position:absolute; z-index:10; display:block; }
|
||||||
|
.ex_next { width: 60px; height: 60px; line-height:60px; background-color:#fff; font-size:48px; font-weight:bold; cursor:pointer; text-align: center; color:#000; right:0px; position:absolute; z-index:10; display:block; }
|
||||||
|
.ex_thumb { width:100%; height:100%; }
|
||||||
|
.desc { text-align:center; margin-left:150px; margin-top:5px; min-height: 260px; }
|
||||||
|
.desc a:link { color:#ddd; text-decoration:none; }
|
||||||
|
.desc a:visited { color:#ddd; text-decoration:none; }
|
||||||
|
.desc a:hover { color:#ddd; text-decoration:underline; }
|
||||||
|
.desc a:active { color:#ddd; text-decoration:none; }
|
||||||
|
.table { margin:0px; padding:0px; width:100%; }
|
||||||
|
.left { font-weight:bold; color:#ff7300; text-align:right; width:60px; vertical-align:top; }
|
||||||
|
.right { text-align:left; }
|
||||||
|
.right img { vertical-align:middle; }
|
||||||
|
.actor_thumb { position: absolute; display:none; border:1px solid #ddd;}
|
||||||
|
.trailer { border: 1px solid #fff; margin:auto; margin-top:10px; margin-bottom:10px; width:560px; }
|
||||||
|
.img_space { width:300px; height:1px; display:block; margin:auto; margin-top:5px; margin-bottom:5px; }
|
||||||
|
.episode { min-height:130px; background-color: #111; border: 1px solid #000; margin-bottom:5px; }
|
||||||
|
.episode_desc { text-align:center; margin:5px 5px 5px 213px; }
|
||||||
|
.thumbnail { width:200px; height:113px; border:1px solid #fff; margin-left:5px; display:block; }
|
||||||
|
.season { font-size:16px; font-weight:bold; color:#ff7300; margin-left:10px; margin-bottom:5px; }
|
||||||
|
.episode_title { font-size:14px; font-weight:bold; color:#ff7300; margin:2px 0px 2px 2px; text-align:left; }
|
||||||
|
.episode_watched { display:block; position:absolute; margin-left:166px; margin-top:78px; }
|
||||||
|
.episode_ribbon_new { position: absolute; margin-left:263px; margin-top:-7px; }
|
||||||
|
.episode_ribbon_new_text { width:140px; z-index:10; position: absolute; margin-left:490px; margin-top:38px; text-align:center; font-size:16px; text-shadow: 1px 1px #000000; font-family:Verdana, Tahoma; font-weight:bold; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); writing-mode: lr-tb; }
|
12
movielib/templates/default/css/view_list.css
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
.movie { color:#aaa; text-align:left; font-size:11px; border:1px solid #000; background-color:#222; margin-top:1px; padding:2px 2px 2px 4px; overflow:hidden; }
|
||||||
|
.text { float:left; width:450px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
|
||||||
|
.title { font-weight:bold; color:#ff7300; }
|
||||||
|
.title a:link { font-size:11px; font-weight:bold; color:#ff7300; }
|
||||||
|
.title a:visited { font-size:11px; font-weight:bold; color:#ff7300; }
|
||||||
|
.title a:active { font-size:11px; font-weight:bold; color:#ff7300; }
|
||||||
|
.title a:hover { font-size:11px; font-weight:bold; color:#ff7300; text-decoration:underline; }
|
||||||
|
.title_org { font-weight:bold; }
|
||||||
|
.images { float:right; }
|
||||||
|
.images div { width:26px; height:14px; float:left; }
|
||||||
|
.movie img { height:12px; display:block; margin:auto; margin-top:1px; }
|
||||||
|
.trailer_img { opacity: .8; }
|
7
movielib/templates/default/css/view_sposter.css
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
.movie { border:1px solid #fff; margin:10px; display:inline-block; }
|
||||||
|
.poster { width:100px; display:block; }
|
||||||
|
.xbmc_hide { width:22px; position:absolute; opacity:.0; margin-top:10px; margin-left:5px; }
|
||||||
|
.xbmc_hide img { cursor:pointer; }
|
||||||
|
.ribbon_new { position: absolute; margin-left:-14px; margin-top:-151px; width:68px; height:70px; }
|
||||||
|
.ribbon_new_text { font-smooth:always; width:140px; z-index:10; position: absolute; margin-left:8px; margin-top:-129px; text-align:center; font-size:7px; color:#fff; text-shadow: 1px 1px #000000; font-family:Verdana, Tahoma; font-weight:bold; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); writing-mode: lr-tb; }
|
||||||
|
.watched_img { width:30px; position:absolute; margin-left:76px; margin-top:-24px; display:block; }
|
36
movielib/templates/default/episodes.tpl
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{SHOW.season_title}
|
||||||
|
<div id="season_{season}" class="season">{LANG.i_season} {season}</div>
|
||||||
|
{/SHOW.season_title}
|
||||||
|
<div class="episode" id="season_{season}_episode_{episode}">
|
||||||
|
<div class="poster_container">{thumbnail}</div>
|
||||||
|
{SHOW.xbmc}
|
||||||
|
<div id="{episode}" class="xbmc_hide xbmc_e">
|
||||||
|
<img class="play animate" src="templates/{SET.theme}/img/play.png" title="{LANG.i_xbmc_play}">
|
||||||
|
<a href="{file}"><img class="download animate" src="templates/{SET.theme}/img/download.png" title="{LANG.i_xbmc_download}"></a>
|
||||||
|
<a id="{file}" href="cache/list.m3u"><img class="list animate" src="templates/{SET.theme}/img/list.png" title="{LANG.i_xbmc_m3u}"></a>
|
||||||
|
</div>
|
||||||
|
{/SHOW.xbmc}
|
||||||
|
{watched_img}
|
||||||
|
{ribbon_new}
|
||||||
|
<div class="episode_desc">
|
||||||
|
<div class="episode_title">{title}</div>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td class="left">{LANG.i_aired}</td>
|
||||||
|
<td class="right">{aired}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="left">{LANG.i_plot}</td>
|
||||||
|
<td class="right">{plot}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<img class="img_space" src="templates/{SET.theme}/img/space.png" alt="">
|
||||||
|
<table class="table_flags">
|
||||||
|
<tr>
|
||||||
|
<td>{img_flag_v}</td>
|
||||||
|
<td>{img_flag_a}</td>
|
||||||
|
<td>{img_flag_s}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
BIN
movielib/templates/default/img/0.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
movielib/templates/default/img/1.png
Normal file
After Width: | Height: | Size: 959 B |
BIN
movielib/templates/default/img/2.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
movielib/templates/default/img/3.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
movielib/templates/default/img/4.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
movielib/templates/default/img/5.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
movielib/templates/default/img/6.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
movielib/templates/default/img/7.png
Normal file
After Width: | Height: | Size: 944 B |
BIN
movielib/templates/default/img/8.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
movielib/templates/default/img/9.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
movielib/templates/default/img/back.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
movielib/templates/default/img/bg.jpg
Normal file
After Width: | Height: | Size: 306 KiB |
BIN
movielib/templates/default/img/bigstepback.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
movielib/templates/default/img/bigstepforward.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
movielib/templates/default/img/context.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
movielib/templates/default/img/d_actor.jpg
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
movielib/templates/default/img/d_poster.jpg
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
movielib/templates/default/img/d_thumbnail.jpg
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
movielib/templates/default/img/delete.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
movielib/templates/default/img/down.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
movielib/templates/default/img/download.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
movielib/templates/default/img/flags/ac_aac.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
movielib/templates/default/img/flags/ac_ac3.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
movielib/templates/default/img/flags/ac_aif.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
movielib/templates/default/img/flags/ac_dd.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
movielib/templates/default/img/flags/ac_dts.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
movielib/templates/default/img/flags/ac_flac.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
movielib/templates/default/img/flags/ac_mp3.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
movielib/templates/default/img/flags/ac_ogg.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
movielib/templates/default/img/flags/ac_truehd.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
movielib/templates/default/img/flags/ac_wma.png
Normal file
After Width: | Height: | Size: 3.7 KiB |