{"id":21842554,"url":"https://github.com/brookinsconsulting/bciconextensions_share_icons","last_synced_at":"2025-03-21T16:14:40.009Z","repository":{"id":62497495,"uuid":"100152922","full_name":"brookinsconsulting/bciconextensions_share_icons","owner":"brookinsconsulting","description":"eZ Publish Legacy extension which provides a basic example bciconextensions implementation to provide custom icon themes and icons within eZ Publish extensions instead of kernel hacking your eZ Publish installation. Great for smart developers!","archived":false,"fork":false,"pushed_at":"2017-08-13T04:04:52.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T11:27:50.161Z","etag":null,"topics":["bciconextensions","extension","extensions","ezpublish","ezpublishlegacy","ezpublishplatform","icon","icon-theme","icons","legacy","php","settings","share-icons","themes"],"latest_commit_sha":null,"homepage":"http://projects.ez.no/bciconextensions_share_icons","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brookinsconsulting.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-13T04:04:19.000Z","updated_at":"2017-08-13T04:09:39.000Z","dependencies_parsed_at":"2022-11-02T11:46:23.054Z","dependency_job_id":null,"html_url":"https://github.com/brookinsconsulting/bciconextensions_share_icons","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookinsconsulting%2Fbciconextensions_share_icons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookinsconsulting%2Fbciconextensions_share_icons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookinsconsulting%2Fbciconextensions_share_icons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brookinsconsulting%2Fbciconextensions_share_icons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brookinsconsulting","download_url":"https://codeload.github.com/brookinsconsulting/bciconextensions_share_icons/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244825654,"owners_count":20516592,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bciconextensions","extension","extensions","ezpublish","ezpublishlegacy","ezpublishplatform","icon","icon-theme","icons","legacy","php","settings","share-icons","themes"],"created_at":"2024-11-27T22:12:29.628Z","updated_at":"2025-03-21T16:14:39.988Z","avatar_url":"https://github.com/brookinsconsulting.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"BC Icon Extensions Share Icons\n===================\n\nThis extension is a simple eZ Publish Platform (Legacy) share icons extension which uses the kernel override extension bciconextensions which provides a basic but time tested kernel override class modified to offer flexible solution for storing share/icon theme icons within eZ Publish extensions instead of kernel hacking your eZ Publish installation. This extension provides an example of how to make actual use of the kernel override icon system provided by bciconextensions. Great for smart developers!\n\nThis is helpful and useful for overriding or customizing the default share/icon theme(s) icon image files. With this solution you can finally add your own custom icons which match your custom content classes within an extension and prevent kernel hacking your eZ Publish Platform (Legacy) installation!\n\n\nVersion\n=======\n\n* The current version of BC Icon Extensions Share Icons is 0.1.0\n\n* Last Major update: August 12, 2017\n\n\nCopyright\n=========\n\n* BC Icon Extensions Share Icons is copyright 1999 - 2017 Brookins Consulting\n\n* See: [COPYRIGHT.md](COPYRIGHT.md) for more information on the terms of the copyright and license\n\n\nLicense\n=======\n\nBC Icon Extensions Share Icons is licensed under the GNU General Public License.\n\nThe complete license agreement is included in the [LICENSE](LICENSE.md) file.\n\nBC Icon Extensions Share Icons is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 2 of the License or at your\noption a later version.\n\nBC Icon Extensions Share Icons is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nThe GNU GPL gives you the right to use, modify and redistribute\nBC Icon Extensions Share Icons under certain conditions. The GNU GPL license\nis distributed with the software, see the file LICENSE.\n\nIt is also available at [http://www.gnu.org/licenses/gpl.txt](http://www.gnu.org/licenses/gpl.txt)\n\nYou should have received a copy of the GNU General Public License\nalong with BC Icon Extensions Share Icons in LICENSE.\n\nIf not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).\n\nUsing BC Icon Extensions Share Icons under the terms of the GNU GPL is free (as in freedom).\n\nFor more information or questions please contact: license@brookinsconsulting.com\n\n\nRequirements\n============\n\nThe following requirements exists for using BC Icon Extensions Share Icons extension:\n\n\n### eZ Publish version\n\n* Make sure you use eZ Publish version 4.x (required) or higher.\n\n* Designed and tested with eZ Publish Community Project 2014.11\n\n\n### PHP version\n\n* Make sure you have PHP 5.x or higher.\n\n\nFeatures\n========\n\nThis solution provides the following features:\n\n* Extension Share Icon Overrides\n\n* Custom settings/icon.ini settings overrides: settings/icon.ini.append.php\n\n\n### Dependencies\n\n* This solution depends on eZ Publish Legacy and kernel class overrides enabled in config.php\n\n* bciconextensions extensions\n\n\nInstallation\n============\n\n### Bundle Installation via Composer\n\nRun the following command from your project root to install the bundle:\n\n    bash$ composer require brookinsconsulting/bciconextensions_share_icons dev-master;\n\n\n### Extension Activation\n\nRequired. Activate this extension by adding the following to your `settings/override/site.ini.append.php`:\n\n    [ExtensionSettings]\n    # \u003csnip existing active extensions list /\u003e\n    ActiveExtensions[]=bciconextensions_share_icons\n\nKernel class override extensions are **not** activated via ini settings. Normal site.ini extension activation settings are still required to use this extension and it's solution's custom settings.\n\n\n### Enable eZ Publish Kernel Overrides\n\nKernel class overrides are only able to be used if you add the following to your eZ Publish Legacy config.php configuration file.\n\n    cp -va config.php-RECOMMENDED config.php;\n    # Edit config.php to set 'EZP_AUTOLOAD_ALLOW_KERNEL_OVERRIDE' to true. It should look like this:\n    define( 'EZP_AUTOLOAD_ALLOW_KERNEL_OVERRIDE', true );\n\n\n### Regenerate kernel class override autoloads\n\nRegenerate kernel class override autoloads (Required).\n\n    php ./bin/php/ezpgenerateautoloads.php --kernel-override;\n\n\n### Clear the caches\n\nOptional. Clear eZ Publish Platform / eZ Publish Legacy caches (Required).\n\n    php ./bin/php/ezcache.php --clear-all;\n\n\n### Install Rewrite Rules\n\n#### Apache Rewrite Rules\n\nRequired. To be able to access the image files provided by an icon extension you must install the following apache mod_rewrite rule into your webserver's virtual host configuration.\n\n    # bciconextensions required mod_rewrite rules to allow access to icon extension icon image files\n    RewriteRule ^/extension/[^/]+/icons/[^/]+/[^/]+/[^/]+/.* - [L]\n\n#### Nginx Rewrite Rules\n\nRequired. To be able to access the image files provided by an icon extension you must install the following nginx rewrite rule into your webserver's virtual host configuration.\n\n    # bciconextensions required rewrite rules to allow access to icon extension icon image files\n    rewrite \"^/extension/([^/]+)/icons/([^/]+)/([^/]+)/([^/]+)/(.*)\" \"/extension/$1/design/$2/$3/$4\" break;\n\n\nUsage\n=====\n\nThe solution is configured to work virtually by default once properly installed.\n\nThis solution allows you have to icon themes in extensions.\n\nThis means you install, activate and configure this extension in your installation and then create your own custom share/icon themes in your own custom extension.\n\nHistory\n=======\n\nIcons are always bound to one single repository. This makes the hole icon-engine in eZ publish uncomfortable, especially in mulit-site environments.\n\nIt is much easier to have an icon engine, behaving similar to the template engine, which is capable of loading templates out of different designs, using a fallback design and even can load things from extensions.\n\nThis solution implements the following features:\n\n1. Load icon themes via a extensions\n\n2. Have a standard theme on which the engine falls back if an icon can't be found in the current theme\n\n3. Have a list of additional themes, where the engine looks for icons before falling back to the standard theme\n\n\nUsage - Creating your own icon extension\n========================================\n\nSample configuration: To have icon themes in an extension, place them in /extensions/YOUREXTENSION/icons/YOURTHEME,\nwhere YOUREXTENSION is the name of one of your extensions and YOURTHEME is a new theme.\n\nThen set in [ExtensionSettings] the setting IconExtensions[] to:\nIconExtensions[]=YOUREXTENSION\n\nTo make use of additional themes, name them using\nAdditionalThemeList[], eg.:\nAdditionalThemeList[]=blue\nAdditionalThemeList[]=exotic\n\nAnd make shure they exists either in an extension or in the default repository.\n\n*Please note:* The directory structure of your icon extension (and it's themes) must match the directory structure conventions of the eZ Publish Legacy share/icons content provided in a default installation. The more you match the defaults expected the less ini setting configuration settings override you will require.\n\n\nTroubleshooting\n===============\n\n### Read the FAQ\n\nSome problems are more common than others. The most common ones are listed in the the [doc/FAQ.md](doc/FAQ.md)\n\n\n### Support\n\nIf you have find any problems not handled by this document or the FAQ you can contact Brookins Consulting through the support system: [http://brookinsconsulting.com/contact](http://brookinsconsulting.com/contact)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrookinsconsulting%2Fbciconextensions_share_icons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrookinsconsulting%2Fbciconextensions_share_icons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrookinsconsulting%2Fbciconextensions_share_icons/lists"}