Full Code of Fmstrat/ownnote for AI

master 818153c78023 cached
197 files
912.5 KB
281.2k tokens
335 symbols
1 requests
Download .txt
Showing preview only (977K chars total). Download the full file or copy to clipboard to get everything.
Repository: Fmstrat/ownnote
Branch: master
Commit: 818153c78023
Files: 197
Total size: 912.5 KB

Directory structure:
gitextract_u0iy7t1l/

├── .gitignore
├── AUTHORS.md
├── CHANGELOG.md
├── COPYING
├── README.md
├── admin.php
├── appinfo/
│   ├── app.php
│   ├── application.php
│   ├── database.xml
│   ├── info.xml
│   ├── routes.php
│   └── version
├── controller/
│   ├── ownnoteajaxcontroller.php
│   ├── ownnoteapicontroller.php
│   └── pagecontroller.php
├── css/
│   └── style.css
├── js/
│   ├── admin.js
│   ├── script.js
│   └── tinymce/
│       ├── langs/
│       │   └── readme.md
│       ├── license.txt
│       ├── plugins/
│       │   ├── bdesk_photo/
│       │   │   └── README.md
│       │   ├── example/
│       │   │   └── dialog.html
│       │   ├── jbimages/
│       │   │   ├── .gitattributes
│       │   │   ├── .gitignore
│       │   │   ├── ci/
│       │   │   │   ├── application/
│       │   │   │   │   ├── .htaccess
│       │   │   │   │   ├── config/
│       │   │   │   │   │   ├── autoload.php
│       │   │   │   │   │   ├── config.php
│       │   │   │   │   │   ├── constants.php
│       │   │   │   │   │   ├── database.php
│       │   │   │   │   │   ├── doctypes.php
│       │   │   │   │   │   ├── foreign_chars.php
│       │   │   │   │   │   ├── hooks.php
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── migration.php
│       │   │   │   │   │   ├── mimes.php
│       │   │   │   │   │   ├── profiler.php
│       │   │   │   │   │   ├── routes.php
│       │   │   │   │   │   ├── smileys.php
│       │   │   │   │   │   ├── uploader_settings.php
│       │   │   │   │   │   └── user_agents.php
│       │   │   │   │   ├── controllers/
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   └── uploader.php
│       │   │   │   │   ├── errors/
│       │   │   │   │   │   ├── error_404.php
│       │   │   │   │   │   ├── error_db.php
│       │   │   │   │   │   ├── error_general.php
│       │   │   │   │   │   ├── error_php.php
│       │   │   │   │   │   └── index.html
│       │   │   │   │   ├── helpers/
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   └── jbimages_helper.php
│       │   │   │   │   ├── index.html
│       │   │   │   │   ├── language/
│       │   │   │   │   │   ├── english/
│       │   │   │   │   │   │   ├── index.html
│       │   │   │   │   │   │   └── jbstrings_lang.php
│       │   │   │   │   │   ├── french/
│       │   │   │   │   │   │   ├── imglib_lang.php
│       │   │   │   │   │   │   ├── index.html
│       │   │   │   │   │   │   ├── jbstrings_lang.php
│       │   │   │   │   │   │   └── upload_lang.php
│       │   │   │   │   │   └── russian/
│       │   │   │   │   │       ├── imglib_lang.php
│       │   │   │   │   │       ├── index.html
│       │   │   │   │   │       ├── jbstrings_lang.php
│       │   │   │   │   │       └── upload_lang.php
│       │   │   │   │   └── views/
│       │   │   │   │       ├── ajax_upload_result.php
│       │   │   │   │       ├── blank.php
│       │   │   │   │       └── index.html
│       │   │   │   ├── index.php
│       │   │   │   └── system/
│       │   │   │       ├── .htaccess
│       │   │   │       ├── core/
│       │   │   │       │   ├── Benchmark.php
│       │   │   │       │   ├── CodeIgniter.php
│       │   │   │       │   ├── Common.php
│       │   │   │       │   ├── Config.php
│       │   │   │       │   ├── Controller.php
│       │   │   │       │   ├── Exceptions.php
│       │   │   │       │   ├── Hooks.php
│       │   │   │       │   ├── Input.php
│       │   │   │       │   ├── Lang.php
│       │   │   │       │   ├── Loader.php
│       │   │   │       │   ├── Model.php
│       │   │   │       │   ├── Output.php
│       │   │   │       │   ├── Router.php
│       │   │   │       │   ├── Security.php
│       │   │   │       │   ├── URI.php
│       │   │   │       │   ├── Utf8.php
│       │   │   │       │   └── index.html
│       │   │   │       ├── helpers/
│       │   │   │       │   ├── index.html
│       │   │   │       │   └── language_helper.php
│       │   │   │       ├── index.html
│       │   │   │       ├── language/
│       │   │   │       │   ├── english/
│       │   │   │       │   │   ├── imglib_lang.php
│       │   │   │       │   │   ├── index.html
│       │   │   │       │   │   └── upload_lang.php
│       │   │   │       │   └── index.html
│       │   │   │       └── libraries/
│       │   │   │           ├── Image_lib.php
│       │   │   │           ├── Upload.php
│       │   │   │           └── index.html
│       │   │   ├── config.php
│       │   │   ├── css/
│       │   │   │   ├── dialog-v4.css
│       │   │   │   └── dialog.css
│       │   │   ├── dialog-v4.htm
│       │   │   ├── dialog.htm
│       │   │   ├── editor_plugin.js
│       │   │   ├── editor_plugin_src.js
│       │   │   ├── is_allowed.php
│       │   │   ├── js/
│       │   │   │   ├── dialog-v4.js
│       │   │   │   └── dialog.js
│       │   │   ├── langs/
│       │   │   │   ├── en.js
│       │   │   │   ├── en_dlg.js
│       │   │   │   ├── fr.js
│       │   │   │   ├── fr_dlg.js
│       │   │   │   ├── ru.js
│       │   │   │   └── ru_dlg.js
│       │   │   ├── plugin.js
│       │   │   └── readme
│       │   ├── media/
│       │   │   └── moxieplayer.swf
│       │   └── visualblocks/
│       │       └── css/
│       │           └── visualblocks.css
│       └── tinymce.min.js.orig
├── l10n/
│   ├── de.js
│   ├── de.json
│   ├── de.php
│   ├── de_DE.js
│   ├── de_DE.json
│   ├── de_DE.php
│   ├── en.js
│   ├── en.json
│   ├── en.php
│   ├── en_AU.js
│   ├── en_AU.json
│   ├── en_AU.php
│   ├── en_US.js
│   ├── en_US.json
│   ├── en_US.php
│   ├── es.js
│   ├── es.json
│   ├── es.php
│   ├── es_ES.js
│   ├── es_ES.json
│   ├── es_ES.php
│   ├── fr.js
│   ├── fr.json
│   ├── fr.php
│   ├── fr_BE.js
│   ├── fr_BE.json
│   ├── fr_BE.php
│   ├── gl.js
│   ├── gl.json
│   ├── gl.php
│   ├── gl_ES.js
│   ├── gl_ES.json
│   ├── gl_ES.php
│   ├── id.js
│   ├── id.json
│   ├── id.php
│   ├── id_ID.js
│   ├── id_ID.json
│   ├── id_ID.php
│   ├── it.js
│   ├── it.json
│   ├── it.php
│   ├── it_IT.js
│   ├── it_IT.json
│   ├── it_IT.php
│   ├── ja.js
│   ├── ja.json
│   ├── ja.php
│   ├── lb.js
│   ├── lb.json
│   ├── lb.php
│   ├── nl.js
│   ├── nl.json
│   ├── nl.php
│   ├── pl.js
│   ├── pl.json
│   ├── pl.php
│   ├── pl_PL.js
│   ├── pl_PL.json
│   ├── pl_PL.php
│   ├── pt_BR.js
│   ├── pt_BR.json
│   ├── pt_BR.php
│   ├── ru.js
│   ├── ru.json
│   ├── ru.php
│   ├── sl_SI.js
│   ├── sl_SI.json
│   ├── sl_SI.php
│   ├── tr_TR.js
│   ├── tr_TR.json
│   ├── tr_TR.php
│   ├── zh.js
│   ├── zh.json
│   ├── zh.php
│   ├── zh_TW.js
│   ├── zh_TW.json
│   └── zh_TW.php
├── lib/
│   └── backend.php
├── templates/
│   ├── admin.php
│   └── main.php
└── transifex/
    ├── import.sh
    ├── server.txt
    └── serveradmin.txt

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
*.komodo*

================================================
FILE: AUTHORS.md
================================================
# Authors

* Ben Curtis: <no-spam @ no-domain . com>



================================================
FILE: CHANGELOG.md
================================================
owncloud-ownnote (0.0.1)
* First release


================================================
FILE: COPYING
================================================
                    GNU AFFERO GENERAL PUBLIC LICENSE
                       Version 3, 19 November 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 Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
our General Public Licenses are 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.

  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.

  Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.

  A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate.  Many developers of free software are heartened and
encouraged by the resulting cooperation.  However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.

  The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community.  It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server.  Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.

  An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals.  This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.

  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 Affero 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. Remote Network Interaction; Use with the GNU General Public License.

  Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software.  This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.

  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 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 work with which it is combined will remain governed by version
3 of the GNU General Public License.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU Affero 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 Affero 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 Affero 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 Affero 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 Affero 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 Affero General Public License for more details.

    You should have received a copy of the GNU Affero 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 your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source.  For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code.  There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.

  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 AGPL, see
<http://www.gnu.org/licenses/>.

================================================
FILE: README.md
================================================
# ownNote
The official release information and downloads can be found at: https://apps.owncloud.com/content/show.php/ownNote+-+Notes+Application?content=168512

## Installation
- Place this app in **owncloud/apps/ownnote** (Rename the extracted ZIP to "ownnote" or you will receive errors)
- Note: *custom_csp_policy* changes are no longer required

## Nextcloud users
This app has been forked and development for Nextcloud can be found here: https://github.com/brantje/ownnote

## Mobile Apps
ownNote for Android in the Google Play store: http://goo.gl/pHjQY9

ownNote for iOS: *In development*


## Importing from Evernote or other html notes
The import process will take HTML files on your local hard drive and import the images into the notes as Base64. To import notes:
- Export your notes from Evernote using default settings as individual *html* files
     - If you are importing notes that are not from Evernote, ensure they use the *html* extension, not the *htm* extension. 
- Copy the *html* files and the folders created containing the images into the */Notes* folder in ownCloud
- Load the Notes listing screen. This will import all of the images into the *html* notes, and rename them to *htm*
- Once the rename has taken place, you can safely delete all the image folders that were copied
     - NOTE: Windows Explorer links the *html* file to it folder of images. If you delete the folder, Windows will sometimes delete the newly renamed *htm* file as well. It is recommended you delete the folders from within the Web Interface to be safe. 
     


================================================
FILE: admin.php
================================================
<?php

OCP\User::checkAdminUser();

$tmpl = new OCP\Template('ownnote', 'admin');
$tmpl->assign('folder', \OC::$server->getConfig()->getAppValue('ownnote', 'folder', ''));

return $tmpl -> fetchPage();



================================================
FILE: appinfo/app.php
================================================
<?php
/**
 * ownCloud - ownnote
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Ben Curtis <ownclouddev@nosolutions.com>
 * @copyright Ben Curtis 2015
 */

namespace OCA\OwnNote\AppInfo;

use \OCP\IURLGenerator;

\OCP\App::registerAdmin('ownnote', 'admin');

\OC::$server->getNavigationManager()->add(array(
    // the string under which your app will be referenced in owncloud
    'id' => 'ownnote',

    // sorting weight for the navigation. The higher the number, the higher
    // will it be listed in the navigation
    'order' => 10,

    // the route that will be shown on startup
    'href' => \OC::$server->getURLGenerator()->linkToRoute('ownnote.page.index'),

    // the icon that will be shown in the navigation
    // this file needs to exist in img/
    'icon' => \OC::$server->getURLGenerator()->imagePath('ownnote', 'app.svg'),

    // the title of your application. This will be used in the
    // navigation or on the settings page of your app
    'name' => \OCP\Util::getL10N('ownnote')->t('Notes')
));


================================================
FILE: appinfo/application.php
================================================
<?php
/**
 * ownCloud - ownnote
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Ben Curtis <ownclouddev@nosolutions.com>
 * @copyright Ben Curtis 2015
 */

namespace OCA\OwnNote\AppInfo;


use \OCP\AppFramework\App;
use \OCP\IContainer;

use \OCA\OwnNote\Controller\PageController;
use \OCA\OwnNote\Controller\OwnnoteApiController;
use \OCA\OwnNote\Controller\OwnnoteAjaxController;


class Application extends App {


	public function __construct (array $urlParams=array()) {
		parent::__construct('ownnote', $urlParams);

		$container = $this->getContainer();

		/**
		 * Controllers
		 */
		$container->registerService('PageController', function(IContainer $c) {
			return new PageController(
				$c->query('AppName'), 
				$c->query('Request'),
				$c->query('UserId')
			);
		});

                $container->registerService('OwnnoteApiController', function($c){
                        return new OwnnoteApiController(
                                $c->query('AppName'),
                                $c->query('Request')
                        );
                });

                $container->registerService('OwnnoteAjaxController', function($c){
                        return new OwnnoteAjaxController(
                                $c->query('AppName'),
                                $c->query('Request')
                        );
                });

		/**
		 * Core
		 */
		$container->registerService('UserId', function(IContainer $c) {
			return \OCP\User::getUser();
		});		
	}
}


================================================
FILE: appinfo/database.xml
================================================
<?xml version="1.0" encoding="UTF-8" ?>
<database>
	<name>ownnote</name>
	<create>true</create>
	<overwrite>false</overwrite>
	<charset>utf8</charset>
	<table>
		<name>*dbprefix*ownnote</name>
		<declaration>
			<field>
				<name>id</name>
				<type>integer</type>
				<default>0</default>
				<notnull>true</notnull>
				<autoincrement>1</autoincrement>
				<length>32</length>
			</field>
			<field>
				<name>uid</name>
				<type>text</type>
				<notnull>true</notnull>
				<length>255</length>
			</field>
			<field>
				<name>name</name>
				<type>text</type>
				<notnull>true</notnull>
				<length>255</length>
			</field>
			<field>
				<name>grouping</name>
				<type>text</type>
				<notnull>true</notnull>
				<length>255</length>
			</field>
			<field>
				<name>shared</name>
				<type>clob</type>
				<notnull>true</notnull>
				<default></default>
			</field>
			<field>
				<name>mtime</name>
				<type>integer</type>
				<notnull>true</notnull>
				<length>32</length>
			</field>
			<field>
				<name>deleted</name>
				<type>integer</type>
				<notnull>true</notnull>
				<default>0</default>
				<length>1</length>
			</field>
			<field>
				<name>note</name>
				<type>clob</type>
				<notnull>true</notnull>
			</field>
		</declaration>
	</table>
	<table>
		<name>*dbprefix*ownnote_parts</name>
		<declaration>
			<field>
				<name>pid</name>
				<type>integer</type>
				<default>0</default>
				<notnull>true</notnull>
				<autoincrement>1</autoincrement>
				<length>32</length>
			</field>
			<field>
				<name>id</name>
				<type>integer</type>
				<default>0</default>
				<notnull>true</notnull>
				<length>32</length>
			</field>
			<field>
				<name>note</name>
				<type>clob</type>
				<notnull>true</notnull>
			</field>
		</declaration>
	</table>
</database>


================================================
FILE: appinfo/info.xml
================================================
<?xml version="1.0"?>
<info>
    <id>ownnote</id>
    <name>OwnNote</name>
    <description></description>
    <licence>AGPL</licence>
    <author>Ben Curtis</author>
    <version>1.08</version>
    <requiremin>7.0.3</requiremin>
    <dependencies>
        <lib>curl</lib>
        <owncloud min-version="7.0.3" max-version="10.0.10" />
        <nextcloud min-version="9.1" max-version="17" />
    </dependencies>
</info>


================================================
FILE: appinfo/routes.php
================================================
<?php
/**
 * ownCloud - ownnote
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Ben Curtis <ownclouddev@nosolutions.com>
 * @copyright Ben Curtis 2015
 */

namespace OCA\OwnNote\AppInfo;

/**
 * Create your routes in here. The name is the lowercase name of the controller
 * without the controller part, the stuff after the hash is the method.
 * e.g. page#index -> PageController->index()
 *
 * The controller class has to be registered in the application.php file since
 * it's instantiated in there
 */
$application = new Application();

$application->registerRoutes($this, array('routes' => array(
	array('name' => 'page#index', 'url' => '/', 'verb' => 'GET'),
	array('name' => 'ownnote_ajax#ajaxsetval', 'url' => '/ajax/v0.2/ajaxsetval', 'verb' => 'POST'),
	array('name' => 'ownnote_api#index', 'url' => '/api/v0.2/ownnote', 'verb' => 'GET'),
	array('name' => 'ownnote_ajax#ajaxindex', 'url' => '/ajax/v0.2/ownnote/ajaxindex', 'verb' => 'GET'),
	array('name' => 'ownnote_api#remoteindex', 'url' => '/api/v0.2/ownnote/remoteindex', 'verb' => 'GET'),
	array('name' => 'ownnote_api#mobileindex', 'url' => '/api/v0.2/ownnote/mobileindex', 'verb' => 'GET'),
	array('name' => 'ownnote_api#announcement', 'url' => '/api/v0.2/ownnote/announcement', 'verb' => 'GET'),
	array('name' => 'ownnote_ajax#ajaxannouncement', 'url' => '/ajax/v0.2/ownnote/ajaxannouncement', 'verb' => 'GET'),
	array('name' => 'ownnote_api#version', 'url' => '/api/v0.2/ownnote/version', 'verb' => 'GET'),
	array('name' => 'ownnote_ajax#ajaxversion', 'url' => '/ajax/v0.2/ownnote/ajaxversion', 'verb' => 'GET'),
	array('name' => 'ownnote_api#ren', 'url' => '/api/v0.2/ownnote/ren', 'verb' => 'POST'),
	array('name' => 'ownnote_ajax#ajaxren', 'url' => '/ajax/v0.2/ownnote/ajaxren', 'verb' => 'POST'),
	array('name' => 'ownnote_api#edit', 'url' => '/api/v0.2/ownnote/edit', 'verb' => 'POST'),
	array('name' => 'ownnote_ajax#ajaxedit', 'url' => '/ajax/v0.2/ownnote/ajaxedit', 'verb' => 'POST'),
	array('name' => 'ownnote_api#del', 'url' => '/api/v0.2/ownnote/del', 'verb' => 'POST'),
	array('name' => 'ownnote_ajax#ajaxdel', 'url' => '/ajax/v0.2/ownnote/ajaxdel', 'verb' => 'POST'),
	array('name' => 'ownnote_api#save', 'url' => '/api/v0.2/ownnote/save', 'verb' => 'POST'),
	array('name' => 'ownnote_ajax#ajaxsave', 'url' => '/ajax/v0.2/ownnote/ajaxsave', 'verb' => 'POST'),
	array('name' => 'ownnote_api#create', 'url' => '/api/v0.2/ownnote/create', 'verb' => 'POST'),
	array('name' => 'ownnote_ajax#ajaxcreate', 'url' => '/ajax/v0.2/ownnote/ajaxcreate', 'verb' => 'POST'),
	array('name' => 'ownnote_api#delgroup', 'url' => '/api/v0.2/ownnote/delgroup', 'verb' => 'POST'),
	array('name' => 'ownnote_ajax#ajaxdelgroup', 'url' => '/ajax/v0.2/ownnote/ajaxdelgroup', 'verb' => 'POST'),
	array('name' => 'ownnote_api#rengroup', 'url' => '/api/v0.2/ownnote/rengroup', 'verb' => 'POST'),
	array('name' => 'ownnote_ajax#ajaxrengroup', 'url' => '/ajax/v0.2/ownnote/ajaxrengroup', 'verb' => 'POST'),
        array('name' => 'ownnote_api#preflighted_cors', 'url' => '/api/v0.2/{path}', 'verb' => 'OPTIONS', 'requirements' => array('path' => '.+')),
)));


================================================
FILE: appinfo/version
================================================
1.08


================================================
FILE: controller/ownnoteajaxcontroller.php
================================================
<?php
/**
 * ownCloud - ownnote
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Ben Curtis <ownclouddev@nosolutions.com>
 * @copyright Ben Curtis 2015
 */

namespace OCA\OwnNote\Controller;

use \OCP\AppFramework\ApiController;
use \OCP\AppFramework\Http\JSONResponse;
use \OCP\AppFramework\Http\Response;
use \OCP\AppFramework\Http;
use \OCP\IRequest;
use \OCA\OwnNote\Lib\Backend;

class OwnnoteAjaxController extends ApiController {

	private $backend;


	public function __construct($appName, IRequest $request){
		parent::__construct($appName, $request);
		$this->backend = new Backend();
	}

	/**
	* AJAX FUNCTIONS
	*/

	/**
	* @NoAdminRequired
	*/
	public function ajaxindex() {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		return $this->backend->getListing($FOLDER, false);
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxannouncement() {
		return $this->backend->getAnnouncement();
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxcreate($name, $group) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($name) && isset($group))
			return $this->backend->createNote($FOLDER, $name, $group);
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxdel($name, $group) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($name) && isset($group))
			return $this->backend->deleteNote($FOLDER, $name, $group);
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxedit($name, $group) {
		if (isset($name) && isset($group))
			return $this->backend->editNote($name, $group);
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxsave($name, $group, $content) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($name) && isset($group) && isset($content))
			return $this->backend->saveNote($FOLDER, $name, $group, $content, 0);
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxren($name, $group, $newname, $newgroup) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($name) && isset($newname) && isset($group) && isset($newgroup))
			return $this->backend->renameNote($FOLDER, $name, $group, $newname, $newgroup);
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxdelgroup($group) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($group))
			return $this->backend->deleteGroup($FOLDER, $group);
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxrengroup($group, $newgroup) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($group) && isset($newgroup))
			return $this->backend->renameGroup($FOLDER, $group, $newgroup);
	}

	/**
	* @NoAdminRequired
	*/
	public function ajaxversion() {
		return $this->backend->getVersion();
	}

	/**
	*/
	public function ajaxsetval($field, $value) {
		return $this->backend->setAdminVal($field, $value);
	}
}


================================================
FILE: controller/ownnoteapicontroller.php
================================================
<?php
/**
 * ownCloud - ownnote
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Ben Curtis <ownclouddev@nosolutions.com>
 * @copyright Ben Curtis 2015
 */

namespace OCA\OwnNote\Controller;

use \OCP\AppFramework\ApiController;
use \OCP\AppFramework\Http\JSONResponse;
use \OCP\AppFramework\Http\Response;
use \OCP\AppFramework\Http;
use \OCP\IRequest;
use \OCA\OwnNote\Lib\Backend;

class OwnnoteApiController extends ApiController {

	private $backend;


	public function __construct($appName, IRequest $request){
		parent::__construct($appName, $request);
		$this->backend = new Backend();
	}

	/**
	* MOBILE FUNCTIONS
	*/

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function index() {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		return $this->backend->getListing($FOLDER, false);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function mobileindex() {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		return $this->backend->getListing($FOLDER, true);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function remoteindex() {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		return json_encode($this->backend->getListing($FOLDER, true));
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function create($name, $group) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($name) && isset($group))
			return $this->backend->createNote($FOLDER, $name, $group);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function del($name, $group) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($name) && isset($group))
			return $this->backend->deleteNote($FOLDER, $name, $group);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function edit($name, $group) {
		if (isset($name) && isset($group))
			return $this->backend->editNote($name, $group);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function save($name, $group, $content) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($name) && isset($group) && isset($content))
			return $this->backend->saveNote($FOLDER, $name, $group, $content, 0);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function ren($name, $group, $newname, $newgroup) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($name) && isset($newname) && isset($group) && isset($newgroup))
			return $this->backend->renameNote($FOLDER, $name, $group, $newname, $newgroup);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function delgroup($group) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($group))
			return $this->backend->deleteGroup($FOLDER, $group);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function rengroup($group, $newgroup) {
		$FOLDER = \OC::$server->getConfig()->getAppValue('ownnote', 'folder', '');
		if (isset($group) && isset($newgroup))
			return $this->backend->renameGroup($FOLDER, $group, $newgroup);
	}

	/**
	* @NoAdminRequired
	* @NoCSRFRequired
	*/
	public function version() {
		return $this->backend->getVersion();
	}
}


