HTML Logo by World Wide Web Consortium (www.w3.org). Click to learn more about our commitment to accessibility and standards.

Moving forward with Composr

ocPortal has been relaunched as Composr CMS, which is now in beta. ocPortal 9 will be superseded by Composr 10.

Head over to compo.sr for our new site, and to our migration roadmap. Existing ocPortal member accounts have been mirrored.


Improved non-validated download response

Login / Search

 [ Join | More ]
 Add topic 
Posted
Rating:
#111284 (In Topic #22358)
TQ
Avatar

Honoured member

Hi All,

I've previously glossed over the ocp_sitemap.xml content because it appeared to be everything I needed but now I'm not so sure.

The xml file lists non-validated pages/downloads which in turn lead people to click a link in Google taking them to a 'less than helpful' error message.

“Username” does not have the privilege, ‘See non-validated content, if directed to it’.


There are a couple of improvements I could suggest:
  1. Non-validated items are not added to the sitemap.
  2. The error response could be improved to be more user friendly

Unfortunately 'Username', 'page name/download' has not yet been validate by the Administrator.

If you urgently need access to this item please leave a ticket requesting it's validation’.

I suspect the latter can easily be done, although I haven't worked out how to replace 'page name/download' with the actual page title yet.

I can't decide if keeping the non-validated items in the site map would be a positive if the error message was more friendly but I think it would be more comforting to newish users if at least the missing page title is included in the message.

There is another anomaly I've noticed with the site map. If I manually generate it with force_sitemap_generation.php the URL's are the escaped version. If I leave it to the CRON job, the URL's are the SEO friendly version but not escaped.

eg. Forced:

Code

<url><loc>https://hamfiles.co.uk/index.php?page=downloads&type=entry&id=radio-programming%2Ftyt-electronics%2Ftytera-md380-cps-v1-30</loc><lastmod>2016-04-23T02:11:06+00:00</lastmod><priority>0.60</priority>
CRON version:

Code

<url>
      <loc>https://hamfiles.co.uk/pg/downloads/entry/radio-programming/tyt-electronics/tytera-md380-cps-v1-30</loc>
      <lastmod>2016-04-23T02:11:06+00:00</lastmod>
      <priority>0.60</priority>
   </url>

I may have an issue with my IIRF.INI as I have friendly URL's checked in ocP but my browser resolves to the 'Forced' version shown above (iirf is reporting no errors).

Now this leads me to ask, should the site map I am presenting to Google be the forced version or the friendly version? Should I be offering both versions to Google Webmaster?

Thanks

TQ


Back to the top
 
Posted
Rating:
#111285
Avatar

The xml file lists non-validated pages/downloads which in turn lead people to click a link in Google taking them to a 'less than helpful' error message.

In v10 it will consider this.
I just checked and it wasn't, but I'll correct that, respecting validation is a feature in the new sitemap system we have, and XML sitemaps is driven from that.

The error response could be improved to be more user friendly

v10 has a feature whereby error messages can be replaced with custom ones on a screen-by-screen basis. It can't really be done with including the title in the message though, that'd need custom coding up.

Actually I suspect ocPortal is giving out an access denied status code anyway, which would stop Google listing the URL. So I doubt any of this is a real issue.

If I leave it to the CRON job, the URL's are … not escaped.

Are you completely sure this is true? You may be viewing a render-tree rather than the raw XML. I just checked the code and it seems fine

If I leave it to the CRON job, the URL's are the SEO friendly version

I had a quick check on your site and I noticed SEO URLs are not on by default, but yes do work. So it seems CRON thinks they do work, while non-CRON thinks they don't even when they do.
I believe this is because non-CRON side-steps IIS, and our code is less cautious when it doesn't detect any web server vendor name. Doing this OcCLE command will fix it:

Code

:set_value('ionic_on','1');
It tells ocPortal to trust it will work even on IIS.

Should I be offering both versions to Google Webmaster?

No, we put a "canonical" header into the web page <head> section which Google will see when it indexes a page.


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#111286
Avatar

Actually I need to correct myself. For IIS we don't set HTTP statuses, becomes it has in the past not worked with them.

You can try changing code in sources/failure.php from:

Code

      if ((!browser_matches('ie')) && (strpos(ocp_srv('SERVER_SOFTWARE'),'IIS')===false)) header('HTTP/1.0 401 Unauthorized'); // Stop spiders ever storing the URL that caused this
to:

Code

      if (!browser_matches('ie')) header('HTTP/1.0 401 Unauthorized'); // Stop spiders ever storing the URL that caused this

