Jump to content

titanium

Members
  • Posts

    161
  • Joined

  • Last visited

Posts posted by titanium

  1. I tried to update from 0.2.0 to 0.2.2 and have an issue: "Path to Templates" does not work as before.

    I have a template directory "controllers/", which contains a template called "image-text.php". The "image-text.php" template has set "router.php" as alternative template name.

    With 0.2.2, if I try to edit the page which has the pagetable field, I get the message

    TemplateFile: Filename doesn't exist: [...]/site/templates/controller/router.php"
    

    Sure, should be "[...]/site/templates/controller/image-text.php

    If I comment out line 50 in 0.2.2 and insert

    $parsedTemplate = new TemplateFile($this->config->paths->templates . $this->pathToTemplates  . $p->template->name . ".php");

    (the line 50 from 0.2.0) all is well again.

  2. @titanium: Could you please test the new version (0.2.0.) with your template delegate approach. I don't use it, so I can't test it quickly. But should work ;)

    You're welcome! I did test it, and it works great! Only one small glitch - one of the help text says: "For example "/controllers/"". I think it should be corrected to "For example "controllers/", because the first front slash is already part of $this->config->paths->templates.

    This module contributes great value to ProcessWire and I nominate it as Module Of The Year  :)

  3. Really awesome module, MadeMyDay!

    I'm using some kind of template delegate approach (template has an alternative template filename set - "router.php" - which controls the inclusion of the "real" templates in a MVC way. These templates reside in subfolder "controllers".) In order to make it work, I had to change line 45 from

    $parsedTemplate = new TemplateFile($this->config->paths->templates . $p->template->name . ".php");
    

    to

    $parsedTemplate = new TemplateFile($this->config->paths->templates . '/controllers/' . $p->template->name . ".php");
    

    Maybe you have a better idea for people like me who use alternative template paths? Using my way, I always have to manually update the module file, if it get's updated by you.

    Another question: how does the module deal with unpublished PageTable (sub)pages (the "blocks" inside the PageTable)? They are not handled different to published pages, are they? I think I would like to get them rendered with an extra css class around it - this way the content could be especially marked or hidden by CSS. (I guess this could also be done on template level, but it's not convenient that much.)

    • Like 1
  4. Super Smartypants is a ProcessWire textformatter module which adds support for languages. It also allows you to set the different Smartypants Typographer parser attributes to customize which rules apply and fixes some bugs.

    Hi Pierre-Luc,

    it was a good idea to enhance Ryans module from 2011 with language translations. Thank you for this.

    There is a more current smartypants.php file available from the smartypants developer, who fixed some minor bugs. The direct link is:

    https://littoral.michelf.ca/code/php-smartypants/php-smartypants-typographer-1.0.1.zip

    Maybe you would like to consider this?

  5. I can confirm this. I noticed that the pagename format of newly uploaded language files differ from translation files which are already there, for example:

    • Before: wire--modules--inputfield--inputfieldselector--inputfieldselector-module
    • After:    wire_modules_inputfield_inputfieldselector_inputfieldselector-module

    I think it has to do with the following commit: https://github.com/ryancramerdesign/ProcessWire/commit/ca8a5418a21274a37c2ca2e9c2a2d6ae92592f4b

  6. I think you could build a simple template for the "press" page which makes use of HTTP Auth. It's similar to what is described here: http://www.php.net/manual/en/features.http-auth.php

    The files can be protected by a simple download proxy script, which takes care of permission and delivers the file (the files originally stays assets/files/..., but since no one knows the real path, it's safe by obscurity.) It's not what I would call NASA safety, but I think it's safe enough for your purpose.

    To be sure only files are served which are published, set this option in /site/config.php: set "$config->pagefileSecure = false;" to true.

  7. titanium, please can you provide the code line for that with pimLoad?

    Ah sorry, a "1" is missing. It's in line 113.

    Regarding the "outputFormat" problem: I noticed that my page was very slow with PageImage Manipulator. I took a closer look and noticed that the image files were created once again every time the page was loaded. After that, I was on a bug hunt...

  8. Sorry, Horst, I don't want to be pesky, but how does this work:

    PageImageManipulator.module, line 142:

    if(!in_array(strtolower($outputFormat), array('gif','png','jpg'))) {
    	$outputFormat = $p['extension'];
    }
    $outputFormat = strtolower($outputFormat);
    if(empty($targetFilename)) {
    	$targetFilename = $p['dirname'] .'/pim_'. $prefix .'_'. $p['filename'] .'.'. $outputFormat;
    }
    

    $outputFormat is always NULL, that's how it was defined in line 96.

    As a result, $outputFormat is always set to the original extension the image has when it was uploaded. Assuming I'm doing a format conversion (png -> jpg), $targetFilename always points to the wrong extension (png instead of jpg), and this file is non-existant. Meaning: everytime all images are recreated, slowing down the page...

  9. Hi Horst, I think I found one more.

    PageImageManipulator.module, line 13: $this->optionNames is always NULL, because it doesn't get defined before (the class isn't even included at this point).

    In consequence, param 2 and 3 are not working correctly as described here:

    pimLoad

    pimLoad($prefix, $param2=optional, $param3=optional)

    • param 1: $prefix - (string) = mandatory!
    • param 2: mixed, $forceRecreation or $options
    • param 3: mixed, $forceRecreation or $options
  10. Thank you, Horst, for this great module.

    Bug report: the ratio isn't calculated correctly.

    Two lines containing:

    'ratio'	   => floatval(($info[0]>=$info[1] ? $info[0]/$info[1] : $info[1]/$info[2]))
    

    have to be:

    'ratio'	   => floatval(($info[0]>=$info[1] ? $info[0]/$info[1] : $info[1]/$info[0]))
    
    • Like 2
  11. Hi,

    I have two different ProcessWire installations - they don't share templates or anything else. Now, the day has come, I have to echo out some page contents on site 1 which originally come from site 2. I suppose it won't be possible to include the "index.php" (api) of site 2 in site 1 - how could I use the api of site 2 within site 1 then?

    Any thoughts on this are greatly appreciated.

  12. For use cases I'm thinking of right now, I think images, text and videos would be enough for now. If you have a module that allows you to tie these to fields in a specific template, then when you create a new page replace the normal editor with Sir Trevor, you could have it use the native fields and store the parsed content in a hidden body field.

    So your images go in a multiple images field, your video URLs in a custom field (repeaters don't scale infinitely) and text some other way and the whole thing is parsed into a body field ready to render.

    Awesome concept, all we need is a first implementation now :-)

  13. Hi Joss,

    Why not design it from scratch? I understand that BS and Foundation are fast starting points but don't they just complicate things by having to sift through all their code to work out what does what? Not to mentioning loading code you never use.

    The last point isn't necessarily true. LESS/SASS is very easy to learn and can be used to customize Bootstrap or Foundation in every detail. No need to re-invent the wheel again. Bootstrap and Foundation have a big community, which helps dealing in case of problems. Personally I would go with Bootstrap 3.

  14. I tried to update one of my websites from 2.3.8 to 2.3.9 and noticed a problem. I'm using some contact forms, which templates are set up to use ssl only. The other templates are configured to use http only.

    If I'm moving back from ssl to non-ssl pages in frontend, I get the following error:

    "Moved Permanently
    The document has moved here."
     
    URL of this page shown in browser is like: http://www.mydomain.com:443/mypage/
    (should be for sure: http://www.mydomain.com/mypage)
     
    It worked with 2.3.8, so I suppose the problem is somewhere in the file "/wire/core/ProcessWire.php", in function "getHttpHost(Config $config)" - this is one of the places of which "diff -r" is telling me that is has be changed between 2.3.8 and 2.3.9.
     
  15. It seem's that when you add link in link field to another site and leave "http://" from the start the link doesn't work. I use PW 3.0.

    How should CKEditor or ProcessWire get to know if you want to insert a link to another site? For example, www.mysite.de/testpage.html could be another website, or simply a relative link to the page "testpage.html" in the folder "ww.mysite.de" of my own site.

    • Like 1
  16. Is there a reason why the "magicline" plugin is disabled by default? I would like to use it. I enabled it by removing the entry from "Removed Plugins" and setting it in "Extra Plugins". After this, the magicline seems to work at first sight. But if you click the red square on the right, console shows an error. 

    Seems I found the reason. (I was searching for hours literally, and shortly after posting my question here I found it. That's the way life is.)

    It was the line "'enterMode' => 'CKEDITOR.ENTER_P'" in "InputfieldCKEditor.module". Removing it brings "magicline" fully back to life.

    Ryan: Do we need this line? According to the CKEditor documentation, it's the default setting anyway.

×
×
  • Create New...