================================================
FILE: controller/pagecontroller.php
================================================
<?php
/**
 * ownCloud - ownnote
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Ben Curtis <ownclouddev@nosolutions.com>
 * @copyright Ben Curtis 2015
 */

namespace OCA\OwnNote\Controller;


use \OCP\IRequest;
use \OCP\AppFramework\Http\TemplateResponse;
use \OCP\AppFramework\Controller;
use \OCP\AppFramework\Http\ContentSecurityPolicy;
use \OCP\Util;

class PageController extends Controller {

    private $userId;

    public function __construct($appName, IRequest $request, $userId){
        parent::__construct($appName, $request);
        $this->userId = $userId;
    }


    /**
     * CAUTION: the @Stuff turn off security checks, for this page no admin is
     *          required and no CSRF check. If you don't know what CSRF is, read
     *          it up in the docs or you might create a security hole. This is
     *          basically the only required method to add this exemption, don't
     *          add it to any other method if you don't exactly know what it does
     *
     * @NoAdminRequired
     * @NoCSRFRequired
     */
    public function index() {
	$params = array('user' => $this->userId);
	$response = new TemplateResponse('ownnote', 'main', $params);
	$ocVersion = \OCP\Util::getVersion();
	if ($ocVersion[0] > 8 || ($ocVersion[0] == 8 && $ocVersion[1] >= 1)) {
		$csp = new \OCP\AppFramework\Http\ContentSecurityPolicy();
		$csp->addAllowedImageDomain('data:');
		$response->setContentSecurityPolicy($csp);
	}
	return $response;
    }
}


================================================
FILE: css/style.css
================================================
#app, #ownnote, #controls, #createform {
	width: 100%;
}

.listing {
	height: 40pt;
	font-style: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0pt;
	font-size: 100%;
	font-family: inherit;
	line-height: 40pt;
	white-space: nowrap;
	padding: 0pt 15pt;
	border-bottom: 1pt solid #EEE;
	width: 100%;
}

.listingSort {
	height: 40pt;
	font-style: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0pt;
	font-size: 100%;
	font-family: inherit;
	line-height: 40pt;
	white-space: nowrap;
	padding: 0pt 15pt;
	border-bottom: 1pt solid #EEE;
	width: 100%;
}

.listingBlank {
	height: 40pt;
	font-style: normal;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0pt;
	font-size: 100%;
	font-family: inherit;
	line-height: 40pt;
	white-space: nowrap;
	padding: 0pt 15pt;
	width: 100%;
}

.listing:hover {
	background-color: #EEE;
}

.pointer {
	cursor: pointer;
}

.file {
	float: left;
	font-weight: bold;
	width: 60%;
}

.filesort {
	float: left;
	width: 60%;
}

.info {
	float: right;
	color: #A0A0A0;
	width: 30%;
}

.modified {
	float: left;
	color: #A0A0A0;
	width: 60%;
}

.button {
	display: inline-block;
}

.buttons {
	float: right;
	width: 40%;
	background-repeat:no-repeat;
	background-position: center center;
}

.edit {
	opacity: 0.3;
}

.edit:hover {
	opacity: 1;
}

.delete {
	background-image: url('../img/delete.png');
	opacity: 0.3;
}

.delete:hover {
	background-image: url('../img/delete-hover.png');
	opacity: 1;
}

.indent {
	margin-left: 10pt;
}

.notesort {
	font-weight: normal;
	color: #A0A0A0;
}

.sortarrow {
	background-repeat:no-repeat;
	background-position: center center;
	width: 20pt;
	height: 20pt;
	float: left;
	margin-top: 10pt;
	opacity: 0.3;
}

.sortup {
	background-image: url('../img/triangle-n.svg');
}

.sortdown {
	background-image: url('../img/triangle-s.svg');
}

.sorttitle {
	float: left;
}

.newfile, #controls .note-title-form .newgroupinput {
	display: none;
}

.fileinput {
	width: 80pt;
	height: 36px;
	display: inline-block;
	color: #A0A0A0;
}

.newfileinput {
	width: 80pt;
	height: 36px;
	display: inline-block;
}

.latestfile {
	color: green;
}

#grouplist {
        /*z-index: 100;*/
}
#grouplist .add-note:before {
    content: "+";
    font-size: 150%;
    font-weight: bold;
    left: 12px;
    position: absolute;
}
#grouplist .add-note {
    padding: 0 31px;
}
#grouplist > li {
    height: 44px;
}

#app-navigation .active {
    font-weight: bold;
}

#app-navigation .utils {
    bottom: 0;
    font-size: 12px;
    padding: 7px 7px 0 0;
    position: absolute;
    right: 0;
    top: 0;
}

.action:not(.text), .icon:not(.text), [class^="icon-"]:not(.text), [class*=" icon-"]:not(.text) {
    display: inline-block;
    height: 16px;
    margin: 0;
    padding: 0;
    width: 16px;
}

#app-navigation li > .utils > .numnotes {
    padding-right: 10px;
    text-align: right;
}

#app-navigation li > .utils > * {
    background-size: auto auto;
    float: left;
    height: 44px;
    line-height: 44px;
    width: 44px;
}

[class^="icon-"], [class*=" icon-"], .action, .icon {
    background-repeat: no-repeat;
    cursor: pointer;
}

#content li {
    cursor: default;
}

#app-navigation li > .utils > *:not(.numnotes):not(.starred) {
    display: none;
}

#app-navigation .utils {
    bottom: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
}

#app-navigation li.active[data-type="category"] > .utils > * {
    background-color: rgba(0, 0, 0, 0);
    display: inline-block;
    float: left;
}

.oc-addnew {
    display: block !important;
    padding: 0 !important;
}


.oc-addnew {
    display: block !important;
    padding: 0 !important;
}
.oc-addnew > li {
}

#app-navigation .oc-addnew input[type="text"] {
    height: 34px !important;
    margin-left: 6px;
    margin-top: 5px;
}
#app-navigation input[type="text"] {
    width: 180px;
}
.oc-addnew input, .oc-addnew select {
    border-bottom-right-radius: 0;
    border-right: 0 none;
    border-top-right-radius: 0;
    display: inline-block;
    float: left;
    margin: 0 0 5px;
}

#app-navigation .oc-addnew .new-button {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 16px auto;
    margin-top: 5px;
    width: 32px;
}

.oc-addnew button {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    display: inline-block;
    float: left;
    height: 34px !important;
    margin: 5px 0;
}

.editing {
	display: none;
}

#announcement {
	padding: 10px;
}

#announcement h1 {
	color: #1D2D44;
	font-weight: bold;
	font-style: italic;
	font-size: 12pt;
}

#announcement a {
	color: #1D2D44;
	text-decoration: underline;
	font-weight: bold;
}

#announcement-dismiss {
	padding: 10px;
}

#announcement-dismiss a {
	color: #1D2D44;
	text-decoration: underline;
	font-weight: bold;
}

#ownnote-l10n {
	display: none;
}


================================================
FILE: js/admin.js
================================================
function ocOwnnoteUrl(url) {
	var newurl = OC.linkTo("ownnote",url).replace("apps/ownnote","index.php/apps/ownnote");
	return newurl;
}

$(document).ready(function() {
	$('#ownnote-folder').change(function() {
		var val = $(this).val();
	        $.post(ocOwnnoteUrl("ajax/v0.2/ajaxsetval"), { field: 'folder', value: val }, function (data) {
			 console.log('response', data);
        	});
	});
	$('#ownnote-type').change(function() {
		var val = $(this).val();
		if (val == "") {
			$('#ownnote-folder').val('');
			$('#ownnote-folder-settings').css('display', 'none');
			$.post(ocOwnnoteUrl("ajax/v0.2/ajaxsetval"), { field: 'folder', value: '' }, function (data) {
				console.log('response', data);
			});
		} else
			$('#ownnote-folder-settings').css('display', 'block');
	});
	$('#ownnote-disableannouncement').change(function() {
		var da = "";
		var c = $(this).is(':checked');
		if (c)
			da = "checked";
	        $.post(ocOwnnoteUrl("ajax/v0.2/ajaxsetval"), { field: 'disableAnnouncement', val: da }, function (data) {
			 console.log('response', data);
        	});
	});
});



