Jump to content
ukyo

FieldtypeFontIconPicker

Recommended Posts

@MilenKo and @LAPS - I just installed it for the first time on 3.0.150 and it works fine. It sounds like a modules refresh might fix things. If not, try clearing the assest/cache/FileCompiler folder.

Share this post


Link to post
Share on other sites

@adrian I made the modules refresh, then in the admin I get:

fieldtypefonticonpicker03.thumb.png.77a37ec62cfbde240ede7b0cc436895d.png

To temporarily solve the problem, I renamed the module directory from /.../site/modules/FieldtypeFontIconPicker to /.../site/modules/.FieldtypeFontIconPicker (note: the point).

I also tried to clear compiled files in Admin > Modules > Site, even manually with a file manager software, but this didn't solved the problem.

I'd like to reinstall FieldtypeFontIconPicker but how to unistall a module that is currently used (PW doesn't allow this)?

 

@ukyo Linux OS - PHP v7.2 - PW v3.0.148

Share this post


Link to post
Share on other sites

@LAPS - try looking at the modules database table and see if there are two entries for the module. Look for two copies of the module's files in site/modules - check to make sure that there isn't one inside the folder of another module (in case you might have drag/dropped it accidentally.

It will be a bit messy for a couple of admin reloads / module refreshes, but you could empty the cache database table.

You can't uninstall a module for a field without removing the field.

Share this post


Link to post
Share on other sites

@adrian

1 hour ago, adrian said:

Look for two copies of the module's files in site/modules - check to make sure that there isn't one inside the folder of another module (in case you might have drag/dropped it accidentally.

In the /site/modules/ folder I have subfolders FieldtypeFontIconPicker and MarkupFontIconPicker.

 

1 hour ago, adrian said:

@LAPS - try looking at the modules database table and see if there are two entries for the module.

Following is the content of the modules database table relating FontIconPicker and the default PW icon field:

fieldtypefonticonpicker04.png.cd74b56918b22bdf2cb2a39383bf6a18.png

And here is the result of the SQL search SELECT * FROM `database_name`.`caches` WHERE ( CONVERT( `name` USING utf8 ) LIKE '%FontIconPicker%' OR CONVERT( `data` USING utf8 ) LIKE '%FontIconPicker%' OR CONVERT( `expires` USING utf8 ) LIKE '%FontIconPicker%'):

fieldtypefonticonpicker05.png.b3860144d0db1fb250aea4e3bd4a0d72.png

  

1 hour ago, adrian said:

[...] but you could empty the cache database table

In the caches database table, can I safely delete the resulting rows to check if this resolves the problem?

Share this post


Link to post
Share on other sites
50 minutes ago, LAPS said:

In the caches database table, can I safely delete the resulting rows to check if this resolves the problem?

yep

Share this post


Link to post
Share on other sites

@adrian It doesn't work even clearing the caches database table. I get the same error:

Compile Error: Cannot declare class MarkupFontIconPicker, because the name is already in use (line 10 of /.../home/site/assets/cache/FileCompiler/site/modules/FieldtypeFontIconPicker/MarkupFontIconPicker.module)

 

Share this post


Link to post
Share on other sites

Did you ever empty out the cache/FileCompiler directory like I suggested above? If that doesn't work, I think you really need to search around and make sure there isn't a second copy of the module somewhere in the /site/modules directory.

Share this post


Link to post
Share on other sites
13 minutes ago, adrian said:

Did you ever empty out the cache/FileCompiler directory like I suggested above?

Yes, I did.

 

13 minutes ago, adrian said:

If that doesn't work, I think you really need to search around and make sure there isn't a second copy of the module somewhere in the /site/modules directory.

I just come up that the folders /site/modules/FieldtypeFontIconPicker and /site/modules/MarkupFontIconPicker have the same content (same file structure and same files):

fieldtypefonticonpicker06b.png.5c6a7200c4646ce0b335b4043110b911.pngfieldtypefonticonpicker06a.png.8f8bbe06cfb00bf256724d4aa28ba178.png

Maybe the problem is this. If so, what should really be the content in those two folders?

Share this post


Link to post
Share on other sites

The MarkupFontIconPicker folder should not exist - just delete that and you'll be fine 🙂

Share this post


Link to post
Share on other sites
6 hours ago, adrian said:

The MarkupFontIconPicker folder should not exist - just delete that and you'll be fine 🙂

@adrian I deleted the MarkupFontIconPicker folder and I no longer get the error. Thank you! 🙂

It was my fault in trying to solve things 😕 as of the original issue: in the Edit Field > Input > Icon library, the libraries (IconPicker.*.php) are not loaded.

Is there any reason for having no loaded libraries (note: I haven't added any new libraries, I'm just using the default ones)?

Share this post


Link to post
Share on other sites
4 hours ago, LAPS said:

@adrian I deleted the MarkupFontIconPicker folder and I no longer get the error. Thank you! 🙂

It was my fault in trying to solve things 😕 as of the original issue: in the Edit Field > Input > Icon library, the libraries (IconPicker.*.php) are not loaded.

Is there any reason for having no loaded libraries (note: I haven't added any new libraries, I'm just using the default ones.)?

Can you check paths are true on your server ? on this line :

https://github.com/trk/FieldtypeFontIconPicker/blob/master/FieldtypeFontIconPicker.module#L43

@bernhard have similar error with my other Mystique module

 

Repo function line : https://github.com/trk/Mystique/blob/next/Mystique.module.php#L88

I can't find the issue. On my mac (macos mojave with valet (php 7.4.3)) and on my server (centos 7.7 with php (7.3)) i can't see this issue.

Share this post


Link to post
Share on other sites

@ukyo I haven't had time to look into that issue, but I'd highly recommend that you use the built in file tools of ProcessWire - that minimizes the risk of such errors and if there are still any bugs we can fix them globally on one place once for all.

It's as simple as using $this->files->find(...) in your module, see https://github.com/BernhardBaumrock/RockTabulator/blob/6670f2647fcbbb1f5ad4c5237ea9fd03b8899315/InputfieldRockTabulator.module.php#L52-L58 for example.

See also https://processwire.com/api/ref/wire-file-tools/

Share this post


Link to post
Share on other sites
2 hours ago, ukyo said:

Can you check paths are true on your server ? on this line :

https://github.com/trk/FieldtypeFontIconPicker/blob/master/FieldtypeFontIconPicker.module#L43

About the $paths in the code you linked:

echo wire("config")->paths->siteModules . "**/configs/IconPicker.*.php";

// output is: /..../site/modules/**/configs/IconPicker.*.php


// (manual :)) matching is:
//
//   ftp://.../site/modules/FieldtypeFontIconPicker/configs/IconPicker.fontawesome.php
//   ftp://.../site/modules/FieldtypeFontIconPicker/configs/IconPicker.ionicicons.php
//   ftp://.../site/modules/FieldtypeFontIconPicker/configs/IconPicker.uikit.php



echo wire("config")->paths->templates . "configs/IconPicker.*.php";

// output is: /.../site/templates/configs/IconPicker.*.php

// no matching:
//
//   "No such file or directory"

 

1 hour ago, bernhard said:

[...] recommend that you use the built in file tools [...]

🙂

@ukyo please consider refactoring $pathss definition ASAP. 😉

$path = $this->wire("config")->paths->siteModules . "**/configs/Mystique.*.php";
$path .= "," . $this->wire("config")->paths->templates . "configs/Mystique.*.php";

 

Share this post


Link to post
Share on other sites
16 hours ago, bernhard said:

@ukyo I haven't had time to look into that issue, but I'd highly recommend that you use the built in file tools of ProcessWire - that minimizes the risk of such errors and if there are still any bugs we can fix them globally on one place once for all.

It's as simple as using $this->files->find(...) in your module, see https://github.com/BernhardBaumrock/RockTabulator/blob/6670f2647fcbbb1f5ad4c5237ea9fd03b8899315/InputfieldRockTabulator.module.php#L52-L58 for example.

See also https://processwire.com/api/ref/wire-file-tools/

How to use core files()->find() function like php glob() function ?

https://github.com/trk/FieldtypeFontIconPicker/blob/master/FieldtypeFontIconPicker.module#L50

15 hours ago, LAPS said:

About the $paths in the code you linked:


echo wire("config")->paths->siteModules . "**/configs/IconPicker.*.php";

// output is: /..../site/modules/**/configs/IconPicker.*.php


// (manual :)) matching is:
//
//   ftp://.../site/modules/FieldtypeFontIconPicker/configs/IconPicker.fontawesome.php
//   ftp://.../site/modules/FieldtypeFontIconPicker/configs/IconPicker.ionicicons.php
//   ftp://.../site/modules/FieldtypeFontIconPicker/configs/IconPicker.uikit.php



echo wire("config")->paths->templates . "configs/IconPicker.*.php";

// output is: /.../site/templates/configs/IconPicker.*.php

// no matching:
//
//   "No such file or directory"

 

🙂

@ukyo please consider refactoring $pathss definition ASAP. 😉


$path = $this->wire("config")->paths->siteModules . "**/configs/Mystique.*.php";
$path .= "," . $this->wire("config")->paths->templates . "configs/Mystique.*.php";

 

If you don't have custom icons inside templates folder result look like ok.

Share this post


Link to post
Share on other sites
51 minutes ago, ukyo said:

If you don't have custom icons inside templates folder result look like ok.

N.B.: The module is not working. 🤔

Share this post


Link to post
Share on other sites
1 hour ago, LAPS said:

N.B.: The module is not working. 🤔

Module working, but not on your side 😞. I created a next branch on github repo can you download next branch and test it ?

https://github.com/trk/FieldtypeFontIconPicker/tree/next

After install module be sure, refresh modules and clear compiler cache.

Share this post


Link to post
Share on other sites
7 minutes ago, ukyo said:

Module working, but not on your side 😞. I created a next branch on github repo can you download next branch and test it ?

https://github.com/trk/FieldtypeFontIconPicker/tree/next

@ukyo For sure!

Just reassure me on what to make possibly without uninstalling the module since it's used in many templates and populates many pages e.g. can I just copy-paste the files from the repo to the /.../site/modules/FieldtypeFontIconPicker folder?

Share this post


Link to post
Share on other sites
Just now, LAPS said:

For sure!

Just say to me what I've to make possibly without uninstalling the module since it's used in many templates and populates many pages e.g. can I just copy-paste the files from the repo to the /.../site/modules/FieldtypeFontIconPicker folder?

Copy / Paste files enough

Share this post


Link to post
Share on other sites

Steps I performed:
1. FieldtypeFontIconPicker files uploaded.
2. Admin > Modules > Clear compiled files run.
3. Admin > Modules > Refresh run.
4. Browser cache cleared (one never knows).
5. Steps 2 to 3 repeated once again, and again.

Result:
It doesn't work: in the Edit Field > Input > Icon library the libraries (IconPicker.*.php) are not loaded as described in the original issue😔

Share this post


Link to post
Share on other sites
9 minutes ago, LAPS said:

Steps I performed:
1. FieldtypeFontIconPicker files uploaded.
2. Admin > Modules > Clear compiled files run.
3. Admin > Modules > Refresh run.
4. Browser cache cleared (one never knows).
5. Steps 2 to 3 repeated once again, and again.

Result:
It doesn't work: in the Edit Field > Input > Icon library the libraries (IconPicker.*.php) are not loaded as described in the original issue😔

I added prev brach on github repo, this repo is previous version of module, you can use it. I will try to fix your problem, but let me know your server or computer software versions.

https://github.com/trk/FieldtypeFontIconPicker/tree/prev

Share this post


Link to post
Share on other sites
8 minutes ago, ukyo said:

[...] let me know your server or computer software versions.

Linux CentOS 7 - Apache 2.4 -  MySQL 5.7 - PHP 7.2 - PW 3.0.148

Share this post


Link to post
Share on other sites
3 hours ago, ukyo said:

How to use core files()->find() function like php glob() function ?

You would have to do that manually (eg via foreach and strpos). But glob() doesn't seem to be the culprit as it just works correctly in the tracy console on my windows computer:

hN56ztU.png

The find() finds all php files, the glob() finds only the .controller.php files... I'll have to look into that soon. I can understand that it is hard to debug when you don't have the problem yourself 😄 

Share this post


Link to post
Share on other sites
3 minutes ago, bernhard said:

I can understand that it is hard to debug when you don't have the problem yourself 😄 

I'm here to support you as a tester. 🤓🤠😎 Everything will work out 💪 

Share this post


Link to post
Share on other sites

I've attempted fresh install of the module, cleared the cache, etc. Any guesses on why I don't have any libraries to choose from? Thanks.

2020-02-26 17_17_23-Edit Field_ repeater_field_icon_picker • reachingkiwis - Brave.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By MoritzLost
      TrelloWire
      This is a module that allows you to automatically create Trello cards for ProcessWire pages and update them when the pages are updated. This allows you to setup connected workflows. Card properties and change handling behaviour can be customized through the extensive module configuration. Every action the module performs is hookable, so you can modify when and how cards are created as much as you need to. The module also contains an API-component that makes it easy to make requests to the Trello API and build your own connected ProcessWire-Trello workflows.
      Features
      All the things the module can do for you without any custom code: Create a new card on Trello whenever a page is added or published (you can select applicable templates). Configure the target board, target list, name and description for new cards. Add default labels and checklists to the card. Update the card whenever the page is updated (optional). When the status of the card changes (published / unpublished, hidden / unhidden, trashed / restored or deleted), move the card to a different list or archive or delete it (configurable). You can extend this through hooks in many ways: Modifiy when and how cards are created. Modify the card properties (Target board & list, title, description, et c.) before they are sent to Trello. Create your own workflows by utilizing an API helper class with many convenient utility methods to access the Trello API directly. Feedback & Future Plans
      Let me know what you think! In particular:
      If you find any bugs report them here or on Github, I'll try to fix them. This module was born out of a use-case for a client project where we manage new form submissions through Trello. I'm not sure how many use-cases there are for this module. If you do use it, tell me about it! The Trello API is pretty extensive, I'll try to add some more helper methods to the TrelloWireApi class (let me know if you need anything in particular). I'll think about how the module can support different workflows that include Twig – talk to me if you have a use-case! Next steps could be a dashboard to manage pages that are connected to a Trello card, or a new section in the settings tab to manage the Trello connection. But it depends on whether there is any interest in this 🙂 Links
      Repository on Github Complete module documentation (getting started, configuration & API documentation) [Module directory pending approval] Module configuration

    • By MoritzLost
      Process Cache Control
      This module provides a simple solution to clearing all your cache layers at once, and an extensible interface to perform various cache-related actions.
      The simple motivation behind this module was that I was tired of manually clearing caches in several places after deploying a change on a live site. The basic purpose of this module is a simple Clear all caches link in the Setup menu which clears out all caches, no matter where they hide. You can customize what exactly the module does through it's configuration menu:
      Expire or delete all cache entries in the database, or selectively clear caches by namespace ($cache API) Clear the the template render cache. Clear out specific folders inside your site's cache directory (/site/assets/cache) Clear the ProCache page render cache (if your site is using ProCache) Refresh version strings for static assets to bust client-side browser caches (this requires some setup, see the full documentation for details). This is the basic function of the module. However, you can also add different cache management action through the API and execute them through the module's interface. For this advanced usage, the module provides:
      An interface to see all available cache actions and execute them. A system log and logging output on the module page to see verify what the module is doing. A CacheControlTools class with utility functions to clear out different caches. An API to add cache actions, execute them programmatically and even modify the default action. Permission management, allowing you granular control over which user roles can execute which actions. The complete documentation can be found in the module's README.
      Plans for improvements
      If there is some interest in this, I plan to expand this to a more general cache management solution. I particular, I would like to add additional cache actions. Some ideas that came to mind:
      Warming up the template render cache for publicly accessible pages. Removing all active user sessions. Let me know if you have more suggestions!
      Links
      https://github.com/MoritzLost/ProcessCacheControl ProcessCacheControl in the Module directory CHANGELOG in the repository Screenshots


    • By Macrura
      PrevNextTabs Module
      Github: https://github.com/outflux3/PrevNextTabs
      Processwire helper modules for adding page navigation within the editor.
      Overview
      This is a very simple module that adds Previous and Next links inline with the tabs on the page editor. Hovering over the tab shows the title of the previous or next page (using the admin's built in jqueryUI tooltips.)
      Usage
      This module is typically used during development where you or your editors need to traverse through pages for the purpose of proofing, flagging and/or commenting. Rather than returning to the page tree or lister, they can navigate with these links.
      Warnings
      If you are using PW version 2.6.1 or later, the system will prevent you from leaving the page if you have unsaved edits.
      For earlier versions, to avoid accidentally losing changes made to a page that might occur if a user accidentally clicks on one of these, make sure to have the Form Save Reminder module installed.
      http://modules.processwire.com/modules/prev-next-tabs/
    • By Gadgetto
      SnipWire - Snipcart integration for ProcessWire
      Snipcart is a powerful 3rd party, developer-first HTML/JavaScript shopping cart platform. SnipWire is the missing link between Snipcart and the content management framework ProcessWire.
      With SnipWire, you can quickly turn any ProcessWire site into a Snipcart online shop. The SnipWire plugin helps you to get your store up and running in no time. Detailed knowledge of the Snipcart system is not required.
      SnipWire is free and open source licensed under Mozilla Public License 2.0! A lot of work and effort has gone into development. It would be nice if you could donate an amount to support further development:

      Status update links (inside this thread) for SnipWire development
      2020-03-21 -- SnipWire 0.8.5 (beta) released! Improves SnipWires webhooks interface and provides some other fixes and additions 2020-03-03 -- SnipWire 0.8.4 (beta) released! Improves compatibility for Windows based Systems. 2020-03-01 -- SnipWire 0.8.3 (beta) released! The installation and uninstallation process has been heavily revised. 2020-02-08 -- SnipWire 0.8.2 (beta) released! Added a feature to change the cart and catalogue currency by GET, POST or SESSION param 2020-02-03 -- SnipWire 0.8.1 (beta) released! All custom classes moved into their own namespaces. 2020-02-01 -- SnipWire is now available via ProcessWire's module directory! 2020-01-30 -- SnipWire 0.8.0 (beta) first public release! (module just submitted to the PW modules directory) 2020-01-28 -- added Custom Order Fields feature (first SnipWire release version is near!) 2020-01-21 -- Snipcart v3 - when will the new cart system be implemented? 2020-01-19 -- integrated taxes provider finished (+ very flexible shipping taxes handling) 2020-01-14 -- new date range picker, discount editor, order notifiactions, order statuses, and more ... 2019-11-15 -- orders filter, order details, download + resend invoices, refunds 2019-10-18 -- list filters, REST API improvements, new docs platform, and more ... 2019-08-08 -- dashboard interface, currency selector, managing Orders, Customers and Products, Added a WireTabs, refinded caching behavior 2019-06-15 -- taxes provider, shop templates update, multiCURL implementation, and more ... 2019-06-02 -- FieldtypeSnipWireTaxSelector 2019-05-25 -- SnipWire will be free and open source Plugin Key Features
      Fast and simple store setup Full integration of the Snipcart dashboard into the ProcessWire backend (no need to leave the ProcessWire admin area) Browse and manage orders, customers, discounts, abandoned carts, and more Multi currency support Custom order and cart fields Process refunds and send customer notifications from within the ProcessWire backend Process Abandoned Carts + sending messages to customers from within the ProcessWire backend Complete Snipcart webhooks integration (all events are hookable via ProcessWire hooks) Integrated taxes provider (which is more flexible then Snipcart own provider) Useful Links
      SnipWire in PW modules directory SnipWire Docs (please note that the documentation is a work in progress) SnipWire @GitHub (feature requests and suggestions for improvement are welcome - I also accept pull requests) Snipcart Website  
      ---- INITIAL POST FROM 2019-05-25 ----
       
×
×
  • Create New...