I'd be interested if it works.

I made a tracker issue with more details, written from the perspective of v10 (which uses a single status code function controlling it all unlike v8/v9):
0002524: Re-review HTTP status codes wrt IE and IIS - Composr CMS feature tracker


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#111287
TQ
Avatar

Honoured member

Hi Chris,

Chris said

In v10 it will consider this.
I just checked and it wasn't, but I'll correct that, respecting validation is a feature in the new sitemap system we have, and XML sitemaps is driven from that.
Perfect

Chris said

v10 has a feature whereby error messages can be replaced with custom ones on a screen-by-screen basis.
Very Cool

Chris said

I believe this is because non-CRON side-steps IIS, and our code is less cautious when it doesn't detect any web server vendor name. Doing this OcCLE command will fix it:
And it did! Unfortunately, a miniblock I created which uses a js refresh now wipes out the whole site when it refreshes a <div> so I've had to undo it for now. So much for my rubbish programming skills!

Chris said

You can try changing code in sources/failure.php
Now I've hit a new problem. Jason, many moons ago, kindly created an function to write certain IP's to a text file that my firewall uses. This is the only content in my /sources_custom/failure.php.

So my question is, how do I make your suggested changes. I obviously shouldn't make them in the original sources/failure.php. If I were to blunder through, I would append Jason's function to the end of a copy failure.php in the sources_custom folder then make the change but that doesn't sound like ocP efficiency.

Thank you so much for all the time you spend on my questions, I just can't express how grateful I am.

As a closer I wanted to share a comment I received from one of my members today. He doesn't realise that it's not me that make my site great, it's the ocP/Composr team.

A Satisfied Member said

I have found HamFiles to be an extremely valuable source for hard to find radio software. I have just donated to the site to show my appreciation and I encourage others to do the same. Thank you for your hard work on this excellent site!
It's quite clear in my mind where the credit due.

Thank you Chris.

TQ
Back to the top
 
Posted
Rating:
#111289
Avatar

It's quite clear in my mind where the credit due.

That's nice of you, thanks :).

ocP overrides are pretty smart. You can just take a single function you've altered and paste that function into the override. It automatically will merge in all other functions from the original file.


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#111294
TQ
Avatar

Honoured member

Chris Graham said

Code

