Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/03/2018 in all areas

  1. In the last blog post I told you about how two-factor authentication was coming to the core and what our plans were. This week it’s ready to use in ProcessWire 3.0.109, so we’ll take a closer look at all the details and how to use it: https://processwire.com/blog/posts/processwire-3.0.109-adds-two-factor-authentication/
    15 points
  2. This one's not really new, but I forgot to post about it when I did it, plus there are still some unfinished aspects. I have a minimal personal invoice setup allowing me to have multiple identities for my invoices, to represent the different aspects of what I do (it's not all PW)... The child pages of an identity represent permissible payment methods for that identity... Of course, there are multiple clients under which invoice pages are stored, with highlighted status in the page tree... Invoices use repeater fields to store line-items and expenses. The line subtotal is calculated on save. The whole invoice value is worked out too. Profit and Loss is yet to be finished. And here's the result... I like PW!
    6 points
  3. I've updated to work with Batch Child Editor's title fields.
    5 points
  4. I’d like be able to show mine, but it is horribly out of date, so here’s one I did awhile ago for my (ahem, very talented) daughter: http://sarahstrandoo.com Also perhaps http://lynnmooredesign.com/ And although it’s not a portfolio, per se, this gallery goes into a bit more depth about their pieces and might provide some inspiration. http://ptfineart.co.uk/
    3 points
  5. I've updated the module to v0.0.9: failure messages containing HTML are displayed as plain text. So eg. if you test if an iframe markup is returned and it fails, the error displayed will show the markup as text and not parsed as HTML as before.
    3 points
  6. Pretty good article about jQuery and the craziness of rejecting it "no matter what": https://www.i-programmer.info/news/167-javascript/12017-github-removes-jquery-why.html
    3 points
  7. Thank you - I have committed that change and updated the module's directory.
    2 points
  8. Hey guys, Thought I would share a quick preview of Designme. A module we (Eduardo @elabx and I) are building for visually laying out your templates/edit screens. ? This is a really quick, zero polish screen grab. FYI. Video #2 - UPDATE This new video shows the following features in Designme: Re-arranging fields via Drag & Drop Re-sizing fields via Dragging. Adjusting field settings - with live refresh. Working on "hidden" fields while Designme is active. Creating New fields. Deleting fields. Creating/Deleting Tabs. Dragging fields between tabs. Creating fieldsets. Tagging/Un-tagging fields. Fields without headers expand when hovered (like checkboxes). Live filtering of fields in the sidebar. Ability to adjust (all) Template settings without leaving Designme. Template File Tree Editing Template files source code with ACE Editor. Editing Multiple files with ACE Editor. (New Tabs) Saving files. Techie stuff Fields load their own js/css dependancies. *ready to use on creation (*most fields) Everything happens via Ajax to ProcessPageEdit (via module + hooks). Designme has a JS api that you can use. All actions trigger events. We would love any detailed feedback on what you see so far. If you are interested in testing Designme. Let me know below. ? Video #1.
    1 point
  9. I'm proud to share this newly released custom-made website with you. Musikschule Neumünster https://www.musikschule-neumuenster.de/ Design details The design was built from ground up to give every aspect and every detail of the website its very own unique look. We faced the demand to create a visual experience that is up to date but kind of classic at the same time. A fact you can't describe but you will feel and see it when visiting the website. ? Technical details From top to bottom every detail can be managed in the backend - all instruments, tutors, events, and content pages. In order to make life easier some things are automated (for example: archiving older events or managing the relationship between tutor and instrument). Modules and time-savers ProCache Croppable Image 3 PagefieldPairs MarkupSitemap Hanna Code Jumplinks I hope you enjoy the result as much as we* do. * A little side note to reduce confusion: I'm partner and the developer of Muskaat (design and development bureau based in Neumünster, Germany).
    1 point
  10. This can now be done with owner selectors (http://processwire.com/blog/posts/processwire-3.0.95-core-updates/) $tagsThatHaveBeenUsedOnPosts = $pages->find('template=tag, tags.owner.template=post'); Where tags is the name of the field on the post template that holds the tag pages. Also, for any given tag page you can check how many post pages reference it with $page->references('template=post')->count(); https://processwire.com/blog/posts/processwire-3.0.107-core-updates/#what-pages-point-to-this-one
    1 point
  11. similar here ? really old... but it works ^^
    1 point
  12. Thanks @adrian - a bit late to the party today, but tested and all works fine, including iOS.
    1 point
  13. would also love to get some words by @David Karich ProCache does also support HTML minification and ProCache is really an awesome module and worth every cent!
    1 point
  14. ...from the link provided above ?. So, yes, it is like NB Navigator. The advantage is that Visual Studio Code is our editor of choice for various reasons ? (now, I hope this does not lead to a NB vs VSC debate; that really is not the purpose of this thread).
    1 point
  15. This works as expected. Tested in Chrome, EDGE, Firefox, Opera (all latest versions).
    1 point
  16. For once, a joke about programming that actually made me laugh.
    1 point
  17. Hello, to identify current page at admin side, there is problem using hooks inside "Page::render" process. There is option to use "wire('input')" to get current page and it's properties (id, template...). All that can be done inside simple module, but also inside site/ready.php (need to create ready.php). Here is example of module (CustomScripts.module) <?php namespace ProcessWire; // CustomScripts.module class CustomScripts extends WireData implements Module{ public static function getModuleInfo(){ return array( 'title' => 'CustomScripts', 'version' => 1, 'summary' => 'Module to append custom CSS and/or JS files inside admin pages.', 'singular' => true, 'autoload' => true ); } public function ready(){ // check if admin side if ($this->wire('page')->template == 'admin') { // check if it is page (and not admin page list etc.) if (!is_null($this->wire('input')->id)) { // get page object $page = $this->wire('pages')->get($this->wire('input')->id); // check if it is a page with desired template if (!($page instanceof NullPage) && $page->template->name == 'basic-page') { // check if current user has desired role if ($this->wire('user')->hasRole('superuser')) { // all checks are ok, now we can append desired stylesheet $this->wire('config')->styles->add($this->wire('config')->urls->templates . "styles/my_custom.css"); } } } } } } If you don't want to use module, take part from ready() method and place it inside ready.php (but without $this->). Third option can be to do "fake invisible inputfield" and with that get more "power" (options)... "place field on desired templates, set desired CSS, JS files, set permissions, etc." Regards. EDIT: added one more check inside if statement !($page instanceof NullPage)
    1 point
  18. You can use AdminOnSteroids to load a CSS. The module adds classes to the body, eg user-john, ProcessPageEdit-template-basic-page, role-superuser so you can add rules to target a specific page and user, eg body.user-john.ProcessPageEdit-template-basic-page p { color: red; }.
    1 point
  19. Hello, interesting topic. Here is one example (please read comments inside script): // !!! configuration $desired_templates = array('basic-page'); $desired_fields = array('body', 'summary'); $stop_words = array('and', 'is', 'for', 'a', 'the', 'to', 'of'); $limit_list = 10; // most used words list $words = array(); // target templates where we search $selector = implode("|", $desired_templates); // get all desired pages $content = $pages->find("template=$selector"); // fill words array foreach($content as $item){ foreach($desired_fields as $f){ $words[] = $item->{$f}; } } // https://stackoverflow.com/questions/3175390/most-used-words-in-text-with-php function most_frequent_words($string, $stop_words = [], $limit = 5) { $string = strtolower($string); // Make string lowercase $words = str_word_count($string, 1); // Returns an array containing all the words found inside the string $words = array_diff($words, $stop_words); // Remove black-list words from the array $words = array_count_values($words); // Count the number of occurrence arsort($words); // Sort based on count return array_slice($words, 0, $limit); // Limit the number of words and returns the word array } // output var_dump(most_frequent_words(implode(' ', $words), $stop_words, $limit_list)); Bad thing in this example is if you do this query in fronted runtime, better place this in some specific template and use PW cache. Also, maybe the best option is to create some Ajax driven module in backend and generate there words list. Regards.
    1 point
  20. Hi Everyone, Today I am delighted to share my new product that we have created with Processwire. It's a verification system, that binds together a physical address with website. I’m using Processwire nearly from the beginning and I still believe that it is one of the greatest open-source platforms that exist. Being thankful I’m pleased to provide the service of Verikey verification to the Processwire community (and websites that you did) for free. Forever. Visit verikey.com Gift code: ###### (please, request by direct message) Feedback and questions are really appreciated. Many thanks my Mom, @ryan, @soma, @adrian and all Processwire contributors. Cheers, Alexander UPD: While subscription Stripe requires a valid bank card details. It’s a formality by Stripe for all subscriptions. The Verikey service remains 100% free and out of charge with the provided voucher code.
    1 point
  21. This. I think these two statements summ it up pretty well – @Knubbi's post is totally legit imho. Those who argue otherwhise (expect for @bernhard's point of PW becoming more popular not beeing a goal at all) miss the point I guess – yes you can do all things with PW and, yes we don't want a Drupal front-end-hell and for sure no second WP – BUT for people looking into PW there could be better ways to start: I think @joshuag provied a solution that has both worlds – but it involves both Developers and Ryan. A strong Site-Profile market: Profile should have a well visible market where they could also be sold … directly integrated into the PW setup and processwire.com Like Themes (which are often bundling other modules f.e. shopiing funcitonality etc.) they could be very powerfull, within their provided scope of Templates and Fields, as are WP Themes – Site Profiles come with the dependencies they need: for example Blog functionality etc. and provide a fast starting point for those who need what the profile combines. At the same time, they stay true to PW as they are just ready-made implementations of PW, not bloating the core or changing the way PW works One can still start with a blank site I think, what we miss is, that WP does not really work any different – there is a system and then there are some Themes on top of it providing basic functionality – But only well integrated with the Base-System. As soon as you want to add this or that – it requires manual work or it might look goofy or breaks stuff. We have the same situation with PW Profiles: We don't have to change the way PW works, what we need is strong support for readymade Sites, coming together with a few PW-Templates and Fields. Now this is not where most of us work as @joshuag said – but its a totally valid market and could easily life side by side with those crafting sites from the blank slate.
    1 point
  22. Hi, ProcessWire does not compete with the WordPress market... Thank the lord. ProcessWire is for developers with basic to advanced knowladge who need a tool to make their vision a reality, easier. A framework. Much like jQuery. You must have some knowledge of JavaScript to fully understand jQuery. Just like if you were to develop for WordPress, you'll need PHP knowledge. Well, unless you are looking to sell themes. I don't know why a PHP developer would touch WordPress. ProcessWire's API is so much easier. So to answer your question, in ProcessWire you start here - http://php.net/docs.php then here - https://processwire.com/docs/ In WordPress you start here - https://wordpress.org/plugins/ then here - https://codex.wordpress.org/FAQ_My_site_was_hacked Edit: Notice how the 'My site was hacked' question was in the Frequently Asked Question section... Should it really be a frequently asked question? Because I don't think I've seen it asked once on the ProcessWire forum. Edit2: Most people here just use the blank profile and see the other profiles as bloat.
    1 point
  23. I recently looked into using chunked uploads to allow for file uploads beyond php limits. What I found is that it's not really simple to get the "actual" max upload filesize of php (more here). Also the max-dimensions are not really meant to prevent too big files. Anyway the results of my dive into chunked uploads can be found here: https://gist.github.com/LostKobrakai/ddb11c64dcb0f1bf1c8eed4dd534a868 I'll try to implement it in the core as soon as I find some more time, but currently it's tough to get to any open-source work.
    1 point
  24. Ok @n0sleeved, I think I got the solution Here in my office I got your same setup and, following the exact same procedure you mention, I recieve the error MySql gave you. To solve this I've choosen not to export through the "Rapid" option, and go for the "Custom" one. In the options panel I have then checked: Add instruction DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT and exported leaving all the rest with default values. It worked! Let us know!
    1 point
×
×
  • Create New...