Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/22/2015 in all areas

  1. This is my first project in ProcessWire. I am quite familiar with Joomla and WordPress. In this case i wanted more control over my content and the template. Here i am using MaterializeCSS, a lovely, rich responsive framework. I am impressed by the sheer endless possibilities of ProcessWire and i am sure that this project won't be my last. Especially the SEO and multi-language-options are great. http://www.bosbungalows.nl
    6 points
  2. I would love the idea to kill symlinks (our current method of keeping inhouse modules up to date) with this (private github repo + processupgrade).
    5 points
  3. If you need this information programmatically, you need to use the object's getHooks() -method. If you want specific hooks, let's say Pages::saveReady, the easiest way is $hooks = wire('pages')->getHooks('saveReady');
    5 points
  4. My wife kindly asked why it isn't possible to type tabulators in an inputfield. Here is the answer: Inputfield which allows using the tab key to write tabulators in an Inputfield. Disables switching field focus functionality of the tab key. Use the mouse to get to the next input. Against some principals module doesn't respect minimum accessibility guidelines. Download from github https://github.com/kixe/InputfieldTextareaTabKey Tested in Firefox and Safari on Mac.
    5 points
  5. Dang it. I've been discovered.
    4 points
  6. Done. I've been woken up early by my darling daughter (5am...) so doing this on my phone means I can't set where it appears in the forum list so it's below the Jobs forum for now. I would suggest a couple of starter topics - one signposting to the existing docs and another if someone wants to kick off with an example of form validation/sanitation that we might all use on a daily basis (a simple contact form perhaps).
    4 points
  7. Hello, this might be a really special case which no one but me is interested in but I'll post it anyway since it seems rather easy to implement: I have a few really special plug-ins or modified versions of existing plug-ins that wouldn't really be of any use for anything but my special cases. But I run these plug-ins on several sites and in my quest to keep everything up to date and n-sync I was wondering if it was possible to add "private" modules to the modules directory, which won't show up publicly but I can use processUpgrade to keep them up to date across my army of sites. Maybe this would help someone else, too. Just a thought, thomas
    3 points
  8. @caribou, I have been working on a commercial module that does exactly that (minus the thumbnails in the selected pages list). It is nearly done. A few things remain, such as the CSS. See screenshot below for a (unfinished-state) preview. I will try post a video demo later today. I'll be looking for beta testers so might PM you if you are interested. Thanks.
    3 points
  9. Now I picture renobird sleepwalking to his computer and posting praise to himself, then forgetting all about it and replying like normal
    3 points
  10. You could add a Page field, which links from one page to another. If it is filled, use the data from the linked page instead of the current one and use its URL to set a canonical for google.
    2 points
  11. @Pete: actually, this doesn't sound that unfeasible to me. It might require new kind of structure for the directory though. Private modules wouldn't need to be approved at all, but on the other hand they should require authentication, and they would need to go through approval process if later changed to public. Not sure if that's where we want to take the directory, of course, but I'm quite confident in PW's ability to handle this Something along the lines of what @Dave mentioned has crossed my mind too. For an example, for our sites we don't allow installing modules from the directory, mainly because they still need to be internally audited. I'd be quite happy with the ability to set up a separate directory of my own, if that's what it takes, but perhaps there's an easier way to achieve the same result
    2 points
  12. Before posting, it's worth noting there is an existing section on Security relating to ProcessWire in the Docs section of this website: http://processwire.com/docs/security/ It contains several sub-pages that are worth a read as they offer code examples where appropriate and pointers for general security beyond ProcessWire.
    2 points
  13. Sounds like a sensible idea, a new forum section for security-related discussion definitely gets my vote. At the very least this should make it more obvious that security is, in fact, an important factor for ProcessWire. The product and the community.
    2 points
  14. Tom Reno! You should have picked better nick for your second account... Just kidding of course
    2 points
  15. The Module Blog for ProcessWire replicates and extends the popular Blog Profile. Blog is now in version 2. Please read the README in the Github link below in its entirety before using this module As of 20 December 2017 ProcessWire versions earlier than 3.x are not supported Blog Documentation is here (Work in Progress!) See this post for new features in version 2 or the readme in GitHub. To upgrade from version 1, see these instructions. ################################################## Most of the text below refers to Blog version 1 (left here for posterity). Blog version 1 consists of two modules: ProcessBlog: Manage Blog in the backend/Admin. MarkupBlog: Display Blog in the frontend. Being a module, Blog can be installed in both fresh and existing sites. Note, however, that presently, ProcessBlog is not compatible with existing installs of the Blog Profile. This is because of various structural and naming differences in respect of Fields, Templates, Template Files and Pages. If there is demand for such compatibility, I will code a separate version for managing Blog Profile installs. In order to use the 'Recent Tweets Widget', you will need to separately install and setup the module 'MarkupTwitterFeed'. Please read the README in the Github link below in its entirety before using this module (especially the bit about the Pages, etc. created by the module). I'll appreciate Beta testers, thanks! Stable release works fine. Download Modules Directory: http://modules.processwire.com/modules/process-blog/ Github: https://github.com/kongondo/Blog You can also install from right within your ProcessWire install. Screenshots (Blog version 1) Video Demos ProcessBlog MarkupBlog Credits Ryan Cramer The Alpha Testers and 'Critics' License GPL2
    1 point
  16. Hi guys, Been "kicking the tyres" on some UI tweaks to the PW image fields and modal windows. Many of these are in-progress designs and to be straight, none of the designs are entirely resolved. At this stage, I thought I'd throw them up (poor choice of words!) and maybe someone can take them further or offer some fresh eyes. I'm not a developer so making these a reality is impossible for me. They're flat designs. Why? PW is an amazing experience for editors. It's just so elegant and beautifully realised (especially with Reno Theme) that often, my training sessions with clients are very brief. One area which does cause friction though has always been concerned images, image fields and image modals. Especially with the latest image modules, I think a lot of inconsistency has crept into the UI. Hopefully these designs can help improve things a bit. A tiny part of the design work is influenced by a similar idea I had for MODX but which never progressed. 1A. Current Image Modal Editor has clicked 'Add image' icon in CK editor. Issues: I believe the Upload Image button can be better placed. It's not clear to users that they have a choice of two actions (Select an Image OR Upload one) To help solve this, I thought we could: Place available images under a Choose tab Create another tab titled Upload Rename modal to just Image (from Select Image) tweak slightly the Images on page path to be less prominent The following image illustrates the result. Clicking the Upload tab would result in: In the above image I've created toggle-able accordians for Drag and Drop and Manual upload. This follows closely the UI an editor is presented with when choosing Insert Link within CK Editor. IE Link to URL, Select Page and Select File and the extra Attributes tab. So overall, it's more consistent. 1B. Alternative to above - combined Select and Drag/Drop I thought it might be worth exploring what modal would look like with no tabs and a single UI for both Selecting an image and Drag/Dropping. 1C. The Image field I then moved onto looking at the Image field in PW. So currently it looks like this (below) for a simple image field called Image Gallery. So although the current Image field works great, I wondered if there was a way to simplify it by Making the drag/drop more visual and obvious Moving the Choose Files button and removing the No file chosen text and the file types allowed Here's the result. Admittedly, this treatment adds more height to the overall field. Here's how it looks when images are uploading (slightly smaller plus icon and "drag and drop..." text. To be honest, I can't recall what other changes I made there! And here's a proposed layout for when there are multiple images. This includes image titles grid layout mouse-over for edit and delete options/buttons 2. Cropping Next thing I looked at was cropping. Native cropping introduced recently is one of my clients favourite features and time-savers and I wondered if things could be improved a little. So heres the current layout (this may have changed further recently) And here's my proposal. Changes are: Width, height and X and Y fields are moved below the image Apply and Cancel placed bottom right of the image Save Crop should be titled Apply. I think that's less confusing as in some instances there are so many Save options Save and Replace should be greyed out further In addition to this, I thought it'd be neat if we had the free-form cropping function introduced by Ryan combined with some kind of list of pre-sets (displayed on right hand side). Forgive the croptions label (Crop + Options pun - I was tired!) The benfit of this I think is that Modules such as CoppableImage and native Crop would be unified in a single UI. Presets (on right) could be a few out-of-the-box presets which come natively. Croptions houses any crop ratios defined in image modules. if CopppableImage isn't installed, they just don't display.. That's it. I wish I'd more time to work on this but it's at the stage where it's ready for some initial thoughts. Hope you guys like.
    1 point
  17. A couple of options: 1. You can use the Template Access tab to disallow view access to guests and determine what they will see instead. 2. Use this module: http://modules.processwire.com/modules/page-protector/ to limit access to specific pages only to logged in users, and prompt them to login if they aren't already. Hope that helps
    1 point
  18. This does only save the page, that will be saved, but not the parent. That's why you should use Pages::saved for that case, as you shouldn't save other pages in the saveReady hook.
    1 point
  19. I doubt this is possible without rejecting the whole page-lister permission, and therefore disabling all other listers, but I'm not 100% sure.
    1 point
  20. @kongondo Fantastic! I'd be happy to help you beta test.
    1 point
  21. I think that may be the most useful option as the modules dir does already work with GitHub repos. So much of the parsing logic is already existing. To be able to access private ones there would be the need to authenticate to Github, but that should also be doable.
    1 point
  22. ...or maybe be able to configure processUpgrade to use a second GitHub source as well as the official repository?
    1 point
  23. First you should check if the folder and the files have correct permissions (i.e. that they are writable by the web server). Just to be sure, you should also check if your error logs (PW + web server) have any more information. Of course you can just try fixing the permissions with chmod -R a=rwX /homepages/42/d264496819/htdocs/new/site/assets/ ...and then attempt uploading again.
    1 point
  24. This means you're running php < 5.3.6, where this function was introduced. PW does require a php version >= 5.3.8. Therefore you need to update your php version. Also, while there are lots of german devs here, please write forum posts in english, so they are benefiting to all members here.
    1 point
  25. Okay. I'll have a look into those modules. P.S.: Don't expect any PRs in the next days - it will take a while as I'm pretty limited in time, too (I'll do this in my spare time when my family is asleep )
    1 point
  26. The Select All / Unselect All links are a bit strangely positioned. Maybe they could be buttons in the same row as the bottom pagination, but floated to the left.
    1 point
  27. Since I am logging 404 requests I recognize very often requests searching for potential security gaps (mostly targeting at other CMSs like wordpress). I am not a specialist in this complex theme. Beside the security docs: https://processwire.com/docs/security/ I would like to have a subforum 'security' where tried or real attacks, potential lack of security, prevention etc. could be discussed.
    1 point
  28. Hey, I agree with you! I've slowly started adding different geographic input fields and ways to request them to ProcessWire (don't hold your breath, it's far from over! — and the repo is currently private..) I've been following stuff about MySQL, and the coming 5.7 release will be a big progress. Calculations on a sphere (no need for the harvestine formula), a handful of handy functions and lots of other things will finally make it finally possible to have relatively good quality GIS on MySQL. If you want to have some fun, you can read about some of the improvements on http://mysqlserverteam.com/mysql-5-7-and-gis-an-example/. It's still pretty easy to build those queries on PW, build a custom SQL query, get pages ID and build a pageArray from those IDs. You can use common fields like float and text and grab geometry from the stored lon, lat, or even store polygons and lines in text fields. The onus is on you to keep those values sane though, so it's still some work but not impossible.
    1 point
  29. You could certainly get all hooks (see the debug info in the backend) so at least you should be able to filter them down to only a single hook.
    1 point
  30. you mean counting like this? $kids = $pages->find("template=poi, has_parent=$page"); $interests = new PageArray(); foreach ($kids as $k) $interests->import($k->interests); $iTotal = count($interests); foreach ($interests as $i) $i->useCount = count($pages->find("interests=$i")); echo "<h3>Interests ($iTotal)</h3>"; echo '<ul>'; foreach ($interests->sort("-useCount") as $i) { echo "<li><a href='interest/$i->name'>$i->title</a> ($i->useCount)</li>"; } echo '</ul>';
    1 point
  31. Too simple to be a module, consider a script like this: $array = $pages->find("template=basic-page")->explode(function($item){ return array( 'id'=> $item->id, 'title' => $item->title ); }); $fp = fopen('file.csv', 'w'); foreach ($array as $fields) fputcsv($fp, $fields); fclose($fp); Note, $pagearray->explode() used here is only available in 2.4 (2.3 dev) http://cheatsheet.processwire.com/pagearray-wirearray/getting-items/a-explode/ And the anonymous functions requires php >= 5.3 http://php.net/manual/de/functions.anonymous.php
    1 point
  32. Hi, I tend to use more than just the body in my pages so I code my own (http://www.smd.net.au/rss/). It outputs the body and then my project images which matches the order on my site. Here's what it looks like: <?php header('Content-Type: application/rss+xml; charset=utf-8'); ?> <?php echo "<?phpxml version=\"1.0\" encoding=\"utf-8\"?>\n"; ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> <title>stillmovingdesign</title> <link>http://www.smd.net.au/rss</link> <description>RSS Feed</description> <?php $featured = $pages->get("/work/")->find("template=work, sort=sort, limit=999"); foreach($featured as $feature) { $image = $feature->images->first(); $h = $image->height(); $w = $image->width(); $thumb = $image->size(310,0); echo "<item>\n<title>{$feature->title}</title>\n<link>http://www.smd.net.au{$feature->url}</link><dc:creator>stillmovingdesign</dc:creator><guid isPermaLink=\"false\">http://www.smd.net.au{$feature->url}</guid>"; echo "<description><![CDATA["; echo "<p>" . $feature->summary . "</p>"; foreach($feature->images as $featuredimages) { $large = $featuredimages->width(650); echo "<img src='http://www.smd.net.au{$large->url}' title='{$feature->title}' alt='{$feature->title}' />\n"; } echo "{$feature->body}"; echo "]]></description>\n"; echo "</item>\n\n"; } ?></channel></rss> As an aside I use twitterfeed to automatically tweet each job I publish to Twitter. It works really well. Regards Marty
    1 point
×
×
  • Create New...