&amp;amp;amp;amp;amp;nbsp; &amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;nbsp; &amp;amp;amp;amp;amp;nbsp;if (!browser_matches(&amp;amp;amp;amp;amp;#39;ie&amp;amp;amp;amp;amp;#39;)) header(&amp;amp;amp;amp;amp;#39;HTTP/1.0 401 Unauthorized&amp;amp;amp;amp;amp;#39;); // Stop spiders ever storing the URL that caused this&amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;gt;
I'd be interested if it works.
IIS now brings up the login box, try this link as guest/ordinary member: https://hamfiles.co.uk/index.php?page=downloads&type=entry&id=alinco-dj8b

Chris said

ocP overrides are pretty smart. You can just take a single function you've altered and paste that function into the override. It automatically will merge in all other functions from the original file.
You're not kidding, that is so cool.

Thanks

TQ
Back to the top
 
Posted
Rating:
#111296
TQ
Avatar

Honoured member

I removed the js that was killing my site ('nowplaying') and starting testing

Code

:set_value('ionic_on','1');
again.

I have 2 problems that I know of right now:
  1. If I click on the site logo with the above set to '1' it redirects to mysite.tld/start.htm not mysite.tld/pg/start
  2. I'm clearly not using js in a way the site is happy with because I've got an AdBlocker detector js  elsewhere which no longer works.
I really would like to keep my 'nowplaying' feature which simply refreshes a DIV every minute with the latest track & cover from a text file and I would like my adblock detector to work whilst using friendly URL's.

I don't want to waste any more of your time so could you Chris or anyone else point me in the direction of some documentation (and maybe an example) on how to use js correctly with ocP.

Thanks

TQ

Back to the top
 
Posted
Rating:
#111297
TQ
Avatar

Honoured member

Disregard the AdBlocker, it looks like it's a pathing issue.

Edit: Ditto on my 'nowplaying', that was also a path issue. I was using relative paths not absolute.

TQ


Last edit: by TQ
Back to the top
 
Posted
Rating:
#111298
TQ
Avatar

Honoured member

Apologies for using the forum like a chat room, I'll stop after this message.

So I've fixed my js issues by using absolute paths for the js (you can be sure I'm not locating the js in the right place so sorry about that) but other things aren't working out so I'm going to stop working on my live site (Doh) until after the weekend.

My latest problems are (with friendly URL's enabled):
  • After editing a page and saving, the address bar has redirect=1 at the end of the line and throws a 'page not found' error.  Removing the redirect=1 from the URL fixes the problem.
     
  • If I use the page rendering tool I get a mixed URL in the new window and a 'page not found' error.
     
  • I still have the logo pointing to /start.htm which, you've guessed it, throws 'page not found'
Have a good weekend, where ever you are in the world and god bless ocP :lol:

TQ
Back to the top
 
Posted
Rating:
#111303
TQ
Avatar

Honoured member

Chris Graham said

Actually I need to correct myself. For IIS we don't set HTTP statuses, becomes it has in the past not worked with them.

You can try changing code in sources/failure.php from:

Code

&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;if ((!browser_matches(&amp;amp;#39;ie&amp;amp;#39;)) &amp;amp;amp;&amp;amp;amp; (strpos(ocp_srv(&amp;amp;#39;SERVER_SOFTWARE&amp;amp;#39;),&amp;amp;#39;IIS&amp;amp;#39;)===false)) header(&amp;amp;#39;HTTP/1.0 401 Unauthorized&amp;amp;#39;); // Stop spiders ever storing the URL that caused this&amp;lt;br /&amp;gt;
to:

Code

&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;if (!browser_matches(&amp;amp;#39;ie&amp;amp;#39;)) header(&amp;amp;#39;HTTP/1.0 401 Unauthorized&amp;amp;#39;); // Stop spiders ever storing the URL that caused this&amp;lt;br /&amp;gt;
I'd be interested if it works.

I made a tracker issue with more details, written from the perspective of v10 (which uses a single status code function controlling it all unlike v8/v9):
0002524: Re-review HTTP status codes wrt IE and IIS - Composr CMS feature tracker

Both Google and Bing are now sulking about an increase in errors:

Google - Googlebot found an increase in authorisation permission errors on ...
Bing - Crawl Error Alert for hamfiles.co.uk: 401 (Unauthorized)

Bing is asking me to use Robots.txt to exclude unwanted errors/access to pages. They have listed about 1000 members profile pages so far ie. /index.php?page=members&type=view&id=username. I'm not sure if I have disallowed viewing by Guests or it's standard but that's my preference.

Is it possible to use Robots.txt to stop BOTs from crawling the members profiles (and also the calender)?

My sites presence on Bing is almost non-existent and it appears the MS are now forcing the use of Bing in some circumstances so now's the time for me to get my ducks in a row.

These errors only appeared after I changed the failure.php, if nothing can be done to stop the BOT's logging errors (which I've read reduces my ranking), should I revert to the old failure.php code?

Thanks as always

TQ
Back to the top
 
Posted
Rating:
#111304
TQ
Avatar

Honoured member

OK, after due consideration I've reverted to the original failure.php because the 'Authentication login box is even more daunting than the original screen.

The whole issue for me pivots around the fact that I don't want members to download a file that has not been validated to protect the reputation of the site. I have chosen to hide non-validated items from users because I don't have a way of allowing them to see the page but not DL the item (which would be my preference).

Would it be possible to wrap the download link in an IF statement to either allow the download to proceed if Validated=1 or pop-out a dialog box if validated=0?

Also, I've been meaning to ask this for some time, in v9.x is it possible to insert CRLF into the language file for the error message.

Tnx

TQ
Back to the top
 
Posted
Rating:
#111311
Avatar

Ok so there was a lot here to respond to, and I was mostly on vacation the last week, so I will try and quickly cover it all…

  • The .htm ended short URLs are due to the "new style short URLs" config option. If you prefer /pg/ you can disable that option
  • I'm not getting a login box on IE, but maybe it was due to the windows authentication or HTTP authentication config option and you've since disabled it (not sure the exact config option names OTTOMH)
    Or maybe something specific to the browser/network configuration being tested on.
  • I can't speak for nowplaying without debugging myself, I won't have the time I'm afraid

    There's a lot about JS in:

    I can't really say much about "how to do JS" in a direct sense because it's programming, so to debug it you really need to come at it from a perspective of knowing how all the code works and how the browser debug tools work. However if the code does work robustly regardless of browser context, the above links should say everything ocPortal-specific there is to know about including JavaScript code.

    Ah, I see you did seem to get it working, good (#111297)
  • After editing a page and saving, the address bar has redirect=1 at the end of the line and throws a 'page not found' error.  Removing the redirect=1 from the URL fixes the problem.

    It would be redirected=1, not redirect=1, I think.

    In fact, I think actually there's a question mark, like ?redirected=1. And that this is the second question mark in the URL, which is the problem. I think, but actually I think we have code to deal with that. It's hard for me to say without testing and it is unsupported and pretty old now (IIS6, IIS7+ has an official Microsoft URL rewriter via configuration in a web.config file).

    The sample (unsupported) IIRF settings we posted might need to use QSA ("query string attach") like our official Apache rewrite rules now do (at the time of trying out IIRF, which was for a customer, I didn't know about QSA TBH, and it is very useful).

    Try these:

    Code

    # These have a specially reduced form (no need to make it too explicit that these are Wiki+)
    #  We shouldn't shorten them too much, or the actual zone or base url might conflict
    RewriteRule ^/([^=]*)pg/s/([^\&\?]*)/index\.php$ /$1index.php\?page=cedi&id=$2 [L,QSA]

    # These have a specially reduce form (wide is implied)
    RewriteRule ^/([^=]*)pg/galleries/image/([^\&\?]*)/index\.php(.*)$ /$1index.php\?page=galleries&type=image&id=$2&wide=1$3 [L,QSA]
    RewriteRule ^/([^=]*)pg/galleries/video/([^\&\?]*)/index\.php(.*)$ /$1index.php\?page=galleries&type=video&id=$2&wide=1$3 [L,QSA]
    RewriteRule ^/([^=]*)pg/iotds/view/([^\&\?]*)/index\.php(.*)$ /$1index.php\?page=iotds&type=view&id=$2&wide=1$3 [L,QSA]

    # These are standard patterns
    RewriteRule ^/([^=]*)pg/([^/\&\?]*)/([^/\&\?]*)/([^\&\?]*)/index\.php(.*)$ /$1index.php\?page=$2&type=$3&id=$4$5 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?]*)/([^/\&\?]*)/index\.php(.*)$ /$1index.php\?page=$2&type=$3$4 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?]*)/index\.php(.*)$ /$1index.php\?page=$2$3 [L,QSA]
    # This one is weird... apache strips out // and turns to /, thus requiring an extra pattern...
    RewriteRule ^/([^=]*)pg/index\.php(.*)$ /$1index.php\?page=$3 [L,QSA]

    # Now the same, but without any additional parameters (and thus no index.php)
    RewriteRule ^/([^=]*)pg/s/([^\&\?]*)$ /$1index.php\?page=cedi&id=$2 [L,QSA]
    RewriteRule ^/([^=]*)pg/galleries/image/([^\&\?]*)$ /$1index.php\?page=galleries&type=image&id=$2&wide=1$3 [L,QSA]
    RewriteRule ^/([^=]*)pg/galleries/video/([^\&\?]*)$ /$1index.php\?page=galleries&type=video&id=$2&wide=1$3 [L,QSA]
    RewriteRule ^/([^=]*)pg/iotds/view/([^\&\?]*)$ /$1index.php\?page=iotds&type=view&id=$2&wide=1 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?]*)/([^/\&\?]*)/([^\&\?]*)/$ /$1index.php\?page=$2&type=$3&id=$4 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?]*)/([^/\&\?]*)/([^\&\?]*)$ /$1index.php\?page=$2&type=$3&id=$4 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?]*)/([^/\&\?]*)$ /$1index.php\?page=$2&type=$3 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?]*)$ /$1index.php\?page=$2 [L,QSA]

    # And these for those nasty situations where index.php was missing and we couldn't do anything about it (usually due to keep_session creeping into a semi-cached URL)
    RewriteRule ^/([^=]*)pg/s/([^\&\?\.]*)&(.*)$ /$1index.php\?$3&page=cedi&id=$2 [L,QSA]
    RewriteRule ^/([^=]*)pg/galleries/image/([^/\&\?\.]*)&(.*)$ /$1index.php\?$5&page=galleries&type=image&id=$2&wide=1&$3 [L,QSA]
    RewriteRule ^/([^=]*)pg/galleries/video/([^/\&\?\.]*)&(.*)$ /$1index.php\?$5&page=galleries&type=video&id=$2&wide=1&$3 [L,QSA]
    RewriteRule ^/([^=]*)pg/iotds/view/([^/\&\?\.]*)&(.*)$ /$1index.php\?$3&page=iotds&type=view&id=$2&wide=1 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?\.]*)/([^/\&\?\.]*)/([^/\&\?\.]*)&(.*)$ /$1index.php\?$5&page=$2&type=$3&id=$4 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?\.]*)/([^/\&\?\.]*)&(.*)$ /$1index.php\?$4&page=$2&type=$3 [L,QSA]
    RewriteRule ^/([^=]*)pg/([^/\&\?\.]*)&(.*)$ /$1index.php\?$3&page=$2 [L,QSA]

    # These have a specially reduced form (no need to make it too explicit that these are Wiki+)
    #  We shouldn't shorten them too much, or the actual zone or base url might conflict
    RewriteRule ^/(site|forum|adminzone|cms|collaboration)/s/([^\&\?]*)\.htm$ /$1/index.php\?page=cedi&id=$2 [L,QSA]
    RewriteRule ^/s/([^\&\?]*)\.htm$ /index\.php\?page=cedi&id=$1 [L,QSA]

    # These have a specially reduce form (wide is implied)
    RewriteRule ^/(site|forum|adminzone|cms|collaboration)/galleries/image/([^\&\?]*)\.htm$ /$1/index.php\?page=galleries&type=image&id=$2&wide=1 [L,QSA]
    RewriteRule ^/(site|forum|adminzone|cms|collaboration)/galleries/video/([^\&\?]*)\.htm$ /$1/index.php\?page=galleries&type=video&id=$2&wide=1 [L,QSA]
    RewriteRule ^/(site|forum|adminzone|cms|collaboration)/iotds/view/([^\&\?]*)\.htm$ /$1/index.php\?page=iotds&type=view&id=$2&wide=1 [L,QSA]

    # These are standard patterns
    RewriteRule ^/(site|forum|adminzone|cms|collaboration)/([^/\&\?]+)/([^/\&\?]*)/([^\&\?]*)\.htm$ /$1/index.php\?page=$2&type=$3&id=$4 [L,QSA]
    RewriteRule ^/(site|forum|adminzone|cms|collaboration)/([^/\&\?]+)/([^/\&\?]*)\.htm$ /$1/index.php\?page=$2&type=$3 [L,QSA]
    RewriteRule ^/(site|forum|adminzone|cms|collaboration)/([^/\&\?]+)\.htm$ /$1/index.php\?page=$2 [L,QSA]
    RewriteRule ^/([^/\&\?]+)/([^/\&\?]*)/([^\&\?]*)\.htm$ /index.php\?page=$1&type=$2&id=$3 [L,QSA]
    RewriteRule ^/([^/\&\?]+)/([^/\&\?]*)\.htm$ /index.php\?page=$1&type=$2 [L,QSA]
    RewriteRule ^/([^/\&\?]+)\.htm$ /index.php\?page=$1 [L,QSA]

    I can guarantee nothing I'm afraid though, setting up a Windows box with IIS6 and IIRF would probably be a day long job, so I can't do that for something so old and never officially supported.

    If I use the page rendering tool I get a mixed URL in the new window and a 'page not found' error.

    Possibly the same basic issue. Hopefully the above fixes it.

  • They have listed about 1000 members profile pages so far ie. /index.php?page=members&type=view&id=username. I'm not sure if I have disallowed viewing by Guests or it's standard but that's my preference.

    I checked and your sitemap isn't listing those pages, so Google must have found it some other way, e.g. in the past before a permissions change.

    The warnings are really just saying Google won't index a page it can't access, which is expected. Google are clumsy with their language, there's no reason it's a warning that is site-wide.

    Is it possible to use Robots.txt to stop BOTs from crawling the members profiles (and also the calender)?

    Sure, just configure this in a normal way, it's not ocPortal-specific. robots.txt works via prefixes, so you can deny a whole URL prefix easily.

    which I've read reduces my ranking

    Unfortunately people write up all kinds of crap based on paranoid assumptions, if someone is claiming an access error on one page affects ranking on another, you shouldn't trust that's actually true unless it comes from an official source or with actual evidence. If it were true, all kinds of important sites would be disappearing off Google, because denying access to guests is very common.

  • Would it be possible to wrap the download link in an IF statement to either allow the download to proceed if Validated=1 or pop-out a dialog box if validated=0?

    A template edit could do that, something very roughly like this on the link (I don't have time to test/debug sorry)…

    Code

    {+START,IF,{$IN_STR,{WARNING_DETAILS},{!UNVALIDATED_TEXT}}} onclick="return window.confirm('This is not validated, proceed?');"{+END}

  • Also, I've been meaning to ask this for some time, in v9.x is it possible to insert CRLF into the language file for the error message.

    Most support HTML, so <br />. Otherwise \n may work. Depends on the context the string is used in.


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
1 guests and 0 members have just viewed this: None
Control functions:

Quick reply   Contract

Your name:
Your message: