Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/18/2014 in all areas

  1. http://claysvehiclerepairs.uk/ A new and very subtle garage website .....not! Clays are a local company and this site is definitely locally aimed. From the technical point of view the website is reasonably brave. The client was keen to list every type of modern car they will deal with and that means almost all of them. I managed to get a reasonably, though not complete list and from that used import pages from CSV to create all the pages for both models and cars. The content for all the pages is centrally generated using lots of Hanna code to insert the manufacturer name and or model name. However, all this content can be overwritten on a page by page basis. Over time the client will be adding his own information about some of the vehicles, especially those he sees a lot of. Service pricing is handled in a similar way. Prices for the three levels of servicing are set centrally but then can be overwritten locally. Generally he says he will use this little as he wants to keep his pricing simple, but the facility is there for him. The site consists of some 980 pages ( a pure beginner in PW terms! ) I have used Lister heavily on this site with most things, including output from the contact form, having a lister of some sort. Hanna Code has been used for the models but also handles all things like phone number, company name and so on, to try and keep consistency throughout the site. Modules used are: Batcher Import Pages Page Field Select Creator Pro Cache (not turned on yet) AIOM Form Builder Hanna Code Color Picker Lister Pro Sitemap Template Notes And a few bits I can't remember! The framework is Foundation 5. I used sass quite a lot here basically to generate my own version of foundation.css with only what I needed. A lot was removed. I have gone a bit mad with the Favicons, using http://realfavicongenerator.net/ Well, they certainly cover everything! The site has been created over many months for non technical reasons, but I have kept it up to date even when it was dormant so that it is running the current version of PW. All the graphics were created in house (that would be me) and my copy of Illustrator has now gone for a lie down. This is a moderately complicated site, allowing for the fact that it offers no functionality for the user other than just reading the site. But I was pleased I could make the site heavily localised and cover everything the client wished with ease. One of his competitors (who also is one of his friends) has a similar idea of a site but built with "another" well know CMS. I won't send you to it - it creaks and groans like a half sunk boat and apparently it is a pig to try and administer and seems to go ape everytime it gets upgraded. So far, the client has been thrilled at how logical the back end of his new ProcessWire website is! There is a lot more to this site than meets the eye, but I am sure you get the general idea!
    9 points
  2. Not our first ProcessWire powered website, but definately our most interesting one so far: http://www.rabotheater.nl At Itix we build and maintain online ticketing software for theatres and cinema's. About 30 theatres across the Netherlands are powered by Itix. Our software has some form of integrated content mangement, but this "CMS" does not live up to current standards and client wishes anymore. We decided to move all frontend related content to a PW environment. Eventhough most data still exists within Itix, all website-specific enrichment is done within ProcessWire. PW gets it's data through export/imports (for complete datasets) and a method of triggering events, filling a jobqueue and updating specific single items. Rabotheater is our first client moving to a PW powered website, but I'm confident many will follow. http://www.rabotheater.nl
    7 points
  3. Just a simple contact form including spam protection. Optional support for Twig (TemplateTwigReplace) as template engine. --- Please have a look at the readme on github! If you upgrade from version 0.0.9 and below, there are some extra steps to be taken. The Guides Installation Module Settings Spam Protection Usage Logging Upgrade Notes
    5 points
  4. The site I have just uploaded today, http://claysvehiclerepairs.uk is the first site I have done where the pressure was on to speed it up. The site has a lot of graphics, it uses foundation which is far from lightweight, it has 890 or so pages (it has left Pete's sitemap module smouldering), various extra bits of JQuery going on like equal heights and is just big and weighty. I managed to get it running fine, actually, and then I added AIOM and the site shook itself into a higher gear - very pleased indeed. So Thanks to everyone involved with AIOM. Then I gassed up procache, pulled the choke out and hit the start button. The full roar of the ProCache 289 V8 with Holly double pumpers, slot change box and overcharger, thundered into action and the website just about catapulted itself out of the traps and round the internet track at lightning speed. The difference was seriously noticeable. And the result? Page analysis says - &*$£king fast. Mobile analysis says fast too, which considering what is going on is very pleasing. So Thanks to to Ryan for making a CMS that is a joy to optimise with no secret stashes of rubbish to drag you to your needs and for a module that adds rocket fuel to the finished item. Gertcha my son!
    4 points
  5. 3 points
  6. I've been working on a module to make it really simple to upgrade ProcessWire from one version to another. Especially as a way to make it easy to upgrade from PW 2.4 to 2.5, or to upgrade from one dev version to another. This tool supports upgrading between any branches of ProcessWire (currently we only have master and dev on GitHub). It will also let you downgrade your ProcessWire version, though no reason to do that. The module keeps up-to-date directly with GitHub, so it works as a long-term tool for every upgrade if you want it to. It works best if your file system is writable. However, if it isn't, the tool can still be used. It will still download the upgrade files to the server and then tell you where to move them. I should also mention that this module is somewhat inspired by a similar module Nico built awhile back called AutoUpgrade. So far I've used this tool to upgrade this site (processwire.com), the skyscrapers site, and the modules site (modules.processwire.com). Before releasing this officially in the modules directory, or suggesting it for production use, I'd like to get some help testing. If anyone has availability to help test this on non-production sites, your help is appreciated. It can be downloaded from GitHub here. As a bonus, it will also be a good opportunity to help test PW 2.5! Thanks in advance. What I'd really like to do as the next step with this is make it support upgrade by FTP. That would provide a nicer and safer solution for those that don't have writable file systems on their servers. This tool should be compatible with ProcessWire versions as far back as 2.3.4. I will also update it to support older versions than that if there's demand for it.
    2 points
  7. I'm a PC guy and don't own a Mac so testing for tedious JS issues on a Mac that aren't visible on the same browsers on the PC would have been difficult if it wasn't for a free trial of this: http://crossbrowsertesting.com The issue was a weird date bug when changing months in a calendar - on Windows my code changed the month name in a <span> just fine based on the current month showing in the calendar. On Mac for some reason, when you went to the next month the same month name showed, but it then worked fine after that. I suspect something wasn't playing with the calendar plugin I was using, but it's all sorted now. Just being able to try lots of different things to see what worked on Mac saved me about 30-40 emails to someone whilst tweaking things saying "can you check now?"
    2 points
  8. I found by searching the forum for your image name "professionnel_photo" that it is a crop image (apeisa thumbnail) field. CropImage isn't compatible with user profile page editing. I tried adding a cropimage to user template and make it editable on the profile. It works fine but after trying to add an image I get same error as your's and can't edit profil anymore.
    2 points
  9. From the error. Looks like you have a field dependency on a field using "role" field. First, "role" isn't a field but "roles". Second, roles aren't shown on when you view/edit your profile. It's not the same as editing a user.
    2 points
  10. That would be super useful. This ideas was here on our super-long "do someday" list. Maybe use this http://codeb.it/fonticonpicker/ library and make it an Inputfield. Then the field could for example return the selected icon name which could be used in the template to build the class for the icon(font, image,...).
    2 points
  11. Something you have on API side which is simple really. $p = $pages->get(1001); $p->of(true); // if in a template code, turn off output formatting $p->images->add("http://placehold.it/350x150.jpg"); $p->save(); $p->of(false); Everything is possible. With a simple module. As a basic start add a text or url field to the template near your "images" field, like a text field "add_images_url" Now with a autoload module (like site/modules/HelloWorld.module) you add a hook to when the field has url it will store it to the "images" field (or any on the page). All you need is to enter url and save page. <?php /** * AddImagesFromUrl * * On a page with fields * "add_images_url" text field * "images" images field * */ class AddImagesFromUrl extends WireData implements Module { public static function getModuleInfo() { return array( 'title' => 'AddImagesFromUrl', 'version' => 101, 'summary' => 'Add images from url to images field', 'href' => 'http://www.processwire.com', 'singular' => true, 'autoload' => "template=admin", 'icon' => 'smile-o', ); } public function init() { $this->addHookAfter('Pages::saveReady', $this, 'addImage'); } public function addImage(HookEvent $event) { $page = $event->arguments("page"); if($page->template != "basic-page") return; if(!$page->add_images_url) return; // now interesting part, anything is possible here if(strpos($page->add_images_url, ".jpg") != false) { $page->images->add($page->add_images_url); $this->message("Added image from '$page->add_images_url' to images field"); $page->add_images_url = ''; } } } https://gist.github.com/somatonic/49f9e0a7faa8f6e6cfa3
    2 points
  12. I have been seeing slower and slower response times on Processwire and Drupal sites on my local Xampp server for a while now. Just spent a couple of hours searching for some hints/fixes. Thought I would share this here as the answer I found that worked for me was reported on Wampp as well and using Joomla and Wordpress so seems to be across the board. I am running Windows 8.1 64bit. That seems to be where the issue stems, and has to do with a bug in that operating system with how they handle IPV6 first then fallback to IPV4. The way this manifests is frequent calls to the database being repeated, increasing server response times. So the fix is as follows. In phpMyAdmin\config.inc.php change $cfg['Servers'][$i]['host'] = 'localhost'; to $cfg['Servers'][$i]['host'] = '127.0.0.1'; This one I did not actually need as Xampp had that already, but according to the thread I found Mampp did need it. Next uncomment bind-address="127.0.0.1" in mysql\bin\my.ini And finally the real culprit, in Processwire site\config.php change the database configuration from $config->dbHost = 'localhost'; to $config->dbHost = '127.0.0.1'; This same applies for any CMS config file that connects to a MySQL database. (Maybe even any other database too as the issue is with OS) And hey, WOW!! my local dev sites are running way faster now. Hope all that is clear, and useful if anyone else is seeing slow response times locally. Just in case here is my current setup details. Windows Version: Windows 8 Enterprise 64-bit XAMPP Version: 1.8.3 Apache/2.4.7 (Win32) OpenSSL/1.0.1e PHP/5.5.9 MySQL Community Server (GPL) 5.6.16 libmysql - mysqlnd 5.0.11-dev phpMyAdmin Version information: 4.1.6
    1 point
  13. Hi, I don't know if this is the right section for this but I collected some thoughts and a kind of manual about how to increase the performance of your website under load with nginx and fastcgi_cache. At best, this could be a kind of ProCache for nginx users, as not everyone is using Apache and thus not able to use ProCache on their sites. Additionally, this solution comes with the benefit of server side mobile detection and selective caching. http://svn.matthiashaak.com/website-performance-with-processwire-nginx-and-fastcgi_cache/ Please let me know your thoughts or questions about this. Be aware however, that with this solution you end up serving static pages, so no hooks or PHP functions will be called. I am currently working on a module that eases the cache purging, so kindly be patient if you need this. "Wait, and thou shalt receive"
    1 point
  14. What, count? Eats into my wine time! All I will say is that the change of one page to another went from okay to not far off instant. With AIOM you notice the load becoming very clean - the code just runs straight through. With Procache you notice the lack of MySQL. ProcessWire has one of the most efficient methods of calling and collating from a database, but is still has to do it - however well indexed. Procache simply takes that out of the process. To be honest, I also have cloudflare in the mix which is helping the images and I have optimized images like mad by keeping the images as simple as possible so they survive squishing. I have learned a lot with this one.
    1 point
  15. Very nice.. just tryed it out and works perfectly. I had a little trouble with ajax but sorted out in the end. My fault for copy and pasting from the instructions but this code below needs to be changed: if ($('.js-simplecontactform').length) { $.simplecontactform($('.js-simplecontactform')); } to if ($('.js-simple_contact_form').length) { $.simplecontactform($('.js-simple_contact_form')); } just a matter of class name if using the default class of the form in simple_contact_form.php
    1 point
  16. Love this from Webmaster Tools: 890 URLs submitted 1 URL indexed. Okay, so a bit of a wait then....
    1 point
  17. It's going to be hard to work it out as it's not clear what the cause of the problem is, but you can rule out send and receive issues using something free like www.uptimerobot.com to ping your SMTP, POP3 and IMAP ports to see if they're responding correctly. As a special bonus, not only is it a free service, but you can use it to check how often your website goes down (server blips you might not be aware of when you're asleep ).
    1 point
  18. Translation: Cover = Any pub building with a bar roof and alcohol doors. There is a bit of me that would like a mac, but there is another bit of me that does not want another learning curve! There is a third bit of me that has just run and hid my credit card.
    1 point
  19. A small shadow on the transparent PNGs would make a huge difference! Would be also nice if the favicon would change colour from page to page (red, blue, green, yellow).
    1 point
  20. Nice site Joss! (Cheap MOT too...sadly not in my neck of the woods )
    1 point
  21. Issue seems with InputfieldCropImage.module rendering and testing if user is allowed to edit the current page, which is not there. It's not on context of a page edit. User profile doesn't have a "page" editing with an url param "id". Even if, the user isn't allowed to edit "user” page. ProcessProfile #67 fails $inputfield->value = $this->user->get($field->name); InputfieldCropImage.module in renderItem() fails and throws empty exception $page = $this->pages->get((int) $this->input->get->id); if(!$page->id || !$page->editable()) throw new WirePermissionException(); // empty
    1 point
  22. There aren't any connections to the admin theme with this module. But installing AdminThemeReno would have cleared the modules cache, so I'm thinking that's most likely what was needed (a modules refresh). It will go into the core once I can add the option of FTP/SFTP/FTPS installation as an option for upgrading/installing modules and core. Your statement is true with Drumlapress, but not with ProcessWire as far as we know. While newer core versions add new security enhancements and such, running an older version of PW doesn't mean your site isn't safe. If a site is running smoothly and does everything the client wants, I tend to leave it alone. Even if upgrades are relatively safe and easy, there's always a rare chance that something will break and need an update as a result of upgrading the PW core or any module. There are plenty of good reasons to upgrade, but since there are no known security vulnerabilities in past versions as of yet, having a safe site is not currently one of them.
    1 point
  23. Yeah, that's what I meant They look so similar.
    1 point
  24. The words cheap and skate come to mind. Though I believe the northern term for it is "pragmatic"
    1 point
  25. That's why I used the 60 minute free trial and whenever something I changed didn't work, I shut it down immediately so it wasn't using any more minutes
    1 point
  26. Hello all, I'm working on a travel directory site with locations of the region I live in in Thailand. This is a private fun learning project. I would like to assign an icon to each location. ATM I have a simple text input field in my location template where I manually type in the fontawesome class name for the icon I want to assign which is a bit tedious. So I am thinking about putting together an Inputfieldtype "Icon" which will surely aid in learning PW module development (and some more PHP along the way) My concept so far: -since people will hardly use all 500+ icons on their sites, I want to use an asm select in the field setup to search and select the icons that we want to use -the asm select should show both, the icon and it's class name for each icon -then use the selected icons to populate a select dropdown field as input field where the user can choose an icon. Which inputfield module could I have a look at that is using asm select in the field setup? I used import.io (which really is a fun tool) to create a data set with all fontawesome4.2.0 icon class names and their unicodes. If you're interested you can see the dataset here (you need to login/signup with them first). I can export the dataset as JSON and use that to populate the asm select for the field setup. These are my ideas so far. Yours are always welcome
    1 point
  27. And for the amount of money they charge, you could almost buy a mac!
    1 point
  28. Depending on your server, you can configure the whole /site/assets/files path to be accessible from a subdomain like files.example.com. Then you make sure that the image url you output matches this subdomain. This might be a small performance boost if the subdomain doesn't use a cookie.The AllInOneMinify modules uses such an option for example. If you want to move them all to a different server/directory you would need to create our own custom FileHandler. PW doesn't have someting like the FileAbstractionLayer from Typo3.
    1 point
  29. The symlink options works fine. You just have to understand and configure your permissions accordingly. This is how lightning.pw works (We have a /wire/ folder for every PW version and a /site/ folder for every customer install). You can put modules in there too.
    1 point
  30. First of all, this is how ProcessWire asset management works, so instead of asking "why does it do this", I'd ask "why wouldn't it do this"? Files, including images, are tied to Pages, and live under page-specific directories under /site/assets/files/. If you really need to change this behaviour, you probably can, but it'll require quite a bit of work -- and thought, as you'll have to find new ways for keeping asset names unique (two pages having a different file with same name and so on), handling secure files, removing files once they're no longer needed, etc. In a nutshell: this is not something you can easily do. If you're ready to really get your hands dirty and rewrite a lot of what ProcessWire currently does with Pagefile, Pagefiles, PagefilesManager, ImageSizer, etc. then by all means do it (and we'll try to help), but I'd suggest against it. Also: you should make sure that you have a really good reason to do this first. What are you trying to solve by moving assets to template-specific (assuming that's what you're referring to here) directories? How does it benefit the system, or the user? How does it scale, what kind of benefits and/or drawbacks does it introduce, etc.? If there's something specific you're trying to achieve by this, please let us know. Perhaps there's an easier way to do it.
    1 point
  31. More here http://browsershots.org/
    1 point
  32. FieldtypeSelect ProcessPageDelete ProFields and ProCache (at least included in case I should need them) AdminThemeReno Language Field Tabs I think I'm going to add the following to my default installation: Pagetree Add New Childs Reverse Page Edit Soft Lock XML sitemap My SEO module FomSaveReminder ​P.S.: Really interesting topic.
    1 point
  33. We plan to launch in a few days. If you'd like to help us having a proper starter set of recipes, please contribute via adding to this GitHub repo: https://github.com/processwire-recipes/ProcessWireRecipes (the recipe files themselves can be found at /site/recipe-txt-files) Recipe files are plain text files written in markdown (here is an example of their intended structure). Owzim's awesome RecipeInstaller module makes it possible to easily convert them into ProcessWire pages. edit: recipe txt files will be outsourced in a separate repo to simplify things, here is said repo: https://github.com/processwire-recipes/Recipes
    1 point
  34. As said by @yellowled, best to use modules only when needed. In my case, I don't use AIOM, as my assets are pre-compiled. Mine are: Redirector (also making my own, enhanced version - though, no time these days - you know how it goes...) Database Backups Diagnostics (all) File Manager Sitemap XML Upgrades For me, these are a must-have. I would add ProCache to that list, but I haven't purchased it as yet, as the built in cache system has been adequate for my sites. Keeping track of it though - looks like something I may need in the near future. @yellowled: isn't Language Field Tabs part of the core now?
    1 point
  35. https://itunes.apple.com/us/app/renamer-batch-rename-many/id402286241 Or less expensive, if you're ok with random numbers http://angrymarmot.org/mac-oslinux-batch-rename-files-random-name/
    1 point
  36. i think you would have to put the surrounding <div class="row"> into markup/posts.php and close it after every second item (if you have 2 columns) so that it does not get messed up when you have different sizes of your postings. <div class="row"> <div class="col-md6">post 1</div> <div class="col-md6">post 2</div> </div> <div class="row"> <div class="col-md6">post 3</div> <div class="col-md6">post 4</div> </div> see here what i mean: http://jsfiddle.net/KyleMit/DVE4f/ that's why i'm using pocketgrid! the markup is like this: <div class="block-group"> <div class="block col3">post 1</div> <div class="block col3">post 2</div> <div class="block col3">post 3</div> <div class="block col3">post 4</div> <div class="block col3">post 5</div> <div class="block col3">post 6</div> </div> so you can "foreach" all your items into ONE surrounding block-group-div: <div class="block-group" style="text-align: center;"> <?php foreach ($page->locations as $loc) { ?> <div class="col3 block"> <h3><?= $loc->title ?></h3> <p><?= nl2br($loc->adresse) ?></p> <p><small><a href="<?= $loc->website ?>" target="_blank"><?= $loc->website ?></a></small></p> </div> <?php } ?> </div> check this fiddle i made up for pocketgrid 3 and 5 (update) columns: http://jsfiddle.net/zqwahva1/1/ (resize window to see effects) code above is a 3-column example, you can see it here: http://www.bio-fisch.at/gastronomie/
    1 point
  37. Hi Peter, I'm not sure if the selector engine has something to take care of this in a more straightforward way now but let's see if I'm able to help you with this approach anyway. Looks like you're not saving the results of your find() calls into variables. Check my example you're referring to: I'm using $results and $additionalResults to hold the found pages and import the contents of $additionalResults to $results. And remember $pages is a system variable you shouldn't be saving anything to yourself. On top of that, it would be better to find unattached domain_ip's first and import only one page (which you don't have to find by the way), not the other way around. Something like this would probably work: // find free ip's $selectable_domain_ips = $pages->find("parent=/domain_ips/,server_id=$page->server_id_select, include=hidden, account_id="); // add currently selected one to the list $selectable_domain_ips->import($page->domain_ip_select); return $selectable_domain_ips; It seems you've got a two way relation here - or do you really? For this to work you'd have to take care of (un)setting account_id of domain_ip pages yourself. If you've got that set up and working already you should be fine. If not, I'm sure someone here will help you get there (or suggest a whole another approach to make it simpler). I'm a bit rusty myself not having done anything with PW or PHP in months.Hope this helps.
    1 point
  38. Yes, it does. I have it run with nginx, so I don't care about the .htaccess Read the instructions on how to get hhvm running here: http://hhvm.com/blog/1817/fastercgi-with-hhvm You might need some tweaking and run into a lot of issues - hhvm has not been tested with ProcessWire. I also chose to let it run at port 8999 to be easily able to switch between hhvm and php5 for reasons of comparison. Your mileage may vary, but with a modern system your chances of getting it to work are better. Some stats using a fresh installation of Processwire with the site-beginner scheme ab -c10 -n500 http://pwtest.gurkendoktor.de/ php5-fpm: Concurrency Level: 10 Time taken for tests: 23.425 seconds Complete requests: 500 Failed requests: 253 (Connect: 0, Receive: 0, Length: 253, Exceptions: 0) Total transferred: 1902241 bytes HTML transferred: 1700241 bytes Requests per second: 21.34 [#/sec] (mean) hhvm: Concurrency Level: 10 Time taken for tests: 8.702 seconds Complete requests: 500 Failed requests: 232 (Connect: 0, Receive: 0, Length: 232, Exceptions: 0) Total transferred: 1900304 bytes HTML transferred: 1700304 bytes Requests per second: 57.46 [#/sec] (mean) This is in no way scientific. PHP does not use an opcode cache, which speeds up things a lot. on the other hand, hhvm gets better the "warmer" it gets (ie. the more load it gets). The nice thing is, that it still works with fcgi_cache: Concurrency Level: 10 Time taken for tests: 5.110 seconds Complete requests: 500 Failed requests: 491 (Connect: 0, Receive: 0, Length: 491, Exceptions: 0) Total transferred: 1912527 bytes HTML transferred: 1699527 bytes Requests per second: 97.85 [#/sec] (mean) Yes, there are some more "failed requests" - I blame this on ab Anyway, this is just plain ol' PHP Code. What would be interesting is to actually write a module in hack (the hhvm language) and see if this actually works. Because then you'll be able to harness hhvm's full power and experience an incredible performance boost. I'll figure this out later when there's time. More interesting it would be to fork the ProcessWire core and move it to hack. This would incredibly boost the performance, but brings other issues. But I guess this is too much of an effort, I myself wouldn't be able to do it
    1 point
  39. ProcessWire Forum Rules Version 1.1. Last updated November 10, 2014 Purpose of the Forums The ProcessWire forums are a self-help support forum where users can also contribute towards the future of ProcessWire. It is comprised of individuals from across the globe who want to help each other and who are giving much of their free time to do so. Many members have commented that the ProcessWire forums are exceptional in how equally friendly and hospitable they are to those who are very knowledgeable and those who are only just beginning to learn. A word about the rules The rules are here for the benefit of everyone. It says something about a community that we have not required any for four years despite the occasional heated debate. However, as the community has grown it seems only fair to create rules for both members and staff alike. Rules are not the same as laws. They are applied to each individual situation as the need arises and can be interpreted by the staff after reaching a consensus, where appropriate, or they may be enforced quicker in the case of situations requiring immediate attention or that are in very clear violation of the rules. Please respect the outcome of any decisions made by the staff. Rules for posting No Flaming. Never threaten the project, developers or other forum members. Threatening behaviour will be dealt with swiftly by staff and may result in a ban.. No Spamming. Spamming violations may result in your post count being reset, revocation of posting privileges, or even permanent banning from the site. There are several types of spam: Off-Topic posts outside the off topic “Pub” forum. If you wish to make an off topic post, please do this in the “Pub” forum. Multiposting. Multiposting is repeating the same message several times in the same topic, or, making a post directly after another, when you could have edited the additional comments into your first post. Multithreading. Multithreading is posting the same message in several different threads. If you do not receive a reply to your post, it may be that people do not have an opinion or are simply not online. Be patient. Unauthorized Advertising. Any unauthorized advertisements will be deleted and the offending member may be banned. Please note that linking to your company website is permitted in your signature as a plain text link. No discussion of politics or religion anywhere on these forums including the Off Topic boards - there are many other websites where you may discuss these topics. Please avoid very bad language. This is not an adult only forum so treat it as being family friendly. Please respect others’ opinions. Do not state that they are wrong and dismiss them in a derogatory manner. Please try and offer constructive counter-arguments when joining a topic containing a debate. If in doubt, don’t post. Please don't tell other people to go and search if they ask a question that has been asked before. If you like, inform a member of staff or a moderator via the reporting feature and we will do our best to merge it into a relevant topic, or you could suggest in a polite manner so as not to offend that they Google the forums via this link - just remember to be friendly as a link on its own can be mistaken for frustration or impatience. Please do not make demands of the developers of this project or of those who manage the forums. It is disrespectful to the people who give so much of their free time to this community Please contact us if you have an issue with another member or even a staff member - the relevant points of contact are at the bottom of this post Please respect the privacy of others. If a member chooses to use a pseudonym rather than their real name, that is their privilege. Please respect their wishes and do not out them even if their real name is common knowledge. Keep to one identity. Do not create alternate avatars and just stick to the one. If there are technical reasons why you need a new one (can’t rescue the old one, perhaps) be open about it. If you are angry about something, step back, take a breather and try to post a reasonable reply. If you feel that someone is being wholly unreasonable or stubborn, please contact a member of staff. Please try and use Common Sense. No set of rules can cover everything. If you think about what you are posting before posting, you shouldn’t run into any trouble. Remember, this is a forum about a software project, not world peace. It is doubtful ANY argument is important enough to be angry about. Please note that these rules may be updated from time to time. If you continue to use these forums it is assumed that you agree to them. Rules for using the Personal Message system The boards have a simple and unrestricted personal messenger - please use this responsibly. In addition to the above rules regarding posting: Please do not use the personal messenger to threaten anyone, tell them off or send a message that is likely to upset or offend. Please respect every member’s privacy and only PM someone if you feel they will be happy to receive a message from you. If you receive any messages that you feel are inappropriate, please contact a member of staff rather than taking matters into your own hands. Please do not copy and paste private messages into the public forums without the consent of the sendee. Actions we might take At the sole discretion of the forum staff and/or administrators, you may be given a warning if you break the rules. If the infraction is deemed severe enough, you will be banned. If you repeatedly break the rules or are belligerent in your response to staff/admin messages about an infraction then you will also be banned. If we do contact you it will be via the personal messenger system on the forums or, in the event of a ban, we will contact you via your registration email. We will not conduct conversations in public nor will we reply to any public conversations about a particular case. Points of contact If you have an issue that requires staff attention, in the first instance you should report the content using the “Report” link at the bottom-right corner of the relevant post. If you wish to, please contact a particular member of staff directly about an issue. If your issue is about a particular member of staff, please contact Pete and/or ryan via Personal Message. Please don't be put off by these rules. They are in place to help make sure that the site keeps its nice and friendly atmosphere. We're not here to rule with an iron fist - we’re here to discuss ideas and help one another, but we will act when people disregard the rules or ruin the atmosphere.
    1 point
  40. Posting Guidelines In addition to the rules, it is recommended that you read the following guidelines to get the most out of your interactions with this community. Interpreting other members’ posts Our community is a global community and as such posts and intentions can be misunderstood. If you encounter a reply that seems “short” and contains links to other topics that may answer your question, this may be due to the large number of members who use the forums on their mobile devices and want to help but don’t have time for a more complete reply or for whom English is not their first language. Please try and give people the benefit of the doubt when posting. Please do not dismiss their views out of hand (constructive replies are welcome). The forum language is English. We really appreciate the effort everyone makes from countries around the world to post in English. After careful consideration and experience on other forums, it makes sense to have one common language for discussion here so that ideas can be shared and not missed in language-specific forums - the same applies for debates that might get out of hand as we do not want to miss those either. There are more and more country-specific ProcessWire websites cropping up however so if you find that a group of you are in agreement and wish to set up a language-specific forum of your own then please feel free. Suggesting new modules/features Many of the features of ProcessWire have been born out of suggestions by users or discussions within the community, but that does not mean that every suggestion can be taken on board or that it might even be in tune with the overall strategy for the project. If you have suggestions for new features or modules, please feel free to propose them in a simple, open way in the Wishlist & Roadmap forum, but don’t be upset if no one is interested. Developer’s needs vary greatly. Your suggestion might well be something that is better developed as a third party module; in fact that is often the case. You are free to develop that yourself or work with others on a project, or even post a job to get help in the jobs board. However, whatever your idea or wish for a new feature, please do not make your suggestion sound like a demand, or tell the developers they have “got it all wrong,” or that you know what is best for ProcessWire. That is simply unfair to those who have been working on the project for free for years. Answering topics If you can help your fellow members then that’s great! Giving something back to the community in a constructive manner is always welcome. If someone replies in a topic you started and you think it is the best answer then please click the “Mark Solved” button at the bottom-right of the relevant post. Staff may mark a post as the best answer for you or change the chosen answer at their discretion if there is a better/more comprehensive answer later on in that topic. Some of the most prolific posters in the community do not count themselves at experts, but are very good at pointing new members in the right direction - you don’t have to be an expert in order to help out. Please don’t tell someone off for asking a silly question - there is no such thing! Every question is being asked because the person genuinely does not know the answer and might not know where to look. Raising issues or disagreements Nobody frequenting this forum should feel threatened when voicing their opinion as long as they are doing so constructively. Please be mindful however that everyone is unique and may interpret situations differently which could lead to misunderstandings. If you find that you disagree with someone, they may simply have a different point of view - this does not automatically mean that their view is wrong or your view is right. If multiple people disagree with you, it could be that a point has been raised many times before and/or that your point is not clear. Please seek clarification and remain calm or go talk about something else. If someone appears to be being simply argumentative, repetitive or belligerent in their replies then please do contact a member of staff and refrain from being drawn into the discussion further. To repeat, we are not solving world issues here, nothing is really so important that you HAVE to say something. If in doubt, say nothing and read another topic.
    1 point
  41. Particularly the historic ones. Or maybe historic computer bits: PW Punchcard PW Tickertape PW Valve?
    1 point
  42. Let's use names of CMS systems Drupal Wordpress eZ Publish DotNetNuke eZ Publish Mambo Pimcore
    1 point
  43. Hi everyone, I'd like to announce a complete overhaul of this module - problem is that I am not sure whether to release it as an update to this module, or perhaps as something completely new, perhaps called PageProtector. UPDATE: The functionality described in this post is available as a separate module: PageProtector This new version (not on github just yet) makes it very easy for site editors to set up various password protected areas on their site, or to simply protect a new page or section while they are still working on it. New functionality Ability for your site editors to control the user access to pages directly from Settings tab of each page Includes whether to protect all children of this page or not Optionally allows access to only specified roles Ability to change the message on the login page to make it specific to this page Option to have login form and prohibited message injected into a custom template Access to the above "Protect this Page" settings panel is controlled by the "page-edit-protected" permission Table in the module config settings that lists the details all of the protected pages Shortcut to protect entire site with one click What do you all think - replace the existing module, or release this functionality as a separate version? Module Config Settings Page Protection Settings
    1 point
  44. Makes me want to brew some coffee right now...
    1 point
  45. I had a look at the coffeekit site. All you need is apeisa's shopping cart module and you will have a site like that in no time. http://modules.processwire.com/modules/shopping-cart/ You find examples in the forum.
    1 point
  46. Some upgrades to the upgrade module. It now scans for module upgrades too, and provides notifications of upgrades that show up when superuser logs in: Main screen: Login notifications: Note that you have to have the latest PW (2.4.19 or hopefully 2.5 later today) in order to use the modules upgrades or login notifications. The core upgrades portion will work with old PW versions. Also the screenshot says it's called "Core Upgrade", but that's because I already had it installed. If you install it anew now, it's simply called "Upgrades".
    1 point
  47. In it's simplest form it could be something like this, where $page->page_password is a textfield you can set for every page that needs the login. <?php if ($_POST['awesome_password'] != $page->page_password) { echo <<<EOT <h1>Login</h1> <form name='form' method='post' action='$page->url'> <input type='password' title='Enter your password' name='awesome_password' /> <br /> <input type='submit' name='Submit' value='Login' /> </form> EOT; } else { echo "<p>This is the protected page. Content goes here.</p>"; } ?>
    1 point
  48. It sounds like you are adding images to a PW page. Here's how you'd do that below. When you are manipulating values on a page, you usually want to have output formatting off. When that is the case, an image field will always behave as an array of images rather than 1 image. So the code below would be the same regardless of whether dealing with a single image field or a multi image field. The example also assumes your images field has the name 'images', but it can be whatever you want it to be. $page->of(false); // turn of output formatting if in template context, not necessary otherwise $page->images->add('/path/to/file.jpg or http://domain.com/path/to/file.jpg'); $page->save(); Note that $page has to exist (and have an 'id') before an file/image is added to it. So if you were creating a new Page, you'd have to do it like this: $page = new Page(); $page->template = 'name-of-template'; $page->parent = '/path/to/parent/'; $page->save(); $page->images->add('http://...'); $page->save(); If you want to delete an image, do the delete and save before adding another: $page->images->deleteAll(); $page->save(); // commit the deletion $page->images->add('http://...'); $page->save(); Or if you want to delete a specific image: $image = $page->images->first(); $page->images->delete($image); $page->save(); // commit the deletion $page->images->add('http://...'); $page->save(); Note that when you add() an image, if you are pulling from an http:// address then your PHP must support allow_url_fopen. Some web hosts have this disabled, though most don't.
    1 point
×
×
  • Create New...