Compare commits

...

29 Commits

Author SHA1 Message Date
104c4e6bae Fixed gh-373 so that the auto update of selection is only triggered when toggling the all selection button. 2019-02-06 11:32:38 +02:00
1a538e71d7 Added buttons to edit cutomcode directly from where it is added in other areas around the component. This will improve the customcode workflow in JCB. 2019-01-31 23:44:21 +02:00
8cdf056ad4 Improved the adminForm validation JavaScript, thanks @ro-ot 2019-01-30 16:00:21 +02:00
018eed3054 Resolved gh-370 so that all fields get loaded in a dynamicGet, even new once created at a later stage. 2019-01-29 16:43:27 +02:00
3abae0494e Added the option to set the row_format per table in the admin view. Converted all the JCB tables to have a DYNAMIC row format. Fixed gh-369 so that JCB packages like JMM can be imported. 2019-01-26 05:52:05 +02:00
02de1edb54 Resolved gh-363 so that showon will function as expected in the full width layout. Resolved gh-367 by adding a wrapper class around each field in the edit view. 2019-01-23 16:30:53 +02:00
5c2f0aec63 Resolved gh-364 to allow greater depth and ensure that all custom code placeholders are always update/replaced at any depth layer. Tweaked the editURL method to also handle access control permissions. 2019-01-22 00:58:22 +02:00
4e2c51c303 Resolved gh-360 by adding the blob data type as an option for data types. Resolved gh-362 by adding the nested subform compatibility to subforms in JCB. Resolved gh-365 by improving the customscript validation search of save of custom code area. Added email validation to the email helper script. 2019-01-14 17:41:49 +02:00
b7a5cb7285 fixed issue that caused some custom code not to export for a JCB packages if found in anther custom code area. Made some corrections to the router helper class. Added return_here value admin views to improve the return values in url redirection. Improved the open valid base64 method to make use of default string. Update many ajax calls to not use jsonp, and infact be more secure. 2018-12-29 17:05:01 +02:00
17ba6c4a89 fixed the opencollective links to use full markdown 2018-12-19 06:47:39 +02:00
279831da30 Added open Collective to the readme, thanks @monkeywithacupcake. Added default selection to adding admin views to component. Update some helper methods, and comments. 2018-12-19 06:14:51 +02:00
a52d230aeb Improved the custom code area to now allow custom code in custom code with the help of placheholders. Removed the static wiki page, and relinked to the github wiki. 2018-11-27 15:05:47 +02:00
180f1cec6d Moved the customcode together in the helper class. Improvd the note in the custom code area. Added helper method to load dynamic content, like banners accross JCB backend 2018-11-08 06:07:13 +02:00
dbe7880199 Updated the Readme with more info on TODO, and making JCB better. 2018-11-01 04:13:53 +02:00
6c4bab5ea9 Resolved gh-323 so we can load fields only in the linked or admin list views or in both. Added the option to also add permission to access fields. Improved the checkArray method to return arry count value. Fixed issue in field permissions when the value is and array, field type can not be made hidden, but should instead just be removed. Fixed an issue in the code search methods to insure all areas are looked at, and search and export. 2018-10-29 18:38:00 +02:00
1e5fda0327 Fixed an missing div tag in the custom code area. 2018-10-07 22:13:53 +02:00
65e6511a3e Little fix to insure fallback in openValidBase64 method works correctly 2018-10-07 21:39:29 +02:00
95b6a23159 Fixed gh-349 to insure dynamic joined and other tweaks are not added when custom code is selected as main source with a dynamicGet 2018-10-04 12:07:37 +02:00
feb4ae9c24 We removed the Transition to InnoDB for all JCB tables and moved it to https://gist.github.com/Llewellynvdm/85234c6bd1e7d0eb4ddd6c925770aa2c for those who want to manually make the transition. gh-348 We also added a pre-flight script to remove all unused columns from JCB. 2018-10-03 13:34:54 +02:00
d7665fe88d Improved the custom-custom field implementation, to allow duplicate fields to be use in sub-forms and in same form/view with the correct expected behavior of incremental naming, only if in same sub-form or form/view. gh-341 2018-10-01 04:16:24 +02:00
043686814c Further fix to the search of customcode placeholders accross the system. 2018-09-29 23:52:22 +02:00
fdd1cf7390 Added the option to random order the dynamic get result set. gh-348 2018-09-29 02:57:11 +02:00
1447e06dd7 Fixed the search for customcode placeholders accross the system. gh-341 2018-09-28 17:47:04 +02:00
c0f79ec4ba Changed the text field for Value/Example in the Fieldtype area to a textarea so we can add more code per/line. gh-341 2018-09-27 00:09:29 +02:00
9285f0a2b1 Little fix to the field builder in the compiler 2018-09-25 22:51:14 +02:00
73d383c755 Resolved gh-345 by adding whole new mysql table selection options in the admin view, under the mySql tab. Fixed the folder & file loader. Fixed the Update of custom files, so even the custom code and external code placholders will work in external files. Update all tables in JCB to use InnoDB Engine, utf8md4 Charset and utf8mb4_unicode_ci Collation. 2018-09-25 22:02:48 +02:00
6ad253be44 Resolved gh-341 that adds the feature to expand the custom field option far beyond the default. Moved the menu prefix option in to the Joomla component area -> tab -> Settings to allow each component to override the global setting. 2018-09-24 16:37:51 +02:00
e71ba204ca Added the [Run Expansion] button option for faster compile and install option of selected components. 2018-09-20 21:17:07 +02:00
b208f4f616 Update the Uikit 3 lib. Fixed permission check in getEditUrl. 2018-09-20 14:35:14 +02:00
538 changed files with 23780 additions and 20244 deletions

100
README.md
View File

@ -1,5 +1,8 @@
# Joomla Component Builder (JCB)
[![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases) [![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
# Joomla Component Builder ([JCB](http://joomlacomponentbuilder.com))
[![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
[![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
[![Backers on Open Collective](https://opencollective.com/Joomla-Component-Builder/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/Joomla-Component-Builder/sponsors/badge.svg)](#sponsors)
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -9,29 +12,36 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.9.1) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.9.11) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
Once installed upgrades are quick and easy via the default Joomla upgrade area.
Once installed upgrades are quick and easy via the default [Joomla](https://extensions.joomla.org/extension/component-builder/) upgrade area.
Some of the Features
====================
+ Fetch Code from IDE and place it back in component during next compilation.
+ Add [Joomla custom fields](https://www.youtube.com/watch?v=n5RBmP0uNCM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=75) in any of your components.
+ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end.
+ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept.
+ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel.
+ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](http://joomlacomponentbuilder.com)
+ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](http://joomlacomponentbuilder.com).
+ Adding mySQL Dump to any View/Table.
+ Grab existing Table data and build a dynamic dump.
+ Unlimited Joomla Components.
+ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components.
+ Unlimited Tables/Views.
+ Reusing Views and Fields.
+ Runs on Your Own Joomla Install.
+ Runs on Your Own [Joomla](https://extensions.joomla.org/extension/component-builder/) Install.
+ Add Dynamic/custom back-end views that uses Table and Chart result sets.
+ Build data query of extreme complex nature to use in Dynamic/custom views.
+ Highly Dynamic/custom Front-end Structures.
+ Dynamically setup templates and layouts for Front-end design.
+ Integration of the excellent UIKIT lib.
+ Integration of the excellent FOOTABLE lib.
+ All Joomla Standard Field Types (including repeatable fields).
+ Strong Implementation of all Joomla Form Security.
+ All [Joomla](https://extensions.joomla.org/extension/component-builder/) Standard Field Types (including subforms).
+ Strong Implementation of all [Joomla](https://extensions.joomla.org/extension/component-builder/) Form Security.
+ Load data via ajax with ease.
+ You can add an Update Server to Components you build.
+ Build advanced Dynamic front-end forms.
@ -40,13 +50,13 @@ Some of the Features
+ Include any amount of custom files and folders during build.
+ Static helper class with smart methods already included.
+ Static helper methods Can easily be added.
+ Direct install from complier view.
+ Integrative with native Joomla Categories and Tags.
+ Direct install from compiler view.
+ Integrative with native [Joomla](https://extensions.joomla.org/extension/component-builder/) Categories and Tags.
+ Fully Dynamic Search Friendly URL Auto Implementation.
+ Custom scripting options all over the MVC structure.
+ Permission implementation down to each view, item and field.
+ Easy extendible to include other libraries.
+ Can include SQL and visioning update link to distribute your component updates via Joomla default upgrade of components.
+ Can include SQL and visioning update link to distribute your component updates via [Joomla](https://extensions.joomla.org/extension/component-builder/) default upgrade of components.
+ Easy Export & Import addon to all backend-tables.
+ Overriding ability of import concepts in all backend-tables.
+ The Batch and Filter implementation on all backend-list views.
@ -55,8 +65,8 @@ Some of the Features
Just Imagine
====================
+ Your Component Back-end can be more advanced then the Joomla Article Manager.
+ Your Code as Perfectly Unified to the strict Joomla Standards.
+ Your Component Back-end can be more advanced then the [Joomla](https://extensions.joomla.org/extension/component-builder/) Article Manager.
+ Your Code as Perfectly Unified to the strict [Joomla](https://extensions.joomla.org/extension/component-builder/) Standards.
+ Adding Custom Scripting almost anywhere in the MVC structure.
+ Import and export feature to all backend-views.
+ Batch copy and move/update feature for all backend-views.
@ -76,13 +86,13 @@ You are in Control
+ You can dynamically add internal help structures to all component.
+ There is no limitations on how big or how much you want to build (server limitation only).
+ This is a complete factory kind of component that functions like a deployment hub.
+ Export any component completely mapped in JCB and import into another JCB.
+ Export any component completely mapped in [JCB](http://joomlacomponentbuilder.com) and import into another [JCB](http://joomlacomponentbuilder.com).
+ This and much much more are all possible with this component builder!
Get More Demo Content
====================
> The cat is out of the bag, JCB fully mapped can now be yours! Including many other JCB mapped components.
> The cat is out of the bag, [JCB](http://joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](http://joomlacomponentbuilder.com) mapped components.
### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)!
@ -95,29 +105,38 @@ Where can you get support and help?
+ [The JCB Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE)
+ [Hello World Tutorial](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
+ [The JCB! Wiki](https://github.com/vdm-io/Joomla-Component-Builder/wiki)
+ [JCB Google Group/forum](https://groups.google.com/a/vdm.io/d/forum/jcb)
+ [JCB Google Group/forum](https://vdm.bz/jcb-forum)
+ [Report a Security Issue](http://joomlacomponentbuilder.com/report-security-issues)
+ [Community Complaint](http://joomlacomponentbuilder.com/community-complaint)
+ [Open Issue On Github](https://github.com/vdm-io/Joomla-Component-Builder/issues) ^^
+ [JCB IRC Channel](https://vdm.bz/jcb-irc)
Since JCB has [become a community](https://github.com/vdm-io/Joomla-Component-Builder/blob/staging/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support.
Since [JCB](http://joomlacomponentbuilder.com) has [become a community](https://github.com/vdm-io/Joomla-Component-Builder/blob/staging/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support.
We have started a [**JCB forum**](https://groups.google.com/a/vdm.io/d/forum/jcb) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components.
We have started a [**JCB forum**](https://vdm.bz/jcb-forum) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components.
^^ Then if you run into any issues, related to the JCB code, like bugs, **start by searching** the (*open & closed*) issues over on Github, and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://github.com/vdm-io/Joomla-Component-Builder/blob/master/.github/CONTRIBUTING.md).
^^ Then if you run into any issues, related to the [JCB](http://joomlacomponentbuilder.com) code, like bugs, **start by searching** the (*open & closed*) issues over on Github, and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://github.com/vdm-io/Joomla-Component-Builder/blob/master/.github/CONTRIBUTING.md).
WHY GIVE IT AWAY LIKE THIS?
====================
> We are Open Source Enthusiast
> Who Support the Joomla Community
> Who Support the [Joomla](https://extensions.joomla.org/extension/component-builder/) Community
Our idea was to almost let this tool serve as a cheat sheet to how things can be done... and with the help of other developers end up formulating the way how things not only can, but must be done to insure secure, stable, scalable and maintainable code is produced.
MAKING IT BETTER!
====================
Watch the [proposed development workflow](https://vdm.bz/proposed-development-workflow).
Get involved on the forums, and the GitHub issues, and you can even help us develop/improve the pipeline of [JCB](http://joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](http://joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas.
TODO
======
- Add automatic (REST) API ability for all components build with [JCB](http://joomlacomponentbuilder.com). So we can link any component build with JCB to an Android/Apple APP.
- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](http://joomlacomponentbuilder.com).
- Team collaborative development across [JCB](http://joomlacomponentbuilder.com) installations offline and online.
- Documentation (maintained by the community) for [JCB](http://joomlacomponentbuilder.com). (help us select the best system for this)
# Build Details
@ -125,21 +144,38 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 19th September, 2018
+ *Version*: 2.9.1
+ *Last Build*: 6th February, 2019
+ *Version*: 2.9.11
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **193291**
+ *Field count*: **1081**
+ *File count*: **1273**
+ *Line count*: **195865**
+ *Field count*: **1089**
+ *File count*: **1277**
+ *Folder count*: **201**
> This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com).
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
## Donations
## Contributors
This project exists thanks to all the people who contribute.
Come on buy VDM a coffee :)
* PayPal: [paypal.me/asseblief](https://www.paypal.me/asseblief) (Asseblief = Please) in Afrikaans
* Bitcoin: 18vURxYpPFjvNk8BnUy1ovCAyQmY3MzkSf
* Ethereum: 0x9548144662b47327c954f3e214edb96662d51218
[![Contributors](https://opencollective.com/Joomla-Component-Builder/contributors.svg?width=890&button=false)](https://github.com/vdm-io/Joomla-Component-Builder/graphs/contributors)
### Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/Joomla-Component-Builder#backer)]
[![Our Backers on opencollective](https://opencollective.com/Joomla-Component-Builder/backers.svg?width=890)](https://opencollective.com/Joomla-Component-Builder#backers)
### Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Joomla-Component-Builder#sponsor)]
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/0/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/0/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/1/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/1/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/2/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/2/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/3/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/3/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/4/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/4/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/5/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/5/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/6/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/6/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/7/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/7/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/8/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/8/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website)

View File

@ -1,5 +1,8 @@
# Joomla Component Builder (JCB)
[![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases) [![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
# Joomla Component Builder ([JCB](http://joomlacomponentbuilder.com))
[![GitHub release](https://img.shields.io/github/release/vdm-io/Joomla-Component-Builder.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
[![Total Downloads](https://img.shields.io/github/downloads/vdm-io/Joomla-Component-Builder/total.svg)](https://github.com/vdm-io/Joomla-Component-Builder/releases)
[![Backers on Open Collective](https://opencollective.com/Joomla-Component-Builder/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/Joomla-Component-Builder/sponsors/badge.svg)](#sponsors)
This is a [Joomla 3.x](https://extensions.joomla.org/extension/component-builder/) component. [__See In Action__](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
@ -9,29 +12,36 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo
Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.9.1) with **ALL** its features and **ALL** concepts totally open-source and free!
You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.9.11) with **ALL** its features and **ALL** concepts totally open-source and free!
> Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
Once installed upgrades are quick and easy via the default Joomla upgrade area.
Once installed upgrades are quick and easy via the default [Joomla](https://extensions.joomla.org/extension/component-builder/) upgrade area.
Some of the Features
====================
+ Fetch Code from IDE and place it back in component during next compilation.
+ Add [Joomla custom fields](https://www.youtube.com/watch?v=n5RBmP0uNCM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=75) in any of your components.
+ Add you [own dashboard](https://www.youtube.com/watch?v=tU7TeYn1Djo&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=60) in the back-end.
+ [Dynamic File and Folder](https://www.youtube.com/watch?v=_c7wzW075lA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=56) Inclusion concept.
+ [Easy Translation](https://www.youtube.com/watch?v=q5NwKGnOHoQ&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=51) via excel.
+ Adding your [own rule validation](https://www.youtube.com/watch?v=Z6-ggKtX35o&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=46) to a field in [JCB](http://joomlacomponentbuilder.com)
+ [Automated backup system](https://www.youtube.com/watch?v=GUWZaODo_IM&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=0s&index=40) in [JCB](http://joomlacomponentbuilder.com).
+ Adding mySQL Dump to any View/Table.
+ Grab existing Table data and build a dynamic dump.
+ Unlimited Joomla Components.
+ Unlimited [Joomla](https://extensions.joomla.org/extension/component-builder/) Components.
+ Unlimited Tables/Views.
+ Reusing Views and Fields.
+ Runs on Your Own Joomla Install.
+ Runs on Your Own [Joomla](https://extensions.joomla.org/extension/component-builder/) Install.
+ Add Dynamic/custom back-end views that uses Table and Chart result sets.
+ Build data query of extreme complex nature to use in Dynamic/custom views.
+ Highly Dynamic/custom Front-end Structures.
+ Dynamically setup templates and layouts for Front-end design.
+ Integration of the excellent UIKIT lib.
+ Integration of the excellent FOOTABLE lib.
+ All Joomla Standard Field Types (including repeatable fields).
+ Strong Implementation of all Joomla Form Security.
+ All [Joomla](https://extensions.joomla.org/extension/component-builder/) Standard Field Types (including subforms).
+ Strong Implementation of all [Joomla](https://extensions.joomla.org/extension/component-builder/) Form Security.
+ Load data via ajax with ease.
+ You can add an Update Server to Components you build.
+ Build advanced Dynamic front-end forms.
@ -40,13 +50,13 @@ Some of the Features
+ Include any amount of custom files and folders during build.
+ Static helper class with smart methods already included.
+ Static helper methods Can easily be added.
+ Direct install from complier view.
+ Integrative with native Joomla Categories and Tags.
+ Direct install from compiler view.
+ Integrative with native [Joomla](https://extensions.joomla.org/extension/component-builder/) Categories and Tags.
+ Fully Dynamic Search Friendly URL Auto Implementation.
+ Custom scripting options all over the MVC structure.
+ Permission implementation down to each view, item and field.
+ Easy extendible to include other libraries.
+ Can include SQL and visioning update link to distribute your component updates via Joomla default upgrade of components.
+ Can include SQL and visioning update link to distribute your component updates via [Joomla](https://extensions.joomla.org/extension/component-builder/) default upgrade of components.
+ Easy Export & Import addon to all backend-tables.
+ Overriding ability of import concepts in all backend-tables.
+ The Batch and Filter implementation on all backend-list views.
@ -55,8 +65,8 @@ Some of the Features
Just Imagine
====================
+ Your Component Back-end can be more advanced then the Joomla Article Manager.
+ Your Code as Perfectly Unified to the strict Joomla Standards.
+ Your Component Back-end can be more advanced then the [Joomla](https://extensions.joomla.org/extension/component-builder/) Article Manager.
+ Your Code as Perfectly Unified to the strict [Joomla](https://extensions.joomla.org/extension/component-builder/) Standards.
+ Adding Custom Scripting almost anywhere in the MVC structure.
+ Import and export feature to all backend-views.
+ Batch copy and move/update feature for all backend-views.
@ -76,13 +86,13 @@ You are in Control
+ You can dynamically add internal help structures to all component.
+ There is no limitations on how big or how much you want to build (server limitation only).
+ This is a complete factory kind of component that functions like a deployment hub.
+ Export any component completely mapped in JCB and import into another JCB.
+ Export any component completely mapped in [JCB](http://joomlacomponentbuilder.com) and import into another [JCB](http://joomlacomponentbuilder.com).
+ This and much much more are all possible with this component builder!
Get More Demo Content
====================
> The cat is out of the bag, JCB fully mapped can now be yours! Including many other JCB mapped components.
> The cat is out of the bag, [JCB](http://joomlacomponentbuilder.com) fully mapped can now be yours! Including many other [JCB](http://joomlacomponentbuilder.com) mapped components.
### All you need to do is [explained here](https://vdm.bz/how-to-get-free-vdm-package-keys)!
@ -95,29 +105,38 @@ Where can you get support and help?
+ [The JCB Tutorials](https://www.youtube.com/playlist?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE)
+ [Hello World Tutorial](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45)
+ [The JCB! Wiki](https://github.com/vdm-io/Joomla-Component-Builder/wiki)
+ [JCB Google Group/forum](https://groups.google.com/a/vdm.io/d/forum/jcb)
+ [JCB Google Group/forum](https://vdm.bz/jcb-forum)
+ [Report a Security Issue](http://joomlacomponentbuilder.com/report-security-issues)
+ [Community Complaint](http://joomlacomponentbuilder.com/community-complaint)
+ [Open Issue On Github](https://github.com/vdm-io/Joomla-Component-Builder/issues) ^^
+ [JCB IRC Channel](https://vdm.bz/jcb-irc)
Since JCB has [become a community](https://github.com/vdm-io/Joomla-Component-Builder/blob/staging/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support.
Since [JCB](http://joomlacomponentbuilder.com) has [become a community](https://github.com/vdm-io/Joomla-Component-Builder/blob/staging/.github/SUPPORT.md) project [VDM.io](https://www.vdm.io/) is **no longer solely responsible** for support.
We have started a [**JCB forum**](https://groups.google.com/a/vdm.io/d/forum/jcb) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components.
We have started a [**JCB forum**](https://vdm.bz/jcb-forum) where you can post questions, about how things work, or if you need some kind of help in relation to your development of your components.
^^ Then if you run into any issues, related to the JCB code, like bugs, **start by searching** the (*open & closed*) issues over on Github, and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://github.com/vdm-io/Joomla-Component-Builder/blob/master/.github/CONTRIBUTING.md).
^^ Then if you run into any issues, related to the [JCB](http://joomlacomponentbuilder.com) code, like bugs, **start by searching** the (*open & closed*) issues over on Github, and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://github.com/vdm-io/Joomla-Component-Builder/blob/master/.github/CONTRIBUTING.md).
WHY GIVE IT AWAY LIKE THIS?
====================
> We are Open Source Enthusiast
> Who Support the Joomla Community
> Who Support the [Joomla](https://extensions.joomla.org/extension/component-builder/) Community
Our idea was to almost let this tool serve as a cheat sheet to how things can be done... and with the help of other developers end up formulating the way how things not only can, but must be done to insure secure, stable, scalable and maintainable code is produced.
MAKING IT BETTER!
====================
Watch the [proposed development workflow](https://vdm.bz/proposed-development-workflow).
Get involved on the forums, and the GitHub issues, and you can even help us develop/improve the pipeline of [JCB](http://joomlacomponentbuilder.com) for continues delivery. We really want to see [JCB](http://joomlacomponentbuilder.com) remain the tool of choice for all [Joomla Component Development](https://extensions.joomla.org/extension/component-builder/) needs and ideas.
TODO
======
- Add automatic (REST) API ability for all components build with [JCB](http://joomlacomponentbuilder.com). So we can link any component build with JCB to an Android/Apple APP.
- Add automatic unit testing. To nurture pipeline integration for all components build with [JCB](http://joomlacomponentbuilder.com).
- Team collaborative development across [JCB](http://joomlacomponentbuilder.com) installations offline and online.
- Documentation (maintained by the community) for [JCB](http://joomlacomponentbuilder.com). (help us select the best system for this)
# Build Details
@ -125,21 +144,38 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
+ *Last Build*: 19th September, 2018
+ *Version*: 2.9.1
+ *Last Build*: 6th February, 2019
+ *Version*: 2.9.11
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **193291**
+ *Field count*: **1081**
+ *File count*: **1273**
+ *Line count*: **195865**
+ *Field count*: **1089**
+ *File count*: **1277**
+ *Folder count*: **201**
> This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com).
> This **component** was build with a [Joomla](https://extensions.joomla.org/extension/component-builder/) [Automated Component Builder](http://joomlacomponentbuilder.com).
> Developed by [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
## Donations
## Contributors
This project exists thanks to all the people who contribute.
Come on buy VDM a coffee :)
* PayPal: [paypal.me/asseblief](https://www.paypal.me/asseblief) (Asseblief = Please) in Afrikaans
* Bitcoin: 18vURxYpPFjvNk8BnUy1ovCAyQmY3MzkSf
* Ethereum: 0x9548144662b47327c954f3e214edb96662d51218
[![Contributors](https://opencollective.com/Joomla-Component-Builder/contributors.svg?width=890&button=false)](https://github.com/vdm-io/Joomla-Component-Builder/graphs/contributors)
### Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/Joomla-Component-Builder#backer)]
[![Our Backers on opencollective](https://opencollective.com/Joomla-Component-Builder/backers.svg?width=890)](https://opencollective.com/Joomla-Component-Builder#backers)
### Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Joomla-Component-Builder#sponsor)]
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/0/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/0/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/1/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/1/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/2/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/2/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/3/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/3/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/4/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/4/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/5/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/5/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/6/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/6/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/7/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/7/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/8/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/8/website)
[![Sponsor](https://opencollective.com/Joomla-Component-Builder/sponsor/9/avatar.svg)](https://opencollective.com/Joomla-Component-Builder/sponsor/9/website)

View File

@ -15,6 +15,7 @@
<action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_COMPONENT_DESC" />
<action name="core.edit.created_by" title="COM_COMPONENTBUILDER_EDIT_CREATED_BY" description="COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC" />
<action name="core.edit.created" title="COM_COMPONENTBUILDER_EDIT_CREATED_DATE" description="COM_COMPONENTBUILDER_EDIT_CREATED_DATE_DESC" />
<action name="admin_view.run_expansion" title="COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
<action name="admin_view.access" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_ACCESS_DESC" />
<action name="admin_view.batch" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_BATCH_USE_DESC" />
<action name="admin_view.create" title="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE" description="COM_COMPONENTBUILDER_ADMIN_VIEWS_CREATE_DESC" />
@ -73,6 +74,7 @@
<action name="compiler.access" title="COM_COMPONENTBUILDER_COMPILER_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC" />
<action name="compiler.clear_tmp" title="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC" />
<action name="compiler.dashboard_list" title="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC" />
<action name="compiler.run_expansion" title="COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
<action name="compiler.submenu" title="COM_COMPONENTBUILDER_COMPILER_SUBMENU" description="COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC" />
<action name="component_admin_views.access" title="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS" description="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS_DESC" />
<action name="component_admin_views.batch" title="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_BATCH_USE" description="COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_BATCH_USE_DESC" />
@ -173,6 +175,7 @@
<action name="custom_admin_view.export" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EXPORT" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_EXPORT_DESC" />
<action name="custom_admin_view.import" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_IMPORT" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_IMPORT_DESC" />
<action name="custom_admin_view.submenu" title="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU" description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEWS_SUBMENU_DESC" />
<action name="custom_code.run_expansion" title="COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
<action name="custom_code.access" title="COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS" description="COM_COMPONENTBUILDER_CUSTOM_CODES_ACCESS_DESC" />
<action name="custom_code.batch" title="COM_COMPONENTBUILDER_CUSTOM_CODES_BATCH_USE" description="COM_COMPONENTBUILDER_CUSTOM_CODES_BATCH_USE_DESC" />
<action name="custom_code.create" title="COM_COMPONENTBUILDER_CUSTOM_CODES_CREATE" description="COM_COMPONENTBUILDER_CUSTOM_CODES_CREATE_DESC" />
@ -187,6 +190,7 @@
<action name="custom_code.export" title="COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT" description="COM_COMPONENTBUILDER_CUSTOM_CODES_EXPORT_DESC" />
<action name="custom_code.import" title="COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT" description="COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT_DESC" />
<action name="custom_code.submenu" title="COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU" description="COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC" />
<action name="dynamic_get.run_expansion" title="COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
<action name="dynamic_get.access" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS_DESC" />
<action name="dynamic_get.batch" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE_DESC" />
<action name="dynamic_get.create" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_CREATE_DESC" />
@ -200,6 +204,7 @@
<action name="dynamic_get.export" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_EXPORT_DESC" />
<action name="dynamic_get.import" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT_DESC" />
<action name="dynamic_get.submenu" title="COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU" description="COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC" />
<action name="field.run_expansion" title="COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
<action name="field.access" title="COM_COMPONENTBUILDER_FIELDS_ACCESS" description="COM_COMPONENTBUILDER_FIELDS_ACCESS_DESC" />
<action name="field.batch" title="COM_COMPONENTBUILDER_FIELDS_BATCH_USE" description="COM_COMPONENTBUILDER_FIELDS_BATCH_USE_DESC" />
<action name="field.create" title="COM_COMPONENTBUILDER_FIELDS_CREATE" description="COM_COMPONENTBUILDER_FIELDS_CREATE_DESC" />
@ -219,16 +224,16 @@
<action name="fieldtype.dashboard_add" title="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD" description="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_ADD_DESC" />
<action name="fieldtype.dashboard_list" title="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST" description="COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC" />
<action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" />
<action name="fieldtype..description" title="COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION_DESC" />
<action name="fieldtype.edit" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC" />
<action name="fieldtype.edit.description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.name" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC" />
<action name="fieldtype.edit.own" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC" />
<action name="fieldtype.edit.properties" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC" />
<action name="fieldtype.edit.short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.state" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC" />
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
<action name="fieldtype.export" title="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC" />
<action name="fieldtype.import" title="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT" description="COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC" />
<action name="fieldtype..name" title="COM_COMPONENTBUILDER_FIELDTYPES_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_NAME_DESC" />
<action name="fieldtype..properties" title="COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES_DESC" />
<action name="fieldtype..short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.submenu" title="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU" description="COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC" />
<action name="get_snippets.access" title="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC" />
<action name="get_snippets.custom_admin_views" title="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS_DESC" />
@ -252,9 +257,11 @@
<action name="help_document.import" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_IMPORT_DESC" />
<action name="help_document.submenu" title="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU" description="COM_COMPONENTBUILDER_HELP_DOCUMENTS_SUBMENU_DESC" />
<action name="joomla_component.backup" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS_DESC" />
<action name="joomla_component.clear_tmp" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS_DESC" />
<action name="joomla_component.clone" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS_DESC" />
<action name="joomla_component.export_jcb_packages" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC" />
<action name="joomla_component.import_jcb_packages" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC" />
<action name="joomla_component.run_expansion" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS_DESC" />
<action name="joomla_component.access" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_ACCESS_DESC" />
<action name="joomla_component.batch" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_BATCH_USE_DESC" />
<action name="joomla_component.create" title="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE" description="COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_CREATE_DESC" />
@ -515,10 +522,10 @@
<action name="fieldtype.create" title="COM_COMPONENTBUILDER_FIELDTYPES_CREATE" description="COM_COMPONENTBUILDER_FIELDTYPES_CREATE_DESC" />
<action name="fieldtype.delete" title="COM_COMPONENTBUILDER_FIELDTYPES_DELETE" description="COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC" />
<action name="fieldtype.access" title="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS" description="COM_COMPONENTBUILDER_FIELDTYPES_ACCESS_DESC" />
<action name="fieldtype..name" title="COM_COMPONENTBUILDER_FIELDTYPES_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_NAME_DESC" />
<action name="fieldtype..properties" title="COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES_DESC" />
<action name="fieldtype..description" title="COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION_DESC" />
<action name="fieldtype..short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.name" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC" />
<action name="fieldtype.edit.properties" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC" />
<action name="fieldtype.edit.description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC" />
<action name="fieldtype.edit.short_description" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC" />
<action name="fieldtype.version" title="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION" description="COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION_DESC" />
</section>
<section name="language_translation">

View File

@ -10,4 +10,7 @@
/* CSS Document */
.bestview {
width: 100%;
}

View File

@ -23,7 +23,7 @@ defined('_JEXEC') or die('Restricted access');
abstract class ###Component###Helper
{###ADMIN_GLOBAL_EVENT_HELPER######CUSTOM_HELPER_SCRIPT######BOTH_CUSTOM_HELPER_SCRIPT###
/**
* Load the Component xml manifest.
* Load the Component xml manifest.
**/
public static function manifest()
{
@ -32,12 +32,12 @@ abstract class ###Component###Helper
}
/**
* Joomla version object
* Joomla version object
**/
protected static $JVersion;
/**
* set/get Joomla version
* set/get Joomla version
**/
public static function jVersion()
{
@ -50,7 +50,7 @@ abstract class ###Component###Helper
}
/**
* Load the Contributors details.
* Load the Contributors details.
**/
public static function getContributors()
{
@ -88,7 +88,7 @@ abstract class ###Component###Helper
}###HELP###
/**
* Configure the Linkbar.
* Configure the Linkbar.
**/
public static function addSubmenu($submenu)
{
@ -494,7 +494,7 @@ abstract class ###Component###Helper
}
/**
* Get any component's model
* Get any component's model
**/
public static function getModel($name, $path = JPATH_COMPONENT_ADMINISTRATOR, $component = '###Component###', $config = array())
{
@ -538,9 +538,9 @@ abstract class ###Component###Helper
}
/**
* Add to asset Table
* Add to asset Table
*/
public static function setAsset($id,$table)
public static function setAsset($id, $table, $inherit = true)
{
$parent = JTable::getInstance('Asset');
$parent->loadByName('com_###component###');
@ -572,7 +572,7 @@ abstract class ###Component###Helper
$asset->name = $name;
$asset->title = $title;
// get the default asset rules
$rules = self::getDefaultAssetRules('com_###component###',$table);
$rules = self::getDefaultAssetRules('com_###component###', $table, $inherit);
if ($rules instanceof JAccessRules)
{
$asset->rules = (string) $rules;
@ -600,55 +600,62 @@ abstract class ###Component###Helper
}
/**
* Gets the default asset Rules for a component/view.
* Gets the default asset Rules for a component/view.
*/
protected static function getDefaultAssetRules($component,$view)
protected static function getDefaultAssetRules($component, $view, $inherit = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
->where($db->quoteName('name') . ' = ' . $db->quote($component));
$db->setQuery($query);
$db->execute();
if ($db->loadRowList())
// if new or inherited
$assetId = 0;
// Only get the actual item rules if not inheriting
if (!$inherit)
{
// asset alread set so use saved rules
$assetId = (int) $db->loadResult();
$result = JAccess::getAssetRules($assetId);
if ($result instanceof JAccessRules)
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
->where($db->quoteName('name') . ' = ' . $db->quote($component));
$db->setQuery($query);
$db->execute();
// check that there is a value
if ($db->getNumRows())
{
$_result = (string) $result;
$_result = json_decode($_result);
foreach ($_result as $name => &$rule)
{
$v = explode('.', $name);
if ($view !== $v[0])
{
// remove since it is not part of this view
unset($_result->$name);
}
else
{
// clear the value since we inherit
$rule = array();
}
}
// check if there are any view values remaining
if (count((array)$_result))
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules($_result);
return $rules;
}
return $result;
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
}
}
return JAccess::getAssetRules(0);
// get asset rules
$result = JAccess::getAssetRules($assetId);
if ($result instanceof JAccessRules)
{
$_result = (string) $result;
$_result = json_decode($_result);
foreach ($_result as $name => &$rule)
{
$v = explode('.', $name);
if ($view !== $v[0])
{
// remove since it is not part of this view
unset($_result->$name);
}
elseif ($inherit)
{
// clear the value since we inherit
$rule = array();
}
}
// check if there are any view values remaining
if (count($_result))
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules($_result);
// return filtered rules
return $rules;
}
}
return $result;
}
/**
@ -817,11 +824,11 @@ abstract class ###Component###Helper
}
/**
* Check if have an json string
* Check if have an json string
*
* @input string The json string to check
* @input string The json string to check
*
* @returns bool true on success
* @returns bool true on success
**/
public static function checkJson($string)
{
@ -834,11 +841,11 @@ abstract class ###Component###Helper
}
/**
* Check if have an object with a length
* Check if have an object with a length
*
* @input object The object to check
* @input object The object to check
*
* @returns bool true on success
* @returns bool true on success
**/
public static function checkObject($object)
{
@ -850,15 +857,15 @@ abstract class ###Component###Helper
}
/**
* Check if have an array with a length
* Check if have an array with a length
*
* @input array The array to check
* @input array The array to check
*
* @returns bool true on success
* @returns bool/int number of items in array on success
**/
public static function checkArray($array, $removeEmptyString = false)
{
if (isset($array) && is_array($array) && count((array)$array) > 0)
if (isset($array) && is_array($array) && ($nr = count((array)$array)) > 0)
{
// also make sure the empty strings are removed
if ($removeEmptyString)
@ -872,17 +879,17 @@ abstract class ###Component###Helper
}
return self::checkArray($array, false);
}
return true;
return $nr;
}
return false;
}
/**
* Check if have a string with a length
* Check if have a string with a length
*
* @input string The string to check
* @input string The string to check
*
* @returns bool true on success
* @returns bool true on success
**/
public static function checkString($string)
{
@ -894,10 +901,10 @@ abstract class ###Component###Helper
}
/**
* Check if we are connected
* Thanks https://stackoverflow.com/a/4860432/1429677
* Check if we are connected
* Thanks https://stackoverflow.com/a/4860432/1429677
*
* @returns bool true on success
* @returns bool true on success
**/
public static function isConnected()
{
@ -919,11 +926,11 @@ abstract class ###Component###Helper
}
/**
* Merge an array of array's
* Merge an array of array's
*
* @input array The arrays you would like to merge
* @input array The arrays you would like to merge
*
* @returns array on success
* @returns array on success
**/
public static function mergeArrays($arrays)
{
@ -949,11 +956,11 @@ abstract class ###Component###Helper
}
/**
* Shorten a string
* Shorten a string
*
* @input string The you would like to shorten
* @input string The you would like to shorten
*
* @returns string on success
* @returns string on success
**/
public static function shorten($string, $length = 40, $addTip = true)
{
@ -990,11 +997,11 @@ abstract class ###Component###Helper
}
/**
* Making strings safe (various ways)
* Making strings safe (various ways)
*
* @input string The you would like to make safe
* @input string The you would like to make safe
*
* @returns string on success
* @returns string on success
**/
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true, $keepOnlyCharacters = true)
{
@ -1134,11 +1141,11 @@ abstract class ###Component###Helper
}
/**
* Convert an integer into an English word string
* Thanks to Tom Nicholson <http://php.net/manual/en/function.strval.php#41988>
* Convert an integer into an English word string
* Thanks to Tom Nicholson <http://php.net/manual/en/function.strval.php#41988>
*
* @input an int
* @returns a string
* @input an int
* @returns a string
**/
public static function numberToString($x)
{
@ -1225,9 +1232,9 @@ abstract class ###Component###Helper
}
/**
* Random Key
* Random Key
*
* @returns a string
* @returns a string
**/
public static function randomkey($size)
{

View File

@ -19,6 +19,13 @@ defined('_JEXEC') or die('Restricted access');
*/
abstract class ###Component###Email
{
/**
* The active recipient
*
* @var activeRecipient (array)
*/
public static $active = array();
/**
* Configuraiton object
*
@ -54,6 +61,44 @@ abstract class ###Component###Email
return self::$config;
}
/**
* Returns the global mailer object, only creating it if it doesn't already exist.
*
*/
public static function getMailerInstance()
{
if (!self::$mailer)
{
self::$mailer = self::createMailer();
}
return self::$mailer;
}
/**
* Check that a string looks like an email address.
* @param string $address The email address to check
* @param string|callable $patternselect A selector for the validation pattern to use :
* * `auto` Pick best pattern automatically;
* * `pcre8` Use the squiloople.com pattern, requires PCRE > 8.0, PHP >= 5.3.2, 5.2.14;
* * `pcre` Use old PCRE implementation;
* * `php` Use PHP built-in FILTER_VALIDATE_EMAIL;
* * `html5` Use the pattern given by the HTML5 spec for 'email' type form input elements.
* * `noregex` Don't use a regex: super fast, really dumb.
* Alternatively you may pass in a callable to inject your own validator, for example:
* PHPMailer::validateAddress('user@example.com', function($address) {
* return (strpos($address, '@') !== false);
* });
* You can also set the PHPMailer::$validator static to a callable, allowing built-in methods to use your validator.
* @return boolean
* @static
* @access public
*/
public static function validateAddress($address, $patternselect = null)
{
return self::getMailerInstance()->validateAddress($address, $patternselect);
}
/**
* Get a mailer object.
*
@ -282,13 +327,70 @@ abstract class ###Component###Email
if (method_exists('###Component###Helper','storeMessage'))
{
// store the massage if the method is set
###Component###Helper::storeMessage($sendmail, $recipient, $subject, $body, $textonly, $mode, 'email');
// if we have active recipient details
if (isset(self::$active[$recipient]))
{
// store the massage if the method is set
###Component###Helper::storeMessage($sendmail, self::$active[$recipient], $subject, $body, $textonly, $mode, 'email');
// clear memory
unset(self::$active[$recipient]);
}
else
{
// store the massage if the method is set
###Component###Helper::storeMessage($sendmail, $recipient, $subject, $body, $textonly, $mode, 'email');
}
}
return $sendmail;
}
/**
* Set html text (in a row) and subject (as title) to a email table.
* do not use <p> instead use <br />
* in your html that you pass to this method
* since it is a table row it does not
* work well with paragraphs
*
* @return string on success
*
*/
public static function setBasicBody($html, $subject)
{
$body = array();
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
$body[] = "<head>";
$body[] = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
$body[] = "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>";
$body[] = "<title>" . $subject . "</title>";
$body[] = "<style type=\"text/css\">";
$body[] = "#outlook a {padding:0;}";
$body[] = ".ExternalClass {width:100%;}";
$body[] = ".ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} ";
$body[] = "p {margin: 0; padding: 0; font-size: 0px; line-height: 0px;} ";
$body[] = "table td {border-collapse: collapse;}";
$body[] = "table {border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }";
$body[] = "img {display: block; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;}";
$body[] = "a img {border: none;}";
$body[] = "a {text-decoration: none; color: #000001;}";
$body[] = "a.phone {text-decoration: none; color: #000001 !important; pointer-events: auto; cursor: default;}";
$body[] = "span {font-size: 13px; line-height: 17px; font-family: monospace; color: #000001;}";
$body[] = "</style>";
$body[] = "<!--[if gte mso 9]>";
$body[] = "<style>";
$body[] = "/* Target Outlook 2007 and 2010 */";
$body[] = "</style>";
$body[] = "<![endif]-->";
$body[] = "</head>";
$body[] = "<body style=\"width:100%; margin:0; padding:0; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;\">";
$body[] = $html;
$body[] = "</body>";
$body[] = "</html>";
return implode("\n", $body);
}
/**
* Set html text (in a row) and subject (as title) to a email table.
* do not use <p> instead use <br />

View File

@ -72,7 +72,7 @@ abstract class ###Component###Helper
}
/**
* Load the Component xml manifest.
* Load the Component xml manifest.
**/
public static function manifest()
{
@ -81,12 +81,12 @@ abstract class ###Component###Helper
}
/**
* Joomla version object
* Joomla version object
**/
protected static $JVersion;
/**
* set/get Joomla version
* set/get Joomla version
**/
public static function jVersion()
{
@ -99,7 +99,7 @@ abstract class ###Component###Helper
}
/**
* Load the Contributors details.
* Load the Contributors details.
**/
public static function getContributors()
{
@ -137,7 +137,7 @@ abstract class ###Component###Helper
}###HELP_SITE###
/**
* Get any component's model
* Get any component's model
**/
public static function getModel($name, $path = JPATH_COMPONENT_SITE, $component = '###Component###', $config = array())
{
@ -181,9 +181,9 @@ abstract class ###Component###Helper
}
/**
* Add to asset Table
* Add to asset Table
*/
public static function setAsset($id,$table)
public static function setAsset($id, $table, $inherit = true)
{
$parent = JTable::getInstance('Asset');
$parent->loadByName('com_###component###');
@ -200,8 +200,6 @@ abstract class ###Component###Helper
if ($error)
{
$this->setError($error);
return false;
}
else
@ -217,7 +215,7 @@ abstract class ###Component###Helper
$asset->name = $name;
$asset->title = $title;
// get the default asset rules
$rules = self::getDefaultAssetRules('com_###component###',$table);
$rules = self::getDefaultAssetRules('com_###component###', $table, $inherit);
if ($rules instanceof JAccessRules)
{
$asset->rules = (string) $rules;
@ -245,55 +243,62 @@ abstract class ###Component###Helper
}
/**
* Gets the default asset Rules for a component/view.
* Gets the default asset Rules for a component/view.
*/
protected static function getDefaultAssetRules($component,$view)
protected static function getDefaultAssetRules($component, $view, $inherit = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
->where($db->quoteName('name') . ' = ' . $db->quote($component));
$db->setQuery($query);
$db->execute();
if ($db->loadRowList())
// if new or inherited
$assetId = 0;
// Only get the actual item rules if not inheriting
if (!$inherit)
{
// asset alread set so use saved rules
$assetId = (int) $db->loadResult();
$result = JAccess::getAssetRules($assetId);
if ($result instanceof JAccessRules)
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
->where($db->quoteName('name') . ' = ' . $db->quote($component));
$db->setQuery($query);
$db->execute();
// check that there is a value
if ($db->getNumRows())
{
$_result = (string) $result;
$_result = json_decode($_result);
foreach ($_result as $name => &$rule)
{
$v = explode('.', $name);
if ($view !== $v[0])
{
// remove since it is not part of this view
unset($_result->$name);
}
else
{
// clear the value since we inherit
$rule = array();
}
}
// check if there are any view values remaining
if (count((array)$_result))
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules($_result);
return $rules;
}
return $result;
// asset already set so use saved rules
$assetId = (int) $db->loadResult();
}
}
return JAccess::getAssetRules(0);
// get asset rules
$result = JAccess::getAssetRules($assetId);
if ($result instanceof JAccessRules)
{
$_result = (string) $result;
$_result = json_decode($_result);
foreach ($_result as $name => &$rule)
{
$v = explode('.', $name);
if ($view !== $v[0])
{
// remove since it is not part of this view
unset($_result->$name);
}
elseif ($inherit)
{
// clear the value since we inherit
$rule = array();
}
}
// check if there are any view values remaining
if (count($_result))
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules($_result);
// return filtered rules
return $rules;
}
}
return $result;
}
/**
@ -809,11 +814,11 @@ abstract class ###Component###Helper
}
/**
* Check if have an json string
* Check if have an json string
*
* @input string The json string to check
* @input string The json string to check
*
* @returns bool true on success
* @returns bool true on success
**/
public static function checkJson($string)
{
@ -826,11 +831,11 @@ abstract class ###Component###Helper
}
/**
* Check if have an object with a length
* Check if have an object with a length
*
* @input object The object to check
* @input object The object to check
*
* @returns bool true on success
* @returns bool true on success
**/
public static function checkObject($object)
{
@ -842,15 +847,15 @@ abstract class ###Component###Helper
}
/**
* Check if have an array with a length
* Check if have an array with a length
*
* @input array The array to check
* @input array The array to check
*
* @returns bool true on success
* @returns bool/int number of items in array on success
**/
public static function checkArray($array, $removeEmptyString = false)
{
if (isset($array) && is_array($array) && count((array)$array) > 0)
if (isset($array) && is_array($array) && ($nr = count((array)$array)) > 0)
{
// also make sure the empty strings are removed
if ($removeEmptyString)
@ -864,17 +869,17 @@ abstract class ###Component###Helper
}
return self::checkArray($array, false);
}
return true;
return $nr;
}
return false;
}
/**
* Check if have a string with a length
* Check if have a string with a length
*
* @input string The string to check
* @input string The string to check
*
* @returns bool true on success
* @returns bool true on success
**/
public static function checkString($string)
{
@ -886,10 +891,10 @@ abstract class ###Component###Helper
}
/**
* Check if we are connected
* Thanks https://stackoverflow.com/a/4860432/1429677
* Check if we are connected
* Thanks https://stackoverflow.com/a/4860432/1429677
*
* @returns bool true on success
* @returns bool true on success
**/
public static function isConnected()
{
@ -911,11 +916,11 @@ abstract class ###Component###Helper
}
/**
* Merge an array of array's
* Merge an array of array's
*
* @input array The arrays you would like to merge
* @input array The arrays you would like to merge
*
* @returns array on success
* @returns array on success
**/
public static function mergeArrays($arrays)
{
@ -941,11 +946,11 @@ abstract class ###Component###Helper
}
/**
* Shorten a string
* Shorten a string
*
* @input string The you would like to shorten
* @input string The you would like to shorten
*
* @returns string on success
* @returns string on success
**/
public static function shorten($string, $length = 40, $addTip = true)
{
@ -982,11 +987,11 @@ abstract class ###Component###Helper
}
/**
* Making strings safe (various ways)
* Making strings safe (various ways)
*
* @input string The you would like to make safe
* @input string The you would like to make safe
*
* @returns string on success
* @returns string on success
**/
public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true, $keepOnlyCharacters = true)
{
@ -1126,11 +1131,11 @@ abstract class ###Component###Helper
}
/**
* Convert an integer into an English word string
* Thanks to Tom Nicholson <http://php.net/manual/en/function.strval.php#41988>
* Convert an integer into an English word string
* Thanks to Tom Nicholson <http://php.net/manual/en/function.strval.php#41988>
*
* @input an int
* @returns a string
* @input an int
* @returns a string
**/
public static function numberToString($x)
{
@ -1217,9 +1222,9 @@ abstract class ###Component###Helper
}
/**
* Random Key
* Random Key
*
* @returns a string
* @returns a string
**/
public static function randomkey($size)
{

View File

@ -36,9 +36,9 @@ class JFormField###Type### extends JFormFieldCheckboxes
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of JHtml options.
*/
public function getOptions()
protected function getOptions()
{
###JFORM_GETOPTIONS_PHP###
}

View File

@ -0,0 +1,35 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 30th April, 2015
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
* @copyright Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
###BOM###
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import the ###JFORM_extends### field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('###JFORM_extends###');
/**
* ###Type### Form Field class for the ###Component### component
*/
class JFormField###Type### extends JFormField###JFORM_EXTENDS###
{
/**
* The ###type### field type.
*
* @var string
*/
public $type = '###type###';###JFORM_TYPE_PHP###
}

View File

@ -36,9 +36,9 @@ class JFormField###Type### extends JFormFieldList
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of JHtml options.
*/
public function getOptions()
protected function getOptions()
{
###JFORM_GETOPTIONS_PHP###
}

View File

@ -36,9 +36,9 @@ class JFormField###Type### extends JFormFieldRadio
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
* @return array An array of JHtml options.
*/
public function getOptions()
protected function getOptions()
{
###JFORM_GETOPTIONS_PHP###
}

View File

@ -222,7 +222,7 @@ class ###Component###Table###View### extends JTable
{
// asset alread set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId);
return JAccess::getAssetRules($assetId); // (TODO) instead of keeping inherited Allowed it becomes Allowed.
}
// try again
elseif ($try)

View File

@ -42,6 +42,8 @@ class ###Component###View###Views### extends JViewLegacy
$this->listOrder = $this->escape($this->state->get('list.ordering'));
$this->listDirn = $this->escape($this->state->get('list.direction'));
$this->saveOrder = $this->listOrder == 'ordering';
// set the return here value
$this->return_here = urlencode(base64_encode((string) JUri::getInstance()));
// get global action permissions
$this->canDo = ###Component###Helper::getActions('###view###');###JVIEWLISTCANDO###

View File

@ -33,7 +33,7 @@
<scriptfile>script.php</scriptfile>
<media destination="com_###component###" folder="media">
<filename>index.html</filename>
<filename>index.html</filename>###EXSTRA_MEDIA_FILES###
<folder>js</folder>
<folder>css</folder>
<folder>images</folder>###EXSTRA_MEDIA_FOLDERS###
@ -50,7 +50,7 @@
<filename>controller.php</filename>
<filename>index.html</filename>
<filename>router.php</filename>
<filename>###component###.php</filename>
<filename>###component###.php</filename>###EXSTRA_SITE_FILES###
<folder>assets</folder>
<folder>helpers</folder>
<folder>controllers</folder>

View File

@ -29,7 +29,6 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -38,20 +37,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -23,16 +23,14 @@ $fields = $displayData->get('fields') ?: array(
###LAYOUTITEMS###
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -25,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -17,7 +17,6 @@ defined('_JEXEC') or die('Restricted access');
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -19,13 +19,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
###LAYOUTITEMS###
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -108,8 +108,8 @@ abstract class ###Component###HelperRoute
}
}
return $link;
}
}
protected static function _findItem($needles = null,$type = null)
{
$app = JFactory::getApplication();
@ -157,6 +157,10 @@ abstract class ###Component###HelperRoute
self::$lookup[$language][$view][$item->query['id']] = $item->id;
}
}
else
{
self::$lookup[$language][$view][0] = $item->id;
}
}
}
}
@ -167,17 +171,24 @@ abstract class ###Component###HelperRoute
{
if (isset(self::$lookup[$language][$view]))
{
foreach ($ids as $id)
if (###Component###Helper::checkArray($ids))
{
if (isset(self::$lookup[$language][$view][(int) $id]))
foreach ($ids as $id)
{
return self::$lookup[$language][$view][(int) $id];
if (isset(self::$lookup[$language][$view][(int) $id]))
{
return self::$lookup[$language][$view][(int) $id];
}
}
}
elseif (isset(self::$lookup[$language][$view][0]))
{
return self::$lookup[$language][$view][0];
}
}
}
}
if ($type)
{
// Check if the global menu item has been set.

View File

@ -400,6 +400,11 @@
"rename": "layoutmetadata",
"type": "layoutmetadata"
},
"JFormFieldCustom.php": {
"path": "c0mp0n3nt/admin/models/fields",
"rename": "JFormFieldCustom",
"type": "fieldcustom"
},
"JFormFieldList.php": {
"path": "c0mp0n3nt/admin/models/fields",
"rename": "JFormFieldList",

View File

@ -5,19 +5,9 @@ Joomla.submitbutton = function(task)
if (task == ''){
return false;
} else {
var isValid=true;
var action = task.split('.');
if (action[1] != 'cancel' && action[1] != 'close'){
var forms = $$('form.form-validate');
for (var i=0;i<forms.length;i++){
if (!document.formvalidator.isValid(forms[i])){
isValid = false;
break;
}
}
}
if (isValid){
Joomla.submitform(task);
if (action[1] == 'cancel' || action[1] == 'close' || document.formvalidator.isValid(document.getElementById("adminForm"))){
Joomla.submitform(task, document.getElementById("adminForm"));
return true;
} else {
alert(Joomla.JText._('###view###, some values are not acceptable.','Some values are unacceptable'));

View File

@ -5,19 +5,9 @@ Joomla.submitbutton = function(task)
if (task == ''){
return false;
} else {
var isValid=true;
var action = task.split('.');
if (action[1] != 'cancel' && action[1] != 'close'){
var forms = $$('form.form-validate');
for (var i=0;i<forms.length;i++){
if (!document.formvalidator.isValid(forms[i])){
isValid = false;
break;
}
}
}
if (isValid){
Joomla.submitform(task);
if (action[1] == 'cancel' || action[1] == 'close' || document.formvalidator.isValid(document.getElementById("adminForm"))){
Joomla.submitform(task, document.getElementById("adminForm"));
return true;
} else {
alert(Joomla.JText._('###sview###, some values are not acceptable.','Some values are unacceptable'));

View File

@ -86,6 +86,7 @@
description="COM_COMPONENTBUILDER_CONFIG_JCB_PACKAGE_DIRECTORIES_DESCRIPTION"
class="list_class"
multiple="true"
default=""
showon="manage_jcb_package_directories:1">
<!-- Option Set. -->
<option value="vdm">
@ -116,7 +117,7 @@
label="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_LABEL"
size="30"
maxlength="30"
default="&#187;"
default="&amp;#187;"
description="COM_COMPONENTBUILDER_CONFIG_MENU_PREFIX_DESCRIPTION"
class="text_area"
filter="SAFEHTML"
@ -688,9 +689,9 @@
COM_COMPONENTBUILDER_CONFIG_EXPANSION</option>
</field>
<!-- Note_development_method_default Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_development_method_default" label="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_DESCRIPTION" heading="h4" class="alert alert-info note_development_method_default" showon="development_method:1" />
<field type="note" name="note_development_method_default" label="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_DESCRIPTION" heading="h2" class="alert alert-info note_development_method_default" showon="development_method:1" />
<!-- Note_development_method_expansion Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_development_method_expansion" label="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_DESCRIPTION" heading="h4" class="alert alert-info note_development_method_expansion" showon="development_method:2" />
<field type="note" name="note_development_method_expansion" label="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_LABEL" description="COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_DESCRIPTION" heading="h2" class="alert alert-info note_development_method_expansion" showon="development_method:2" />
<!-- Expansion Field. Type: Subform. (joomla) -->
<field
type="subform"
@ -741,6 +742,7 @@
name="placeholders"
label="COM_COMPONENTBUILDER_CONFIG_PLACEHOLDERS_LABEL"
value="1"
default=""
required="false"
description="COM_COMPONENTBUILDER_CONFIG_PLACEHOLDERS_DESCRIPTION"
class="inputbox"
@ -804,6 +806,7 @@
label="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_CRONJOB_BACKUP_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -861,6 +864,7 @@
label="COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_COMPILER_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -879,6 +883,7 @@
label="COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_CUSTOM_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -897,6 +902,7 @@
label="COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_BACKUP_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -915,6 +921,7 @@
label="COM_COMPONENTBUILDER_CONFIG_GIT_FOLDER_PATH_LABEL"
size="70"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_GIT_FOLDER_PATH_DESCRIPTION"
class="text_area"
readonly="false"
@ -983,6 +990,7 @@
label="COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_LABEL"
size="60"
maxlength="150"
default=""
description="COM_COMPONENTBUILDER_CONFIG_EXPORT_WEBSITE_DESCRIPTION"
class="text_area"
required="true"

View File

@ -328,7 +328,8 @@ class ComponentbuilderControllerAdmin_view extends JControllerForm
$_tablesArray = array(
'admin_fields',
'admin_fields_conditions',
'admin_fields_relations'
'admin_fields_relations',
'admin_custom_tabs'
);
foreach($_tablesArray as $_updateTable)
{

View File

@ -102,5 +102,46 @@ class ComponentbuilderControllerAdmin_views extends JControllerAdmin
$message = JText::_('COM_COMPONENTBUILDER_IMPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=admin_views', false), $message, 'error');
return;
}
/**
* Run the Expansion
*
* @return void
*/
public function runExpansion()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=admin_views', false);
// set massage
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
// check if this user has the right to run expansion
if($user->authorise('compiler.run_expansion', 'com_componentbuilder'))
{
// set massage
$message = JText::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
// run expansion via API
$result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand');
// is there a message returned
if (!is_numeric($result) && ComponentbuilderHelper::checkString($result))
{
$this->setRedirect($redirect_url, $result);
return true;
}
elseif (is_numeric($result) && 1 == $result)
{
$message = JText::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
}

View File

@ -45,6 +45,7 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
$this->registerTask('getDynamicValues', 'ajax');
$this->registerTask('checkFunctionName', 'ajax');
$this->registerTask('usedin', 'ajax');
$this->registerTask('getEditCustomCodeButtons', 'ajax');
$this->registerTask('getExistingValidationRuleCode', 'ajax');
$this->registerTask('getValidationRulesTable', 'ajax');
$this->registerTask('checkRuleName', 'ajax');
@ -838,6 +839,44 @@ class ComponentbuilderControllerAjax extends JControllerLegacy
}
}
break;
case 'getEditCustomCodeButtons':
try
{
$returnRaw = $jinput->get('raw', false, 'BOOLEAN');
$idValue = $jinput->get('id', NULL, 'INT');
if($idValue && $user->id != 0)
{
$result = $this->getModel('ajax')->getEditCustomCodeButtons($idValue);
}
else
{
$result = false;
}
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback . "(".json_encode($result).");";
}
elseif($returnRaw)
{
echo json_encode($result);
}
else
{
echo "(".json_encode($result).");";
}
}
catch(Exception $e)
{
if($callback = $jinput->get('callback', null, 'CMD'))
{
echo $callback."(".json_encode($e).");";
}
else
{
echo "(".json_encode($e).");";
}
}
break;
case 'getExistingValidationRuleCode':
try
{

View File

@ -35,11 +35,84 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
return;
}
/**
* Import an spreadsheet.
* Run the Expansion
*
* @return void
*/
public function runExpansion()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=compiler', false);
// set massage
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
// check if this user has the right to run expansion
if($user->authorise('compiler.run_expansion', 'com_componentbuilder'))
{
// set massage
$message = JText::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
// run expansion via API
$result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand');
// is there a message returned
if (!is_numeric($result) && ComponentbuilderHelper::checkString($result))
{
$this->setRedirect($redirect_url, $result);
return true;
}
elseif (is_numeric($result) && 1 == $result)
{
$message = JText::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
/**
* Clear tmp folder
*
* @return true on success
*/
public function clearTmp()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=compiler', false);
$message = JText::_('COM_COMPONENTBUILDER_COULD_NOT_CLEAR_THE_TMP_FOLDER');
if($user->authorise('core.admin', 'com_componentbuilder'))
{
// get the model
$model = $this->getModel('compiler');
// get tmp folder
$comConfig = JFactory::getConfig();
$tmp = $comConfig->get('tmp_path');
if ($model->emptyFolder($tmp))
{
$message = JText::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB');
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
/**
* Run the Compiler
*
* @return true on success
*/
public function compiler()
{
// Check for request forgeries
@ -125,33 +198,11 @@ class ComponentbuilderControllerCompiler extends JControllerAdmin
return false;
}
public function clearTmp()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=compiler', false);
$message = 'Could not clear the tmp folder';
if($user->authorise('core.admin', 'com_componentbuilder'))
{
// get the model
$model = $this->getModel('compiler');
// get tmp folder
$comConfig = JFactory::getConfig();
$tmp = $comConfig->get('tmp_path');
if ($model->emptyFolder($tmp))
{
$message = '<b>The tmp folder has been clear successfully!</b>';
$this->setRedirect($redirect_url,$message,'message');
return true;
}
}
$this->setRedirect($redirect_url,$message,'error');
return false;
}
/**
* Install Compiled Extension
*
* @return true on success
*/
public function installExtention()
{
// Check for request forgeries

View File

@ -102,5 +102,46 @@ class ComponentbuilderControllerCustom_codes extends JControllerAdmin
$message = JText::_('COM_COMPONENTBUILDER_IMPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=custom_codes', false), $message, 'error');
return;
}
/**
* Run the Expansion
*
* @return void
*/
public function runExpansion()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=custom_codes', false);
// set massage
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
// check if this user has the right to run expansion
if($user->authorise('compiler.run_expansion', 'com_componentbuilder'))
{
// set massage
$message = JText::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
// run expansion via API
$result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand');
// is there a message returned
if (!is_numeric($result) && ComponentbuilderHelper::checkString($result))
{
$this->setRedirect($redirect_url, $result);
return true;
}
elseif (is_numeric($result) && 1 == $result)
{
$message = JText::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
}

View File

@ -102,5 +102,46 @@ class ComponentbuilderControllerDynamic_gets extends JControllerAdmin
$message = JText::_('COM_COMPONENTBUILDER_IMPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=dynamic_gets', false), $message, 'error');
return;
}
/**
* Run the Expansion
*
* @return void
*/
public function runExpansion()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=dynamic_gets', false);
// set massage
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
// check if this user has the right to run expansion
if($user->authorise('compiler.run_expansion', 'com_componentbuilder'))
{
// set massage
$message = JText::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
// run expansion via API
$result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand');
// is there a message returned
if (!is_numeric($result) && ComponentbuilderHelper::checkString($result))
{
$this->setRedirect($redirect_url, $result);
return true;
}
elseif (is_numeric($result) && 1 == $result)
{
$message = JText::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
}

View File

@ -102,5 +102,46 @@ class ComponentbuilderControllerFields extends JControllerAdmin
$message = JText::_('COM_COMPONENTBUILDER_IMPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=fields', false), $message, 'error');
return;
}
/**
* Run the Expansion
*
* @return void
*/
public function runExpansion()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=fields', false);
// set massage
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
// check if this user has the right to run expansion
if($user->authorise('compiler.run_expansion', 'com_componentbuilder'))
{
// set massage
$message = JText::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
// run expansion via API
$result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand');
// is there a message returned
if (!is_numeric($result) && ComponentbuilderHelper::checkString($result))
{
$this->setRedirect($redirect_url, $result);
return true;
}
elseif (is_numeric($result) && 1 == $result)
{
$message = JText::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
}

View File

@ -104,6 +104,79 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
return;
}
/**
* Run the Expansion
*
* @return void
*/
public function runExpansion()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false);
// set massage
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE');
// check if this user has the right to run expansion
if($user->authorise('compiler.run_expansion', 'com_componentbuilder'))
{
// set massage
$message = JText::_('COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB');
// run expansion via API
$result = ComponentbuilderHelper::getFileContents(JURI::root() . 'index.php?option=com_componentbuilder&task=api.expand');
// is there a message returned
if (!is_numeric($result) && ComponentbuilderHelper::checkString($result))
{
$this->setRedirect($redirect_url, $result);
return true;
}
elseif (is_numeric($result) && 1 == $result)
{
$message = JText::_('COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB');
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
/**
* Clear tmp folder
*
* @return true on success
*/
public function clearTmp()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// check if user has the right
$user = JFactory::getUser();
// set page redirect
$redirect_url = JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false);
$message = JText::_('COM_COMPONENTBUILDER_COULD_NOT_CLEAR_THE_TMP_FOLDER');
if($user->authorise('core.admin', 'com_componentbuilder'))
{
// get the model
$model = $this->getModel('compiler');
// get tmp folder
$comConfig = JFactory::getConfig();
$tmp = $comConfig->get('tmp_path');
if ($model->emptyFolder($tmp))
{
$message = JText::_('COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB');
$this->setRedirect($redirect_url, $message, 'message');
return true;
}
}
$this->setRedirect($redirect_url, $message, 'error');
return false;
}
public function smartImport()
{
// check if import is allowed for this user.
@ -122,7 +195,7 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
$message = JText::_('COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP');
$this->setRedirect(JRoute::_('index.php?option=com_componentbuilder&view=joomla_components', false), $message, 'error');
return;
}
}
public function smartExport()
{
@ -213,13 +286,13 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
$model = componentbuilderHelper::getModel('joomla_components', JPATH_ADMINISTRATOR . '/components/com_componentbuilder');
// set user
$model->user = $this->getApiUser();
// make sure to set active type (adding this script from custom code :)
$model->activeType = 'manualBackup';
// check if export is allowed for this user. (we need this sorry)
if ($model->user->authorise('joomla_component.export', 'com_componentbuilder') && $model->user->authorise('core.export', 'com_componentbuilder'))
{
// get all component IDs to backup
$pks = componentbuilderHelper::getComponentIDs();
// make sure to set active type to backup
$model->activeType = 'manualBackup';
// set auto loader
ComponentbuilderHelper::autoLoader('smart');
// manual backup message
@ -340,7 +413,7 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
}
}
// quite only if auto backup (adding this script from custom code :)
if ('backup' === 'manualBackup')
if ('backup' === $model->activeType)
{
echo "# " . $backupNoticeStatus . "\n" .implode("\n", $backupNotice);
// clear session
@ -351,9 +424,9 @@ class ComponentbuilderControllerJoomla_components extends JControllerAdmin
return;
}
// quite only if auto backup (adding this script from custom code :)
if ('backup' === 'manualBackup')
if ('backup' === $model->activeType)
{
echo "# Error\n".JText::_('COM_COMPONENTBUILDER_ACCESS_DENIED');
echo "# Error\n" . JText::_('COM_COMPONENTBUILDER_ACCESS_DENIED');
// clear session
JFactory::getApplication()->getSession()->destroy();
jexit();

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,262 +1,159 @@
/*! UIkit 3.0.0-beta.34 | http://www.getuikit.com | (c) 2014 - 2017 YOOtheme | MIT License */
/*! UIkit 3.0.0-rc.16 | http://www.getuikit.com | (c) 2014 - 2018 YOOtheme | MIT License */
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define('uikiticons', factory) :
(global.UIkitIcons = factory());
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define('uikiticons', factory) :
(global.UIkitIcons = factory());
}(this, (function () { 'use strict';
var album = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"5\" y=\"2\" width=\"10\" height=\"1\"></rect> <rect x=\"3\" y=\"4\" width=\"14\" height=\"1\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"6.5\" width=\"17\" height=\"11\"></rect></svg>";
var ban = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\"></circle> <line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"4\" y1=\"3.5\" x2=\"16\" y2=\"16.5\"></line></svg>";
var behance = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M9.5,10.6c-0.4-0.5-0.9-0.9-1.6-1.1c1.7-1,2.2-3.2,0.7-4.7C7.8,4,6.3,4,5.2,4C3.5,4,1.7,4,0,4v12c1.7,0,3.4,0,5.2,0 c1,0,2.1,0,3.1-0.5C10.2,14.6,10.5,12.3,9.5,10.6L9.5,10.6z M5.6,6.1c1.8,0,1.8,2.7-0.1,2.7c-1,0-2,0-2.9,0V6.1H5.6z M2.6,13.8v-3.1 c1.1,0,2.1,0,3.2,0c2.1,0,2.1,3.2,0.1,3.2L2.6,13.8z\"></path> <path d=\"M19.9,10.9C19.7,9.2,18.7,7.6,17,7c-4.2-1.3-7.3,3.4-5.3,7.1c0.9,1.7,2.8,2.3,4.7,2.1c1.7-0.2,2.9-1.3,3.4-2.9h-2.2 c-0.4,1.3-2.4,1.5-3.5,0.6c-0.4-0.4-0.6-1.1-0.6-1.7H20C20,11.7,19.9,10.9,19.9,10.9z M13.5,10.6c0-1.6,2.3-2.7,3.5-1.4 c0.4,0.4,0.5,0.9,0.6,1.4H13.5L13.5,10.6z\"></path> <rect x=\"13\" y=\"4\" width=\"5\" height=\"1.4\"></rect></svg>";
var bell = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M17,15.5 L3,15.5 C2.99,14.61 3.79,13.34 4.1,12.51 C4.58,11.3 4.72,10.35 5.19,7.01 C5.54,4.53 5.89,3.2 7.28,2.16 C8.13,1.56 9.37,1.5 9.81,1.5 L9.96,1.5 C9.96,1.5 11.62,1.41 12.67,2.17 C14.08,3.2 14.42,4.54 14.77,7.02 C15.26,10.35 15.4,11.31 15.87,12.52 C16.2,13.34 17.01,14.61 17,15.5 L17,15.5 Z\"></path> <path fill=\"none\" stroke=\"#000\" d=\"M12.39,16 C12.39,17.37 11.35,18.43 9.91,18.43 C8.48,18.43 7.42,17.37 7.42,16\"></path></svg>";
var bold = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M5,15.3 C5.66,15.3 5.9,15 5.9,14.53 L5.9,5.5 C5.9,4.92 5.56,4.7 5,4.7 L5,4 L8.95,4 C12.6,4 13.7,5.37 13.7,6.9 C13.7,7.87 13.14,9.17 10.86,9.59 L10.86,9.7 C13.25,9.86 14.29,11.28 14.3,12.54 C14.3,14.47 12.94,16 9,16 L5,16 L5,15.3 Z M9,9.3 C11.19,9.3 11.8,8.5 11.85,7 C11.85,5.65 11.3,4.8 9,4.8 L7.67,4.8 L7.67,9.3 L9,9.3 Z M9.185,15.22 C11.97,15 12.39,14 12.4,12.58 C12.4,11.15 11.39,10 9,10 L7.67,10 L7.67,15 L9.18,15 Z\"></path></svg>";
var bolt = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M4.74,20 L7.73,12 L3,12 L15.43,1 L12.32,9 L17.02,9 L4.74,20 L4.74,20 L4.74,20 Z M9.18,11 L7.1,16.39 L14.47,10 L10.86,10 L12.99,4.67 L5.61,11 L9.18,11 L9.18,11 L9.18,11 Z\"></path></svg>";
var bookmark = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"5.5 1.5 15.5 1.5 15.5 17.5 10.5 12.5 5.5 17.5\"></polygon></svg>";
var calendar = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M 2,3 2,17 18,17 18,3 2,3 Z M 17,16 3,16 3,8 17,8 17,16 Z M 17,7 3,7 3,4 17,4 17,7 Z\"></path> <rect width=\"1\" height=\"3\" x=\"6\" y=\"2\"></rect> <rect width=\"1\" height=\"3\" x=\"13\" y=\"2\"></rect></svg>";
var camera = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10.8\" r=\"3.8\"></circle> <path fill=\"none\" stroke=\"#000\" d=\"M1,4.5 C0.7,4.5 0.5,4.7 0.5,5 L0.5,17 C0.5,17.3 0.7,17.5 1,17.5 L19,17.5 C19.3,17.5 19.5,17.3 19.5,17 L19.5,5 C19.5,4.7 19.3,4.5 19,4.5 L13.5,4.5 L13.5,2.9 C13.5,2.6 13.3,2.5 13,2.5 L7,2.5 C6.7,2.5 6.5,2.6 6.5,2.9 L6.5,4.5 L1,4.5 L1,4.5 Z\"></path></svg>";
var cart = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"7.3\" cy=\"17.3\" r=\"1.4\"></circle> <circle cx=\"13.3\" cy=\"17.3\" r=\"1.4\"></circle> <polyline fill=\"none\" stroke=\"#000\" points=\"0 2 3.2 4 5.3 12.5 16 12.5 18 6.5 8 6.5\"></polyline></svg>";
var check = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"4,10 8,15 17,4\"></polyline></svg>";
var clock = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\"></circle> <rect x=\"9\" y=\"4\" width=\"1\" height=\"7\"></rect> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M13.018,14.197 L9.445,10.625\"></path></svg>";
var close = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.06\" d=\"M16,16 L4,4\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.06\" d=\"M16,4 L4,16\"></path></svg>";
var code = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"13,4 19,10 13,16\"></polyline> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"7,4 1,10 7,16\"></polyline></svg>";
var cog = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" cx=\"9.997\" cy=\"10\" r=\"3.31\"></circle> <path fill=\"none\" stroke=\"#000\" d=\"M18.488,12.285 L16.205,16.237 C15.322,15.496 14.185,15.281 13.303,15.791 C12.428,16.289 12.047,17.373 12.246,18.5 L7.735,18.5 C7.938,17.374 7.553,16.299 6.684,15.791 C5.801,15.27 4.655,15.492 3.773,16.237 L1.5,12.285 C2.573,11.871 3.317,10.999 3.317,9.991 C3.305,8.98 2.573,8.121 1.5,7.716 L3.765,3.784 C4.645,4.516 5.794,4.738 6.687,4.232 C7.555,3.722 7.939,2.637 7.735,1.5 L12.263,1.5 C12.072,2.637 12.441,3.71 13.314,4.22 C14.206,4.73 15.343,4.516 16.225,3.794 L18.487,7.714 C17.404,8.117 16.661,8.988 16.67,10.009 C16.672,11.018 17.415,11.88 18.488,12.285 L18.488,12.285 Z\"></path></svg>";
var comment = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M6,18.71 L6,14 L1,14 L1,1 L19,1 L19,14 L10.71,14 L6,18.71 L6,18.71 Z M2,13 L7,13 L7,16.29 L10.29,13 L18,13 L18,2 L2,2 L2,13 L2,13 Z\"></path></svg>";
var commenting = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"1.5,1.5 18.5,1.5 18.5,13.5 10.5,13.5 6.5,17.5 6.5,13.5 1.5,13.5\"></polygon> <circle cx=\"10\" cy=\"8\" r=\"1\"></circle> <circle cx=\"6\" cy=\"8\" r=\"1\"></circle> <circle cx=\"14\" cy=\"8\" r=\"1\"></circle></svg>";
var comments = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"2 0.5 19.5 0.5 19.5 13\"></polyline> <path d=\"M5,19.71 L5,15 L0,15 L0,2 L18,2 L18,15 L9.71,15 L5,19.71 L5,19.71 L5,19.71 Z M1,14 L6,14 L6,17.29 L9.29,14 L17,14 L17,3 L1,3 L1,14 L1,14 L1,14 Z\"></path></svg>";
var copy = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"2.5\" width=\"12\" height=\"16\"></rect> <polyline fill=\"none\" stroke=\"#000\" points=\"5 0.5 17.5 0.5 17.5 17\"></polyline></svg>";
var database = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <ellipse fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"4.64\" rx=\"7.5\" ry=\"3.14\"></ellipse> <path fill=\"none\" stroke=\"#000\" d=\"M17.5,8.11 C17.5,9.85 14.14,11.25 10,11.25 C5.86,11.25 2.5,9.84 2.5,8.11\"></path> <path fill=\"none\" stroke=\"#000\" d=\"M17.5,11.25 C17.5,12.99 14.14,14.39 10,14.39 C5.86,14.39 2.5,12.98 2.5,11.25\"></path> <path fill=\"none\" stroke=\"#000\" d=\"M17.49,4.64 L17.5,14.36 C17.5,16.1 14.14,17.5 10,17.5 C5.86,17.5 2.5,16.09 2.5,14.36 L2.5,4.64\"></path></svg>";
var desktop = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"8\" y=\"15\" width=\"1\" height=\"2\"></rect> <rect x=\"11\" y=\"15\" width=\"1\" height=\"2\"></rect> <rect x=\"5\" y=\"16\" width=\"10\" height=\"1\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"3.5\" width=\"17\" height=\"11\"></rect></svg>";
var download = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"14,10 9.5,14.5 5,10\"></polyline> <rect x=\"3\" y=\"17\" width=\"13\" height=\"1\"></rect> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"13.91\" x2=\"9.5\" y2=\"3\"></line></svg>";
var dribbble = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" d=\"M1.3,8.9c0,0,5,0.1,8.6-1c1.4-0.4,2.6-0.9,4-1.9 c1.4-1.1,2.5-2.5,2.5-2.5\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" d=\"M3.9,16.6c0,0,1.7-2.8,3.5-4.2 c1.8-1.3,4-2,5.7-2.2C16,10,19,10.6,19,10.6\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" d=\"M6.9,1.6c0,0,3.3,4.6,4.2,6.8 c0.4,0.9,1.3,3.1,1.9,5.2c0.6,2,0.9,4.4,0.9,4.4\"></path> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" cx=\"10\" cy=\"10\" r=\"9\"></circle></svg>";
var expand = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"13 2 18 2 18 7 17 7 17 3 13 3\"></polygon> <polygon points=\"2 13 3 13 3 17 7 17 7 18 2 18\"></polygon> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M11,9 L17,3\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M3,17 L9,11\"></path></svg>";
var facebook = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M11,10h2.6l0.4-3H11V5.3c0-0.9,0.2-1.5,1.5-1.5H14V1.1c-0.3,0-1-0.1-2.1-0.1C9.6,1,8,2.4,8,5v2H5.5v3H8v8h3V10z\"></path></svg>";
var file = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"1.5\" width=\"13\" height=\"17\"></rect></svg>";
var flickr = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"5.5\" cy=\"9.5\" r=\"3.5\"></circle> <circle cx=\"14.5\" cy=\"9.5\" r=\"3.5\"></circle></svg>";
var folder = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"9.5 5.5 8.5 3.5 1.5 3.5 1.5 16.5 18.5 16.5 18.5 5.5\"></polygon></svg>";
var forward = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M2.47,13.11 C4.02,10.02 6.27,7.85 9.04,6.61 C9.48,6.41 10.27,6.13 11,5.91 L11,2 L18.89,9 L11,16 L11,12.13 C9.25,12.47 7.58,13.19 6.02,14.25 C3.03,16.28 1.63,18.54 1.63,18.54 C1.63,18.54 1.38,15.28 2.47,13.11 L2.47,13.11 Z M5.3,13.53 C6.92,12.4 9.04,11.4 12,10.92 L12,13.63 L17.36,9 L12,4.25 L12,6.8 C11.71,6.86 10.86,7.02 9.67,7.49 C6.79,8.65 4.58,10.96 3.49,13.08 C3.18,13.7 2.68,14.87 2.49,16 C3.28,15.05 4.4,14.15 5.3,13.53 L5.3,13.53 Z\"></path></svg>";
var foursquare = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M15.23,2 C15.96,2 16.4,2.41 16.5,2.86 C16.57,3.15 16.56,3.44 16.51,3.73 C16.46,4.04 14.86,11.72 14.75,12.03 C14.56,12.56 14.16,12.82 13.61,12.83 C13.03,12.84 11.09,12.51 10.69,13 C10.38,13.38 7.79,16.39 6.81,17.53 C6.61,17.76 6.4,17.96 6.08,17.99 C5.68,18.04 5.29,17.87 5.17,17.45 C5.12,17.28 5.1,17.09 5.1,16.91 C5.1,12.4 4.86,7.81 5.11,3.31 C5.17,2.5 5.81,2.12 6.53,2 L15.23,2 L15.23,2 Z M9.76,11.42 C9.94,11.19 10.17,11.1 10.45,11.1 L12.86,11.1 C13.12,11.1 13.31,10.94 13.36,10.69 C13.37,10.64 13.62,9.41 13.74,8.83 C13.81,8.52 13.53,8.28 13.27,8.28 C12.35,8.29 11.42,8.28 10.5,8.28 C9.84,8.28 9.83,7.69 9.82,7.21 C9.8,6.85 10.13,6.55 10.5,6.55 C11.59,6.56 12.67,6.55 13.76,6.55 C14.03,6.55 14.23,6.4 14.28,6.14 C14.34,5.87 14.67,4.29 14.67,4.29 C14.67,4.29 14.82,3.74 14.19,3.74 L7.34,3.74 C7,3.75 6.84,4.02 6.84,4.33 C6.84,7.58 6.85,14.95 6.85,14.99 C6.87,15 8.89,12.51 9.76,11.42 L9.76,11.42 Z\"></path></svg>";
var future = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline points=\"19 2 18 2 18 6 14 6 14 7 19 7 19 2\"></polyline> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M18,6.548 C16.709,3.29 13.354,1 9.6,1 C4.6,1 0.6,5 0.6,10 C0.6,15 4.6,19 9.6,19 C14.6,19 18.6,15 18.6,10\"></path> <rect x=\"9\" y=\"4\" width=\"1\" height=\"7\"></rect> <path d=\"M13.018,14.197 L9.445,10.625\" fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\"></path></svg>";
var github = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10,1 C5.03,1 1,5.03 1,10 C1,13.98 3.58,17.35 7.16,18.54 C7.61,18.62 7.77,18.34 7.77,18.11 C7.77,17.9 7.76,17.33 7.76,16.58 C5.26,17.12 4.73,15.37 4.73,15.37 C4.32,14.33 3.73,14.05 3.73,14.05 C2.91,13.5 3.79,13.5 3.79,13.5 C4.69,13.56 5.17,14.43 5.17,14.43 C5.97,15.8 7.28,15.41 7.79,15.18 C7.87,14.6 8.1,14.2 8.36,13.98 C6.36,13.75 4.26,12.98 4.26,9.53 C4.26,8.55 4.61,7.74 5.19,7.11 C5.1,6.88 4.79,5.97 5.28,4.73 C5.28,4.73 6.04,4.49 7.75,5.65 C8.47,5.45 9.24,5.35 10,5.35 C10.76,5.35 11.53,5.45 12.25,5.65 C13.97,4.48 14.72,4.73 14.72,4.73 C15.21,5.97 14.9,6.88 14.81,7.11 C15.39,7.74 15.73,8.54 15.73,9.53 C15.73,12.99 13.63,13.75 11.62,13.97 C11.94,14.25 12.23,14.8 12.23,15.64 C12.23,16.84 12.22,17.81 12.22,18.11 C12.22,18.35 12.38,18.63 12.84,18.54 C16.42,17.35 19,13.98 19,10 C19,5.03 14.97,1 10,1 L10,1 Z\"></path></svg>";
var gitter = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"3.5\" y=\"1\" width=\"1.531\" height=\"11.471\"></rect> <rect x=\"7.324\" y=\"4.059\" width=\"1.529\" height=\"15.294\"></rect> <rect x=\"11.148\" y=\"4.059\" width=\"1.527\" height=\"15.294\"></rect> <rect x=\"14.971\" y=\"4.059\" width=\"1.529\" height=\"8.412\"></rect></svg>";
var google = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.86,9.09 C18.46,12.12 17.14,16.05 13.81,17.56 C9.45,19.53 4.13,17.68 2.47,12.87 C0.68,7.68 4.22,2.42 9.5,2.03 C11.57,1.88 13.42,2.37 15.05,3.65 C15.22,3.78 15.37,3.93 15.61,4.14 C14.9,4.81 14.23,5.45 13.5,6.14 C12.27,5.08 10.84,4.72 9.28,4.98 C8.12,5.17 7.16,5.76 6.37,6.63 C4.88,8.27 4.62,10.86 5.76,12.82 C6.95,14.87 9.17,15.8 11.57,15.25 C13.27,14.87 14.76,13.33 14.89,11.75 L10.51,11.75 L10.51,9.09 L17.86,9.09 L17.86,9.09 Z\"></path></svg>";
var grid = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"2\" y=\"2\" width=\"3\" height=\"3\"></rect> <rect x=\"8\" y=\"2\" width=\"3\" height=\"3\"></rect> <rect x=\"14\" y=\"2\" width=\"3\" height=\"3\"></rect> <rect x=\"2\" y=\"8\" width=\"3\" height=\"3\"></rect> <rect x=\"8\" y=\"8\" width=\"3\" height=\"3\"></rect> <rect x=\"14\" y=\"8\" width=\"3\" height=\"3\"></rect> <rect x=\"2\" y=\"14\" width=\"3\" height=\"3\"></rect> <rect x=\"8\" y=\"14\" width=\"3\" height=\"3\"></rect> <rect x=\"14\" y=\"14\" width=\"3\" height=\"3\"></rect></svg>";
var happy = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"13\" cy=\"7\" r=\"1\"></circle> <circle cx=\"7\" cy=\"7\" r=\"1\"></circle> <circle fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"10\" r=\"8.5\"></circle> <path fill=\"none\" stroke=\"#000\" d=\"M14.6,11.4 C13.9,13.3 12.1,14.5 10,14.5 C7.9,14.5 6.1,13.3 5.4,11.4\"></path></svg>";
var hashtag = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M15.431,8 L15.661,7 L12.911,7 L13.831,3 L12.901,3 L11.98,7 L9.29,7 L10.21,3 L9.281,3 L8.361,7 L5.23,7 L5,8 L8.13,8 L7.21,12 L4.23,12 L4,13 L6.98,13 L6.061,17 L6.991,17 L7.911,13 L10.601,13 L9.681,17 L10.611,17 L11.531,13 L14.431,13 L14.661,12 L11.76,12 L12.681,8 L15.431,8 Z M10.831,12 L8.141,12 L9.061,8 L11.75,8 L10.831,12 Z\"></path></svg>";
var heart = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" d=\"M10,4 C10,4 8.1,2 5.74,2 C3.38,2 1,3.55 1,6.73 C1,8.84 2.67,10.44 2.67,10.44 L10,18 L17.33,10.44 C17.33,10.44 19,8.84 19,6.73 C19,3.55 16.62,2 14.26,2 C11.9,2 10,4 10,4 L10,4 Z\"></path></svg>";
var history = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"#000\" points=\"1 2 2 2 2 6 6 6 6 7 1 7 1 2\"></polyline> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M2.1,6.548 C3.391,3.29 6.746,1 10.5,1 C15.5,1 19.5,5 19.5,10 C19.5,15 15.5,19 10.5,19 C5.5,19 1.5,15 1.5,10\"></path> <rect x=\"9\" y=\"4\" width=\"1\" height=\"7\"></rect> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M13.018,14.197 L9.445,10.625\" id=\"Shape\"></path></svg>";
var home = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"18.65 11.35 10 2.71 1.35 11.35 0.65 10.65 10 1.29 19.35 10.65\"></polygon> <polygon points=\"15 4 18 4 18 7 17 7 17 5 15 5\"></polygon> <polygon points=\"3 11 4 11 4 18 7 18 7 12 12 12 12 18 16 18 16 11 17 11 17 19 11 19 11 13 8 13 8 19 3 19\"></polygon></svg>";
var image = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"16.1\" cy=\"6.1\" r=\"1.1\"></circle> <rect fill=\"none\" stroke=\"#000\" x=\"0.5\" y=\"2.5\" width=\"19\" height=\"15\"></rect> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"4,13 8,9 13,14\"></polyline> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"11,12 12.5,10.5 16,14\"></polyline></svg>";
var info = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12.13,11.59 C11.97,12.84 10.35,14.12 9.1,14.16 C6.17,14.2 9.89,9.46 8.74,8.37 C9.3,8.16 10.62,7.83 10.62,8.81 C10.62,9.63 10.12,10.55 9.88,11.32 C8.66,15.16 12.13,11.15 12.14,11.18 C12.16,11.21 12.16,11.35 12.13,11.59 C12.08,11.95 12.16,11.35 12.13,11.59 L12.13,11.59 Z M11.56,5.67 C11.56,6.67 9.36,7.15 9.36,6.03 C9.36,5 11.56,4.54 11.56,5.67 L11.56,5.67 Z\"></path> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\"></circle></svg>";
var instagram = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M13.55,1H6.46C3.45,1,1,3.44,1,6.44v7.12c0,3,2.45,5.44,5.46,5.44h7.08c3.02,0,5.46-2.44,5.46-5.44V6.44 C19.01,3.44,16.56,1,13.55,1z M17.5,14c0,1.93-1.57,3.5-3.5,3.5H6c-1.93,0-3.5-1.57-3.5-3.5V6c0-1.93,1.57-3.5,3.5-3.5h8 c1.93,0,3.5,1.57,3.5,3.5V14z\"></path> <circle cx=\"14.87\" cy=\"5.26\" r=\"1.09\"></circle> <path d=\"M10.03,5.45c-2.55,0-4.63,2.06-4.63,4.6c0,2.55,2.07,4.61,4.63,4.61c2.56,0,4.63-2.061,4.63-4.61 C14.65,7.51,12.58,5.45,10.03,5.45L10.03,5.45L10.03,5.45z M10.08,13c-1.66,0-3-1.34-3-2.99c0-1.65,1.34-2.99,3-2.99s3,1.34,3,2.99 C13.08,11.66,11.74,13,10.08,13L10.08,13L10.08,13z\"></path></svg>";
var italic = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12.63,5.48 L10.15,14.52 C10,15.08 10.37,15.25 11.92,15.3 L11.72,16 L6,16 L6.2,15.31 C7.78,15.26 8.19,15.09 8.34,14.53 L10.82,5.49 C10.97,4.92 10.63,4.76 9.09,4.71 L9.28,4 L15,4 L14.81,4.69 C13.23,4.75 12.78,4.91 12.63,5.48 L12.63,5.48 Z\"></path></svg>";
var joomla = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M7.8,13.4l1.7-1.7L5.9,8c-0.6-0.5-0.6-1.5,0-2c0.6-0.6,1.4-0.6,2,0l1.7-1.7c-1-1-2.3-1.3-3.6-1C5.8,2.2,4.8,1.4,3.7,1.4 c-1.3,0-2.3,1-2.3,2.3c0,1.1,0.8,2,1.8,2.3c-0.4,1.3-0.1,2.8,1,3.8L7.8,13.4L7.8,13.4z\"></path> <path d=\"M10.2,4.3c1-1,2.5-1.4,3.8-1c0.2-1.1,1.1-2,2.3-2c1.3,0,2.3,1,2.3,2.3c0,1.2-0.9,2.2-2,2.3c0.4,1.3,0,2.8-1,3.8L13.9,8 c0.6-0.5,0.6-1.5,0-2c-0.5-0.6-1.5-0.6-2,0L8.2,9.7L6.5,8\"></path> <path d=\"M14.1,16.8c-1.3,0.4-2.8,0.1-3.8-1l1.7-1.7c0.6,0.6,1.5,0.6,2,0c0.5-0.6,0.6-1.5,0-2l-3.7-3.7L12,6.7l3.7,3.7 c1,1,1.3,2.4,1,3.6c1.1,0.2,2,1.1,2,2.3c0,1.3-1,2.3-2.3,2.3C15.2,18.6,14.3,17.8,14.1,16.8\"></path> <path d=\"M13.2,12.2l-3.7,3.7c-1,1-2.4,1.3-3.6,1c-0.2,1-1.2,1.8-2.2,1.8c-1.3,0-2.3-1-2.3-2.3c0-1.1,0.8-2,1.8-2.3 c-0.3-1.3,0-2.7,1-3.7l1.7,1.7c-0.6,0.6-0.6,1.5,0,2c0.6,0.6,1.4,0.6,2,0l3.7-3.7\"></path></svg>";
var laptop = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect y=\"16\" width=\"20\" height=\"1\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"2.5\" y=\"4.5\" width=\"15\" height=\"10\"></rect></svg>";
var lifesaver = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10,0.5 C4.76,0.5 0.5,4.76 0.5,10 C0.5,15.24 4.76,19.5 10,19.5 C15.24,19.5 19.5,15.24 19.5,10 C19.5,4.76 15.24,0.5 10,0.5 L10,0.5 Z M10,1.5 C11.49,1.5 12.89,1.88 14.11,2.56 L11.85,4.82 C11.27,4.61 10.65,4.5 10,4.5 C9.21,4.5 8.47,4.67 7.79,4.96 L5.58,2.75 C6.87,1.95 8.38,1.5 10,1.5 L10,1.5 Z M4.96,7.8 C4.67,8.48 4.5,9.21 4.5,10 C4.5,10.65 4.61,11.27 4.83,11.85 L2.56,14.11 C1.88,12.89 1.5,11.49 1.5,10 C1.5,8.38 1.95,6.87 2.75,5.58 L4.96,7.79 L4.96,7.8 L4.96,7.8 Z M10,18.5 C8.25,18.5 6.62,17.97 5.27,17.06 L7.46,14.87 C8.22,15.27 9.08,15.5 10,15.5 C10.79,15.5 11.53,15.33 12.21,15.04 L14.42,17.25 C13.13,18.05 11.62,18.5 10,18.5 L10,18.5 Z M10,14.5 C7.52,14.5 5.5,12.48 5.5,10 C5.5,7.52 7.52,5.5 10,5.5 C12.48,5.5 14.5,7.52 14.5,10 C14.5,12.48 12.48,14.5 10,14.5 L10,14.5 Z M15.04,12.21 C15.33,11.53 15.5,10.79 15.5,10 C15.5,9.08 15.27,8.22 14.87,7.46 L17.06,5.27 C17.97,6.62 18.5,8.25 18.5,10 C18.5,11.62 18.05,13.13 17.25,14.42 L15.04,12.21 L15.04,12.21 Z\"></path></svg>";
var link = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M7.925,11.875 L11.925,7.975\"></path></svg>";
var linkedin = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M5.77,17.89 L5.77,7.17 L2.21,7.17 L2.21,17.89 L5.77,17.89 L5.77,17.89 Z M3.99,5.71 C5.23,5.71 6.01,4.89 6.01,3.86 C5.99,2.8 5.24,2 4.02,2 C2.8,2 2,2.8 2,3.85 C2,4.88 2.77,5.7 3.97,5.7 L3.99,5.7 L3.99,5.71 L3.99,5.71 Z\"></path> <path d=\"M7.75,17.89 L11.31,17.89 L11.31,11.9 C11.31,11.58 11.33,11.26 11.43,11.03 C11.69,10.39 12.27,9.73 13.26,9.73 C14.55,9.73 15.06,10.71 15.06,12.15 L15.06,17.89 L18.62,17.89 L18.62,11.74 C18.62,8.45 16.86,6.92 14.52,6.92 C12.6,6.92 11.75,7.99 11.28,8.73 L11.3,8.73 L11.3,7.17 L7.75,7.17 C7.79,8.17 7.75,17.89 7.75,17.89 L7.75,17.89 L7.75,17.89 Z\"></path></svg>";
var list = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"6\" y=\"4\" width=\"12\" height=\"1\"></rect> <rect x=\"6\" y=\"9\" width=\"12\" height=\"1\"></rect> <rect x=\"6\" y=\"14\" width=\"12\" height=\"1\"></rect> <rect x=\"2\" y=\"4\" width=\"2\" height=\"1\"></rect> <rect x=\"2\" y=\"9\" width=\"2\" height=\"1\"></rect> <rect x=\"2\" y=\"14\" width=\"2\" height=\"1\"></rect></svg>";
var location = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" d=\"M10,0.5 C6.41,0.5 3.5,3.39 3.5,6.98 C3.5,11.83 10,19 10,19 C10,19 16.5,11.83 16.5,6.98 C16.5,3.39 13.59,0.5 10,0.5 L10,0.5 Z\"></path> <circle fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"6.8\" r=\"2.3\"></circle></svg>";
var lock = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" height=\"10\" width=\"13\" y=\"8.5\" x=\"3.5\"></rect> <path fill=\"none\" stroke=\"#000\" d=\"M6.5,8 L6.5,4.88 C6.5,3.01 8.07,1.5 10,1.5 C11.93,1.5 13.5,3.01 13.5,4.88 L13.5,8\"></path></svg>";
var mail = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"1.4,6.5 10,11 18.6,6.5\"></polyline> <path d=\"M 1,4 1,16 19,16 19,4 1,4 Z M 18,15 2,15 2,5 18,5 18,15 Z\"></path></svg>";
var menu = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"2\" y=\"4\" width=\"16\" height=\"1\"></rect> <rect x=\"2\" y=\"9\" width=\"16\" height=\"1\"></rect> <rect x=\"2\" y=\"14\" width=\"16\" height=\"1\"></rect></svg>";
var minus = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect height=\"1\" width=\"18\" y=\"9\" x=\"1\"></rect></svg>";
var more = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"3\" cy=\"10\" r=\"2\"></circle> <circle cx=\"10\" cy=\"10\" r=\"2\"></circle> <circle cx=\"17\" cy=\"10\" r=\"2\"></circle></svg>";
var move = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"4,5 1,5 1,9 2,9 2,6 4,6 \"></polygon> <polygon points=\"1,16 2,16 2,18 4,18 4,19 1,19 \"></polygon> <polygon points=\"14,16 14,19 11,19 11,18 13,18 13,16 \"></polygon> <rect fill=\"none\" stroke=\"#000\" x=\"5.5\" y=\"1.5\" width=\"13\" height=\"13\"></rect> <rect x=\"1\" y=\"11\" width=\"1\" height=\"3\"></rect> <rect x=\"6\" y=\"18\" width=\"3\" height=\"1\"></rect></svg>";
var nut = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"2.5,5.7 10,1.3 17.5,5.7 17.5,14.3 10,18.7 2.5,14.3\"></polygon> <circle fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"10\" r=\"3.5\"></circle></svg>";
var pagekit = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"3,1 17,1 17,16 10,16 10,13 14,13 14,4 6,4 6,16 10,16 10,19 3,19 \"></polygon></svg>";
var pencil = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M17.25,6.01 L7.12,16.1 L3.82,17.2 L5.02,13.9 L15.12,3.88 C15.71,3.29 16.66,3.29 17.25,3.88 C17.83,4.47 17.83,5.42 17.25,6.01 L17.25,6.01 Z\"></path> <path fill=\"none\" stroke=\"#000\" d=\"M15.98,7.268 L13.851,5.148\"></path></svg>";
var phone = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M15.5,17 C15.5,17.8 14.8,18.5 14,18.5 L7,18.5 C6.2,18.5 5.5,17.8 5.5,17 L5.5,3 C5.5,2.2 6.2,1.5 7,1.5 L14,1.5 C14.8,1.5 15.5,2.2 15.5,3 L15.5,17 L15.5,17 L15.5,17 Z\"></path> <circle cx=\"10.5\" cy=\"16.5\" r=\"0.8\"></circle></svg>";
var pinterest = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10.21,1 C5.5,1 3,4.16 3,7.61 C3,9.21 3.85,11.2 5.22,11.84 C5.43,11.94 5.54,11.89 5.58,11.69 C5.62,11.54 5.8,10.8 5.88,10.45 C5.91,10.34 5.89,10.24 5.8,10.14 C5.36,9.59 5,8.58 5,7.65 C5,5.24 6.82,2.91 9.93,2.91 C12.61,2.91 14.49,4.74 14.49,7.35 C14.49,10.3 13,12.35 11.06,12.35 C9.99,12.35 9.19,11.47 9.44,10.38 C9.75,9.08 10.35,7.68 10.35,6.75 C10.35,5.91 9.9,5.21 8.97,5.21 C7.87,5.21 6.99,6.34 6.99,7.86 C6.99,8.83 7.32,9.48 7.32,9.48 C7.32,9.48 6.24,14.06 6.04,14.91 C5.7,16.35 6.08,18.7 6.12,18.9 C6.14,19.01 6.26,19.05 6.33,18.95 C6.44,18.81 7.74,16.85 8.11,15.44 C8.24,14.93 8.79,12.84 8.79,12.84 C9.15,13.52 10.19,14.09 11.29,14.09 C14.58,14.09 16.96,11.06 16.96,7.3 C16.94,3.7 14,1 10.21,1\"></path></svg>";
var play = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"6.5,5 14.5,10 6.5,15\"></polygon></svg>";
var plus = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"9\" y=\"1\" width=\"1\" height=\"17\"></rect> <rect x=\"1\" y=\"9\" width=\"17\" height=\"1\"></rect></svg>";
var pull = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"6.85,8 9.5,10.6 12.15,8 12.85,8.7 9.5,12 6.15,8.7\"></polygon> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"11\" x2=\"9.5\" y2=\"2\"></line> <polyline fill=\"none\" stroke=\"#000\" points=\"6,5.5 3.5,5.5 3.5,18.5 15.5,18.5 15.5,5.5 13,5.5\"></polyline></svg>";
var push = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"12.15,4 9.5,1.4 6.85,4 6.15,3.3 9.5,0 12.85,3.3\"></polygon> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"10\" x2=\"9.5\" y2=\"1\"></line> <polyline fill=\"none\" stroke=\"#000\" points=\"6 5.5 3.5 5.5 3.5 18.5 15.5 18.5 15.5 5.5 13 5.5\"></polyline></svg>";
var question = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\"></circle> <circle cx=\"10.44\" cy=\"14.42\" r=\"1.05\"></circle> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" d=\"M8.17,7.79 C8.17,4.75 12.72,4.73 12.72,7.72 C12.72,8.67 11.81,9.15 11.23,9.75 C10.75,10.24 10.51,10.73 10.45,11.4 C10.44,11.53 10.43,11.64 10.43,11.75\"></path></svg>";
var receiver = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" d=\"M6.189,13.611C8.134,15.525 11.097,18.239 13.867,18.257C16.47,18.275 18.2,16.241 18.2,16.241L14.509,12.551L11.539,13.639L6.189,8.29L7.313,5.355L3.76,1.8C3.76,1.8 1.732,3.537 1.7,6.092C1.667,8.809 4.347,11.738 6.189,13.611\"></path></svg>";
var refresh = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M17.08,11.15 C17.09,11.31 17.1,11.47 17.1,11.64 C17.1,15.53 13.94,18.69 10.05,18.69 C6.16,18.68 3,15.53 3,11.63 C3,7.74 6.16,4.58 10.05,4.58 C10.9,4.58 11.71,4.73 12.46,5\"></path> <polyline fill=\"none\" stroke=\"#000\" points=\"9.9 2 12.79 4.89 9.79 7.9\"></polyline></svg>";
var reply = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.7,13.11 C16.12,10.02 13.84,7.85 11.02,6.61 C10.57,6.41 9.75,6.13 9,5.91 L9,2 L1,9 L9,16 L9,12.13 C10.78,12.47 12.5,13.19 14.09,14.25 C17.13,16.28 18.56,18.54 18.56,18.54 C18.56,18.54 18.81,15.28 17.7,13.11 L17.7,13.11 Z M14.82,13.53 C13.17,12.4 11.01,11.4 8,10.92 L8,13.63 L2.55,9 L8,4.25 L8,6.8 C8.3,6.86 9.16,7.02 10.37,7.49 C13.3,8.65 15.54,10.96 16.65,13.08 C16.97,13.7 17.48,14.86 17.68,16 C16.87,15.05 15.73,14.15 14.82,13.53 L14.82,13.53 Z\"></path></svg>";
var rss = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"3.12\" cy=\"16.8\" r=\"1.85\"></circle> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M1.5,8.2 C1.78,8.18 2.06,8.16 2.35,8.16 C7.57,8.16 11.81,12.37 11.81,17.57 C11.81,17.89 11.79,18.19 11.76,18.5\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M1.5,2.52 C1.78,2.51 2.06,2.5 2.35,2.5 C10.72,2.5 17.5,9.24 17.5,17.57 C17.5,17.89 17.49,18.19 17.47,18.5\"></path></svg>";
var search = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9\" cy=\"9\" r=\"7\"></circle> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M14,14 L18,18 L14,14 Z\"></path></svg>";
var server = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"3\" y=\"3\" width=\"1\" height=\"2\"></rect> <rect x=\"5\" y=\"3\" width=\"1\" height=\"2\"></rect> <rect x=\"7\" y=\"3\" width=\"1\" height=\"2\"></rect> <rect x=\"16\" y=\"3\" width=\"1\" height=\"1\"></rect> <rect x=\"16\" y=\"10\" width=\"1\" height=\"1\"></rect> <circle fill=\"none\" stroke=\"#000\" cx=\"9.9\" cy=\"17.4\" r=\"1.4\"></circle> <rect x=\"3\" y=\"10\" width=\"1\" height=\"2\"></rect> <rect x=\"5\" y=\"10\" width=\"1\" height=\"2\"></rect> <rect x=\"9.5\" y=\"14\" width=\"1\" height=\"2\"></rect> <rect x=\"3\" y=\"17\" width=\"6\" height=\"1\"></rect> <rect x=\"11\" y=\"17\" width=\"6\" height=\"1\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"1.5\" width=\"17\" height=\"5\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"8.5\" width=\"17\" height=\"5\"></rect></svg>";
var settings = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <ellipse fill=\"none\" stroke=\"#000\" cx=\"6.11\" cy=\"3.55\" rx=\"2.11\" ry=\"2.15\"></ellipse> <ellipse fill=\"none\" stroke=\"#000\" cx=\"6.11\" cy=\"15.55\" rx=\"2.11\" ry=\"2.15\"></ellipse> <circle fill=\"none\" stroke=\"#000\" cx=\"13.15\" cy=\"9.55\" r=\"2.15\"></circle> <rect x=\"1\" y=\"3\" width=\"3\" height=\"1\"></rect> <rect x=\"10\" y=\"3\" width=\"8\" height=\"1\"></rect> <rect x=\"1\" y=\"9\" width=\"8\" height=\"1\"></rect> <rect x=\"15\" y=\"9\" width=\"3\" height=\"1\"></rect> <rect x=\"1\" y=\"15\" width=\"3\" height=\"1\"></rect> <rect x=\"10\" y=\"15\" width=\"8\" height=\"1\"></rect></svg>";
var shrink = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"11 4 12 4 12 8 16 8 16 9 11 9\"></polygon> <polygon points=\"4 11 9 11 9 16 8 16 8 12 4 12\"></polygon> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M12,8 L18,2\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M2,18 L8,12\"></path></svg>";
var social = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"13.4\" y1=\"14\" x2=\"6.3\" y2=\"10.7\"></line> <line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"13.5\" y1=\"5.5\" x2=\"6.5\" y2=\"8.8\"></line> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"15.5\" cy=\"4.6\" r=\"2.3\"></circle> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"15.5\" cy=\"14.8\" r=\"2.3\"></circle> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"4.5\" cy=\"9.8\" r=\"2.3\"></circle></svg>";
var soundcloud = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.2,9.4c-0.4,0-0.8,0.1-1.101,0.2c-0.199-2.5-2.399-4.5-5-4.5c-0.6,0-1.2,0.1-1.7,0.3C9.2,5.5,9.1,5.6,9.1,5.6V15h8 c1.601,0,2.801-1.2,2.801-2.8C20,10.7,18.7,9.4,17.2,9.4L17.2,9.4z\"></path> <rect x=\"6\" y=\"6.5\" width=\"1.5\" height=\"8.5\"></rect> <rect x=\"3\" y=\"8\" width=\"1.5\" height=\"7\"></rect> <rect y=\"10\" width=\"1.5\" height=\"5\"></rect></svg>";
var star = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"10 2 12.63 7.27 18.5 8.12 14.25 12.22 15.25 18 10 15.27 4.75 18 5.75 12.22 1.5 8.12 7.37 7.27\"></polygon></svg>";
var strikethrough = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M6,13.02 L6.65,13.02 C7.64,15.16 8.86,16.12 10.41,16.12 C12.22,16.12 12.92,14.93 12.92,13.89 C12.92,12.55 11.99,12.03 9.74,11.23 C8.05,10.64 6.23,10.11 6.23,7.83 C6.23,5.5 8.09,4.09 10.4,4.09 C11.44,4.09 12.13,4.31 12.72,4.54 L13.33,4 L13.81,4 L13.81,7.59 L13.16,7.59 C12.55,5.88 11.52,4.89 10.07,4.89 C8.84,4.89 7.89,5.69 7.89,7.03 C7.89,8.29 8.89,8.78 10.88,9.45 C12.57,10.03 14.38,10.6 14.38,12.91 C14.38,14.75 13.27,16.93 10.18,16.93 C9.18,16.93 8.17,16.69 7.46,16.39 L6.52,17 L6,17 L6,13.02 L6,13.02 Z\"></path> <rect x=\"3\" y=\"10\" width=\"15\" height=\"1\"></rect></svg>";
var table = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"1\" y=\"3\" width=\"18\" height=\"1\"></rect> <rect x=\"1\" y=\"7\" width=\"18\" height=\"1\"></rect> <rect x=\"1\" y=\"11\" width=\"18\" height=\"1\"></rect> <rect x=\"1\" y=\"15\" width=\"18\" height=\"1\"></rect></svg>";
var tablet = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M5,18.5 C4.2,18.5 3.5,17.8 3.5,17 L3.5,3 C3.5,2.2 4.2,1.5 5,1.5 L16,1.5 C16.8,1.5 17.5,2.2 17.5,3 L17.5,17 C17.5,17.8 16.8,18.5 16,18.5 L5,18.5 L5,18.5 L5,18.5 Z\"></path> <circle cx=\"10.5\" cy=\"16.3\" r=\"0.8\"></circle></svg>";
var tag = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M17.5,3.71 L17.5,7.72 C17.5,7.96 17.4,8.2 17.21,8.39 L8.39,17.2 C7.99,17.6 7.33,17.6 6.93,17.2 L2.8,13.07 C2.4,12.67 2.4,12.01 2.8,11.61 L11.61,2.8 C11.81,2.6 12.08,2.5 12.34,2.5 L16.19,2.5 C16.52,2.5 16.86,2.63 17.11,2.88 C17.35,3.11 17.48,3.4 17.5,3.71 L17.5,3.71 Z\"></path> <circle cx=\"14\" cy=\"6\" r=\"1\"></circle></svg>";
var thumbnails = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"3.5\" width=\"5\" height=\"5\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"11.5\" y=\"3.5\" width=\"5\" height=\"5\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"11.5\" y=\"11.5\" width=\"5\" height=\"5\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"11.5\" width=\"5\" height=\"5\"></rect></svg>";
var trash = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"6.5 3 6.5 1.5 13.5 1.5 13.5 3\"></polyline> <polyline fill=\"none\" stroke=\"#000\" points=\"4.5 4 4.5 18.5 15.5 18.5 15.5 4\"></polyline> <rect x=\"8\" y=\"7\" width=\"1\" height=\"9\"></rect> <rect x=\"11\" y=\"7\" width=\"1\" height=\"9\"></rect> <rect x=\"2\" y=\"3\" width=\"16\" height=\"1\"></rect></svg>";
var tripadvisor = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M19.021,7.866C19.256,6.862,20,5.854,20,5.854h-3.346C14.781,4.641,12.504,4,9.98,4C7.363,4,4.999,4.651,3.135,5.876H0\tc0,0,0.738,0.987,0.976,1.988c-0.611,0.837-0.973,1.852-0.973,2.964c0,2.763,2.249,5.009,5.011,5.009\tc1.576,0,2.976-0.737,3.901-1.879l1.063,1.599l1.075-1.615c0.475,0.611,1.1,1.111,1.838,1.451c1.213,0.547,2.574,0.612,3.825,0.15\tc2.589-0.963,3.913-3.852,2.964-6.439c-0.175-0.463-0.4-0.876-0.675-1.238H19.021z M16.38,14.594\tc-1.002,0.371-2.088,0.328-3.06-0.119c-0.688-0.317-1.252-0.817-1.657-1.438c-0.164-0.25-0.313-0.52-0.417-0.811\tc-0.124-0.328-0.186-0.668-0.217-1.014c-0.063-0.689,0.037-1.396,0.339-2.043c0.448-0.971,1.251-1.71,2.25-2.079\tc2.075-0.765,4.375,0.3,5.14,2.366c0.762,2.066-0.301,4.37-2.363,5.134L16.38,14.594L16.38,14.594z M8.322,13.066\tc-0.72,1.059-1.935,1.76-3.309,1.76c-2.207,0-4.001-1.797-4.001-3.996c0-2.203,1.795-4.002,4.001-4.002\tc2.204,0,3.999,1.8,3.999,4.002c0,0.137-0.024,0.261-0.04,0.396c-0.067,0.678-0.284,1.313-0.648,1.853v-0.013H8.322z M2.472,10.775\tc0,1.367,1.112,2.479,2.476,2.479c1.363,0,2.472-1.11,2.472-2.479c0-1.359-1.11-2.468-2.472-2.468\tC3.584,8.306,2.473,9.416,2.472,10.775L2.472,10.775z M12.514,10.775c0,1.367,1.104,2.479,2.471,2.479\tc1.363,0,2.474-1.108,2.474-2.479c0-1.359-1.11-2.468-2.474-2.468c-1.364,0-2.477,1.109-2.477,2.468H12.514z M3.324,10.775\tc0-0.893,0.726-1.618,1.614-1.618c0.889,0,1.625,0.727,1.625,1.618c0,0.898-0.725,1.627-1.625,1.627\tc-0.901,0-1.625-0.729-1.625-1.627H3.324z M13.354,10.775c0-0.893,0.726-1.618,1.627-1.618c0.886,0,1.61,0.727,1.61,1.618\tc0,0.898-0.726,1.627-1.626,1.627s-1.625-0.729-1.625-1.627H13.354z M9.977,4.875c1.798,0,3.425,0.324,4.849,0.968\tc-0.535,0.015-1.061,0.108-1.586,0.3c-1.264,0.463-2.264,1.388-2.815,2.604c-0.262,0.551-0.398,1.133-0.448,1.72\tC9.79,7.905,7.677,5.873,5.076,5.82C6.501,5.208,8.153,4.875,9.94,4.875H9.977z\"></path></svg>";
var tumblr = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M6.885,8.598c0,0,0,3.393,0,4.996c0,0.282,0,0.66,0.094,0.942c0.377,1.509,1.131,2.545,2.545,3.11 c1.319,0.472,2.356,0.472,3.676,0c0.565-0.188,1.132-0.659,1.132-0.659l-0.849-2.263c0,0-1.036,0.378-1.603,0.283 c-0.565-0.094-1.226-0.66-1.226-1.508c0-1.603,0-4.902,0-4.902h2.828V5.771h-2.828V2H8.205c0,0-0.094,0.66-0.188,0.942 C7.828,3.791,7.262,4.733,6.603,5.394C5.848,6.147,5,6.43,5,6.43v2.168H6.885z\"></path></svg>";
var tv = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"7\" y=\"16\" width=\"6\" height=\"1\"></rect> <rect fill=\"none\" stroke=\"#000\" x=\"0.5\" y=\"3.5\" width=\"19\" height=\"11\"></rect></svg>";
var twitter = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M19,4.74 C18.339,5.029 17.626,5.229 16.881,5.32 C17.644,4.86 18.227,4.139 18.503,3.28 C17.79,3.7 17.001,4.009 16.159,4.17 C15.485,3.45 14.526,3 13.464,3 C11.423,3 9.771,4.66 9.771,6.7 C9.771,6.99 9.804,7.269 9.868,7.539 C6.795,7.38 4.076,5.919 2.254,3.679 C1.936,4.219 1.754,4.86 1.754,5.539 C1.754,6.82 2.405,7.95 3.397,8.61 C2.79,8.589 2.22,8.429 1.723,8.149 L1.723,8.189 C1.723,9.978 2.997,11.478 4.686,11.82 C4.376,11.899 4.049,11.939 3.713,11.939 C3.475,11.939 3.245,11.919 3.018,11.88 C3.49,13.349 4.852,14.419 6.469,14.449 C5.205,15.429 3.612,16.019 1.882,16.019 C1.583,16.019 1.29,16.009 1,15.969 C2.635,17.019 4.576,17.629 6.662,17.629 C13.454,17.629 17.17,12 17.17,7.129 C17.17,6.969 17.166,6.809 17.157,6.649 C17.879,6.129 18.504,5.478 19,4.74\"></path></svg>";
var uikit = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"14.4,3.1 11.3,5.1 15,7.3 15,12.9 10,15.7 5,12.9 5,8.5 2,6.8 2,14.8 9.9,19.5 18,14.8 18,5.3\"></polygon> <polygon points=\"9.8,4.2 6.7,2.4 9.8,0.4 12.9,2.3\"></polygon></svg>";
var unlock = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"8.5\" width=\"13\" height=\"10\"></rect> <path fill=\"none\" stroke=\"#000\" d=\"M6.5,8.5 L6.5,4.9 C6.5,3 8.1,1.5 10,1.5 C11.9,1.5 13.5,3 13.5,4.9\"></path></svg>";
var upload = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"5 8 9.5 3.5 14 8 \"></polyline> <rect x=\"3\" y=\"17\" width=\"13\" height=\"1\"></rect> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"15\" x2=\"9.5\" y2=\"4\"></line></svg>";
var user = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9.9\" cy=\"6.4\" r=\"4.4\"></circle> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M1.5,19 C2.3,14.5 5.8,11.2 10,11.2 C14.2,11.2 17.7,14.6 18.5,19.2\"></path></svg>";
var users = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"7.7\" cy=\"8.6\" r=\"3.5\"></circle> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1\"></path></svg>";
var vimeo = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M2.065,7.59C1.84,7.367,1.654,7.082,1.468,6.838c-0.332-0.42-0.137-0.411,0.274-0.772c1.026-0.91,2.004-1.896,3.127-2.688 c1.017-0.713,2.365-1.173,3.286-0.039c0.849,1.045,0.869,2.629,1.084,3.891c0.215,1.309,0.421,2.648,0.88,3.901 c0.127,0.352,0.37,1.018,0.81,1.074c0.567,0.078,1.145-0.917,1.408-1.289c0.684-0.987,1.611-2.317,1.494-3.587 c-0.115-1.349-1.572-1.095-2.482-0.773c0.146-1.514,1.555-3.216,2.912-3.792c1.439-0.597,3.579-0.587,4.302,1.036 c0.772,1.759,0.078,3.802-0.763,5.396c-0.918,1.731-2.1,3.333-3.363,4.829c-1.114,1.329-2.432,2.787-4.093,3.422 c-1.897,0.723-3.021-0.686-3.667-2.318c-0.705-1.777-1.056-3.771-1.565-5.621C4.898,8.726,4.644,7.836,4.136,7.191 C3.473,6.358,2.72,7.141,2.065,7.59C1.977,7.502,2.115,7.551,2.065,7.59L2.065,7.59z\"></path></svg>";
var warning = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"10\" cy=\"14\" r=\"1\"></circle> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\"></circle> <path d=\"M10.97,7.72 C10.85,9.54 10.56,11.29 10.56,11.29 C10.51,11.87 10.27,12 9.99,12 C9.69,12 9.49,11.87 9.43,11.29 C9.43,11.29 9.16,9.54 9.03,7.72 C8.96,6.54 9.03,6 9.03,6 C9.03,5.45 9.46,5.02 9.99,5 C10.53,5.01 10.97,5.44 10.97,6 C10.97,6 11.04,6.54 10.97,7.72 L10.97,7.72 Z\"></path></svg>";
var whatsapp = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M16.7,3.3c-1.8-1.8-4.1-2.8-6.7-2.8c-5.2,0-9.4,4.2-9.4,9.4c0,1.7,0.4,3.3,1.3,4.7l-1.3,4.9l5-1.3c1.4,0.8,2.9,1.2,4.5,1.2 l0,0l0,0c5.2,0,9.4-4.2,9.4-9.4C19.5,7.4,18.5,5,16.7,3.3 M10.1,17.7L10.1,17.7c-1.4,0-2.8-0.4-4-1.1l-0.3-0.2l-3,0.8l0.8-2.9 l-0.2-0.3c-0.8-1.2-1.2-2.7-1.2-4.2c0-4.3,3.5-7.8,7.8-7.8c2.1,0,4.1,0.8,5.5,2.3c1.5,1.5,2.3,3.4,2.3,5.5 C17.9,14.2,14.4,17.7,10.1,17.7 M14.4,11.9c-0.2-0.1-1.4-0.7-1.6-0.8c-0.2-0.1-0.4-0.1-0.5,0.1c-0.2,0.2-0.6,0.8-0.8,0.9 c-0.1,0.2-0.3,0.2-0.5,0.1c-0.2-0.1-1-0.4-1.9-1.2c-0.7-0.6-1.2-1.4-1.3-1.6c-0.1-0.2,0-0.4,0.1-0.5C8,8.8,8.1,8.7,8.2,8.5 c0.1-0.1,0.2-0.2,0.2-0.4c0.1-0.2,0-0.3,0-0.4C8.4,7.6,7.9,6.5,7.7,6C7.5,5.5,7.3,5.6,7.2,5.6c-0.1,0-0.3,0-0.4,0 c-0.2,0-0.4,0.1-0.6,0.3c-0.2,0.2-0.8,0.8-0.8,2c0,1.2,0.8,2.3,1,2.4c0.1,0.2,1.7,2.5,4,3.5c0.6,0.2,1,0.4,1.3,0.5 c0.6,0.2,1.1,0.2,1.5,0.1c0.5-0.1,1.4-0.6,1.6-1.1c0.2-0.5,0.2-1,0.1-1.1C14.8,12.1,14.6,12,14.4,11.9\"></path></svg>";
var wordpress = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10,0.5c-5.2,0-9.5,4.3-9.5,9.5s4.3,9.5,9.5,9.5c5.2,0,9.5-4.3,9.5-9.5S15.2,0.5,10,0.5L10,0.5L10,0.5z M15.6,3.9h-0.1 c-0.8,0-1.4,0.7-1.4,1.5c0,0.7,0.4,1.3,0.8,1.9c0.3,0.6,0.7,1.3,0.7,2.3c0,0.7-0.3,1.5-0.6,2.7L14.1,15l-3-8.9 c0.5,0,0.9-0.1,0.9-0.1C12.5,6,12.5,5.3,12,5.4c0,0-1.3,0.1-2.2,0.1C9,5.5,7.7,5.4,7.7,5.4C7.2,5.3,7.2,6,7.6,6c0,0,0.4,0.1,0.9,0.1 l1.3,3.5L8,15L5,6.1C5.5,6.1,5.9,6,5.9,6C6.4,6,6.3,5.3,5.9,5.4c0,0-1.3,0.1-2.2,0.1c-0.2,0-0.3,0-0.5,0c1.5-2.2,4-3.7,6.9-3.7 C12.2,1.7,14.1,2.6,15.6,3.9L15.6,3.9L15.6,3.9z M2.5,6.6l3.9,10.8c-2.7-1.3-4.6-4.2-4.6-7.4C1.8,8.8,2,7.6,2.5,6.6L2.5,6.6L2.5,6.6 z M10.2,10.7l2.5,6.9c0,0,0,0.1,0.1,0.1C11.9,18,11,18.2,10,18.2c-0.8,0-1.6-0.1-2.3-0.3L10.2,10.7L10.2,10.7L10.2,10.7z M14.2,17.1 l2.5-7.3c0.5-1.2,0.6-2.1,0.6-2.9c0-0.3,0-0.6-0.1-0.8c0.6,1.2,1,2.5,1,4C18.3,13,16.6,15.7,14.2,17.1L14.2,17.1L14.2,17.1z\"></path></svg>";
var world = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M1,10.5 L19,10.5\"></path> <path fill=\"none\" stroke=\"#000\" d=\"M2.35,15.5 L17.65,15.5\"></path> <path fill=\"none\" stroke=\"#000\" d=\"M2.35,5.5 L17.523,5.5\"></path> <path fill=\"none\" stroke=\"#000\" d=\"M10,19.46 L9.98,19.46 C7.31,17.33 5.61,14.141 5.61,10.58 C5.61,7.02 7.33,3.83 10,1.7 C10.01,1.7 9.99,1.7 10,1.7 L10,1.7 C12.67,3.83 14.4,7.02 14.4,10.58 C14.4,14.141 12.67,17.33 10,19.46 L10,19.46 L10,19.46 L10,19.46 Z\"></path> <circle fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"10.5\" r=\"9\"></circle></svg>";
var xing = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M4.4,4.56 C4.24,4.56 4.11,4.61 4.05,4.72 C3.98,4.83 3.99,4.97 4.07,5.12 L5.82,8.16 L5.82,8.17 L3.06,13.04 C2.99,13.18 2.99,13.33 3.06,13.44 C3.12,13.55 3.24,13.62 3.4,13.62 L6,13.62 C6.39,13.62 6.57,13.36 6.71,13.12 C6.71,13.12 9.41,8.35 9.51,8.16 C9.49,8.14 7.72,5.04 7.72,5.04 C7.58,4.81 7.39,4.56 6.99,4.56 L4.4,4.56 L4.4,4.56 Z\"></path> <path d=\"M15.3,1 C14.91,1 14.74,1.25 14.6,1.5 C14.6,1.5 9.01,11.42 8.82,11.74 C8.83,11.76 12.51,18.51 12.51,18.51 C12.64,18.74 12.84,19 13.23,19 L15.82,19 C15.98,19 16.1,18.94 16.16,18.83 C16.23,18.72 16.23,18.57 16.16,18.43 L12.5,11.74 L12.5,11.72 L18.25,1.56 C18.32,1.42 18.32,1.27 18.25,1.16 C18.21,1.06 18.08,1 17.93,1 L15.3,1 L15.3,1 Z\"></path></svg>";
var yelp = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.175,14.971c-0.112,0.77-1.686,2.767-2.406,3.054c-0.246,0.1-0.487,0.076-0.675-0.069\tc-0.122-0.096-2.446-3.859-2.446-3.859c-0.194-0.293-0.157-0.682,0.083-0.978c0.234-0.284,0.581-0.393,0.881-0.276\tc0.016,0.01,4.21,1.394,4.332,1.482c0.178,0.148,0.263,0.379,0.225,0.646L17.175,14.971L17.175,14.971z M11.464,10.789\tc-0.203-0.307-0.199-0.666,0.009-0.916c0,0,2.625-3.574,2.745-3.657c0.203-0.135,0.452-0.141,0.69-0.025\tc0.691,0.335,2.085,2.405,2.167,3.199v0.027c0.024,0.271-0.082,0.491-0.273,0.623c-0.132,0.083-4.43,1.155-4.43,1.155\tc-0.322,0.096-0.68-0.06-0.882-0.381L11.464,10.789z M9.475,9.563C9.32,9.609,8.848,9.757,8.269,8.817c0,0-3.916-6.16-4.007-6.351\tc-0.057-0.212,0.011-0.455,0.202-0.65C5.047,1.211,8.21,0.327,9.037,0.529c0.27,0.069,0.457,0.238,0.522,0.479\tc0.047,0.266,0.433,5.982,0.488,7.264C10.098,9.368,9.629,9.517,9.475,9.563z M9.927,19.066c-0.083,0.225-0.273,0.373-0.54,0.421\tc-0.762,0.13-3.15-0.751-3.647-1.342c-0.096-0.131-0.155-0.262-0.167-0.394c-0.011-0.095,0-0.189,0.036-0.272\tc0.061-0.155,2.917-3.538,2.917-3.538c0.214-0.272,0.595-0.355,0.952-0.213c0.345,0.13,0.56,0.428,0.536,0.749\tC10.014,14.479,9.977,18.923,9.927,19.066z M3.495,13.912c-0.235-0.009-0.444-0.148-0.568-0.382c-0.089-0.17-0.151-0.453-0.19-0.794\tC2.63,11.701,2.761,10.144,3.07,9.648c0.145-0.226,0.357-0.345,0.592-0.336c0.154,0,4.255,1.667,4.255,1.667\tc0.321,0.118,0.521,0.453,0.5,0.833c-0.023,0.37-0.236,0.655-0.551,0.738L3.495,13.912z\"></path></svg>";
var youtube = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M15,4.1c1,0.1,2.3,0,3,0.8c0.8,0.8,0.9,2.1,0.9,3.1C19,9.2,19,10.9,19,12c-0.1,1.1,0,2.4-0.5,3.4c-0.5,1.1-1.4,1.5-2.5,1.6 c-1.2,0.1-8.6,0.1-11,0c-1.1-0.1-2.4-0.1-3.2-1c-0.7-0.8-0.7-2-0.8-3C1,11.8,1,10.1,1,8.9c0-1.1,0-2.4,0.5-3.4C2,4.5,3,4.3,4.1,4.2 C5.3,4.1,12.6,4,15,4.1z M8,7.5v6l5.5-3L8,7.5z\"></path></svg>";
var Icons = {
album: album,
ban: ban,
behance: behance,
bell: bell,
bold: bold,
bolt: bolt,
bookmark: bookmark,
calendar: calendar,
camera: camera,
cart: cart,
check: check,
clock: clock,
close: close,
code: code,
cog: cog,
comment: comment,
commenting: commenting,
comments: comments,
copy: copy,
database: database,
desktop: desktop,
download: download,
dribbble: dribbble,
expand: expand,
facebook: facebook,
file: file,
flickr: flickr,
folder: folder,
forward: forward,
foursquare: foursquare,
future: future,
github: github,
gitter: gitter,
google: google,
grid: grid,
happy: happy,
hashtag: hashtag,
heart: heart,
history: history,
home: home,
image: image,
info: info,
instagram: instagram,
italic: italic,
joomla: joomla,
laptop: laptop,
lifesaver: lifesaver,
link: link,
linkedin: linkedin,
list: list,
location: location,
lock: lock,
mail: mail,
menu: menu,
minus: minus,
more: more,
move: move,
nut: nut,
pagekit: pagekit,
pencil: pencil,
phone: phone,
pinterest: pinterest,
play: play,
plus: plus,
pull: pull,
push: push,
question: question,
receiver: receiver,
refresh: refresh,
reply: reply,
rss: rss,
search: search,
server: server,
settings: settings,
shrink: shrink,
social: social,
soundcloud: soundcloud,
star: star,
strikethrough: strikethrough,
table: table,
tablet: tablet,
tag: tag,
thumbnails: thumbnails,
trash: trash,
tripadvisor: tripadvisor,
tumblr: tumblr,
tv: tv,
twitter: twitter,
uikit: uikit,
unlock: unlock,
upload: upload,
user: user,
users: users,
vimeo: vimeo,
warning: warning,
whatsapp: whatsapp,
wordpress: wordpress,
world: world,
xing: xing,
yelp: yelp,
youtube: youtube,
"500px": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M9.624,11.866c-0.141,0.132,0.479,0.658,0.662,0.418c0.051-0.046,0.607-0.61,0.662-0.664c0,0,0.738,0.719,0.814,0.719\t\tc0.1,0,0.207-0.055,0.322-0.17c0.27-0.269,0.135-0.416,0.066-0.495l-0.631-0.616l0.658-0.668c0.146-0.156,0.021-0.314-0.1-0.449\t\tc-0.182-0.18-0.359-0.226-0.471-0.125l-0.656,0.654l-0.654-0.654c-0.033-0.034-0.08-0.045-0.124-0.045\t\tc-0.079,0-0.191,0.068-0.307,0.181c-0.202,0.202-0.247,0.351-0.133,0.462l0.665,0.665L9.624,11.866z\"></path> <path d=\"M11.066,2.884c-1.061,0-2.185,0.248-3.011,0.604c-0.087,0.034-0.141,0.106-0.15,0.205C7.893,3.784,7.919,3.909,7.982,4.066\t\tc0.05,0.136,0.187,0.474,0.452,0.372c0.844-0.326,1.779-0.507,2.633-0.507c0.963,0,1.9,0.191,2.781,0.564\t\tc0.695,0.292,1.357,0.719,2.078,1.34c0.051,0.044,0.105,0.068,0.164,0.068c0.143,0,0.273-0.137,0.389-0.271\t\tc0.191-0.214,0.324-0.395,0.135-0.575c-0.686-0.654-1.436-1.138-2.363-1.533C13.24,3.097,12.168,2.884,11.066,2.884z\"></path> <path d=\"M16.43,15.747c-0.092-0.028-0.242,0.05-0.309,0.119l0,0c-0.652,0.652-1.42,1.169-2.268,1.521\t\tc-0.877,0.371-1.814,0.551-2.779,0.551c-0.961,0-1.896-0.189-2.775-0.564c-0.848-0.36-1.612-0.879-2.268-1.53\t\tc-0.682-0.688-1.196-1.455-1.529-2.268c-0.325-0.799-0.471-1.643-0.471-1.643c-0.045-0.24-0.258-0.249-0.567-0.203\t\tc-0.128,0.021-0.519,0.079-0.483,0.36v0.01c0.105,0.644,0.289,1.284,0.545,1.895c0.417,0.969,1.002,1.849,1.756,2.604\t\tc0.757,0.754,1.636,1.34,2.604,1.757C8.901,18.785,9.97,19,11.088,19c1.104,0,2.186-0.215,3.188-0.645\t\tc1.838-0.896,2.604-1.757,2.604-1.757c0.182-0.204,0.227-0.317-0.1-0.643C16.779,15.956,16.525,15.774,16.43,15.747z\"></path> <path d=\"M5.633,13.287c0.293,0.71,0.723,1.341,1.262,1.882c0.54,0.54,1.172,0.971,1.882,1.264c0.731,0.303,1.509,0.461,2.298,0.461\t\tc0.801,0,1.578-0.158,2.297-0.461c0.711-0.293,1.344-0.724,1.883-1.264c0.543-0.541,0.971-1.172,1.264-1.882\t\tc0.314-0.721,0.463-1.5,0.463-2.298c0-0.79-0.148-1.569-0.463-2.289c-0.293-0.699-0.721-1.329-1.264-1.881\t\tc-0.539-0.541-1.172-0.959-1.867-1.263c-0.721-0.303-1.5-0.461-2.299-0.461c-0.802,0-1.613,0.159-2.322,0.461\t\tc-0.577,0.25-1.544,0.867-2.119,1.454v0.012V2.108h8.16C15.1,2.104,15.1,1.69,15.1,1.552C15.1,1.417,15.1,1,14.809,1H5.915\t\tC5.676,1,5.527,1.192,5.527,1.384v6.84c0,0.214,0.273,0.372,0.529,0.428c0.5,0.105,0.614-0.056,0.737-0.224l0,0\t\tc0.18-0.273,0.776-0.884,0.787-0.894c0.901-0.905,2.117-1.408,3.416-1.408c1.285,0,2.5,0.501,3.412,1.408\t\tc0.914,0.914,1.408,2.122,1.408,3.405c0,1.288-0.508,2.496-1.408,3.405c-0.9,0.896-2.152,1.406-3.438,1.406\t\tc-0.877,0-1.711-0.229-2.433-0.671v-4.158c0-0.553,0.237-1.151,0.643-1.614c0.462-0.519,1.094-0.799,1.782-0.799\t\tc0.664,0,1.293,0.253,1.758,0.715c0.459,0.459,0.709,1.071,0.709,1.723c0,1.385-1.094,2.468-2.488,2.468\t\tc-0.273,0-0.769-0.121-0.781-0.125c-0.281-0.087-0.405,0.306-0.438,0.436c-0.159,0.496,0.079,0.585,0.123,0.607\t\tc0.452,0.137,0.743,0.157,1.129,0.157c1.973,0,3.572-1.6,3.572-3.57c0-1.964-1.6-3.552-3.572-3.552c-0.97,0-1.872,0.36-2.546,1.038\t\tc-0.656,0.631-1.027,1.487-1.027,2.322v3.438v-0.011c-0.372-0.42-0.732-1.041-0.981-1.682c-0.102-0.248-0.315-0.202-0.607-0.113\t\tc-0.135,0.035-0.519,0.157-0.44,0.439C5.372,12.799,5.577,13.164,5.633,13.287z\"></path></svg>",
"arrow-down": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"10.5,16.08 5.63,10.66 6.37,10 10.5,14.58 14.63,10 15.37,10.66\"></polygon> <line fill=\"none\" stroke=\"#000\" x1=\"10.5\" y1=\"4\" x2=\"10.5\" y2=\"15\"></line></svg>",
"arrow-left": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"10 14 5 9.5 10 5\"></polyline> <line fill=\"none\" stroke=\"#000\" x1=\"16\" y1=\"9.5\" x2=\"5\" y2=\"9.52\"></line></svg>",
"arrow-right": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"10 5 15 9.5 10 14\"></polyline> <line fill=\"none\" stroke=\"#000\" x1=\"4\" y1=\"9.5\" x2=\"15\" y2=\"9.5\"></line></svg>",
"arrow-up": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"10.5,4 15.37,9.4 14.63,10.08 10.5,5.49 6.37,10.08 5.63,9.4\"></polygon> <line fill=\"none\" stroke=\"#000\" x1=\"10.5\" y1=\"16\" x2=\"10.5\" y2=\"5\"></line></svg>",
"chevron-down": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" points=\"16 7 10 13 4 7\"></polyline></svg>",
"chevron-left": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" points=\"13 16 7 10 13 4\"></polyline></svg>",
"chevron-right": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" points=\"7 4 13 10 7 16\"></polyline></svg>",
"chevron-up": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" points=\"4 13 10 7 16 13\"></polyline></svg>",
"cloud-download": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M6.5,14.61 L3.75,14.61 C1.96,14.61 0.5,13.17 0.5,11.39 C0.5,9.76 1.72,8.41 3.3,8.2 C3.38,5.31 5.75,3 8.68,3 C11.19,3 13.31,4.71 13.89,7.02 C14.39,6.8 14.93,6.68 15.5,6.68 C17.71,6.68 19.5,8.45 19.5,10.64 C19.5,12.83 17.71,14.6 15.5,14.6 L12.5,14.6\"></path> <polyline fill=\"none\" stroke=\"#000\" points=\"11.75 16 9.5 18.25 7.25 16\"></polyline> <path fill=\"none\" stroke=\"#000\" d=\"M9.5,18 L9.5,9.5\"></path></svg>",
"cloud-upload": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M6.5,14.61 L3.75,14.61 C1.96,14.61 0.5,13.17 0.5,11.39 C0.5,9.76 1.72,8.41 3.31,8.2 C3.38,5.31 5.75,3 8.68,3 C11.19,3 13.31,4.71 13.89,7.02 C14.39,6.8 14.93,6.68 15.5,6.68 C17.71,6.68 19.5,8.45 19.5,10.64 C19.5,12.83 17.71,14.6 15.5,14.6 L12.5,14.6\"></path> <polyline fill=\"none\" stroke=\"#000\" points=\"7.25 11.75 9.5 9.5 11.75 11.75\"></polyline> <path fill=\"none\" stroke=\"#000\" d=\"M9.5,18 L9.5,9.5\"></path></svg>",
"credit-card": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"4.5\" width=\"17\" height=\"12\"></rect> <rect x=\"1\" y=\"7\" width=\"18\" height=\"3\"></rect></svg>",
"file-edit": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M18.65,1.68 C18.41,1.45 18.109,1.33 17.81,1.33 C17.499,1.33 17.209,1.45 16.98,1.68 L8.92,9.76 L8,12.33 L10.55,11.41 L18.651,3.34 C19.12,2.87 19.12,2.15 18.65,1.68 L18.65,1.68 L18.65,1.68 Z\"></path> <polyline fill=\"none\" stroke=\"#000\" points=\"16.5 8.482 16.5 18.5 3.5 18.5 3.5 1.5 14.211 1.5\"></polyline></svg>",
"git-branch": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"7\" cy=\"3\" r=\"2\"></circle> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"14\" cy=\"6\" r=\"2\"></circle> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"7\" cy=\"17\" r=\"2\"></circle> <path fill=\"none\" stroke=\"#000\" stroke-width=\"2\" d=\"M14,8 C14,10.41 12.43,10.87 10.56,11.25 C9.09,11.54 7,12.06 7,15 L7,5\"></path></svg>",
"git-fork": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"5.79\" cy=\"2.79\" r=\"1.79\"></circle> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"14.19\" cy=\"2.79\" r=\"1.79\"></circle> <ellipse fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"10.03\" cy=\"16.79\" rx=\"1.79\" ry=\"1.79\"></ellipse> <path fill=\"none\" stroke=\"#000\" stroke-width=\"2\" d=\"M5.79,4.57 L5.79,6.56 C5.79,9.19 10.03,10.22 10.03,13.31 C10.03,14.86 10.04,14.55 10.04,14.55 C10.04,14.37 10.04,14.86 10.04,13.31 C10.04,10.22 14.2,9.19 14.2,6.56 L14.2,4.57\"></path></svg>",
"github-alt": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10,0.5 C4.75,0.5 0.5,4.76 0.5,10.01 C0.5,15.26 4.75,19.51 10,19.51 C15.24,19.51 19.5,15.26 19.5,10.01 C19.5,4.76 15.25,0.5 10,0.5 L10,0.5 Z M12.81,17.69 C12.81,17.69 12.81,17.7 12.79,17.69 C12.47,17.75 12.35,17.59 12.35,17.36 L12.35,16.17 C12.35,15.45 12.09,14.92 11.58,14.56 C12.2,14.51 12.77,14.39 13.26,14.21 C13.87,13.98 14.36,13.69 14.74,13.29 C15.42,12.59 15.76,11.55 15.76,10.17 C15.76,9.25 15.45,8.46 14.83,7.8 C15.1,7.08 15.07,6.29 14.75,5.44 L14.51,5.42 C14.34,5.4 14.06,5.46 13.67,5.61 C13.25,5.78 12.79,6.03 12.31,6.35 C11.55,6.16 10.81,6.05 10.09,6.05 C9.36,6.05 8.61,6.15 7.88,6.35 C7.28,5.96 6.75,5.68 6.26,5.54 C6.07,5.47 5.9,5.44 5.78,5.44 L5.42,5.44 C5.06,6.29 5.04,7.08 5.32,7.8 C4.7,8.46 4.4,9.25 4.4,10.17 C4.4,11.94 4.96,13.16 6.08,13.84 C6.53,14.13 7.05,14.32 7.69,14.43 C8.03,14.5 8.32,14.54 8.55,14.55 C8.07,14.89 7.82,15.42 7.82,16.16 L7.82,17.51 C7.8,17.69 7.7,17.8 7.51,17.8 C4.21,16.74 1.82,13.65 1.82,10.01 C1.82,5.5 5.49,1.83 10,1.83 C14.5,1.83 18.17,5.5 18.17,10.01 C18.18,13.53 15.94,16.54 12.81,17.69 L12.81,17.69 Z\"></path></svg>",
"google-plus": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12.9,9c0,2.7-0.6,5-3.2,6.3c-3.7,1.8-8.1,0.2-9.4-3.6C-1.1,7.6,1.9,3.3,6.1,3c1.7-0.1,3.2,0.3,4.6,1.3 c0.1,0.1,0.3,0.2,0.4,0.4c-0.5,0.5-1.2,1-1.7,1.6c-1-0.8-2.1-1.1-3.5-0.9C5,5.6,4.2,6,3.6,6.7c-1.3,1.3-1.5,3.4-0.5,5 c1,1.7,2.6,2.3,4.6,1.9c1.4-0.3,2.4-1.2,2.6-2.6H6.9V9H12.9z\"></path> <polygon points=\"20,9 20,11 18,11 18,13 16,13 16,11 14,11 14,9 16,9 16,7 18,7 18,9 \"></polygon></svg>",
"minus-circle": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9.5\" cy=\"9.5\" r=\"9\"></circle> <line fill=\"none\" stroke=\"#000\" x1=\"5\" y1=\"9.5\" x2=\"14\" y2=\"9.5\"></line></svg>",
"more-vertical": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"10\" cy=\"3\" r=\"2\"></circle> <circle cx=\"10\" cy=\"10\" r=\"2\"></circle> <circle cx=\"10\" cy=\"17\" r=\"2\"></circle></svg>",
"paint-bucket": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10.21,1 L0,11.21 L8.1,19.31 L18.31,9.1 L10.21,1 L10.21,1 Z M16.89,9.1 L15,11 L1.7,11 L10.21,2.42 L16.89,9.1 Z\"></path> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M6.42,2.33 L11.7,7.61\"></path> <path d=\"M18.49,12 C18.49,12 20,14.06 20,15.36 C20,16.28 19.24,17 18.49,17 L18.49,17 C17.74,17 17,16.28 17,15.36 C17,14.06 18.49,12 18.49,12 L18.49,12 Z\"></path></svg>",
"phone-landscape": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M17,5.5 C17.8,5.5 18.5,6.2 18.5,7 L18.5,14 C18.5,14.8 17.8,15.5 17,15.5 L3,15.5 C2.2,15.5 1.5,14.8 1.5,14 L1.5,7 C1.5,6.2 2.2,5.5 3,5.5 L17,5.5 L17,5.5 L17,5.5 Z\"></path> <circle cx=\"3.8\" cy=\"10.5\" r=\"0.8\"></circle></svg>",
"play-circle": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"8.5 7 13.5 10 8.5 13\"></polygon> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\"></circle></svg>",
"plus-circle": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9.5\" cy=\"9.5\" r=\"9\"></circle> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"5\" x2=\"9.5\" y2=\"14\"></line> <line fill=\"none\" stroke=\"#000\" x1=\"5\" y1=\"9.5\" x2=\"14\" y2=\"9.5\"></line></svg>",
"quote-right": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.27,7.79 C17.27,9.45 16.97,10.43 15.99,12.02 C14.98,13.64 13,15.23 11.56,15.97 L11.1,15.08 C12.34,14.2 13.14,13.51 14.02,11.82 C14.27,11.34 14.41,10.92 14.49,10.54 C14.3,10.58 14.09,10.6 13.88,10.6 C12.06,10.6 10.59,9.12 10.59,7.3 C10.59,5.48 12.06,4 13.88,4 C15.39,4 16.67,5.02 17.05,6.42 C17.19,6.82 17.27,7.27 17.27,7.79 L17.27,7.79 Z\"></path> <path d=\"M8.68,7.79 C8.68,9.45 8.38,10.43 7.4,12.02 C6.39,13.64 4.41,15.23 2.97,15.97 L2.51,15.08 C3.75,14.2 4.55,13.51 5.43,11.82 C5.68,11.34 5.82,10.92 5.9,10.54 C5.71,10.58 5.5,10.6 5.29,10.6 C3.47,10.6 2,9.12 2,7.3 C2,5.48 3.47,4 5.29,4 C6.8,4 8.08,5.02 8.46,6.42 C8.6,6.82 8.68,7.27 8.68,7.79 L8.68,7.79 Z\"></path></svg>",
"sign-in": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"7 2 17 2 17 17 7 17 7 16 16 16 16 3 7 3\"></polygon> <polygon points=\"9.1 13.4 8.5 12.8 11.28 10 4 10 4 9 11.28 9 8.5 6.2 9.1 5.62 13 9.5\"></polygon></svg>",
"sign-out": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"13.1 13.4 12.5 12.8 15.28 10 8 10 8 9 15.28 9 12.5 6.2 13.1 5.62 17 9.5\"></polygon> <polygon points=\"13 2 3 2 3 17 13 17 13 16 4 16 4 3 13 3\"></polygon></svg>",
"tablet-landscape": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M1.5,5 C1.5,4.2 2.2,3.5 3,3.5 L17,3.5 C17.8,3.5 18.5,4.2 18.5,5 L18.5,16 C18.5,16.8 17.8,17.5 17,17.5 L3,17.5 C2.2,17.5 1.5,16.8 1.5,16 L1.5,5 L1.5,5 L1.5,5 Z\"></path> <circle cx=\"3.7\" cy=\"10.5\" r=\"0.8\"></circle></svg>",
"triangle-down": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"5 7 15 7 10 12\"></polygon></svg>",
"triangle-left": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"12 5 7 10 12 15\"></polygon></svg>",
"triangle-right": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"8 5 13 10 8 15\"></polygon></svg>",
"triangle-up": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"5 13 10 8 15 13\"></polygon></svg>",
"video-camera": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"18,6 18,14 12,10 \"></polygon> <rect x=\"2\" y=\"5\" width=\"12\" height=\"10\"></rect></svg>"
};
function plugin(UIkit) {
function plugin(UIkit) {
if (plugin.installed) {
return;
}
UIkit.icon.add({
"500px": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M9.624,11.866c-0.141,0.132,0.479,0.658,0.662,0.418c0.051-0.046,0.607-0.61,0.662-0.664c0,0,0.738,0.719,0.814,0.719\t\tc0.1,0,0.207-0.055,0.322-0.17c0.27-0.269,0.135-0.416,0.066-0.495l-0.631-0.616l0.658-0.668c0.146-0.156,0.021-0.314-0.1-0.449\t\tc-0.182-0.18-0.359-0.226-0.471-0.125l-0.656,0.654l-0.654-0.654c-0.033-0.034-0.08-0.045-0.124-0.045\t\tc-0.079,0-0.191,0.068-0.307,0.181c-0.202,0.202-0.247,0.351-0.133,0.462l0.665,0.665L9.624,11.866z\" /> <path d=\"M11.066,2.884c-1.061,0-2.185,0.248-3.011,0.604c-0.087,0.034-0.141,0.106-0.15,0.205C7.893,3.784,7.919,3.909,7.982,4.066\t\tc0.05,0.136,0.187,0.474,0.452,0.372c0.844-0.326,1.779-0.507,2.633-0.507c0.963,0,1.9,0.191,2.781,0.564\t\tc0.695,0.292,1.357,0.719,2.078,1.34c0.051,0.044,0.105,0.068,0.164,0.068c0.143,0,0.273-0.137,0.389-0.271\t\tc0.191-0.214,0.324-0.395,0.135-0.575c-0.686-0.654-1.436-1.138-2.363-1.533C13.24,3.097,12.168,2.884,11.066,2.884z\" /> <path d=\"M16.43,15.747c-0.092-0.028-0.242,0.05-0.309,0.119l0,0c-0.652,0.652-1.42,1.169-2.268,1.521\t\tc-0.877,0.371-1.814,0.551-2.779,0.551c-0.961,0-1.896-0.189-2.775-0.564c-0.848-0.36-1.612-0.879-2.268-1.53\t\tc-0.682-0.688-1.196-1.455-1.529-2.268c-0.325-0.799-0.471-1.643-0.471-1.643c-0.045-0.24-0.258-0.249-0.567-0.203\t\tc-0.128,0.021-0.519,0.079-0.483,0.36v0.01c0.105,0.644,0.289,1.284,0.545,1.895c0.417,0.969,1.002,1.849,1.756,2.604\t\tc0.757,0.754,1.636,1.34,2.604,1.757C8.901,18.785,9.97,19,11.088,19c1.104,0,2.186-0.215,3.188-0.645\t\tc1.838-0.896,2.604-1.757,2.604-1.757c0.182-0.204,0.227-0.317-0.1-0.643C16.779,15.956,16.525,15.774,16.43,15.747z\" /> <path d=\"M5.633,13.287c0.293,0.71,0.723,1.341,1.262,1.882c0.54,0.54,1.172,0.971,1.882,1.264c0.731,0.303,1.509,0.461,2.298,0.461\t\tc0.801,0,1.578-0.158,2.297-0.461c0.711-0.293,1.344-0.724,1.883-1.264c0.543-0.541,0.971-1.172,1.264-1.882\t\tc0.314-0.721,0.463-1.5,0.463-2.298c0-0.79-0.148-1.569-0.463-2.289c-0.293-0.699-0.721-1.329-1.264-1.881\t\tc-0.539-0.541-1.172-0.959-1.867-1.263c-0.721-0.303-1.5-0.461-2.299-0.461c-0.802,0-1.613,0.159-2.322,0.461\t\tc-0.577,0.25-1.544,0.867-2.119,1.454v0.012V2.108h8.16C15.1,2.104,15.1,1.69,15.1,1.552C15.1,1.417,15.1,1,14.809,1H5.915\t\tC5.676,1,5.527,1.192,5.527,1.384v6.84c0,0.214,0.273,0.372,0.529,0.428c0.5,0.105,0.614-0.056,0.737-0.224l0,0\t\tc0.18-0.273,0.776-0.884,0.787-0.894c0.901-0.905,2.117-1.408,3.416-1.408c1.285,0,2.5,0.501,3.412,1.408\t\tc0.914,0.914,1.408,2.122,1.408,3.405c0,1.288-0.508,2.496-1.408,3.405c-0.9,0.896-2.152,1.406-3.438,1.406\t\tc-0.877,0-1.711-0.229-2.433-0.671v-4.158c0-0.553,0.237-1.151,0.643-1.614c0.462-0.519,1.094-0.799,1.782-0.799\t\tc0.664,0,1.293,0.253,1.758,0.715c0.459,0.459,0.709,1.071,0.709,1.723c0,1.385-1.094,2.468-2.488,2.468\t\tc-0.273,0-0.769-0.121-0.781-0.125c-0.281-0.087-0.405,0.306-0.438,0.436c-0.159,0.496,0.079,0.585,0.123,0.607\t\tc0.452,0.137,0.743,0.157,1.129,0.157c1.973,0,3.572-1.6,3.572-3.57c0-1.964-1.6-3.552-3.572-3.552c-0.97,0-1.872,0.36-2.546,1.038\t\tc-0.656,0.631-1.027,1.487-1.027,2.322v3.438v-0.011c-0.372-0.42-0.732-1.041-0.981-1.682c-0.102-0.248-0.315-0.202-0.607-0.113\t\tc-0.135,0.035-0.519,0.157-0.44,0.439C5.372,12.799,5.577,13.164,5.633,13.287z\" /></svg>",
"album": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"5\" y=\"2\" width=\"10\" height=\"1\" /> <rect x=\"3\" y=\"4\" width=\"14\" height=\"1\" /> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"6.5\" width=\"17\" height=\"11\" /></svg>",
"arrow-down": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"10.5,16.08 5.63,10.66 6.37,10 10.5,14.58 14.63,10 15.37,10.66\" /> <line fill=\"none\" stroke=\"#000\" x1=\"10.5\" y1=\"4\" x2=\"10.5\" y2=\"15\" /></svg>",
"arrow-left": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"10 14 5 9.5 10 5\" /> <line fill=\"none\" stroke=\"#000\" x1=\"16\" y1=\"9.5\" x2=\"5\" y2=\"9.52\" /></svg>",
"arrow-right": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"10 5 15 9.5 10 14\" /> <line fill=\"none\" stroke=\"#000\" x1=\"4\" y1=\"9.5\" x2=\"15\" y2=\"9.5\" /></svg>",
"arrow-up": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"10.5,4 15.37,9.4 14.63,10.08 10.5,5.49 6.37,10.08 5.63,9.4\" /> <line fill=\"none\" stroke=\"#000\" x1=\"10.5\" y1=\"16\" x2=\"10.5\" y2=\"5\" /></svg>",
"ban": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\" /> <line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"4\" y1=\"3.5\" x2=\"16\" y2=\"16.5\" /></svg>",
"behance": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M9.5,10.6c-0.4-0.5-0.9-0.9-1.6-1.1c1.7-1,2.2-3.2,0.7-4.7C7.8,4,6.3,4,5.2,4C3.5,4,1.7,4,0,4v12c1.7,0,3.4,0,5.2,0 c1,0,2.1,0,3.1-0.5C10.2,14.6,10.5,12.3,9.5,10.6L9.5,10.6z M5.6,6.1c1.8,0,1.8,2.7-0.1,2.7c-1,0-2,0-2.9,0V6.1H5.6z M2.6,13.8v-3.1 c1.1,0,2.1,0,3.2,0c2.1,0,2.1,3.2,0.1,3.2L2.6,13.8z\" /> <path d=\"M19.9,10.9C19.7,9.2,18.7,7.6,17,7c-4.2-1.3-7.3,3.4-5.3,7.1c0.9,1.7,2.8,2.3,4.7,2.1c1.7-0.2,2.9-1.3,3.4-2.9h-2.2 c-0.4,1.3-2.4,1.5-3.5,0.6c-0.4-0.4-0.6-1.1-0.6-1.7H20C20,11.7,19.9,10.9,19.9,10.9z M13.5,10.6c0-1.6,2.3-2.7,3.5-1.4 c0.4,0.4,0.5,0.9,0.6,1.4H13.5L13.5,10.6z\" /> <rect x=\"13\" y=\"4\" width=\"5\" height=\"1.4\" /></svg>",
"bell": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M17,15.5 L3,15.5 C2.99,14.61 3.79,13.34 4.1,12.51 C4.58,11.3 4.72,10.35 5.19,7.01 C5.54,4.53 5.89,3.2 7.28,2.16 C8.13,1.56 9.37,1.5 9.81,1.5 L9.96,1.5 C9.96,1.5 11.62,1.41 12.67,2.17 C14.08,3.2 14.42,4.54 14.77,7.02 C15.26,10.35 15.4,11.31 15.87,12.52 C16.2,13.34 17.01,14.61 17,15.5 L17,15.5 Z\" /> <path fill=\"none\" stroke=\"#000\" d=\"M12.39,16 C12.39,17.37 11.35,18.43 9.91,18.43 C8.48,18.43 7.42,17.37 7.42,16\" /></svg>",
"bold": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M5,15.3 C5.66,15.3 5.9,15 5.9,14.53 L5.9,5.5 C5.9,4.92 5.56,4.7 5,4.7 L5,4 L8.95,4 C12.6,4 13.7,5.37 13.7,6.9 C13.7,7.87 13.14,9.17 10.86,9.59 L10.86,9.7 C13.25,9.86 14.29,11.28 14.3,12.54 C14.3,14.47 12.94,16 9,16 L5,16 L5,15.3 Z M9,9.3 C11.19,9.3 11.8,8.5 11.85,7 C11.85,5.65 11.3,4.8 9,4.8 L7.67,4.8 L7.67,9.3 L9,9.3 Z M9.185,15.22 C11.97,15 12.39,14 12.4,12.58 C12.4,11.15 11.39,10 9,10 L7.67,10 L7.67,15 L9.18,15 Z\" /></svg>",
"bolt": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M4.74,20 L7.73,12 L3,12 L15.43,1 L12.32,9 L17.02,9 L4.74,20 L4.74,20 L4.74,20 Z M9.18,11 L7.1,16.39 L14.47,10 L10.86,10 L12.99,4.67 L5.61,11 L9.18,11 L9.18,11 L9.18,11 Z\" /></svg>",
"bookmark": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"5.5 1.5 15.5 1.5 15.5 17.5 10.5 12.5 5.5 17.5\" /></svg>",
"calendar": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M 2,3 2,17 18,17 18,3 2,3 Z M 17,16 3,16 3,8 17,8 17,16 Z M 17,7 3,7 3,4 17,4 17,7 Z\" /> <rect width=\"1\" height=\"3\" x=\"6\" y=\"2\" /> <rect width=\"1\" height=\"3\" x=\"13\" y=\"2\" /></svg>",
"camera": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10.8\" r=\"3.8\" /> <path fill=\"none\" stroke=\"#000\" d=\"M1,4.5 C0.7,4.5 0.5,4.7 0.5,5 L0.5,17 C0.5,17.3 0.7,17.5 1,17.5 L19,17.5 C19.3,17.5 19.5,17.3 19.5,17 L19.5,5 C19.5,4.7 19.3,4.5 19,4.5 L13.5,4.5 L13.5,2.9 C13.5,2.6 13.3,2.5 13,2.5 L7,2.5 C6.7,2.5 6.5,2.6 6.5,2.9 L6.5,4.5 L1,4.5 L1,4.5 Z\" /></svg>",
"cart": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"7.3\" cy=\"17.3\" r=\"1.4\" /> <circle cx=\"13.3\" cy=\"17.3\" r=\"1.4\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"0 2 3.2 4 5.3 12.5 16 12.5 18 6.5 8 6.5\" /></svg>",
"check": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"4,10 8,15 17,4\" /></svg>",
"chevron-down": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" points=\"16 7 10 13 4 7\" /></svg>",
"chevron-left": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" points=\"13 16 7 10 13 4\" /></svg>",
"chevron-right": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" points=\"7 4 13 10 7 16\" /></svg>",
"chevron-up": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" points=\"4 13 10 7 16 13\" /></svg>",
"clock": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\" /> <rect x=\"9\" y=\"4\" width=\"1\" height=\"7\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M13.018,14.197 L9.445,10.625\" /></svg>",
"close": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.06\" d=\"M16,16 L4,4\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.06\" d=\"M16,4 L4,16\" /></svg>",
"cloud-download": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M6.5,14.61 L3.75,14.61 C1.96,14.61 0.5,13.17 0.5,11.39 C0.5,9.76 1.72,8.41 3.3,8.2 C3.38,5.31 5.75,3 8.68,3 C11.19,3 13.31,4.71 13.89,7.02 C14.39,6.8 14.93,6.68 15.5,6.68 C17.71,6.68 19.5,8.45 19.5,10.64 C19.5,12.83 17.71,14.6 15.5,14.6 L12.5,14.6\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"11.75 16 9.5 18.25 7.25 16\" /> <path fill=\"none\" stroke=\"#000\" d=\"M9.5,18 L9.5,9.5\" /></svg>",
"cloud-upload": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M6.5,14.61 L3.75,14.61 C1.96,14.61 0.5,13.17 0.5,11.39 C0.5,9.76 1.72,8.41 3.31,8.2 C3.38,5.31 5.75,3 8.68,3 C11.19,3 13.31,4.71 13.89,7.02 C14.39,6.8 14.93,6.68 15.5,6.68 C17.71,6.68 19.5,8.45 19.5,10.64 C19.5,12.83 17.71,14.6 15.5,14.6 L12.5,14.6\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"7.25 11.75 9.5 9.5 11.75 11.75\" /> <path fill=\"none\" stroke=\"#000\" d=\"M9.5,18 L9.5,9.5\" /></svg>",
"code": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"13,4 19,10 13,16\" /> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"7,4 1,10 7,16\" /></svg>",
"cog": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" cx=\"9.997\" cy=\"10\" r=\"3.31\" /> <path fill=\"none\" stroke=\"#000\" d=\"M18.488,12.285 L16.205,16.237 C15.322,15.496 14.185,15.281 13.303,15.791 C12.428,16.289 12.047,17.373 12.246,18.5 L7.735,18.5 C7.938,17.374 7.553,16.299 6.684,15.791 C5.801,15.27 4.655,15.492 3.773,16.237 L1.5,12.285 C2.573,11.871 3.317,10.999 3.317,9.991 C3.305,8.98 2.573,8.121 1.5,7.716 L3.765,3.784 C4.645,4.516 5.794,4.738 6.687,4.232 C7.555,3.722 7.939,2.637 7.735,1.5 L12.263,1.5 C12.072,2.637 12.441,3.71 13.314,4.22 C14.206,4.73 15.343,4.516 16.225,3.794 L18.487,7.714 C17.404,8.117 16.661,8.988 16.67,10.009 C16.672,11.018 17.415,11.88 18.488,12.285 L18.488,12.285 Z\" /></svg>",
"comment": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M6,18.71 L6,14 L1,14 L1,1 L19,1 L19,14 L10.71,14 L6,18.71 L6,18.71 Z M2,13 L7,13 L7,16.29 L10.29,13 L18,13 L18,2 L2,2 L2,13 L2,13 Z\" /></svg>",
"commenting": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"1.5,1.5 18.5,1.5 18.5,13.5 10.5,13.5 6.5,17.5 6.5,13.5 1.5,13.5\" /> <circle cx=\"10\" cy=\"8\" r=\"1\" /> <circle cx=\"6\" cy=\"8\" r=\"1\" /> <circle cx=\"14\" cy=\"8\" r=\"1\" /></svg>",
"comments": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"2 0.5 19.5 0.5 19.5 13\" /> <path d=\"M5,19.71 L5,15 L0,15 L0,2 L18,2 L18,15 L9.71,15 L5,19.71 L5,19.71 L5,19.71 Z M1,14 L6,14 L6,17.29 L9.29,14 L17,14 L17,3 L1,3 L1,14 L1,14 L1,14 Z\" /></svg>",
"copy": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"2.5\" width=\"12\" height=\"16\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"5 0.5 17.5 0.5 17.5 17\" /></svg>",
"credit-card": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"4.5\" width=\"17\" height=\"12\" /> <rect x=\"1\" y=\"7\" width=\"18\" height=\"3\" /></svg>",
"database": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <ellipse fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"4.64\" rx=\"7.5\" ry=\"3.14\" /> <path fill=\"none\" stroke=\"#000\" d=\"M17.5,8.11 C17.5,9.85 14.14,11.25 10,11.25 C5.86,11.25 2.5,9.84 2.5,8.11\" /> <path fill=\"none\" stroke=\"#000\" d=\"M17.5,11.25 C17.5,12.99 14.14,14.39 10,14.39 C5.86,14.39 2.5,12.98 2.5,11.25\" /> <path fill=\"none\" stroke=\"#000\" d=\"M17.49,4.64 L17.5,14.36 C17.5,16.1 14.14,17.5 10,17.5 C5.86,17.5 2.5,16.09 2.5,14.36 L2.5,4.64\" /></svg>",
"desktop": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"8\" y=\"15\" width=\"1\" height=\"2\" /> <rect x=\"11\" y=\"15\" width=\"1\" height=\"2\" /> <rect x=\"5\" y=\"16\" width=\"10\" height=\"1\" /> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"3.5\" width=\"17\" height=\"11\" /></svg>",
"download": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"14,10 9.5,14.5 5,10\" /> <rect x=\"3\" y=\"17\" width=\"13\" height=\"1\" /> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"13.91\" x2=\"9.5\" y2=\"3\" /></svg>",
"dribbble": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" d=\"M1.3,8.9c0,0,5,0.1,8.6-1c1.4-0.4,2.6-0.9,4-1.9 c1.4-1.1,2.5-2.5,2.5-2.5\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" d=\"M3.9,16.6c0,0,1.7-2.8,3.5-4.2 c1.8-1.3,4-2,5.7-2.2C16,10,19,10.6,19,10.6\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" d=\"M6.9,1.6c0,0,3.3,4.6,4.2,6.8 c0.4,0.9,1.3,3.1,1.9,5.2c0.6,2,0.9,4.4,0.9,4.4\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" cx=\"10\" cy=\"10\" r=\"9\" /></svg>",
"expand": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"13 2 18 2 18 7 17 7 17 3 13 3\" /> <polygon points=\"2 13 3 13 3 17 7 17 7 18 2 18\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M11,9 L17,3\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M3,17 L9,11\" /></svg>",
"facebook": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M11,10h2.6l0.4-3H11V5.3c0-0.9,0.2-1.5,1.5-1.5H14V1.1c-0.3,0-1-0.1-2.1-0.1C9.6,1,8,2.4,8,5v2H5.5v3H8v8h3V10z\" /></svg>",
"file-edit": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M18.65,1.68 C18.41,1.45 18.109,1.33 17.81,1.33 C17.499,1.33 17.209,1.45 16.98,1.68 L8.92,9.76 L8,12.33 L10.55,11.41 L18.651,3.34 C19.12,2.87 19.12,2.15 18.65,1.68 L18.65,1.68 L18.65,1.68 Z\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"16.5 8.482 16.5 18.5 3.5 18.5 3.5 1.5 14.211 1.5\" /></svg>",
"file": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"1.5\" width=\"13\" height=\"17\" /></svg>",
"flickr": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"5.5\" cy=\"9.5\" r=\"3.5\" /> <circle cx=\"14.5\" cy=\"9.5\" r=\"3.5\" /></svg>",
"folder": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"9.5 5.5 8.5 3.5 1.5 3.5 1.5 16.5 18.5 16.5 18.5 5.5\" /></svg>",
"forward": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M2.47,13.11 C4.02,10.02 6.27,7.85 9.04,6.61 C9.48,6.41 10.27,6.13 11,5.91 L11,2 L18.89,9 L11,16 L11,12.13 C9.25,12.47 7.58,13.19 6.02,14.25 C3.03,16.28 1.63,18.54 1.63,18.54 C1.63,18.54 1.38,15.28 2.47,13.11 L2.47,13.11 Z M5.3,13.53 C6.92,12.4 9.04,11.4 12,10.92 L12,13.63 L17.36,9 L12,4.25 L12,6.8 C11.71,6.86 10.86,7.02 9.67,7.49 C6.79,8.65 4.58,10.96 3.49,13.08 C3.18,13.7 2.68,14.87 2.49,16 C3.28,15.05 4.4,14.15 5.3,13.53 L5.3,13.53 Z\" /></svg>",
"foursquare": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M15.23,2 C15.96,2 16.4,2.41 16.5,2.86 C16.57,3.15 16.56,3.44 16.51,3.73 C16.46,4.04 14.86,11.72 14.75,12.03 C14.56,12.56 14.16,12.82 13.61,12.83 C13.03,12.84 11.09,12.51 10.69,13 C10.38,13.38 7.79,16.39 6.81,17.53 C6.61,17.76 6.4,17.96 6.08,17.99 C5.68,18.04 5.29,17.87 5.17,17.45 C5.12,17.28 5.1,17.09 5.1,16.91 C5.1,12.4 4.86,7.81 5.11,3.31 C5.17,2.5 5.81,2.12 6.53,2 L15.23,2 L15.23,2 Z M9.76,11.42 C9.94,11.19 10.17,11.1 10.45,11.1 L12.86,11.1 C13.12,11.1 13.31,10.94 13.36,10.69 C13.37,10.64 13.62,9.41 13.74,8.83 C13.81,8.52 13.53,8.28 13.27,8.28 C12.35,8.29 11.42,8.28 10.5,8.28 C9.84,8.28 9.83,7.69 9.82,7.21 C9.8,6.85 10.13,6.55 10.5,6.55 C11.59,6.56 12.67,6.55 13.76,6.55 C14.03,6.55 14.23,6.4 14.28,6.14 C14.34,5.87 14.67,4.29 14.67,4.29 C14.67,4.29 14.82,3.74 14.19,3.74 L7.34,3.74 C7,3.75 6.84,4.02 6.84,4.33 C6.84,7.58 6.85,14.95 6.85,14.99 C6.87,15 8.89,12.51 9.76,11.42 L9.76,11.42 Z\" /></svg>",
"future": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline points=\"19 2 18 2 18 6 14 6 14 7 19 7 19 2\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M18,6.548 C16.709,3.29 13.354,1 9.6,1 C4.6,1 0.6,5 0.6,10 C0.6,15 4.6,19 9.6,19 C14.6,19 18.6,15 18.6,10\" /> <rect x=\"9\" y=\"4\" width=\"1\" height=\"7\" /> <path d=\"M13.018,14.197 L9.445,10.625\" fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" /></svg>",
"git-branch": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"7\" cy=\"3\" r=\"2\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"14\" cy=\"6\" r=\"2\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"7\" cy=\"17\" r=\"2\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"2\" d=\"M14,8 C14,10.41 12.43,10.87 10.56,11.25 C9.09,11.54 7,12.06 7,15 L7,5\" /></svg>",
"git-fork": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"5.79\" cy=\"2.79\" r=\"1.79\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"14.19\" cy=\"2.79\" r=\"1.79\" /> <ellipse fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" cx=\"10.03\" cy=\"16.79\" rx=\"1.79\" ry=\"1.79\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"2\" d=\"M5.79,4.57 L5.79,6.56 C5.79,9.19 10.03,10.22 10.03,13.31 C10.03,14.86 10.04,14.55 10.04,14.55 C10.04,14.37 10.04,14.86 10.04,13.31 C10.04,10.22 14.2,9.19 14.2,6.56 L14.2,4.57\" /></svg>",
"github-alt": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10,0.5 C4.75,0.5 0.5,4.76 0.5,10.01 C0.5,15.26 4.75,19.51 10,19.51 C15.24,19.51 19.5,15.26 19.5,10.01 C19.5,4.76 15.25,0.5 10,0.5 L10,0.5 Z M12.81,17.69 C12.81,17.69 12.81,17.7 12.79,17.69 C12.47,17.75 12.35,17.59 12.35,17.36 L12.35,16.17 C12.35,15.45 12.09,14.92 11.58,14.56 C12.2,14.51 12.77,14.39 13.26,14.21 C13.87,13.98 14.36,13.69 14.74,13.29 C15.42,12.59 15.76,11.55 15.76,10.17 C15.76,9.25 15.45,8.46 14.83,7.8 C15.1,7.08 15.07,6.29 14.75,5.44 L14.51,5.42 C14.34,5.4 14.06,5.46 13.67,5.61 C13.25,5.78 12.79,6.03 12.31,6.35 C11.55,6.16 10.81,6.05 10.09,6.05 C9.36,6.05 8.61,6.15 7.88,6.35 C7.28,5.96 6.75,5.68 6.26,5.54 C6.07,5.47 5.9,5.44 5.78,5.44 L5.42,5.44 C5.06,6.29 5.04,7.08 5.32,7.8 C4.7,8.46 4.4,9.25 4.4,10.17 C4.4,11.94 4.96,13.16 6.08,13.84 C6.53,14.13 7.05,14.32 7.69,14.43 C8.03,14.5 8.32,14.54 8.55,14.55 C8.07,14.89 7.82,15.42 7.82,16.16 L7.82,17.51 C7.8,17.69 7.7,17.8 7.51,17.8 C4.21,16.74 1.82,13.65 1.82,10.01 C1.82,5.5 5.49,1.83 10,1.83 C14.5,1.83 18.17,5.5 18.17,10.01 C18.18,13.53 15.94,16.54 12.81,17.69 L12.81,17.69 Z\" /></svg>",
"github": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10,1 C5.03,1 1,5.03 1,10 C1,13.98 3.58,17.35 7.16,18.54 C7.61,18.62 7.77,18.34 7.77,18.11 C7.77,17.9 7.76,17.33 7.76,16.58 C5.26,17.12 4.73,15.37 4.73,15.37 C4.32,14.33 3.73,14.05 3.73,14.05 C2.91,13.5 3.79,13.5 3.79,13.5 C4.69,13.56 5.17,14.43 5.17,14.43 C5.97,15.8 7.28,15.41 7.79,15.18 C7.87,14.6 8.1,14.2 8.36,13.98 C6.36,13.75 4.26,12.98 4.26,9.53 C4.26,8.55 4.61,7.74 5.19,7.11 C5.1,6.88 4.79,5.97 5.28,4.73 C5.28,4.73 6.04,4.49 7.75,5.65 C8.47,5.45 9.24,5.35 10,5.35 C10.76,5.35 11.53,5.45 12.25,5.65 C13.97,4.48 14.72,4.73 14.72,4.73 C15.21,5.97 14.9,6.88 14.81,7.11 C15.39,7.74 15.73,8.54 15.73,9.53 C15.73,12.99 13.63,13.75 11.62,13.97 C11.94,14.25 12.23,14.8 12.23,15.64 C12.23,16.84 12.22,17.81 12.22,18.11 C12.22,18.35 12.38,18.63 12.84,18.54 C16.42,17.35 19,13.98 19,10 C19,5.03 14.97,1 10,1 L10,1 Z\" /></svg>",
"gitter": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"3.5\" y=\"1\" width=\"1.531\" height=\"11.471\" /> <rect x=\"7.324\" y=\"4.059\" width=\"1.529\" height=\"15.294\" /> <rect x=\"11.148\" y=\"4.059\" width=\"1.527\" height=\"15.294\" /> <rect x=\"14.971\" y=\"4.059\" width=\"1.529\" height=\"8.412\" /></svg>",
"google-plus": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12.9,9c0,2.7-0.6,5-3.2,6.3c-3.7,1.8-8.1,0.2-9.4-3.6C-1.1,7.6,1.9,3.3,6.1,3c1.7-0.1,3.2,0.3,4.6,1.3 c0.1,0.1,0.3,0.2,0.4,0.4c-0.5,0.5-1.2,1-1.7,1.6c-1-0.8-2.1-1.1-3.5-0.9C5,5.6,4.2,6,3.6,6.7c-1.3,1.3-1.5,3.4-0.5,5 c1,1.7,2.6,2.3,4.6,1.9c1.4-0.3,2.4-1.2,2.6-2.6H6.9V9H12.9z\" /> <polygon points=\"20,9 20,11 18,11 18,13 16,13 16,11 14,11 14,9 16,9 16,7 18,7 18,9 \" /></svg>",
"google": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.86,9.09 C18.46,12.12 17.14,16.05 13.81,17.56 C9.45,19.53 4.13,17.68 2.47,12.87 C0.68,7.68 4.22,2.42 9.5,2.03 C11.57,1.88 13.42,2.37 15.05,3.65 C15.22,3.78 15.37,3.93 15.61,4.14 C14.9,4.81 14.23,5.45 13.5,6.14 C12.27,5.08 10.84,4.72 9.28,4.98 C8.12,5.17 7.16,5.76 6.37,6.63 C4.88,8.27 4.62,10.86 5.76,12.82 C6.95,14.87 9.17,15.8 11.57,15.25 C13.27,14.87 14.76,13.33 14.89,11.75 L10.51,11.75 L10.51,9.09 L17.86,9.09 L17.86,9.09 Z\" /></svg>",
"grid": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"2\" y=\"2\" width=\"3\" height=\"3\" /> <rect x=\"8\" y=\"2\" width=\"3\" height=\"3\" /> <rect x=\"14\" y=\"2\" width=\"3\" height=\"3\" /> <rect x=\"2\" y=\"8\" width=\"3\" height=\"3\" /> <rect x=\"8\" y=\"8\" width=\"3\" height=\"3\" /> <rect x=\"14\" y=\"8\" width=\"3\" height=\"3\" /> <rect x=\"2\" y=\"14\" width=\"3\" height=\"3\" /> <rect x=\"8\" y=\"14\" width=\"3\" height=\"3\" /> <rect x=\"14\" y=\"14\" width=\"3\" height=\"3\" /></svg>",
"happy": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"13\" cy=\"7\" r=\"1\" /> <circle cx=\"7\" cy=\"7\" r=\"1\" /> <circle fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"10\" r=\"8.5\" /> <path fill=\"none\" stroke=\"#000\" d=\"M14.6,11.4 C13.9,13.3 12.1,14.5 10,14.5 C7.9,14.5 6.1,13.3 5.4,11.4\" /></svg>",
"hashtag": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M15.431,8 L15.661,7 L12.911,7 L13.831,3 L12.901,3 L11.98,7 L9.29,7 L10.21,3 L9.281,3 L8.361,7 L5.23,7 L5,8 L8.13,8 L7.21,12 L4.23,12 L4,13 L6.98,13 L6.061,17 L6.991,17 L7.911,13 L10.601,13 L9.681,17 L10.611,17 L11.531,13 L14.431,13 L14.661,12 L11.76,12 L12.681,8 L15.431,8 Z M10.831,12 L8.141,12 L9.061,8 L11.75,8 L10.831,12 Z\" /></svg>",
"heart": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.03\" d=\"M10,4 C10,4 8.1,2 5.74,2 C3.38,2 1,3.55 1,6.73 C1,8.84 2.67,10.44 2.67,10.44 L10,18 L17.33,10.44 C17.33,10.44 19,8.84 19,6.73 C19,3.55 16.62,2 14.26,2 C11.9,2 10,4 10,4 L10,4 Z\" /></svg>",
"history": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"#000\" points=\"1 2 2 2 2 6 6 6 6 7 1 7 1 2\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M2.1,6.548 C3.391,3.29 6.746,1 10.5,1 C15.5,1 19.5,5 19.5,10 C19.5,15 15.5,19 10.5,19 C5.5,19 1.5,15 1.5,10\" /> <rect x=\"9\" y=\"4\" width=\"1\" height=\"7\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M13.018,14.197 L9.445,10.625\" id=\"Shape\" /></svg>",
"home": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"18.65 11.35 10 2.71 1.35 11.35 0.65 10.65 10 1.29 19.35 10.65\" /> <polygon points=\"15 4 18 4 18 7 17 7 17 5 15 5\" /> <polygon points=\"3 11 4 11 4 18 7 18 7 12 12 12 12 18 16 18 16 11 17 11 17 19 11 19 11 13 8 13 8 19 3 19\" /></svg>",
"image": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"16.1\" cy=\"6.1\" r=\"1.1\" /> <rect fill=\"none\" stroke=\"#000\" x=\"0.5\" y=\"2.5\" width=\"19\" height=\"15\" /> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"4,13 8,9 13,14\" /> <polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"11,12 12.5,10.5 16,14\" /></svg>",
"info": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12.13,11.59 C11.97,12.84 10.35,14.12 9.1,14.16 C6.17,14.2 9.89,9.46 8.74,8.37 C9.3,8.16 10.62,7.83 10.62,8.81 C10.62,9.63 10.12,10.55 9.88,11.32 C8.66,15.16 12.13,11.15 12.14,11.18 C12.16,11.21 12.16,11.35 12.13,11.59 C12.08,11.95 12.16,11.35 12.13,11.59 L12.13,11.59 Z M11.56,5.67 C11.56,6.67 9.36,7.15 9.36,6.03 C9.36,5 11.56,4.54 11.56,5.67 L11.56,5.67 Z\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\" /></svg>",
"instagram": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M13.55,1H6.46C3.45,1,1,3.44,1,6.44v7.12c0,3,2.45,5.44,5.46,5.44h7.08c3.02,0,5.46-2.44,5.46-5.44V6.44 C19.01,3.44,16.56,1,13.55,1z M17.5,14c0,1.93-1.57,3.5-3.5,3.5H6c-1.93,0-3.5-1.57-3.5-3.5V6c0-1.93,1.57-3.5,3.5-3.5h8 c1.93,0,3.5,1.57,3.5,3.5V14z\" /> <circle cx=\"14.87\" cy=\"5.26\" r=\"1.09\" /> <path d=\"M10.03,5.45c-2.55,0-4.63,2.06-4.63,4.6c0,2.55,2.07,4.61,4.63,4.61c2.56,0,4.63-2.061,4.63-4.61 C14.65,7.51,12.58,5.45,10.03,5.45L10.03,5.45L10.03,5.45z M10.08,13c-1.66,0-3-1.34-3-2.99c0-1.65,1.34-2.99,3-2.99s3,1.34,3,2.99 C13.08,11.66,11.74,13,10.08,13L10.08,13L10.08,13z\" /></svg>",
"italic": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12.63,5.48 L10.15,14.52 C10,15.08 10.37,15.25 11.92,15.3 L11.72,16 L6,16 L6.2,15.31 C7.78,15.26 8.19,15.09 8.34,14.53 L10.82,5.49 C10.97,4.92 10.63,4.76 9.09,4.71 L9.28,4 L15,4 L14.81,4.69 C13.23,4.75 12.78,4.91 12.63,5.48 L12.63,5.48 Z\" /></svg>",
"joomla": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M7.8,13.4l1.7-1.7L5.9,8c-0.6-0.5-0.6-1.5,0-2c0.6-0.6,1.4-0.6,2,0l1.7-1.7c-1-1-2.3-1.3-3.6-1C5.8,2.2,4.8,1.4,3.7,1.4 c-1.3,0-2.3,1-2.3,2.3c0,1.1,0.8,2,1.8,2.3c-0.4,1.3-0.1,2.8,1,3.8L7.8,13.4L7.8,13.4z\" /> <path d=\"M10.2,4.3c1-1,2.5-1.4,3.8-1c0.2-1.1,1.1-2,2.3-2c1.3,0,2.3,1,2.3,2.3c0,1.2-0.9,2.2-2,2.3c0.4,1.3,0,2.8-1,3.8L13.9,8 c0.6-0.5,0.6-1.5,0-2c-0.5-0.6-1.5-0.6-2,0L8.2,9.7L6.5,8\" /> <path d=\"M14.1,16.8c-1.3,0.4-2.8,0.1-3.8-1l1.7-1.7c0.6,0.6,1.5,0.6,2,0c0.5-0.6,0.6-1.5,0-2l-3.7-3.7L12,6.7l3.7,3.7 c1,1,1.3,2.4,1,3.6c1.1,0.2,2,1.1,2,2.3c0,1.3-1,2.3-2.3,2.3C15.2,18.6,14.3,17.8,14.1,16.8\" /> <path d=\"M13.2,12.2l-3.7,3.7c-1,1-2.4,1.3-3.6,1c-0.2,1-1.2,1.8-2.2,1.8c-1.3,0-2.3-1-2.3-2.3c0-1.1,0.8-2,1.8-2.3 c-0.3-1.3,0-2.7,1-3.7l1.7,1.7c-0.6,0.6-0.6,1.5,0,2c0.6,0.6,1.4,0.6,2,0l3.7-3.7\" /></svg>",
"laptop": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect y=\"16\" width=\"20\" height=\"1\" /> <rect fill=\"none\" stroke=\"#000\" x=\"2.5\" y=\"4.5\" width=\"15\" height=\"10\" /></svg>",
"lifesaver": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10,0.5 C4.76,0.5 0.5,4.76 0.5,10 C0.5,15.24 4.76,19.5 10,19.5 C15.24,19.5 19.5,15.24 19.5,10 C19.5,4.76 15.24,0.5 10,0.5 L10,0.5 Z M10,1.5 C11.49,1.5 12.89,1.88 14.11,2.56 L11.85,4.82 C11.27,4.61 10.65,4.5 10,4.5 C9.21,4.5 8.47,4.67 7.79,4.96 L5.58,2.75 C6.87,1.95 8.38,1.5 10,1.5 L10,1.5 Z M4.96,7.8 C4.67,8.48 4.5,9.21 4.5,10 C4.5,10.65 4.61,11.27 4.83,11.85 L2.56,14.11 C1.88,12.89 1.5,11.49 1.5,10 C1.5,8.38 1.95,6.87 2.75,5.58 L4.96,7.79 L4.96,7.8 L4.96,7.8 Z M10,18.5 C8.25,18.5 6.62,17.97 5.27,17.06 L7.46,14.87 C8.22,15.27 9.08,15.5 10,15.5 C10.79,15.5 11.53,15.33 12.21,15.04 L14.42,17.25 C13.13,18.05 11.62,18.5 10,18.5 L10,18.5 Z M10,14.5 C7.52,14.5 5.5,12.48 5.5,10 C5.5,7.52 7.52,5.5 10,5.5 C12.48,5.5 14.5,7.52 14.5,10 C14.5,12.48 12.48,14.5 10,14.5 L10,14.5 Z M15.04,12.21 C15.33,11.53 15.5,10.79 15.5,10 C15.5,9.08 15.27,8.22 14.87,7.46 L17.06,5.27 C17.97,6.62 18.5,8.25 18.5,10 C18.5,11.62 18.05,13.13 17.25,14.42 L15.04,12.21 L15.04,12.21 Z\" /></svg>",
"link": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M7.925,11.875 L11.925,7.975\" /></svg>",
"linkedin": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M5.77,17.89 L5.77,7.17 L2.21,7.17 L2.21,17.89 L5.77,17.89 L5.77,17.89 Z M3.99,5.71 C5.23,5.71 6.01,4.89 6.01,3.86 C5.99,2.8 5.24,2 4.02,2 C2.8,2 2,2.8 2,3.85 C2,4.88 2.77,5.7 3.97,5.7 L3.99,5.7 L3.99,5.71 L3.99,5.71 Z\" /> <path d=\"M7.75,17.89 L11.31,17.89 L11.31,11.9 C11.31,11.58 11.33,11.26 11.43,11.03 C11.69,10.39 12.27,9.73 13.26,9.73 C14.55,9.73 15.06,10.71 15.06,12.15 L15.06,17.89 L18.62,17.89 L18.62,11.74 C18.62,8.45 16.86,6.92 14.52,6.92 C12.6,6.92 11.75,7.99 11.28,8.73 L11.3,8.73 L11.3,7.17 L7.75,7.17 C7.79,8.17 7.75,17.89 7.75,17.89 L7.75,17.89 L7.75,17.89 Z\" /></svg>",
"list": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"6\" y=\"4\" width=\"12\" height=\"1\" /> <rect x=\"6\" y=\"9\" width=\"12\" height=\"1\" /> <rect x=\"6\" y=\"14\" width=\"12\" height=\"1\" /> <rect x=\"2\" y=\"4\" width=\"2\" height=\"1\" /> <rect x=\"2\" y=\"9\" width=\"2\" height=\"1\" /> <rect x=\"2\" y=\"14\" width=\"2\" height=\"1\" /></svg>",
"location": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" d=\"M10,0.5 C6.41,0.5 3.5,3.39 3.5,6.98 C3.5,11.83 10,19 10,19 C10,19 16.5,11.83 16.5,6.98 C16.5,3.39 13.59,0.5 10,0.5 L10,0.5 Z\" /> <circle fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"6.8\" r=\"2.3\" /></svg>",
"lock": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" height=\"10\" width=\"13\" y=\"8.5\" x=\"3.5\" /> <path fill=\"none\" stroke=\"#000\" d=\"M6.5,8 L6.5,4.88 C6.5,3.01 8.07,1.5 10,1.5 C11.93,1.5 13.5,3.01 13.5,4.88 L13.5,8\" /></svg>",
"mail": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"1.4,6.5 10,11 18.6,6.5\" /> <path d=\"M 1,4 1,16 19,16 19,4 1,4 Z M 18,15 2,15 2,5 18,5 18,15 Z\" /></svg>",
"menu": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"2\" y=\"4\" width=\"16\" height=\"1\" /> <rect x=\"2\" y=\"9\" width=\"16\" height=\"1\" /> <rect x=\"2\" y=\"14\" width=\"16\" height=\"1\" /></svg>",
"minus-circle": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9.5\" cy=\"9.5\" r=\"9\" /> <line fill=\"none\" stroke=\"#000\" x1=\"5\" y1=\"9.5\" x2=\"14\" y2=\"9.5\" /></svg>",
"minus": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect height=\"1\" width=\"18\" y=\"9\" x=\"1\" /></svg>",
"more-vertical": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"10\" cy=\"3\" r=\"2\" /> <circle cx=\"10\" cy=\"10\" r=\"2\" /> <circle cx=\"10\" cy=\"17\" r=\"2\" /></svg>",
"more": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"3\" cy=\"10\" r=\"2\" /> <circle cx=\"10\" cy=\"10\" r=\"2\" /> <circle cx=\"17\" cy=\"10\" r=\"2\" /></svg>",
"move": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"4,5 1,5 1,9 2,9 2,6 4,6 \" /> <polygon points=\"1,16 2,16 2,18 4,18 4,19 1,19 \" /> <polygon points=\"14,16 14,19 11,19 11,18 13,18 13,16 \" /> <rect fill=\"none\" stroke=\"#000\" x=\"5.5\" y=\"1.5\" width=\"13\" height=\"13\" /> <rect x=\"1\" y=\"11\" width=\"1\" height=\"3\" /> <rect x=\"6\" y=\"18\" width=\"3\" height=\"1\" /></svg>",
"nut": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"2.5,5.7 10,1.3 17.5,5.7 17.5,14.3 10,18.7 2.5,14.3\" /> <circle fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"10\" r=\"3.5\" /></svg>",
"pagekit": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"3,1 17,1 17,16 10,16 10,13 14,13 14,4 6,4 6,16 10,16 10,19 3,19 \" /></svg>",
"paint-bucket": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10.21,1 L0,11.21 L8.1,19.31 L18.31,9.1 L10.21,1 L10.21,1 Z M16.89,9.1 L15,11 L1.7,11 L10.21,2.42 L16.89,9.1 Z\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M6.42,2.33 L11.7,7.61\" /> <path d=\"M18.49,12 C18.49,12 20,14.06 20,15.36 C20,16.28 19.24,17 18.49,17 L18.49,17 C17.74,17 17,16.28 17,15.36 C17,14.06 18.49,12 18.49,12 L18.49,12 Z\" /></svg>",
"pencil": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M17.25,6.01 L7.12,16.1 L3.82,17.2 L5.02,13.9 L15.12,3.88 C15.71,3.29 16.66,3.29 17.25,3.88 C17.83,4.47 17.83,5.42 17.25,6.01 L17.25,6.01 Z\" /> <path fill=\"none\" stroke=\"#000\" d=\"M15.98,7.268 L13.851,5.148\" /></svg>",
"phone-landscape": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M17,5.5 C17.8,5.5 18.5,6.2 18.5,7 L18.5,14 C18.5,14.8 17.8,15.5 17,15.5 L3,15.5 C2.2,15.5 1.5,14.8 1.5,14 L1.5,7 C1.5,6.2 2.2,5.5 3,5.5 L17,5.5 L17,5.5 L17,5.5 Z\" /> <circle cx=\"3.8\" cy=\"10.5\" r=\"0.8\" /></svg>",
"phone": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M15.5,17 C15.5,17.8 14.8,18.5 14,18.5 L7,18.5 C6.2,18.5 5.5,17.8 5.5,17 L5.5,3 C5.5,2.2 6.2,1.5 7,1.5 L14,1.5 C14.8,1.5 15.5,2.2 15.5,3 L15.5,17 L15.5,17 L15.5,17 Z\" /> <circle cx=\"10.5\" cy=\"16.5\" r=\"0.8\" /></svg>",
"pinterest": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10.21,1 C5.5,1 3,4.16 3,7.61 C3,9.21 3.85,11.2 5.22,11.84 C5.43,11.94 5.54,11.89 5.58,11.69 C5.62,11.54 5.8,10.8 5.88,10.45 C5.91,10.34 5.89,10.24 5.8,10.14 C5.36,9.59 5,8.58 5,7.65 C5,5.24 6.82,2.91 9.93,2.91 C12.61,2.91 14.49,4.74 14.49,7.35 C14.49,10.3 13,12.35 11.06,12.35 C9.99,12.35 9.19,11.47 9.44,10.38 C9.75,9.08 10.35,7.68 10.35,6.75 C10.35,5.91 9.9,5.21 8.97,5.21 C7.87,5.21 6.99,6.34 6.99,7.86 C6.99,8.83 7.32,9.48 7.32,9.48 C7.32,9.48 6.24,14.06 6.04,14.91 C5.7,16.35 6.08,18.7 6.12,18.9 C6.14,19.01 6.26,19.05 6.33,18.95 C6.44,18.81 7.74,16.85 8.11,15.44 C8.24,14.93 8.79,12.84 8.79,12.84 C9.15,13.52 10.19,14.09 11.29,14.09 C14.58,14.09 16.96,11.06 16.96,7.3 C16.94,3.7 14,1 10.21,1\" /></svg>",
"play-circle": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"8.5 7 13.5 10 8.5 13\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\" /></svg>",
"play": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" points=\"6.5,5 14.5,10 6.5,15\" /></svg>",
"plus-circle": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9.5\" cy=\"9.5\" r=\"9\" /> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"5\" x2=\"9.5\" y2=\"14\" /> <line fill=\"none\" stroke=\"#000\" x1=\"5\" y1=\"9.5\" x2=\"14\" y2=\"9.5\" /></svg>",
"plus": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"9\" y=\"1\" width=\"1\" height=\"17\" /> <rect x=\"1\" y=\"9\" width=\"17\" height=\"1\" /></svg>",
"pull": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"6.85,8 9.5,10.6 12.15,8 12.85,8.7 9.5,12 6.15,8.7\" /> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"11\" x2=\"9.5\" y2=\"2\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"6,5.5 3.5,5.5 3.5,18.5 15.5,18.5 15.5,5.5 13,5.5\" /></svg>",
"push": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"12.15,4 9.5,1.4 6.85,4 6.15,3.3 9.5,0 12.85,3.3\" /> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"10\" x2=\"9.5\" y2=\"1\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"6 5.5 3.5 5.5 3.5 18.5 15.5 18.5 15.5 5.5 13 5.5\" /></svg>",
"question": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\" /> <circle cx=\"10.44\" cy=\"14.42\" r=\"1.05\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" d=\"M8.17,7.79 C8.17,4.75 12.72,4.73 12.72,7.72 C12.72,8.67 11.81,9.15 11.23,9.75 C10.75,10.24 10.51,10.73 10.45,11.4 C10.44,11.53 10.43,11.64 10.43,11.75\" /></svg>",
"quote-right": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.27,7.79 C17.27,9.45 16.97,10.43 15.99,12.02 C14.98,13.64 13,15.23 11.56,15.97 L11.1,15.08 C12.34,14.2 13.14,13.51 14.02,11.82 C14.27,11.34 14.41,10.92 14.49,10.54 C14.3,10.58 14.09,10.6 13.88,10.6 C12.06,10.6 10.59,9.12 10.59,7.3 C10.59,5.48 12.06,4 13.88,4 C15.39,4 16.67,5.02 17.05,6.42 C17.19,6.82 17.27,7.27 17.27,7.79 L17.27,7.79 Z\" /> <path d=\"M8.68,7.79 C8.68,9.45 8.38,10.43 7.4,12.02 C6.39,13.64 4.41,15.23 2.97,15.97 L2.51,15.08 C3.75,14.2 4.55,13.51 5.43,11.82 C5.68,11.34 5.82,10.92 5.9,10.54 C5.71,10.58 5.5,10.6 5.29,10.6 C3.47,10.6 2,9.12 2,7.3 C2,5.48 3.47,4 5.29,4 C6.8,4 8.08,5.02 8.46,6.42 C8.6,6.82 8.68,7.27 8.68,7.79 L8.68,7.79 Z\" /></svg>",
"receiver": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" d=\"M6.189,13.611C8.134,15.525 11.097,18.239 13.867,18.257C16.47,18.275 18.2,16.241 18.2,16.241L14.509,12.551L11.539,13.639L6.189,8.29L7.313,5.355L3.76,1.8C3.76,1.8 1.732,3.537 1.7,6.092C1.667,8.809 4.347,11.738 6.189,13.611\" /></svg>",
"refresh": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M17.08,11.15 C17.09,11.31 17.1,11.47 17.1,11.64 C17.1,15.53 13.94,18.69 10.05,18.69 C6.16,18.68 3,15.53 3,11.63 C3,7.74 6.16,4.58 10.05,4.58 C10.9,4.58 11.71,4.73 12.46,5\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"9.9 2 12.79 4.89 9.79 7.9\" /></svg>",
"reply": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.7,13.11 C16.12,10.02 13.84,7.85 11.02,6.61 C10.57,6.41 9.75,6.13 9,5.91 L9,2 L1,9 L9,16 L9,12.13 C10.78,12.47 12.5,13.19 14.09,14.25 C17.13,16.28 18.56,18.54 18.56,18.54 C18.56,18.54 18.81,15.28 17.7,13.11 L17.7,13.11 Z M14.82,13.53 C13.17,12.4 11.01,11.4 8,10.92 L8,13.63 L2.55,9 L8,4.25 L8,6.8 C8.3,6.86 9.16,7.02 10.37,7.49 C13.3,8.65 15.54,10.96 16.65,13.08 C16.97,13.7 17.48,14.86 17.68,16 C16.87,15.05 15.73,14.15 14.82,13.53 L14.82,13.53 Z\" /></svg>",
"rss": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"3.12\" cy=\"16.8\" r=\"1.85\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M1.5,8.2 C1.78,8.18 2.06,8.16 2.35,8.16 C7.57,8.16 11.81,12.37 11.81,17.57 C11.81,17.89 11.79,18.19 11.76,18.5\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M1.5,2.52 C1.78,2.51 2.06,2.5 2.35,2.5 C10.72,2.5 17.5,9.24 17.5,17.57 C17.5,17.89 17.49,18.19 17.47,18.5\" /></svg>",
"search": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9\" cy=\"9\" r=\"7\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M14,14 L18,18 L14,14 Z\" /></svg>",
"server": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"3\" y=\"3\" width=\"1\" height=\"2\" /> <rect x=\"5\" y=\"3\" width=\"1\" height=\"2\" /> <rect x=\"7\" y=\"3\" width=\"1\" height=\"2\" /> <rect x=\"16\" y=\"3\" width=\"1\" height=\"1\" /> <rect x=\"16\" y=\"10\" width=\"1\" height=\"1\" /> <circle fill=\"none\" stroke=\"#000\" cx=\"9.9\" cy=\"17.4\" r=\"1.4\" /> <rect x=\"3\" y=\"10\" width=\"1\" height=\"2\" /> <rect x=\"5\" y=\"10\" width=\"1\" height=\"2\" /> <rect x=\"9.5\" y=\"14\" width=\"1\" height=\"2\" /> <rect x=\"3\" y=\"17\" width=\"6\" height=\"1\" /> <rect x=\"11\" y=\"17\" width=\"6\" height=\"1\" /> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"1.5\" width=\"17\" height=\"5\" /> <rect fill=\"none\" stroke=\"#000\" x=\"1.5\" y=\"8.5\" width=\"17\" height=\"5\" /></svg>",
"settings": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <ellipse fill=\"none\" stroke=\"#000\" cx=\"6.11\" cy=\"3.55\" rx=\"2.11\" ry=\"2.15\" /> <ellipse fill=\"none\" stroke=\"#000\" cx=\"6.11\" cy=\"15.55\" rx=\"2.11\" ry=\"2.15\" /> <circle fill=\"none\" stroke=\"#000\" cx=\"13.15\" cy=\"9.55\" r=\"2.15\" /> <rect x=\"1\" y=\"3\" width=\"3\" height=\"1\" /> <rect x=\"10\" y=\"3\" width=\"8\" height=\"1\" /> <rect x=\"1\" y=\"9\" width=\"8\" height=\"1\" /> <rect x=\"15\" y=\"9\" width=\"3\" height=\"1\" /> <rect x=\"1\" y=\"15\" width=\"3\" height=\"1\" /> <rect x=\"10\" y=\"15\" width=\"8\" height=\"1\" /></svg>",
"shrink": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"11 4 12 4 12 8 16 8 16 9 11 9\" /> <polygon points=\"4 11 9 11 9 16 8 16 8 12 4 12\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M12,8 L18,2\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M2,18 L8,12\" /></svg>",
"sign-in": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"7 2 17 2 17 17 7 17 7 16 16 16 16 3 7 3\" /> <polygon points=\"9.1 13.4 8.5 12.8 11.28 10 4 10 4 9 11.28 9 8.5 6.2 9.1 5.62 13 9.5\" /></svg>",
"sign-out": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"13.1 13.4 12.5 12.8 15.28 10 8 10 8 9 15.28 9 12.5 6.2 13.1 5.62 17 9.5\" /> <polygon points=\"13 2 3 2 3 17 13 17 13 16 4 16 4 3 13 3\" /></svg>",
"social": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"13.4\" y1=\"14\" x2=\"6.3\" y2=\"10.7\" /> <line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"13.5\" y1=\"5.5\" x2=\"6.5\" y2=\"8.8\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"15.5\" cy=\"4.6\" r=\"2.3\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"15.5\" cy=\"14.8\" r=\"2.3\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"4.5\" cy=\"9.8\" r=\"2.3\" /></svg>",
"soundcloud": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.2,9.4c-0.4,0-0.8,0.1-1.101,0.2c-0.199-2.5-2.399-4.5-5-4.5c-0.6,0-1.2,0.1-1.7,0.3C9.2,5.5,9.1,5.6,9.1,5.6V15h8 c1.601,0,2.801-1.2,2.801-2.8C20,10.7,18.7,9.4,17.2,9.4L17.2,9.4z\" /> <rect x=\"6\" y=\"6.5\" width=\"1.5\" height=\"8.5\" /> <rect x=\"3\" y=\"8\" width=\"1.5\" height=\"7\" /> <rect y=\"10\" width=\"1.5\" height=\"5\" /></svg>",
"star": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon fill=\"none\" stroke=\"#000\" stroke-width=\"1.01\" points=\"10 2 12.63 7.27 18.5 8.12 14.25 12.22 15.25 18 10 15.27 4.75 18 5.75 12.22 1.5 8.12 7.37 7.27\" /></svg>",
"strikethrough": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M6,13.02 L6.65,13.02 C7.64,15.16 8.86,16.12 10.41,16.12 C12.22,16.12 12.92,14.93 12.92,13.89 C12.92,12.55 11.99,12.03 9.74,11.23 C8.05,10.64 6.23,10.11 6.23,7.83 C6.23,5.5 8.09,4.09 10.4,4.09 C11.44,4.09 12.13,4.31 12.72,4.54 L13.33,4 L13.81,4 L13.81,7.59 L13.16,7.59 C12.55,5.88 11.52,4.89 10.07,4.89 C8.84,4.89 7.89,5.69 7.89,7.03 C7.89,8.29 8.89,8.78 10.88,9.45 C12.57,10.03 14.38,10.6 14.38,12.91 C14.38,14.75 13.27,16.93 10.18,16.93 C9.18,16.93 8.17,16.69 7.46,16.39 L6.52,17 L6,17 L6,13.02 L6,13.02 Z\" /> <rect x=\"3\" y=\"10\" width=\"15\" height=\"1\" /></svg>",
"table": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"1\" y=\"3\" width=\"18\" height=\"1\" /> <rect x=\"1\" y=\"7\" width=\"18\" height=\"1\" /> <rect x=\"1\" y=\"11\" width=\"18\" height=\"1\" /> <rect x=\"1\" y=\"15\" width=\"18\" height=\"1\" /></svg>",
"tablet-landscape": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M1.5,5 C1.5,4.2 2.2,3.5 3,3.5 L17,3.5 C17.8,3.5 18.5,4.2 18.5,5 L18.5,16 C18.5,16.8 17.8,17.5 17,17.5 L3,17.5 C2.2,17.5 1.5,16.8 1.5,16 L1.5,5 L1.5,5 L1.5,5 Z\" /> <circle cx=\"3.7\" cy=\"10.5\" r=\"0.8\" /></svg>",
"tablet": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M5,18.5 C4.2,18.5 3.5,17.8 3.5,17 L3.5,3 C3.5,2.2 4.2,1.5 5,1.5 L16,1.5 C16.8,1.5 17.5,2.2 17.5,3 L17.5,17 C17.5,17.8 16.8,18.5 16,18.5 L5,18.5 L5,18.5 L5,18.5 Z\" /> <circle cx=\"10.5\" cy=\"16.3\" r=\"0.8\" /></svg>",
"tag": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M17.5,3.71 L17.5,7.72 C17.5,7.96 17.4,8.2 17.21,8.39 L8.39,17.2 C7.99,17.6 7.33,17.6 6.93,17.2 L2.8,13.07 C2.4,12.67 2.4,12.01 2.8,11.61 L11.61,2.8 C11.81,2.6 12.08,2.5 12.34,2.5 L16.19,2.5 C16.52,2.5 16.86,2.63 17.11,2.88 C17.35,3.11 17.48,3.4 17.5,3.71 L17.5,3.71 Z\" /> <circle cx=\"14\" cy=\"6\" r=\"1\" /></svg>",
"thumbnails": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"3.5\" width=\"5\" height=\"5\" /> <rect fill=\"none\" stroke=\"#000\" x=\"11.5\" y=\"3.5\" width=\"5\" height=\"5\" /> <rect fill=\"none\" stroke=\"#000\" x=\"11.5\" y=\"11.5\" width=\"5\" height=\"5\" /> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"11.5\" width=\"5\" height=\"5\" /></svg>",
"trash": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"6.5 3 6.5 1.5 13.5 1.5 13.5 3\" /> <polyline fill=\"none\" stroke=\"#000\" points=\"4.5 4 4.5 18.5 15.5 18.5 15.5 4\" /> <rect x=\"8\" y=\"7\" width=\"1\" height=\"9\" /> <rect x=\"11\" y=\"7\" width=\"1\" height=\"9\" /> <rect x=\"2\" y=\"3\" width=\"16\" height=\"1\" /></svg>",
"triangle-down": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"5 7 15 7 10 12\" /></svg>",
"triangle-left": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"12 5 7 10 12 15\" /></svg>",
"triangle-right": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"8 5 13 10 8 15\" /></svg>",
"triangle-up": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"5 13 10 8 15 13\" /></svg>",
"tripadvisor": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M19.021,7.866C19.256,6.862,20,5.854,20,5.854h-3.346C14.781,4.641,12.504,4,9.98,4C7.363,4,4.999,4.651,3.135,5.876H0\tc0,0,0.738,0.987,0.976,1.988c-0.611,0.837-0.973,1.852-0.973,2.964c0,2.763,2.249,5.009,5.011,5.009\tc1.576,0,2.976-0.737,3.901-1.879l1.063,1.599l1.075-1.615c0.475,0.611,1.1,1.111,1.838,1.451c1.213,0.547,2.574,0.612,3.825,0.15\tc2.589-0.963,3.913-3.852,2.964-6.439c-0.175-0.463-0.4-0.876-0.675-1.238H19.021z M16.38,14.594\tc-1.002,0.371-2.088,0.328-3.06-0.119c-0.688-0.317-1.252-0.817-1.657-1.438c-0.164-0.25-0.313-0.52-0.417-0.811\tc-0.124-0.328-0.186-0.668-0.217-1.014c-0.063-0.689,0.037-1.396,0.339-2.043c0.448-0.971,1.251-1.71,2.25-2.079\tc2.075-0.765,4.375,0.3,5.14,2.366c0.762,2.066-0.301,4.37-2.363,5.134L16.38,14.594L16.38,14.594z M8.322,13.066\tc-0.72,1.059-1.935,1.76-3.309,1.76c-2.207,0-4.001-1.797-4.001-3.996c0-2.203,1.795-4.002,4.001-4.002\tc2.204,0,3.999,1.8,3.999,4.002c0,0.137-0.024,0.261-0.04,0.396c-0.067,0.678-0.284,1.313-0.648,1.853v-0.013H8.322z M2.472,10.775\tc0,1.367,1.112,2.479,2.476,2.479c1.363,0,2.472-1.11,2.472-2.479c0-1.359-1.11-2.468-2.472-2.468\tC3.584,8.306,2.473,9.416,2.472,10.775L2.472,10.775z M12.514,10.775c0,1.367,1.104,2.479,2.471,2.479\tc1.363,0,2.474-1.108,2.474-2.479c0-1.359-1.11-2.468-2.474-2.468c-1.364,0-2.477,1.109-2.477,2.468H12.514z M3.324,10.775\tc0-0.893,0.726-1.618,1.614-1.618c0.889,0,1.625,0.727,1.625,1.618c0,0.898-0.725,1.627-1.625,1.627\tc-0.901,0-1.625-0.729-1.625-1.627H3.324z M13.354,10.775c0-0.893,0.726-1.618,1.627-1.618c0.886,0,1.61,0.727,1.61,1.618\tc0,0.898-0.726,1.627-1.626,1.627s-1.625-0.729-1.625-1.627H13.354z M9.977,4.875c1.798,0,3.425,0.324,4.849,0.968\tc-0.535,0.015-1.061,0.108-1.586,0.3c-1.264,0.463-2.264,1.388-2.815,2.604c-0.262,0.551-0.398,1.133-0.448,1.72\tC9.79,7.905,7.677,5.873,5.076,5.82C6.501,5.208,8.153,4.875,9.94,4.875H9.977z\" /></svg>",
"tumblr": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M6.885,8.598c0,0,0,3.393,0,4.996c0,0.282,0,0.66,0.094,0.942c0.377,1.509,1.131,2.545,2.545,3.11 c1.319,0.472,2.356,0.472,3.676,0c0.565-0.188,1.132-0.659,1.132-0.659l-0.849-2.263c0,0-1.036,0.378-1.603,0.283 c-0.565-0.094-1.226-0.66-1.226-1.508c0-1.603,0-4.902,0-4.902h2.828V5.771h-2.828V2H8.205c0,0-0.094,0.66-0.188,0.942 C7.828,3.791,7.262,4.733,6.603,5.394C5.848,6.147,5,6.43,5,6.43v2.168H6.885z\" /></svg>",
"tv": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect x=\"7\" y=\"16\" width=\"6\" height=\"1\" /> <rect fill=\"none\" stroke=\"#000\" x=\"0.5\" y=\"3.5\" width=\"19\" height=\"11\" /></svg>",
"twitter": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M19,4.74 C18.339,5.029 17.626,5.229 16.881,5.32 C17.644,4.86 18.227,4.139 18.503,3.28 C17.79,3.7 17.001,4.009 16.159,4.17 C15.485,3.45 14.526,3 13.464,3 C11.423,3 9.771,4.66 9.771,6.7 C9.771,6.99 9.804,7.269 9.868,7.539 C6.795,7.38 4.076,5.919 2.254,3.679 C1.936,4.219 1.754,4.86 1.754,5.539 C1.754,6.82 2.405,7.95 3.397,8.61 C2.79,8.589 2.22,8.429 1.723,8.149 L1.723,8.189 C1.723,9.978 2.997,11.478 4.686,11.82 C4.376,11.899 4.049,11.939 3.713,11.939 C3.475,11.939 3.245,11.919 3.018,11.88 C3.49,13.349 4.852,14.419 6.469,14.449 C5.205,15.429 3.612,16.019 1.882,16.019 C1.583,16.019 1.29,16.009 1,15.969 C2.635,17.019 4.576,17.629 6.662,17.629 C13.454,17.629 17.17,12 17.17,7.129 C17.17,6.969 17.166,6.809 17.157,6.649 C17.879,6.129 18.504,5.478 19,4.74\" /></svg>",
"uikit": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"14.4,3.1 11.3,5.1 15,7.3 15,12.9 10,15.7 5,12.9 5,8.5 2,6.8 2,14.8 9.9,19.5 18,14.8 18,5.3\" /> <polygon points=\"9.8,4.2 6.7,2.4 9.8,0.4 12.9,2.3\" /></svg>",
"unlock": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <rect fill=\"none\" stroke=\"#000\" x=\"3.5\" y=\"8.5\" width=\"13\" height=\"10\" /> <path fill=\"none\" stroke=\"#000\" d=\"M6.5,8.5 L6.5,4.9 C6.5,3 8.1,1.5 10,1.5 C11.9,1.5 13.5,3 13.5,4.9\" /></svg>",
"upload": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polyline fill=\"none\" stroke=\"#000\" points=\"5 8 9.5 3.5 14 8 \" /> <rect x=\"3\" y=\"17\" width=\"13\" height=\"1\" /> <line fill=\"none\" stroke=\"#000\" x1=\"9.5\" y1=\"15\" x2=\"9.5\" y2=\"4\" /></svg>",
"user": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9.9\" cy=\"6.4\" r=\"4.4\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M1.5,19 C2.3,14.5 5.8,11.2 10,11.2 C14.2,11.2 17.7,14.6 18.5,19.2\" /></svg>",
"users": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"7.7\" cy=\"8.6\" r=\"3.5\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3\" /> <path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1\" /></svg>",
"video-camera": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <polygon points=\"18,6 18,14 12,10 \" /> <rect x=\"2\" y=\"5\" width=\"12\" height=\"10\" /></svg>",
"vimeo": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M2.065,7.59C1.84,7.367,1.654,7.082,1.468,6.838c-0.332-0.42-0.137-0.411,0.274-0.772c1.026-0.91,2.004-1.896,3.127-2.688 c1.017-0.713,2.365-1.173,3.286-0.039c0.849,1.045,0.869,2.629,1.084,3.891c0.215,1.309,0.421,2.648,0.88,3.901 c0.127,0.352,0.37,1.018,0.81,1.074c0.567,0.078,1.145-0.917,1.408-1.289c0.684-0.987,1.611-2.317,1.494-3.587 c-0.115-1.349-1.572-1.095-2.482-0.773c0.146-1.514,1.555-3.216,2.912-3.792c1.439-0.597,3.579-0.587,4.302,1.036 c0.772,1.759,0.078,3.802-0.763,5.396c-0.918,1.731-2.1,3.333-3.363,4.829c-1.114,1.329-2.432,2.787-4.093,3.422 c-1.897,0.723-3.021-0.686-3.667-2.318c-0.705-1.777-1.056-3.771-1.565-5.621C4.898,8.726,4.644,7.836,4.136,7.191 C3.473,6.358,2.72,7.141,2.065,7.59C1.977,7.502,2.115,7.551,2.065,7.59L2.065,7.59z\" /></svg>",
"warning": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <circle cx=\"10\" cy=\"14\" r=\"1\" /> <circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10\" cy=\"10\" r=\"9\" /> <path d=\"M10.97,7.72 C10.85,9.54 10.56,11.29 10.56,11.29 C10.51,11.87 10.27,12 9.99,12 C9.69,12 9.49,11.87 9.43,11.29 C9.43,11.29 9.16,9.54 9.03,7.72 C8.96,6.54 9.03,6 9.03,6 C9.03,5.45 9.46,5.02 9.99,5 C10.53,5.01 10.97,5.44 10.97,6 C10.97,6 11.04,6.54 10.97,7.72 L10.97,7.72 Z\" /></svg>",
"whatsapp": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M16.7,3.3c-1.8-1.8-4.1-2.8-6.7-2.8c-5.2,0-9.4,4.2-9.4,9.4c0,1.7,0.4,3.3,1.3,4.7l-1.3,4.9l5-1.3c1.4,0.8,2.9,1.2,4.5,1.2 l0,0l0,0c5.2,0,9.4-4.2,9.4-9.4C19.5,7.4,18.5,5,16.7,3.3 M10.1,17.7L10.1,17.7c-1.4,0-2.8-0.4-4-1.1l-0.3-0.2l-3,0.8l0.8-2.9 l-0.2-0.3c-0.8-1.2-1.2-2.7-1.2-4.2c0-4.3,3.5-7.8,7.8-7.8c2.1,0,4.1,0.8,5.5,2.3c1.5,1.5,2.3,3.4,2.3,5.5 C17.9,14.2,14.4,17.7,10.1,17.7 M14.4,11.9c-0.2-0.1-1.4-0.7-1.6-0.8c-0.2-0.1-0.4-0.1-0.5,0.1c-0.2,0.2-0.6,0.8-0.8,0.9 c-0.1,0.2-0.3,0.2-0.5,0.1c-0.2-0.1-1-0.4-1.9-1.2c-0.7-0.6-1.2-1.4-1.3-1.6c-0.1-0.2,0-0.4,0.1-0.5C8,8.8,8.1,8.7,8.2,8.5 c0.1-0.1,0.2-0.2,0.2-0.4c0.1-0.2,0-0.3,0-0.4C8.4,7.6,7.9,6.5,7.7,6C7.5,5.5,7.3,5.6,7.2,5.6c-0.1,0-0.3,0-0.4,0 c-0.2,0-0.4,0.1-0.6,0.3c-0.2,0.2-0.8,0.8-0.8,2c0,1.2,0.8,2.3,1,2.4c0.1,0.2,1.7,2.5,4,3.5c0.6,0.2,1,0.4,1.3,0.5 c0.6,0.2,1.1,0.2,1.5,0.1c0.5-0.1,1.4-0.6,1.6-1.1c0.2-0.5,0.2-1,0.1-1.1C14.8,12.1,14.6,12,14.4,11.9\" /></svg>",
"wordpress": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M10,0.5c-5.2,0-9.5,4.3-9.5,9.5s4.3,9.5,9.5,9.5c5.2,0,9.5-4.3,9.5-9.5S15.2,0.5,10,0.5L10,0.5L10,0.5z M15.6,3.9h-0.1 c-0.8,0-1.4,0.7-1.4,1.5c0,0.7,0.4,1.3,0.8,1.9c0.3,0.6,0.7,1.3,0.7,2.3c0,0.7-0.3,1.5-0.6,2.7L14.1,15l-3-8.9 c0.5,0,0.9-0.1,0.9-0.1C12.5,6,12.5,5.3,12,5.4c0,0-1.3,0.1-2.2,0.1C9,5.5,7.7,5.4,7.7,5.4C7.2,5.3,7.2,6,7.6,6c0,0,0.4,0.1,0.9,0.1 l1.3,3.5L8,15L5,6.1C5.5,6.1,5.9,6,5.9,6C6.4,6,6.3,5.3,5.9,5.4c0,0-1.3,0.1-2.2,0.1c-0.2,0-0.3,0-0.5,0c1.5-2.2,4-3.7,6.9-3.7 C12.2,1.7,14.1,2.6,15.6,3.9L15.6,3.9L15.6,3.9z M2.5,6.6l3.9,10.8c-2.7-1.3-4.6-4.2-4.6-7.4C1.8,8.8,2,7.6,2.5,6.6L2.5,6.6L2.5,6.6 z M10.2,10.7l2.5,6.9c0,0,0,0.1,0.1,0.1C11.9,18,11,18.2,10,18.2c-0.8,0-1.6-0.1-2.3-0.3L10.2,10.7L10.2,10.7L10.2,10.7z M14.2,17.1 l2.5-7.3c0.5-1.2,0.6-2.1,0.6-2.9c0-0.3,0-0.6-0.1-0.8c0.6,1.2,1,2.5,1,4C18.3,13,16.6,15.7,14.2,17.1L14.2,17.1L14.2,17.1z\" /></svg>",
"world": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path fill=\"none\" stroke=\"#000\" d=\"M1,10.5 L19,10.5\" /> <path fill=\"none\" stroke=\"#000\" d=\"M2.35,15.5 L17.65,15.5\" /> <path fill=\"none\" stroke=\"#000\" d=\"M2.35,5.5 L17.523,5.5\" /> <path fill=\"none\" stroke=\"#000\" d=\"M10,19.46 L9.98,19.46 C7.31,17.33 5.61,14.141 5.61,10.58 C5.61,7.02 7.33,3.83 10,1.7 C10.01,1.7 9.99,1.7 10,1.7 L10,1.7 C12.67,3.83 14.4,7.02 14.4,10.58 C14.4,14.141 12.67,17.33 10,19.46 L10,19.46 L10,19.46 L10,19.46 Z\" /> <circle fill=\"none\" stroke=\"#000\" cx=\"10\" cy=\"10.5\" r=\"9\" /></svg>",
"xing": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M4.4,4.56 C4.24,4.56 4.11,4.61 4.05,4.72 C3.98,4.83 3.99,4.97 4.07,5.12 L5.82,8.16 L5.82,8.17 L3.06,13.04 C2.99,13.18 2.99,13.33 3.06,13.44 C3.12,13.55 3.24,13.62 3.4,13.62 L6,13.62 C6.39,13.62 6.57,13.36 6.71,13.12 C6.71,13.12 9.41,8.35 9.51,8.16 C9.49,8.14 7.72,5.04 7.72,5.04 C7.58,4.81 7.39,4.56 6.99,4.56 L4.4,4.56 L4.4,4.56 Z\" /> <path d=\"M15.3,1 C14.91,1 14.74,1.25 14.6,1.5 C14.6,1.5 9.01,11.42 8.82,11.74 C8.83,11.76 12.51,18.51 12.51,18.51 C12.64,18.74 12.84,19 13.23,19 L15.82,19 C15.98,19 16.1,18.94 16.16,18.83 C16.23,18.72 16.23,18.57 16.16,18.43 L12.5,11.74 L12.5,11.72 L18.25,1.56 C18.32,1.42 18.32,1.27 18.25,1.16 C18.21,1.06 18.08,1 17.93,1 L15.3,1 L15.3,1 Z\" /></svg>",
"yelp": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M17.175,14.971c-0.112,0.77-1.686,2.767-2.406,3.054c-0.246,0.1-0.487,0.076-0.675-0.069\tc-0.122-0.096-2.446-3.859-2.446-3.859c-0.194-0.293-0.157-0.682,0.083-0.978c0.234-0.284,0.581-0.393,0.881-0.276\tc0.016,0.01,4.21,1.394,4.332,1.482c0.178,0.148,0.263,0.379,0.225,0.646L17.175,14.971L17.175,14.971z M11.464,10.789\tc-0.203-0.307-0.199-0.666,0.009-0.916c0,0,2.625-3.574,2.745-3.657c0.203-0.135,0.452-0.141,0.69-0.025\tc0.691,0.335,2.085,2.405,2.167,3.199v0.027c0.024,0.271-0.082,0.491-0.273,0.623c-0.132,0.083-4.43,1.155-4.43,1.155\tc-0.322,0.096-0.68-0.06-0.882-0.381L11.464,10.789z M9.475,9.563C9.32,9.609,8.848,9.757,8.269,8.817c0,0-3.916-6.16-4.007-6.351\tc-0.057-0.212,0.011-0.455,0.202-0.65C5.047,1.211,8.21,0.327,9.037,0.529c0.27,0.069,0.457,0.238,0.522,0.479\tc0.047,0.266,0.433,5.982,0.488,7.264C10.098,9.368,9.629,9.517,9.475,9.563z M9.927,19.066c-0.083,0.225-0.273,0.373-0.54,0.421\tc-0.762,0.13-3.15-0.751-3.647-1.342c-0.096-0.131-0.155-0.262-0.167-0.394c-0.011-0.095,0-0.189,0.036-0.272\tc0.061-0.155,2.917-3.538,2.917-3.538c0.214-0.272,0.595-0.355,0.952-0.213c0.345,0.13,0.56,0.428,0.536,0.749\tC10.014,14.479,9.977,18.923,9.927,19.066z M3.495,13.912c-0.235-0.009-0.444-0.148-0.568-0.382c-0.089-0.17-0.151-0.453-0.19-0.794\tC2.63,11.701,2.761,10.144,3.07,9.648c0.145-0.226,0.357-0.345,0.592-0.336c0.154,0,4.255,1.667,4.255,1.667\tc0.321,0.118,0.521,0.453,0.5,0.833c-0.023,0.37-0.236,0.655-0.551,0.738L3.495,13.912z\" /></svg>",
"youtube": "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M15,4.1c1,0.1,2.3,0,3,0.8c0.8,0.8,0.9,2.1,0.9,3.1C19,9.2,19,10.9,19,12c-0.1,1.1,0,2.4-0.5,3.4c-0.5,1.1-1.4,1.5-2.5,1.6 c-1.2,0.1-8.6,0.1-11,0c-1.1-0.1-2.4-0.1-3.2-1c-0.7-0.8-0.7-2-0.8-3C1,11.8,1,10.1,1,8.9c0-1.1,0-2.4,0.5-3.4C2,4.5,3,4.3,4.1,4.2 C5.3,4.1,12.6,4,15,4.1z M8,7.5v6l5.5-3L8,7.5z\" /></svg>"
});
if (plugin.installed) {
return;
}
UIkit.icon.add(Icons);
if (typeof window !== 'undefined' && window.UIkit) {
window.UIkit.use(plugin);
}
}
if (typeof window !== 'undefined' && window.UIkit) {
window.UIkit.use(plugin);
}
return plugin;
return plugin;
})));

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -95,10 +95,12 @@ class Compiler extends Infusion
{
if (ComponentbuilderHelper::checkArray($this->langNot))
{
$this->app->enqueueMessage(JText::_('<hr /><h3>Language Warning</h3>'), 'Warning');
foreach ($this->langNot as $tag => $percentage)
{
$this->app->enqueueMessage(JText::sprintf('The <b>%s</b> language has %s&#37; translated, you will need to translate %s&#37; of the language strings before it will be added.', $tag, $percentage, $this->percentageLanguageAdd), 'Warning');
}
$this->app->enqueueMessage(JText::_('<hr /><h3>Language Notice</h3>'), 'Notice');
$this->app->enqueueMessage(JText::sprintf('<b>You can change this percentage of translated strings required in the global options of JCB.</b><br />Please watch this <a href=%s>tutorial for more help surrounding the JCB translations manager</a>.', '"https://youtu.be/zzAcVkn_cWU?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE" target="_blank" title="JCB Tutorial surrounding Translation Manager"'), 'Notice');
}
// set why the strings were added
@ -110,6 +112,7 @@ class Compiler extends Infusion
// show languages that were added
if (ComponentbuilderHelper::checkArray($this->langSet))
{
$this->app->enqueueMessage(JText::_('<hr /><h3>Language Notice</h3>'), 'Notice');
foreach ($this->langSet as $tag => $percentage)
{
$this->app->enqueueMessage(JText::sprintf('The <b>%s</b> language has %s&#37; translated. Was addeded %s', $tag, $percentage, $whyAddedLang), 'Notice');
@ -142,6 +145,7 @@ class Compiler extends Infusion
// set a notice if we have a mismatch
if (isset($mismatch) && ComponentbuilderHelper::checkArray($mismatch))
{
$this->app->enqueueMessage(JText::_('<hr /><h3>Language Warning</h3>'), 'Warning');
if (count($mismatch) > 1)
{
$this->app->enqueueMessage(JText::_('<h3>Please check the following mismatching Joomla.JText language constants.</h3>'), 'Warning');
@ -156,7 +160,6 @@ class Compiler extends Infusion
$constant = $this->langPrefix . '_' . ComponentbuilderHelper::safeString($string, 'U');
$this->app->enqueueMessage(JText::sprintf('The <b>Joomla.JText._(&apos;%s&apos;)</b> language constant for <b>%s</b> does not have a corresponding <code>JText::script(&apos;%s&apos;)</code> decalaration, please add it.', $constant, $string, $string), 'Warning');
}
$this->app->enqueueMessage('<hr />', 'Warning');
}
}
// check if we should add a EXTERNALCODE notice
@ -169,7 +172,6 @@ class Compiler extends Infusion
// the notice
$this->app->enqueueMessage(JText::_('<hr /><h3>External Code Notice</h3>'), 'Notice');
$this->app->enqueueMessage(JText::sprintf('There has been <b>%s - %s</b> added to this component as EXTERNALCODE. To avoid shipping your component with malicious %s always make sure that the correct <b>code/string values</b> were used.', $externalCount, $externalCodeString, $externalCodeString), 'Notice');
$this->app->enqueueMessage('<hr />', 'Notice');
}
// end the timer here
$this->time_end = microtime(true);
@ -274,6 +276,11 @@ class Compiler extends Infusion
{
$answer = $this->setPlaceholders($answer, $this->fileContentDynamic[$view], 3);
}
// check if this file needs extra care :)
if (isset($this->updateFileContent[$path]))
{
$answer = $this->setDynamicValues($answer);
}
// add answer back to file
$this->writeFile($path, $answer);
// count the file lines
@ -594,6 +601,7 @@ class Compiler extends Infusion
{
// Load escaped code since the target endhash has changed
$this->loadEscapedCode($file, $target, $lineBites);
$this->app->enqueueMessage(JText::_('<hr /><h3>Custom Code Warning</h3>'), 'Warning');
$this->app->enqueueMessage(JText::sprintf('Custom code could not be added to <b>%s</b> please review the file at <b>line %s</b>. This could be due to a change to lines below the custom code.', $target['path'], $target['from_line']), 'Warning');
}
}
@ -601,12 +609,14 @@ class Compiler extends Infusion
{
// Load escaped code since the target hash has changed
$this->loadEscapedCode($file, $target, $lineBites);
$this->app->enqueueMessage(JText::_('<hr /><h3>Custom Code Warning</h3>'), 'Warning');
$this->app->enqueueMessage(JText::sprintf('Custom code could not be added to <b>%s</b> please review the file at <b>line %s</b>. This could be due to a change to lines above the custom code.', $target['path'], $target['from_line']), 'Warning');
}
}
else
{
// Give developer a notice that file is not found.
$this->app->enqueueMessage(JText::_('<hr /><h3>Custom Code Warning</h3>'), 'Warning');
$this->app->enqueueMessage(JText::sprintf('File <b>%s</b> could not be found, so the custom code for this file could not be addded.', $target['path']), 'Warning');
}
}

File diff suppressed because it is too large Load Diff

View File

@ -235,6 +235,13 @@ class Structure extends Get
*/
public $fileContentStatic = array();
/**
* The standard folders
*
* @var array
*/
public $stdFolders = array('site', 'admin', 'media');
/**
* Dynamic File Content
*
@ -277,6 +284,13 @@ class Structure extends Get
*/
public $notNew = array();
/**
* Update the file content
*
* @var array
*/
public $updateFileContent = array();
/**
* The new files
*
@ -320,6 +334,18 @@ class Structure extends Get
// first we run the perent constructor
if (parent::__construct($config))
{
// set incase no extra admin folder are loaded
$this->fileContentStatic[$this->hhh . 'EXSTRA_ADMIN_FOLDERS' . $this->hhh] = '';
// set incase no extra site folder are loaded
$this->fileContentStatic[$this->hhh . 'EXSTRA_SITE_FOLDERS' . $this->hhh] = '';
// set incase no extra media folder are loaded
$this->fileContentStatic[$this->hhh . 'EXSTRA_MEDIA_FOLDERS' . $this->hhh] = '';
// set incase no extra admin files are loaded
$this->fileContentStatic[$this->hhh . 'EXSTRA_ADMIN_FILES' . $this->hhh] = '';
// set incase no extra site files are loaded
$this->fileContentStatic[$this->hhh . 'EXSTRA_SITE_FILES' . $this->hhh] = '';
// set incase no extra media files are loaded
$this->fileContentStatic[$this->hhh . 'EXSTRA_MEDIA_FILES' . $this->hhh] = '';
// run global updater
ComponentbuilderHelper::runGlobalUpdater();
// set the Joomla version
@ -489,11 +515,7 @@ class Structure extends Get
// only add if local
if ($addLocalFolder)
{
// check if we sould add it to the media xml list
if (!isset($this->fileContentStatic[$this->hhh . 'EXSTRA_MEDIA_FOLDERS' . $this->hhh]))
{
$this->fileContentStatic[$this->hhh . 'EXSTRA_MEDIA_FOLDERS' . $this->hhh] = '';
}
// add folder to ml of media folders
$this->fileContentStatic[$this->hhh . 'EXSTRA_MEDIA_FOLDERS' . $this->hhh] .= PHP_EOL . $this->_t(2) . "<folder>" . $libFolder . "</folder>";
}
}
@ -571,24 +593,28 @@ class Structure extends Get
else
{
// set massage that something is wrong
$this->app->enqueueMessage(JText::_('<hr /><h3>Dashboard Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::sprintf('The <b>%s</b> (<b>%s</b>) is not available in your component! Please insure to only used %s, for a dynamic dashboard, that are still linked to your component.', $names[$t], $this->componentData->dashboard, $type_names), 'Error');
}
}
else
{
// set massage that something is wrong
$this->app->enqueueMessage(JText::_('<hr /><h3>Dashboard Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::sprintf('The <b>%s</b> (<b>%s</b>) is not available in your component! Please insure to only used %s, for a dynamic dashboard, that are still linked to your component.', $names[$t], $this->componentData->dashboard, $type_names), 'Error');
}
}
else
{
// the target value is wrong
$this->app->enqueueMessage(JText::_('<hr /><h3>Dashboard Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::sprintf('The <b>%s</b> value for the dynamic dashboard is invalid.', $this->componentData->dashboard), 'Error');
}
}
else
{
// the target value is wrong
$this->app->enqueueMessage(JText::_('<hr /><h3>Dashboard Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::sprintf('The <b>%s</b> value for the dynamic dashboard is invalid.', $this->componentData->dashboard), 'Error');
}
// if default was changed to dynamic dashboard the remove default tab and methods
@ -767,8 +793,6 @@ class Structure extends Get
{
$README = true;
}
// set the standard folders
$stdFolders = array('site', 'admin', 'media');
// start moving
foreach ($this->joomlaVersionData->move->static as $ftem => $details)
{
@ -814,6 +838,7 @@ class Structure extends Get
{
if (!JFile::exists($currentFullPath))
{
$this->app->enqueueMessage(JText::_('<hr /><h3>File Path Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::sprintf('The file path: <b>%s</b> does not exist, and was not added!', $currentFullPath), 'Error');
}
else
@ -834,12 +859,21 @@ class Structure extends Get
{
$this->newFiles['static'][] = array('path' => $packageFullPath, 'name' => $new, 'zip' => $zipFullPath);
}
// ensure we update this file if needed
if (isset($this->updateFileContent[$ftem]) && $this->updateFileContent[$ftem])
{
// remove the pointer
unset($this->updateFileContent[$ftem]);
// set the full path
$this->updateFileContent[$packageFullPath] = $packageFullPath;
}
}
}
elseif ($details->type === 'folder')
{
if (!JFolder::exists($currentFullPath))
{
$this->app->enqueueMessage(JText::_('<hr /><h3>Folder Path Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::sprintf('The folder path: <b>%s</b> does not exist, and was not added!', $currentFullPath), 'Error');
}
else
@ -851,19 +885,40 @@ class Structure extends Get
}
}
// check if we should add the dynamic folder moving script to the installer script
if (!$this->setMoveFolders)
$checker = array_values((array) explode('/', $zipFullPath));
// TODO <-- this may not be the best way, will keep an eye on this.
// We basicly only want to check if a folder is added that is not in the stdFolders array
if (isset($checker[0]) && ComponentbuilderHelper::checkString($checker[0]) && !in_array($checker[0], $this->stdFolders))
{
$checker = explode('/', $zipFullPath);
// TODO <-- this may not be the best way, will keep an eye on this.
// We basicly only want to check if a folder is added that is not in the stdFolders array
if (isset($checker[0]) && ComponentbuilderHelper::checkString($checker[0]) && !in_array($checker[0], $stdFolders))
// check if we should add the dynamic folder moving script to the installer script
if (!$this->setMoveFolders)
{
// add the setDynamicF0ld3rs() method to the install scipt.php file
$this->setMoveFolders = true;
// set message that this was done (will still add a tutorial link later)
$this->app->enqueueMessage(JText::sprintf('<p><b>Dynamic folder/s were detected.</b><br />A method (setDynamicF0ld3rs) was added to the install <b>script.php</b> of this package to insure that the folder/s are copied into the correct place when this componet is installed!</p>'), 'Notice');
$this->app->enqueueMessage(JText::_('<hr /><h3>Dynamic folder/s were detected.</h3>'), 'Notice');
$this->app->enqueueMessage(JText::sprintf('A method (setDynamicF0ld3rs) was added to the install <b>script.php</b> of this package to insure that the folder/s are copied into the correct place when this componet is installed!'), 'Notice');
}
}
elseif (count($checker) == 2 && ComponentbuilderHelper::checkString($checker[0]) && in_array($checker[0], $this->stdFolders))
{
// set the target
$eNAME = 'FILES';
$ename = 'filename';
if ($details->type === 'folder')
{
$eNAME = 'FOLDERS';
$ename = 'folder';
}
// set the tab
$eTab = $this->_t(2);
if ('admin' === $checker[0])
{
$eTab = $this->_t(3);
}
// set the xml file
$this->fileContentStatic[$this->hhh . 'EXSTRA_' . ComponentbuilderHelper::safeString($checker[0], 'U') . '_' . $eNAME . $this->hhh] .= PHP_EOL . $eTab . "<" . $ename . ">" . $checker[1] . "</" . $ename . ">";
}
}
return true;
}
@ -1260,11 +1315,6 @@ class Structure extends Get
$custom['path'] = str_replace('/' . $lastFolder, '', $custom['path']);
$rename = 'new';
$newname = $lastFolder;
// add fix to insure it gets added to xml if needed
if (($tkey = array_search($lastFolder, $pathArray)) !== false)
{
unset($pathArray[$tkey]);
}
}
elseif ('full' === $customPath)
{
@ -1273,11 +1323,6 @@ class Structure extends Get
$lastFolder = end($folderArray);
$rename = 'new';
$newname = $lastFolder;
// add fix to insure it gets added to xml if needed
if (($tkey = array_search($lastFolder, $pathArray)) !== false)
{
unset($pathArray[$tkey]);
}
}
else
{
@ -1285,46 +1330,19 @@ class Structure extends Get
$rename = false;
$newname = '';
}
// check if we sould add it to the media xml list
if (!isset($this->fileContentStatic[$this->hhh . 'EXSTRA_MEDIA_FOLDERS' . $this->hhh]))
{
$this->fileContentStatic[$this->hhh . 'EXSTRA_MEDIA_FOLDERS' . $this->hhh] = '';
}
if (count($pathArray) == 1 && $firstFolder === 'media')
{
$this->fileContentStatic[$this->hhh . 'EXSTRA_MEDIA_FOLDERS' . $this->hhh] .= PHP_EOL . $this->_t(2) . "<folder>" . $lastFolder . "</folder>";
}
// check if we sould add it to the site xml list
if (!isset($this->fileContentStatic[$this->hhh . 'EXSTRA_SITE_FOLDERS' . $this->hhh]))
{
$this->fileContentStatic[$this->hhh . 'EXSTRA_SITE_FOLDERS' . $this->hhh] = '';
}
if (count($pathArray) == 1 && $firstFolder === 'site')
{
$this->fileContentStatic[$this->hhh . 'EXSTRA_SITE_FOLDERS' . $this->hhh] .= PHP_EOL . $this->_t(2) . "<folder>" . $lastFolder . "</folder>";
}
// check if we sould add it to the admin xml list
if (!isset($this->fileContentStatic[$this->hhh . 'EXSTRA_ADMIN_FOLDERS' . $this->hhh]))
{
$this->fileContentStatic[$this->hhh . 'EXSTRA_ADMIN_FOLDERS' . $this->hhh] = '';
}
if (count($pathArray) == 1 && $firstFolder === 'admin')
{
$this->fileContentStatic[$this->hhh . 'EXSTRA_ADMIN_FOLDERS' . $this->hhh] .= PHP_EOL . $this->_t(3) . "<folder>" . $lastFolder . "</folder>";
}
// make we have not duplicates
// insure we have no duplicates
$key_pointer = ComponentbuilderHelper::safeString($custom['folder']) . '_f' . $pointer_tracker;
$pointer_tracker++;
// fix custom path
$custom['path'] = ltrim($custom['path'], '/');
// set new folder to object
$versionData->move->static->$key_pointer = new stdClass();
$versionData->move->static->$key_pointer->naam = str_replace('//','/', $custom['folder']);
$versionData->move->static->$key_pointer->path = 'c0mp0n3nt/' . $custom['path'];
$versionData->move->static->$key_pointer->rename = $rename;
$versionData->move->static->$key_pointer->newName = $newname;
$versionData->move->static->$key_pointer->type = 'folder';
$versionData->move->static->$key_pointer->custom = $customPath;
$versionData->move->static->{$key_pointer} = new stdClass();
$versionData->move->static->{$key_pointer}->naam = str_replace('//','/', $custom['folder']);
$versionData->move->static->{$key_pointer}->path = 'c0mp0n3nt/' . $custom['path'];
$versionData->move->static->{$key_pointer}->rename = $rename;
$versionData->move->static->{$key_pointer}->newName = $newname;
$versionData->move->static->{$key_pointer}->type = 'folder';
$versionData->move->static->{$key_pointer}->custom = $customPath;
}
unset($this->componentData->folders);
unset($custom);
@ -1367,8 +1385,8 @@ class Structure extends Get
$key_pointer = ComponentbuilderHelper::safeString($custom['file']) . '_g' . $pointer_tracker;
$pointer_tracker++;
// set new file to object
$versionData->move->static->$key_pointer = new stdClass();
$versionData->move->static->$key_pointer->naam = str_replace('//','/',$custom['file']);
$versionData->move->static->{$key_pointer} = new stdClass();
$versionData->move->static->{$key_pointer}->naam = str_replace('//','/',$custom['file']);
// update the dynamic component name placholders in file names
$custom['path'] = $this->setPlaceholders($custom['path'], $this->placeholders);
// get the path info
@ -1377,36 +1395,41 @@ class Structure extends Get
{
$pathInfo['dirname'] = trim($pathInfo['dirname'], '/');
// set the info
$versionData->move->static->$key_pointer->path = 'c0mp0n3nt/' . $pathInfo['dirname'];
$versionData->move->static->$key_pointer->rename = 'new';
$versionData->move->static->$key_pointer->newName = $pathInfo['basename'];
$versionData->move->static->{$key_pointer}->path = 'c0mp0n3nt/' . $pathInfo['dirname'];
$versionData->move->static->{$key_pointer}->rename = 'new';
$versionData->move->static->{$key_pointer}->newName = $pathInfo['basename'];
}
elseif ('full' === $customPath)
{
// fix custom path
$custom['path'] = ltrim($custom['path'], '/');
// get file array
$fileArray = explode('/', $custom['file']);
$fileArray = (array) explode('/', $custom['file']);
// set the info
$versionData->move->static->$key_pointer->path = 'c0mp0n3nt/' . $custom['path'];
$versionData->move->static->$key_pointer->rename = 'new';
$versionData->move->static->$key_pointer->newName = end($fileArray);
$versionData->move->static->{$key_pointer}->path = 'c0mp0n3nt/' . $custom['path'];
$versionData->move->static->{$key_pointer}->rename = 'new';
$versionData->move->static->{$key_pointer}->newName = end($fileArray);
}
else
{
// fix custom path
$custom['path'] = ltrim($custom['path'], '/');
// set the info
$versionData->move->static->$key_pointer->path = 'c0mp0n3nt/' . $custom['path'];
$versionData->move->static->$key_pointer->rename = false;
$versionData->move->static->{$key_pointer}->path = 'c0mp0n3nt/' . $custom['path'];
$versionData->move->static->{$key_pointer}->rename = false;
}
$versionData->move->static->{$key_pointer}->type = 'file';
$versionData->move->static->{$key_pointer}->custom = $customPath;
// check if file should be updated
if (!isset($custom['notnew']) || $custom['notnew'] == 0 || $custom['notnew'] != 1)
{
$this->notNew[] = $key_pointer;
}
$versionData->move->static->$key_pointer->type = 'file';
$versionData->move->static->$key_pointer->custom = $customPath;
else
{
// update the file content
$this->updateFileContent[$key_pointer] = true;
}
}
unset($this->componentData->files);
unset($custom);

View File

@ -1353,13 +1353,25 @@ class Fields extends Structure
// only continue if we have a field set
if (ComponentbuilderHelper::checkArray($fieldsSets))
{
foreach ($fieldsSets as $fieldId)
// set the resolver
$_resolverKey = $fieldAttributes['name'];
// load the field data
$fieldsSets = array_map(function($id) use($view_name_single, $view_name_list, $_resolverKey) {
// start field
$field = array();
$field['field'] = $id;
// set the field details
$this->setFieldDetails($field, $view_name_single, $view_name_list, $_resolverKey);
// return field
return $field;
}, array_values($fieldsSets));
// start the build
foreach ($fieldsSets as $fieldData)
{
// get the field data
$fieldData['settings'] = $this->getFieldData($fieldId, $view_name_single);
// if we have settings continue
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
{
$r_name = $this->getFieldName($fieldData);
$r_name = $this->getFieldName($fieldData, $view_name_list, $_resolverKey);
$r_typeName = $this->getFieldType($fieldData);
$r_multiple = false;
$r_langLabel = '';
@ -1415,18 +1427,18 @@ class Fields extends Structure
elseif ($typeName === 'subform')
{
// now add to the field set
$field .= PHP_EOL . $this->_t(2) . "<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (joomla) -->";
$field .= PHP_EOL . $this->_t(2) . "<field";
$field .= PHP_EOL . $this->_t(2) . $taber . "<!--" . $this->setLine(__LINE__) . " " . ComponentbuilderHelper::safeString($name, 'F') . " Field. Type: " . ComponentbuilderHelper::safeString($typeName, 'F') . ". (joomla) -->";
$field .= PHP_EOL . $this->_t(2) . $taber . "<field";
$fieldsSet = array();
foreach ($fieldAttributes as $property => $value)
{
if ($property != 'fields')
{
$field .= PHP_EOL . $this->_t(3) . $property . '="' . $value . '"';
$field .= PHP_EOL . $this->_t(3) . $taber . $property . '="' . $value . '"';
}
}
$field .= ">";
$field .= PHP_EOL . $this->_t(3) . '<form hidden="true" name="list_' . $fieldAttributes['name'] . '_modal" repeat="true">';
$field .= PHP_EOL . $this->_t(3) . $taber . '<form hidden="true" name="list_' . $fieldAttributes['name'] . '_modal" repeat="true">';
if (strpos($fieldAttributes['fields'], ',') !== false)
{
// mulitpal fields
@ -1440,18 +1452,30 @@ class Fields extends Structure
// only continue if we have a field set
if (ComponentbuilderHelper::checkArray($fieldsSets))
{
foreach ($fieldsSets as $fieldId)
// set the resolver
$_resolverKey = $fieldAttributes['name'];
// load the field data
$fieldsSets = array_map(function($id) use($view_name_single, $view_name_list, $_resolverKey) {
// start field
$field = array();
$field['field'] = $id;
// set the field details
$this->setFieldDetails($field, $view_name_single, $view_name_list, $_resolverKey);
// return field
return $field;
}, array_values($fieldsSets));
// start the build
foreach ($fieldsSets as $fieldData)
{
// get the field data
$fieldData['settings'] = $this->getFieldData($fieldId, $view_name_single);
// if we have settings continue
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
{
$r_name = $this->getFieldName($fieldData);
$r_name = $this->getFieldName($fieldData, $view_name_list, $_resolverKey);
$r_typeName = $this->getFieldType($fieldData);
$r_multiple = false;
$r_langLabel = '';
// add the tabs needed
$r_taber = $this->_t(2);
$r_taber = $this->_t(2) . $taber;
// get field values
$r_fieldValues = $this->setFieldAttributes($fieldData, $view, $r_name, $r_typeName, $r_multiple, $r_langLabel, $langView, $view_name_list, $view_name_single, $placeholders, true);
// check if values were set
@ -1469,6 +1493,24 @@ class Fields extends Structure
// now add to the field set
$field .= $this->setField('plain', $r_fieldValues, $r_name, $r_typeName, $langView, $view_name_single, $view_name_list, $placeholders, $r_optionArray, null, $r_taber);
}
elseif ($r_typeName === 'subform')
{
// set nested depth
if (isset($fieldAttributes['nested_depth']))
{
$r_fieldValues['nested_depth'] = ++$fieldAttributes['nested_depth'];
}
else
{
$r_fieldValues['nested_depth'] = 1;
}
// only continue if nest is bellow 20 (this should be a safe limit)
if ($r_fieldValues['nested_depth'] <= 20)
{
// now add to the field set
$field .= $this->setField('special', $r_fieldValues, $r_name, $r_typeName, $langView, $view_name_single, $view_name_list, $placeholders, $r_optionArray, null, $r_taber);
}
}
elseif (ComponentbuilderHelper::checkArray($r_fieldValues['custom']))
{
// add to custom
@ -1494,8 +1536,8 @@ class Fields extends Structure
}
}
}
$field .= PHP_EOL . $this->_t(3) . "</form>";
$field .= PHP_EOL . $this->_t(2) . "</field>";
$field .= PHP_EOL . $this->_t(3) . $taber . "</form>";
$field .= PHP_EOL . $this->_t(2) . $taber . "</field>";
}
}
elseif ($setType === 'custom')
@ -1691,14 +1733,25 @@ class Fields extends Structure
// only continue if we have a field set
if (ComponentbuilderHelper::checkArray($fieldsSets))
{
foreach ($fieldsSets as $fieldId)
// set the resolver
$_resolverKey = $fieldAttributes['name'];
// load the field data
$fieldsSets = array_map(function($id) use($view_name_single, $view_name_list, $_resolverKey) {
// start field
$field = array();
$field['field'] = $id;
// set the field details
$this->setFieldDetails($field, $view_name_single, $view_name_list, $_resolverKey);
// return field
return $field;
}, array_values($fieldsSets));
// start the build
foreach ($fieldsSets as $fieldData)
{
// get the field data
$fieldData = array();
$fieldData['settings'] = $this->getFieldData($fieldId, $view_name_single);
// if we have settings continue
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
{
$r_name = $this->getFieldName($fieldData);
$r_name = $this->getFieldName($fieldData, $view_name_list, $_resolverKey);
$r_typeName = $this->getFieldType($fieldData);
$r_multiple = false;
$r_langLabel = '';
@ -1788,14 +1841,25 @@ class Fields extends Structure
// only continue if we have a field set
if (ComponentbuilderHelper::checkArray($fieldsSets))
{
foreach ($fieldsSets as $fieldId)
// set the resolver
$_resolverKey = $fieldAttributes['name'];
// load the field data
$fieldsSets = array_map(function($id) use($view_name_single, $view_name_list, $_resolverKey) {
// start field
$field = array();
$field['field'] = $id;
// set the field details
$this->setFieldDetails($field, $view_name_single, $view_name_list, $_resolverKey);
// return field
return $field;
}, array_values($fieldsSets));
// start the build
foreach ($fieldsSets as $fieldData)
{
// get the field data
$fieldData = array();
$fieldData['settings'] = $this->getFieldData($fieldId, $view_name_single);
// if we have settings continue
if (ComponentbuilderHelper::checkObject($fieldData['settings']))
{
$r_name = $this->getFieldName($fieldData);
$r_name = $this->getFieldName($fieldData, $view_name_list, $_resolverKey);
$r_typeName = $this->getFieldType($fieldData);
$r_multiple = false;
$r_langLabel = '';
@ -1816,6 +1880,25 @@ class Fields extends Structure
// now add to the field set
ComponentbuilderHelper::xmlAppend($form, $this->setField('plain', $r_fieldValues, $r_name, $r_typeName, $langView, $view_name_single, $view_name_list, $placeholders, $r_optionArray));
}
elseif ($r_typeName === 'subform')
{
// set nested depth
if (isset($fieldAttributes['nested_depth']))
{
$r_fieldValues['nested_depth'] = ++$fieldAttributes['nested_depth'];
}
else
{
$r_fieldValues['nested_depth'] = 1;
}
// only continue if nest is bellow 20 (this should be a safe limit)
if ($r_fieldValues['nested_depth'] <= 20)
{
// now add to the field set
ComponentbuilderHelper::xmlAppend($form, $this->setField('special', $r_fieldValues, $r_name, $r_typeName, $langView, $view_name_single, $view_name_list, $placeholders, $r_optionArray));
}
}
elseif (ComponentbuilderHelper::checkArray($r_fieldValues['custom']))
{
// add to custom
@ -2051,11 +2134,18 @@ class Fields extends Structure
if (!ComponentbuilderHelper::fieldCheck($typeName))
{
$fieldAttributes['custom'] = array();
// is this an own custom field
if (isset($field['settings']->own_custom))
{
$fieldAttributes['custom']['own_custom'] = $field['settings']->own_custom;
}
$setCustom = true;
}
// setup a default field
if (ComponentbuilderHelper::checkArray($field['settings']->properties))
{
// we need a deeper php code search tracker
$phpTracker = array();
foreach ($field['settings']->properties as $property)
{
// reset
@ -2089,23 +2179,23 @@ class Fields extends Structure
}
elseif ($property['name'] === 'extension' || $property['name'] === 'directory' || $property['name'] === 'formsource')
{
$xmlValue = ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"');
// replace the placeholders
$xmlValue = $this->setPlaceholders($xmlValue, $placeholders);
// get value & replace the placeholders
$xmlValue = $this->setPlaceholders(ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"'), $placeholders);
}
elseif (strpos($property['name'], 'type_php_') !== false && $setCustom)
// catch all PHP here
elseif (strpos($property['name'], 'type_php') !== false && $setCustom)
{
// set the line number
$phpLine = (int) str_replace('type_php_', '', $property['name']);
$phpLine = (int) preg_replace('/[^0-9]/', '', $property['name']);
// set the type key
$phpKey = (string) trim( str_replace('type_', '', preg_replace('/[0-9]+/', '', $property['name'])), '_');
// load the php for the custom field file
$fieldAttributes['custom']['php'][$phpLine] = ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"');
}
elseif (strpos($property['name'], 'type_phpx_') !== false && $setCustom)
{
// set the line number
$phpLine = (int) str_replace('type_phpx_', '', $property['name']);
// load the php for the custom field file
$fieldAttributes['custom']['phpx'][$phpLine] = ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"');
$fieldAttributes['custom'][$phpKey][$phpLine] =
$this->setDynamicValues(ComponentbuilderHelper::openValidBase64(
ComponentbuilderHelper::getBetween($field['settings']->xml, $property['name'] . '="', '"')
));
// load tracker
$phpTracker['type_' . $phpKey] = $phpKey;
}
elseif ($property['name'] === 'prime_php' && $setCustom)
{
@ -2119,27 +2209,23 @@ class Fields extends Structure
}
elseif ($property['name'] === 'view' && $setCustom)
{
// load the view name
$fieldAttributes['custom']['view'] = ComponentbuilderHelper::safeString(ComponentbuilderHelper::getBetween($field['settings']->xml, 'view="', '"'));
// load the view name & replace the placeholders
$fieldAttributes['custom']['view'] = ComponentbuilderHelper::safeString($this->setPlaceholders(ComponentbuilderHelper::getBetween($field['settings']->xml, 'view="', '"'), $placeholders));
}
elseif ($property['name'] === 'views' && $setCustom)
{
// load the views name
$fieldAttributes['custom']['views'] = ComponentbuilderHelper::safeString(ComponentbuilderHelper::getBetween($field['settings']->xml, 'views="', '"'));
// load the views name & replace the placeholders
$fieldAttributes['custom']['views'] = ComponentbuilderHelper::safeString($this->setPlaceholders(ComponentbuilderHelper::getBetween($field['settings']->xml, 'views="', '"'), $placeholders));
}
elseif ($property['name'] === 'component' && $setCustom)
{
// load the component name
$fieldAttributes['custom']['component'] = ComponentbuilderHelper::getBetween($field['settings']->xml, 'component="', '"');
// replace the placeholders
$fieldAttributes['custom']['component'] = $this->setPlaceholders($fieldAttributes['custom']['component'], $placeholders);
// load the component name & replace the placeholders
$fieldAttributes['custom']['component'] = $this->setPlaceholders(ComponentbuilderHelper::getBetween($field['settings']->xml, 'component="', '"'), $placeholders);
}
elseif ($property['name'] === 'table' && $setCustom)
{
// load the main table that is queried
$fieldAttributes['custom']['table'] = ComponentbuilderHelper::getBetween($field['settings']->xml, 'table="', '"');
// replace the placeholders
$fieldAttributes['custom']['table'] = $this->setPlaceholders($fieldAttributes['custom']['table'], $placeholders);
// load the main table that is queried & replace the placeholders
$fieldAttributes['custom']['table'] = $this->setPlaceholders(ComponentbuilderHelper::getBetween($field['settings']->xml, 'table="', '"'), $placeholders);
}
elseif ($property['name'] === 'value_field' && $setCustom)
{
@ -2286,6 +2372,30 @@ class Fields extends Structure
// now set the value
$fieldAttributes[$property['name']] = $xmlValue;
}
// validate that the default field is set
elseif ($property['name'] === 'default' && ($xmlValidateValue = ComponentbuilderHelper::getBetween($field['settings']->xml, 'default="', '"', 'none-set')) !== 'none-set')
{
// we must allow empty defaults
$fieldAttributes['default'] = $xmlValue;
}
}
// check if all php is loaded using the tracker
if (ComponentbuilderHelper::checkArray($phpTracker))
{
// litle search validation
$confirmation = '8qvZHoyuFYQqpj0YQbc6F3o5DhBlmS-_-a8pmCZfOVSfANjkmV5LG8pCdAY2JNYu6cB';
foreach ($phpTracker as $searchKey => $phpKey)
{
// we must search for more code in the xml just incase
foreach(range(2, 30) as $phpLine)
{
$get_ = $searchKey . '_' . $phpLine;
if (!isset($fieldAttributes['custom'][$phpKey][$phpLine]) && ($value = ComponentbuilderHelper::getValueFromXMLstring($field['settings']->xml, $get_, $confirmation)) !== $confirmation)
{
$fieldAttributes['custom'][$phpKey][$phpLine] = $this->setDynamicValues(ComponentbuilderHelper::openValidBase64($value));
}
}
}
}
// do some nice twigs beyond the default
if (isset($fieldAttributes['name']))
@ -2409,7 +2519,7 @@ class Fields extends Structure
}
}
// set list switch
$listSwitch = (isset($field['list']) && $field['list'] == 1);
$listSwitch = (isset($field['list']) && ($field['list'] == 1 || $field['list'] == 3 || $field['list'] == 4 ));
// set list join
$listJoin = (isset($this->listJoinBuilder[$view_name_list][(int) $field['field']]));
// add history to this view
@ -2472,7 +2582,8 @@ class Fields extends Structure
'sort' => (isset($field['sort']) && $field['sort']) ? true : false,
'custom' => $custom,
'multiple' => $multiple,
'options' => $options);
'options' => $options,
'target' => (int) $field['list']);
}
// build custom builder list
if ($listSwitch || $listJoin)
@ -2730,119 +2841,165 @@ class Fields extends Structure
public function setCustomFieldTypeFile($data, $view_name_list, $view_name_single)
{
// make sure it is not already been build or if it is prime
if ((isset($data['custom']['prime_php']) && $data['custom']['prime_php'] == 1) || !isset($this->fileContentDynamic['customfield_' . $data['type']]) || !ComponentbuilderHelper::checkArray($this->fileContentDynamic['customfield_' . $data['type']]))
if (isset($data['custom']) && isset($data['custom']['extends']) && ((isset($data['custom']['prime_php']) && $data['custom']['prime_php'] == 1) || !isset($this->fileContentDynamic['customfield_' . $data['type']]) || !ComponentbuilderHelper::checkArray($this->fileContentDynamic['customfield_' . $data['type']])))
{
// first build the custom field type file
$target = array('admin' => 'customfield');
$this->buildDynamique($target, 'field' . $data['custom']['extends'], $data['custom']['type']);
// set tab and break replacements
$tabBreak = array(
'\t' => $this->_t(1),
'\n' => PHP_EOL
);
// make field dynamic
// set the [[[PLACEHOLDER]]] options
$replace = array(
$this->hhh . 'TABLE' . $this->hhh => $data['custom']['table'],
$this->hhh . 'ID' . $this->hhh => $data['custom']['id'],
$this->hhh . 'TEXT' . $this->hhh => $data['custom']['text'],
$this->hhh . 'CODE_TEXT' . $this->hhh => $data['code'] . '_' . $data['custom']['text'],
$this->hhh . 'CODE' . $this->hhh => $data['code'],
$this->hhh . 'component' . $this->hhh => $this->fileContentStatic[$this->hhh . 'component' . $this->hhh],
$this->hhh . 'Component' . $this->hhh => $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh],
$this->hhh . 'view_type' . $this->hhh => $view_name_single . '_' . $data['type'],
$this->hhh . 'type' . $this->hhh => $data['type'],
$this->hhh . 'view' . $this->hhh => $view_name_single,
$this->hhh . 'views' . $this->hhh => $view_name_list
$this->bbb . 'TABLE' . $this->ddd => $data['custom']['table'],
$this->bbb . 'ID' . $this->ddd => $data['custom']['id'],
$this->bbb . 'TEXT' . $this->ddd => $data['custom']['text'],
$this->bbb . 'CODE_TEXT' . $this->ddd => $data['code'] . '_' . $data['custom']['text'],
$this->bbb . 'CODE' . $this->ddd => $data['code'],
$this->bbb . 'view_type' . $this->ddd => $view_name_single . '_' . $data['type'],
$this->bbb . 'type' . $this->ddd => $data['type'],
$this->bbb . 'com_component' . $this->ddd => (isset($data['custom']['component']) && ComponentbuilderHelper::checkString($data['custom']['component'])) ? ComponentbuilderHelper::safeString($data['custom']['component']) : 'com_' . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh],
// set the generic values
$this->bbb . 'component' . $this->ddd => $this->fileContentStatic[$this->hhh . 'component' . $this->hhh],
$this->bbb . 'Component' . $this->ddd => $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh],
$this->bbb . 'view' . $this->ddd => (isset($data['custom']['view']) && ComponentbuilderHelper::checkString($data['custom']['view'])) ? ComponentbuilderHelper::safeString($data['custom']['view']) : $view_name_single,
$this->bbb . 'views' . $this->ddd => (isset($data['custom']['views']) && ComponentbuilderHelper::checkString($data['custom']['views'])) ? ComponentbuilderHelper::safeString($data['custom']['views']) : $view_name_list
);
// now load the php script
if (isset($data['custom']['php']) && ComponentbuilderHelper::checkArray($data['custom']['php']))
// now set the ###PLACEHOLDER### options
foreach ($replace as $replacekey => $replacevalue)
{
// make sure the ar is reset
$phpCode = '';
foreach ($data['custom']['php'] as $line => $code)
// update the key value
$replacekey = str_replace(array($this->bbb, $this->ddd), array($this->hhh, $this->hhh), $replacekey);
// now set the value
$replace[$replacekey] = $replacevalue;
}
// start loading the field type
$this->fileContentDynamic['customfield_' . $data['type']] = array();
// Type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'Type' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['type'], 'F');
// type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'type' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['type']);
// is this a own custom field
if (isset($data['custom']['own_custom']))
{
// make sure the button option notice is set to notify the developer that the button option is not available in own custom field types
if (isset($data['custom']['add_button']) && ($data['custom']['add_button'] === 'true' || 1 == $data['custom']['add_button']))
{
if (ComponentbuilderHelper::checkString($code))
// set error
$this->app->enqueueMessage(JText::_('<hr /><h3>Dynamic Button Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::_('The option to add a dynamic button is not available in <b>own custom field types</b>, you will have to custom code it.'), 'Error');
}
// load another file
$target = array('admin' => 'customfield');
$this->buildDynamique($target, 'fieldcustom', $data['custom']['type']);
// JFORM_extens <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_extends' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['extends']);
// JFORM_EXTENDS <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_EXTENDS' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['extends'], 'F');
// JFORM_TYPE_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_TYPE_PHP' . $this->hhh] = PHP_EOL . PHP_EOL . $this->_t(1) . "//" . $this->setLine(__LINE__) . " A " . $data['custom']['own_custom'] . " Field";
// load the other PHP options
foreach (ComponentbuilderHelper::$phpFieldArray as $x)
{
// reset the php bucket
$phpBucket = '';
// only set if avaliable
if (isset($data['custom']['php' . $x]) && ComponentbuilderHelper::checkArray($data['custom']['php' . $x]))
{
if ($line == 1)
foreach ($data['custom']['php' . $x] as $line => $code)
{
$phpCode .= $this->setPlaceholders($code, $tabBreak);
}
else
{
$phpCode .= PHP_EOL . $this->_t(2) . $this->setPlaceholders($code, $tabBreak);
if (ComponentbuilderHelper::checkString($code))
{
$phpBucket .= PHP_EOL . $this->setPlaceholders($code, $tabBreak);
}
}
// JFORM_TYPE_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_TYPE_PHP' . $this->hhh] .= PHP_EOL . $this->setPlaceholders($phpBucket, $replace);
}
}
// replace the placholders
$phpCode = $this->setPlaceholders($phpCode, $replace);
}
else
{
$phpCode = 'return null;';
}
// catch empty stuff
if (!ComponentbuilderHelper::checkString($phpCode))
{
$phpCode = 'return null;';
}
// some house cleaning for users
if ($data['custom']['extends'] === 'user')
{
// now load the php xclude script
if (ComponentbuilderHelper::checkArray($data['custom']['phpx']))
// first build the custom field type file
$target = array('admin' => 'customfield');
$this->buildDynamique($target, 'field' . $data['custom']['extends'], $data['custom']['type']);
// make sure the value is reset
$phpCode = '';
// now load the php script
if (isset($data['custom']['php']) && ComponentbuilderHelper::checkArray($data['custom']['php']))
{
// make sure the ar is reset
$phpxCode = '';
foreach ($data['custom']['phpx'] as $line => $code)
foreach ($data['custom']['php'] as $line => $code)
{
if (ComponentbuilderHelper::checkString($code))
{
if ($line == 1)
{
$phpxCode .= $this->setPlaceholders($code, $tabBreak);
$phpCode .= $this->setPlaceholders($code, $tabBreak);
}
else
{
$phpxCode .= PHP_EOL . $this->_t(2) . $this->setPlaceholders($code, $tabBreak);
$phpCode .= PHP_EOL . $this->_t(2) . $this->setPlaceholders($code, $tabBreak);
}
}
}
// replace the placholders
$phpxCode = $this->setPlaceholders($phpxCode, $replace);
$phpCode = $this->setPlaceholders($phpCode, $replace);
}
// catch empty stuff
if (!ComponentbuilderHelper::checkString($phpCode))
{
$phpCode = 'return null;';
}
// some house cleaning for users
if ($data['custom']['extends'] === 'user')
{
// make sure the value is reset
$phpxCode = '';
// now load the php xclude script
if (ComponentbuilderHelper::checkArray($data['custom']['phpx']))
{
foreach ($data['custom']['phpx'] as $line => $code)
{
if (ComponentbuilderHelper::checkString($code))
{
if ($line == 1)
{
$phpxCode .= $this->setPlaceholders($code, $tabBreak);
}
else
{
$phpxCode .= PHP_EOL . $this->_t(2) . $this->setPlaceholders($code, $tabBreak);
}
}
}
// replace the placholders
$phpxCode = $this->setPlaceholders($phpxCode, $replace);
}
// catch empty stuff
if (!ComponentbuilderHelper::checkString($phpxCode))
{
$phpxCode = 'return null;';
}
// temp holder for name
$tempName = $data['custom']['label'] . ' Group';
// set lang
$groupLangName = $this->langPrefix . '_' . ComponentbuilderHelper::safeString($tempName, 'U');
// add to lang array
$this->langContent[$this->lang][$groupLangName] = ComponentbuilderHelper::safeString($tempName, 'W');
// build the Group Control
$this->setGroupControl[$data['type']] = $groupLangName;
// JFORM_GETGROUPS_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETGROUPS_PHP' . $this->hhh] = $phpCode;
// JFORM_GETEXCLUDED_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETEXCLUDED_PHP' . $this->hhh] = $phpxCode;
}
else
{
$phpxCode = 'return null;';
// JFORM_GETOPTIONS_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETOPTIONS_PHP' . $this->hhh] = $phpCode;
}
if (!ComponentbuilderHelper::checkString($phpxCode))
{
$phpxCode = 'return null;';
}
// temp holder for name
$tempName = $data['custom']['label'] . ' Group';
// set lang
$groupLangName = $this->langPrefix . '_' . ComponentbuilderHelper::safeString($tempName, 'U');
// add to lang array
$this->langContent[$this->lang][$groupLangName] = ComponentbuilderHelper::safeString($tempName, 'W');
// build the Group Control
$this->setGroupControl[$data['type']] = $groupLangName;
// JFORM_GETGROUPS_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETGROUPS_PHP' . $this->hhh] = $phpCode;
// JFORM_GETEXCLUDED_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETEXCLUDED_PHP' . $this->hhh] = $phpxCode;
// type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'ADD_BUTTON' . $this->hhh] = $this->setAddButtonToListField($data['custom']);
}
else
{
// JFORM_GETOPTIONS_PHP <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'JFORM_GETOPTIONS_PHP' . $this->hhh] = $phpCode;
}
// Type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'Type' . $this->hhh] = ComponentbuilderHelper::safeString($data['custom']['type'], 'F');
// type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'type' . $this->hhh] = $data['custom']['type'];
// type <<<DYNAMIC>>>
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh . 'ADD_BUTTON' . $this->hhh] = $this->setAddButtonToListField($data['custom']);
}
}
@ -3073,7 +3230,8 @@ class Fields extends Structure
// set the warning only once
$this->setTidyWarning = true;
// now set the warning
$this->app->enqueueMessage(JText::_('You must enable the <b>Tidy</b> extension in your php.ini file so we can tidy up your xml! If you need help please <a href="https://github.com/vdm-io/Joomla-Component-Builder/issues/197#issuecomment-351181754" target="_blank">start here</a>!'), 'error');
$this->app->enqueueMessage(JText::_('<hr /><h3>Tidy Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::_('You must enable the <b>Tidy</b> extension in your php.ini file so we can tidy up your xml! If you need help please <a href="https://github.com/vdm-io/Joomla-Component-Builder/issues/197#issuecomment-351181754" target="_blank">start here</a>!'), 'Error');
}
return $xmlString;
}

View File

@ -613,7 +613,8 @@ class Interpretation extends Fields
}
}
// give notice of this issue
$this->app->enqueueMessage(JText::sprintf('The <b>WHMCS class</b> could not be added to this component. You will need to enable the add-on in the Joomla Component area (Add WHMCS)->Yes.', $this->libraries[$id]->name), 'error');
$this->app->enqueueMessage(JText::_('<hr /><h3>WHMCS Error</h3>'), 'Error');
$this->app->enqueueMessage(JText::sprintf('The <b>WHMCS class</b> could not be added to this component. You will need to enable the add-on in the Joomla Component area (Add WHMCS)->Yes. If you have done this, then please check that you have your own <b>Basic Encryption<b/> set in the global settings of JCB. Then open and save this component again, making sure that your WHMCS settings are still correct.', $this->libraries[$id]->name), 'Error');
return "//" . $this->setLine(__LINE__) . " The WHMCS class could not be added to this component." . PHP_EOL . "//" . $this->setLine(__LINE__) . " Please note that you will need to enable the add-on in the Joomla Component area (Add WHMCS)->Yes.";
}
@ -624,8 +625,9 @@ class Interpretation extends Fields
*/
public function setGetCryptKey()
{
// ENCRYPT_FILE
$this->fileContentStatic[$this->hhh . 'ENCRYPT_FILE' . $this->hhh] = '';
// WHMCS_ENCRYPT_FILE
$this->fileContentStatic[$this->hhh . 'WHMCS_ENCRYPT_FILE' . $this->hhh] = '';
// check if encryption is ative
if ((isset($this->basicEncryptionBuilder) && ComponentbuilderHelper::checkArray($this->basicEncryptionBuilder)) ||
(isset($this->mediumEncryptionBuilder) && ComponentbuilderHelper::checkArray($this->mediumEncryptionBuilder)) ||
(isset($this->whmcsEncryptionBuilder) && ComponentbuilderHelper::checkArray($this->whmcsEncryptionBuilder)) ||
@ -2073,9 +2075,17 @@ class Interpretation extends Fields
foreach ($order as $or)
{
list($as, $field) = array_map('trim', explode('.', $or['table_key']));
// set the string
$string = "\$query->order('" . $or['table_key'] . " " . $or['direction'] . "');";
// check if random
if ('RAND' === $or['direction'])
{
// set the string
$string = "\$query->order('RAND()');";
}
else
{
// set the string
$string = "\$query->order('" . $or['table_key'] . " " . $or['direction'] . "');";
}
// sort where
if ($as === 'a' || (isset($this->siteMainGet[$this->target][$code][$as]) && ComponentbuilderHelper::checkString($this->siteMainGet[$this->target][$code][$as])))
{
@ -3890,7 +3900,8 @@ class Interpretation extends Fields
// Start script builder for library files
if (!isset($this->libwarning[$id]))
{
$this->app->enqueueMessage(JText::sprintf('The conditional script builder for <b>%s</b> is not ready, sorry!', $this->libraries[$id]->name), 'warning');
$this->app->enqueueMessage(JText::_('<hr /><h3>Conditional Script Warning</h3>'), 'Warning');
$this->app->enqueueMessage(JText::sprintf('The conditional script builder for <b>%s</b> is not ready, sorry!', $this->libraries[$id]->name), 'Warning');
// set the warning only once
$this->libwarning[$id] = true;
}
@ -4543,6 +4554,9 @@ class Interpretation extends Fields
public function setMethodItemSave(&$view)
{
$script = '';
// get component name
$Component = $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh];
$component = $this->fileContentStatic[$this->hhh . 'component' . $this->hhh];
// check if there was script added before modeling of data
$script .= $this->getCustomScriptBuilder('php_before_save', $view, PHP_EOL . PHP_EOL);
// turn array into JSON string
@ -4557,7 +4571,22 @@ class Interpretation extends Fields
$script .= PHP_EOL . $this->_t(3) . "\$" . $jsonItem . "->loadArray(\$data['" . $jsonItem . "']);";
$script .= PHP_EOL . $this->_t(3) . "\$data['" . $jsonItem . "'] = (string) \$" . $jsonItem . ";";
$script .= PHP_EOL . $this->_t(2) . "}";
$script .= PHP_EOL . $this->_t(2) . "elseif (!isset(\$data['" . $jsonItem . "']))";
if (isset($this->permissionFields[$view]) && isset($this->permissionFields[$view][$jsonItem]) && ComponentbuilderHelper::checkArray($this->permissionFields[$view][$jsonItem]))
{
$script .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Also check permission since the value may be removed due to permissions";
$script .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Then we do not want to clear it out, but simple ignore the empty " . $jsonItem;
$script .= PHP_EOL . $this->_t(2) . "elseif (!isset(\$data['" . $jsonItem . "'])";
// only add permission that are available
foreach ($this->permissionFields[$view][$jsonItem] as $permission_option => $fieldType)
{
$script .= PHP_EOL . $this->_t(3) . "&& JFactory::getUser()->authorise('" . $view . "." . $permission_option . "." . $jsonItem . "', 'com_" . $component . "')";
}
$script .= ")";
}
else
{
$script .= PHP_EOL . $this->_t(2) . "elseif (!isset(\$data['" . $jsonItem . "']))";
}
$script .= PHP_EOL . $this->_t(2) . "{";
$script .= PHP_EOL . $this->_t(3) . "//" . $this->setLine(__LINE__) . " Set the empty " . $jsonItem . " to data";
$script .= PHP_EOL . $this->_t(3) . "\$data['" . $jsonItem . "'] = '';";
@ -4589,7 +4618,6 @@ class Interpretation extends Fields
}
}
// turn string into encrypted string
$Component = $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh];
foreach ($this->cryptionTypes as $cryptionType)
{
if (isset($this->{$cryptionType . 'EncryptionBuilder'}[$view]) && ComponentbuilderHelper::checkArray($this->{$cryptionType . 'EncryptionBuilder'}[$view]))
@ -5242,8 +5270,10 @@ class Interpretation extends Fields
$routeHelper[] = $this->_t(2) . "else";
$routeHelper[] = $this->_t(2) . "{";
$routeHelper[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Initialize the needel array.";
$routeHelper[] = $this->_t(3) . "\$needles = array();";
$routeHelper[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . "Create the link but don't add the id.";
$routeHelper[] = $this->_t(3) . "\$needles = array(";
$routeHelper[] = $this->_t(4) . "'" . $viewName_single . "' => array()";
$routeHelper[] = $this->_t(3) . ");";
$routeHelper[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Create the link but don't add the id.";
$routeHelper[] = $this->_t(3) . "\$link = 'index.php?option=com_" . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . "&view=" . $viewName_single . "';";
$routeHelper[] = $this->_t(2) . "}";
if ('category' != $viewName_single && 'categories' != $viewName_single)
@ -6314,7 +6344,29 @@ class Interpretation extends Fields
$db_ .= "," . PHP_EOL . $this->_t(1) . "KEY `idx_" . $key . "` (`" . $key . "`)";
}
}
$db_ .= PHP_EOL . ") ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;";
// easy bucket
$easy = array();
// get the mysql table settings
foreach ($this->mysqlTableKeys as $_mysqlTableKey => $_mysqlTableVal)
{
if (isset($this->mysqlTableSetting[$view])
&& ComponentbuilderHelper::checkArray($this->mysqlTableSetting[$view])
&& isset($this->mysqlTableSetting[$view][$_mysqlTableKey]))
{
$easy[$_mysqlTableKey] = $this->mysqlTableSetting[$view][$_mysqlTableKey];
}
else
{
$easy[$_mysqlTableKey] = $this->mysqlTableKeys[$_mysqlTableKey]['default'];
}
}
// add a little fix for the row_format
if (ComponentbuilderHelper::checkString($easy['row_format']))
{
$easy['row_format'] = ' ROW_FORMAT=' . $easy['row_format'];
}
// now build db string
$db_ .= PHP_EOL . ") ENGINE=" . $easy['engine'] . " AUTO_INCREMENT=0 DEFAULT CHARSET=" . $easy['charset'] . " DEFAULT COLLATE=" . $easy['collate'] . $easy['row_format'] . ";";
// check if this is a new table that should be added via update SQL
if (isset($this->addSQL['adminview']) && ComponentbuilderHelper::checkArray($this->addSQL['adminview']) && in_array($view, $this->addSQL['adminview']))
@ -6322,6 +6374,25 @@ class Interpretation extends Fields
// build the update array
$this->updateSQLBuilder["CREATETABLEIFNOTEXISTS`#__" . $component . "_" . $view . "`"] = $db_;
}
// check if the table row_format has changed
if (ComponentbuilderHelper::checkString($easy['row_format']) && isset($this->updateSQL['table_row_format']) && isset($this->updateSQL['table_row_format'][$view]))
{
// build the update array
$this->updateSQLBuilder["ALTERTABLE`#__" . $component . "_" . $view . "`" . trim($easy['row_format'])] = "ALTER TABLE `#__" . $component . "_" . $view . "`" . $easy['row_format'] . ";";
}
// check if the table engine has changed
if (isset($this->updateSQL['table_engine']) && isset($this->updateSQL['table_engine'][$view]))
{
// build the update array
$this->updateSQLBuilder["ALTERTABLE`#__" . $component . "_" . $view . "`ENGINE=" . $easy['engine']] = "ALTER TABLE `#__" . $component . "_" . $view . "` ENGINE = " . $easy['engine'] . ";";
}
// check if the table charset OR collation has changed (must be updated together)
if ((isset($this->updateSQL['table_charset']) && isset($this->updateSQL['table_charset'][$view])) ||
(isset($this->updateSQL['table_collate']) && isset($this->updateSQL['table_collate'][$view])))
{
// build the update array
$this->updateSQLBuilder["ALTERTABLE`#__" . $component . "_" . $view . "CONVERTTOCHARACTERSET" . $easy['charset'] . "COLLATE" . $easy['collate']] = "ALTER TABLE `#__" . $component . "_" . $view . "` CONVERT TO CHARACTER SET " . $easy['charset'] . " COLLATE " . $easy['collate'] . ";";
}
// add to main DB string
$db .= $db_ . PHP_EOL . PHP_EOL;
@ -6719,25 +6790,29 @@ class Interpretation extends Fields
// start adding the dynamic
foreach ($this->listBuilder[$viewName_list] as $item)
{
// set some defaults
$customAdminViewButtons = '';
// set the item default class
$itemClass = 'hidden-phone';
// set the item row
$itemRow = $this->getListItemBuilder($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core);
// check if buttons was aready added
if ($firstTimeBeingAdded) // TODO we must improve this to allow more items to be targeted instead of just the first item :)
// check if target is admin list
if (1 == $item['target'] || 3 == $item['target'])
{
// get custom admin view buttons
$customAdminViewButtons = $this->getCustomAdminViewButtons($viewName_list);
// make sure the custom admin view buttons are only added once
$firstTimeBeingAdded = false;
// set some defaults
$customAdminViewButtons = '';
// set the item default class
$itemClass = 'hidden-phone';
// set the item row
$itemRow = $this->getListItemBuilder($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core);
// check if buttons was aready added
if ($firstTimeBeingAdded) // TODO we must improve this to allow more items to be targeted instead of just the first item :)
{
// get custom admin view buttons
$customAdminViewButtons = $this->getCustomAdminViewButtons($viewName_list);
// make sure the custom admin view buttons are only added once
$firstTimeBeingAdded = false;
}
// add row to body
$body .= PHP_EOL . $this->_t(2) . "<td class=\"" . $this->getListFieldClass($item['code'], $viewName_list, $itemClass) . "\">";
$body .= $itemRow;
$body .= $customAdminViewButtons;
$body .= PHP_EOL . $this->_t(2) . "</td>";
}
// add row to body
$body .= PHP_EOL . $this->_t(2) . "<td class=\"" . $this->getListFieldClass($item['code'], $viewName_list, $itemClass) . "\">";
$body .= $itemRow;
$body .= $customAdminViewButtons;
$body .= PHP_EOL . $this->_t(2) . "</td>";
}
// add the defaults
if (!isset($this->fieldsNames[$viewName_single]['published']))
@ -7049,7 +7124,7 @@ class Interpretation extends Fields
$referal = '';
if (!$ref)
{
$ref = '&ref=' . $viewName_list;
$ref = '&return=<?php echo $this->return_here; ?>';
}
// in linked tab/view so must add ref to default
else
@ -7213,30 +7288,34 @@ class Interpretation extends Fields
// build the dynamic fields
foreach ($this->listBuilder[$viewName_list] as $item)
{
// check if we have an over-ride
if (isset($this->listHeadOverRide[$viewName_list]) && ComponentbuilderHelper::checkArray($this->listHeadOverRide[$viewName_list]) && isset($this->listHeadOverRide[$viewName_list][$item['id']]))
// check if target is admin list
if (1 == $item['target'] || 3 == $item['target'])
{
$item['lang'] = $this->listHeadOverRide[$viewName_list][$item['id']];
// check if we have an over-ride
if (isset($this->listHeadOverRide[$viewName_list]) && ComponentbuilderHelper::checkArray($this->listHeadOverRide[$viewName_list]) && isset($this->listHeadOverRide[$viewName_list][$item['id']]))
{
$item['lang'] = $this->listHeadOverRide[$viewName_list][$item['id']];
}
// set the custom code
if (ComponentbuilderHelper::checkArray($item['custom']))
{
$item['code'] = $item['code'] . '_' . $item['custom']['text'];
}
$class = 'nowrap hidden-phone';
if ($item['link'])
{
$class = 'nowrap';
}
$title = "<?php echo JText:" . ":_('" . $item['lang'] . "'); ?>";
if ($item['sort'])
{
$title = "<?php echo JHtml::_('grid.sort', '" . $item['lang'] . "', '" . $item['code'] . "', \$this->listDirn, \$this->listOrder); ?>";
}
$head .= PHP_EOL . $this->_t(1) . '<th class="' . $class . '" >';
$head .= PHP_EOL . $this->_t(3) . $title;
$head .= PHP_EOL . $this->_t(1) . "</th>";
$this->listColnrBuilder[$viewName_list] ++;
}
// set the custom code
if (ComponentbuilderHelper::checkArray($item['custom']))
{
$item['code'] = $item['code'] . '_' . $item['custom']['text'];
}
$class = 'nowrap hidden-phone';
if ($item['link'])
{
$class = 'nowrap';
}
$title = "<?php echo JText:" . ":_('" . $item['lang'] . "'); ?>";
if ($item['sort'])
{
$title = "<?php echo JHtml::_('grid.sort', '" . $item['lang'] . "', '" . $item['code'] . "', \$this->listDirn, \$this->listOrder); ?>";
}
$head .= PHP_EOL . $this->_t(1) . '<th class="' . $class . '" >';
$head .= PHP_EOL . $this->_t(3) . $title;
$head .= PHP_EOL . $this->_t(1) . "</th>";
$this->listColnrBuilder[$viewName_list] ++;
}
// set default
if (!isset($this->fieldsNames[$viewName_single]['published']))
@ -7637,7 +7716,8 @@ class Interpretation extends Fields
}
else
{
$this->app->enqueueMessage(JText::sprintf('Your <b>%s</b> field could not be added, since the <b>%s</b> alignment position is not available in the %s (publishing) tab. Please only target <b>Left or right</b> in the publishing tab.', $df_name, $alignmentNames[$df_alignment], $viewName_single), 'warning');
$this->app->enqueueMessage(JText::_('<hr /><h3>Field Warning</h3>'), 'Warning');
$this->app->enqueueMessage(JText::sprintf('Your <b>%s</b> field could not be added, since the <b>%s</b> alignment position is not available in the %s (publishing) tab. Please only target <b>Left or right</b> in the publishing tab.', $df_name, $alignmentNames[$df_alignment], $viewName_single), 'Warning');
}
}
}
@ -7700,6 +7780,7 @@ class Interpretation extends Fields
// only triger the info notice if there were custom fields targeted to the right alignment position.
if ($fieldsAddedRight)
{
$this->app->enqueueMessage(JText::_('<hr /><h3>Field Notice</h3>'), 'Notice');
$this->app->enqueueMessage(JText::sprintf('Your field/s added to the <b>right</b> alignment position in the %s (publishing) tab was added to the <b>left</b>. Since we have metadata fields on the right. Fields can only be loaded to the right of the publishing tab if there is no metadata fields.', $viewName_single), 'Notice');
}
// set the publishing layout
@ -8170,27 +8251,31 @@ class Interpretation extends Fields
// start adding the dynamic
foreach ($this->listBuilder[$viewName_list] as $item)
{
// set the ref
$ref = '<?php echo $ref; ?>';
// set some defaults
$customAdminViewButtons = '';
// set the item row
$itemRow = $this->getListItemBuilder($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core, false, $ref, '$displayData->escape', '$user', $refview);
// check if buttons was aready added
if ($firstTimeBeingAdded) // TODO we must improve this to allow more items to be targeted instead of just the first item :)
// check if target is linked list view
if (1 == $item['target'] || 4 == $item['target'])
{
// get custom admin view buttons
$customAdminViewButtons = $this->getCustomAdminViewButtons($viewName_list, $ref);
// make sure the custom admin view buttons are only added once
$firstTimeBeingAdded = false;
// set the ref
$ref = '<?php echo $ref; ?>';
// set some defaults
$customAdminViewButtons = '';
// set the item row
$itemRow = $this->getListItemBuilder($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core, false, $ref, '$displayData->escape', '$user', $refview);
// check if buttons was aready added
if ($firstTimeBeingAdded) // TODO we must improve this to allow more items to be targeted instead of just the first item :)
{
// get custom admin view buttons
$customAdminViewButtons = $this->getCustomAdminViewButtons($viewName_list, $ref);
// make sure the custom admin view buttons are only added once
$firstTimeBeingAdded = false;
}
// add row to body
$body .= PHP_EOL . $this->_t(2) . "<td>";
$body .= $itemRow;
$body .= $customAdminViewButtons;
$body .= PHP_EOL . $this->_t(2) . "</td>";
// increment counter
$counter++;
}
// add row to body
$body .= PHP_EOL . $this->_t(2) . "<td>";
$body .= $itemRow;
$body .= $customAdminViewButtons;
$body .= PHP_EOL . $this->_t(2) . "</td>";
// increment counter
$counter++;
}
$counter = $counter + 2;
$data_value = (3 == $this->footableVersion) ? 'data-sort-value' : 'data-value';
@ -8355,31 +8440,35 @@ class Interpretation extends Fields
// build the dynamic fields
foreach ($this->listBuilder[$viewName_list] as $item)
{
// check if we have an over-ride
if (isset($this->listHeadOverRide[$viewName_list]) && ComponentbuilderHelper::checkArray($this->listHeadOverRide[$viewName_list]) && isset($this->listHeadOverRide[$viewName_list][$item['id']]))
// check if target is linked list view
if (1 == $item['target'] || 4 == $item['target'])
{
$item['lang'] = $this->listHeadOverRide[$viewName_list][$item['id']];
}
$setin = (2 == $this->footableVersion) ? ' data-hide="phone"' : ' data-breakpoints="xs sm"';
if ($controller > 3)
{
$setin = (2 == $this->footableVersion) ? ' data-hide="phone,tablet"' : ' data-breakpoints="xs sm md"';
}
// check if we have an over-ride
if (isset($this->listHeadOverRide[$viewName_list]) && ComponentbuilderHelper::checkArray($this->listHeadOverRide[$viewName_list]) && isset($this->listHeadOverRide[$viewName_list][$item['id']]))
{
$item['lang'] = $this->listHeadOverRide[$viewName_list][$item['id']];
}
$setin = (2 == $this->footableVersion) ? ' data-hide="phone"' : ' data-breakpoints="xs sm"';
if ($controller > 3)
{
$setin = (2 == $this->footableVersion) ? ' data-hide="phone,tablet"' : ' data-breakpoints="xs sm md"';
}
if ($controller > 6)
{
$setin = (2 == $this->footableVersion) ? ' data-hide="all"' : ' data-breakpoints="all"';
}
if ($controller > 6)
{
$setin = (2 == $this->footableVersion) ? ' data-hide="all"' : ' data-breakpoints="all"';
}
if ($item['link'] && $firstLink)
{
$setin = (2 == $this->footableVersion) ? ' data-toggle="true"' : '';
$firstLink = false;
if ($item['link'] && $firstLink)
{
$setin = (2 == $this->footableVersion) ? ' data-toggle="true"' : '';
$firstLink = false;
}
$head .= PHP_EOL . $this->_t(2) . "<th" . $setin . $htmlFix . ">";
$head .= PHP_EOL . $this->_t(3) . "<?php echo JText:" . ":_('" . $item['lang'] . "'); ?>";
$head .= PHP_EOL . $this->_t(2) . "</th>";
$controller++;
}
$head .= PHP_EOL . $this->_t(2) . "<th" . $setin . $htmlFix . ">";
$head .= PHP_EOL . $this->_t(3) . "<?php echo JText:" . ":_('" . $item['lang'] . "'); ?>";
$head .= PHP_EOL . $this->_t(2) . "</th>";
$controller++;
}
// set some V3 attr
$data_hide = (2 == $this->footableVersion) ? 'data-hide="phone,tablet"' : 'data-breakpoints="xs sm md"';
@ -10594,7 +10683,7 @@ class Interpretation extends Fields
$codeName = $filter['code'] . ComponentbuilderHelper::safeString($filter['custom']['text'], 'F');
$type = ComponentbuilderHelper::safeString($filter['custom']['type'], 'F');
$otherFilter[] = PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Set " . $CodeName . " Selection";
$otherFilter[] = $this->_t(2) . "\$this->" . $codeName . "Options = JFormHelper::loadFieldType('" . $type . "')->getOptions();";
$otherFilter[] = $this->_t(2) . "\$this->" . $codeName . "Options = JFormHelper::loadFieldType('" . $type . "')->options;";
$otherFilter[] = $this->_t(2) . "if (\$this->" . $codeName . "Options)";
$otherFilter[] = $this->_t(2) . "{";
$otherFilter[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " " . $CodeName . " Filter";
@ -11242,6 +11331,19 @@ class Interpretation extends Fields
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('created', 'filter', 'unset');";
$allow[] = $this->_t(2) . "}";
// check if the item has access permissions.
if ($coreLoad && isset($core['core.edit.access']) && isset($this->permissionBuilder[$core['core.edit.access']]) && ComponentbuilderHelper::checkArray($this->permissionBuilder[$core['core.edit.access']]) && in_array($viewName_single, $this->permissionBuilder[$core['core.edit.access']]))
{
$allow[] = $this->_t(2) . "//" . $this->setLine(__LINE__) . " Modify the form based on Edit Access 'access' controls.";
$allow[] = $this->_t(2) . "if (\$id != 0 && (!\$user->authorise('" . $core['core.edit.access'] . "', 'com_" . $component . "." . $viewName_single . ".' . (int) \$id))";
$allow[] = $this->_t(3) . "|| (\$id == 0 && !\$user->authorise('" . $core['core.edit.access'] . "', 'com_" . $component . "')))";
$allow[] = $this->_t(2) . "{";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable fields for display.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('access', 'disabled', 'true');";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('access', 'filter', 'unset');";
$allow[] = $this->_t(2) . "}";
}
// handel the fields permissions
if (isset($this->permissionFields[$viewName_single]) && ComponentbuilderHelper::checkArray($this->permissionFields[$viewName_single]))
{
@ -11340,12 +11442,21 @@ class Interpretation extends Fields
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " Make the field hidded.";
$allow[] = $this->_t(3) . "\$form->setFieldAttribute('" . $fieldName . "', 'type', 'hidden');";
$allow[] = $this->_t(3) . "//" . $this->setLine(__LINE__) . " If there is no value continue.";
$allow[] = $this->_t(3) . "if (!\$form->getValue('" . $fieldName . "'))";
$allow[] = $this->_t(3) . "if (!(\$val = \$form->getValue('" . $fieldName . "')))";
$allow[] = $this->_t(3) . "{";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(4) . "\$form->setFieldAttribute('" . $fieldName . "', 'filter', 'unset');";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Disable fields while saving.";
$allow[] = $this->_t(4) . "\$form->setFieldAttribute('" . $fieldName . "', 'required', 'false');";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Make sure";
$allow[] = $this->_t(4) . "\$form->setValue('" . $fieldName . "', null, '');";
$allow[] = $this->_t(3) . "}";
$allow[] = $this->_t(3) . "elseif (" . ucfirst($component) . "Helper::checkArray(\$val))";
$allow[] = $this->_t(3) . "{";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " We have to unset then (TODO)";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Hiddend field can not handel array value";
$allow[] = $this->_t(4) . "//" . $this->setLine(__LINE__) . " Even if we conver to json we get an error";
$allow[] = $this->_t(4) . "\$form->removeField('" . $fieldName . "');";
$allow[] = $this->_t(3) . "}";
$allow[] = $this->_t(2) . "}";
}
@ -12294,6 +12405,8 @@ class Interpretation extends Fields
// JSON_ARRAY_ENCODE
$decode = 'json_decode';
$suffix_decode = ', true';
// fallback on json
$item['method'] = 1;
break;
}
@ -12444,7 +12557,7 @@ class Interpretation extends Fields
{
if (!$export)
{
// For thos we have not cached yet.
// For those we have not cached yet.
$fix .= PHP_EOL . $this->_t(1) . $tab . $this->_t(3) . "//" . $this->setLine(__LINE__) . " convert " . $item['name'];
$fix .= PHP_EOL . $this->_t(1) . $tab . $this->_t(3) . "\$item->" . $item['name'] . " = " . $Component . "Helper::jsonToString(\$item->" . $item['name'] . ");";
}
@ -13358,17 +13471,37 @@ class Interpretation extends Fields
$lang = $this->langPrefix . '_MENU';
// set the code name
$codeName = ComponentbuilderHelper::safeString($this->componentData->name_code);
// set main menu name to lang
$addPrefix = $this->params->get('add_menu_prefix', 1);
// default prefix is none
$prefix = '';
// check if local is set
if (isset($this->componentData->add_menu_prefix) && is_numeric($this->componentData->add_menu_prefix))
{
// set main menu prefix switch
$addPrefix = $this->componentData->add_menu_prefix;
if ($addPrefix == 1 && isset($this->componentData->menu_prefix) && ComponentbuilderHelper::checkString($this->componentData->menu_prefix))
{
$prefix = trim($this->componentData->menu_prefix) . ' ';
}
}
else
{
// set main menu prefix switch
$addPrefix = $this->params->get('add_menu_prefix', 1);
if ($addPrefix == 1)
{
$prefix = trim($this->params->get('menu_prefix', '&#187;')) . ' ';
}
}
// add the prefix
if ($addPrefix == 1)
{
$prefix = trim($this->params->get('menu_prefix', '&#187;'));
$this->langContent['adminsys'][$lang] = $prefix . ' ' . $this->componentData->name;
$this->langContent['adminsys'][$lang] = $prefix . $this->componentData->name;
}
else
{
$this->langContent['adminsys'][$lang] = $this->componentData->name;
}
// loop over the admin views
foreach ($this->componentData->admin_views as $view)
{
// set custom menu
@ -15401,13 +15534,13 @@ function vdm_dkim() {
foreach ($field['permission'] as $permission_id)
{
// set the permission key word
$permission_option = $permission_options[$permission_id];
$permission_option = $permission_options[ (int) $permission_id];
// reset the bucket
$fieldView = array();
// set the permission for this field
$fieldView['action'] = 'view.' . $permission_option . '.' . $fieldName;
$fieldView['implementation'] = '3';
// check if persmissions was laready set
// check if persmissions was already set
if (isset($view['settings']->permissions) && ComponentbuilderHelper::checkArray($view['settings']->permissions))
{
array_push($view['settings']->permissions, $fieldView);
@ -15538,6 +15671,7 @@ function vdm_dkim() {
$view['settings']->permissions[] = $versionView;
}
}
// add batch permissions
if ($type === 'admin')
{
// set batch control
@ -15553,6 +15687,7 @@ function vdm_dkim() {
$view['settings']->permissions[] = $batchView;
}
}
// load the permissions
foreach ($view['settings']->permissions as $permission)
{
// set acction name
@ -15577,6 +15712,12 @@ function vdm_dkim() {
array_shift($actionNameBuilder);
$nameBuilder = trim(implode('___', $actionNameBuilder));
$customName = trim(implode(' ', $actionNameBuilder));
// check if we have access set for this view (if not skip)
if ($nameBuilder === 'edit___access' && $type === 'admin' && (!isset($view['access']) || $view['access'] != 1))
{
continue;
}
// build the names
if ($type === 'admin')
{
$W_NameList = ComponentbuilderHelper::safeString($view['settings']->name_list, 'W');
@ -15604,6 +15745,12 @@ function vdm_dkim() {
// set edit description
$permission['description'] = ' Allows the users in this group to edit ' . $w_NameList . ' created by them';
break;
case 'edit___access':
// set edit title
$permission['title'] = $W_NameList . ' Edit Access';
// set edit description
$permission['description'] = ' Allows the users in this group to change the access of the ' . $w_NameList;
break;
case 'edit___state':
// set edit title
$permission['title'] = $W_NameList . ' Edit State';

View File

@ -175,9 +175,6 @@ class Infusion extends Interpretation
// ADMIN_GLOBAL_EVENT
$this->fileContentStatic[$this->hhh . 'ADMIN_GLOBAL_EVENT' . $this->hhh] = '';
// set incase no extra admin files are loaded
$this->fileContentStatic[$this->hhh . 'EXSTRA_ADMIN_FILES' . $this->hhh] = '';
// now load the data for the global event if needed
if ($this->componentData->add_admin_event == 1)
{

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,13 @@
*/
abstract class ComponentbuilderEmail
{
/**
* The active recipient
*
* @var activeRecipient (array)
*/
public static $active = array();
/**
* Configuraiton object
*
@ -49,6 +56,44 @@ abstract class ComponentbuilderEmail
return self::$config;
}
/**
* Returns the global mailer object, only creating it if it doesn't already exist.
*
*/
public static function getMailerInstance()
{
if (!self::$mailer)
{
self::$mailer = self::createMailer();
}
return self::$mailer;
}
/**
* Check that a string looks like an email address.
* @param string $address The email address to check
* @param string|callable $patternselect A selector for the validation pattern to use :
* * `auto` Pick best pattern automatically;
* * `pcre8` Use the squiloople.com pattern, requires PCRE > 8.0, PHP >= 5.3.2, 5.2.14;
* * `pcre` Use old PCRE implementation;
* * `php` Use PHP built-in FILTER_VALIDATE_EMAIL;
* * `html5` Use the pattern given by the HTML5 spec for 'email' type form input elements.
* * `noregex` Don't use a regex: super fast, really dumb.
* Alternatively you may pass in a callable to inject your own validator, for example:
* PHPMailer::validateAddress('user@example.com', function($address) {
* return (strpos($address, '@') !== false);
* });
* You can also set the PHPMailer::$validator static to a callable, allowing built-in methods to use your validator.
* @return boolean
* @static
* @access public
*/
public static function validateAddress($address, $patternselect = null)
{
return self::getMailerInstance()->validateAddress($address, $patternselect);
}
/**
* Get a mailer object.
*
@ -277,13 +322,70 @@ abstract class ComponentbuilderEmail
if (method_exists('ComponentbuilderHelper','storeMessage'))
{
// store the massage if the method is set
ComponentbuilderHelper::storeMessage($sendmail, $recipient, $subject, $body, $textonly, $mode, 'email');
// if we have active recipient details
if (isset(self::$active[$recipient]))
{
// store the massage if the method is set
ComponentbuilderHelper::storeMessage($sendmail, self::$active[$recipient], $subject, $body, $textonly, $mode, 'email');
// clear memory
unset(self::$active[$recipient]);
}
else
{
// store the massage if the method is set
ComponentbuilderHelper::storeMessage($sendmail, $recipient, $subject, $body, $textonly, $mode, 'email');
}
}
return $sendmail;
}
/**
* Set html text (in a row) and subject (as title) to a email table.
* do not use <p> instead use <br />
* in your html that you pass to this method
* since it is a table row it does not
* work well with paragraphs
*
* @return string on success
*
*/
public static function setBasicBody($html, $subject)
{
$body = array();
$body[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
$body[] = "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
$body[] = "<head>";
$body[] = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
$body[] = "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>";
$body[] = "<title>" . $subject . "</title>";
$body[] = "<style type=\"text/css\">";
$body[] = "#outlook a {padding:0;}";
$body[] = ".ExternalClass {width:100%;}";
$body[] = ".ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} ";
$body[] = "p {margin: 0; padding: 0; font-size: 0px; line-height: 0px;} ";
$body[] = "table td {border-collapse: collapse;}";
$body[] = "table {border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }";
$body[] = "img {display: block; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;}";
$body[] = "a img {border: none;}";
$body[] = "a {text-decoration: none; color: #000001;}";
$body[] = "a.phone {text-decoration: none; color: #000001 !important; pointer-events: auto; cursor: default;}";
$body[] = "span {font-size: 13px; line-height: 17px; font-family: monospace; color: #000001;}";
$body[] = "</style>";
$body[] = "<!--[if gte mso 9]>";
$body[] = "<style>";
$body[] = "/* Target Outlook 2007 and 2010 */";
$body[] = "</style>";
$body[] = "<![endif]-->";
$body[] = "</head>";
$body[] = "<body style=\"width:100%; margin:0; padding:0; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;\">";
$body[] = $html;
$body[] = "</body>";
$body[] = "</html>";
return implode("\n", $body);
}
/**
* Set html text (in a row) and subject (as title) to a email table.
* do not use <p> instead use <br />

View File

@ -322,6 +322,8 @@ COM_COMPONENTBUILDER_ADMIN_FIELDS_NEW="A New Admin Fields"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NONE_DB="None DB"
COM_COMPONENTBUILDER_ADMIN_FIELDS_NOTE_ON_VIEWS_DESCRIPTION="id, asset_id, state, access, ordering, created_by, created, modified_by, modified, checked_out, checked_out_time, version, hits, metakey, metadesc, metadata (you don't need to add them again)<br />For more help <a href='https://youtu.be/CdSKSCTzmRA?list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=32m28s' target='_blank'>please watch this tutorial</a>."
COM_COMPONENTBUILDER_ADMIN_FIELDS_NOTE_ON_VIEWS_LABEL="The following fields are added by default to all views."
COM_COMPONENTBUILDER_ADMIN_FIELDS_ONLY_IN_ADMIN_LIST_VIEW="Only in Admin List View"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ONLY_IN_LINKED_LIST_VIEWS="Only in Linked List Views"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_ADMIN_FIELDS_ORDER_EDIT_DESCRIPTION="Order in relation to tab &amp; alignment of admin and site."
COM_COMPONENTBUILDER_ADMIN_FIELDS_ORDER_EDIT_LABEL="Order in Edit"
@ -385,7 +387,7 @@ COM_COMPONENTBUILDER_ADMIN_FIELDS_RIGHT_OF_TABS="Right of Tabs"
COM_COMPONENTBUILDER_ADMIN_FIELDS_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Admin Fields to customise the alias."
COM_COMPONENTBUILDER_ADMIN_FIELDS_SEARCH_DESCRIPTION="Select if the field is to be searchable in list view, if shown."
COM_COMPONENTBUILDER_ADMIN_FIELDS_SEARCH_LABEL="Searchable"
COM_COMPONENTBUILDER_ADMIN_FIELDS_SHOW_IN_LIST_VIEW="Show in list view"
COM_COMPONENTBUILDER_ADMIN_FIELDS_SHOW_IN_ALL_LIST_VIEWS="Show in All List Views"
COM_COMPONENTBUILDER_ADMIN_FIELDS_SORT_DESCRIPTION="Select if the field should be sortable in list view, if shown."
COM_COMPONENTBUILDER_ADMIN_FIELDS_SORT_LABEL="Sortable"
COM_COMPONENTBUILDER_ADMIN_FIELDS_STATUS="Status"
@ -542,6 +544,9 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_TYPE_DESCRIPTION="How should the a
COM_COMPONENTBUILDER_ADMIN_VIEW_ALIAS_BUILDER_TYPE_LABEL="Alias Builder Type"
COM_COMPONENTBUILDER_ADMIN_VIEW_ALNUM="ALNUM"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARCHIVE="Archive"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARMSCIIEIGHT_ARMSCIIEIGHT_ARMENIAN_MOST_SUITABLE_COLLATION_ARMSCIIEIGHT_GENERAL_CI="armscii8 - ARMSCII-8 Armenian (most suitable collation = armscii8_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARMSCIIEIGHT_BIN_CHARSET_ARMSCIIEIGHT="armscii8_bin (charset = armscii8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARMSCIIEIGHT_GENERAL_CI_CHARSET_ARMSCIIEIGHT="armscii8_general_ci (charset = armscii8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARRAY="ARRAY"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARROW_DOWN="Arrow Down"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARROW_DOWN_FOUR="Arrow Down 4"
@ -561,12 +566,20 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_ARROW_UP="Arrow Up"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARROW_UP_FOUR="Arrow Up 4"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARROW_UP_THREE="Arrow Up 3"
COM_COMPONENTBUILDER_ADMIN_VIEW_ARROW_UP_TWO="Arrow Up 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_ASCII_BIN_CHARSET_ASCII="ascii_bin (charset = ascii)"
COM_COMPONENTBUILDER_ADMIN_VIEW_ASCII_GENERAL_CI_CHARSET_ASCII="ascii_general_ci (charset = ascii)"
COM_COMPONENTBUILDER_ADMIN_VIEW_ASCII_US_ASCII_MOST_SUITABLE_COLLATION_ASCII_GENERAL_CI="ascii - US ASCII (most suitable collation = ascii_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_ATTACHMENT="Attachment"
COM_COMPONENTBUILDER_ADMIN_VIEW_BACKWARD_CIRCLE="Backward Circle"
COM_COMPONENTBUILDER_ADMIN_VIEW_BAN_CIRCLE="Ban Circle"
COM_COMPONENTBUILDER_ADMIN_VIEW_BARS="Bars"
COM_COMPONENTBUILDER_ADMIN_VIEW_BASESIXTY_FOUR="BASE64"
COM_COMPONENTBUILDER_ADMIN_VIEW_BASKET="Basket"
COM_COMPONENTBUILDER_ADMIN_VIEW_BIGFIVE_BIGFIVE_TRADITIONAL_CHINESE_MOST_SUITABLE_COLLATION_BIGFIVE_CHINESE_CI="big5 - Big5 Traditional Chinese (most suitable collation = big5_chinese_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_BIGFIVE_BIN_CHARSET_BIGFIVE="big5_bin (charset = big5)"
COM_COMPONENTBUILDER_ADMIN_VIEW_BIGFIVE_CHINESE_CI_CHARSET_BIGFIVE="big5_chinese_ci (charset = big5)"
COM_COMPONENTBUILDER_ADMIN_VIEW_BINARY_BINARY_PSEUDO_CHARSET_MOST_SUITABLE_COLLATION_BINARY="binary - Binary pseudo charset (most suitable collation = binary)"
COM_COMPONENTBUILDER_ADMIN_VIEW_BINARY_CHARSET_BINARY="binary (charset = binary)"
COM_COMPONENTBUILDER_ADMIN_VIEW_BOOK="Book"
COM_COMPONENTBUILDER_ADMIN_VIEW_BOOKMARK="Bookmark"
COM_COMPONENTBUILDER_ADMIN_VIEW_BOOKMARK_TWO="Bookmark 2"
@ -597,16 +610,50 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_COG="Cog"
COM_COMPONENTBUILDER_ADMIN_VIEW_COGS="Cogs"
COM_COMPONENTBUILDER_ADMIN_VIEW_COMMENT="Comment"
COM_COMPONENTBUILDER_ADMIN_VIEW_COMMENTS_TWO="Comments 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_COMPACT="COMPACT"
COM_COMPONENTBUILDER_ADMIN_VIEW_COMPASS="Compass"
COM_COMPONENTBUILDER_ADMIN_VIEW_COMPRESSED="COMPRESSED"
COM_COMPONENTBUILDER_ADMIN_VIEW_CONTRACT="Contract"
COM_COMPONENTBUILDER_ADMIN_VIEW_CONTRACT_TWO="Contract 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_CORECREATE="core.create"
COM_COMPONENTBUILDER_ADMIN_VIEW_COREDELETE="core.delete"
COM_COMPONENTBUILDER_ADMIN_VIEW_COREEDIT="core.edit"
COM_COMPONENTBUILDER_ADMIN_VIEW_COREEDITACCESS="core.edit.access"
COM_COMPONENTBUILDER_ADMIN_VIEW_COREEDITCREATED="core.edit.created"
COM_COMPONENTBUILDER_ADMIN_VIEW_COREEDITCREATED_BY="core.edit.created_by"
COM_COMPONENTBUILDER_ADMIN_VIEW_COREEDITOWN="core.edit.own"
COM_COMPONENTBUILDER_ADMIN_VIEW_COREEDITSTATE="core.edit.state"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_FIFTY_BIN_CHARSET_CPEIGHT_HUNDRED_AND_FIFTY="cp850_bin (charset = cp850)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_FIFTY_DOS_WEST_EUROPEAN_MOST_SUITABLE_COLLATION_CPEIGHT_HUNDRED_AND_FIFTY_GENERAL_CI="cp850 - DOS West European (most suitable collation = cp850_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_FIFTY_GENERAL_CI_CHARSET_CPEIGHT_HUNDRED_AND_FIFTY="cp850_general_ci (charset = cp850)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_FIFTY_TWO_BIN_CHARSET_CPEIGHT_HUNDRED_AND_FIFTY_TWO="cp852_bin (charset = cp852)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_FIFTY_TWO_DOS_CENTRAL_EUROPEAN_MOST_SUITABLE_COLLATION_CPEIGHT_HUNDRED_AND_FIFTY_TWO_GENERAL_CI="cp852 - DOS Central European (most suitable collation = cp852_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_FIFTY_TWO_GENERAL_CI_CHARSET_CPEIGHT_HUNDRED_AND_FIFTY_TWO="cp852_general_ci (charset = cp852)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_SIXTY_SIX_BIN_CHARSET_CPEIGHT_HUNDRED_AND_SIXTY_SIX="cp866_bin (charset = cp866)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_SIXTY_SIX_DOS_RUSSIAN_MOST_SUITABLE_COLLATION_CPEIGHT_HUNDRED_AND_SIXTY_SIX_GENERAL_CI="cp866 - DOS Russian (most suitable collation = cp866_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPEIGHT_HUNDRED_AND_SIXTY_SIX_GENERAL_CI_CHARSET_CPEIGHT_HUNDRED_AND_SIXTY_SIX="cp866_general_ci (charset = cp866)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPNINE_HUNDRED_AND_THIRTY_TWO_BIN_CHARSET_CPNINE_HUNDRED_AND_THIRTY_TWO="cp932_bin (charset = cp932)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPNINE_HUNDRED_AND_THIRTY_TWO_JAPANESE_CI_CHARSET_CPNINE_HUNDRED_AND_THIRTY_TWO="cp932_japanese_ci (charset = cp932)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPNINE_HUNDRED_AND_THIRTY_TWO_SJIS_FOR_WINDOWS_JAPANESE_MOST_SUITABLE_COLLATION_CPNINE_HUNDRED_AND_THIRTY_TWO_JAPANESE_CI="cp932 - SJIS for Windows Japanese (most suitable collation = cp932_japanese_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_BIN_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY="cp1250_bin (charset = cp1250)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_CROATIAN_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY="cp1250_croatian_ci (charset = cp1250)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_CZECH_CS_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY="cp1250_czech_cs (charset = cp1250)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_GENERAL_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY="cp1250_general_ci (charset = cp1250)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE_BIN_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE="cp1251_bin (charset = cp1251)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE_BULGARIAN_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE="cp1251_bulgarian_ci (charset = cp1251)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE_GENERAL_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE="cp1251_general_ci (charset = cp1251)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE_GENERAL_CS_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE="cp1251_general_cs (charset = cp1251)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE_UKRAINIAN_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE="cp1251_ukrainian_ci (charset = cp1251)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE_WINDOWS_CYRILLIC_MOST_SUITABLE_COLLATION_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_ONE_GENERAL_CI="cp1251 - Windows Cyrillic (most suitable collation = cp1251_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_POLISH_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY="cp1250_polish_ci (charset = cp1250)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SEVEN_BIN_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SEVEN="cp1257_bin (charset = cp1257)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SEVEN_GENERAL_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SEVEN="cp1257_general_ci (charset = cp1257)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SEVEN_LITHUANIAN_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SEVEN="cp1257_lithuanian_ci (charset = cp1257)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SEVEN_WINDOWS_BALTIC_MOST_SUITABLE_COLLATION_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SEVEN_GENERAL_CI="cp1257 - Windows Baltic (most suitable collation = cp1257_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SIX_BIN_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SIX="cp1256_bin (charset = cp1256)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SIX_GENERAL_CI_CHARSET_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SIX="cp1256_general_ci (charset = cp1256)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SIX_WINDOWS_ARABIC_MOST_SUITABLE_COLLATION_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_SIX_GENERAL_CI="cp1256 - Windows Arabic (most suitable collation = cp1256_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_WINDOWS_CENTRAL_EUROPEAN_MOST_SUITABLE_COLLATION_CPONE_THOUSAND_TWO_HUNDRED_AND_FIFTY_GENERAL_CI="cp1250 - Windows Central European (most suitable collation = cp1250_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_CREATED_BY_DESC="The user that created this Admin View."
COM_COMPONENTBUILDER_ADMIN_VIEW_CREATED_BY_LABEL="Created By"
COM_COMPONENTBUILDER_ADMIN_VIEW_CREATED_DATE_DESC="The date this Admin View was created."
@ -628,6 +675,9 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_CUSTOM_BUTTON_LABEL="Custom Buttons"
COM_COMPONENTBUILDER_ADMIN_VIEW_CUSTOM_IMPORT="Custom Import"
COM_COMPONENTBUILDER_ADMIN_VIEW_DASHBOARD="Dashboard"
COM_COMPONENTBUILDER_ADMIN_VIEW_DATABASE="Database"
COM_COMPONENTBUILDER_ADMIN_VIEW_DECEIGHT_BIN_CHARSET_DECEIGHT="dec8_bin (charset = dec8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_DECEIGHT_DEC_WEST_EUROPEAN_MOST_SUITABLE_COLLATION_DECEIGHT_SWEDISH_CI="dec8 - DEC West European (most suitable collation = dec8_swedish_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_DECEIGHT_SWEDISH_CI_CHARSET_DECEIGHT="dec8_swedish_ci (charset = dec8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_DEFAULT="Default"
COM_COMPONENTBUILDER_ADMIN_VIEW_DELETE="Delete"
COM_COMPONENTBUILDER_ADMIN_VIEW_DESCRIPTION="Description"
@ -637,12 +687,19 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_DESCRIPTION_LABEL="Description"
COM_COMPONENTBUILDER_ADMIN_VIEW_DETAILS="Details"
COM_COMPONENTBUILDER_ADMIN_VIEW_DOWNLOAD="Download"
COM_COMPONENTBUILDER_ADMIN_VIEW_DUMP="Dump"
COM_COMPONENTBUILDER_ADMIN_VIEW_DYNAMIC="DYNAMIC"
COM_COMPONENTBUILDER_ADMIN_VIEW_EDIT="Editing the Admin View"
COM_COMPONENTBUILDER_ADMIN_VIEW_ENTER="Enter"
COM_COMPONENTBUILDER_ADMIN_VIEW_ENVELOPE="Envelope"
COM_COMPONENTBUILDER_ADMIN_VIEW_ENVELOPE_OPENED="Envelope Opened"
COM_COMPONENTBUILDER_ADMIN_VIEW_EQUALIZER="Equalizer"
COM_COMPONENTBUILDER_ADMIN_VIEW_ERROR_UNIQUE_ALIAS="Another Admin View has the same alias."
COM_COMPONENTBUILDER_ADMIN_VIEW_EUCJPMS_BIN_CHARSET_EUCJPMS="eucjpms_bin (charset = eucjpms)"
COM_COMPONENTBUILDER_ADMIN_VIEW_EUCJPMS_JAPANESE_CI_CHARSET_EUCJPMS="eucjpms_japanese_ci (charset = eucjpms)"
COM_COMPONENTBUILDER_ADMIN_VIEW_EUCJPMS_UJIS_FOR_WINDOWS_JAPANESE_MOST_SUITABLE_COLLATION_EUCJPMS_JAPANESE_CI="eucjpms - UJIS for Windows Japanese (most suitable collation = eucjpms_japanese_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_EUCKR_BIN_CHARSET_EUCKR="euckr_bin (charset = euckr)"
COM_COMPONENTBUILDER_ADMIN_VIEW_EUCKR_EUCKR_KOREAN_MOST_SUITABLE_COLLATION_EUCKR_KOREAN_CI="euckr - EUC-KR Korean (most suitable collation = euckr_korean_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_EUCKR_KOREAN_CI_CHARSET_EUCKR="euckr_korean_ci (charset = euckr)"
COM_COMPONENTBUILDER_ADMIN_VIEW_EXIT="Exit"
COM_COMPONENTBUILDER_ADMIN_VIEW_EXPAND="Expand"
COM_COMPONENTBUILDER_ADMIN_VIEW_EXPAND_TWO="Expand 2"
@ -673,14 +730,39 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_FOLDER_REMOVE="Folder Remove"
COM_COMPONENTBUILDER_ADMIN_VIEW_FOLDER_THREE="Folder 3"
COM_COMPONENTBUILDER_ADMIN_VIEW_FORWARD_CIRCLE="Forward Circle"
COM_COMPONENTBUILDER_ADMIN_VIEW_FORWARD_TWO="Forward 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBEIGHTEEN_THOUSAND_AND_THIRTY_BIN_CHARSET_GBEIGHTEEN_THOUSAND_AND_THIRTY="gb18030_bin (charset = gb18030)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBEIGHTEEN_THOUSAND_AND_THIRTY_CHINA_NATIONAL_STANDARD_GBEIGHTEEN_THOUSAND_AND_THIRTY_MOST_SUITABLE_COLLATION_GBEIGHTEEN_THOUSAND_AND_THIRTY_CHINESE_CI="gb18030 - China National Standard GB18030 (most suitable collation = gb18030_chinese_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBEIGHTEEN_THOUSAND_AND_THIRTY_CHINESE_CI_CHARSET_GBEIGHTEEN_THOUSAND_AND_THIRTY="gb18030_chinese_ci (charset = gb18030)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBEIGHTEEN_THOUSAND_AND_THIRTY_UNICODE_FIVE_HUNDRED_AND_TWENTY_CI_CHARSET_GBEIGHTEEN_THOUSAND_AND_THIRTY="gb18030_unicode_520_ci (charset = gb18030)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBK_BIN_CHARSET_GBK="gbk_bin (charset = gbk)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBK_CHINESE_CI_CHARSET_GBK="gbk_chinese_ci (charset = gbk)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBK_GBK_SIMPLIFIED_CHINESE_MOST_SUITABLE_COLLATION_GBK_CHINESE_CI="gbk - GBK Simplified Chinese (most suitable collation = gbk_chinese_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBTWO_THOUSAND_THREE_HUNDRED_AND_TWELVE_BIN_CHARSET_GBTWO_THOUSAND_THREE_HUNDRED_AND_TWELVE="gb2312_bin (charset = gb2312)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBTWO_THOUSAND_THREE_HUNDRED_AND_TWELVE_CHINESE_CI_CHARSET_GBTWO_THOUSAND_THREE_HUNDRED_AND_TWELVE="gb2312_chinese_ci (charset = gb2312)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GBTWO_THOUSAND_THREE_HUNDRED_AND_TWELVE_GBTWO_THOUSAND_THREE_HUNDRED_AND_TWELVE_SIMPLIFIED_CHINESE_MOST_SUITABLE_COLLATION_GBTWO_THOUSAND_THREE_HUNDRED_AND_TWELVE_CHINESE_CI="gb2312 - GB2312 Simplified Chinese (most suitable collation = gb2312_chinese_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GENERIC="Generic"
COM_COMPONENTBUILDER_ADMIN_VIEW_GEOSTDEIGHT_BIN_CHARSET_GEOSTDEIGHT="geostd8_bin (charset = geostd8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GEOSTDEIGHT_GENERAL_CI_CHARSET_GEOSTDEIGHT="geostd8_general_ci (charset = geostd8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GEOSTDEIGHT_GEOSTDEIGHT_GEORGIAN_MOST_SUITABLE_COLLATION_GEOSTDEIGHT_GENERAL_CI="geostd8 - GEOSTD8 Georgian (most suitable collation = geostd8_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GLOBAL_DEFAULT_MYISAM="Global (default = MyISAM)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GLOBAL_DEFAULT_UTFEIGHT="Global (default = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GLOBAL_DEFAULT_UTFEIGHT_GENERAL_CI="Global (default = utf8_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GREEK_BIN_CHARSET_GREEK="greek_bin (charset = greek)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GREEK_GENERAL_CI_CHARSET_GREEK="greek_general_ci (charset = greek)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GREEK_ISO_EIGHT_THOUSAND_EIGHT_HUNDRED_AND_FIFTY_NINESEVEN_GREEK_MOST_SUITABLE_COLLATION_GREEK_GENERAL_CI="greek - ISO 8859-7 Greek (most suitable collation = greek_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_GRID="Grid"
COM_COMPONENTBUILDER_ADMIN_VIEW_GRID_TWO="Grid 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_HEALTH="Health"
COM_COMPONENTBUILDER_ADMIN_VIEW_HEART="Heart"
COM_COMPONENTBUILDER_ADMIN_VIEW_HEART_TWO="Heart 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_HEBREW_BIN_CHARSET_HEBREW="hebrew_bin (charset = hebrew)"
COM_COMPONENTBUILDER_ADMIN_VIEW_HEBREW_GENERAL_CI_CHARSET_HEBREW="hebrew_general_ci (charset = hebrew)"
COM_COMPONENTBUILDER_ADMIN_VIEW_HEBREW_ISO_EIGHT_THOUSAND_EIGHT_HUNDRED_AND_FIFTY_NINEEIGHT_HEBREW_MOST_SUITABLE_COLLATION_HEBREW_GENERAL_CI="hebrew - ISO 8859-8 Hebrew (most suitable collation = hebrew_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_HOME="Home"
COM_COMPONENTBUILDER_ADMIN_VIEW_HOME_TWO="Home 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_HPEIGHT_BIN_CHARSET_HPEIGHT="hp8_bin (charset = hp8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_HPEIGHT_ENGLISH_CI_CHARSET_HPEIGHT="hp8_english_ci (charset = hp8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_HPEIGHT_HP_WEST_EUROPEAN_MOST_SUITABLE_COLLATION_HPEIGHT_ENGLISH_CI="hp8 - HP West European (most suitable collation = hp8_english_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_HTML="HTML"
COM_COMPONENTBUILDER_ADMIN_VIEW_HTML_IMPORT_VIEW="Html Import View"
COM_COMPONENTBUILDER_ADMIN_VIEW_HTML_IMPORT_VIEW_DESCRIPTION="Add your HTML & PHP here! [Use <?php echo $name; ?> for PHP]"
@ -704,6 +786,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_IMPLEMENTATION_DESCRIPTION="Select applicable im
COM_COMPONENTBUILDER_ADMIN_VIEW_IMPLEMENTATION_LABEL="Implementation"
COM_COMPONENTBUILDER_ADMIN_VIEW_INFO="Info"
COM_COMPONENTBUILDER_ADMIN_VIEW_INFO_CIRCLE="Info Circle"
COM_COMPONENTBUILDER_ADMIN_VIEW_INNODB="InnoDB"
COM_COMPONENTBUILDER_ADMIN_VIEW_INPUT_DEFAULT_DESCRIPTION="Enter default input value"
COM_COMPONENTBUILDER_ADMIN_VIEW_INPUT_DEFAULT_HINT="Default Value Here"
COM_COMPONENTBUILDER_ADMIN_VIEW_INPUT_DEFAULT_LABEL="Default"
@ -728,18 +811,57 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_JAVASCRIPT_VIEW_FOOTER_DESCRIPTION="Add JavaScri
COM_COMPONENTBUILDER_ADMIN_VIEW_JAVASCRIPT_VIEW_FOOTER_LABEL="Javascript (edit view footer)"
COM_COMPONENTBUILDER_ADMIN_VIEW_JOOMLA="Joomla"
COM_COMPONENTBUILDER_ADMIN_VIEW_KEY="Key"
COM_COMPONENTBUILDER_ADMIN_VIEW_KEYBCSTWO_BIN_CHARSET_KEYBCSTWO="keybcs2_bin (charset = keybcs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_KEYBCSTWO_DOS_KAMENICKY_CZECHSLOVAK_MOST_SUITABLE_COLLATION_KEYBCSTWO_GENERAL_CI="keybcs2 - DOS Kamenicky Czech-Slovak (most suitable collation = keybcs2_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_KEYBCSTWO_GENERAL_CI_CHARSET_KEYBCSTWO="keybcs2_general_ci (charset = keybcs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_KEY_DESCRIPTION="The key to use to link the child view."
COM_COMPONENTBUILDER_ADMIN_VIEW_KEY_HINT="country"
COM_COMPONENTBUILDER_ADMIN_VIEW_KEY_LABEL="Child Key"
COM_COMPONENTBUILDER_ADMIN_VIEW_KEY_MESSAGE="Error! Please add key here."
COM_COMPONENTBUILDER_ADMIN_VIEW_KOIEIGHTR_BIN_CHARSET_KOIEIGHTR="koi8r_bin (charset = koi8r)"
COM_COMPONENTBUILDER_ADMIN_VIEW_KOIEIGHTR_GENERAL_CI_CHARSET_KOIEIGHTR="koi8r_general_ci (charset = koi8r)"
COM_COMPONENTBUILDER_ADMIN_VIEW_KOIEIGHTR_KOIEIGHTR_RELCOM_RUSSIAN_MOST_SUITABLE_COLLATION_KOIEIGHTR_GENERAL_CI="koi8r - KOI8-R Relcom Russian (most suitable collation = koi8r_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_KOIEIGHTU_BIN_CHARSET_KOIEIGHTU="koi8u_bin (charset = koi8u)"
COM_COMPONENTBUILDER_ADMIN_VIEW_KOIEIGHTU_GENERAL_CI_CHARSET_KOIEIGHTU="koi8u_general_ci (charset = koi8u)"
COM_COMPONENTBUILDER_ADMIN_VIEW_KOIEIGHTU_KOIEIGHTU_UKRAINIAN_MOST_SUITABLE_COLLATION_KOIEIGHTU_GENERAL_CI="koi8u - KOI8-U Ukrainian (most suitable collation = koi8u_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LAMP="Lamp"
COM_COMPONENTBUILDER_ADMIN_VIEW_LAST="Last"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINFIVE_BIN_CHARSET_LATINFIVE="latin5_bin (charset = latin5)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINFIVE_ISO_EIGHTY_EIGHTFIVENINENINE_TURKISH_MOST_SUITABLE_COLLATION_LATINFIVE_TURKISH_CI="latin5 - ISO 8859-9 Turkish (most suitable collation = latin5_turkish_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINFIVE_TURKISH_CI_CHARSET_LATINFIVE="latin5_turkish_ci (charset = latin5)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_BIN_CHARSET_LATINONE="latin1_bin (charset = latin1)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_CPONETWO_HUNDRED_AND_FIFTY_TWO_WEST_EUROPEAN_MOST_SUITABLE_COLLATION_LATINONE_SWEDISH_CI="latin1 - cp1252 West European (most suitable collation = latin1_swedish_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_DANISH_CI_CHARSET_LATINONE="latin1_danish_ci (charset = latin1)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_GENERAL_CI_CHARSET_LATINONE="latin1_general_ci (charset = latin1)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_GENERAL_CS_CHARSET_LATINONE="latin1_general_cs (charset = latin1)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_GERMANONE_CI_CHARSET_LATINONE="latin1_german1_ci (charset = latin1)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_GERMANTWO_CI_CHARSET_LATINONE="latin1_german2_ci (charset = latin1)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_SPANISH_CI_CHARSET_LATINONE="latin1_spanish_ci (charset = latin1)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINONE_SWEDISH_CI_CHARSET_LATINONE="latin1_swedish_ci (charset = latin1)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINSEVEN_BIN_CHARSET_LATINSEVEN="latin7_bin (charset = latin7)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINSEVEN_ESTONIAN_CS_CHARSET_LATINSEVEN="latin7_estonian_cs (charset = latin7)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINSEVEN_GENERAL_CI_CHARSET_LATINSEVEN="latin7_general_ci (charset = latin7)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINSEVEN_GENERAL_CS_CHARSET_LATINSEVEN="latin7_general_cs (charset = latin7)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINSEVEN_ISO_EIGHT_THOUSAND_EIGHT_HUNDRED_AND_FIFTY_NINETHIRTEEN_BALTIC_MOST_SUITABLE_COLLATION_LATINSEVEN_GENERAL_CI="latin7 - ISO 8859-13 Baltic (most suitable collation = latin7_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINTWO_BIN_CHARSET_LATINTWO="latin2_bin (charset = latin2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINTWO_CROATIAN_CI_CHARSET_LATINTWO="latin2_croatian_ci (charset = latin2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINTWO_CZECH_CS_CHARSET_LATINTWO="latin2_czech_cs (charset = latin2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINTWO_GENERAL_CI_CHARSET_LATINTWO="latin2_general_ci (charset = latin2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINTWO_HUNGARIAN_CI_CHARSET_LATINTWO="latin2_hungarian_ci (charset = latin2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LATINTWO_ISO_EIGHT_THOUSAND_EIGHT_HUNDRED_AND_FIFTY_NINETWO_CENTRAL_EUROPEAN_MOST_SUITABLE_COLLATION_LATINTWO_GENERAL_CI="latin2 - ISO 8859-2 Central European (most suitable collation = latin2_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_LINK="Link"
COM_COMPONENTBUILDER_ADMIN_VIEW_LIST="List"
COM_COMPONENTBUILDER_ADMIN_VIEW_LIST_TWO="List 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_LOCATION="Location"
COM_COMPONENTBUILDER_ADMIN_VIEW_LOCK="Lock"
COM_COMPONENTBUILDER_ADMIN_VIEW_LOOP="Loop"
COM_COMPONENTBUILDER_ADMIN_VIEW_MACCE_BIN_CHARSET_MACCE="macce_bin (charset = macce)"
COM_COMPONENTBUILDER_ADMIN_VIEW_MACCE_GENERAL_CI_CHARSET_MACCE="macce_general_ci (charset = macce)"
COM_COMPONENTBUILDER_ADMIN_VIEW_MACCE_MAC_CENTRAL_EUROPEAN_MOST_SUITABLE_COLLATION_MACCE_GENERAL_CI="macce - Mac Central European (most suitable collation = macce_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_MACROMAN_BIN_CHARSET_MACROMAN="macroman_bin (charset = macroman)"
COM_COMPONENTBUILDER_ADMIN_VIEW_MACROMAN_GENERAL_CI_CHARSET_MACROMAN="macroman_general_ci (charset = macroman)"
COM_COMPONENTBUILDER_ADMIN_VIEW_MACROMAN_MAC_WEST_EUROPEAN_MOST_SUITABLE_COLLATION_MACROMAN_GENERAL_CI="macroman - Mac West European (most suitable collation = macroman_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_MEMORY="MEMORY"
COM_COMPONENTBUILDER_ADMIN_VIEW_MENU="Menu"
COM_COMPONENTBUILDER_ADMIN_VIEW_MENU_THREE="Menu 3"
COM_COMPONENTBUILDER_ADMIN_VIEW_MENU_TWO="Menu 2"
@ -760,7 +882,20 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_MODIFIED_DATE_DESC="The date this Admin View was
COM_COMPONENTBUILDER_ADMIN_VIEW_MODIFIED_DATE_LABEL="Modified Date"
COM_COMPONENTBUILDER_ADMIN_VIEW_MOVE="Move"
COM_COMPONENTBUILDER_ADMIN_VIEW_MUSIC="Music"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYISAM="MyISAM"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL="MySQL"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_CHARSET="Mysql Table Charset"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_CHARSET_DESCRIPTION="Select the mySql Table Charset you would like to use for this admin view's table."
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_CHARSET_LABEL="mySql Table Charset"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_COLLATE="Mysql Table Collate"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_COLLATE_DESCRIPTION="Select the mySql Table Collation you would like to use for this admin view's table."
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_COLLATE_LABEL="mySql Table Collation"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ENGINE="Mysql Table Engine"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ENGINE_DESCRIPTION="Select the mySql Table Engine you would like to use for this admin view's table."
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ENGINE_LABEL="mySql Table Engines"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ROW_FORMAT="Mysql Table Row Format"
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ROW_FORMAT_DESCRIPTION="The row format of a table determines how its rows are physically stored, which in turn can affect the performance of queries and DML operations."
COM_COMPONENTBUILDER_ADMIN_VIEW_MYSQL_TABLE_ROW_FORMAT_LABEL="mySql Table Row Format"
COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_DESCRIPTION="Enter Name Here"
COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_HINT="Name Here"
COM_COMPONENTBUILDER_ADMIN_VIEW_NAME_LABEL="Name"
@ -829,6 +964,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_PAUSE="Pause"
COM_COMPONENTBUILDER_ADMIN_VIEW_PAUSE_CIRCLE="Pause Circle"
COM_COMPONENTBUILDER_ADMIN_VIEW_PENCIL="Pencil"
COM_COMPONENTBUILDER_ADMIN_VIEW_PENCIL_TWO="Pencil 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_PERFORMANCE_SCHEMA="PERFORMANCE_SCHEMA"
COM_COMPONENTBUILDER_ADMIN_VIEW_PERMISSION="Permissions"
COM_COMPONENTBUILDER_ADMIN_VIEW_PHONE="Phone"
COM_COMPONENTBUILDER_ADMIN_VIEW_PHONE_TWO="Phone 2"
@ -944,8 +1080,11 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_RADIO_UNCHECKED="Radio Unchecked"
COM_COMPONENTBUILDER_ADMIN_VIEW_RAW="RAW"
COM_COMPONENTBUILDER_ADMIN_VIEW_READONLY="readonly"
COM_COMPONENTBUILDER_ADMIN_VIEW_READWRITE="read/write"
COM_COMPONENTBUILDER_ADMIN_VIEW_REDUNDANT="REDUNDANT"
COM_COMPONENTBUILDER_ADMIN_VIEW_REMOVE="Remove"
COM_COMPONENTBUILDER_ADMIN_VIEW_REPLY="Reply"
COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS="Admin View Run Expansion Button Access"
COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_COPY="Save Copy"
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_NEW="Save New"
COM_COMPONENTBUILDER_ADMIN_VIEW_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Admin View to customise the alias."
@ -966,6 +1105,9 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_SHORT_DESCRIPTION_MESSAGE="Error! Please add som
COM_COMPONENTBUILDER_ADMIN_VIEW_SHUFFLE="Shuffle"
COM_COMPONENTBUILDER_ADMIN_VIEW_SIGNUP="Signup"
COM_COMPONENTBUILDER_ADMIN_VIEW_SINGLE="Single"
COM_COMPONENTBUILDER_ADMIN_VIEW_SJIS_BIN_CHARSET_SJIS="sjis_bin (charset = sjis)"
COM_COMPONENTBUILDER_ADMIN_VIEW_SJIS_JAPANESE_CI_CHARSET_SJIS="sjis_japanese_ci (charset = sjis)"
COM_COMPONENTBUILDER_ADMIN_VIEW_SJIS_SHIFTJIS_JAPANESE_MOST_SUITABLE_COLLATION_SJIS_JAPANESE_CI="sjis - Shift-JIS Japanese (most suitable collation = sjis_japanese_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_SMILEY="Smiley"
COM_COMPONENTBUILDER_ADMIN_VIEW_SMILEY_NEUTRAL="Smiley Neutral"
COM_COMPONENTBUILDER_ADMIN_VIEW_SMILEY_NEUTRAL_TWO="Smiley Neutral 2"
@ -989,6 +1131,9 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_STOP="Stop"
COM_COMPONENTBUILDER_ADMIN_VIEW_STOP_CIRCLE="Stop Circle"
COM_COMPONENTBUILDER_ADMIN_VIEW_STRING="STRING"
COM_COMPONENTBUILDER_ADMIN_VIEW_SUPPORT="Support"
COM_COMPONENTBUILDER_ADMIN_VIEW_SWESEVEN_BIN_CHARSET_SWESEVEN="swe7_bin (charset = swe7)"
COM_COMPONENTBUILDER_ADMIN_VIEW_SWESEVEN_SEVENBIT_SWEDISH_MOST_SUITABLE_COLLATION_SWESEVEN_SWEDISH_CI="swe7 - 7bit Swedish (most suitable collation = swe7_swedish_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_SWESEVEN_SWEDISH_CI_CHARSET_SWESEVEN="swe7_swedish_ci (charset = swe7)"
COM_COMPONENTBUILDER_ADMIN_VIEW_SWITCH="Switch"
COM_COMPONENTBUILDER_ADMIN_VIEW_SYSTEM_NAME="System Name"
COM_COMPONENTBUILDER_ADMIN_VIEW_SYSTEM_NAME_DESCRIPTION="Used only in the system."
@ -1012,12 +1157,46 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_TASK_NAME_LABEL="Task Name"
COM_COMPONENTBUILDER_ADMIN_VIEW_TASK_NAME_MESSAGE="Error! Please add task name here."
COM_COMPONENTBUILDER_ADMIN_VIEW_THUMBS_DOWN="Thumbs Down"
COM_COMPONENTBUILDER_ADMIN_VIEW_THUMBS_UP="Thumbs Up"
COM_COMPONENTBUILDER_ADMIN_VIEW_TISSIX_HUNDRED_AND_TWENTY_BIN_CHARSET_TISSIX_HUNDRED_AND_TWENTY="tis620_bin (charset = tis620)"
COM_COMPONENTBUILDER_ADMIN_VIEW_TISSIX_HUNDRED_AND_TWENTY_THAI_CI_CHARSET_TISSIX_HUNDRED_AND_TWENTY="tis620_thai_ci (charset = tis620)"
COM_COMPONENTBUILDER_ADMIN_VIEW_TISSIX_HUNDRED_AND_TWENTY_TISSIX_HUNDRED_AND_TWENTY_THAI_MOST_SUITABLE_COLLATION_TISSIX_HUNDRED_AND_TWENTY_THAI_CI="tis620 - TIS620 Thai (most suitable collation = tis620_thai_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_TREE="Tree"
COM_COMPONENTBUILDER_ADMIN_VIEW_TREE_TWO="Tree 2"
COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE="Type"
COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_DESCRIPTION="for list target"
COM_COMPONENTBUILDER_ADMIN_VIEW_TYPE_LABEL="Type"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_BIN_CHARSET_UCSTWO="ucs2_bin (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_CROATIAN_CI_CHARSET_UCSTWO="ucs2_croatian_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_CZECH_CI_CHARSET_UCSTWO="ucs2_czech_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_DANISH_CI_CHARSET_UCSTWO="ucs2_danish_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_ESPERANTO_CI_CHARSET_UCSTWO="ucs2_esperanto_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_ESTONIAN_CI_CHARSET_UCSTWO="ucs2_estonian_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_GENERAL_CI_CHARSET_UCSTWO="ucs2_general_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_GENERAL_MYSQLFIVE_HUNDRED_CI_CHARSET_UCSTWO="ucs2_general_mysql500_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_GERMANTWO_CI_CHARSET_UCSTWO="ucs2_german2_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_HUNGARIAN_CI_CHARSET_UCSTWO="ucs2_hungarian_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_ICELANDIC_CI_CHARSET_UCSTWO="ucs2_icelandic_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_LATVIAN_CI_CHARSET_UCSTWO="ucs2_latvian_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_LITHUANIAN_CI_CHARSET_UCSTWO="ucs2_lithuanian_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_PERSIAN_CI_CHARSET_UCSTWO="ucs2_persian_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_POLISH_CI_CHARSET_UCSTWO="ucs2_polish_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_ROMANIAN_CI_CHARSET_UCSTWO="ucs2_romanian_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_ROMAN_CI_CHARSET_UCSTWO="ucs2_roman_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_SINHALA_CI_CHARSET_UCSTWO="ucs2_sinhala_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_SLOVAK_CI_CHARSET_UCSTWO="ucs2_slovak_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_SLOVENIAN_CI_CHARSET_UCSTWO="ucs2_slovenian_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_SPANISHTWO_CI_CHARSET_UCSTWO="ucs2_spanish2_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_SPANISH_CI_CHARSET_UCSTWO="ucs2_spanish_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_SWEDISH_CI_CHARSET_UCSTWO="ucs2_swedish_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_TURKISH_CI_CHARSET_UCSTWO="ucs2_turkish_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_UCSTWO_UNICODE_MOST_SUITABLE_COLLATION_UCSTWO_GENERAL_CI="ucs2 - UCS-2 Unicode (most suitable collation = ucs2_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_UNICODE_CI_CHARSET_UCSTWO="ucs2_unicode_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_UNICODE_FIVETWOZERO_CI_CHARSET_UCSTWO="ucs2_unicode_520_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UCSTWO_VIETNAMESE_CI_CHARSET_UCSTWO="ucs2_vietnamese_ci (charset = ucs2)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UINT="UINT"
COM_COMPONENTBUILDER_ADMIN_VIEW_UJIS_BIN_CHARSET_UJIS="ujis_bin (charset = ujis)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UJIS_EUCJP_JAPANESE_MOST_SUITABLE_COLLATION_UJIS_JAPANESE_CI="ujis - EUC-JP Japanese (most suitable collation = ujis_japanese_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UJIS_JAPANESE_CI_CHARSET_UJIS="ujis_japanese_ci (charset = ujis)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UNARCHIVE="Unarchive"
COM_COMPONENTBUILDER_ADMIN_VIEW_UNBLOCK="Unblock"
COM_COMPONENTBUILDER_ADMIN_VIEW_UNDO="Undo"
@ -1032,6 +1211,118 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_USERNAME="USERNAME"
COM_COMPONENTBUILDER_ADMIN_VIEW_USERS="Users"
COM_COMPONENTBUILDER_ADMIN_VIEW_USER_CHECK_DESCRIPTION="Allow only users."
COM_COMPONENTBUILDER_ADMIN_VIEW_USER_CHECK_LABEL="User Check"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_BIN_CHARSET_UTFEIGHTMBFOUR="utf8mb4_bin (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_CROATIAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_croatian_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_CZECH_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_czech_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_DANISH_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_danish_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_ESPERANTO_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_esperanto_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_ESTONIAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_estonian_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_GENERAL_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_general_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_GERMANTWO_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_german2_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_HUNGARIAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_hungarian_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_ICELANDIC_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_icelandic_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_LATVIAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_latvian_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_LITHUANIAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_lithuanian_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_PERSIAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_persian_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_POLISH_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_polish_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_ROMANIAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_romanian_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_ROMAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_roman_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_SINHALA_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_sinhala_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_SLOVAK_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_slovak_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_SLOVENIAN_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_slovenian_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_SPANISHTWO_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_spanish2_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_SPANISH_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_spanish_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_SWEDISH_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_swedish_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_TURKISH_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_turkish_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_UNICODE_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_unicode_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_UNICODE_FIVE_HUNDRED_AND_TWENTY_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_unicode_520_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_UTFEIGHT_UNICODE_MOST_SUITABLE_COLLATION_UTFEIGHTMBFOUR_GENERAL_CI="utf8mb4 - UTF-8 Unicode (most suitable collation = utf8mb4_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHTMBFOUR_VIETNAMESE_CI_CHARSET_UTFEIGHTMBFOUR="utf8mb4_vietnamese_ci (charset = utf8mb4)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_BIN_CHARSET_UTFEIGHT="utf8_bin (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_CROATIAN_CI_CHARSET_UTFEIGHT="utf8_croatian_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_CZECH_CI_CHARSET_UTFEIGHT="utf8_czech_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_DANISH_CI_CHARSET_UTFEIGHT="utf8_danish_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_ESPERANTO_CI_CHARSET_UTFEIGHT="utf8_esperanto_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_ESTONIAN_CI_CHARSET_UTFEIGHT="utf8_estonian_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_GENERAL_CI_CHARSET_UTFEIGHT="utf8_general_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_GENERAL_MYSQLFIVE_HUNDRED_CI_CHARSET_UTFEIGHT="utf8_general_mysql500_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_GERMANTWO_CI_CHARSET_UTFEIGHT="utf8_german2_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_HUNGARIAN_CI_CHARSET_UTFEIGHT="utf8_hungarian_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_ICELANDIC_CI_CHARSET_UTFEIGHT="utf8_icelandic_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_LATVIAN_CI_CHARSET_UTFEIGHT="utf8_latvian_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_LITHUANIAN_CI_CHARSET_UTFEIGHT="utf8_lithuanian_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_PERSIAN_CI_CHARSET_UTFEIGHT="utf8_persian_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_POLISH_CI_CHARSET_UTFEIGHT="utf8_polish_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_ROMANIAN_CI_CHARSET_UTFEIGHT="utf8_romanian_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_ROMAN_CI_CHARSET_UTFEIGHT="utf8_roman_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_SINHALA_CI_CHARSET_UTFEIGHT="utf8_sinhala_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_SLOVAK_CI_CHARSET_UTFEIGHT="utf8_slovak_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_SLOVENIAN_CI_CHARSET_UTFEIGHT="utf8_slovenian_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_SPANISHTWO_CI_CHARSET_UTFEIGHT="utf8_spanish2_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_SPANISH_CI_CHARSET_UTFEIGHT="utf8_spanish_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_SWEDISH_CI_CHARSET_UTFEIGHT="utf8_swedish_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_TURKISH_CI_CHARSET_UTFEIGHT="utf8_turkish_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_UNICODE_CI_CHARSET_UTFEIGHT="utf8_unicode_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_UNICODE_FIVE_HUNDRED_AND_TWENTY_CI_CHARSET_UTFEIGHT="utf8_unicode_520_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_UTFEIGHT_UNICODE_MOST_SUITABLE_COLLATION_UTFEIGHT_GENERAL_CI="utf8 - UTF-8 Unicode (most suitable collation = utf8_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFEIGHT_VIETNAMESE_CI_CHARSET_UTFEIGHT="utf8_vietnamese_ci (charset = utf8)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEENLE_BIN_CHARSET_UTFSIXTEENLE="utf16le_bin (charset = utf16le)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEENLE_GENERAL_CI_CHARSET_UTFSIXTEENLE="utf16le_general_ci (charset = utf16le)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEENLE_UTFSIXTEENLE_UNICODE_MOST_SUITABLE_COLLATION_UTFSIXTEENLE_GENERAL_CI="utf16le - UTF-16LE Unicode (most suitable collation = utf16le_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_BIN_CHARSET_UTFSIXTEEN="utf16_bin (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_CROATIAN_CI_CHARSET_UTFSIXTEEN="utf16_croatian_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_CZECH_CI_CHARSET_UTFSIXTEEN="utf16_czech_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_DANISH_CI_CHARSET_UTFSIXTEEN="utf16_danish_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_ESPERANTO_CI_CHARSET_UTFSIXTEEN="utf16_esperanto_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_ESTONIAN_CI_CHARSET_UTFSIXTEEN="utf16_estonian_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_GENERAL_CI_CHARSET_UTFSIXTEEN="utf16_general_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_GERMANTWO_CI_CHARSET_UTFSIXTEEN="utf16_german2_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_HUNGARIAN_CI_CHARSET_UTFSIXTEEN="utf16_hungarian_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_ICELANDIC_CI_CHARSET_UTFSIXTEEN="utf16_icelandic_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_LATVIAN_CI_CHARSET_UTFSIXTEEN="utf16_latvian_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_LITHUANIAN_CI_CHARSET_UTFSIXTEEN="utf16_lithuanian_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_PERSIAN_CI_CHARSET_UTFSIXTEEN="utf16_persian_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_POLISH_CI_CHARSET_UTFSIXTEEN="utf16_polish_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_ROMANIAN_CI_CHARSET_UTFSIXTEEN="utf16_romanian_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_ROMAN_CI_CHARSET_UTFSIXTEEN="utf16_roman_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_SINHALA_CI_CHARSET_UTFSIXTEEN="utf16_sinhala_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_SLOVAK_CI_CHARSET_UTFSIXTEEN="utf16_slovak_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_SLOVENIAN_CI_CHARSET_UTFSIXTEEN="utf16_slovenian_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_SPANISHTWO_CI_CHARSET_UTFSIXTEEN="utf16_spanish2_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_SPANISH_CI_CHARSET_UTFSIXTEEN="utf16_spanish_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_SWEDISH_CI_CHARSET_UTFSIXTEEN="utf16_swedish_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_TURKISH_CI_CHARSET_UTFSIXTEEN="utf16_turkish_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_UNICODE_CI_CHARSET_UTFSIXTEEN="utf16_unicode_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_UNICODE_FIVE_HUNDRED_AND_TWENTY_CI_CHARSET_UTFSIXTEEN="utf16_unicode_520_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_UTFSIXTEEN_UNICODE_MOST_SUITABLE_COLLATION_UTFSIXTEEN_GENERAL_CI="utf16 - UTF-16 Unicode (most suitable collation = utf16_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFSIXTEEN_VIETNAMESE_CI_CHARSET_UTFSIXTEEN="utf16_vietnamese_ci (charset = utf16)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_BIN_CHARSET_UTFTHIRTY_TWO="utf32_bin (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_CROATIAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_croatian_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_CZECH_CI_CHARSET_UTFTHIRTY_TWO="utf32_czech_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_DANISH_CI_CHARSET_UTFTHIRTY_TWO="utf32_danish_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_ESPERANTO_CI_CHARSET_UTFTHIRTY_TWO="utf32_esperanto_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_ESTONIAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_estonian_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_GENERAL_CI_CHARSET_UTFTHIRTY_TWO="utf32_general_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_GERMANTWO_CI_CHARSET_UTFTHIRTY_TWO="utf32_german2_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_HUNGARIAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_hungarian_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_ICELANDIC_CI_CHARSET_UTFTHIRTY_TWO="utf32_icelandic_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_LATVIAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_latvian_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_LITHUANIAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_lithuanian_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_PERSIAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_persian_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_POLISH_CI_CHARSET_UTFTHIRTY_TWO="utf32_polish_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_ROMANIAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_romanian_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_ROMAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_roman_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_SINHALA_CI_CHARSET_UTFTHIRTY_TWO="utf32_sinhala_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_SLOVAK_CI_CHARSET_UTFTHIRTY_TWO="utf32_slovak_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_SLOVENIAN_CI_CHARSET_UTFTHIRTY_TWO="utf32_slovenian_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_SPANISHTWO_CI_CHARSET_UTFTHIRTY_TWO="utf32_spanish2_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_SPANISH_CI_CHARSET_UTFTHIRTY_TWO="utf32_spanish_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_SWEDISH_CI_CHARSET_UTFTHIRTY_TWO="utf32_swedish_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_TURKISH_CI_CHARSET_UTFTHIRTY_TWO="utf32_turkish_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_UNICODE_CI_CHARSET_UTFTHIRTY_TWO="utf32_unicode_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_UNICODE_FIVE_HUNDRED_AND_TWENTY_CI_CHARSET_UTFTHIRTY_TWO="utf32_unicode_520_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_UTFTHIRTY_TWO_UNICODE_MOST_SUITABLE_COLLATION_UTFTHIRTY_TWO_GENERAL_CI="utf32 - UTF-32 Unicode (most suitable collation = utf32_general_ci)"
COM_COMPONENTBUILDER_ADMIN_VIEW_UTFTHIRTY_TWO_VIETNAMESE_CI_CHARSET_UTFTHIRTY_TWO="utf32_vietnamese_ci (charset = utf32)"
COM_COMPONENTBUILDER_ADMIN_VIEW_VALUE_NAME_DESCRIPTION="Enter Value Name Here"
COM_COMPONENTBUILDER_ADMIN_VIEW_VALUE_NAME_HINT="Value Name Here"
COM_COMPONENTBUILDER_ADMIN_VIEW_VALUE_NAME_LABEL="Value Name"
@ -1043,6 +1334,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_VIEWACCESS="view.access"
COM_COMPONENTBUILDER_ADMIN_VIEW_VIEWCREATE="view.create"
COM_COMPONENTBUILDER_ADMIN_VIEW_VIEWDELETE="view.delete"
COM_COMPONENTBUILDER_ADMIN_VIEW_VIEWEDIT="view.edit"
COM_COMPONENTBUILDER_ADMIN_VIEW_VIEWEDITACCESS="view.edit.access"
COM_COMPONENTBUILDER_ADMIN_VIEW_VIEWEDITCREATED="view.edit.created"
COM_COMPONENTBUILDER_ADMIN_VIEW_VIEWEDITCREATED_BY="view.edit.created_by"
COM_COMPONENTBUILDER_ADMIN_VIEW_VIEWEDITOWN="view.edit.own"
@ -1113,6 +1405,8 @@ COM_COMPONENTBUILDER_BSB_COULD_NOT_BE_IMPORTEDS="<b>%s</b> could not be imported
COM_COMPONENTBUILDER_BSB_HAS_BEEN_IMPORTED="<b>%s</b> has been imported!"
COM_COMPONENTBUILDER_BSB_HAS_BEEN_UPDATED="<b>%s</b> has been updated!"
COM_COMPONENTBUILDER_BSB_WAS_FOUND="<b>%s</b> was found!"
COM_COMPONENTBUILDER_BTHE_EXPANSION_WAS_SUCCESSFULLYB_TO_SEE_MORE_INFORMATION_CHANGE_THE_BRETURN_OPTIONS_FOR_BUILDB_TO_BDISPLAY_MESSAGEB_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TABB="<b>The expansion was successfully!</b> to see more information change the <b>Return Options for Build</b> to <b>Display Message</b> in the global options of JCB under the Development Method tab.</b>"
COM_COMPONENTBUILDER_BTHE_TMP_FOLDER_HAS_BEEN_CLEAR_SUCCESSFULLYB="<b>The tmp folder has been clear successfully!</b>"
COM_COMPONENTBUILDER_BUILD="Build"
COM_COMPONENTBUILDER_BUILDIN="Build-in"
COM_COMPONENTBUILDER_BULK="Bulk"
@ -1143,6 +1437,8 @@ COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC=" Allows the users in
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
COM_COMPONENTBUILDER_COMPILER_DESC="The compiler"
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS="Compiler Run Expansion Button Access"
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to submenu of Compiler"
COM_COMPONENTBUILDER_COMPILE_COMPONENT="Compile Component"
@ -2653,9 +2949,18 @@ COM_COMPONENTBUILDER_CONFIG_NOTE_COMPILER_FOLDER_PATH_DESCRIPTION="The compiler
COM_COMPONENTBUILDER_CONFIG_NOTE_COMPILER_FOLDER_PATH_LABEL="Moving The Compiler Folder"
COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_FOLDER_PATH_DESCRIPTION="The custom folder is where all files and folders that you would like to include in your components are stored, the default location is [administrator/components/com_componentbuilder/custom]. You can move this folder by adding your own path here. Remember to move the content of the default custom folder to this new location."
COM_COMPONENTBUILDER_CONFIG_NOTE_CUSTOM_FOLDER_PATH_LABEL="Moving The Custom Folder"
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_DESCRIPTION="<p>This method is basically the way JCB has always worked by default.</p><p>You have a compiler area, once you have made changes you go to the compiler view and compile your component. Then you have the option to install and/or distribute the Joomla install package.</p><p>This can also be called the manual development method.</p>"
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_DESCRIPTION="<p>This method is basically the way JCB has always worked by default.</p>
<p>So once you have made changes, you go to the compiler view and compile your component. Then you have the option to install and/or distribute the Joomla installation package.</p><p>This option will always be active to those with permission to access the compiler. You can change this permission in the Permissions tab with the option called <b>Compiler Access</b>.</p>"
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_DEFAULT_LABEL="Default Development Method"
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_DESCRIPTION="<p>This method adds auto expansion to the current Joomla automatically.</p><p>Below you setup the behaviour of a selected set of components that will be <b>auto build and installed</b>. So you do not need to manually compile and install those components any more, the system does all that automatically for you.</p><p>So your experience is that you change the field, view or something else in JCB and then the component in Joomla moments later reflect those changed automatically. The latency of the workflow is based on your <b>cronjob frequency</b> and the <b>size</b> of your component. You can pause the build in a few ways, one by actually <b>checking out/opening</b> the Joomla Component view of the component in JCB, or changing the state to unpublish, archive or trashed, or simply remove if from the list below.</p><p>This can also be called the automatic development method.</p>"
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_DESCRIPTION="<p>This method adds easy compile and install of multiple components to the current Joomla system. This automated action is called <b>expansion</b>.</p>
<p><em>Expansion can be achieved in two ways.</em></p>
<h4>Button Expansion Option</h4>
<p>The first and most common way is to click on any of the <b>Run Expansion</b> buttons found at the top of some of the JCB admin views.</p>
<h4>Cronjob Expansion Option</h4>
<p>The second is by running a cronjob as explained bellow the area of selection in this tab. So you do not need to manually compile and install the selected components any more, the system does all that automatically for you. The latency of the workflow is based on your <b>cronjob frequency</b> and the <b>size</b> of your component.</p>
<p>Expansion is pause for a component in a few ways, one by actually <b>checking out/opening</b> the Joomla Component view of the component in JCB, or changing the state to unpublish, archive or trashed, or simply remove if from the list below.</p>
<h3>The Expansion method is there to speedup development testing.</h3>
<p>Below you should set the behaviour of a selected set of components that will be <b>auto build and installed</b> when the expansion module is run.</p>"
COM_COMPONENTBUILDER_CONFIG_NOTE_DEVELOPMENT_METHOD_EXPANSION_LABEL="Expansion Development Method"
COM_COMPONENTBUILDER_CONFIG_NOTE_DKIM_USE_DESCRIPTION="<p>Using the below details, you need to configure your DNS by adding a TXT record on your domain: <b><span id='a_dkim_domain'></span></b></p>
<script>
@ -2754,6 +3059,7 @@ COM_COMPONENTBUILDER_CONTRIBUTOR="Contributor"
COM_COMPONENTBUILDER_CONTRIBUTORS="Contributors"
COM_COMPONENTBUILDER_COPYRIGHT="Copyright"
COM_COMPONENTBUILDER_COPYRIGHT_S="Copyright: %s"
COM_COMPONENTBUILDER_COULD_NOT_CLEAR_THE_TMP_FOLDER="Could not clear the tmp folder!"
COM_COMPONENTBUILDER_CREATE="Create"
COM_COMPONENTBUILDER_CREATE_A_SNIPPET="create a snippet"
COM_COMPONENTBUILDER_CREATE_NEW_S="Create New %s"
@ -3302,113 +3608,122 @@ COM_COMPONENTBUILDER_CUSTOM_CODE_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_CUSTOM_CODE_MODIFIED_DATE_DESC="The date this Custom Code was modified."
COM_COMPONENTBUILDER_CUSTOM_CODE_MODIFIED_DATE_LABEL="Modified Date"
COM_COMPONENTBUILDER_CUSTOM_CODE_NEW="A New Custom Code"
COM_COMPONENTBUILDER_CUSTOM_CODE_NOTE_JCB_PLACEHOLDER_DESCRIPTION="<span id='jcb-placeholder'><code>[save to see placeholder]</code></span><br />You can also pass values to this code like this: <span id='jcb-placeholder-arg'><code>[save to see placeholder trick]</code></span> <br />Those values will be replace placeholders called args. These placeholders are zero based and should look like this: [[[arg0]]], [[[arg1]]] ... as many as you like. If you use 5 args in your code, you must always pass 5 values, since they are zero based your fifth arg will look like this [[[arg4]]]<br />Please note that you can not use this placeholder in other custom code views, but in all other custom code areas in JCB found in other views like the admin, site and custom admin views.<br />Another important note, all code with args will not be reversed updated from the changes in the editor out side of JCB at this time, since that will remove all the arg placeholders this means you will only be able to update the code here in the JCB UI. <br />This note will change once we have resolved these limitations."
COM_COMPONENTBUILDER_CUSTOM_CODE_NOTE_JCB_PLACEHOLDER_DESCRIPTION="<p><span id='jcb-placeholder'><code>[save to see placeholder]</code></span><br />You can also pass values to this code like this: <span id='jcb-placeholder-arg'><code>[save to see placeholder trick]</code></span></p>
<p>Those values will be replace placeholders called args. These placeholders are zero based and should look like this: [[[arg0]]], [[[arg1]]] ... as many as you like. If you use 5 args in your code, you must always pass 5 values, since they are zero based your fifth arg will look like this [[[arg4]]]</p>
<p>To use the following <code>[ ] , + =</code> in your string being passed, use the following: <code>[</code> <b style=&quot;font-size: large;&quot;>&#8658;</b> <code>&amp;#91;</code>; <code>]</code> <b style=&quot;font-size: large;&quot;>&#8658;</b> <code>&amp;#93;</code>; <code>,</code> <b style=&quot;font-size: large;&quot;>&#8658;</b> <code>&amp;#44;</code>; <code>+</code> <b style=&quot;font-size: large;&quot;>&#8658;</b> <code>&amp;#43;</code>; <code>=</code> <b style=&quot;font-size: large;&quot;>&#8658;</b> <code>&amp;#61;</code></p>
<p>Please note <em>THAT YOU CAN NOW</em> use this placeholder in other custom code views, just not in <b>Hash (automation)</b> custom code from the IDE, and not in it self, enjoy!<br />Another important note, all code with args will not be reversed updated from the changes in the editor out side of JCB at this time, since that will remove all the arg placeholders this means you will only be able to update the code here in the JCB UI.</p><small>This note will change once we have resolved these limitations.</small>"
COM_COMPONENTBUILDER_CUSTOM_CODE_NOTE_JCB_PLACEHOLDER_LABEL="You can use this code in any JCB code area, simply add this PlaceHolder."
COM_COMPONENTBUILDER_CUSTOM_CODE_NOTE_PLACEHOLDERS_EXPLAINED_DESCRIPTION="<div class='form-horizontal'><div class='span6'>
<h1>Understand how the placeholders work in (IDE)</h1>
<div id='phpjs-comment-info'>
<h2>Comment Type PHP/JS</h2>
<h3>How You Can Add New Code in the IDE</h3>
<table>
<legend>Add New Insert Code</legend>
<tr><td><code>/***[INSERT&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/INSERT&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>Add New Replace Code</legend>
<tr><td><code>/***[REPLACE&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/REPLACE&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<h3>When JCB Adds it Back</h3>
<table>
<legend>JCB Add Inserted Code</legend>
<tr><td><code>/***[INSERTED$$$$]***//*<span class='placeholder-key-id'>x</span>*/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/INSERTED$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>JCB Add Replaced Code</legend>
<tr><td><code>/***[REPLACED$$$$]***//*<span class='placeholder-key-id'>x</span>*/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/REPLACED$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<h3>When You Want to Changing Existing Custom Code in the IDE</h3>
<table>
<legend>Update Inserted Code</legend>
<tr><td><code>/***[INSERTED&lt;&gt;$$$$]***//*<span class='placeholder-key-id'>x</span>*/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/INSERTED&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>Update Replaced Code</legend>
<tr><td><code>/***[REPLACED&lt;&gt;$$$$]***//*<span class='placeholder-key-id'>x</span>*/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/REPLACED&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
</div>
<div id='html-comment-info'>
<h2>Comment Type HTML</h2>
<h3>How You Can Add New Code in the IDE</h3>
<table>
<legend>Add New Insert Code</legend>
<tr><td><code>&lt;!--[INSERT&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/INSERT&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>Add New Replace Code</legend>
<tr><td><code>&lt;!--[REPLACE&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/REPLACE&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<h3>When JCB Adds it Back</h3>
<table>
<legend>JCB Add Inserted Code</legend>
<tr><td><code>&lt;!--[INSERTED$$$$]--&gt;&lt;!--<span class='placeholder-key-id'>x</span>--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/INSERTED$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>JCB Add Replaced Code</legend>
<tr><td><code>&lt;!--[REPLACED$$$$]--&gt;&lt;!--<span class='placeholder-key-id'>x</span>--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/REPLACED$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<h3>When You Want to Changing Existing Custom Code in the IDE</h3>
<table>
<legend>Update Inserted Code</legend>
<tr><td><code>&lt;!--[INSERTED&lt;&gt;$$$$]--&gt;&lt;!--<span class='placeholder-key-id'>x</span>--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/INSERTED&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>Update Replaced Code</legend>
<tr><td><code>&lt;!--[REPLACED&lt;&gt;$$$$]--&gt;&lt;!--<span class='placeholder-key-id'>x</span>--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/REPLACED&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
</div>
<p><b><span class='placeholder-key-id'>x</span> is the ID of the code in the system don&apos;t change it when you edit the code in your IDE outside of JCB!</b></p>
</div>
<div class='span6' id='usedin' style='display: none;'>
<h1>Understand how the placeholders work in (IDE)</h1>
<div id='phpjs-comment-info'>
<h2>Comment Type PHP/JS</h2>
<h3>How You Can Add New Code in the IDE</h3>
<table>
<legend>Add New Insert Code</legend>
<tr><td><code>/***[INSERT&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/INSERT&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>Add New Replace Code</legend>
<tr><td><code>/***[REPLACE&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/REPLACE&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<h3>When JCB Adds it Back</h3>
<table>
<legend>JCB Add Inserted Code</legend>
<tr><td><code>/***[INSERTED$$$$]***//*<span class='placeholder-key-id'>x</span>*/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/INSERTED$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>JCB Add Replaced Code</legend>
<tr><td><code>/***[REPLACED$$$$]***//*<span class='placeholder-key-id'>x</span>*/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/REPLACED$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<h3>When You Want to Changing Existing Custom Code in the IDE</h3>
<table>
<legend>Update Inserted Code</legend>
<tr><td><code>/***[INSERTED&lt;&gt;$$$$]***//*<span class='placeholder-key-id'>x</span>*/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/INSERTED&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>Update Replaced Code</legend>
<tr><td><code>/***[REPLACED&lt;&gt;$$$$]***//*<span class='placeholder-key-id'>x</span>*/</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>/***[/REPLACED&lt;&gt;$$$$]***/</code></td><td>&nbsp;</td></tr>
</table>
</div>
<div id='html-comment-info'>
<h2>Comment Type HTML</h2>
<h3>How You Can Add New Code in the IDE</h3>
<table>
<legend>Add New Insert Code</legend>
<tr><td><code>&lt;!--[INSERT&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/INSERT&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>Add New Replace Code</legend>
<tr><td><code>&lt;!--[REPLACE&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/REPLACE&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<h3>When JCB Adds it Back</h3>
<table>
<legend>JCB Add Inserted Code</legend>
<tr><td><code>&lt;!--[INSERTED$$$$]--&gt;&lt;!--<span class='placeholder-key-id'>x</span>--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/INSERTED$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>JCB Add Replaced Code</legend>
<tr><td><code>&lt;!--[REPLACED$$$$]--&gt;&lt;!--<span class='placeholder-key-id'>x</span>--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/REPLACED$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<h3>When You Want to Changing Existing Custom Code in the IDE</h3>
<table>
<legend>Update Inserted Code</legend>
<tr><td><code>&lt;!--[INSERTED&lt;&gt;$$$$]--&gt;&lt;!--<span class='placeholder-key-id'>x</span>--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/INSERTED&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
<table>
<legend>Update Replaced Code</legend>
<tr><td><code>&lt;!--[REPLACED&lt;&gt;$$$$]--&gt;&lt;!--<span class='placeholder-key-id'>x</span>--&gt;</code></td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&lt;YOUR CODE HERE&gt;</td></tr>
<tr><td><code>&lt;!--[/REPLACED&lt;&gt;$$$$]--&gt;</code></td><td>&nbsp;</td></tr>
</table>
</div>
<p><b><span class='placeholder-key-id'>x</span> is the ID of the code in the system don&apos;t change it when you edit the code in your IDE outside of JCB!</b></p>
</div>
<div class='span6' id='usedin' style='display: none;'>
<h1>USED IN</h1>
<div id='before-usedin'>Soon as enough data is available we will display all the areas where this code is used.</div>
<div id='usedin-a' style='display: none;'><h2>Components</h2><div id='area-a'></div></div>
<div id='usedin-b' style='display:none;'><h2>Admin Views</h2><div id='area-b'></div></div>
<div id='usedin-c' style='display:none;'><h2>Custom Admin Views</h2><div id='area-c'></div></div>
<div id='usedin-d' style='display:none;'><h2>Site Views</h2><div id='area-d'></div></div>
<div id='usedin-e' style='display:none;'><h2>Fields</h2><div id='area-e'></div></div>
<div id='usedin-f' style='display:none;'><h2>Dynamic Gets</h2><div id='area-f'></div></div>
<div id='usedin-g' style='display:none;'><h2>Templates</h2><div id='area-g'></div></div>
<div id='usedin-h' style='display:none;'><h2>Layouts</h2><div id='area-h'></div></div>
<div id='usedin-i' style='display:none;'><h2>Component Dashboards</h2><div id='area-i'></div></div>
<div id='usedin-j' style='display:none;'><h2>Libraries</h2><div id='area-j'></div></div>
<div id='usedin-b' style='display:none;'><h2>Component Dashboard</h2><div id='area-b'></div></div>
<div id='usedin-c' style='display:none;'><h2>Admin Views</h2><div id='area-c'></div></div>
<div id='usedin-d' style='display:none;'><h2>Admin Fields Relations</h2><div id='area-d'></div></div>
<div id='usedin-e' style='display:none;'><h2>Custom Admin Views</h2><div id='area-e'></div></div>
<div id='usedin-f' style='display:none;'><h2>Site Views</h2><div id='area-f'></div></div>
<div id='usedin-g' style='display:none;'><h2>Fields</h2><div id='area-g'></div></div>
<div id='usedin-h' style='display:none;'><h2>Fieldtypes</h2><div id='area-h'></div></div>
<div id='usedin-i' style='display:none;'><h2>Dynamic Gets</h2><div id='area-i'></div></div>
<div id='usedin-j' style='display:none;'><h2>Templates</h2><div id='area-j'></div></div>
<div id='usedin-k' style='display:none;'><h2>Layouts</h2><div id='area-k'></div></div>
<div id='usedin-l' style='display:none;'><h2>Libraries</h2><div id='area-l'></div></div>
<div id='usedin-m' style='display:none;'><h2>Custom Code</h2><div id='area-m'></div></div>
<div id='usedin-n' style='display:none;'><h2>Validation Rule</h2><div id='area-n'></div></div>
<div id='loading-usedin' style='display: none;'><h2>Scanning Database<span class='loading-dots'>..</span></h2></div>
<div id='note-usedin-found' style='display: none;'><small>You can edit the above areas where this code is used.</small></div>
<div id='note-usedin-not' style='display: none;'><small>This code is not used in any area of the JCB custom code blocks at this time.</small></div>
</div></div>"
</div>
</div>"
COM_COMPONENTBUILDER_CUSTOM_CODE_NOTE_PLACEHOLDERS_EXPLAINED_LABEL="Information Area."
COM_COMPONENTBUILDER_CUSTOM_CODE_NOT_REQUIRED="Not Required"
COM_COMPONENTBUILDER_CUSTOM_CODE_ORDERING_LABEL="Ordering"
@ -3421,6 +3736,8 @@ COM_COMPONENTBUILDER_CUSTOM_CODE_PERMISSION="Permissions"
COM_COMPONENTBUILDER_CUSTOM_CODE_PHPJS="PHP/JS"
COM_COMPONENTBUILDER_CUSTOM_CODE_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_CUSTOM_CODE_REPLACEMENT="Replacement"
COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS="Custom Code Run Expansion Button Access"
COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_CUSTOM_CODE_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Custom Code to customise the alias."
COM_COMPONENTBUILDER_CUSTOM_CODE_STATUS="Status"
COM_COMPONENTBUILDER_CUSTOM_CODE_SYSTEM_NAME="System Name"
@ -3745,15 +4062,21 @@ COM_COMPONENTBUILDER_DYNAMIC_GET_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_DYNAMIC_GET_Q="q"
COM_COMPONENTBUILDER_DYNAMIC_GET_QQ="qq"
COM_COMPONENTBUILDER_DYNAMIC_GET_R="r"
COM_COMPONENTBUILDER_DYNAMIC_GET_RANDOM="Random"
COM_COMPONENTBUILDER_DYNAMIC_GET_REPEATABLE_VALUE="Repeatable Value"
COM_COMPONENTBUILDER_DYNAMIC_GET_ROW_TYPE_DESCRIPTION="Single row or Multiple rows"
COM_COMPONENTBUILDER_DYNAMIC_GET_ROW_TYPE_LABEL="Return Row Type"
COM_COMPONENTBUILDER_DYNAMIC_GET_RR="rr"
COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS="Dynamic Get Run Expansion Button Access"
COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_DYNAMIC_GET_S="s"
COM_COMPONENTBUILDER_DYNAMIC_GET_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Dynamic Get to customise the alias."
COM_COMPONENTBUILDER_DYNAMIC_GET_SELECTION_DESCRIPTION="Fields to be selected from table."
COM_COMPONENTBUILDER_DYNAMIC_GET_SELECTION_HINT="b.field AS field"
COM_COMPONENTBUILDER_DYNAMIC_GET_SELECTION_LABEL="Selection"
COM_COMPONENTBUILDER_DYNAMIC_GET_SELECT_ALL="Select All"
COM_COMPONENTBUILDER_DYNAMIC_GET_SELECT_ALL_DESCRIPTION="Should all the fields be selected, even those newly added at a later stage."
COM_COMPONENTBUILDER_DYNAMIC_GET_SELECT_ALL_LABEL="Select All"
COM_COMPONENTBUILDER_DYNAMIC_GET_SINGLE="Single"
COM_COMPONENTBUILDER_DYNAMIC_GET_SS="ss"
COM_COMPONENTBUILDER_DYNAMIC_GET_STATE="State"
@ -3836,6 +4159,7 @@ COM_COMPONENTBUILDER_ERROR_YOU_DO_NOT_HAVE_ACCESS_TO_THE_SNIPPETS="Error! You do
COM_COMPONENTBUILDER_ERROR_YOU_DO_NOT_HAVE_PERMISSION_TO_CREATE_THE_SNIPPET="Error! You do not have permission to create the snippet."
COM_COMPONENTBUILDER_EXACT_LENGTH_ONLY_FOUR_TEXT_FIELD="Exact Length (only 4 text_field)"
COM_COMPONENTBUILDER_EXAMPLE="Example"
COM_COMPONENTBUILDER_EXPANSION_FAILED_PLEASE_CHECK_YOUR_SETTINGS_IN_THE_GLOBAL_OPTIONS_OF_JCB_UNDER_THE_DEVELOPMENT_METHOD_TAB="Expansion failed, please check your settings in the global options of JCB under the Development Method tab!"
COM_COMPONENTBUILDER_EXPORTIMPORT_DATA="Export/Import Data"
COM_COMPONENTBUILDER_EXPORT_COMPLETED="Export Completed!"
COM_COMPONENTBUILDER_EXPORT_DATA="Export Data"
@ -3908,12 +4232,18 @@ COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST="Fieldtypes Dashboard List"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE="Fieldtypes Delete"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC="Allows the users in this group to delete delete fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION="Fieldtypes Description"
COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION_DESC="Allows the users in this group to description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT="Fieldtypes Edit"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC="Allows the users in this group to edit the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION="Fieldtypes Edit Description"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC="Allows the users in this group to edit description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME="Fieldtypes Edit Name"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC="Allows the users in this group to edit name of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN="Fieldtypes Edit Own"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC="Allows the users in this group to edit edit own fieldtypes created by them"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES="Fieldtypes Edit Properties"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC="Allows the users in this group to edit properties of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION="Fieldtypes Edit Short Description"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC="Allows the users in this group to edit short description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE="Fieldtypes Edit State"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC="Allows the users in this group to update the state of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION="Fieldtypes Edit Version"
@ -3922,8 +4252,6 @@ COM_COMPONENTBUILDER_FIELDTYPES_EXPORT="Fieldtypes Export"
COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC="Allows the users in this group to export export fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT="Fieldtypes Import"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_NAME="Fieldtypes Name"
COM_COMPONENTBUILDER_FIELDTYPES_NAME_DESC="Allows the users in this group to name of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_ARCHIVED="%s Fieldtypes archived."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_ARCHIVED_1="%s Fieldtype archived."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_CHECKED_IN_0="No Fieldtype successfully checked in."
@ -3941,10 +4269,6 @@ COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_UNFEATURED="%s Fieldtypes unfeatured."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_UNFEATURED_1="%s Fieldtype unfeatured."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_UNPUBLISHED="%s Fieldtypes unpublished."
COM_COMPONENTBUILDER_FIELDTYPES_N_ITEMS_UNPUBLISHED_1="%s Fieldtype unpublished."
COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES="Fieldtypes Properties"
COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES_DESC="Allows the users in this group to properties of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION="Fieldtypes Short Description"
COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION_DESC="Allows the users in this group to short description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPE_ADJUSTABLE_DESCRIPTION="Select if the value is adjustable.<br />If not the Value/Example will be enforced."
@ -3962,6 +4286,7 @@ COM_COMPONENTBUILDER_FIELDTYPE_DESCRIPTION_LABEL="Description"
COM_COMPONENTBUILDER_FIELDTYPE_DETAILS="Details"
COM_COMPONENTBUILDER_FIELDTYPE_EDIT="Editing the Fieldtype"
COM_COMPONENTBUILDER_FIELDTYPE_ERROR_UNIQUE_ALIAS="Another Fieldtype has the same alias."
COM_COMPONENTBUILDER_FIELDTYPE_EXAMPLE_DESCRIPTION="Text Area"
COM_COMPONENTBUILDER_FIELDTYPE_EXAMPLE_HINT="Value/Example Here"
COM_COMPONENTBUILDER_FIELDTYPE_EXAMPLE_LABEL="Value/Example"
COM_COMPONENTBUILDER_FIELDTYPE_EXAMPLE_MESSAGE="Error! Please add value/example here."
@ -4010,6 +4335,7 @@ COM_COMPONENTBUILDER_FIELD_ADD_JAVASCRIPT_VIEW_FOOTER_LABEL="Add JavaScript (vie
COM_COMPONENTBUILDER_FIELD_BASESIXTY_FOUR="base64"
COM_COMPONENTBUILDER_FIELD_BASIC_ENCRYPTION_LOCALDBKEY="Basic Encryption (local-DB-key)"
COM_COMPONENTBUILDER_FIELD_BIGINT="BIGINT"
COM_COMPONENTBUILDER_FIELD_BLOB="BLOB"
COM_COMPONENTBUILDER_FIELD_BSB_NOT_FOUND_IN_LOCAL_DATABASE_TABLE_S_SO_IMPORTED_OF_ITS_VALUES_FAILED_PLEASE_UPDATE_YOUR_JCB_INSTALL_AND_TRY_AGAIN="Field <b>%s</b> not found in local database table (%s) so imported of its values failed, please update your JCB install and try again."
COM_COMPONENTBUILDER_FIELD_CATID_DESCRIPTION="select one of the following categories"
COM_COMPONENTBUILDER_FIELD_CATID_LABEL="Category"
@ -4072,7 +4398,9 @@ COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_DESCRIPTION="Add JavaScript fo
COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_LABEL="Javascript (edit view footer)"
COM_COMPONENTBUILDER_FIELD_JSON="JSON"
COM_COMPONENTBUILDER_FIELD_KEY="KEY"
COM_COMPONENTBUILDER_FIELD_LONGBLOB="LONGBLOB"
COM_COMPONENTBUILDER_FIELD_LONGTEXT="LONGTEXT"
COM_COMPONENTBUILDER_FIELD_MEDIUMBLOB="MEDIUMBLOB"
COM_COMPONENTBUILDER_FIELD_MEDIUMTEXT="MEDIUMTEXT"
COM_COMPONENTBUILDER_FIELD_MEDIUM_ENCRYPTION_LOCALFILEKEY="Medium Encryption (local-file-key)"
COM_COMPONENTBUILDER_FIELD_MODIFIED_BY_DESC="The last user that modified this Field."
@ -4197,6 +4525,8 @@ COM_COMPONENTBUILDER_FIELD_ORDERING_LABEL="Ordering"
COM_COMPONENTBUILDER_FIELD_OTHER="Other"
COM_COMPONENTBUILDER_FIELD_PERMISSION="Permissions"
COM_COMPONENTBUILDER_FIELD_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS="Field Run Expansion Button Access"
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_FIELD_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Field to customise the alias."
COM_COMPONENTBUILDER_FIELD_SCRIPTS="Scripts"
COM_COMPONENTBUILDER_FIELD_SELECT_AN_OPTION="Select an option"
@ -4210,6 +4540,7 @@ COM_COMPONENTBUILDER_FIELD_STORE_LABEL="Store Method"
COM_COMPONENTBUILDER_FIELD_TEN="10"
COM_COMPONENTBUILDER_FIELD_TEXT="TEXT"
COM_COMPONENTBUILDER_FIELD_TIME="TIME"
COM_COMPONENTBUILDER_FIELD_TINYBLOB="TINYBLOB"
COM_COMPONENTBUILDER_FIELD_TINYINT="TINYINT"
COM_COMPONENTBUILDER_FIELD_TWO_HUNDRED_AND_FIFTY_FIVE="255"
COM_COMPONENTBUILDER_FIELD_TWO_THOUSAND_AND_FORTY_EIGHT="2048"
@ -4383,6 +4714,8 @@ COM_COMPONENTBUILDER_HI="Hi"
COM_COMPONENTBUILDER_HIDE_ONLY="Hide Only"
COM_COMPONENTBUILDER_HIDE_TOGGLE="Hide Toggle"
COM_COMPONENTBUILDER_HOW_TO_GET_A_S_FREE_KEYSA_FROM_VDM="How to get <a %s >free keys</a> from VDM."
COM_COMPONENTBUILDER_HTHREEPLACEHOLDER_REMOVEDHTHREEPBTHISB_CUSTOM_CODE_CAN_ONLY_BE_USED_IN_BOTHERB_CUSTOM_CODE_NOT_IN_IT_SELF_SINCE_THAT_WILL_CAUSE_A_INFINITE_LOOP_IN_THE_COMPILERP="<h3>Placeholder Removed!</h3><p><b>This</b> custom code can only be used in <b>other</b> custom code, not in it self! Since that will cause a infinite loop in the compiler.</p>"
COM_COMPONENTBUILDER_HTHREESHTHREEPCUSTOM_CODE_CAN_ONLY_BE_USED_IN_OTHER_CUSTOM_CODE_IF_SET_AS_BJCB_MANUALB_YOU_CAN_NOT_ADD_THEM_TO_EMHASH_AUTOMATIONEM_CODE_AT_THIS_POINTP="<h3>%s</h3><p>Custom code can only be used in other custom code if set as <b>JCB (manual)</b>, you can not add them to <em>Hash (Automation)</em> code at this point.</p>"
COM_COMPONENTBUILDER_HTWOCURL_NOT_FOUNDHTWOPPLEASE_SETUP_CURL_ON_YOUR_SYSTEM_OR_BCOMPONENTBUILDERB_WILL_NOT_FUNCTION_CORRECTLYP="<h2>Curl Not Found!</h2><p>Please setup curl on your system, or <b>componentbuilder</b> will not function correctly!</p>"
COM_COMPONENTBUILDER_HTWODATA_IS_CORRUPTHTWOTHIS_COULD_BE_DUE_TO_BKEY_ERRORB_OR_BROKEN_PACKAGE="<h2>Data is corrupt!</h2>This could be due to <b>key error</b>, or broken package!"
COM_COMPONENTBUILDER_HTWODATA_IS_CORRUPTHTWOTHIS_COULD_BE_DUE_TO_BROKEN_PACKAGE="<h2>Data is corrupt!</h2>This could be due to broken package!"
@ -4534,6 +4867,9 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_JAVASCRIPT_LABEL="Add Javascript"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE="Add License"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_DESCRIPTION="Add the option to use the whmcs license add-on in the component."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_LABEL="Add WHMCS<br /><small>(license add-on)</small>"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_MENU_PREFIX="Add Menu Prefix"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_MENU_PREFIX_DESCRIPTION="Would you like to add a prefix to the Joomla menu name of this component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_MENU_PREFIX_LABEL="Add Menu Prefix"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_ADMIN="Add Php Helper Admin"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_ADMIN_LABEL="Add PHP (helper_admin Class)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_PHP_HELPER_BOTH="Add Php Helper Both"
@ -4586,6 +4922,8 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL="MySQL"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_DESCRIPTION="To build the component fields and back-end views dynamically using a mySQL table file."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMP_LABEL="Build Backend-views Dynamically"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDER_BACKUP_KEY="Joomla Component Builder - Backup Key"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS="Joomla Component Clear tmp Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the clear tmp button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS="Joomla Component Clone Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS_DESC=" Allows the users in this group to access the clone button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COMPANYNAME="Companyname"
@ -4683,6 +5021,12 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE="License Type"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_DESCRIPTION="How should the license be implemented."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_LABEL="Implementation"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LOCK_DOWN_USE_USED_TO_VERIFY_OWNERSHIP="Lock Down Use (used to verify ownership)"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX="Menu Prefix"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX_DESCRIPTION="Add the prefix you would like to use. Make sure that it is HTML Character Entities since it is being used in XML."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX_HINT="&#187;"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX_LABEL="Prefix<br />
<small><a href='https://dev.w3.org/html5/html-author/charref' target='_blank'>check this list out</a></small>"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MENU_PREFIX_MESSAGE="Error! Please add some text here."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_BY_DESC="The last user that modified this Joomla Component."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_BY_LABEL="Modified By"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_MODIFIED_DATE_DESC="The date this Joomla Component was modified."
@ -4837,6 +5181,8 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL="Global Helper Site E
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PUBLISHING="Publishing"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README="Readme"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_README_LABEL="README.md"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS="Joomla Component Run Expansion Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER="Sales Server"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_DESCRIPTION="Select your sales server for this component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SALES_SERVER_LABEL="Sales Server"
@ -4888,6 +5234,7 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_HINT="http://www.example
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_LABEL="Update Server"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_UPDATE_SERVER_URL_MESSAGE="Error! Please add url here."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_DESCRIPTION="How should we link to this contributor."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_GLOBAL="Use Global"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_GLOBAL_VERSION="Use Global Version"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_LABEL="Use"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_USE_ONLY_FIRST_NUMBER_OF_GLOBAL_VERSION_ONEXX="Use Only First Number of Global Version (1.x.x)"
@ -5664,6 +6011,8 @@ COM_COMPONENTBUILDER_PAIDLOCKED="Paid/Locked"
COM_COMPONENTBUILDER_PATH_CODESCODE="Path: <code>%s</code>"
COM_COMPONENTBUILDER_PATH_TO_THE_ZIPPED_PACKAGE_IS_CODESCODE_BR_S_S="Path to the zipped package is: <code>%s</code> <br />%s %s"
COM_COMPONENTBUILDER_PERMISSIONS="Permissions"
COM_COMPONENTBUILDER_PLACEHOLDERS_REMOVED="Placeholders Removed!"
COM_COMPONENTBUILDER_PLACEHOLDER_REMOVED="Placeholder Removed!"
COM_COMPONENTBUILDER_PLACES_ACROSS_JCB_WHERE_THIS_S_IS_LINKED="Places across JCB where this %s is linked."
COM_COMPONENTBUILDER_PLEASE_ADD_FILES_TO_S="Please add files to (%s)"
COM_COMPONENTBUILDER_PLEASE_ADD_FOLDERS_TO_S="Please add folders to (%s)"
@ -5694,6 +6043,7 @@ COM_COMPONENTBUILDER_REVERT_ALL_AHEAD_SNIPPETS="Revert All Ahead Snippets"
COM_COMPONENTBUILDER_REVIEW_THIS_ISSUE_ON_GITHUB="Review this issue on Github"
COM_COMPONENTBUILDER_RIGHT_IN_TAB="Right in Tab"
COM_COMPONENTBUILDER_RIGHT_OF_TABS="Right of Tabs"
COM_COMPONENTBUILDER_RUN_EXPANSION="Run Expansion"
COM_COMPONENTBUILDER_SAVE_SUCCESS="Great! Item successfully saved."
COM_COMPONENTBUILDER_SAVE_WARNING="The value already existed so please select another."
COM_COMPONENTBUILDER_SBR_YOU_CAN_ADD_AN_BACCESS_TOKENB_TO_GETBIBLE_GLOBAL_OPTIONS_TO_MAKE_AUTHENTICATED_REQUESTS_AN_ACCESS_TOKEN_WITH_ONLY_PUBLIC_ACCESS_WILL_DO="%s<br />You can add an <b>access token<b/> to getBible global options to make authenticated requests. An access token with only public access will do."
@ -6693,12 +7043,14 @@ COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_CONDITIONS="The admin fields conditions"
COM_COMPONENTBUILDER_THE_ADMIN_FIELDS_RELATIONS="The admin fields relations"
COM_COMPONENTBUILDER_THE_AVAILABLE_VALIDATION_RULES_FOR_THE_VALIDATE_ATTRIBUTE_ARE="The available validation rules for the validate attribute are:"
COM_COMPONENTBUILDER_THE_BNONE_DBB_OPTION_WILL_REMOVE_THIS_FIELD_FROM_BEING_SAVED_IN_THE_DATABASE="The <b>None DB</b> option will remove this field from being saved in the database."
COM_COMPONENTBUILDER_THE_BONLY_IN_ADMIN_LIST_VIEWB_OPTION_WILL_ONLY_ADD_THIS_FIELD_TO_THE_ADMIN_LIST_VIEW_NOT_TO_ANY_LINKED_VIEWS="The <b>Only in Admin List View</b> option will only Add this field to the admin list view, not to any linked views."
COM_COMPONENTBUILDER_THE_BONLY_IN_LINKED_LIST_VIEWSB_OPTION_WILL_ONLY_ADD_THIS_FIELD_TO_THE_LINKED_LIST_VIEW_IF_THIS_VIEW_GETS_LINKED_TO_OTHER_VIEW_NOT_TO_THIS_ADMIN_LIST_VIEW="The <b>Only in Linked List Views</b> option will only Add this field to the linked list view, if this view gets linked to other view, not to this admin list view."
COM_COMPONENTBUILDER_THE_BPHPSECLIBNETSFTPB_LIBRARYCLASS_IS_NOT_AVAILABLE_THIS_LIBRARYCLASS_SHOULD_HAVE_BEEN_ADDED_TO_YOUR_BLIBRARIESVDM_IOVENDORB_FOLDER_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_INFO="The <b>phpseclib\NET\SFTP</b> library\class is not available! This library\class should have been added to your <b>libraries/vdm_io/vendor</b> folder. Please contact your system administrator for more info"
COM_COMPONENTBUILDER_THE_BSB_FILE_COULD_NOT_BE_MOVED_TO_BSB_PATH_ON_BSB_SERVER="The <b>%s</b> file could not be moved to <b>%s</b> path on <b>%s</b> server."
COM_COMPONENTBUILDER_THE_BSB_FILE_COULD_NOT_BE_MOVED_TO_BSB_SERVER="The <b>%s</b> file could not be moved to <b>%s</b> server."
COM_COMPONENTBUILDER_THE_BSB_LIBRARYCLASS_IS_NOT_AVAILABLE_THIS_LIBRARYCLASS_SHOULD_HAVE_BEEN_ADDED_TO_YOUR_BLIBRARIESVDM_IOVENDORB_FOLDER_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_INFO="The <b>%s</b> library\class is not available! This library\class should have been added to your <b>libraries/vdm_io/vendor</b> folder. Please contact your system administrator for more info!"
COM_COMPONENTBUILDER_THE_BSB_LIBRARY_CAN_NOT_BE_DELETED_OR_THINGS_WILL_BREAK="The <b>%s</b> library can not be deleted, or things will break."
COM_COMPONENTBUILDER_THE_BSHOW_IN_LIST_VIEWB_OPTION_WILL_ADD_THIS_FIELD_TO_THE_ADMIN_LIST_VIEW="The <b>Show in list view</b> option will Add this field to the admin list view."
COM_COMPONENTBUILDER_THE_BSHOW_IN_ALL_LIST_VIEWSB_OPTION_WILL_ADD_THIS_FIELD_TO_ALL_LIST_VIEWS_ADMIN_AMP_LINKED="The <b>Show in All List Views</b> option will Add this field to all list views, admin &amp; linked."
COM_COMPONENTBUILDER_THE_COMPONENT_ADMIN_VIEWS="The component admin views"
COM_COMPONENTBUILDER_THE_COMPONENT_CONFIG="The component config"
COM_COMPONENTBUILDER_THE_COMPONENT_CUSTOM_ADMIN_MENUS="The component custom admin menus"
@ -6873,6 +7225,7 @@ COM_COMPONENTBUILDER_YOU_CAN_NOW_SELECT_THE_COMPONENT_BZIPB_PACKAGE_YOU_WOULD_LI
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_ACCESS_THE_SERVER_DETAILS_BS_DENIEDB_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_INFO="You do not have permission to access the server details (<b>%s - denied</b>), please contact your system administrator for more info."
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help."
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help."
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_RUN_THE_EXPANSION_MODULE="You do not have permission to run the expansion module!"
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_SHARE_THE_SNIPPETS_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to share the snippets, please contact your system administrator for more help."
COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_S_S_IS_CONSIDERED_BAD_PRACTICE="You have %s %s. Adding more then %s %s is considered bad practice."
COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_S_S_IS_CONSIDERED_BAD_PRACTICE_YOUR_S_PAGE_LOAD_IN_JCB_WILL_SLOWDOWN_YOU_SHOULD_CONSIDER_DECOUPLING_SOME_OF_THESE_S="You have %s %s. Adding more then %s %s is considered bad practice. Your %s page load in JCB will slowdown. You should consider decoupling some of these %s."

View File

@ -109,12 +109,16 @@ COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT="Admin Views Import"
COM_COMPONENTBUILDER_ADMIN_VIEWS_IMPORT_DESC="Allows the users in this group to import import admin views"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU="Admin Views Submenu"
COM_COMPONENTBUILDER_ADMIN_VIEWS_SUBMENU_DESC="Allows the users in this group to submenu of admin view"
COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS="Admin View Run Expansion Button Access"
COM_COMPONENTBUILDER_ADMIN_VIEW_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_COMPILER_ACCESS="Compiler Access"
COM_COMPONENTBUILDER_COMPILER_ACCESS_DESC=" Allows the users in this group to access compiler."
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS="Compiler Clear tmp Button Access"
COM_COMPONENTBUILDER_COMPILER_CLEAR_TMP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the clear tmp button."
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST="Compiler Dashboard List"
COM_COMPONENTBUILDER_COMPILER_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of Compiler"
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS="Compiler Run Expansion Button Access"
COM_COMPONENTBUILDER_COMPILER_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_COMPILER_SUBMENU="Compiler Submenu"
COM_COMPONENTBUILDER_COMPILER_SUBMENU_DESC="Allows the users in this group to submenu of Compiler"
COM_COMPONENTBUILDER_COMPONENTS_ADMIN_VIEWS_ACCESS="Components Admin Views Access"
@ -354,6 +358,8 @@ COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT="Custom Codes Import"
COM_COMPONENTBUILDER_CUSTOM_CODES_IMPORT_DESC="Allows the users in this group to import import custom codes"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU="Custom Codes Submenu"
COM_COMPONENTBUILDER_CUSTOM_CODES_SUBMENU_DESC="Allows the users in this group to submenu of custom code"
COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS="Custom Code Run Expansion Button Access"
COM_COMPONENTBUILDER_CUSTOM_CODE_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS="Dynamic Gets Access"
COM_COMPONENTBUILDER_DYNAMIC_GETS_ACCESS_DESC="Allows the users in this group to access access dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_BATCH_USE="Dynamic Gets Batch Use"
@ -380,6 +386,8 @@ COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT="Dynamic Gets Import"
COM_COMPONENTBUILDER_DYNAMIC_GETS_IMPORT_DESC="Allows the users in this group to import import dynamic gets"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU="Dynamic Gets Submenu"
COM_COMPONENTBUILDER_DYNAMIC_GETS_SUBMENU_DESC="Allows the users in this group to submenu of dynamic get"
COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS="Dynamic Get Run Expansion Button Access"
COM_COMPONENTBUILDER_DYNAMIC_GET_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_EDIT_CREATED_BY="Edit Created By"
COM_COMPONENTBUILDER_EDIT_CREATED_BY_DESC=" Allows users in this group to edit created by."
COM_COMPONENTBUILDER_EDIT_CREATED_DATE="Edit Created Date"
@ -426,12 +434,18 @@ COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST="Fieldtypes Dashboard List"
COM_COMPONENTBUILDER_FIELDTYPES_DASHBOARD_LIST_DESC="Allows the users in this group to dashboard list of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE="Fieldtypes Delete"
COM_COMPONENTBUILDER_FIELDTYPES_DELETE_DESC="Allows the users in this group to delete delete fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION="Fieldtypes Description"
COM_COMPONENTBUILDER_FIELDTYPES_DESCRIPTION_DESC="Allows the users in this group to description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT="Fieldtypes Edit"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESC="Allows the users in this group to edit the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION="Fieldtypes Edit Description"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_DESCRIPTION_DESC="Allows the users in this group to edit description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME="Fieldtypes Edit Name"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_NAME_DESC="Allows the users in this group to edit name of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN="Fieldtypes Edit Own"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_OWN_DESC="Allows the users in this group to edit edit own fieldtypes created by them"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES="Fieldtypes Edit Properties"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_PROPERTIES_DESC="Allows the users in this group to edit properties of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION="Fieldtypes Edit Short Description"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_SHORT_DESCRIPTION_DESC="Allows the users in this group to edit short description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE="Fieldtypes Edit State"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_STATE_DESC="Allows the users in this group to update the state of the fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_EDIT_VERSION="Fieldtypes Edit Version"
@ -440,14 +454,10 @@ COM_COMPONENTBUILDER_FIELDTYPES_EXPORT="Fieldtypes Export"
COM_COMPONENTBUILDER_FIELDTYPES_EXPORT_DESC="Allows the users in this group to export export fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT="Fieldtypes Import"
COM_COMPONENTBUILDER_FIELDTYPES_IMPORT_DESC="Allows the users in this group to import import fieldtypes"
COM_COMPONENTBUILDER_FIELDTYPES_NAME="Fieldtypes Name"
COM_COMPONENTBUILDER_FIELDTYPES_NAME_DESC="Allows the users in this group to name of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES="Fieldtypes Properties"
COM_COMPONENTBUILDER_FIELDTYPES_PROPERTIES_DESC="Allows the users in this group to properties of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION="Fieldtypes Short Description"
COM_COMPONENTBUILDER_FIELDTYPES_SHORT_DESCRIPTION_DESC="Allows the users in this group to short description of fieldtype"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU="Fieldtypes Submenu"
COM_COMPONENTBUILDER_FIELDTYPES_SUBMENU_DESC="Allows the users in this group to submenu of fieldtype"
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS="Field Run Expansion Button Access"
COM_COMPONENTBUILDER_FIELD_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS="Get Snippets Access"
COM_COMPONENTBUILDER_GET_SNIPPETS_ACCESS_DESC=" Allows the users in this group to access get snippets."
COM_COMPONENTBUILDER_GET_SNIPPETS_CUSTOM_ADMIN_VIEWS_BUTTON_ACCESS="Get Snippets Custom Admin Views Button Access"
@ -520,12 +530,16 @@ COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU="Joomla Components Submenu"
COM_COMPONENTBUILDER_JOOMLA_COMPONENTS_SUBMENU_DESC="Allows the users in this group to submenu of joomla component"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS="Joomla Component Backup Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BACKUP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the backup button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS="Joomla Component Clear tmp Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLEAR_TMP_BUTTON_ACCESS_DESC=" Allows the users in this group to access the clear tmp button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS="Joomla Component Clone Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CLONE_BUTTON_ACCESS_DESC=" Allows the users in this group to access the clone button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Export JCB Packages Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EXPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC=" Allows the users in this group to access the export jcb packages button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS="Joomla Component Import JCB Packages Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMPORT_JCB_PACKAGES_BUTTON_ACCESS_DESC=" Allows the users in this group to access the import jcb packages button."
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS="Joomla Component Run Expansion Button Access"
COM_COMPONENTBUILDER_JOOMLA_COMPONENT_RUN_EXPANSION_BUTTON_ACCESS_DESC=" Allows the users in this group to access the run expansion button."
COM_COMPONENTBUILDER_LANGUAGES_ACCESS="Languages Access"
COM_COMPONENTBUILDER_LANGUAGES_ACCESS_DESC="Allows the users in this group to access access languages"
COM_COMPONENTBUILDER_LANGUAGES_BATCH_USE="Languages Batch Use"
@ -664,7 +678,7 @@ COM_COMPONENTBUILDER_LIBRARIES_SUBMENU="Libraries Submenu"
COM_COMPONENTBUILDER_LIBRARIES_SUBMENU_DESC="Allows the users in this group to submenu of library"
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS="Library Get Snippets Button Access"
COM_COMPONENTBUILDER_LIBRARY_GET_SNIPPETS_BUTTON_ACCESS_DESC=" Allows the users in this group to access the get snippets button."
COM_COMPONENTBUILDER_MENU="&#187; Component Builder"
COM_COMPONENTBUILDER_MENU="&#10003 Component Builder"
COM_COMPONENTBUILDER_MENU_ADMIN_VIEWS="Admin Views"
COM_COMPONENTBUILDER_MENU_COMPILER="Compiler"
COM_COMPONENTBUILDER_MENU_CUSTOM_ADMIN_VIEWS="Custom Admin Views"

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'admin_view'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -18,16 +18,14 @@ $fields = $displayData->get('fields') ?: array(
'tabs'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'admin_view'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -19,16 +19,14 @@ $fields = $displayData->get('fields') ?: array(
'addfields'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'admin_view'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -19,16 +19,14 @@ $fields = $displayData->get('fields') ?: array(
'addconditions'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'admin_view'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -19,16 +19,14 @@ $fields = $displayData->get('fields') ?: array(
'addrelations'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -21,16 +21,14 @@ $fields = $displayData->get('fields') ?: array(
'css_views'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -21,16 +21,14 @@ $fields = $displayData->get('fields') ?: array(
'php_model_list'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -21,20 +21,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -27,16 +27,14 @@ $fields = $displayData->get('fields') ?: array(
'php_import_ext'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'system_name'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -18,16 +18,14 @@ $fields = $displayData->get('fields') ?: array(
'note_linked_to_notice'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -25,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -22,20 +22,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'not_required'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -18,16 +18,14 @@ $fields = $displayData->get('fields') ?: array(
'note_create_edit_display'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -24,20 +24,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -20,20 +20,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -25,16 +25,14 @@ $fields = $displayData->get('fields') ?: array(
'javascript_views_footer'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -18,16 +18,14 @@ $fields = $displayData->get('fields') ?: array(
'sql'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -15,6 +15,10 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
'mysql_table_engine',
'mysql_table_charset',
'mysql_table_collate',
'mysql_table_row_format',
'add_sql',
'source',
'addtables'
@ -22,20 +26,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -54,16 +54,14 @@ $fields = $displayData->get('fields') ?: array(
'php_document'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -24,16 +24,14 @@ $fields = $displayData->get('fields') ?: array(
'addlinked_views'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'joomla_component'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -19,16 +19,14 @@ $fields = $displayData->get('fields') ?: array(
'addadmin_views'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'joomla_component'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -18,16 +18,14 @@ $fields = $displayData->get('fields') ?: array(
'addconfig'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'joomla_component'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -18,16 +18,14 @@ $fields = $displayData->get('fields') ?: array(
'addcustommenus'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-vertical">
<?php foreach($fields as $field): ?>
<div class="control-group">
<div class="control-label">
<?php echo $form->getLabel($field); ?>
</div>
<div class="controls">
<?php echo $form->getInput($field); ?>
</div>
</div>
<?php endforeach; ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -24,20 +23,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -12,7 +12,6 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
@ -26,20 +25,10 @@ $fields = $displayData->get('fields') ?: array(
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>

View File

@ -14,13 +14,18 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = array(
$fields = $displayData->get('fields') ?: array(
'joomla_component'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
?>
<div class="form-inline form-inline-header">
<?php foreach($fields as $field){
echo $form->renderField($field);
} ?>
<?php foreach($fields as $field): ?>
<?php if (in_array($field, $hiddenFields)) : ?>
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
<?php endif; ?>
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
<?php endforeach; ?>
</div>

Some files were not shown because too many files have changed in this diff Show More