================================================
FILE: js/script.js
================================================

	function tinymceInit() {
		tinymce.init({
			selector: "div.editable",
			menubar: false,
			plugins: [
				"textcolor advlist autolink lists link charmap print preview anchor",
				"searchreplace visualblocks code fullscreen",
				"insertdatetime media table contextmenu bdesk_photo autoresize"
			],
			extended_valid_elements: "form[name|id|action|method|enctype|accept-charset|onsubmit|onreset|target],input[id|name|type|value|size|maxlength|checked|accept|src|width|height|disabled|readonly|tabindex|accesskey|onfocus|onblur|onchange|onselect|onclick|onkeyup|onkeydown|required|style],textarea[id|name|rows|cols|maxlength|disabled|readonly|tabindex|accesskey|onfocus|onblur|onchange|onselect|onclick|onkeyup|onkeydown|required|style],option[name|id|value|selected|style],select[id|name|type|value|size|maxlength|checked|width|height|disabled|readonly|tabindex|accesskey|onfocus|onblur|onchange|onselect|onclick|multiple|style]",
			toolbar: "insertfile undo redo | styleselect | bold italic strikethrough | alignleft aligncenter alignright alignjustify | forecolor backcolor | bullist numlist outdent indent | link bdesk_photo",
			allow_html_data_urls: true,
			allow_script_urls: true,
			paste_data_images: true,
			width: '100%',
  			height: h-130,
			autoresize_min_height: h-130,
			autoresize_max_height: h-130,
			init_instance_callback : function(editor) {
				resizeFont("13");
				startTimer();
			}
		});
	}

	function ocUrl(url) {
		var newurl = OC.generateUrl("/apps/ownnote/") + url;
		return newurl;
	}

	function resizeFont(s) {
		$('#editable_ifr').contents().find("head").append($("<style type='text/css'>  body{font-size:"+s+"px;}  </style>"));
	}

	var l10n = new Array();
	function translate() {
		l10n["# day ago"] = document.getElementById("l10n # day ago").value;
		l10n["# days ago"] = document.getElementById("l10n # days ago").value;
		l10n["# hour ago"] = document.getElementById("l10n # hour ago").value;
		l10n["# hours ago"] = document.getElementById("l10n # hours ago").value;
		l10n["# minute ago"] = document.getElementById("l10n # minute ago").value;
		l10n["# minutes ago"] = document.getElementById("l10n # minutes ago").value;
		l10n["# month ago"] = document.getElementById("l10n # month ago").value;
		l10n["# months ago"] = document.getElementById("l10n # months ago").value;
		l10n["# second ago"] = document.getElementById("l10n # second ago").value;
		l10n["# seconds ago"] = document.getElementById("l10n # seconds ago").value;
		l10n["# week ago"] = document.getElementById("l10n # week ago").value;
		l10n["# weeks ago"] = document.getElementById("l10n # weeks ago").value;
		l10n["# year ago"] = document.getElementById("l10n # year ago").value;
		l10n["# years ago"] = document.getElementById("l10n # years ago").value;
		l10n["All"] = document.getElementById("l10n All").value;
		l10n["An ungrouped file has the same name as a file in this group."] = document.getElementById("l10n An ungrouped file has the same name as a file in this group").value;
		l10n["Cancel"] = document.getElementById("l10n Cancel").value;
		l10n["Create"] = document.getElementById("l10n Create").value;
		l10n["Dismiss"] = document.getElementById("l10n Dismiss").value;
		l10n["Filename/group already exists."] = document.getElementById("l10n Filename/group already exists").value;
		l10n["Group"] = document.getElementById("l10n Group").value;
		l10n["Group already exists."] = document.getElementById("l10n Group already exists").value;
		l10n["Just now"] = document.getElementById("l10n Just now").value;
		l10n["Modified"] = document.getElementById("l10n Modified").value;
		l10n["Name"] = document.getElementById("l10n Name").value;
		l10n["New"] = document.getElementById("l10n New").value;
		l10n["Not grouped"] = document.getElementById("l10n Not grouped").value;
		l10n["Note"] = document.getElementById("l10n Note").value;
		l10n["Notes"] = document.getElementById("l10n Notes").value;
		l10n["Quick Save"] = document.getElementById("l10n Quick Save").value;
		l10n["Save"] = document.getElementById("l10n Save").value;
	}

	function trans(s) {
		if (l10n[s])
			return l10n[s];
		else
			return s;
	}

	function deleteNote(id) {
		var n = $(this).attr('n');
		var g = $(this).attr('g');
		$.post(ocUrl("ajax/v0.2/ownnote/ajaxdel"), { name: n, group: g }, function (data) {
			loadListing();
		});
	}

	function editNote(id) {
		var n = $(this).attr('n');
		var g = $(this).attr('g');
		$.post(ocUrl("ajax/v0.2/ownnote/ajaxedit"), { name: n, group: g }, function (data) {
			buildEdit(n, g, data);
		});
	}

	function addNote() {
		$('#newfile').css('display','inline-block');
		$('#new').css('display','none');
                $('#newfilename').focus();
	}

	function cancelNote() {
		$('#newfile').css('display','none');
		$('#new').css('display','inline-block');
		$('#newfilename').css('color', '#A0A0A0');
		$('#newfilename').val('note title');
	}

	var h = 200;
	function resizeContainer() {
		var o = $('#ownnote').offset();
		h = $(window).height() - o.top;
	}

	function buildEdit(n, g, data) {
		resizeContainer();
		var name = htmlQuotes(n);
		var group = htmlQuotes(g);
		var html = "";
		html += "<div id='controls'>";
		html += "	<div id='newfile' class='indent'>";
		html += "		<form id='editform' class='note-title-form'>";
		html += "			"+trans("Name")+": <input type='text' class='fileinput' id='editfilename' value='"+name+"'>";
		html += "			&nbsp;&nbsp;"+trans("Group")+": <select id='groupname'></select>";
		html += "			<input type='text' class='newgroupinput' id='newgroupname' placeholder='group title'>";
		html += "			<input type='hidden' id='originalfilename' value='"+name+"'>";
		html += "			<input type='hidden' id='originalgroup' value='"+group+"'>";
		html += "			<div id='quicksave' class='button'>"+trans("Quick Save")+"</div>";
		html += "			<div id='save' class='button'>"+trans("Save")+"</div>";
		html += "			<div id='canceledit' class='button'>"+trans("Cancel")+"</div>";
		html += "		</form>";
		html += "	</div>";
		html += "</div>";
		html += "<div class='listingBlank'><!-- --></div>";
		html += "<div id='editable' class='editable'>";
		html += data;
		html += "</div>";
		document.getElementById("ownnote").innerHTML = html;
		tinymceInit();
		buildGroupSelectOptions(g);
		bindEdit();
	}

	var idle = false;
	var idleTime = 0;
	var idleInterval;
	var origNote;
	var checkDuration = 20;
	var saveTime = 60;
	function startTimer() {
		origNote = tinymce.activeEditor.getContent();
		idleIterval = setInterval(timerIncrement, checkDuration*1000);
		$(document).mousemove(function (e) { notIdle(); });
		$(document).keypress(function (e) { notIdle(); });
		$('#editable_ifr').contents().find("body").mousemove(function (e) { notIdle(); });
		tinymce.activeEditor.on('keyup', function(e) { notIdle(); });
	}

	function notIdle() {
		idle = false;
		idleTime = 0;
	}

	function timerIncrement() {
		idleTime = idleTime + checkDuration;
		if ($('#editable_ifr') && $('#editable_ifr').css('display') == 'block') {
			if (!idle && idleTime >= saveTime) {
				var content = tinymce.activeEditor.getContent();
				if (content != origNote) {
					origNote = content;
					saveNote(true);
				}
				idle = true;
			}
		} else {
			clearInterval(idleInterval);
		}
	}

	function bindEdit() {
		$("#editform").bind("submit", function() { saveNote(false); });
		$("#quicksave").bind("click", function() { saveNote(true); });
		$("#save").bind("click", function() { saveNote(false); });
		$("#canceledit").bind("click", buildListing);
		$("#groupname").bind("change", checkNewGroup);
		$("#editfilename").bind("change", disableQuickSave);
	}

	function disableQuickSave() {
		$('#quicksave').css('background-color','white');
		$('#quicksave').css('color','#888888');
		$("#quicksave").off("click");
	}

	function saveNote(stayinnote) {
		if (stayinnote) {
			$('#quicksave').css('background-color','green');
			$('#quicksave').css('color','white');
		}
		$('#editfilename').val($('#editfilename').val().replace(/\\/g, '-').replace(/\//g, '-'));
		var editfilename = $('#editfilename').val();
		var editgroup = $('#groupname').val();
		var originalfilename = $('#originalfilename').val();
		var originalgroup = $('#originalgroup').val();
		var content = tinymce.activeEditor.getContent();
		if (editgroup.toLowerCase() == "all" || editgroup.toLowerCase() == "not grouped") {
			editgroup = "";
		} else if (editgroup == '_new') {
			$('#newgroupname').val($('#newgroupname').val().replace(/\\/g, '-').replace(/\//g, '-'));
			editgroup = $('#newgroupname').val();
		}
		if (editfilename != originalfilename || editgroup != originalgroup) {
			var c = listing.length;
			var exists = false;
			for (i = 0; i < c; i++) {
				if (listing[i].deleted == 0)
					if (listing[i].group == editgroup && listing[i].name == editfilename) {
						exists = true;
						break;
					}
			}
			if (exists) {
				alert(trans("Filename/group already exists."));
			} else
				$.post(ocUrl("ajax/v0.2/ownnote/ajaxren"), { name: originalfilename, group: originalgroup, newname: editfilename, newgroup: editgroup }, function (data) {
					if (data == "DONE") {
						$.post(ocUrl("ajax/v0.2/ownnote/ajaxsave"), { name: editfilename, group: editgroup, content: content }, function (data) {
							if (!stayinnote)
								loadListing();
							else {
								$('#quicksave').css('background-color','rgba(240, 240, 240, 0.9)');
								$('#quicksave').css('color','#555');
							}
						});
					}
				});
		} else {
			$.post(ocUrl("ajax/v0.2/ownnote/ajaxsave"), { name: editfilename, group: editgroup, content: content }, function (data) {
				if (!stayinnote)
					loadListing();
				else {
					$('#quicksave').css('background-color','rgba(240, 240, 240, 0.9)');
					$('#quicksave').css('color','#555');
				}
			});
		}
		return false;
	}

	var listing;
	var listingtype = "All";
	var sortby = "name";
	var sortorder = "ascending";

	function htmlQuotes(value, reverse){
		if (!reverse) {
			var r = value;
			r = r.replace(/\'/g, '&#39;');
			r = r.replace(/\"/g, '&quot;');
			return r;
		} else {
			var r = value;
			r = r.replace(/&#39;/g, "'");
			r = r.replace(/&quot;/g, '"');
			return r;
		}
	}

	function loadListing() {
		var url = ocUrl("ajax/v0.2/ownnote/ajaxindex");
		$.get(url, function(data) {
			listing = data;
			buildNav(listingtype);
			buildListing();
			if (switchgroup != "") {
				$("[id='link-"+switchgroup+"']").click();
				switchgroup = "";
			}
		});
	}

	var sort_by = function(field, reverse, primer){
		var key = primer ? 
		function(x) {return primer(x[field])} : 
		function(x) {return x[field]};
		reverse = [-1, 1][+!!reverse];
		return function (a, b) {
			return a = key(a), b = key(b), reverse * ((a > b) - (b > a));
		} 
	}

	function buildListing() {
		var html = "";
		html += "<div id='controls'>";
		html += "	<div id='new' class='button indent'>"+trans("New")+"</div>";
		html += "	<div id='newfile' class='newfile indent'>";
		html += "		<form id='createform' class='note-title-form'>";
		html += "			<input type='text' class='newfileinput' id='newfilename' value='note title'>";
		html += "			<select id='groupname'></select>";
		html += "			<input type='text' class='newgroupinput' id='newgroupname' placeholder='group title'>";
		html += "			<button id='create' class='button'>"+trans("Create")+"</button>";
		html += "			<div id='cancel' class='button'>"+trans("Cancel")+"</div>";
		html += "		</form>";
		html += "	</div>";
		html += "</div>";
		html += "<div class='listingBlank'><!-- --></div>";
		var c = listing.length;
		if (c == 0) {
			html += "<div class='listingSort'>";
			html += trans("You have no notes to display.");
			html += "</div>";
		} else {
			html += "<div class='listingSort'>";
			if (sortby == "name" && sortorder == "ascending") {
				html += "	<div class='filesort notesort'>";
				html += "		<div class='pointer sorttitle' id='sortname'>"+trans("Name")+"</div>";
				html += "		<div class='sortarrow sortup'><!-- --></div>";
				html += "	</div>";
				html += "	<div class='info'>";
				html += "		<div class='modified notesort'><span class='pointer' id='sortmod'>"+trans("Modified")+"</span></div>";
				html += "	</div>";
				listing.sort(sort_by('name', true, function(a){return a.toUpperCase()}));
			} else if (sortby == "name" && sortorder == "descending") {
				html += "	<div class='filesort notesort'>";
				html += "		<div class='pointer sorttitle' id='sortname'>"+trans("Name")+"</div>";
				html += "		<div class='sortarrow sortdown'><!-- --></div>";
				html += "	</div>";
				html += "	<div class='info'>";
				html += "		<div class='modified notesort'><span class='pointer' id='sortmod'>"+trans("Modified")+"</span></div>";
				html += "	</div>";
				listing.sort(sort_by('name', false, function(a){return a.toUpperCase()}));
			} else if (sortby == "mod" && sortorder == "ascending") {
				html += "	<div class='filesort notesort'>";
				html += "		<div class='pointer sorttitle' id='sortname'>"+trans("Name")+"</div>";
				html += "	</div>";
				html += "	<div class='info'>";
				html += "		<div class='modified notesort'>";
				html += "			<div class='pointer sorttitle' id='sortmod'>"+trans("Modified")+"</div>";
				html += "			<div class='sortarrow sortup'><!-- --></div>";
				html += "		</div>";
				html += "	</div>";
				listing.sort(sort_by('mtime', false, parseInt));
			} else if (sortby == "mod" && sortorder == "descending") {
				html += "	<div class='filesort notesort'>";
				html += "		<div class='pointer sorttitle' id='sortname'>"+trans("Name")+"</div>";
				html += "	</div>";
				html += "	<div class='info'>";
				html += "		<div class='modified notesort'>";
				html += "			<div class='pointer sorttitle' id='sortmod'>"+trans("Modified")+"</div>";
				html += "			<div class='sortarrow sortdown'><!-- --></div>";
				html += "		</div>";
				html += "	</div>";
				listing.sort(sort_by('mtime', true, parseInt));
			}
			html += "</div>";
			for (i = 0; i < c; i++) {
				if (listing[i].deleted == 0)
					if (listingtype == "All" || listing[i].group == listingtype || (listingtype == 'Not grouped' && listing[i].group == '')) {
						var fileclass = 'modified';
						var name = htmlQuotes(listing[i].name);
						var group = htmlQuotes(listing[i].group);
						var file = name;
						if (group != '')
							file = "["+group+"] "+name;
						if (listing[i].timediff < 30)
							fileclass = 'modified latestfile';
						html += "<div class='listing'>";
						html += "	<div id='"+file+"' i='"+listing[i].id+"' n='"+name+"' g='"+group+"' title='"+name+"' class='file pointer'>"+name+"</div>";
						html += "	<div class='info'>";
						if (listing[i].timestring != '')
							html += "		<div class='"+fileclass+"'>"+listing[i].timestring+"</div>";
						else
							html += "		<div class='"+fileclass+"'>"+trans("Just now")+"</div>";
						html += "		<div id='"+file+"' i='"+listing[i].id+"' n='"+name+"' g='"+group+"' class='buttons delete delete-note pointer'><br></div>";
						html += "	</div>";
						html += "</div>";
					}
			}
		}
		document.getElementById("ownnote").innerHTML = html;
		$('#newfilename').css('color', '#A0A0A0');
		buildGroupSelectOptions(listingtype);
		bindListing();
	}

	function buildGroupSelectOptions(current) {
		var $select = $('select#groupname');
		$select.append($('<option value="">Not grouped</option>'));
		$select.append($('<option>').attr('value', '_new').text('New group'));
		$(groups).each(function(i, group) {
			var option = $('<option>').attr('value', group).text(group);
			if(group == current) {
				option.attr('selected', 'selected');
			}
			$select.append(option);
		});
	}

	function bindListing() {
		$(".file").bind("click", editNote);
		$(".delete-note").bind("click", deleteNote);
		$("#sortname").bind("click", sortName);
		$("#sortmod").bind("click", sortMod);
		$("#new").bind("click", addNote);
		$("#cancel").bind("click", cancelNote);
		$("#createform").bind("submit", createNote);
		$("#groupname").bind("change", checkNewGroup);
		$("#newfilename").bind("focus", newNote);
	}

	function checkNewGroup() {
		var selectVal = $('select#groupname').val();
		if(selectVal == '_new') {
			$('#newgroupname').css('display','inline-block');
                        $('#newgroupname').focus();
		} else {
			$('#newgroupname').css('display','none');
		}
		disableQuickSave();
	}

	function newNote() {
		$('#newfilename').css('color', '#000');
		var v = $('#newfilename').val();
		if (v == 'note title')
			$('#newfilename').val('');
	}

	function createNote() {
		var name = $('#newfilename').val();
		var group = $('#groupname').val();
		if (group == '_new') {
			group = $('#newgroupname').val();
		}
		cancelNote();
		$.post(ocUrl("ajax/v0.2/ownnote/ajaxcreate"), { name: name, group: group }, function (data) {
			loadListing();
		});
		return false;
	}

	function sortName() {
		if (sortby == "name")
			if (sortorder == "ascending")
				sortorder = "descending";
			else 
				sortorder = "ascending";
		else {
			sortby = "name";
			sortorder = "ascending";
		}
		buildListing();
	}

	function sortMod() {
		if (sortby == "mod")
			if (sortorder == "ascending")
				sortorder = "descending";
			else 
				sortorder = "ascending";
		else {
			sortby = "mod";
			sortorder = "ascending";
		}
		buildListing();
	}

	function buildNavItem(name, count, active) {
		var html = '';
		var a = ''
		var n = htmlQuotes(name);
		if (active) a = " active";
		if (name == "All" || name == "Not grouped") {
			html += '<li class="group' + a + '" data-type="all">';
			html += '	<a class="name" id="link-'+n+'" role="button" title="'+n+'">'+htmlQuotes(trans(name))+'</a>';
		} else {
			html += '<li id="group-'+n+'-edit" class="group editing" style="display:none">';
			html += '	<ul class="oc-addnew open" style="display: inline-block; width: auto; height: auto;" aria-disabled="false">';
			html += '		<li>';
			html += '			<input id="edit-'+n+'-text" class="oc-addnew-name" type="text" value="'+n+'" style="display: inline;">';
			html += '			<button id="edit-'+n+'" class="new-button primary icon-checkmark-white" style="display: block;"></button>';
			html += '		</li>';
			html += '	</ul>';
			html += '</li>';
			html += '<li id="group-'+n+'" class="group' + a + '" data-type="category">';
			html += '	<a class="name" id="link-'+n+'" role="button" title="'+n+'">'+n+'</a>';
		}
		html += '	<span class="utils" style="z-index: 200">';
		html += '		<a class="icon-rename action edit tooltipped rightwards" group="'+n+'" original-title=""></a>';
		html += '		<a class="icon-delete action delete tooltipped rightwards" group="'+n+'" original-title=""></a>';
		html += '		<span class="action numnotes">'+count+'</span>';
		html += '	</span>';
		html += '</li>';
		return html;
	}

	function sortNav() {
		var list = [];
		for (var j=0; j<groups.length; j++) 
			list.push({'group': groups[j], 'count': counts[j]});
		list.sort(function(a, b) {
			return ((a.group < b.group) ? -1 : ((a.group == b.group) ? 0 : 1));
		});
		for (var k=0; k<list.length; k++) {
			groups[k] = list[k].group;
			counts[k] = list[k].count;
		}
	}

	var groups = new Array();
	var counts = new Array();

	function buildNav(a) {
		groups.length = 0;
		counts.length = 0;
		var html = '';
		var c = listing.length;
		var uncat = 0
                for (i = 0; i < c; i++) {
			if (listing[i].group != '') {
				if ($.inArray(listing[i].group, groups) < 0) {
					groups.push(listing[i].group);
					counts.push(1);
				} else {
					counts[$.inArray(listing[i].group, groups)] += 1;
				}
			} else
				uncat++;
		}
		sortNav();
		var gc = groups.length;
		if (a == "All")
			html += buildNavItem('All', c, true);
		else
			html += buildNavItem('All', c, false);
		if (gc > 0) {
			if (a == "Not grouped")
				html += buildNavItem('Not grouped', uncat, true);
			else
				html += buildNavItem('Not grouped', uncat, false);
		}
                for (i = 0; i < gc; i++) {
			if (a == groups[i])
				html += buildNavItem(groups[i], counts[i], true);
			else
				html += buildNavItem(groups[i], counts[i], false);
		}
		html += "<div id='announcement-container'></div>";
		$('#grouplist').html(html);
		bindNav();
		if (disableAnnouncement == "")
			loadAnnouncement();
	}

	function loadAnnouncement() {
		var curAnnouncement = getCookie('curAnnouncement');
		var dismissedAnnouncement = getCookie('dismissedAnnouncement');
		if (curAnnouncement != "") {
			if (curAnnouncement != dismissedAnnouncement) {
				var html = "<div id='app-settings'><div id='app-settings-header'><div id='announcement'>"+curAnnouncement+"</div><div id='announcement-dismiss'><a id='dismissButton' href='javascript:dismissAnnouncement()'>"+trans("Dismiss")+"</a></div></div><div>";
				$('#announcement-container').html(html);
				$('#dismissButton').click(dismissAnnouncement);
			}
		} else {
			var url = ocUrl("ajax/v0.2/ownnote/ajaxannouncement");
			$.ajax({
				url: url,
				success: function(data) {
					if (data != '') {
						if (data.replace(/\n/g,'') != 'NONE') {
							if (data.replace(/\n/g,'') != dismissedAnnouncement) {
								var html = "<div id='app-settings'><div id='app-settings-header'><div id='announcement'>"+data+"</div><div id='announcement-dismiss'><a id='dismissButton' href='javascript:dismissAnnouncement()'>"+trans("Dismiss")+"</a></div></div><div>";
								$('#announcement-container').html(html);
								$('#dismissButton').click(dismissAnnouncement);
							}
							setCookie("curAnnouncement", data.replace(/\n/g,''), 7);
						} else {
							setCookie("curAnnouncement", data.replace(/\n/g,''), 7);
							setCookie("dismissedAnnouncement", data.replace(/\n/g,''), 7);
						}
					}
				},
				cache: false
			});
		}
	}

	function setCookie(cname, cvalue, exdays) {
		var d = new Date();
		d.setTime(d.getTime() + (exdays*24*60*60*1000));
		var expires = "expires="+d.toUTCString();
		document.cookie = cname + "=" + cvalue + "; " + expires;
	}

	function getCookie(cname) {
		var name = cname + "=";
		var ca = document.cookie.split(';');
		for(var i=0; i<ca.length; i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1);
			if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
		}
		return "";
	} 

	function dismissAnnouncement() {
		setCookie("dismissedAnnouncement", $('#announcement').html().replace(/\n/g,''), 30);
		$('#announcement-container').html('');
	}

	function selectGroup() {
		buildNav(this.title);
		listingtype = this.title;
		buildListing();
		if ($("#app-navigation-toggle").css("display") == "block") {
			setTimeout(closeNav, 250);
		}
	}

	function closeNav() {
		if ($("#app-navigation-toggle").css("display") == "block") {
			$("#app-navigation-toggle").click();
		}
	}

	function bindNav() {
		$(".name").bind("click", selectGroup);
		$(".icon-delete").bind("click", deleteGroup);
		$(".icon-rename").bind("click", editGroup);
		$(".new-button").bind("click", saveGroup);
	}

	function deleteGroup() {
		var g = $(this).attr('group');
		var c = listing.length;
		var exists = false;
		for (i = 0; i < c; i++)
			if (listing[i].deleted == 0)
				if (listing[i].group.toLowerCase() == g.toLowerCase())
					for (j = 0; j < c; j++)
						if (listing[j].deleted == 0)
							if (listing[j].group == '' && listing[i].name.toLowerCase() == listing[j].name.toLowerCase()) {
								exists = true;
								break;
							}
		if (exists)
			alert(trans("An ungrouped file has the same name as a file in this group."));
		else
			$.post(ocUrl("ajax/v0.2/ownnote/ajaxdelgroup"), { group: g }, function (data) {
				switchgroup = "All";
				loadListing();
			});
	}

	var cg = "";
	var switchgroup = "";

	function editGroup() {
		var g = $(this).attr('group');
		cg = g;
		var i = 'group-'+g;
		$("[id='"+i+"']").css("display", "none");
		$("[id='"+i+"-edit']").css("display", "inline-block");
	}

	function saveGroup() {
		var v = $("[id='"+this.id+"-text']").val();
		var c = listing.length;
		if (v != cg && v.toLowerCase() != "all" && v.toLowerCase() != "not grouped") {
			var exists = false;
			for (i = 0; i < c; i++)
				if (listing[i].deleted == 0)
					if (listing[i].group.toLowerCase() == v.toLowerCase()) {
						exists = true;
						break;
					}
			if (exists)
				alert(trans("Group already exists."));
			else
				$.post(ocUrl("ajax/v0.2/ownnote/ajaxrengroup"), { group: cg, newgroup: v }, function (data) {
					switchgroup = v;
					cg = "";
					loadListing();
				});
		} else {
			switchgroup = v;
			cg = "";
			loadListing();
		}
	}

	var disableAnnouncement = "";
	function getSettings() {
		disableAnnouncement = $('#disableAnnouncement').val();
	}

	$(document).ready(function() {
		$.ajaxSetup ({ cache: false });
		translate();
		getSettings();
		loadListing();
	});
	



================================================
FILE: js/tinymce/langs/readme.md
================================================
This is where language files should be placed.

Please DO NOT translate these directly use this service: https://www.transifex.com/projects/p/tinymce/


================================================
FILE: js/tinymce/license.txt
================================================
		  GNU LESSER GENERAL PUBLIC LICENSE
		       Version 2.1, February 1999

 Copyright (C) 1991, 1999 Free Software Foundation, Inc.
 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

[This is the first released version of the Lesser GPL.  It also counts
 as the successor of the GNU Library Public License, version 2, hence
 the version number 2.1.]

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.

  This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it.  You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.

  When we speak of free software, we are referring to freedom of use,
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 this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.

  To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights.  These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.

  For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you.  You must make sure that they, too, receive or can get the source
code.  If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it.  And you must show them these terms so they know their rights.

  We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.

  To protect each distributor, we want to make it very clear that
there is no warranty for the free library.  Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.

  Finally, software patents pose a constant threat to the existence of
any free program.  We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder.  Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.

  Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License.  This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License.  We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.

  When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library.  The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom.  The Lesser General
Public License permits more lax criteria for linking other code with
the library.

  We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License.  It also provides other free software developers Less
of an advantage over competing non-free programs.  These disadvantages
are the reason we use the ordinary General Public License for many
libraries.  However, the Lesser license provides advantages in certain
special circumstances.

  For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard.  To achieve this, non-free programs must be
allowed to use the library.  A more frequent case is that a free
library does the same job as widely used non-free libraries.  In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.

  In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software.  For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.

  Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.

  The precise terms and conditions for copying, distribution and
modification follow.  Pay close attention to the difference between a
"work based on the library" and a "work that uses the library".  The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.

		  GNU LESSER GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".

  A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.

  The "Library", below, refers to any such software library or work
which has been distributed under these terms.  A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language.  (Hereinafter, translation is
included without limitation in the term "modification".)

  "Source code" for a work means the preferred form of the work for
making modifications to it.  For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.

  Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it).  Whether that is true depends on what the Library does
and what the program that uses the Library does.
  
  1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.

  You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.

  2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) The modified work must itself be a software library.

    b) You must cause the files modified to carry prominent notices
    stating that you changed the files and the date of any change.

    c) You must cause the whole of the work to be licensed at no
    charge to all third parties under the terms of this License.

    d) If a facility in the modified Library refers to a function or a
    table of data to be supplied by an application program that uses
    the facility, other than as an argument passed when the facility
    is invoked, then you must make a good faith effort to ensure that,
    in the event an application does not supply such function or
    table, the facility still operates, and performs whatever part of
    its purpose remains meaningful.

    (For example, a function in a library to compute square roots has
    a purpose that is entirely well-defined independent of the
    application.  Therefore, Subsection 2d requires that any
    application-supplied function or table used by this function must
    be optional: if the application does not supply it, the square
    root function must still compute square roots.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.

In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library.  To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License.  (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.)  Do not make any other change in
these notices.

  Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.

  This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.

  4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.

  If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.

  5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library".  Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

  However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library".  The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.

  When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library.  The
threshold for this to be true is not precisely defined by law.

  If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work.  (Executables containing this object code plus portions of the
Library will still fall under Section 6.)

  Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.

  6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.

  You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License.  You must supply a copy of this License.  If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License.  Also, you must do one
of these things:

    a) Accompany the work with the complete corresponding
    machine-readable source code for the Library including whatever
    changes were used in the work (which must be distributed under
    Sections 1 and 2 above); and, if the work is an executable linked
    with the Library, with the complete machine-readable "work that
    uses the Library", as object code and/or source code, so that the
    user can modify the Library and then relink to produce a modified
    executable containing the modified Library.  (It is understood
    that the user who changes the contents of definitions files in the
    Library will not necessarily be able to recompile the application
    to use the modified definitions.)

    b) Use a suitable shared library mechanism for linking with the
    Library.  A suitable mechanism is one that (1) uses at run time a
    copy of the library already present on the user's computer system,
    rather than copying library functions into the executable, and (2)
    will operate properly with a modified version of the library, if
    the user installs one, as long as the modified version is
    interface-compatible with the version that the work was made with.

    c) Accompany the work with a written offer, valid for at
    least three years, to give the same user the materials
    specified in Subsection 6a, above, for a charge no more
    than the cost of performing this distribution.

    d) If distribution of the work is made by offering access to copy
    from a designated place, offer equivalent access to copy the above
    specified materials from the same place.

    e) Verify that the user has already received a copy of these
    materials or that you have already sent this user a copy.

  For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it.  However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.

  It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system.  Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.

  7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:

    a) Accompany the combined library with a copy of the same work
    based on the Library, uncombined with any other library
    facilities.  This must be distributed under the terms of the
    Sections above.

    b) Give prominent notice with the combined library of the fact
    that part of it is a work based on the Library, and explaining
    where to find the accompanying uncombined form of the same work.

  8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License.  Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License.  However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.

  9. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Library or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.

  10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.

  11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
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
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all.  For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.

If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded.  In such case, this License incorporates the limitation as if
written in the body of this License.

  13. The Free Software Foundation may publish revised and/or new
versions of the Lesser 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 Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation.  If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.

  14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission.  For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this.  Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.

			    NO WARRANTY

  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "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
LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY 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
LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.

		     END OF TERMS AND CONDITIONS

           How to Apply These Terms to Your New Libraries

  If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change.  You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).

  To apply these terms, attach the following notices to the library.  It is
safest to attach them to the start of each source file to most effectively
convey 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 library's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library 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
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

Also add information on how to contact you by electronic and paper mail.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the
  library `Frob' (a library for tweaking knobs) written by James Random Hacker.

  <signature of Ty Coon>, 1 April 1990
  Ty Coon, President of Vice

That's all there is to it!




================================================
FILE: js/tinymce/plugins/bdesk_photo/README.md
================================================
BDESK PHOTO
============

Bdesk Photo is a tinymce plugin for BuddyexpressDesk to allow administrator to embed image in post as a base64 encode image.

There are some restrictions in plugin like:
 1. The image must be equal to or less then 500KB
 2. The image must be equal to or less then 800x800 in dimensions.

Note: If you want to remove restriction replace plugin.min.js with the code found here https://gist.github.com/arsalanshah/10623688

Last Edit README.md : Leonard Walter

COPYRIGHT 2014 Informatikon Technologies informatikon.com


================================================
FILE: js/tinymce/plugins/example/dialog.html
================================================
<!DOCTYPE html>
<html>
<body>
	<h3>Custom dialog</h3>
	Input some text: <input id="content">
	<button onclick="top.tinymce.activeEditor.windowManager.getWindows()[0].close();">Close window</button>
</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/.gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs     diff=csharp
*.sln    merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union

# Standard to msysgit
*.doc	 diff=astextplain
*.DOC	 diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot  diff=astextplain
*.DOT  diff=astextplain
*.pdf  diff=astextplain
*.PDF	 diff=astextplain
*.rtf	 diff=astextplain
*.RTF	 diff=astextplain


================================================
FILE: js/tinymce/plugins/jbimages/.gitignore
================================================
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# =========================
# Operating System Files
# =========================

# OSX
# =========================

.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear on external disk
.Spotlight-V100
.Trashes

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/.htaccess
================================================
Deny from all

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/autoload.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| AUTO-LOADER
| -------------------------------------------------------------------
| This file specifies which systems should be loaded by default.
|
| In order to keep the framework as light-weight as possible only the
| absolute minimal resources are loaded by default. For example,
| the database is not connected to automatically since no assumption
| is made regarding whether you intend to use it.  This file lets
| you globally define which systems you would like loaded with every
| request.
|
| -------------------------------------------------------------------
| Instructions
| -------------------------------------------------------------------
|
| These are the things you can load automatically:
|
| 1. Packages
| 2. Libraries
| 3. Helper files
| 4. Custom config files
| 5. Language files
| 6. Models
|
*/

/*
| -------------------------------------------------------------------
|  Auto-load Packges
| -------------------------------------------------------------------
| Prototype:
|
|  $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
|
*/

$autoload['packages'] = array();


/*
| -------------------------------------------------------------------
|  Auto-load Libraries
| -------------------------------------------------------------------
| These are the classes located in the system/libraries folder
| or in your application/libraries folder.
|
| Prototype:
|
|	$autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/

$autoload['libraries'] = array();


/*
| -------------------------------------------------------------------
|  Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
|	$autoload['helper'] = array('url', 'file');
*/

$autoload['helper'] = array();


/*
| -------------------------------------------------------------------
|  Auto-load Config files
| -------------------------------------------------------------------
| Prototype:
|
|	$autoload['config'] = array('config1', 'config2');
|
| NOTE: This item is intended for use ONLY if you have created custom
| config files.  Otherwise, leave it blank.
|
*/

$autoload['config'] = array();


/*
| -------------------------------------------------------------------
|  Auto-load Language files
| -------------------------------------------------------------------
| Prototype:
|
|	$autoload['language'] = array('lang1', 'lang2');
|
| NOTE: Do not include the "_lang" part of your file.  For example
| "codeigniter_lang.php" would be referenced as array('codeigniter');
|
*/

$autoload['language'] = array();


/*
| -------------------------------------------------------------------
|  Auto-load Models
| -------------------------------------------------------------------
| Prototype:
|
|	$autoload['model'] = array('model1', 'model2');
|
*/

$autoload['model'] = array();


/* End of file autoload.php */
/* Location: ./application/config/autoload.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/config.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
|	http://example.com/
|
| If this is not set then CodeIgniter will guess the protocol, domain and
| path to your installation.
|
*/
$config['base_url']	= '';

/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
*/
$config['index_page'] = 'index.php';

/*
|--------------------------------------------------------------------------
| URI PROTOCOL
|--------------------------------------------------------------------------
|
| This item determines which server global should be used to retrieve the
| URI string.  The default setting of 'AUTO' works for most servers.
| If your links do not seem to work, try one of the other delicious flavors:
|
| 'AUTO'			Default - auto detects
| 'PATH_INFO'		Uses the PATH_INFO
| 'QUERY_STRING'	Uses the QUERY_STRING
| 'REQUEST_URI'		Uses the REQUEST_URI
| 'ORIG_PATH_INFO'	Uses the ORIG_PATH_INFO
|
*/
$config['uri_protocol']	= 'QUERY_STRING';

/*
|--------------------------------------------------------------------------
| URL suffix
|--------------------------------------------------------------------------
|
| This option allows you to add a suffix to all URLs generated by CodeIgniter.
| For more information please see the user guide:
|
| http://codeigniter.com/user_guide/general/urls.html
*/

$config['url_suffix'] = '';

/*
|--------------------------------------------------------------------------
| Default Language
|--------------------------------------------------------------------------
|
| This determines which set of language files should be used. Make sure
| there is an available translation if you intend to use something other
| than english.
|
*/
$config['language']	= 'english';

/*
|--------------------------------------------------------------------------
| Default Character Set
|--------------------------------------------------------------------------
|
| This determines which character set is used by default in various methods
| that require a character set to be provided.
|
*/
$config['charset'] = 'UTF-8';

/*
|--------------------------------------------------------------------------
| Enable/Disable System Hooks
|--------------------------------------------------------------------------
|
| If you would like to use the 'hooks' feature you must enable it by
| setting this variable to TRUE (boolean).  See the user guide for details.
|
*/
$config['enable_hooks'] = FALSE;


/*
|--------------------------------------------------------------------------
| Class Extension Prefix
|--------------------------------------------------------------------------
|
| This item allows you to set the filename/classname prefix when extending
| native libraries.  For more information please see the user guide:
|
| http://codeigniter.com/user_guide/general/core_classes.html
| http://codeigniter.com/user_guide/general/creating_libraries.html
|
*/
$config['subclass_prefix'] = 'MY_';


/*
|--------------------------------------------------------------------------
| Allowed URL Characters
|--------------------------------------------------------------------------
|
| This lets you specify with a regular expression which characters are permitted
| within your URLs.  When someone tries to submit a URL with disallowed
| characters they will get a warning message.
|
| As a security measure you are STRONGLY encouraged to restrict URLs to
| as few characters as possible.  By default only these are allowed: a-z 0-9~%.:_-
|
| Leave blank to allow all characters -- but only if you are insane.
|
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
|
*/
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';


/*
|--------------------------------------------------------------------------
| Enable Query Strings
|--------------------------------------------------------------------------
|
| By default CodeIgniter uses search-engine friendly segment based URLs:
| example.com/who/what/where/
|
| By default CodeIgniter enables access to the $_GET array.  If for some
| reason you would like to disable it, set 'allow_get_array' to FALSE.
|
| You can optionally enable standard query string based URLs:
| example.com?who=me&what=something&where=here
|
| Options are: TRUE or FALSE (boolean)
|
| The other items let you set the query string 'words' that will
| invoke your controllers and its functions:
| example.com/index.php?c=controller&m=function
|
| Please note that some of the helpers won't work as expected when
| this feature is enabled, since CodeIgniter is designed primarily to
| use segment based URLs.
|
*/
$config['allow_get_array']			= FALSE;
$config['enable_query_strings'] = FALSE;
$config['controller_trigger']	= 'c';
$config['function_trigger']		= 'm';
$config['directory_trigger']	= 'd'; // experimental not currently in use

/*
|--------------------------------------------------------------------------
| Error Logging Threshold
|--------------------------------------------------------------------------
|
| If you have enabled error logging, you can set an error threshold to
| determine what gets logged. Threshold options are:
| You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are:
|
|	0 = Disables logging, Error logging TURNED OFF
|	1 = Error Messages (including PHP errors)
|	2 = Debug Messages
|	3 = Informational Messages
|	4 = All Messages
|
| For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 0;

/*
|--------------------------------------------------------------------------
| Error Logging Directory Path
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| application/logs/ folder. Use a full server path with trailing slash.
|
*/
$config['log_path'] = '';

/*
|--------------------------------------------------------------------------
| Date Format for Logs
|--------------------------------------------------------------------------
|
| Each item that is logged has an associated date. You can use PHP date
| codes to set your own date formatting
|
*/
$config['log_date_format'] = 'Y-m-d H:i:s';

/*
|--------------------------------------------------------------------------
| Cache Directory Path
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| system/cache/ folder.  Use a full server path with trailing slash.
|
*/
$config['cache_path'] = '';

/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| If you use the Encryption class or the Session class you
| MUST set an encryption key.  See the user guide for info.
|
*/
$config['encryption_key'] = '';

/*
|--------------------------------------------------------------------------
| Session Variables
|--------------------------------------------------------------------------
|
| 'sess_cookie_name'		= the name you want for the cookie
| 'sess_expiration'			= the number of SECONDS you want the session to last.
|   by default sessions last 7200 seconds (two hours).  Set to zero for no expiration.
| 'sess_expire_on_close'	= Whether to cause the session to expire automatically
|   when the browser window is closed
| 'sess_encrypt_cookie'		= Whether to encrypt the cookie
| 'sess_use_database'		= Whether to save the session data to a database
| 'sess_table_name'			= The name of the session database table
| 'sess_match_ip'			= Whether to match the user's IP address when reading the session data
| 'sess_match_useragent'	= Whether to match the User Agent when reading the session data
| 'sess_time_to_update'		= how many seconds between CI refreshing Session Information
|
*/
$config['sess_cookie_name']		= 'ci_session';
$config['sess_expiration']		= 7200;
$config['sess_expire_on_close']	= FALSE;
$config['sess_encrypt_cookie']	= FALSE;
$config['sess_use_database']	= FALSE;
$config['sess_table_name']		= 'ci_sessions';
$config['sess_match_ip']		= FALSE;
$config['sess_match_useragent']	= TRUE;
$config['sess_time_to_update']	= 300;

/*
|--------------------------------------------------------------------------
| Cookie Related Variables
|--------------------------------------------------------------------------
|
| 'cookie_prefix' = Set a prefix if you need to avoid collisions
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies
| 'cookie_path'   =  Typically will be a forward slash
| 'cookie_secure' =  Cookies will only be set if a secure HTTPS connection exists.
|
*/
$config['cookie_prefix']	= "";
$config['cookie_domain']	= "";
$config['cookie_path']		= "/";
$config['cookie_secure']	= FALSE;

/*
|--------------------------------------------------------------------------
| Global XSS Filtering
|--------------------------------------------------------------------------
|
| Determines whether the XSS filter is always active when GET, POST or
| COOKIE data is encountered
|
*/
$config['global_xss_filtering'] = FALSE;

/*
|--------------------------------------------------------------------------
| Cross Site Request Forgery
|--------------------------------------------------------------------------
| Enables a CSRF cookie token to be set. When set to TRUE, token will be
| checked on a submitted form. If you are accepting user data, it is strongly
| recommended CSRF protection be enabled.
|
| 'csrf_token_name' = The token name
| 'csrf_cookie_name' = The cookie name
| 'csrf_expire' = The number in seconds the token should expire.
*/
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;

/*
|--------------------------------------------------------------------------
| Output Compression
|--------------------------------------------------------------------------
|
| Enables Gzip output compression for faster page loads.  When enabled,
| the output class will test whether your server supports Gzip.
| Even if it does, however, not all browsers support compression
| so enable only if you are reasonably sure your visitors can handle it.
|
| VERY IMPORTANT:  If you are getting a blank page when compression is enabled it
| means you are prematurely outputting something to your browser. It could
| even be a line of whitespace at the end of one of your scripts.  For
| compression to work, nothing can be sent before the output buffer is called
| by the output class.  Do not 'echo' any values with compression enabled.
|
*/
$config['compress_output'] = FALSE;

/*
|--------------------------------------------------------------------------
| Master Time Reference
|--------------------------------------------------------------------------
|
| Options are 'local' or 'gmt'.  This pref tells the system whether to use
| your server's local time as the master 'now' reference, or convert it to
| GMT.  See the 'date helper' page of the user guide for information
| regarding date handling.
|
*/
$config['time_reference'] = 'local';


/*
|--------------------------------------------------------------------------
| Rewrite PHP Short Tags
|--------------------------------------------------------------------------
|
| If your PHP installation does not have short tag support enabled CI
| can rewrite the tags on-the-fly, enabling you to utilize that syntax
| in your view files.  Options are TRUE or FALSE (boolean)
|
*/
$config['rewrite_short_tags'] = FALSE;


/*
|--------------------------------------------------------------------------
| Reverse Proxy IPs
|--------------------------------------------------------------------------
|
| If your server is behind a reverse proxy, you must whitelist the proxy IP
| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR
| header in order to properly identify the visitor's IP address.
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201'
|
*/
$config['proxy_ips'] = '';


/* End of file config.php */
/* Location: ./application/config/config.php */


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/constants.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/*
|--------------------------------------------------------------------------
| File and Directory Modes
|--------------------------------------------------------------------------
|
| These prefs are used when checking and setting modes when working
| with the file system.  The defaults are fine on servers with proper
| security, but you may wish (or even need) to change the values in
| certain environments (Apache running a separate process for each
| user, PHP under CGI with Apache suEXEC, etc.).  Octal values should
| always be used to set the mode correctly.
|
*/
define('FILE_READ_MODE', 0644);
define('FILE_WRITE_MODE', 0666);
define('DIR_READ_MODE', 0755);
define('DIR_WRITE_MODE', 0777);

/*
|--------------------------------------------------------------------------
| File Stream Modes
|--------------------------------------------------------------------------
|
| These modes are used when working with fopen()/popen()
|
*/

define('FOPEN_READ',							'rb');
define('FOPEN_READ_WRITE',						'r+b');
define('FOPEN_WRITE_CREATE_DESTRUCTIVE',		'wb'); // truncates existing file data, use with care
define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE',	'w+b'); // truncates existing file data, use with care
define('FOPEN_WRITE_CREATE',					'ab');
define('FOPEN_READ_WRITE_CREATE',				'a+b');
define('FOPEN_WRITE_CREATE_STRICT',				'xb');
define('FOPEN_READ_WRITE_CREATE_STRICT',		'x+b');


/* End of file constants.php */
/* Location: ./application/config/constants.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/database.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
|	['hostname'] The hostname of your database server.
|	['username'] The username used to connect to the database
|	['password'] The password used to connect to the database
|	['database'] The name of the database you want to connect to
|	['dbdriver'] The database type. ie: mysql.  Currently supported:
				 mysql, mysqli, postgre, odbc, mssql, sqlite, oci8
|	['dbprefix'] You can add an optional prefix, which will be added
|				 to the table name when using the  Active Record class
|	['pconnect'] TRUE/FALSE - Whether to use a persistent connection
|	['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
|	['cache_on'] TRUE/FALSE - Enables/disables query caching
|	['cachedir'] The path to the folder where cache files should be stored
|	['char_set'] The character set used in communicating with the database
|	['dbcollat'] The character collation used in communicating with the database
|				 NOTE: For MySQL and MySQLi databases, this setting is only used
| 				 as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
|				 (and in table creation queries made with DB Forge).
| 				 There is an incompatibility in PHP with mysql_real_escape_string() which
| 				 can make your site vulnerable to SQL injection if you are using a
| 				 multi-byte character set and are running versions lower than these.
| 				 Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
|	['swap_pre'] A default table prefix that should be swapped with the dbprefix
|	['autoinit'] Whether or not to automatically initialize the database.
|	['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
|							- good for ensuring strict SQL while developing
|
| The $active_group variable lets you choose which connection group to
| make active.  By default there is only one group (the 'default' group).
|
| The $active_record variables lets you determine whether or not to load
| the active record class
*/

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;


/* End of file database.php */
/* Location: ./application/config/database.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/doctypes.php
================================================
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$_doctypes = array(
					'xhtml11'		=> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
					'xhtml1-strict'	=> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
					'xhtml1-trans'	=> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
					'xhtml1-frame'	=> '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
					'html5'			=> '<!DOCTYPE html>',
					'html4-strict'	=> '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
					'html4-trans'	=> '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
					'html4-frame'	=> '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'
					);

/* End of file doctypes.php */
/* Location: ./application/config/doctypes.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/foreign_chars.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| Foreign Characters
| -------------------------------------------------------------------
| This file contains an array of foreign characters for transliteration
| conversion used by the Text helper
|
*/
$foreign_characters = array(
	'/ä|æ|ǽ/' => 'ae',
	'/ö|œ/' => 'oe',
	'/ü/' => 'ue',
	'/Ä/' => 'Ae',
	'/Ü/' => 'Ue',
	'/Ö/' => 'Oe',
	'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A',
	'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a',
	'/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
	'/ç|ć|ĉ|ċ|č/' => 'c',
	'/Ð|Ď|Đ/' => 'D',
	'/ð|ď|đ/' => 'd',
	'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
	'/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
	'/Ĝ|Ğ|Ġ|Ģ/' => 'G',
	'/ĝ|ğ|ġ|ģ/' => 'g',
	'/Ĥ|Ħ/' => 'H',
	'/ĥ|ħ/' => 'h',
	'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/' => 'I',
	'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/' => 'i',
	'/Ĵ/' => 'J',
	'/ĵ/' => 'j',
	'/Ķ/' => 'K',
	'/ķ/' => 'k',
	'/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L',
	'/ĺ|ļ|ľ|ŀ|ł/' => 'l',
	'/Ñ|Ń|Ņ|Ň/' => 'N',
	'/ñ|ń|ņ|ň|ʼn/' => 'n',
	'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O',
	'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o',
	'/Ŕ|Ŗ|Ř/' => 'R',
	'/ŕ|ŗ|ř/' => 'r',
	'/Ś|Ŝ|Ş|Š/' => 'S',
	'/ś|ŝ|ş|š|ſ/' => 's',
	'/Ţ|Ť|Ŧ/' => 'T',
	'/ţ|ť|ŧ/' => 't',
	'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
	'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
	'/Ý|Ÿ|Ŷ/' => 'Y',
	'/ý|ÿ|ŷ/' => 'y',
	'/Ŵ/' => 'W',
	'/ŵ/' => 'w',
	'/Ź|Ż|Ž/' => 'Z',
	'/ź|ż|ž/' => 'z',
	'/Æ|Ǽ/' => 'AE',
	'/ß/'=> 'ss',
	'/IJ/' => 'IJ',
	'/ij/' => 'ij',
	'/Œ/' => 'OE',
	'/ƒ/' => 'f'
);

/* End of file foreign_chars.php */
/* Location: ./application/config/foreign_chars.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/hooks.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| Hooks
| -------------------------------------------------------------------------
| This file lets you define "hooks" to extend CI without hacking the core
| files.  Please see the user guide for info:
|
|	http://codeigniter.com/user_guide/general/hooks.html
|
*/



/* End of file hooks.php */
/* Location: ./application/config/hooks.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/migration.php
================================================
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Enable/Disable Migrations
|--------------------------------------------------------------------------
|
| Migrations are disabled by default but should be enabled 
| whenever you intend to do a schema migration.
|
*/
$config['migration_enabled'] = FALSE;


/*
|--------------------------------------------------------------------------
| Migrations version
|--------------------------------------------------------------------------
|
| This is used to set migration version that the file system should be on.
| If you run $this->migration->latest() this is the version that schema will
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 0;


/*
|--------------------------------------------------------------------------
| Migrations Path
|--------------------------------------------------------------------------
|
| Path to your migrations folder.
| Typically, it will be within your application path.
| Also, writing permission is required within the migrations path.
|
*/
$config['migration_path'] = APPPATH . 'migrations/';


/* End of file migration.php */
/* Location: ./application/config/migration.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/mimes.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| MIME TYPES
| -------------------------------------------------------------------
| This file contains an array of mime types.  It is used by the
| Upload class to help identify allowed file types.
|
*/

$mimes = array(	'hqx'	=>	'application/mac-binhex40',
				'cpt'	=>	'application/mac-compactpro',
				'csv'	=>	array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
				'bin'	=>	'application/macbinary',
				'dms'	=>	'application/octet-stream',
				'lha'	=>	'application/octet-stream',
				'lzh'	=>	'application/octet-stream',
				'exe'	=>	array('application/octet-stream', 'application/x-msdownload'),
				'class'	=>	'application/octet-stream',
				'psd'	=>	'application/x-photoshop',
				'so'	=>	'application/octet-stream',
				'sea'	=>	'application/octet-stream',
				'dll'	=>	'application/octet-stream',
				'oda'	=>	'application/oda',
				'pdf'	=>	array('application/pdf', 'application/x-download'),
				'ai'	=>	'application/postscript',
				'eps'	=>	'application/postscript',
				'ps'	=>	'application/postscript',
				'smi'	=>	'application/smil',
				'smil'	=>	'application/smil',
				'mif'	=>	'application/vnd.mif',
				'xls'	=>	array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
				'ppt'	=>	array('application/powerpoint', 'application/vnd.ms-powerpoint'),
				'wbxml'	=>	'application/wbxml',
				'wmlc'	=>	'application/wmlc',
				'dcr'	=>	'application/x-director',
				'dir'	=>	'application/x-director',
				'dxr'	=>	'application/x-director',
				'dvi'	=>	'application/x-dvi',
				'gtar'	=>	'application/x-gtar',
				'gz'	=>	'application/x-gzip',
				'php'	=>	'application/x-httpd-php',
				'php4'	=>	'application/x-httpd-php',
				'php3'	=>	'application/x-httpd-php',
				'phtml'	=>	'application/x-httpd-php',
				'phps'	=>	'application/x-httpd-php-source',
				'js'	=>	'application/x-javascript',
				'swf'	=>	'application/x-shockwave-flash',
				'sit'	=>	'application/x-stuffit',
				'tar'	=>	'application/x-tar',
				'tgz'	=>	array('application/x-tar', 'application/x-gzip-compressed'),
				'xhtml'	=>	'application/xhtml+xml',
				'xht'	=>	'application/xhtml+xml',
				'zip'	=>  array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
				'mid'	=>	'audio/midi',
				'midi'	=>	'audio/midi',
				'mpga'	=>	'audio/mpeg',
				'mp2'	=>	'audio/mpeg',
				'mp3'	=>	array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
				'aif'	=>	'audio/x-aiff',
				'aiff'	=>	'audio/x-aiff',
				'aifc'	=>	'audio/x-aiff',
				'ram'	=>	'audio/x-pn-realaudio',
				'rm'	=>	'audio/x-pn-realaudio',
				'rpm'	=>	'audio/x-pn-realaudio-plugin',
				'ra'	=>	'audio/x-realaudio',
				'rv'	=>	'video/vnd.rn-realvideo',
				'wav'	=>	array('audio/x-wav', 'audio/wave', 'audio/wav'),
				'bmp'	=>	array('image/bmp', 'image/x-windows-bmp'),
				'gif'	=>	'image/gif',
				'jpeg'	=>	array('image/jpeg', 'image/pjpeg'),
				'jpg'	=>	array('image/jpeg', 'image/pjpeg'),
				'jpe'	=>	array('image/jpeg', 'image/pjpeg'),
				'png'	=>	array('image/png',  'image/x-png'),
				'tiff'	=>	'image/tiff',
				'tif'	=>	'image/tiff',
				'css'	=>	'text/css',
				'html'	=>	'text/html',
				'htm'	=>	'text/html',
				'shtml'	=>	'text/html',
				'txt'	=>	'text/plain',
				'text'	=>	'text/plain',
				'log'	=>	array('text/plain', 'text/x-log'),
				'rtx'	=>	'text/richtext',
				'rtf'	=>	'text/rtf',
				'xml'	=>	'text/xml',
				'xsl'	=>	'text/xml',
				'mpeg'	=>	'video/mpeg',
				'mpg'	=>	'video/mpeg',
				'mpe'	=>	'video/mpeg',
				'qt'	=>	'video/quicktime',
				'mov'	=>	'video/quicktime',
				'avi'	=>	'video/x-msvideo',
				'movie'	=>	'video/x-sgi-movie',
				'doc'	=>	'application/msword',
				'docx'	=>	array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
				'xlsx'	=>	array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
				'word'	=>	array('application/msword', 'application/octet-stream'),
				'xl'	=>	'application/excel',
				'eml'	=>	'message/rfc822',
				'json' => array('application/json', 'text/json')
			);


/* End of file mimes.php */
/* Location: ./application/config/mimes.php */


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/profiler.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| Profiler Sections
| -------------------------------------------------------------------------
| This file lets you determine whether or not various sections of Profiler
| data are displayed when the Profiler is enabled.
| Please see the user guide for info:
|
|	http://codeigniter.com/user_guide/general/profiling.html
|
*/



/* End of file profiler.php */
/* Location: ./application/config/profiler.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/routes.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| URI ROUTING
| -------------------------------------------------------------------------
| This file lets you re-map URI requests to specific controller functions.
|
| Typically there is a one-to-one relationship between a URL string
| and its corresponding controller class/method. The segments in a
| URL normally follow this pattern:
|
|	example.com/class/method/id/
|
| In some instances, however, you may want to remap this relationship
| so that a different class/function is called than the one
| corresponding to the URL.
|
| Please see the user guide for complete details:
|
|	http://codeigniter.com/user_guide/general/routing.html
|
| -------------------------------------------------------------------------
| RESERVED ROUTES
| -------------------------------------------------------------------------
|
| There area two reserved routes:
|
|	$route['default_controller'] = 'welcome';
|
| This route indicates which controller class should be loaded if the
| URI contains no data. In the above example, the "welcome" class
| would be loaded.
|
|	$route['404_override'] = 'errors/page_missing';
|
| This route will tell the Router what URI segments to use if those provided
| in the URL cannot be matched to a valid route.
|
*/

$route['default_controller'] = "uploader";
$route['404_override'] = '';

$route['(:any)'] = "uploader/$1";


/* End of file routes.php */
/* Location: ./application/config/routes.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/smileys.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| SMILEYS
| -------------------------------------------------------------------
| This file contains an array of smileys for use with the emoticon helper.
| Individual images can be used to replace multiple simileys.  For example:
| :-) and :) use the same image replacement.
|
| Please see user guide for more info:
| http://codeigniter.com/user_guide/helpers/smiley_helper.html
|
*/

$smileys = array(

//	smiley			image name						width	height	alt

	':-)'			=>	array('grin.gif',			'19',	'19',	'grin'),
	':lol:'			=>	array('lol.gif',			'19',	'19',	'LOL'),
	':cheese:'		=>	array('cheese.gif',			'19',	'19',	'cheese'),
	':)'			=>	array('smile.gif',			'19',	'19',	'smile'),
	';-)'			=>	array('wink.gif',			'19',	'19',	'wink'),
	';)'			=>	array('wink.gif',			'19',	'19',	'wink'),
	':smirk:'		=>	array('smirk.gif',			'19',	'19',	'smirk'),
	':roll:'		=>	array('rolleyes.gif',		'19',	'19',	'rolleyes'),
	':-S'			=>	array('confused.gif',		'19',	'19',	'confused'),
	':wow:'			=>	array('surprise.gif',		'19',	'19',	'surprised'),
	':bug:'			=>	array('bigsurprise.gif',	'19',	'19',	'big surprise'),
	':-P'			=>	array('tongue_laugh.gif',	'19',	'19',	'tongue laugh'),
	'%-P'			=>	array('tongue_rolleye.gif',	'19',	'19',	'tongue rolleye'),
	';-P'			=>	array('tongue_wink.gif',	'19',	'19',	'tongue wink'),
	':P'			=>	array('raspberry.gif',		'19',	'19',	'raspberry'),
	':blank:'		=>	array('blank.gif',			'19',	'19',	'blank stare'),
	':long:'		=>	array('longface.gif',		'19',	'19',	'long face'),
	':ohh:'			=>	array('ohh.gif',			'19',	'19',	'ohh'),
	':grrr:'		=>	array('grrr.gif',			'19',	'19',	'grrr'),
	':gulp:'		=>	array('gulp.gif',			'19',	'19',	'gulp'),
	'8-/'			=>	array('ohoh.gif',			'19',	'19',	'oh oh'),
	':down:'		=>	array('downer.gif',			'19',	'19',	'downer'),
	':red:'			=>	array('embarrassed.gif',	'19',	'19',	'red face'),
	':sick:'		=>	array('sick.gif',			'19',	'19',	'sick'),
	':shut:'		=>	array('shuteye.gif',		'19',	'19',	'shut eye'),
	':-/'			=>	array('hmm.gif',			'19',	'19',	'hmmm'),
	'>:('			=>	array('mad.gif',			'19',	'19',	'mad'),
	':mad:'			=>	array('mad.gif',			'19',	'19',	'mad'),
	'>:-('			=>	array('angry.gif',			'19',	'19',	'angry'),
	':angry:'		=>	array('angry.gif',			'19',	'19',	'angry'),
	':zip:'			=>	array('zip.gif',			'19',	'19',	'zipper'),
	':kiss:'		=>	array('kiss.gif',			'19',	'19',	'kiss'),
	':ahhh:'		=>	array('shock.gif',			'19',	'19',	'shock'),
	':coolsmile:'	=>	array('shade_smile.gif',	'19',	'19',	'cool smile'),
	':coolsmirk:'	=>	array('shade_smirk.gif',	'19',	'19',	'cool smirk'),
	':coolgrin:'	=>	array('shade_grin.gif',		'19',	'19',	'cool grin'),
	':coolhmm:'		=>	array('shade_hmm.gif',		'19',	'19',	'cool hmm'),
	':coolmad:'		=>	array('shade_mad.gif',		'19',	'19',	'cool mad'),
	':coolcheese:'	=>	array('shade_cheese.gif',	'19',	'19',	'cool cheese'),
	':vampire:'		=>	array('vampire.gif',		'19',	'19',	'vampire'),
	':snake:'		=>	array('snake.gif',			'19',	'19',	'snake'),
	':exclaim:'		=>	array('exclaim.gif',		'19',	'19',	'excaim'),
	':question:'	=>	array('question.gif',		'19',	'19',	'question') // no comma after last item

		);

/* End of file smileys.php */
/* Location: ./application/config/smileys.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/uploader_settings.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/* This config is a wrapper for the file below: */

require('../config.php');



/* End of file uploader_settings.php */
/* Location: ./system/application/config/uploader_settings.php */


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/config/user_agents.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| USER AGENT TYPES
| -------------------------------------------------------------------
| This file contains four arrays of user agent data.  It is used by the
| User Agent Class to help identify browser, platform, robot, and
| mobile device data.  The array keys are used to identify the device
| and the array values are used to set the actual name of the item.
|
*/

$platforms = array (
					'windows nt 6.0'	=> 'Windows Longhorn',
					'windows nt 5.2'	=> 'Windows 2003',
					'windows nt 5.0'	=> 'Windows 2000',
					'windows nt 5.1'	=> 'Windows XP',
					'windows nt 4.0'	=> 'Windows NT 4.0',
					'winnt4.0'			=> 'Windows NT 4.0',
					'winnt 4.0'			=> 'Windows NT',
					'winnt'				=> 'Windows NT',
					'windows 98'		=> 'Windows 98',
					'win98'				=> 'Windows 98',
					'windows 95'		=> 'Windows 95',
					'win95'				=> 'Windows 95',
					'windows'			=> 'Unknown Windows OS',
					'os x'				=> 'Mac OS X',
					'ppc mac'			=> 'Power PC Mac',
					'freebsd'			=> 'FreeBSD',
					'ppc'				=> 'Macintosh',
					'linux'				=> 'Linux',
					'debian'			=> 'Debian',
					'sunos'				=> 'Sun Solaris',
					'beos'				=> 'BeOS',
					'apachebench'		=> 'ApacheBench',
					'aix'				=> 'AIX',
					'irix'				=> 'Irix',
					'osf'				=> 'DEC OSF',
					'hp-ux'				=> 'HP-UX',
					'netbsd'			=> 'NetBSD',
					'bsdi'				=> 'BSDi',
					'openbsd'			=> 'OpenBSD',
					'gnu'				=> 'GNU/Linux',
					'unix'				=> 'Unknown Unix OS'
				);


// The order of this array should NOT be changed. Many browsers return
// multiple browser types so we want to identify the sub-type first.
$browsers = array(
					'Flock'				=> 'Flock',
					'Chrome'			=> 'Chrome',
					'Opera'				=> 'Opera',
					'MSIE'				=> 'Internet Explorer',
					'Internet Explorer'	=> 'Internet Explorer',
					'Shiira'			=> 'Shiira',
					'Firefox'			=> 'Firefox',
					'Chimera'			=> 'Chimera',
					'Phoenix'			=> 'Phoenix',
					'Firebird'			=> 'Firebird',
					'Camino'			=> 'Camino',
					'Netscape'			=> 'Netscape',
					'OmniWeb'			=> 'OmniWeb',
					'Safari'			=> 'Safari',
					'Mozilla'			=> 'Mozilla',
					'Konqueror'			=> 'Konqueror',
					'icab'				=> 'iCab',
					'Lynx'				=> 'Lynx',
					'Links'				=> 'Links',
					'hotjava'			=> 'HotJava',
					'amaya'				=> 'Amaya',
					'IBrowse'			=> 'IBrowse'
				);

$mobiles = array(
					// legacy array, old values commented out
					'mobileexplorer'	=> 'Mobile Explorer',
//					'openwave'			=> 'Open Wave',
//					'opera mini'		=> 'Opera Mini',
//					'operamini'			=> 'Opera Mini',
//					'elaine'			=> 'Palm',
					'palmsource'		=> 'Palm',
//					'digital paths'		=> 'Palm',
//					'avantgo'			=> 'Avantgo',
//					'xiino'				=> 'Xiino',
					'palmscape'			=> 'Palmscape',
//					'nokia'				=> 'Nokia',
//					'ericsson'			=> 'Ericsson',
//					'blackberry'		=> 'BlackBerry',
//					'motorola'			=> 'Motorola'

					// Phones and Manufacturers
					'motorola'			=> "Motorola",
					'nokia'				=> "Nokia",
					'palm'				=> "Palm",
					'iphone'			=> "Apple iPhone",
					'ipad'				=> "iPad",
					'ipod'				=> "Apple iPod Touch",
					'sony'				=> "Sony Ericsson",
					'ericsson'			=> "Sony Ericsson",
					'blackberry'		=> "BlackBerry",
					'cocoon'			=> "O2 Cocoon",
					'blazer'			=> "Treo",
					'lg'				=> "LG",
					'amoi'				=> "Amoi",
					'xda'				=> "XDA",
					'mda'				=> "MDA",
					'vario'				=> "Vario",
					'htc'				=> "HTC",
					'samsung'			=> "Samsung",
					'sharp'				=> "Sharp",
					'sie-'				=> "Siemens",
					'alcatel'			=> "Alcatel",
					'benq'				=> "BenQ",
					'ipaq'				=> "HP iPaq",
					'mot-'				=> "Motorola",
					'playstation portable'	=> "PlayStation Portable",
					'hiptop'			=> "Danger Hiptop",
					'nec-'				=> "NEC",
					'panasonic'			=> "Panasonic",
					'philips'			=> "Philips",
					'sagem'				=> "Sagem",
					'sanyo'				=> "Sanyo",
					'spv'				=> "SPV",
					'zte'				=> "ZTE",
					'sendo'				=> "Sendo",

					// Operating Systems
					'symbian'				=> "Symbian",
					'SymbianOS'				=> "SymbianOS",
					'elaine'				=> "Palm",
					'palm'					=> "Palm",
					'series60'				=> "Symbian S60",
					'windows ce'			=> "Windows CE",

					// Browsers
					'obigo'					=> "Obigo",
					'netfront'				=> "Netfront Browser",
					'openwave'				=> "Openwave Browser",
					'mobilexplorer'			=> "Mobile Explorer",
					'operamini'				=> "Opera Mini",
					'opera mini'			=> "Opera Mini",

					// Other
					'digital paths'			=> "Digital Paths",
					'avantgo'				=> "AvantGo",
					'xiino'					=> "Xiino",
					'novarra'				=> "Novarra Transcoder",
					'vodafone'				=> "Vodafone",
					'docomo'				=> "NTT DoCoMo",
					'o2'					=> "O2",

					// Fallback
					'mobile'				=> "Generic Mobile",
					'wireless'				=> "Generic Mobile",
					'j2me'					=> "Generic Mobile",
					'midp'					=> "Generic Mobile",
					'cldc'					=> "Generic Mobile",
					'up.link'				=> "Generic Mobile",
					'up.browser'			=> "Generic Mobile",
					'smartphone'			=> "Generic Mobile",
					'cellphone'				=> "Generic Mobile"
				);

// There are hundreds of bots but these are the most common.
$robots = array(
					'googlebot'			=> 'Googlebot',
					'msnbot'			=> 'MSNBot',
					'slurp'				=> 'Inktomi Slurp',
					'yahoo'				=> 'Yahoo',
					'askjeeves'			=> 'AskJeeves',
					'fastcrawler'		=> 'FastCrawler',
					'infoseek'			=> 'InfoSeek Robot 1.0',
					'lycos'				=> 'Lycos'
				);

/* End of file user_agents.php */
/* Location: ./application/config/user_agents.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/controllers/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/controllers/uploader.php
================================================
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Uploader extends CI_Controller {
	
	/* Constructor */
	
	public function __construct()
	{
		parent::__construct();
		$this->load->helper(array('jbimages','language'));
		
		// is_allowed is a helper function which is supposed to return False if upload operation is forbidden
		// [See jbimages/is_alllowed.php] 
		
		if (is_allowed() === FALSE)
		{
			exit;
		}
		
		// User configured settings
		$this->config->load('uploader_settings', TRUE);
	}
	
	/* Language set */
	
	private function _lang_set($lang)
	{
		// We accept any language set as lang_id in **_dlg.js
		// Therefore an error will occur if language file doesn't exist
		
		$this->config->set_item('language', $lang);
		$this->lang->load('jbstrings', $lang);
	}
	
	/* Default upload routine */
		
	public function upload ($lang='english')
	{
		// Set language
		$this->_lang_set($lang);
		
		// Get configuartion data (we fill up 2 arrays - $config and $conf)
		
		$conf['img_path']			= $this->config->item('img_path',		'uploader_settings');
		$conf['allow_resize']		= $this->config->item('allow_resize',	'uploader_settings');
		
		$config['allowed_types']	= $this->config->item('allowed_types',	'uploader_settings');
		$config['max_size']			= $this->config->item('max_size',		'uploader_settings');
		$config['encrypt_name']		= $this->config->item('encrypt_name',	'uploader_settings');
		$config['overwrite']		= $this->config->item('overwrite',		'uploader_settings');
		$config['upload_path']		= $this->config->item('upload_path',	'uploader_settings');
		
		if (!$conf['allow_resize'])
		{
			$config['max_width']	= $this->config->item('max_width',		'uploader_settings');
			$config['max_height']	= $this->config->item('max_height',		'uploader_settings');
		}
		else
		{
			$conf['max_width']		= $this->config->item('max_width',		'uploader_settings');
			$conf['max_height']		= $this->config->item('max_height',		'uploader_settings');
			
			if ($conf['max_width'] == 0 and $conf['max_height'] == 0)
			{
				$conf['allow_resize'] = FALSE;
			}
		}
		
		// Load uploader
		$this->load->library('upload', $config);
		
		if ($this->upload->do_upload()) // Success
		{
			// General result data
			$result = $this->upload->data();
			
			// Shall we resize an image?
			if ($conf['allow_resize'] and $conf['max_width'] > 0 and $conf['max_height'] > 0 and (($result['image_width'] > $conf['max_width']) or ($result['image_height'] > $conf['max_height'])))
			{				
				// Resizing parameters
				$resizeParams = array
				(
					'source_image'	=> $result['full_path'],
					'new_image'		=> $result['full_path'],
					'width'			=> $conf['max_width'],
					'height'		=> $conf['max_height']
				);
				
				// Load resize library
				$this->load->library('image_lib', $resizeParams);
				
				// Do resize
				$this->image_lib->resize();
			}
			
			// Add our stuff
			$result['result']		= "file_uploaded";
			$result['resultcode']	= 'ok';
			$result['file_name']	= $conf['img_path'] . '/' . $result['file_name'];
			
			// Output to user
			$this->load->view('ajax_upload_result', $result);
		}
		else // Failure
		{
			// Compile data for output
			$result['result']		= $this->upload->display_errors(' ', ' ');
			$result['resultcode']	= 'failed';
			
			// Output to user
			$this->load->view('ajax_upload_result', $result);
		}
	}
	
	/* Blank Page (default source for iframe) */
	
	public function blank($lang='english')
	{
		$this->_lang_set($lang);
		$this->load->view('blank');
	}
	
	public function index($lang='english')
	{
		$this->blank($lang);
	}
}

/* End of file uploader.php */
/* Location: ./application/controllers/uploader.php */


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/errors/error_404.php
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<title>404 Page Not Found</title>
<style type="text/css">

::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }

body {
	background-color: #fff;
	margin: 40px;
	font: 13px/20px normal Helvetica, Arial, sans-serif;
	color: #4F5155;
}

a {
	color: #003399;
	background-color: transparent;
	font-weight: normal;
}

h1 {
	color: #444;
	background-color: transparent;
	border-bottom: 1px solid #D0D0D0;
	font-size: 19px;
	font-weight: normal;
	margin: 0 0 14px 0;
	padding: 14px 15px 10px 15px;
}

code {
	font-family: Consolas, Monaco, Courier New, Courier, monospace;
	font-size: 12px;
	background-color: #f9f9f9;
	border: 1px solid #D0D0D0;
	color: #002166;
	display: block;
	margin: 14px 0 14px 0;
	padding: 12px 10px 12px 10px;
}

#container {
	margin: 10px;
	border: 1px solid #D0D0D0;
	-webkit-box-shadow: 0 0 8px #D0D0D0;
}

p {
	margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
	<div id="container">
		<h1><?php echo $heading; ?></h1>
		<?php echo $message; ?>
	</div>
</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/errors/error_db.php
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<title>Database Error</title>
<style type="text/css">

::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }

body {
	background-color: #fff;
	margin: 40px;
	font: 13px/20px normal Helvetica, Arial, sans-serif;
	color: #4F5155;
}

a {
	color: #003399;
	background-color: transparent;
	font-weight: normal;
}

h1 {
	color: #444;
	background-color: transparent;
	border-bottom: 1px solid #D0D0D0;
	font-size: 19px;
	font-weight: normal;
	margin: 0 0 14px 0;
	padding: 14px 15px 10px 15px;
}

code {
	font-family: Consolas, Monaco, Courier New, Courier, monospace;
	font-size: 12px;
	background-color: #f9f9f9;
	border: 1px solid #D0D0D0;
	color: #002166;
	display: block;
	margin: 14px 0 14px 0;
	padding: 12px 10px 12px 10px;
}

#container {
	margin: 10px;
	border: 1px solid #D0D0D0;
	-webkit-box-shadow: 0 0 8px #D0D0D0;
}

p {
	margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
	<div id="container">
		<h1><?php echo $heading; ?></h1>
		<?php echo $message; ?>
	</div>
</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/errors/error_general.php
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<title>Error</title>
<style type="text/css">

::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }

body {
	background-color: #fff;
	margin: 40px;
	font: 13px/20px normal Helvetica, Arial, sans-serif;
	color: #4F5155;
}

a {
	color: #003399;
	background-color: transparent;
	font-weight: normal;
}

h1 {
	color: #444;
	background-color: transparent;
	border-bottom: 1px solid #D0D0D0;
	font-size: 19px;
	font-weight: normal;
	margin: 0 0 14px 0;
	padding: 14px 15px 10px 15px;
}

code {
	font-family: Consolas, Monaco, Courier New, Courier, monospace;
	font-size: 12px;
	background-color: #f9f9f9;
	border: 1px solid #D0D0D0;
	color: #002166;
	display: block;
	margin: 14px 0 14px 0;
	padding: 12px 10px 12px 10px;
}

#container {
	margin: 10px;
	border: 1px solid #D0D0D0;
	-webkit-box-shadow: 0 0 8px #D0D0D0;
}

p {
	margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
	<div id="container">
		<h1><?php echo $heading; ?></h1>
		<?php echo $message; ?>
	</div>
</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/errors/error_php.php
================================================
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: <?php echo $severity; ?></p>
<p>Message:  <?php echo $message; ?></p>
<p>Filename: <?php echo $filepath; ?></p>
<p>Line Number: <?php echo $line; ?></p>

</div>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/errors/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/helpers/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/helpers/jbimages_helper.php
================================================
<?php
/* 	
	This Helper is a wrapper of the file below
*/

include("../is_allowed.php");

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/english/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/english/jbstrings_lang.php
================================================
<?php

$lang['jb_blankpage_message'] = "The Upload process had not started, or started, but had not finished yet, or your browser could not reach the remote server.";

/* End of file jbstrings_lang.php */
/* Location: ./application/language/english/jbstrings_lang.php */


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/french/imglib_lang.php
================================================
<?php defined('BASEPATH') OR exit('No direct script access allowed');

$lang['imglib_source_image_required'] = "Vous devez sp&eacute;cifier une image source dans vos pr&eacute;f&eacute;rences.";
$lang['imglib_gd_required'] = "La librairie GD est requise pour cette fonctionnalit&eacute;.";
$lang['imglib_gd_required_for_props'] = "Votre serveur doit supporter la librairie d\'images GD pour d&eacute;terminer les propri&eacute;t&eacute;s de l\'image";
$lang['imglib_unsupported_imagecreate'] = "Votre serveur ne dispose pas de la fonction GD n&eacute;cessaire pour traiter ce type d\'image.";
$lang['imglib_gif_not_supported'] = "Le format GIF est souvent inutilisable du fait de restrictions de licence. Vous devriez utiliser le format JPG ou PNG &agrave; la place.";
$lang['imglib_jpg_not_supported'] = "Le format JPG n\'est pas support&eacute;.";
$lang['imglib_png_not_supported'] = "Le format PNG n\'est pas support&eacute;.";
$lang['imglib_jpg_or_png_required'] = "Le protocole de redimensionnement sp&eacute;cifi&eacute; dans vos pr&eacute;f&eacute;rences ne fonctionne qu\'avec les formats d\'image JPG ou PNG.";
$lang['imglib_copy_error'] = "Une erreur est survenue lors du remplacement du fichier. Veuillez v&eacute;rifier les permissions d\'&eacute;criture de votre r&eacute;pertoire.";
$lang['imglib_rotate_unsupported'] = "Votre serveur ne supporte apparemment pas la rotation d\'images.";
$lang['imglib_libpath_invalid'] = "Le chemin d\'acc&egrave;s &agrave; votre librairie de traitement d\'image n\'est pas correct. Veuillez indiquer le chemin correct dans vos pr&eacute;f&eacute;rences.";
$lang['imglib_image_process_failed'] = "Le traitement de l\'image a &eacute;chou&eacute;. Veuillez v&eacute;rifier que votre serveur supporte le protocole choisi et que le chemin d\'acc&egrave;s &agrave; votre librairie de traitement d\'image est correct.";
$lang['imglib_rotation_angle_required'] = "Un angle de rotation doit &ecirc;tre indiqu&eacute; pour effectuer cette transformation sur l\'image.";
$lang['imglib_writing_failed_gif'] = "Image GIF ";
$lang['imglib_invalid_path'] = "Le chemin d\'acc&egrave;s &agrave; l\'image est incorrect.";
$lang['imglib_copy_failed'] = "Le processus de copie d\'image a &eacute;chou&eacute;.";
$lang['imglib_missing_font'] = "Impossible de trouver une police de caract&egrave;res utilisable.";
$lang['imglib_save_failed'] = "Impossible d\'enregistrer l\'image. V&eacute;rifiez que l\'image et le dossier disposent des droits d\'&eacute;criture.";


/* End of file imglib_lang.php */
/* Location: ./application/language/french/imglib_lang.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/french/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/french/jbstrings_lang.php
================================================
<?php

$lang['jb_blankpage_message'] = "Le processus de téléchargement n\'a pas encore commencé"; // Google translate))

/* End of file jbstrings_lang.php */
/* Location: ./application/language/french/jbstrings_lang.php */


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/french/upload_lang.php
================================================
<?php defined('BASEPATH') OR exit('No direct script access allowed');

$lang['upload_userfile_not_set'] = "Impossible de trouver une variable de type POST nomm&eacute;e userfile.";
$lang['upload_file_exceeds_limit'] = "Le fichier envoy&eacute; d&eacute;passe la taille limite d&eacute;finie dans votre fichier de configuration PHP.";
$lang['upload_file_exceeds_form_limit'] = "Le fichier charg&eacute; d&eacute;passe la taille limite d&eacute;finie par le formulaire de soumission.";
$lang['upload_file_partial'] = "Le fichier n\'a &eacute;t&eacute; que partiellement envoy&eacute;.";
$lang['upload_no_temp_directory'] = "Le dossier temporaire manque.";
$lang['upload_unable_to_write_file'] = "Incapable d\'&eacute;crire le fichier sur disque.";
$lang['upload_stopped_by_extension'] = "Le chargement du fichier a &eacute;t&eacute; arr&ecirc;t&eacute; par une extension.";
$lang['upload_no_file_selected'] = "Vous n\'avez pas s&eacute;lectionn&eacute; de fichier &agrave; envoyer.";
$lang['upload_invalid_filetype'] = "Le type de fichier que vous tentez d\'envoyer n\'est pas autoris&eacute;.";
$lang['upload_invalid_filesize'] = "Le fichier que vous tentez d\'envoyer est plus gros que la taille autoris&eacute;e.";
$lang['upload_invalid_dimensions'] = "L\'image que vous tentez d\'envoyer d&eacute;passe les valeurs maximales autoris&eacute;es pour la hauteur ou la largeur.";
$lang['upload_destination_error'] = "Une erreur est survenue lors du d&eacute;placement du fichier envoy&eacute; vers sa destination finale.";
$lang['upload_no_filepath'] = "Le chemin de destination semble invalide.";
$lang['upload_no_file_types'] = "Vous n\'avez pas sp&eacute;cifi&eacute; les types de fichier autoris&eacute;s.";
$lang['upload_bad_filename'] = "Un fichier avec le m&ecirc;me nom que celui que vous avez envoy&eacute; existe d&eacute;j&agrave; sur le serveur.";
$lang['upload_not_writable'] = "Le r&eacute;pertoire de destination ne semble pas &ecirc;tre accessible en &eacute;criture.";


/* End of file upload_lang.php */
/* Location: ./application/language/french/upload_lang.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/russian/imglib_lang.php
================================================
<?php

$lang['imglib_source_image_required'] = "You must specify a source image in your preferences.";
$lang['imglib_gd_required'] = "The GD image library is required for this feature.";
$lang['imglib_gd_required_for_props'] = "Your server must support the GD image library in order to determine the image properties.";
$lang['imglib_unsupported_imagecreate'] = "Your server does not support the GD function required to process this type of image.";
$lang['imglib_gif_not_supported'] = "GIF images are often not supported due to licensing restrictions.  You may have to use JPG or PNG images instead.";
$lang['imglib_jpg_not_supported'] = "JPG images are not supported.";
$lang['imglib_png_not_supported'] = "PNG images are not supported.";
$lang['imglib_jpg_or_png_required'] = "The image resize protocol specified in your preferences only works with JPEG or PNG image types.";
$lang['imglib_copy_error'] = "An error was encountered while attempting to replace the file.  Please make sure your file directory is writable.";
$lang['imglib_rotate_unsupported'] = "Image rotation does not appear to be supported by your server.";
$lang['imglib_libpath_invalid'] = "The path to your image library is not correct.  Please set the correct path in your image preferences.";
$lang['imglib_image_process_failed'] = "Image processing failed.  Please verify that your server supports the chosen protocol and that the path to your image library is correct.";
$lang['imglib_rotation_angle_required'] = "An angle of rotation is required to rotate the image.";
$lang['imglib_writing_failed_gif'] = "GIF image.";
$lang['imglib_invalid_path'] = "The path to the image is not correct.";
$lang['imglib_copy_failed'] = "The image copy routine failed.";
$lang['imglib_missing_font'] = "Unable to find a font to use.";
$lang['imglib_save_failed'] = "Unable to save the image.  Please make sure the image and file directory are writable.";


/* End of file imglib_lang.php */
/* Location: ./system/language/english/imglib_lang.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/russian/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/russian/jbstrings_lang.php
================================================
<?php

$lang['jb_blankpage_message'] = "Процесс загрузки еще не начался, либо начался и еще не завершился, либо просто нет связи с удаленным сервером.";

/* End of file jbstrings_lang.php */
/* Location: ./application/language/russian/jbstrings_lang.php */


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/language/russian/upload_lang.php
================================================
<?php

$lang['upload_userfile_not_set'] = "Не найдена переменная POST[userfile].";
$lang['upload_file_exceeds_limit'] = "Размер файла слишком большой для загрузки.";
$lang['upload_file_exceeds_form_limit'] = "Размер файла слишком большой.";
$lang['upload_file_partial'] = "Файл загрузился неполностью.";
$lang['upload_no_temp_directory'] = "Внутренняя ошибка. Проблемы с временной папкой.";
$lang['upload_unable_to_write_file'] = "Внутренняя ошибка. Проблемы с записью на диск.";
$lang['upload_stopped_by_extension'] = "Загрузка прервана по неизвестной причине.";
$lang['upload_no_file_selected'] = "Пожалуйста, выберите файл для загрузки.";
$lang['upload_invalid_filetype'] = "Тип файла запрещен для загрузки.";
$lang['upload_invalid_filesize'] = "Ваш файл больше разрешенного размера.";
$lang['upload_invalid_dimensions'] = "Изображение которое вы пытаетесь загрузить превосходит максимально допустимые ширину/высоту.";
$lang['upload_destination_error'] = "Внутренняя ошибка. Проблема с переносом файла в конечную папку.";
$lang['upload_no_filepath'] = "Внутренняя ошибка. Указанный путь для загрузки неверен.";
$lang['upload_no_file_types'] = "Внутренняя ошибка. Не указан перечень разрешенных для загрузки типов.";
$lang['upload_bad_filename'] = "Файл уже существует.";
$lang['upload_not_writable'] = "Внутренняя ошибка. Конечная папка не представляется разрешенной для записи.";


/* End of file upload_lang.php */
/* Location: ./application/language/russian/upload_lang.php */


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/views/ajax_upload_result.php
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JustBoil's Result Page</title>
<script language="javascript" type="text/javascript">
	window.parent.window.jbImagesDialog.uploadFinish({
		filename:'<?php echo $file_name; ?>',
		result: '<?php echo $result; ?>',
		resultCode: '<?php echo $resultcode; ?>'
	});
</script>
<style type="text/css">
	body {font-family: Courier, "Courier New", monospace; font-size:11px;}
</style>
</head>

<body>

Result: <?php echo $result; ?>

</body>
</html>


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/views/blank.php
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JustBoil's Blank</title>
<style type="text/css">
	body {font-family: Courier, "Courier New", monospace; font-size:11px;}
</style>
</head>

<body>

<p><?=lang('jb_blankpage_message') ?></p>

</body>
</html>


================================================
FILE: js/tinymce/plugins/jbimages/ci/application/views/index.html
================================================
<html>
<head>
	<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>

================================================
FILE: js/tinymce/plugins/jbimages/ci/index.php
================================================
<?php

/*
 *---------------------------------------------------------------
 * APPLICATION ENVIRONMENT
 *---------------------------------------------------------------
 *
 * You can load different configurations depending on your
 * current environment. Setting the environment also influences
 * things like logging and error reporting.
 *
 * This can be set to anything, but default usage is:
 *
 *     development
 *     testing
 *     production
 *
 * NOTE: If you change these, also change the error_reporting() code below
 *
 */
	define('ENVIRONMENT', 'production');
/*
 *---------------------------------------------------------------
 * ERROR REPORTING
 *---------------------------------------------------------------
 *
 * Different environments will require different levels of error reporting.
 * By default development will show errors but testing and live will hide them.
 */

if (defined('ENVIRONMENT'))
{
	switch (ENVIRONMENT)
	{
		case 'development':
			error_reporting(E_ALL);
		break;
	
		case 'testing':
		case 'production':
			error_reporting(0);
		break;

		default:
			exit('The application environment is not set correctly.');
	}
}

/*
 *---------------------------------------------------------------
 * SYSTEM FOLDER NAME
 *---------------------------------------------------------------
 *
 * This variable must contain the name of your "system" folder.
 * Include the path if the folder is not in the same  directory
 * as this file.
 *
 */
	$system_path = 'system';

/*
 *---------------------------------------------------------------
 * APPLICATION FOLDER NAME
 *---------------------------------------------------------------
 *
 * If you want this front controller to use a different "application"
 * folder then the default one you can set its name here. The folder
 * can also be renamed or relocated anywhere on your server.  If
 * you do, use a full server path. For more info please see the user guide:
 * http://codeigniter.com/user_guide/general/managing_apps.html
 *
 * NO TRAILING SLASH!
 *
 */
	$application_folder = 'application';

/*
 * --------------------------------------------------------------------
 * DEFAULT CONTROLLER
 * --------------------------------------------------------------------
 *
 * Normally you will set your default controller in the routes.php file.
 * You can, however, force a custom routing by hard-coding a
 * specific controller class/function here.  For most applications, you
 * WILL NOT set your routing here, but it's an option for those
 * special instances where you might want to override the standard
 * routing in a specific front controller that shares a common CI installation.
 *
 * IMPORTANT:  If you set the routing here, NO OTHER controller will be
 * callable. In essence, this preference limits your application to ONE
 * specific controller.  Leave the function name blank if you need
 * to call functions dynamically via the URI.
 *
 * Un-comment the $routing array below to use this feature
 *
 */
	// The directory name, relative to the "controllers" folder.  Leave blank
	// if your controller is not in a sub-folder within the "controllers" folder
	// $routing['directory'] = '';

	// The controller class file name.  Example:  Mycontroller
	// $routing['controller'] = '';

	// The controller function you wish to be called.
	// $routing['function']	= '';


/*
 * -------------------------------------------------------------------
 *  CUSTOM CONFIG VALUES
 * -------------------------------------------------------------------
 *
 * The $assign_to_config array below will be passed dynamically to the
 * config class when initialized. This allows you to set custom config
 * items or override any default config values found in the config.php file.
 * This can be handy as it permits you to share one application between
 * multiple front controller files, with each file containing different
 * config values.
 *
 * Un-comment the $assign_to_config array below to use this feature
 *
 */
	// $assign_to_config['name_of_config_item'] = 'value of config item';



// --------------------------------------------------------------------
// END OF USER CONFIGURABLE SETTINGS.  DO NOT EDIT BELOW THIS LINE
// --------------------------------------------------------------------

/*
 * ---------------------------------------------------------------
 *  Resolve the system path for increased reliability
 * ---------------------------------------------------------------
 */

	// Set the current directory correctly for CLI requests
	if (defined('STDIN'))
	{
		chdir(dirname(__FILE__));
	}

	if (realpath($system_path) !== FALSE)
	{
		$system_path = realpath($system_path).'/';
	}

	// ensure there's a trailing slash
	$system_path = rtrim($system_path, '/').'/';

	// Is the system path correct?
	if ( ! is_dir($system_path))
	{
		exit("Your system folder path does not appear to be set correctly. Please open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME));
	}

/*
 * -------------------------------------------------------------------
 *  Now that we know the path, set the main path constants
 * -------------------------------------------------------------------
 */
	// The name of THIS file
	define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));

	// The PHP file extension
	// this global constant is deprecated.
	define('EXT', '.php');

	// Path to the system folder
	define('BASEPATH', str_replace("\\", "/", $system_path));

	// Path to the front controller (this file)
	define('FCPATH', str_replace(SELF, '', __FILE__));

	// Name of the "system folder"
	define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));


	// The path to the "application" folder
	if (is_dir($application_folder))
	{
		define('APPPATH', $application_folder.'/');
	}
	else
	{
		if ( ! is_dir(BASEPATH.$application_folder.'/'))
		{
			exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF);
		}

		define('APPPATH', BASEPATH.$application_folder.'/');
	}

/*
 * --------------------------------------------------------------------
 * LOAD THE BOOTSTRAP FILE
 * --------------------------------------------------------------------
 *
 * And away we go...
 *
 */
require_once BASEPATH.'core/CodeIgniter.php';

/* End of file index.php */
/* Location: ./index.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/system/.htaccess
================================================
Deny from all

================================================
FILE: js/tinymce/plugins/jbimages/ci/system/core/Benchmark.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 5.1.6 or newer
 *
 * @package		CodeIgniter
 * @author		ExpressionEngine Dev Team
 * @copyright	Copyright (c) 2008 - 2011, EllisLab, Inc.
 * @license		http://codeigniter.com/user_guide/license.html
 * @link		http://codeigniter.com
 * @since		Version 1.0
 * @filesource
 */

// ------------------------------------------------------------------------

/**
 * CodeIgniter Benchmark Class
 *
 * This class enables you to mark points and calculate the time difference
 * between them.  Memory consumption can also be displayed.
 *
 * @package		CodeIgniter
 * @subpackage	Libraries
 * @category	Libraries
 * @author		ExpressionEngine Dev Team
 * @link		http://codeigniter.com/user_guide/libraries/benchmark.html
 */
class CI_Benchmark {

	/**
	 * List of all benchmark markers and when they were added
	 *
	 * @var array
	 */
	var $marker = array();

	// --------------------------------------------------------------------

	/**
	 * Set a benchmark marker
	 *
	 * Multiple calls to this function can be made so that several
	 * execution points can be timed
	 *
	 * @access	public
	 * @param	string	$name	name of the marker
	 * @return	void
	 */
	function mark($name)
	{
		$this->marker[$name] = microtime();
	}

	// --------------------------------------------------------------------

	/**
	 * Calculates the time difference between two marked points.
	 *
	 * If the first parameter is empty this function instead returns the
	 * {elapsed_time} pseudo-variable. This permits the full system
	 * execution time to be shown in a template. The output class will
	 * swap the real value for this variable.
	 *
	 * @access	public
	 * @param	string	a particular marked point
	 * @param	string	a particular marked point
	 * @param	integer	the number of decimal places
	 * @return	mixed
	 */
	function elapsed_time($point1 = '', $point2 = '', $decimals = 4)
	{
		if ($point1 == '')
		{
			return '{elapsed_time}';
		}

		if ( ! isset($this->marker[$point1]))
		{
			return '';
		}

		if ( ! isset($this->marker[$point2]))
		{
			$this->marker[$point2] = microtime();
		}

		list($sm, $ss) = explode(' ', $this->marker[$point1]);
		list($em, $es) = explode(' ', $this->marker[$point2]);

		return number_format(($em + $es) - ($sm + $ss), $decimals);
	}

	// --------------------------------------------------------------------

	/**
	 * Memory Usage
	 *
	 * This function returns the {memory_usage} pseudo-variable.
	 * This permits it to be put it anywhere in a template
	 * without the memory being calculated until the end.
	 * The output class will swap the real value for this variable.
	 *
	 * @access	public
	 * @return	string
	 */
	function memory_usage()
	{
		return '{memory_usage}';
	}

}

// END CI_Benchmark class

/* End of file Benchmark.php */
/* Location: ./system/core/Benchmark.php */

================================================
FILE: js/tinymce/plugins/jbimages/ci/system/core/CodeIgniter.php
================================================
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 5.1.6 or newer
 *
 * @package		CodeIgniter
 * @author		ExpressionEngine Dev Team
 * @copyright	Copyright (c) 2008 - 2011, EllisLab, Inc.
 * @license		http://codeigniter.com/user_guide/license.html
 * @link		http://codeigniter.com
 * @since		Version 1.0
 * @filesource
 */

// ------------------------------------------------------------------------

/**
 * System Initialization File
 *
 * Loads the base classes and executes the request.
 *
 * @package		CodeIgniter
 * @subpackage	codeigniter
 * @category	Front-controller
 * @author		ExpressionEngine Dev Team
 * @link		http://codeigniter.com/user_guide/
 */

/**
 * CodeIgniter Version
 *
 * @var string
 *
 */
	define('CI_VERSION', '2.1.3');

/**
 * CodeIgniter Branch (Core = TRUE, Reactor = FALSE)
 *
 * @var boolean
 *
 */
	define('CI_CORE', FALSE);

/*
 * ------------------------------------------------------
 *  Load the global functions
 * ------------------------------------------------------
 */
	require(BASEPATH.'core/Common.php');

/*
 * ------------------------------------------------------
 *  Load the framework constants
 * ------------------------------------------------------
 */
	if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/constants.php'))
	{
		require(APPPATH.'config/'.ENVIRONMENT.'/constants.php');
	}
	else
	{
		require(APPPATH.'config/constants.php');
	}

/*
 * ------------------------------------------------------
 *  Define a custom error handler so we can log PHP errors
 * ------------------------------------------------------
 */
	set_error_handler('_exception_handler');

	if ( ! is_php('5.3'))
	{
		@set_magic_quotes_runtime(0); // Kill magic quotes
	}

/*
 * ------------------------------------------------------
 *  Set the subclass_prefix
 * ------------------------------------------------------
 *
 * Normally the "subclass_prefix" is set in the config file.
 * The subclass prefix allows CI to know if a core class is
 * being extended via a library in the local application
 * "libraries" folder. Since CI allows config items to be
 * overriden via data set in the main index. php file,
 * before proceeding we need to know if a subclass_prefix
 * override exists.  If so, we will set this value now,
 * before any classes are loaded
 * Note: Since the config file data is cached it doesn't
 * hurt to load it here.
 */
	if (isset($assign_to_config['subclass_prefix']) AND $assign_to_config['subclass_prefix'] != '')
	{
		get_config(array('subclass_prefix' => $assign_to_config['subclass_prefix']));
	}

/*
 * ------------------------------------------------------
 *  Set a liberal script execution time limit
 * ------------------------------------------------------
 */
	if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0)
	{
		@set_time_limit(300);
	}

/*
 * ------------------------------------------------------
 *  Start the timer... tick tock tick tock...
 * ------------------------------------------------------
 */
	$BM =& load_class('Benchmark', 'core');
	$BM->mark('total_execution_time_start');
	$BM->mark('loading_time:_base_classes_start');

/*
 * ------------------------------------------------------
 *  Instantiate the hooks class
 * ------------------------------------------------------
 */
	$EXT =& load_class('Hooks', 'core');

/*
 * ------------------------------------------------------
 *  Is there a "pre_system" hook?
 * ------------------------------------------------------
 */
	$EXT->_call_hook('pre_system');

/*
 * ------------------------------------------------------
 *  Instantiate the config class
 * ------------------------------------------------------
 */
	$CFG =& load_class('Config', 'core');

	// Do we have any manually set config items in the index.php file?
	if (isset($assign_to_config))
	{
		$CFG->_assign_to_config($assign_to_config);
	}

/*
 * ------------------------------------------------------
 *  Instantiate the UTF-8 class
 * ------------------------------------------------------
 *
 * Note: Order here is rather important as the UTF-8
 * class needs to be used very early on, but it cannot
 * properly determine if UTf-8 can be supported until
 * after the Config class is instantiated.
 *
 */

	$UNI =& load_class('Utf8', 'core');

/*
 * ------------------------------------------------------
 *  Instantiate the URI class
 * ------------------------------------------------------
 */
	$URI =& load_class('URI', 'core');

/*
 * ------------------------------------------------------
 *  Instantiate the routing class and set the routing
 * ------------------------------------------------------
 */
	$RTR =& load_class('Router', 'core');
	$RTR->_set_routing();

	// Set any routing overrides that may exist in the main index file
	if (isset($routing))
	{
		$RTR->_set_overrides($routing);
	}

/*
 * ------------------------------------------------------
 *  Instantiate the output class
 * ------------------------------------------------------
 */
	$OUT =& load_class('Output', 'core');

/*
 * ------------------------------------------------------
 *	Is there a valid cache file?  If so, we're done...
 * ------------------------------------------------------
 */
	if ($EXT->_call_hook('cache_override') === FALSE)
	{
		if ($OUT->_display_cache($CFG, $URI) == TRUE)
		{
			exit;
		}
	}

/*
 * -----------------------------------------------------
 * Load the security class for xss and csrf support
 * -----------------------------------------------------
 */
	$SEC =& load_class('Security', 'core');

/*
 * ------------------------------------------------------
 *  Load the Input class and sanitize globals
 * ------------------------------------------------------
 */
	$IN	=& load_class('Input', 'core');

/*
 * ------------------------------------------------------
 *  Load the Language class
 * ------------------------------------------------------
 */
	$LANG =& load_class('Lang', 'core');

/*
 * ------------------------------------------------------
 *  Load the app controller and local controller
 * ------------------------------------------------------
 *
 */
	// Load the base controller class
	require BASEPATH.'core/Controller.php';

	function &get_instance()
	{
		return CI_Controller::get_instance();
	}


	if (file_exists(APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller.php'))
	{
		require APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller.php';
	}

	// Load the local application controller
	// Note: The Router class automatically validates the controller path using the router->_validate_request().
	// If this include fails it means that the default controller in the Routes.php file is not resolving to something valid.
	if ( ! file_exists(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().'.php'))
	{
		show_error('Unable to load your default controller. Please make sure the controller specified in your Routes.php file is valid.');
	}

	include(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().'.php');

	// Set a mark point for benchmarking
	$BM->mark('loading_time:_base_classes_end');

/*
 * ------------------------------------------------------
 *  Security check
 * ------------------------------------------------------
 *
 *  None of the functions in the app controller or the
 *  loader class can be called via the URI, nor can
 *  controller functions that begin with an underscore
 */
	$class  = $RTR->fetch_class();
	$method = $RTR->fetch_method();

	if ( ! class_exists($class)
		OR strncmp($method, '_', 1) == 0
		OR in_array(strtolower($method), array_map('strtolower', get_class_methods('CI_Controller')))
		)
	{
		if ( ! empty($RTR->routes['404_override']))
		{
			$x = explode('/', $RTR->routes['404_override']);
			$class = $x[0];
			$method = (isset($x[1]) ? $x[1] : 'index');
			if ( ! class_exists($class))
			{
				if ( ! file_exists(APPPATH.'controllers/'.$class.'.php'))
				{
					show_404("{$class}/{$method}");
				}

				include_once(APPPATH.'controllers/'.$class.'.php');
			}
		}
		else
		{
			show_404("{$class}/{$method}");
		}
	}

/*
 * ------------------------------------------------------
 *  Is there a "pre_controller" hook?
 * ------------------------------------------------------
 */
	$EXT->_call_hook('pre_controller');

/*
 * ------------------------------------------------------
 *  Instantiate the requested controller
 * ------------------------------------------------------
 */
	// Mark a start point so we can benchmark the controller
	$BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_start');

	$CI = new $class();

/*
 * ------------------------------------------------------
 *  Is there a "post_controller_constructor" hook?
 * ------------------------------------------------------
 */
	$EXT->_call_hook('post_controller_constructor');

/*
 * ------------------------------------------------------
 *  Call the requested method
 * ------------------------------------------------------
 */
	// Is there a "remap" function? If so, we call it instead
	if (method_exists($CI, '_remap'))
	{
		$CI->_remap
Download .txt
gitextract_u0iy7t1l/

├── .gitignore
├── AUTHORS.md
├── CHANGELOG.md
├── COPYING
├── README.md
├── admin.php
├── appinfo/
│   ├── app.php
│   ├── application.php
│   ├── database.xml
│   ├── info.xml
│   ├── routes.php
│   └── version
├── controller/
│   ├── ownnoteajaxcontroller.php
│   ├── ownnoteapicontroller.php
│   └── pagecontroller.php
├── css/
│   └── style.css
├── js/
│   ├── admin.js
│   ├── script.js
│   └── tinymce/
│       ├── langs/
│       │   └── readme.md
│       ├── license.txt
│       ├── plugins/
│       │   ├── bdesk_photo/
│       │   │   └── README.md
│       │   ├── example/
│       │   │   └── dialog.html
│       │   ├── jbimages/
│       │   │   ├── .gitattributes
│       │   │   ├── .gitignore
│       │   │   ├── ci/
│       │   │   │   ├── application/
│       │   │   │   │   ├── .htaccess
│       │   │   │   │   ├── config/
│       │   │   │   │   │   ├── autoload.php
│       │   │   │   │   │   ├── config.php
│       │   │   │   │   │   ├── constants.php
│       │   │   │   │   │   ├── database.php
│       │   │   │   │   │   ├── doctypes.php
│       │   │   │   │   │   ├── foreign_chars.php
│       │   │   │   │   │   ├── hooks.php
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   ├── migration.php
│       │   │   │   │   │   ├── mimes.php
│       │   │   │   │   │   ├── profiler.php
│       │   │   │   │   │   ├── routes.php
│       │   │   │   │   │   ├── smileys.php
│       │   │   │   │   │   ├── uploader_settings.php
│       │   │   │   │   │   └── user_agents.php
│       │   │   │   │   ├── controllers/
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   └── uploader.php
│       │   │   │   │   ├── errors/
│       │   │   │   │   │   ├── error_404.php
│       │   │   │   │   │   ├── error_db.php
│       │   │   │   │   │   ├── error_general.php
│       │   │   │   │   │   ├── error_php.php
│       │   │   │   │   │   └── index.html
│       │   │   │   │   ├── helpers/
│       │   │   │   │   │   ├── index.html
│       │   │   │   │   │   └── jbimages_helper.php
│       │   │   │   │   ├── index.html
│       │   │   │   │   ├── language/
│       │   │   │   │   │   ├── english/
│       │   │   │   │   │   │   ├── index.html
│       │   │   │   │   │   │   └── jbstrings_lang.php
│       │   │   │   │   │   ├── french/
│       │   │   │   │   │   │   ├── imglib_lang.php
│       │   │   │   │   │   │   ├── index.html
│       │   │   │   │   │   │   ├── jbstrings_lang.php
│       │   │   │   │   │   │   └── upload_lang.php
│       │   │   │   │   │   └── russian/
│       │   │   │   │   │       ├── imglib_lang.php
│       │   │   │   │   │       ├── index.html
│       │   │   │   │   │       ├── jbstrings_lang.php
│       │   │   │   │   │       └── upload_lang.php
│       │   │   │   │   └── views/
│       │   │   │   │       ├── ajax_upload_result.php
│       │   │   │   │       ├── blank.php
│       │   │   │   │       └── index.html
│       │   │   │   ├── index.php
│       │   │   │   └── system/
│       │   │   │       ├── .htaccess
│       │   │   │       ├── core/
│       │   │   │       │   ├── Benchmark.php
│       │   │   │       │   ├── CodeIgniter.php
│       │   │   │       │   ├── Common.php
│       │   │   │       │   ├── Config.php
│       │   │   │       │   ├── Controller.php
│       │   │   │       │   ├── Exceptions.php
│       │   │   │       │   ├── Hooks.php
│       │   │   │       │   ├── Input.php
│       │   │   │       │   ├── Lang.php
│       │   │   │       │   ├── Loader.php
│       │   │   │       │   ├── Model.php
│       │   │   │       │   ├── Output.php
│       │   │   │       │   ├── Router.php
│       │   │   │       │   ├── Security.php
│       │   │   │       │   ├── URI.php
│       │   │   │       │   ├── Utf8.php
│       │   │   │       │   └── index.html
│       │   │   │       ├── helpers/
│       │   │   │       │   ├── index.html
│       │   │   │       │   └── language_helper.php
│       │   │   │       ├── index.html
│       │   │   │       ├── language/
│       │   │   │       │   ├── english/
│       │   │   │       │   │   ├── imglib_lang.php
│       │   │   │       │   │   ├── index.html
│       │   │   │       │   │   └── upload_lang.php
│       │   │   │       │   └── index.html
│       │   │   │       └── libraries/
│       │   │   │           ├── Image_lib.php
│       │   │   │           ├── Upload.php
│       │   │   │           └── index.html
│       │   │   ├── config.php
│       │   │   ├── css/
│       │   │   │   ├── dialog-v4.css
│       │   │   │   └── dialog.css
│       │   │   ├── dialog-v4.htm
│       │   │   ├── dialog.htm
│       │   │   ├── editor_plugin.js
│       │   │   ├── editor_plugin_src.js
│       │   │   ├── is_allowed.php
│       │   │   ├── js/
│       │   │   │   ├── dialog-v4.js
│       │   │   │   └── dialog.js
│       │   │   ├── langs/
│       │   │   │   ├── en.js
│       │   │   │   ├── en_dlg.js
│       │   │   │   ├── fr.js
│       │   │   │   ├── fr_dlg.js
│       │   │   │   ├── ru.js
│       │   │   │   └── ru_dlg.js
│       │   │   ├── plugin.js
│       │   │   └── readme
│       │   ├── media/
│       │   │   └── moxieplayer.swf
│       │   └── visualblocks/
│       │       └── css/
│       │           └── visualblocks.css
│       └── tinymce.min.js.orig
├── l10n/
│   ├── de.js
│   ├── de.json
│   ├── de.php
│   ├── de_DE.js
│   ├── de_DE.json
│   ├── de_DE.php
│   ├── en.js
│   ├── en.json
│   ├── en.php
│   ├── en_AU.js
│   ├── en_AU.json
│   ├── en_AU.php
│   ├── en_US.js
│   ├── en_US.json
│   ├── en_US.php
│   ├── es.js
│   ├── es.json
│   ├── es.php
│   ├── es_ES.js
│   ├── es_ES.json
│   ├── es_ES.php
│   ├── fr.js
│   ├── fr.json
│   ├── fr.php
│   ├── fr_BE.js
│   ├── fr_BE.json
│   ├── fr_BE.php
│   ├── gl.js
│   ├── gl.json
│   ├── gl.php
│   ├── gl_ES.js
│   ├── gl_ES.json
│   ├── gl_ES.php
│   ├── id.js
│   ├── id.json
│   ├── id.php
│   ├── id_ID.js
│   ├── id_ID.json
│   ├── id_ID.php
│   ├── it.js
│   ├── it.json
│   ├── it.php
│   ├── it_IT.js
│   ├── it_IT.json
│   ├── it_IT.php
│   ├── ja.js
│   ├── ja.json
│   ├── ja.php
│   ├── lb.js
│   ├── lb.json
│   ├── lb.php
│   ├── nl.js
│   ├── nl.json
│   ├── nl.php
│   ├── pl.js
│   ├── pl.json
│   ├── pl.php
│   ├── pl_PL.js
│   ├── pl_PL.json
│   ├── pl_PL.php
│   ├── pt_BR.js
│   ├── pt_BR.json
│   ├── pt_BR.php
│   ├── ru.js
│   ├── ru.json
│   ├── ru.php
│   ├── sl_SI.js
│   ├── sl_SI.json
│   ├── sl_SI.php
│   ├── tr_TR.js
│   ├── tr_TR.json
│   ├── tr_TR.php
│   ├── zh.js
│   ├── zh.json
│   ├── zh.php
│   ├── zh_TW.js
│   ├── zh_TW.json
│   └── zh_TW.php
├── lib/
│   └── backend.php
├── templates/
│   ├── admin.php
│   └── main.php
└── transifex/
    ├── import.sh
    ├── server.txt
    └── serveradmin.txt
Download .txt
SYMBOL INDEX (335 symbols across 30 files)

FILE: appinfo/application.php
  class Application (line 23) | class Application extends App {
    method __construct (line 26) | public function __construct (array $urlParams=array()) {

FILE: controller/ownnoteajaxcontroller.php
  class OwnnoteAjaxController (line 21) | class OwnnoteAjaxController extends ApiController {
    method __construct (line 26) | public function __construct($appName, IRequest $request){
    method ajaxindex (line 38) | public function ajaxindex() {
    method ajaxannouncement (line 46) | public function ajaxannouncement() {
    method ajaxcreate (line 53) | public function ajaxcreate($name, $group) {
    method ajaxdel (line 62) | public function ajaxdel($name, $group) {
    method ajaxedit (line 71) | public function ajaxedit($name, $group) {
    method ajaxsave (line 79) | public function ajaxsave($name, $group, $content) {
    method ajaxren (line 88) | public function ajaxren($name, $group, $newname, $newgroup) {
    method ajaxdelgroup (line 97) | public function ajaxdelgroup($group) {
    method ajaxrengroup (line 106) | public function ajaxrengroup($group, $newgroup) {
    method ajaxversion (line 115) | public function ajaxversion() {
    method ajaxsetval (line 121) | public function ajaxsetval($field, $value) {

FILE: controller/ownnoteapicontroller.php
  class OwnnoteApiController (line 21) | class OwnnoteApiController extends ApiController {
    method __construct (line 26) | public function __construct($appName, IRequest $request){
    method index (line 39) | public function index() {
    method mobileindex (line 48) | public function mobileindex() {
    method remoteindex (line 57) | public function remoteindex() {
    method create (line 66) | public function create($name, $group) {
    method del (line 76) | public function del($name, $group) {
    method edit (line 86) | public function edit($name, $group) {
    method save (line 95) | public function save($name, $group, $content) {
    method ren (line 105) | public function ren($name, $group, $newname, $newgroup) {
    method delgroup (line 115) | public function delgroup($group) {
    method rengroup (line 125) | public function rengroup($group, $newgroup) {
    method version (line 135) | public function version() {

FILE: controller/pagecontroller.php
  class PageController (line 21) | class PageController extends Controller {
    method __construct (line 25) | public function __construct($appName, IRequest $request, $userId){
    method index (line 41) | public function index() {

FILE: js/admin.js
  function ocOwnnoteUrl (line 1) | function ocOwnnoteUrl(url) {

FILE: js/script.js
  function tinymceInit (line 2) | function tinymceInit() {
  function ocUrl (line 27) | function ocUrl(url) {
  function resizeFont (line 32) | function resizeFont(s) {
  function translate (line 37) | function translate() {
  function trans (line 71) | function trans(s) {
  function deleteNote (line 78) | function deleteNote(id) {
  function editNote (line 86) | function editNote(id) {
  function addNote (line 94) | function addNote() {
  function cancelNote (line 100) | function cancelNote() {
  function resizeContainer (line 108) | function resizeContainer() {
  function buildEdit (line 113) | function buildEdit(n, g, data) {
  function startTimer (line 148) | function startTimer() {
  function notIdle (line 157) | function notIdle() {
  function timerIncrement (line 162) | function timerIncrement() {
  function bindEdit (line 178) | function bindEdit() {
  function disableQuickSave (line 187) | function disableQuickSave() {
  function saveNote (line 193) | function saveNote(stayinnote) {
  function htmlQuotes (line 253) | function htmlQuotes(value, reverse){
  function loadListing (line 267) | function loadListing() {
  function buildListing (line 290) | function buildListing() {
  function buildGroupSelectOptions (line 384) | function buildGroupSelectOptions(current) {
  function bindListing (line 397) | function bindListing() {
  function checkNewGroup (line 409) | function checkNewGroup() {
  function newNote (line 420) | function newNote() {
  function createNote (line 427) | function createNote() {
  function sortName (line 440) | function sortName() {
  function sortMod (line 453) | function sortMod() {
  function buildNavItem (line 466) | function buildNavItem(name, count, active) {
  function sortNav (line 495) | function sortNav() {
  function buildNav (line 511) | function buildNav(a) {
  function loadAnnouncement (line 553) | function loadAnnouncement() {
  function setCookie (line 586) | function setCookie(cname, cvalue, exdays) {
  function getCookie (line 593) | function getCookie(cname) {
  function dismissAnnouncement (line 604) | function dismissAnnouncement() {
  function selectGroup (line 609) | function selectGroup() {
  function closeNav (line 618) | function closeNav() {
  function bindNav (line 624) | function bindNav() {
  function deleteGroup (line 631) | function deleteGroup() {
  function editGroup (line 656) | function editGroup() {
  function saveGroup (line 664) | function saveGroup() {
  function getSettings (line 691) | function getSettings() {

FILE: js/tinymce/plugins/jbimages/ci/application/controllers/uploader.php
  class Uploader (line 3) | class Uploader extends CI_Controller {
    method __construct (line 7) | public function __construct()
    method _lang_set (line 26) | private function _lang_set($lang)
    method upload (line 37) | public function upload ($lang='english')
    method blank (line 117) | public function blank($lang='english')
    method index (line 123) | public function index($lang='english')

FILE: js/tinymce/plugins/jbimages/ci/system/core/Benchmark.php
  class CI_Benchmark (line 30) | class CI_Benchmark {
    method mark (line 51) | function mark($name)
    method elapsed_time (line 72) | function elapsed_time($point1 = '', $point2 = '', $decimals = 4)
    method memory_usage (line 108) | function memory_usage()

FILE: js/tinymce/plugins/jbimages/ci/system/core/CodeIgniter.php
  function get_instance (line 231) | function &get_instance()

FILE: js/tinymce/plugins/jbimages/ci/system/core/Common.php
  function is_php (line 44) | function is_php($version = '5.0.0')
  function is_really_writable (line 72) | function is_really_writable($file)
  function load_class (line 123) | function &load_class($class, $directory = 'libraries', $prefix = 'CI_')
  function is_loaded (line 190) | function &is_loaded($class = '')
  function get_config (line 216) | function &get_config($replace = array())
  function config_item (line 271) | function config_item($item)
  function show_error (line 306) | function show_error($message, $status_code = 500, $heading = 'An Error W...
  function show_404 (line 328) | function show_404($page = '', $log_error = TRUE)
  function log_message (line 349) | function log_message($level = 'error', $message, $php_error = FALSE)
  function set_status_header (line 375) | function set_status_header($code = 200, $text = '')
  function _exception_handler (line 469) | function _exception_handler($severity, $message, $filepath, $line)
  function remove_invisible_characters (line 514) | function remove_invisible_characters($str, $url_encoded = TRUE)
  function html_escape (line 550) | function html_escape($var)

FILE: js/tinymce/plugins/jbimages/ci/system/core/Config.php
  class CI_Config (line 29) | class CI_Config {
    method __construct (line 61) | function __construct()
    method load (line 96) | function load($file = '', $use_sections = FALSE, $fail_gracefully = FA...
    method item (line 189) | function item($item, $index = '')
    method slash_item (line 228) | function slash_item($item)
    method site_url (line 252) | function site_url($uri = '')
    method base_url (line 280) | function base_url($uri = '')
    method _uri_string (line 294) | protected function _uri_string($uri)
    method system_url (line 330) | function system_url()
    method set_item (line 346) | function set_item($item, $value)
    method _assign_to_config (line 364) | function _assign_to_config($items = array())

FILE: js/tinymce/plugins/jbimages/ci/system/core/Controller.php
  class CI_Controller (line 30) | class CI_Controller {
    method __construct (line 37) | public function __construct()
    method get_instance (line 56) | public static function &get_instance()

FILE: js/tinymce/plugins/jbimages/ci/system/core/Exceptions.php
  class CI_Exceptions (line 27) | class CI_Exceptions {
    method __construct (line 67) | public function __construct()
    method log_exception (line 87) | function log_exception($severity, $message, $filepath, $line)
    method show_404 (line 104) | function show_404($page = '', $log_error = TRUE)
    method show_error (line 135) | function show_error($heading, $message, $template = 'error_general', $...
    method show_php_error (line 164) | function show_php_error($severity, $message, $filepath, $line)

FILE: js/tinymce/plugins/jbimages/ci/system/core/Hooks.php
  class CI_Hooks (line 29) | class CI_Hooks {
    method __construct (line 54) | function __construct()
    method _initialize (line 68) | function _initialize()
    method _call_hook (line 113) | function _call_hook($which = '')
    method _run_hook (line 146) | function _run_hook($data)

FILE: js/tinymce/plugins/jbimages/ci/system/core/Input.php
  class CI_Input (line 29) | class CI_Input {
    method __construct (line 84) | public function __construct()
    method _fetch_from_array (line 119) | function _fetch_from_array(&$array, $index = '', $xss_clean = FALSE)
    method get (line 144) | function get($index = NULL, $xss_clean = FALSE)
    method post (line 172) | function post($index = NULL, $xss_clean = FALSE)
    method get_post (line 201) | function get_post($index = '', $xss_clean = FALSE)
    method cookie (line 223) | function cookie($index = '', $xss_clean = FALSE)
    method set_cookie (line 246) | function set_cookie($name = '', $value = '', $expire = '', $domain = '...
    method server (line 299) | function server($index = '', $xss_clean = FALSE)
    method ip_address (line 311) | public function ip_address()
    method valid_ip (line 372) | public function valid_ip($ip, $which = '')
    method _valid_ipv4 (line 425) | protected function _valid_ipv4($ip)
    method _valid_ipv6 (line 463) | protected function _valid_ipv6($str)
    method user_agent (line 536) | function user_agent()
    method _sanitize_globals (line 564) | function _sanitize_globals()
    method _clean_input_data (line 665) | function _clean_input_data($str)
    method _clean_input_keys (line 727) | function _clean_input_keys($str)
    method request_headers (line 755) | public function request_headers($xss_clean = FALSE)
    method get_request_header (line 798) | public function get_request_header($index, $xss_clean = FALSE)
    method is_ajax_request (line 827) | public function is_ajax_request()
    method is_cli_request (line 841) | public function is_cli_request()

FILE: js/tinymce/plugins/jbimages/ci/system/core/Lang.php
  class CI_Lang (line 27) | class CI_Lang {
    method __construct (line 47) | function __construct()
    method load (line 65) | function load($langfile = '', $idiom = '', $return = FALSE, $add_suffi...
    method line (line 143) | function line($line = '')

FILE: js/tinymce/plugins/jbimages/ci/system/core/Loader.php
  class CI_Loader (line 29) | class CI_Loader {
    method __construct (line 124) | public function __construct()
    method initialize (line 145) | public function initialize()
    method is_loaded (line 171) | public function is_loaded($class)
    method library (line 194) | public function library($library = '', $params = NULL, $object_name = ...
    method model (line 231) | public function model($model, $name = '', $db_conn = FALSE)
    method database (line 323) | public function database($params = '', $return = FALSE, $active_record...
    method dbutil (line 356) | public function dbutil()
    method dbforge (line 383) | public function dbforge()
    method view (line 417) | public function view($view, $vars = array(), $return = FALSE)
    method file (line 433) | public function file($path, $return = FALSE)
    method vars (line 450) | public function vars($vars = array(), $val = '')
    method get_var (line 478) | public function get_var($key)
    method helper (line 493) | public function helper($helpers = array())
    method helpers (line 554) | public function helpers($helpers = array())
    method language (line 568) | public function language($file = array(), $lang = '')
    method config (line 593) | public function config($file = '', $use_sections = FALSE, $fail_gracef...
    method driver (line 611) | public function driver($library = '', $params = NULL, $object_name = N...
    method add_package_path (line 645) | public function add_package_path($path, $view_cascade=TRUE)
    method get_package_paths (line 670) | public function get_package_paths($include_base = FALSE)
    method remove_package_path (line 687) | public function remove_package_path($path = '', $remove_config_path = ...
    method _ci_load (line 741) | protected function _ci_load($_ci_data)
    method _ci_load_class (line 879) | protected function _ci_load_class($class, $params = NULL, $object_name...
    method _ci_init_class (line 1007) | protected function _ci_init_class($class, $prefix = '', $config = FALS...
    method _ci_autoloader (line 1114) | private function _ci_autoloader()
    method _ci_object_to_array (line 1199) | protected function _ci_object_to_array($object)
    method _ci_get_component (line 1212) | protected function &_ci_get_component($component)
    method _ci_prep_filename (line 1229) | protected function _ci_prep_filename($filename, $extension)

FILE: js/tinymce/plugins/jbimages/ci/system/core/Model.php
  class CI_Model (line 27) | class CI_Model {
    method __construct (line 34) | function __construct()
    method __get (line 48) | function __get($key)

FILE: js/tinymce/plugins/jbimages/ci/system/core/Output.php
  class CI_Output (line 29) | class CI_Output {
    method __construct (line 92) | function __construct()
    method get_output (line 122) | function get_output()
    method set_output (line 138) | function set_output($output)
    method append_output (line 156) | function append_output($output)
    method set_header (line 185) | function set_header($header, $replace = TRUE)
    method set_content_type (line 211) | function set_content_type($mime_type)
    method set_status_header (line 247) | function set_status_header($code = 200, $text = '')
    method enable_profiler (line 263) | function enable_profiler($val = TRUE)
    method set_profiler_sections (line 281) | function set_profiler_sections($sections)
    method cache (line 300) | function cache($time)
    method _display (line 324) | function _display($output = '')
    method _write_cache (line 461) | function _write_cache($output)
    method _display_cache (line 514) | function _display_cache(&$CFG, &$URI)

FILE: js/tinymce/plugins/jbimages/ci/system/core/Router.php
  class CI_Router (line 29) | class CI_Router {
    method __construct (line 86) | function __construct()
    method _set_routing (line 104) | function _set_routing()
    method _set_default_controller (line 184) | function _set_default_controller()
    method _set_request (line 225) | function _set_request($segments = array())
    method _validate_request (line 264) | function _validate_request($segments)
    method _parse_routes (line 363) | function _parse_routes()
    method set_class (line 407) | function set_class($class)
    method fetch_class (line 420) | function fetch_class()
    method set_method (line 434) | function set_method($method)
    method fetch_method (line 447) | function fetch_method()
    method set_directory (line 466) | function set_directory($dir)
    method fetch_directory (line 479) | function fetch_directory()
    method _set_overrides (line 493) | function _set_overrides($routing)

FILE: js/tinymce/plugins/jbimages/ci/system/core/Security.php
  class CI_Security (line 27) | class CI_Security {
    method __construct (line 104) | public function __construct()
    method csrf_verify (line 138) | public function csrf_verify()
    method csrf_set_cookie (line 179) | public function csrf_set_cookie()
    method csrf_show_error (line 203) | public function csrf_show_error()
    method get_csrf_hash (line 217) | public function get_csrf_hash()
    method get_csrf_token_name (line 231) | public function get_csrf_token_name()
    method xss_clean (line 264) | public function xss_clean($str, $is_image = FALSE)
    method xss_hash (line 476) | public function xss_hash()
    method entity_decode (line 504) | public function entity_decode($str, $charset='UTF-8')
    method sanitize_filename (line 525) | public function sanitize_filename($str, $relative_path = FALSE)
    method _compact_exploded_words (line 582) | protected function _compact_exploded_words($matches)
    method _remove_evil_attributes (line 604) | protected function _remove_evil_attributes($str, $is_image)
    method _sanitize_naughty_html (line 660) | protected function _sanitize_naughty_html($matches)
    method _js_link_removal (line 685) | protected function _js_link_removal($match)
    method _js_img_removal (line 711) | protected function _js_img_removal($match)
    method _convert_attribute (line 734) | protected function _convert_attribute($match)
    method _filter_attributes (line 749) | protected function _filter_attributes($str)
    method _decode_entity (line 774) | protected function _decode_entity($match)
    method _validate_entities (line 789) | protected function _validate_entities($str)
    method _do_never_allowed (line 834) | protected function _do_never_allowed($str)
    method _csrf_set_hash (line 853) | protected function _csrf_set_hash()

FILE: js/tinymce/plugins/jbimages/ci/system/core/URI.php
  class CI_URI (line 29) | class CI_URI {
    method __construct (line 70) | function __construct()
    method _fetch_uri_string (line 85) | function _fetch_uri_string()
    method _set_uri_string (line 158) | function _set_uri_string($str)
    method _detect_uri (line 178) | private function _detect_uri()
    method _parse_cli_args (line 235) | private function _parse_cli_args()
    method _filter_uri (line 251) | function _filter_uri($str)
    method _remove_url_suffix (line 278) | function _remove_url_suffix()
    method _explode_segments (line 295) | function _explode_segments()
    method _reindex_segments (line 321) | function _reindex_segments()
    method segment (line 341) | function segment($n, $no_result = FALSE)
    method rsegment (line 360) | function rsegment($n, $no_result = FALSE)
    method uri_to_assoc (line 388) | function uri_to_assoc($n = 3, $default = array())
    method ruri_to_assoc (line 401) | function ruri_to_assoc($n = 3, $default = array())
    method _uri_to_assoc (line 417) | function _uri_to_assoc($n = 3, $default = array(), $which = 'segment')
    method assoc_to_uri (line 501) | function assoc_to_uri($array)
    method slash_segment (line 523) | function slash_segment($n, $where = 'trailing')
    method slash_rsegment (line 538) | function slash_rsegment($n, $where = 'trailing')
    method _slash_segment (line 554) | function _slash_segment($n, $where = 'trailing', $which = 'segment')
    method segment_array (line 579) | function segment_array()
    method rsegment_array (line 592) | function rsegment_array()
    method total_segments (line 605) | function total_segments()
    method total_rsegments (line 618) | function total_rsegments()
    method uri_string (line 631) | function uri_string()
    method ruri_string (line 645) | function ruri_string()

FILE: js/tinymce/plugins/jbimages/ci/system/core/Utf8.php
  class CI_Utf8 (line 29) | class CI_Utf8 {
    method __construct (line 37) | function __construct()
    method clean_string (line 85) | function clean_string($str)
    method safe_ascii_for_xml (line 108) | function safe_ascii_for_xml($str)
    method convert_to_utf8 (line 125) | function convert_to_utf8($str, $encoding)
    method _is_ascii (line 154) | function _is_ascii($str)

FILE: js/tinymce/plugins/jbimages/ci/system/helpers/language_helper.php
  function lang (line 42) | function lang($line, $id = '')

FILE: js/tinymce/plugins/jbimages/ci/system/libraries/Image_lib.php
  class CI_Image_lib (line 27) | class CI_Image_lib {
    method __construct (line 85) | public function __construct($props = array())
    method clear (line 105) | function clear()
    method initialize (line 127) | function initialize($props = array())
    method resize (line 348) | function resize()
    method crop (line 371) | function crop()
    method rotate (line 394) | function rotate()
    method image_process_gd (line 447) | function image_process_gd($action = 'resize')
    method image_process_imagemagick (line 559) | function image_process_imagemagick($action = 'resize')
    method image_process_netpbm (line 629) | function image_process_netpbm($action = 'resize')
    method image_rotate_gd (line 712) | function image_rotate_gd()
    method image_mirror_gd (line 765) | function image_mirror_gd()
    method watermark (line 851) | function watermark()
    method overlay_watermark (line 871) | function overlay_watermark()
    method text_watermark (line 984) | function text_watermark()
    method image_create_gd (line 1128) | function image_create_gd($path = '', $image_type = '')
    method image_save_gd (line 1185) | function image_save_gd($resource)
    method image_display_gd (line 1246) | function image_display_gd($resource)
    method image_reproportion (line 1281) | function image_reproportion()
    method get_image_properties (line 1323) | function get_image_properties($path = '', $return = FALSE)
    method size_calculator (line 1383) | function size_calculator($vals)
    method explode_name (line 1431) | function explode_name($source_image)
    method gd_loaded (line 1447) | function gd_loaded()
    method gd_version (line 1468) | function gd_version()
    method set_error (line 1490) | function set_error($msg)
    method display_errors (line 1522) | function display_errors($open = '<p>', $close = '</p>')

FILE: js/tinymce/plugins/jbimages/ci/system/libraries/Upload.php
  class CI_Upload (line 27) | class CI_Upload {
    method __construct (line 62) | public function __construct($props = array())
    method initialize (line 80) | public function initialize($config = array())
    method do_upload (line 143) | public function do_upload($field = 'userfile')
    method data (line 343) | public function data()
    method set_upload_path (line 371) | public function set_upload_path($path)
    method set_filename (line 390) | public function set_filename($path, $filename)
    method set_max_filesize (line 434) | public function set_max_filesize($n)
    method set_max_filename (line 447) | public function set_max_filename($n)
    method set_max_width (line 460) | public function set_max_width($n)
    method set_max_height (line 473) | public function set_max_height($n)
    method set_allowed_types (line 486) | public function set_allowed_types($types)
    method set_image_properties (line 506) | public function set_image_properties($path = '')
    method set_xss_clean (line 538) | public function set_xss_clean($flag = FALSE)
    method is_image (line 550) | public function is_image()
    method is_allowed_filetype (line 584) | public function is_allowed_filetype($ignore_mime = FALSE)
    method is_allowed_filesize (line 644) | public function is_allowed_filesize()
    method is_allowed_dimensions (line 663) | public function is_allowed_dimensions()
    method validate_upload_path (line 700) | public function validate_upload_path()
    method get_extension (line 737) | public function get_extension($filename)
    method clean_file_name (line 751) | public function clean_file_name($filename)
    method limit_filename_length (line 795) | public function limit_filename_length($filename, $length)
    method do_xss_clean (line 824) | public function do_xss_clean()
    method set_error (line 894) | public function set_error($msg)
    method display_errors (line 925) | public function display_errors($open = '<p>', $close = '</p>')
    method mimes_types (line 947) | public function mimes_types($mime)
    method _prep_filename (line 984) | protected function _prep_filename($filename)
    method _file_mime_type (line 1023) | protected function _file_mime_type($file)

FILE: js/tinymce/plugins/jbimages/is_allowed.php
  function is_allowed (line 27) | function is_allowed()

FILE: js/tinymce/plugins/jbimages/js/dialog-v4.js
  function close (line 78) | function close() {

FILE: js/tinymce/plugins/jbimages/plugin.js
  function jbBox (line 16) | function jbBox() {

FILE: lib/backend.php
  class Backend (line 10) | class Backend {
    method __construct (line 14) | public function __construct() {
    method startsWith (line 18) | public function startsWith($haystack, $needle) {
    method endsWith (line 22) | public function endsWith($string, $test) {
    method getAnnouncement (line 29) | public function getAnnouncement() {
    method checkEvernote (line 49) | public function checkEvernote($folder, $file) {
    method getTimeString (line 96) | public function getTimeString($filetime, $now, $l) {
    method splitContent (line 120) | public function splitContent($str) {
    method getListing (line 135) | public function getListing($FOLDER, $showdel) {
    method createNote (line 298) | public function createNote($FOLDER, $in_name, $in_group) {
    method deleteNote (line 340) | public function deleteNote($FOLDER, $name, $group) {
    method editNote (line 363) | public function editNote($name, $group) {
    method saveNote (line 381) | public function saveNote($FOLDER, $name, $group, $content, $in_mtime) {
    method renameNote (line 414) | public function renameNote($FOLDER, $name, $group, $in_newname, $in_ne...
    method deleteGroup (line 426) | public function deleteGroup($FOLDER, $group) {
    method renameGroup (line 437) | public function renameGroup($FOLDER, $group, $newgroup) {
    method getVersion (line 447) | public function getVersion() {
    method setAdminVal (line 455) | public function setAdminVal($option, $value) {
Condensed preview — 197 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,022K chars).
[
  {
    "path": ".gitignore",
    "chars": 9,
    "preview": "*.komodo*"
  },
  {
    "path": "AUTHORS.md",
    "chars": 54,
    "preview": "# Authors\n\n* Ben Curtis: <no-spam @ no-domain . com>\n\n"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 41,
    "preview": "owncloud-ownnote (0.0.1)\n* First release\n"
  },
  {
    "path": "COPYING",
    "chars": 34519,
    "preview": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C)"
  },
  {
    "path": "README.md",
    "chars": 1564,
    "preview": "# ownNote\nThe official release information and downloads can be found at: https://apps.owncloud.com/content/show.php/own"
  },
  {
    "path": "admin.php",
    "chars": 203,
    "preview": "<?php\n\nOCP\\User::checkAdminUser();\n\n$tmpl = new OCP\\Template('ownnote', 'admin');\n$tmpl->assign('folder', \\OC::$server->"
  },
  {
    "path": "appinfo/app.php",
    "chars": 1101,
    "preview": "<?php\n/**\n * ownCloud - ownnote\n *\n * This file is licensed under the Affero General Public License version 3 or\n * late"
  },
  {
    "path": "appinfo/application.php",
    "chars": 1588,
    "preview": "<?php\n/**\n * ownCloud - ownnote\n *\n * This file is licensed under the Affero General Public License version 3 or\n * late"
  },
  {
    "path": "appinfo/database.xml",
    "chars": 1795,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<database>\n\t<name>ownnote</name>\n\t<create>true</create>\n\t<overwrite>false</overw"
  },
  {
    "path": "appinfo/info.xml",
    "chars": 421,
    "preview": "<?xml version=\"1.0\"?>\n<info>\n    <id>ownnote</id>\n    <name>OwnNote</name>\n    <description></description>\n    <licence>"
  },
  {
    "path": "appinfo/routes.php",
    "chars": 3190,
    "preview": "<?php\n/**\n * ownCloud - ownnote\n *\n * This file is licensed under the Affero General Public License version 3 or\n * late"
  },
  {
    "path": "appinfo/version",
    "chars": 5,
    "preview": "1.08\n"
  },
  {
    "path": "controller/ownnoteajaxcontroller.php",
    "chars": 3022,
    "preview": "<?php\n/**\n * ownCloud - ownnote\n *\n * This file is licensed under the Affero General Public License version 3 or\n * late"
  },
  {
    "path": "controller/ownnoteapicontroller.php",
    "chars": 3371,
    "preview": "<?php\n/**\n * ownCloud - ownnote\n *\n * This file is licensed under the Affero General Public License version 3 or\n * late"
  },
  {
    "path": "controller/pagecontroller.php",
    "chars": 1555,
    "preview": "<?php\n/**\n * ownCloud - ownnote\n *\n * This file is licensed under the Affero General Public License version 3 or\n * late"
  },
  {
    "path": "css/style.css",
    "chars": 4854,
    "preview": "#app, #ownnote, #controls, #createform {\n\twidth: 100%;\n}\n\n.listing {\n\theight: 40pt;\n\tfont-style: normal;\n\toverflow: hidd"
  },
  {
    "path": "js/admin.js",
    "chars": 1088,
    "preview": "function ocOwnnoteUrl(url) {\n\tvar newurl = OC.linkTo(\"ownnote\",url).replace(\"apps/ownnote\",\"index.php/apps/ownnote\");\n\tr"
  },
  {
    "path": "js/script.js",
    "chars": 24684,
    "preview": "\n\tfunction tinymceInit() {\n\t\ttinymce.init({\n\t\t\tselector: \"div.editable\",\n\t\t\tmenubar: false,\n\t\t\tplugins: [\n\t\t\t\t\"textcolor"
  },
  {
    "path": "js/tinymce/langs/readme.md",
    "chars": 151,
    "preview": "This is where language files should be placed.\n\nPlease DO NOT translate these directly use this service: https://www.tra"
  },
  {
    "path": "js/tinymce/license.txt",
    "chars": 26427,
    "preview": "\t\t  GNU LESSER GENERAL PUBLIC LICENSE\n\t\t       Version 2.1, February 1999\n\n Copyright (C) 1991, 1999 Free Software Found"
  },
  {
    "path": "js/tinymce/plugins/bdesk_photo/README.md",
    "chars": 543,
    "preview": "BDESK PHOTO\n============\n\nBdesk Photo is a tinymce plugin for BuddyexpressDesk to allow administrator to embed image in "
  },
  {
    "path": "js/tinymce/plugins/example/dialog.html",
    "chars": 213,
    "preview": "<!DOCTYPE html>\n<html>\n<body>\n\t<h3>Custom dialog</h3>\n\tInput some text: <input id=\"content\">\n\t<button onclick=\"top.tinym"
  },
  {
    "path": "js/tinymce/plugins/jbimages/.gitattributes",
    "chars": 483,
    "preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs     diff=csharp\n*.sln"
  },
  {
    "path": "js/tinymce/plugins/jbimages/.gitignore",
    "chars": 606,
    "preview": "# Windows image file caches\r\nThumbs.db\r\nehthumbs.db\r\n\r\n# Folder config file\r\nDesktop.ini\r\n\r\n# Recycle Bin used on file s"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/.htaccess",
    "chars": 13,
    "preview": "Deny from all"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/autoload.php",
    "chars": 3088,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/config.php",
    "chars": 12818,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n\n/*\n|---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/constants.php",
    "chars": 1558,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n\n/*\n|---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/database.php",
    "chars": 3211,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/doctypes.php",
    "chars": 1138,
    "preview": "<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n\n$_doctypes = array(\n\t\t\t\t\t'xhtml11'\t\t=> '<!DO"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/foreign_chars.php",
    "chars": 1566,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/hooks.php",
    "chars": 498,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/migration.php",
    "chars": 1282,
    "preview": "<?php defined('BASEPATH') OR exit('No direct script access allowed');\n/*\n|----------------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/mimes.php",
    "chars": 4453,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/profiler.php",
    "chars": 564,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/routes.php",
    "chars": 1579,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/smileys.php",
    "chars": 3295,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/uploader_settings.php",
    "chars": 264,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n\n/* This config is a wrapper for the file be"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/config/user_agents.php",
    "chars": 5589,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/*\n| ---------------------------------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/controllers/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/controllers/uploader.php",
    "chars": 3687,
    "preview": "<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n\nclass Uploader extends CI_Controller {\n\t\n\t/*"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/errors/error_404.php",
    "chars": 1160,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<title>404 Page Not Found</title>\n<style type=\"text/css\">\n\n::selection{ backgrou"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/errors/error_db.php",
    "chars": 1156,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<title>Database Error</title>\n<style type=\"text/css\">\n\n::selection{ background-c"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/errors/error_general.php",
    "chars": 1147,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<title>Error</title>\n<style type=\"text/css\">\n\n::selection{ background-color: #E1"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/errors/error_php.php",
    "chars": 288,
    "preview": "<div style=\"border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;\">\n\n<h4>A PHP Error was encountered</h4>\n\n<p>Se"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/errors/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/helpers/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/helpers/jbimages_helper.php",
    "chars": 88,
    "preview": "<?php\n/* \t\n\tThis Helper is a wrapper of the file below\n*/\n\ninclude(\"../is_allowed.php\");"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/english/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/english/jbstrings_lang.php",
    "chars": 271,
    "preview": "<?php\n\n$lang['jb_blankpage_message'] = \"The Upload process had not started, or started, but had not finished yet, or you"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/french/imglib_lang.php",
    "chars": 2592,
    "preview": "<?php defined('BASEPATH') OR exit('No direct script access allowed');\n\n$lang['imglib_source_image_required'] = \"Vous dev"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/french/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/french/jbstrings_lang.php",
    "chars": 223,
    "preview": "<?php\n\n$lang['jb_blankpage_message'] = \"Le processus de téléchargement n\\'a pas encore commencé\"; // Google translate))\n"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/french/upload_lang.php",
    "chars": 2081,
    "preview": "<?php defined('BASEPATH') OR exit('No direct script access allowed');\n\n$lang['upload_userfile_not_set'] = \"Impossible de"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/russian/imglib_lang.php",
    "chars": 2011,
    "preview": "<?php\n\n$lang['imglib_source_image_required'] = \"You must specify a source image in your preferences.\";\n$lang['imglib_gd_"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/russian/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/russian/jbstrings_lang.php",
    "chars": 257,
    "preview": "<?php\n\n$lang['jb_blankpage_message'] = \"Процесс загрузки еще не начался, либо начался и еще не завершился, либо просто н"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/language/russian/upload_lang.php",
    "chars": 1483,
    "preview": "<?php\n\n$lang['upload_userfile_not_set'] = \"Не найдена переменная POST[userfile].\";\n$lang['upload_file_exceeds_limit'] = "
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/views/ajax_upload_result.php",
    "chars": 692,
    "preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/views/blank.php",
    "chars": 456,
    "preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/application/views/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/index.php",
    "chars": 6356,
    "preview": "<?php\n\n/*\n *---------------------------------------------------------------\n * APPLICATION ENVIRONMENT\n *---------------"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/.htaccess",
    "chars": 13,
    "preview": "Deny from all"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Benchmark.php",
    "chars": 2949,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/CodeIgniter.php",
    "chars": 11392,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Common.php",
    "chars": 13417,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Config.php",
    "chars": 8157,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Controller.php",
    "chars": 1567,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Exceptions.php",
    "chars": 4695,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Hooks.php",
    "chars": 4697,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Input.php",
    "chars": 18324,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Lang.php",
    "chars": 3632,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Loader.php",
    "chars": 30576,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Model.php",
    "chars": 1190,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Output.php",
    "chars": 12935,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Router.php",
    "chars": 12394,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Security.php",
    "chars": 22006,
    "preview": "<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appli"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/URI.php",
    "chars": 14443,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/Utf8.php",
    "chars": 3583,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/core/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/helpers/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/helpers/language_helper.php",
    "chars": 1409,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/language/english/imglib_lang.php",
    "chars": 2011,
    "preview": "<?php\n\n$lang['imglib_source_image_required'] = \"You must specify a source image in your preferences.\";\n$lang['imglib_gd_"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/language/english/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/language/english/upload_lang.php",
    "chars": 1619,
    "preview": "<?php\n\n$lang['upload_userfile_not_set'] = \"Unable to find a post variable called userfile.\";\n$lang['upload_file_exceeds_"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/language/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/libraries/Image_lib.php",
    "chars": 37341,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/libraries/Upload.php",
    "chars": 27548,
    "preview": "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n/**\n * CodeIgniter\n *\n * An open source appl"
  },
  {
    "path": "js/tinymce/plugins/jbimages/ci/system/libraries/index.html",
    "chars": 114,
    "preview": "<html>\n<head>\n\t<title>403 Forbidden</title>\n</head>\n<body>\n\n<p>Directory access is forbidden.</p>\n\n</body>\n</html>"
  },
  {
    "path": "js/tinymce/plugins/jbimages/config.php",
    "chars": 4216,
    "preview": "<?php\n/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/config.php\n *\n * Released under Creative Commons At"
  },
  {
    "path": "js/tinymce/plugins/jbimages/css/dialog-v4.css",
    "chars": 1293,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/css/dialog-v4.css\n *\n * Released under Creative Commons A"
  },
  {
    "path": "js/tinymce/plugins/jbimages/css/dialog.css",
    "chars": 4069,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/css/dialog.css\n *\n * Released under Creative Commons Attr"
  },
  {
    "path": "js/tinymce/plugins/jbimages/dialog-v4.htm",
    "chars": 1151,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n\t<title>Upload an image</title>\n\t<script type=\"tex"
  },
  {
    "path": "js/tinymce/plugins/jbimages/dialog.htm",
    "chars": 1489,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n\t<title>{#jbimages_dlg.title}</title>\n\t<script typ"
  },
  {
    "path": "js/tinymce/plugins/jbimages/editor_plugin.js",
    "chars": 877,
    "preview": "(function(){tinymce.PluginManager.requireLangPack('jbimages');tinymce.create('tinymce.plugins.jbImagesPlugin',{init:func"
  },
  {
    "path": "js/tinymce/plugins/jbimages/editor_plugin_src.js",
    "chars": 2980,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/plugin.js\n *\n * Released under Creative Commons Attributi"
  },
  {
    "path": "js/tinymce/plugins/jbimages/is_allowed.php",
    "chars": 786,
    "preview": "<?php\n/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/config.php\n *\n * Released under Creative Commons At"
  },
  {
    "path": "js/tinymce/plugins/jbimages/js/dialog-v4.js",
    "chars": 2796,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/js/dialog-v4.js\n *\n * Released under Creative Commons Att"
  },
  {
    "path": "js/tinymce/plugins/jbimages/js/dialog.js",
    "chars": 2754,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/js/dialog.js\n *\n * Released under Creative Commons Attrib"
  },
  {
    "path": "js/tinymce/plugins/jbimages/langs/en.js",
    "chars": 376,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/langs/en.js\n *\n * Released under Creative Commons Attribu"
  },
  {
    "path": "js/tinymce/plugins/jbimages/langs/en_dlg.js",
    "chars": 819,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/langs/en_dlg.js\n *\n * Released under Creative Commons Att"
  },
  {
    "path": "js/tinymce/plugins/jbimages/langs/fr.js",
    "chars": 390,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/langs/fr.js\n *\n * Released under Creative Commons Attribu"
  },
  {
    "path": "js/tinymce/plugins/jbimages/langs/fr_dlg.js",
    "chars": 919,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/langs/fr_dlg.js\n *\n * Released under Creative Commons Att"
  },
  {
    "path": "js/tinymce/plugins/jbimages/langs/ru.js",
    "chars": 501,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/langs/ru.js\n *\n * Released under Creative Commons Attribu"
  },
  {
    "path": "js/tinymce/plugins/jbimages/langs/ru_dlg.js",
    "chars": 1704,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/langs/ru_dlg.js\n *\n * Released under Creative Commons Att"
  },
  {
    "path": "js/tinymce/plugins/jbimages/plugin.js",
    "chars": 1040,
    "preview": "/**\n * Justboil.me - a TinyMCE image upload plugin\n * jbimages/plugin.js\n *\n * Released under Creative Commons Attributi"
  },
  {
    "path": "js/tinymce/plugins/jbimages/readme",
    "chars": 351,
    "preview": "|------------|\n|   README   |\n|------------|\n\nJustBoil.me Images is a simple, elegant image upload plugin for TinyMCE. I"
  },
  {
    "path": "js/tinymce/plugins/visualblocks/css/visualblocks.css",
    "chars": 5070,
    "preview": ".mce-visualblocks p {\n\tpadding-top: 10px;\n\tborder: 1px dashed #BBB;\n\tmargin-left: 3px;\n\tbackground: transparent no-repea"
  },
  {
    "path": "js/tinymce/tinymce.min.js.orig",
    "chars": 302335,
    "preview": "// 4.1.7 (2014-11-27)\n!function(e,t){\"use strict\";function n(e,t){for(var n,r=[],i=0;i<e.length;++i){if(n=s[e[i]]||o(e[i"
  },
  {
    "path": "l10n/de.js",
    "chars": 2165,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"Vor # Tag\",\n\"# days ago\" : \"Vor # Tagen\",\n\"# hour ago\" : \"Vor # Stunde\",\n\""
  },
  {
    "path": "l10n/de.json",
    "chars": 2167,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"Vor # Tag\",\n\"# days ago\" : \"Vor # Tagen\",\n\"# hour ago\" : \"Vor # Stunde\",\n\"# hours ago"
  },
  {
    "path": "l10n/de.php",
    "chars": 2216,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"Vor # Tag\",\n\"# days ago\" => \"Vor # Tagen\",\n\"# hour ago\" => \"Vor # Stunde\",\n"
  },
  {
    "path": "l10n/de_DE.js",
    "chars": 2165,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"Vor # Tag\",\n\"# days ago\" : \"Vor # Tagen\",\n\"# hour ago\" : \"Vor # Stunde\",\n\""
  },
  {
    "path": "l10n/de_DE.json",
    "chars": 2167,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"Vor # Tag\",\n\"# days ago\" : \"Vor # Tagen\",\n\"# hour ago\" : \"Vor # Stunde\",\n\"# hours ago"
  },
  {
    "path": "l10n/de_DE.php",
    "chars": 2216,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"Vor # Tag\",\n\"# days ago\" => \"Vor # Tagen\",\n\"# hour ago\" => \"Vor # Stunde\",\n"
  },
  {
    "path": "l10n/en.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/en.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/en.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/en_AU.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/en_AU.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/en_AU.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/en_US.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/en_US.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/en_US.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/es.js",
    "chars": 2121,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# día atrás\",\n\"# days ago\" : \"# días atrás\",\n\"# hour ago\" : \"# hora atrás\""
  },
  {
    "path": "l10n/es.json",
    "chars": 2123,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# día atrás\",\n\"# days ago\" : \"# días atrás\",\n\"# hour ago\" : \"# hora atrás\",\n\"# hours "
  },
  {
    "path": "l10n/es.php",
    "chars": 2172,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# día atrás\",\n\"# days ago\" => \"# días atrás\",\n\"# hour ago\" => \"# hora atrás"
  },
  {
    "path": "l10n/es_ES.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/es_ES.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/es_ES.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/fr.js",
    "chars": 2169,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"Il y a # jour\",\n\"# days ago\" : \"Il y a # jours\",\n\"# hour ago\" : \"Il y a # "
  },
  {
    "path": "l10n/fr.json",
    "chars": 2171,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"Il y a # jour\",\n\"# days ago\" : \"Il y a # jours\",\n\"# hour ago\" : \"Il y a # heure\",\n\"# "
  },
  {
    "path": "l10n/fr.php",
    "chars": 2218,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"Il y a # jour\",\n\"# days ago\" => \"Il y a # jours\",\n\"# hour ago\" => \"Il y a #"
  },
  {
    "path": "l10n/fr_BE.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/fr_BE.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/fr_BE.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/gl.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/gl.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/gl.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/gl_ES.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/gl_ES.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/gl_ES.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/id.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/id.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/id.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/id_ID.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/id_ID.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/id_ID.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/it.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/it.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/it.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/it_IT.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/it_IT.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/it_IT.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/ja.js",
    "chars": 1768,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"#日前\",\n\"# days ago\" : \"#日前\",\n\"# hour ago\" : \"#時前\",\n\"# hours ago\" : \"#時前\",\n\""
  },
  {
    "path": "l10n/ja.json",
    "chars": 1770,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"#日前\",\n\"# days ago\" : \"#日前\",\n\"# hour ago\" : \"#時前\",\n\"# hours ago\" : \"#時前\",\n\"# minute ag"
  },
  {
    "path": "l10n/ja.php",
    "chars": 1819,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"#日前\",\n\"# days ago\" => \"#日前\",\n\"# hour ago\" => \"#時前\",\n\"# hours ago\" => \"#時前\","
  },
  {
    "path": "l10n/lb.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/lb.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/lb.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/nl.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/nl.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/nl.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/pl.js",
    "chars": 2058,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# dzień temu\",\n\"# days ago\" : \"# dni temu\",\n\"# hour ago\" : \"# godzinę temu"
  },
  {
    "path": "l10n/pl.json",
    "chars": 2060,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# dzień temu\",\n\"# days ago\" : \"# dni temu\",\n\"# hour ago\" : \"# godzinę temu\",\n\"# hours"
  },
  {
    "path": "l10n/pl.php",
    "chars": 2109,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# dzień temu\",\n\"# days ago\" => \"# dni temu\",\n\"# hour ago\" => \"# godzinę tem"
  },
  {
    "path": "l10n/pl_PL.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/pl_PL.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/pl_PL.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/pt_BR.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/pt_BR.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/pt_BR.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/ru.js",
    "chars": 2063,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# день назад\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# час назад\",\n"
  },
  {
    "path": "l10n/ru.json",
    "chars": 2065,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# день назад\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# час назад\",\n\"# hours ag"
  },
  {
    "path": "l10n/ru.php",
    "chars": 2114,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# день назад\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# час назад\","
  },
  {
    "path": "l10n/sl_SI.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/sl_SI.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/sl_SI.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/tr_TR.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/tr_TR.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/tr_TR.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/zh.js",
    "chars": 2013,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# h"
  },
  {
    "path": "l10n/zh.json",
    "chars": 2015,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# day ago\",\n\"# days ago\" : \"# days ago\",\n\"# hour ago\" : \"# hour ago\",\n\"# hours ago\" :"
  },
  {
    "path": "l10n/zh.php",
    "chars": 2064,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# day ago\",\n\"# days ago\" => \"# days ago\",\n\"# hour ago\" => \"# hour ago\",\n\"# "
  },
  {
    "path": "l10n/zh_TW.js",
    "chars": 1464,
    "preview": "OC.L10N.register(\n\"ownnote\",\n{\n\"# day ago\" : \"# 天前\",\n\"# days ago\" : \"# 天前\",\n\"# hour ago\" : \"# 小時前\",\n\"# hours ago\" : \"# 小"
  },
  {
    "path": "l10n/zh_TW.json",
    "chars": 1466,
    "preview": "{ \"translations\": {\n\"# day ago\" : \"# 天前\",\n\"# days ago\" : \"# 天前\",\n\"# hour ago\" : \"# 小時前\",\n\"# hours ago\" : \"# 小時前\",\n\"# min"
  },
  {
    "path": "l10n/zh_TW.php",
    "chars": 1515,
    "preview": "<?php\n$TRANSLATIONS = array(\n\"# day ago\" => \"# 天前\",\n\"# days ago\" => \"# 天前\",\n\"# hour ago\" => \"# 小時前\",\n\"# hours ago\" => \"#"
  },
  {
    "path": "lib/backend.php",
    "chars": 17035,
    "preview": "<?php\n\nnamespace OCA\\OwnNote\\Lib;\n\n\\OCP\\User::checkLoggedIn();\n\nuse DateTime;\nuse DOMDocument;\n\nclass Backend {\n\n\tprivat"
  },
  {
    "path": "templates/admin.php",
    "chars": 943,
    "preview": "<?php\n\n\\OCP\\Util::addScript('ownnote', 'admin');\n\n$folder = $_['folder'];\n$l = OCP\\Util::getL10N('ownnote');\n\n?>\n\n<div c"
  },
  {
    "path": "templates/main.php",
    "chars": 3496,
    "preview": "<?php\n\\OCP\\Util::addScript('ownnote', 'script');\n\\OCP\\Util::addScript('ownnote','tinymce/tinymce.min');\n\\OCP\\Util::addSt"
  },
  {
    "path": "transifex/import.sh",
    "chars": 4239,
    "preview": "#!/bin/bash\n\n#\n# Generates translation files from transifex outputs\n#\n\nif [ -z \"${1}\" ]; then\n\techo \"Usage: import.sh <o"
  },
  {
    "path": "transifex/server.txt",
    "chars": 380,
    "preview": "# day ago\n# days ago\n# hour ago\n# hours ago\n# minute ago\n# minutes ago\n# month ago\n# months ago\n# second ago\n# seconds a"
  },
  {
    "path": "transifex/serveradmin.txt",
    "chars": 459,
    "preview": "Announcements are unobtrusive and only used for major notifications such as the release of a new mobile or desktop compa"
  }
]

// ... and 1 more files (download for full content)

About this extraction

This page contains the full source code of the Fmstrat/ownnote GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 197 files (912.5 KB), approximately 281.2k tokens, and a symbol index with 335 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!