I'd wager its not your code, but CakePHP's security settings. In app/
config/core.php change

Configure::write('Security.level', 'high');

To

Configure::write('Security.level', 'low');

and see if that clears up the problem.

On Jan 27, 2:14 am, MichTex <bill.cav...@gmail.com> wrote:
> I have been working for a number of months on an application using
> CakePHP, and have for the most part found it to be a very congenial
> development environment. However, for the last few weeks I've been
> struggling with what looks to be some peculiar CakePHP behavior.
> Basically, I am trying to implement keyboard shortcuts (hotkeys) using
> simple Javascript event handling to capture keycodes, and then, via
> the browser's location.href property, route the user to the
> appropriate page. This approach works great most of the time. However,
> there are a couple of users for whom this approach causes the browser
> to route them to the login page rather than the desired page. I have
> rummaged through hundreds of postings here in the CakePHP Google
> group, and done dozens of Google searches through CakePHP
> documentation and numerous relevant blogs, but so far have turned up
> no clues to what the problem is.
>
> Let me expand on the details a little bit:
>
> -The application I am working on mostly provides a few basic screens
> which present blocks of text followed either by simple forms, or by
> sets of link-type or button-type navigation choices. This part of the
> system works very well.
>
> -Recently, the product director wanted me to add hotkeys to speed up
> navigation. For example, in cases where the navigation consists of a
> short list of choices, he wants the user to be able to type a single
> digit associated with each choice. Thus, if there were 5 navigation
> choices, numbered 1 to 5, the user could either use the mouse to click
> on any of the 5 links for those choices, or type the individual digits
> 1 to 5 on the keyboard to select the corresponding link. In another
> case, there is an informational screen with a big Next button at the
> bottom. The product director wants the user to be able to go to the
> next page either by clicking on the Next button with the mouse, or by
> typing either the letter 'n' or a carriage return.
>
> -In order to implement the hotkey idea, I wrote some CakePHP code to
> generate simple Javascript to capture keycodes from keypress events,
> and then execute for particular characters a Javascript line of the
> form
>
>   location.href = 'http://mysite.com/controller/action/arg';
>
> which would cause the browser to switch to the specified page. [I used
> the Event class from the Prototype Javascript library together with
> CakePHP's Javascript Helper. I've attached an example of the kind of
> Javascript that gets generated to the end of this posting.]
>
> -When I wrote the hotkey-handling code several weeks ago, it appeared
> to work fine. In fact, it continues to work perfectly for me. Here's
> where it gets weird, though. About 90% of the time, when the product
> director himself tries a hotkey, he ends up on a login screen, as if
> he had been logged out. However, if he hits the back button, and then
> uses the mouse to make a choice on the screen he had been on, that
> works fine. So, he had not in fact been logged out.
>
> -The product director has so far tried this with 3 different browsers
> (IE, Firefox and Chrome) on 5 different machines in 2 different
> locations, and gotten the same bad behavior in roughly the same 90/10
> bad/good behavior split. There are two other people involved with this
> project, as well. For one of them, like me, the hotkeys have never
> failed, while for the other user hotkey navigation has almost always
> worked, but has in fact failed a few times.
>
> So, can anyone provide some insight into this situation? Is there any
> reason why routing to a CakePHP page using Javascript's location.href
> should always work for some users, most of the time for other users,
> and rarely for yet others? Is there an alternative way to route to a
> CakePHP page from Javascript? Or is there some other way to implement
> a hotkey capability?
>
> Thanks in advance for any help or advice you can give.
>
> BillCavnar
> ---------------------------------------------------------
> Example of the generated Javascript code for handling hotkeys:
>
> <script type="text/javascript" src="/js/prototype.js"></script>
> <script type="text/javascript">
> //<![CDATA[
> Event.observe(window, 'load', function() {
>   Event.observe(document, 'keypress', function(e){
>     var code;
>     if (!e) {
>       var e = window.event;
>     }
>     if (e.keyCode) {
>       code = e.keyCode;
>     } else if (e.which) {
>       code = e.which;
>     }
>     var character = String.fromCharCode(code);
>     switch(character) {
>       case '1':
>         location.href = 'http://http://mysite.com/worksheet/
> show_answer/1';
>         break;
>       case '2':
>         location.href = 'http://http://mysite.com/worksheet/
> show_answer/2';
>         break;
>       case '3':
>         location.href = 'http://http://mysite.com/worksheet/
> show_answer/3';
>         break;
>       case '4':
>         location.href = 'http://http://mysite.com/worksheet/
> show_answer/4';
>         break;
>       case '5':
>         location.href = 'http://http://mysite.com/worksheet/
> show_answer/5';
>         break;
>     }
>   });
>
> });
>
> //]]>
> </script>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to